{"_id":"@author-today-tools/n8n-nodes-api","_rev":"4-dc933008e9eb311a685a94b65cf84e61","name":"@author-today-tools/n8n-nodes-api","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@author-today-tools/n8n-nodes-api","version":"0.1.0","keywords":["author-today","n8n","n8n-nodes","workflow","automation"],"license":"MIT","_id":"@author-today-tools/n8n-nodes-api@0.1.0","maintainers":[{"name":"maderwin","email":"az@maderwin.com"}],"n8n":{"nodes":["dist/index.js"],"credentials":["dist/index.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"724b82182e6d5a25830affe9361bc1c763c4e2b3","tarball":"https://registry.npmjs.org/@author-today-tools/n8n-nodes-api/-/n8n-nodes-api-0.1.0.tgz","fileCount":6,"integrity":"sha512-o0CIZ2qQokQhsQh2/kUKocqguFBp4CXiQ3m4WLrMAjmRWBspDL6M0Xkd+eiD15bPlH7YpzI6+zJZxUPmKYEcaQ==","signatures":[{"sig":"MEQCIHWzETtL6n2Ym004dh8JWfbPrlx2w+IqOJ0xcgNZlVrjAiAxs68DvQ5DsrqgVGPKnULU2Ot8BWYFjW3UrlD/4UyZpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":332770},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3541d61e6309a0545c250363862bd7a8cb07c5ce","scripts":{"dev":"pkgroll --watch","test":"vitest run","build":"pkgroll","clean":"rm -rf dist *.tsbuildinfo","test:watch":"vitest","type-check":"tsc --project tsconfig.typecheck.json --noEmit","prepublishOnly":"pnpm build && pnpm type-check"},"_npmUser":{"name":"maderwin","email":"az@maderwin.com"},"_npmVersion":"11.6.2","description":"n8n nodes for Author.Today platform integration","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.24.1","@author-today-tools/api":"workspace:^"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","pkgroll":"^2.23.0","typescript":"^5.8.3","@types/node":"^24.0.0","n8n-workflow":"^1.71.2"},"peerDependencies":{"n8n-workflow":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-api_0.1.0_1770207390386_0.955317612429945","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@author-today-tools/n8n-nodes-api","version":"0.1.2","keywords":["author-today","n8n","n8n-nodes","workflow","automation"],"license":"MIT","_id":"@author-today-tools/n8n-nodes-api@0.1.2","maintainers":[{"name":"maderwin","email":"az@maderwin.com"}],"homepage":"https://github.com/maderwin/author-today-tools#readme","bugs":{"url":"https://github.com/maderwin/author-today-tools/issues"},"n8n":{"nodes":["dist/index.js"],"credentials":["dist/index.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"5ecab229e0cab17354faebff2d5dd250b337ba0a","tarball":"https://registry.npmjs.org/@author-today-tools/n8n-nodes-api/-/n8n-nodes-api-0.1.2.tgz","fileCount":7,"integrity":"sha512-G5P13SsRi7wmyVBp6c17fqu9IFRyXJNeHqWonWFl4xcWWbzZFaiBp9IcJDFMwilK1+ImBdlPd+1FUW2zmmo0hQ==","signatures":[{"sig":"MEYCIQCU1POq+M6XVFqlU4GSSu2e74TLhlo2ekBTiGWMhBX0ngIhAMISLJGRjH6Sh+YMy7uztuOR5kYygzSOrUTUJKlxkQNZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334675},"main":"./dist/index.js","type":"module","_from":"file:author-today-tools-n8n-nodes-api-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"pkgroll --watch","test":"vitest run","build":"pkgroll","clean":"rm -rf dist *.tsbuildinfo","test:watch":"vitest","type-check":"tsc --project tsconfig.typecheck.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f312985-e7de-4421-aa59-1797a8095d57"}},"_resolved":"/tmp/ef059626e15edfefdfee9d06051f8d65/author-today-tools-n8n-nodes-api-0.1.2.tgz","_integrity":"sha512-G5P13SsRi7wmyVBp6c17fqu9IFRyXJNeHqWonWFl4xcWWbzZFaiBp9IcJDFMwilK1+ImBdlPd+1FUW2zmmo0hQ==","repository":{"url":"git+ssh://git@github.com/maderwin/author-today-tools.git","type":"git"},"_npmVersion":"11.6.2","description":"n8n nodes for Author.Today platform integration","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.24.1","@author-today-tools/api":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","pkgroll":"^2.23.0","typescript":"^5.8.3","@types/node":"^24.0.0","n8n-workflow":"^2.7.0"},"peerDependencies":{"n8n-workflow":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-api_0.1.2_1770220884461_0.551201754198513","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@author-today-tools/n8n-nodes-api","version":"0.1.3","keywords":["author-today","n8n","n8n-nodes","workflow","automation","n8n-community-node-package"],"license":"MIT","_id":"@author-today-tools/n8n-nodes-api@0.1.3","maintainers":[{"name":"maderwin","email":"az@maderwin.com"}],"homepage":"https://github.com/maderwin/author-today-tools#readme","bugs":{"url":"https://github.com/maderwin/author-today-tools/issues"},"n8n":{"nodes":["dist/nodes/Notifications.node.js","dist/nodes/Interactions.node.js"],"credentials":["dist/credentials/AuthorTodayApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"1af0fd302b42f91491c7c417a6808c69e543310f","tarball":"https://registry.npmjs.org/@author-today-tools/n8n-nodes-api/-/n8n-nodes-api-0.1.3.tgz","fileCount":17,"integrity":"sha512-2pW0p7dbsmTgL74IaoxlaaFZnYJPKYqZISg1Y1n53QqpaJbiqPcHOgv6nUvDiwN+USlA3SP6f9PEy8WG0EbkZw==","signatures":[{"sig":"MEQCICcfovyxToeqbYVHvxeMdc35WGllFdP2SHt2Yg/YQRiKAiAiGUWPuLfe4ue0emy7CX3nTTwjuJnpM9Qo9MqkOqQ4lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":351248},"main":"./dist/index.js","_from":"file:author-today-tools-n8n-nodes-api-0.1.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.js"},"./nodes/Interactions.node":{"types":"./dist/nodes/Interactions.node.d.ts","default":"./dist/nodes/Interactions.node.js","require":"./dist/nodes/Interactions.node.js"},"./nodes/Notifications.node":{"types":"./dist/nodes/Notifications.node.d.ts","default":"./dist/nodes/Notifications.node.js","require":"./dist/nodes/Notifications.node.js"},"./credentials/AuthorTodayApi.credentials":{"types":"./dist/credentials/AuthorTodayApi.credentials.d.ts","default":"./dist/credentials/AuthorTodayApi.credentials.js","require":"./dist/credentials/AuthorTodayApi.credentials.js"}},"scripts":{"dev":"pkgroll --watch","test":"vitest run","build":"pkgroll","clean":"rm -rf dist *.tsbuildinfo","test:watch":"vitest","type-check":"tsc --project tsconfig.typecheck.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f312985-e7de-4421-aa59-1797a8095d57"}},"_resolved":"/tmp/17f473478d5c7d50c912a23e5cad5aaf/author-today-tools-n8n-nodes-api-0.1.3.tgz","_integrity":"sha512-2pW0p7dbsmTgL74IaoxlaaFZnYJPKYqZISg1Y1n53QqpaJbiqPcHOgv6nUvDiwN+USlA3SP6f9PEy8WG0EbkZw==","repository":{"url":"git+ssh://git@github.com/maderwin/author-today-tools.git","type":"git"},"_npmVersion":"11.6.2","description":"n8n nodes for Author.Today platform integration","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.3.6","@author-today-tools/api":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","pkgroll":"^2.23.0","typescript":"^5.8.3","@types/node":"^22.0.0","n8n-workflow":"^2.7.0"},"peerDependencies":{"n8n-workflow":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-api_0.1.3_1770286283965_0.9328274752114949","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@author-today-tools/n8n-nodes-api","version":"0.1.4","description":"n8n nodes for Author.Today platform integration","type":"module","repository":{"type":"git","url":"git+ssh://git@github.com/maderwin/author-today-tools.git"},"main":"./dist/index.cjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"},"./nodes/Notifications.node":{"types":"./dist/nodes/Notifications.node.d.ts","import":"./dist/nodes/Notifications.node.mjs","require":"./dist/nodes/Notifications.node.cjs","default":"./dist/nodes/Notifications.node.mjs"},"./nodes/Interactions.node":{"types":"./dist/nodes/Interactions.node.d.ts","import":"./dist/nodes/Interactions.node.mjs","require":"./dist/nodes/Interactions.node.cjs","default":"./dist/nodes/Interactions.node.mjs"},"./credentials/AuthorTodayApi.credentials":{"types":"./dist/credentials/AuthorTodayApi.credentials.d.ts","import":"./dist/credentials/AuthorTodayApi.credentials.mjs","require":"./dist/credentials/AuthorTodayApi.credentials.cjs","default":"./dist/credentials/AuthorTodayApi.credentials.mjs"}},"publishConfig":{"access":"public"},"keywords":["author-today","n8n","n8n-nodes","workflow","automation","n8n-community-node-package"],"license":"MIT","n8n":{"n8nNodesApiVersion":1,"credentials":["dist/credentials/AuthorTodayApi.credentials.cjs"],"nodes":["dist/nodes/Notifications.node.cjs","dist/nodes/Interactions.node.cjs"]},"dependencies":{"zod":"^4.3.6","@author-today-tools/api":"^0.1.1"},"peerDependencies":{"n8n-workflow":">=1.0.0"},"devDependencies":{"@types/node":"^22.0.0","n8n-workflow":"^2.7.0","pkgroll":"^2.23.0","typescript":"^5.8.3","vitest":"^4.0.18"},"module":"./dist/index.mjs","scripts":{"build":"pkgroll","dev":"pkgroll --watch","test":"vitest run","test:watch":"vitest","type-check":"tsc --project tsconfig.typecheck.json --noEmit","clean":"rm -rf dist *.tsbuildinfo"},"_id":"@author-today-tools/n8n-nodes-api@0.1.4","bugs":{"url":"https://github.com/maderwin/author-today-tools/issues"},"homepage":"https://github.com/maderwin/author-today-tools#readme","_integrity":"sha512-O+YKlCL7ZBjXLkavodiG1KTWq6NxLocj+qYYnUX0JmQsTeKeFmL9GlHPNcMdHO5Rnss2t5fg1MdCM4brfKASlA==","_resolved":"/tmp/9a626da40669a5743fd4cae9a6b7c96e/author-today-tools-n8n-nodes-api-0.1.4.tgz","_from":"file:author-today-tools-n8n-nodes-api-0.1.4.tgz","_nodeVersion":"22.21.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-O+YKlCL7ZBjXLkavodiG1KTWq6NxLocj+qYYnUX0JmQsTeKeFmL9GlHPNcMdHO5Rnss2t5fg1MdCM4brfKASlA==","shasum":"ce28f2bec42859969193252a6c43f9bc14bc45bf","tarball":"https://registry.npmjs.org/@author-today-tools/n8n-nodes-api/-/n8n-nodes-api-0.1.4.tgz","fileCount":22,"unpackedSize":440594,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCJTeZH8uRYxchVLWsTB5gC5aK4gFTWMEMKbd/7bYJYBwIgRauR2KEzr1DhhPu7Zl8GybI88E42j6/Eq36m90UQreI="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3f312985-e7de-4421-aa59-1797a8095d57"}},"directories":{},"maintainers":[{"name":"maderwin","email":"az@maderwin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-api_0.1.4_1770288990036_0.580491572351824"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-04T12:16:30.269Z","modified":"2026-02-05T10:56:30.352Z","0.1.0":"2026-02-04T12:16:30.520Z","0.1.2":"2026-02-04T16:01:24.617Z","0.1.3":"2026-02-05T10:11:24.130Z","0.1.4":"2026-02-05T10:56:30.204Z"},"bugs":{"url":"https://github.com/maderwin/author-today-tools/issues"},"license":"MIT","homepage":"https://github.com/maderwin/author-today-tools#readme","keywords":["author-today","n8n","n8n-nodes","workflow","automation","n8n-community-node-package"],"repository":{"type":"git","url":"git+ssh://git@github.com/maderwin/author-today-tools.git"},"description":"n8n nodes for Author.Today platform integration","maintainers":[{"name":"maderwin","email":"az@maderwin.com"}],"readme":"# @author-today-tools/n8n-nodes-api\n\n> n8n workflow nodes for [Author.Today](https://author.today/) platform integration\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![npm version](https://img.shields.io/npm/v/@author-today-tools/n8n-nodes-api.svg)](https://www.npmjs.com/package/@author-today-tools/n8n-nodes-api)\n\n## Features\n\n- **Native n8n Integration**: Seamlessly integrate Author.Today into your n8n workflows\n- **Built on Official API**: Uses [@author-today-tools/api](https://www.npmjs.com/package/@author-today-tools/api) for reliable API interactions\n- **Type-Safe**: Full TypeScript support with comprehensive type definitions\n- **Comprehensive Operations**: Manage notifications, interactions, comments, and likes\n- **Production Ready**: Thoroughly tested with 100+ tests\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Credential Setup](#credential-setup)\n- [Available Nodes](#available-nodes)\n  - [Author.Today Notifications](#authortoday-notifications)\n  - [Author.Today Interactions](#authortoday-interactions)\n- [Example Workflows](#example-workflows)\n- [Troubleshooting](#troubleshooting)\n- [Development](#development)\n- [License](#license)\n\n## Installation\n\n### n8n Cloud\n\n1. Open your n8n instance\n2. Go to **Settings** → **Community Nodes**\n3. Click **Install** and search for `@author-today-tools/n8n-nodes-api`\n4. Click **Install** to add the nodes to your instance\n\n### Self-Hosted n8n\n\nInstall the package in your n8n installation:\n\n```bash\nnpm install @author-today-tools/n8n-nodes-api\n```\n\nOr using pnpm:\n\n```bash\npnpm add @author-today-tools/n8n-nodes-api\n```\n\nAfter installation, restart your n8n instance. The nodes will appear in the node palette under the \"Author.Today\" category.\n\n## Credential Setup\n\nBefore using the nodes, you need to configure your Author.Today credentials:\n\n### 1. Create New Credential\n\n1. Open any Author.Today node in your workflow\n2. Click **Create New Credential** in the Credential dropdown\n3. Select **Author.Today API** from the list\n\n### 2. Enter Your Credentials\n\nFill in the following fields:\n\n- **Email**: Your Author.Today account email address\n  - Example: `user@example.com`\n\n- **Password**: Your Author.Today account password\n  - This is securely encrypted by n8n\n\n- **Remember Me**: Whether to keep the session active for an extended period\n  - Default: `true`\n  - Enable this for long-running workflows\n\n### 3. Test Connection\n\nClick the **Test** button to verify your credentials. A successful test will show:\n\n```\n✓ Successfully authenticated with Author.Today API\n```\n\n### 4. Save Credential\n\nClick **Save** to store the credential. You can now use it across all Author.Today nodes in your workflows.\n\n### Security Notes\n\n- Your password is encrypted by n8n and never stored in plain text\n- The credential system uses Bearer token authentication\n- Tokens are automatically refreshed as needed\n- Consider creating a dedicated account for automation workflows\n\n## Available Nodes\n\n### Author.Today Notifications\n\nManage notifications for your Author.Today account.\n\n#### Operations\n\n##### 1. Get All Notifications\n\nRetrieve all notifications with pagination support.\n\n**Parameters:**\n\n- **Return All** (boolean): Whether to return all results or limit to a specific number\n  - Default: `false`\n\n- **Limit** (number, 1-100): Maximum number of notifications to return (when Return All is false)\n  - Default: `50`\n\n**Additional Fields:**\n\n- **Grouped** (boolean): Group related notifications together\n  - Default: `false`\n\n- **Page** (number): Starting page number for pagination\n  - Default: `1`\n\n**Example Output:**\n\n```json\n{\n  \"id\": 12345,\n  \"type\": \"new_comment\",\n  \"title\": \"New comment on your work\",\n  \"message\": \"User123 commented on Chapter 5\",\n  \"read\": false,\n  \"createdAt\": \"2026-02-03T10:30:00Z\",\n  \"workId\": 67890,\n  \"userId\": 54321\n}\n```\n\n##### 2. Get Notification\n\nRetrieve a single notification by its ID.\n\n**Parameters:**\n\n- **Notification ID** (number, required): The ID of the notification to retrieve\n\n**Example Output:**\n\n```json\n{\n  \"id\": 12345,\n  \"type\": \"new_follower\",\n  \"title\": \"New follower\",\n  \"message\": \"Author456 started following you\",\n  \"read\": true,\n  \"createdAt\": \"2026-02-02T15:20:00Z\"\n}\n```\n\n##### 3. Mark Notifications as Read\n\nMark one or more notifications as read.\n\n**Parameters:**\n\n- **Notification IDs** (string, required): Comma-separated list of notification IDs\n  - Example: `123,456,789`\n\n**Example Output:**\n\n```json\n{\n  \"success\": true,\n  \"markedCount\": 3,\n  \"notificationIds\": [123, 456, 789]\n}\n```\n\n---\n\n### Author.Today Interactions\n\nInteract with works through likes and comments.\n\n#### Resources\n\nThe Interactions node supports two resources:\n\n1. **Work**: Like/unlike operations\n2. **Comment**: Add and retrieve comments\n\n#### Work Operations\n\n##### 1. Like Work\n\nAdd a like to a work.\n\n**Parameters:**\n\n- **Work ID** (number, required): The ID of the work to like\n\n**Example Output:**\n\n```json\n{\n  \"success\": true,\n  \"workId\": 67890,\n  \"likes\": 42,\n  \"userLiked\": true\n}\n```\n\n##### 2. Unlike Work\n\nRemove your like from a work.\n\n**Parameters:**\n\n- **Work ID** (number, required): The ID of the work to unlike\n\n**Example Output:**\n\n```json\n{\n  \"success\": true,\n  \"workId\": 67890,\n  \"likes\": 41,\n  \"userLiked\": false\n}\n```\n\n#### Comment Operations\n\n##### 1. Get All Comments\n\nRetrieve all comments for a work with pagination.\n\n**Parameters:**\n\n- **Work ID** (number, required): The ID of the work\n- **Return All** (boolean): Whether to return all comments or limit to a specific number\n  - Default: `false`\n- **Limit** (number, 1-100): Maximum number of comments to return (when Return All is false)\n  - Default: `50`\n\n**Additional Fields:**\n\n- **Page** (number): Starting page number for pagination\n  - Default: `1`\n\n**Example Output:**\n\n```json\n{\n  \"id\": 98765,\n  \"workId\": 67890,\n  \"userId\": 54321,\n  \"userName\": \"Reader123\",\n  \"content\": \"Great chapter! Can't wait for the next one.\",\n  \"createdAt\": \"2026-02-03T12:45:00Z\",\n  \"likes\": 15,\n  \"replies\": 3,\n  \"parentCommentId\": null\n}\n```\n\n##### 2. Add Comment\n\nAdd a comment to a work or reply to an existing comment.\n\n**Parameters:**\n\n- **Work ID** (number, required): The ID of the work\n- **Comment Content** (string, required): The content of your comment\n  - Supports multi-line text\n- **Parent Comment ID** (number, optional): The ID of the parent comment for replies\n  - Leave empty for top-level comments\n\n**Example - Top-Level Comment:**\n\n```json\n{\n  \"id\": 98766,\n  \"workId\": 67890,\n  \"content\": \"Fantastic story development!\",\n  \"createdAt\": \"2026-02-03T14:30:00Z\",\n  \"parentCommentId\": null\n}\n```\n\n**Example - Reply:**\n\n```json\n{\n  \"id\": 98767,\n  \"workId\": 67890,\n  \"content\": \"I agree! The plot twist was unexpected.\",\n  \"createdAt\": \"2026-02-03T14:35:00Z\",\n  \"parentCommentId\": 98766\n}\n```\n\n## Example Workflows\n\n### Example 1: Daily Notification Digest\n\nSend yourself a daily summary of unread notifications.\n\n```\n┌─────────────────────┐\n│  Schedule Trigger   │ (Every day at 9 AM)\n│  (Cron: 0 9 * * *)  │\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Get All            │\n│  Notifications      │ (Return All: true)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Filter             │ (Filter where \"read\" = false)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Send Email         │ (Summary of unread notifications)\n└─────────────────────┘\n```\n\n### Example 2: Auto-Like New Works from Followed Authors\n\nAutomatically like new works from authors you follow.\n\n```\n┌─────────────────────┐\n│  Schedule Trigger   │ (Every hour)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Get All            │\n│  Notifications      │ (Filter type: \"new_work\")\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Filter             │ (Last hour only)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Like Work          │ (Use workId from notification)\n└─────────────────────┘\n```\n\n### Example 3: Comment Response Monitor\n\nGet notified when someone replies to your comments.\n\n```\n┌─────────────────────┐\n│  Schedule Trigger   │ (Every 15 minutes)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Get All            │\n│  Notifications      │ (Type: \"comment_reply\")\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Filter             │ (Unread only)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Send Telegram      │ (Notify via Telegram)\n│  Message            │\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Mark Notifications │\n│  as Read            │\n└─────────────────────┘\n```\n\n### Example 4: Automated Work Commenting\n\nPost scheduled comments on your own works for engagement.\n\n```\n┌─────────────────────┐\n│  Schedule Trigger   │ (Weekly on Monday)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Code Node          │ (Prepare comment data)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Add Comment        │ (workId, content)\n└─────────────────────┘\n```\n\n### Example 5: Bulk Notification Management\n\nMark all notifications as read after review.\n\n```\n┌─────────────────────┐\n│  Manual Trigger     │\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Get All            │\n│  Notifications      │ (Return All: true)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Code Node          │ (Extract all IDs)\n└──────────┬──────────┘\n           │\n           ▼\n┌─────────────────────┐\n│  Mark Notifications │ (Comma-separated IDs)\n│  as Read            │\n└─────────────────────┘\n```\n\n## Troubleshooting\n\n### Common Issues\n\n#### 1. Authentication Failed\n\n**Error:** `Authentication failed` or `Invalid credentials`\n\n**Solutions:**\n\n- Verify your email and password are correct\n- Check if you can log in to [author.today](https://author.today/) with the same credentials\n- Try disabling and re-enabling the \"Remember Me\" option\n- Create a new credential from scratch\n- Ensure your account is not locked or suspended\n\n#### 2. Nodes Not Appearing\n\n**Error:** Author.Today nodes don't appear in the node palette\n\n**Solutions:**\n\nFor n8n Cloud:\n\n- Ensure the package is installed in **Settings** → **Community Nodes**\n- Refresh your browser\n- Log out and log back in\n\nFor Self-Hosted:\n\n- Restart your n8n instance after installation\n- Verify the package is in your `node_modules` folder\n- Check n8n logs for any loading errors: `docker logs n8n` (if using Docker)\n- Ensure you're using n8n version 1.0.0 or higher\n\n#### 3. Rate Limiting\n\n**Error:** `Too many requests` or `Rate limit exceeded`\n\n**Solutions:**\n\n- Add delays between operations using the **Wait** node\n- Reduce the frequency of scheduled triggers\n- Use pagination instead of fetching all records at once\n- The Author.Today API has rate limits; space out your requests\n\n#### 4. Work ID Not Found\n\n**Error:** `Work not found` or `Invalid work ID`\n\n**Solutions:**\n\n- Verify the work ID is correct and exists\n- Ensure the work is not deleted or made private\n- Check if your account has permission to access the work\n- Work IDs should be numbers, not strings\n\n#### 5. Pagination Issues\n\n**Issue:** Not getting all results when using \"Return All\"\n\n**Solutions:**\n\n- Check if there's a maximum limit set in your n8n instance\n- For very large datasets, consider fetching in batches\n- Use the \"Page\" parameter to manually control pagination\n- Monitor memory usage when fetching thousands of records\n\n#### 6. Comment Formatting\n\n**Issue:** Comments not displaying correctly or HTML tags visible\n\n**Solutions:**\n\n- The API may return HTML content; use the **HTML** or **Code** node to format\n- Some special characters may need escaping\n- Check if the content is being truncated by character limits\n\n### Getting Help\n\nIf you encounter issues not listed here:\n\n1. **Check the Logs**: Enable debug logging in n8n to see detailed error messages\n2. **GitHub Issues**: Report bugs at [github.com/maderwin/author-today](https://github.com/maderwin/author-today)\n3. **n8n Community**: Ask in the [n8n community forum](https://community.n8n.io/)\n4. **API Documentation**: Refer to the [Author.Today API docs](https://author.today/api/docs)\n\n### Debug Mode\n\nTo enable detailed logging:\n\n1. Open your workflow\n2. Click **Settings** (gear icon)\n3. Enable **Save Execution Data**\n4. Enable **Save Manual Executions**\n5. Run your workflow and check the execution logs\n\n## Development\n\n### Project Structure\n\n```\npackages/n8n-nodes/\n├── src/\n│   ├── credentials/\n│   │   ├── AuthorTodayApi.credentials.ts  # Credential definition\n│   │   └── authortoday.svg                # Credential icon\n│   ├── nodes/\n│   │   ├── Interactions.node.ts           # Interactions node\n│   │   ├── Notifications.node.ts          # Notifications node\n│   │   └── authortoday.svg                # Node icon\n│   ├── utils/\n│   │   └── auth.ts                        # Authentication utilities\n│   ├── __tests__/                         # Test files\n│   └── index.ts                           # Package entry point\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n### Building\n\n```bash\n# Build once\npnpm build\n\n# Build in watch mode (development)\npnpm dev\n\n# Type check\npnpm type-check\n\n# Run tests\npnpm test\n\n# Run tests in watch mode\npnpm test:watch\n```\n\n### Running Tests\n\n```bash\n# Run all tests\npnpm test\n\n# Run tests with coverage\npnpm test -- --coverage\n\n# Run specific test file\npnpm test Notifications.node.test.ts\n```\n\n### Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/my-feature`\n3. Make your changes\n4. Run tests: `pnpm test`\n5. Commit using conventional commits: `git commit -m \"feat: add new operation\"`\n6. Push to your fork: `git push origin feature/my-feature`\n7. Create a Pull Request\n\n## API Reference\n\nThis package is built on [@author-today-tools/api](https://www.npmjs.com/package/@author-today-tools/api). For detailed API documentation, see the [API package README](https://github.com/maderwin/author-today/tree/main/packages/api).\n\n### Supported API Endpoints\n\n- `POST /account/login` - Authentication\n- `GET /notifications` - List notifications\n- `GET /notifications/:id` - Get notification\n- `POST /notifications/read` - Mark as read\n- `POST /work/:id/like` - Like work\n- `DELETE /work/:id/like` - Unlike work\n- `GET /work/:id/comments` - Get comments\n- `POST /work/:id/comments` - Add comment\n\n## Related Packages\n\n- [@author-today-tools/api](https://www.npmjs.com/package/@author-today-tools/api) - Core API client\n- [@author-today-tools/cli](https://www.npmjs.com/package/@author-today-tools/cli) - Command-line interface\n\n## License\n\nMIT © Artyom Zakharov\n\n---\n\n**Note**: This package is an unofficial integration and is not affiliated with or endorsed by Author.Today.\n","readmeFilename":"README.md"}