# nodes

node_type: n8n-nodes-postfast.postFast
package_name: n8n-nodes-postfast
display_name: PostFast - Social Media Management
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: peturgeorgievv
author_github_url: https://github.com/peturgeorgievv/
npm_package_name: n8n-nodes-postfast
npm_version: 0.1.14
community_fetched_at: 2026-02-19T14:41:52.395Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Schedule and manage social media posts across Facebook, Instagram, TikTok, Twitter/X, LinkedIn, YouTube, and Pinterest

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "socialPost",
      "options": [
        {
          "name": "File",
          "value": "file",
          "description": "Manage file uploads"
        },
        {
          "name": "Social Account",
          "value": "socialAccount",
          "description": "Manage social media accounts"
        },
        {
          "name": "Social Post",
          "value": "socialPost",
          "description": "Create and manage social media posts"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getUploadUrl",
      "options": [
        {
          "name": "Get Upload URL",
          "value": "getUploadUrl",
          "action": "Get upload URL",
          "description": "Generate pre-signed URLs for uploading media files"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all social accounts",
          "description": "Get all connected social media accounts"
        },
        {
          "name": "Get Pinterest Boards",
          "value": "getPinterestBoards",
          "action": "Get Pinterest boards",
          "description": "Get Pinterest boards for a connected account"
        },
        {
          "name": "Get YouTube Playlists",
          "value": "getYoutubePlaylists",
          "action": "Get YouTube playlists",
          "description": "Get YouTube playlists for a connected account"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "socialAccount"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create social posts",
          "description": "Create and schedule one or more social media posts"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete social post",
          "description": "Delete a scheduled or failed post"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many social posts",
          "description": "Query and paginate social posts"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "socialPost"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Upload URL",
      "value": "getUploadUrl",
      "action": "Get upload URL",
      "description": "Generate pre-signed URLs for uploading media files"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all social accounts",
      "description": "Get all connected social media accounts"
    },
    {
      "name": "Get Pinterest Boards",
      "value": "getPinterestBoards",
      "action": "Get Pinterest boards",
      "description": "Get Pinterest boards for a connected account"
    },
    {
      "name": "Get YouTube Playlists",
      "value": "getYoutubePlaylists",
      "action": "Get YouTube playlists",
      "description": "Get YouTube playlists for a connected account"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create social posts",
      "description": "Create and schedule one or more social media posts"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete social post",
      "description": "Delete a scheduled or failed post"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many social posts",
      "description": "Query and paginate social posts"
    }
  ]

npm_readme:
  # n8n-nodes-postfast

  This is an n8n community node for [PostFast](https://postfa.st) - a comprehensive social media management and scheduling platform. It allows you to create, manage, and schedule posts across multiple social media channels directly from your n8n workflows.

  **Node Name in n8n:** PostFast - Social Media Management

  ## Features

  - 🚀 **Multi-Platform Support**: Facebook, Instagram, TikTok, Twitter/X, LinkedIn, YouTube, Pinterest
  - 📸 **Media Management**: Upload images and videos with pre-signed S3 URLs
  - 📅 **Advanced Scheduling**: Schedule posts using UTC timestamps (ISO 8601 format)
  - 🎯 **Platform-Specific Controls**: Reels, Stories, Shorts, Carousels, Drafts
  - 🔍 **Smart Filtering**: Query posts by platform, status, and date ranges
  - 📊 **Pagination Support**: Handle large datasets efficiently
  - 🔐 **Secure Authentication**: API key-based authentication

  ## Installation

  ### In n8n (Recommended)

  1. Go to **Settings** > **Community Nodes**
  2. Search for `n8n-nodes-postfast`
  3. Click **Install**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-postfast
  ```

  ## Authentication

  To use this node, you'll need:

  1. **PostFast API Key**:
     - Log in to your PostFast account
     - Navigate to Settings → API Keys
     - Create a new API key
     - Copy the key (you won't be able to see it again)

  2. **Add Credentials in n8n**:
     - In n8n, go to Credentials
     - Create new "PostFast API" credentials
     - Enter your API key

  ## Resources & Operations

  ### 📁 File Resource

  #### Get Upload URL
  Generate pre-signed S3 URLs for uploading media files.

  **Parameters:**
  - **Content Type**: MIME type (image/jpeg, image/png, image/gif, video/mp4, video/quicktime, application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation)
  - **Count**: Number of URLs to generate (1-10)

  **Limits:**
  - Max file size: 250 MB (video), 10 MB (image)
  - Rate limit: 150 requests per day

  **Usage Example:**
  1. Use this operation to get S3 upload URLs
  2. Upload your files directly to S3 using the signed URLs
  3. Use the returned `key` in your social posts

  ---

  ### 👥 Social Account Resource

  #### Get All
  Retrieve all connected social media accounts for your workspace.

  **Returns:**
  - Account IDs (needed for posting)
  - Platform types
  - Account names and handles
  - Connection status

  **Rate limit:** 90 requests per hour

  #### Get Pinterest Boards
  Retrieve Pinterest boards for a connected Pinterest account. Use the returned `boardId` in the `Pinterest Board ID` control when creating Pinterest posts.

  **Parameters:**
  - **Social Media Account ID**: ID of the connected Pinterest account (from Get All)

  **Rate limit:** 90 requests per hour

  #### Get YouTube Playlists
  Retrieve YouTube playlists for a connected YouTube account. Use the returned `playlistId` in the `YouTube Playlist ID` control when creating YouTube posts.

  **Parameters:**
  - **Social Media Account ID**: ID of the connected YouTube account (from Get All)

  **Rate limit:** 90 requests per hour

  ---

  ### 📝 Social Post Resource

  #### Create Post
  Create and schedule posts with platform-specific features.

  **Core Parameters:**
  - **Platform**: Facebook, Instagram, TikTok, Twitter/X, LinkedIn, YouTube, Pinterest
  - **Social Media Account ID**: From Social Account > Get All
  - **Content**: Post text with emoji support
  - **Scheduled At**: ISO 8601 datetime
  - **Media Items**: Images/videos with S3 keys
  - **First Comment**: Automatic first comment posted ~10 seconds after publish (supported on X, Instagram, Facebook, YouTube, and Threads)

  **Platform-Specific Controls:**

  **X (Twitter):**
  - Community ID for posting to X Communities
  - Quote Tweet URL for quoting tweets with commentary
  - Retweet URL for retweeting without changes

  **Facebook:**
  - Content Types: Post, Reel, Story
  - Reels collaborators
  - Multi-image support

  **Instagram:**
  - Publish Types: Timeline, Story, Reel
  - Grid posting option
  - Collaborators
  - Carousel support (up to 10 items)

  **TikTok:**
  - Privacy: Public, Mutual Friends, Only Me
  - Allow Comments/Duet/Stitch
  - Draft mode
  - Brand Organic / Brand Content flags
  - Auto-add music
  - Carousel posts (2-35 images)

  **YouTube:**
  - Title, Privacy (Public, Private, Unlisted)
  - Tags, Category ID
  - Shorts support
  - Made for Kids (COPPA) flag
  - Playlist ID (from Social Account > Get YouTube Playlists)

  **LinkedIn:**
  - Document attachments (PDF, DOC, DOCX, PPT, PPTX)
  - Attachment title

  **Pinterest:**
  - Board ID (required, from Social Account > Get Pinterest Boards)
  - Destination link URL
  - Content parsing: first line → title, remaining → description
  - Carousel pins (2-5 static images)

  #### Get Many Posts
  Query and filter your scheduled posts with advanced options.

  **Filter Options:**
  - **Platforms**: Filter by one or more platforms
  - **Statuses**: DRAFT, SCHEDULED, PUBLISHED, FAILED
  - **Date Range**: From/To dates (ISO 8601)
  - **Pagination**: Page-based navigation

  **Return Options:**
  - Return all results (auto-pagination)
  - Limit results (1-50 per page)

  **Response Includes:**
  - Post content and media
  - Scheduling information
  - Publishing status
  - Error messages (for failed posts)
  - Platform-specific metadata

  #### Delete Post
  Remove scheduled or failed posts.

  **Parameters:**
  - **Post ID**: Unique identifier of the post

  **Rate limit:** 160 requests per hour

  ## Workflow Examples

  ### 1. Content Calendar Automation
  ```
  Notion Database → PostFast (Create) → Multiple Platforms
  ```
  Pull content from Notion and schedule across all platforms.

  ### 2. Media Processing Pipeline
  ```
  Dropbox → Image Processing → PostFast (Get Upload URL) → S3 Upload → PostFast (Create)
  ```
  Process images and videos before posting.

  ### 3. Failed Post Recovery
  ```
  Schedule Trigger → PostFast (Get Many: status=FAILED) → Error Handler → Retry/Notify
  ```
  Monitor and handle failed posts automatically.

  ### 4. Cross-Platform Campaign
  ```
  RSS Feed → AI Content Generator → PostFast (Create: Multiple Platforms)
  ```
  Generate and distribute content across all channels.

  ## Rate Limits

  **Global Limits (per API key):**
  - 60 requests per minute
  - 150 requests per 5 minutes
  - 300 requests per hour
  - 1000 requests per day

  **Endpoint-Specific:**
  - File uploads: 150/day
  - Post creation: 75/day
  - Post queries: 90/hour
  - Post deletion: 160/hour

  ## Error Handling

  The node provides detailed error messages for common scenarios:

  - `401`: Invalid API key
  - `404`: Resource not found (check IDs)
  - `429`: Rate limit exceeded
  - `400`: Invalid parameters

  ## Platform Requirements

  - **Node.js**: v18.0.0 or higher
  - **n8n**: v1.0.0 or higher
  - **API Key**: PostFast workspace API key

  ## Advanced Features

  ### Batch Operations
  Process multiple items in a single workflow execution for efficiency.

  ### Error Recovery
  Built-in error handling with detailed messages for debugging.

  ### Pagination Handling
  Automatic pagination when fetching all results.

  ### Media Validation
  Automatic MIME type detection and size validation.

  ## Development

  ### Setup
  ```bash
  git clone https://github.com/peturgeorgievv/n8n-nodes-postfast.git
  cd n8n-nodes-postfast
  npm install
  ```

  ### Testing
  ```bash
  npm run dev     # Start development server
  npm run build   # Build for production
  npm run lint    # Check code quality
  ```

  ### Publishing
  ```bash
  npm login
  npm publish --access public
  ```

  ## Support

  - **Documentation**: [PostFast API Docs](https://api.postfa.st/docs)
  - **Issues**: [GitHub Issues](https://github.com/peturgeorgievv/n8n-nodes-postfast/issues)
  - **Community**: [n8n Community Forum](https://community.n8n.io)
  - **Developer Support**: [me@peturgeorgievv.com](mailto:me@peturgeorgievv.com)

  ## License

  [MIT](LICENSE)

  ## Contributing

  Contributions are welcome! Please feel free to submit a Pull Request.

  ## Changelog

  ### v0.1.0
  - Initial release with full PostFast API support
  - Multi-platform posting capabilities
  - Advanced filtering and pagination
  - Media upload management
  - Platform-specific controls for all major social networks

ai_documentation_summary:
  {"purpose":"Schedule, create, and manage social media posts across multiple platforms (Facebook, Instagram, TikTok, Twitter/X, LinkedIn, YouTube, Pinterest) from n8n workflows, including uploading media via pre-signed S3 URLs and querying/managing accounts and posts.","capabilities":["Generate pre-signed S3 upload URLs for media files (Get Upload URL)","Handle media uploads via returned S3 keys (upload performed to S3 using signed URLs)","Retrieve connected social media accounts with IDs, platform types and connection status (Social Account: Get All)","Retrieve Pinterest boards (Get Pinterest Boards) and YouTube playlists (Get YouTube Playlists) for use in posts","Create and schedule posts across supported platforms with ISO 8601 UTC scheduling (Create Post)","Platform-specific publishing controls (Reels, Stories, Shorts, Carousels, Drafts, grid/carousel options)","Platform-specific fields and flags (e.g., TikTok privacy/comments/duet/stitch, X community/quote/retweet, YouTube title/privacy/tags/category/shorts/COPPA, LinkedIn document attachments, Pinterest board/destination)","Automatic first-comment support on supported platforms","Query and filter scheduled posts by platform, status, date range with pagination and auto-pagination (Get Many)","Delete scheduled or failed posts (Delete Post)"],"authentication":"API key required (PostFast API Key added in n8n Credentials)","commonUseCases":["Content calendar automation: pull content (e.g., from Notion) and schedule across multiple platforms","Media processing pipeline: generate upload URLs, upload processed images/videos to S3, then create posts referencing S3 keys","Failed post recovery: poll for posts with status=FAILED and retry or notify","Manage and synchronize connected social accounts and their platform-specific assets (boards/playlists) prior to posting","Cross-platform scheduling with platform-specific options (reels, stories, shorts, carousels, privacy settings)"],"limitations":["Rate limits per endpoint: Get Upload URL 150 requests/day; Social Account endpoints (Get All, Pinterest/YouTube fetch) ~90 requests/hour; Delete Post 160 requests/hour","Max file sizes: video 250 MB, image 10 MB","Get Upload URL count limited to 1–10 per request","Get Many pagination limits: page size 1–50 (auto-pagination available)","Media upload is done via returned pre-signed S3 URLs — the node does not stream/upload files directly"],"relatedNodes":["HTTP Request (for direct S3 uploads or custom API calls)","AWS S3 / S3 nodes (for interacting with S3 storage)","Notion (content sources / content calendar automation)","Dropbox (media sources)","Image/Video processing nodes (resize, transcode before upload)"]}


node_type: n8n-nodes-resend.resend
package_name: n8n-nodes-resend
display_name: Resend
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: zenorocha
author_github_url: https://github.com/resend/
npm_package_name: n8n-nodes-resend
npm_version: 2.1.6
community_fetched_at: 2026-02-19T14:41:52.396Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Send emails, manage contacts, create broadcasts, handle templates, domains, segments, topics, and webhooks using the Resend email platform

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "email",
      "options": [
        {
          "name": "Broadcast",
          "value": "broadcasts",
          "description": "Create, send, update, or delete email broadcasts to reach multiple contacts at once"
        },
        {
          "name": "Contact",
          "value": "contacts",
          "description": "Add, update, delete, or list contacts (email subscribers) and manage their segment and topic memberships"
        },
        {
          "name": "Contact Property",
          "value": "contactProperties",
          "description": "Create, update, delete, or list custom contact properties (metadata fields) for storing additional contact information"
        },
        {
          "name": "Domain",
          "value": "domains",
          "description": "Add, verify, update, or delete sending domains for email authentication and deliverability"
        },
        {
          "name": "Email",
          "value": "email",
          "description": "Send single or batch emails, retrieve sent emails, cancel scheduled emails, or manage email attachments"
        },
        {
          "name": "Receiving Email",
          "value": "receivingEmails",
          "description": "List and retrieve received emails and their attachments from inbound email processing"
        },
        {
          "name": "Segment",
          "value": "segments",
          "description": "Create, update, delete, or list contact segments for grouping contacts based on criteria"
        },
        {
          "name": "Template",
          "value": "templates",
          "description": "Create, update, publish, duplicate, or delete reusable email templates with dynamic variables"
        },
        {
          "name": "Topic",
          "value": "topics",
          "description": "Create, update, delete, or list subscription topics for managing email preferences"
        },
        {
          "name": "Webhook",
          "value": "webhooks",
          "description": "Create, update, delete, or list webhooks for receiving real-time notifications about email events"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Cancel",
          "value": "cancel",
          "action": "Cancel a scheduled email",
          "description": "Cancel a previously scheduled email by its email ID before it gets sent"
        },
        {
          "name": "Get Attachment",
          "value": "getAttachment",
          "action": "Get attachment from email",
          "description": "Download a specific attachment from a sent email using the email ID and attachment ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all sent emails",
          "description": "Get a list of all previously sent emails with their status, subject, and recipients"
        },
        {
          "name": "List Attachments",
          "value": "listAttachments",
          "action": "List email attachments",
          "description": "Get all attachments from a sent email by providing the email ID"
        },
        {
          "name": "Retrieve",
          "value": "retrieve",
          "action": "Get email details",
          "description": "Get details of a specific sent email including subject, recipients, status, and timestamps"
        },
        {
          "name": "Send",
          "value": "send",
          "action": "Send a new email",
          "description": "Send a new email to one or more recipients with HTML or plain text content, attachments, and optional scheduling"
        },
        {
          "name": "Send and Wait for Response",
          "value": "sendAndWait",
          "action": "Send email and wait for recipient response",
          "description": "Send an email with response buttons and pause workflow execution until the recipient clicks a response"
        },
        {
          "name": "Send Batch",
          "value": "sendBatch",
          "action": "Send multiple emails in batch",
          "description": "Send up to 100 emails in a single API call for bulk email delivery with individual customization"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update scheduled email time",
          "description": "Reschedule a scheduled email by updating its scheduled_at time before it is sent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "email"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an email template",
          "description": "Create a new reusable email template with HTML content and dynamic variables for personalization"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a template",
          "description": "Permanently delete an email template by its template ID"
        },
        {
          "name": "Duplicate",
          "value": "duplicate",
          "action": "Duplicate a template",
          "description": "Create a copy of an existing template with a new name for easy customization"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get template details",
          "description": "Retrieve a template's details including HTML content, variables, and publish status by template ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all templates",
          "description": "Get all email templates with their names, IDs, and publish status"
        },
        {
          "name": "Publish",
          "value": "publish",
          "action": "Publish a template",
          "description": "Publish a template to make it available for sending emails. Required before a template can be used in email operations."
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a template",
          "description": "Update a template's name, subject, HTML content, or variables"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "templates"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Add a new sending domain",
          "description": "Add a new sending domain for email authentication. Returns DNS records that must be configured for verification."
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a domain",
          "description": "Remove a sending domain from your account. Emails can no longer be sent from this domain after deletion."
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get domain details",
          "description": "Retrieve details of a domain including DNS records, verification status, and configuration"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all domains",
          "description": "Get all sending domains with their verification status and DNS record requirements"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update domain settings",
          "description": "Update domain settings such as click tracking, open tracking, or TLS requirements"
        },
        {
          "name": "Verify",
          "value": "verify",
          "action": "Verify domain DNS records",
          "description": "Trigger verification of DNS records for a domain. Use after configuring DNS to check if domain is ready for sending."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domains"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a broadcast campaign",
          "description": "Create a new email broadcast campaign with subject, content, and target audience for bulk email sending"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a broadcast",
          "description": "Permanently delete a broadcast campaign by its broadcast ID"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get broadcast details",
          "description": "Retrieve details of a specific broadcast including status, subject, audience, and send statistics"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all broadcasts",
          "description": "Get a list of all broadcast campaigns with their status, subject lines, and creation dates"
        },
        {
          "name": "Send",
          "value": "send",
          "action": "Send a broadcast",
          "description": "Trigger the sending of a broadcast campaign to its target audience immediately or at a scheduled time"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a broadcast",
          "description": "Update a broadcast's subject, content, audience, or schedule before it is sent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "broadcasts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a contact segment",
          "description": "Create a new contact segment for grouping contacts based on criteria or manual assignment"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a segment",
          "description": "Permanently delete a segment by its segment ID. Contacts in the segment are not deleted."
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get segment details",
          "description": "Retrieve details of a specific segment including its name, contact count, and creation date"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all segments",
          "description": "Get all segments in the account with their names, IDs, and contact counts"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "segments"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a subscription topic",
          "description": "Create a new subscription topic for organizing email preferences and managing unsubscribe options"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a topic",
          "description": "Permanently delete a subscription topic by its topic ID"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get topic details",
          "description": "Retrieve details of a specific topic including its name, description, and subscriber count"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all topics",
          "description": "Get all subscription topics with their names, IDs, and subscriber counts"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a topic",
          "description": "Update a topic's name or description"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "topics"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Add to Segment",
          "value": "addToSegment",
          "action": "Add contact to a segment",
          "description": "Add an existing contact to a segment by providing the contact ID and segment ID"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new contact",
          "description": "Create a new contact with email address, optional name, custom properties, and segment/topic assignments"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a contact",
          "description": "Permanently delete a contact by their contact ID"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get contact details",
          "description": "Retrieve a contact's details including email, name, properties, and subscription status by contact ID"
        },
        {
          "name": "Get Topics",
          "value": "getTopics",
          "action": "Get contact topic subscriptions",
          "description": "Get all topic subscriptions (opt-in/opt-out status) for a specific contact"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all contacts",
          "description": "Get a list of all contacts in the account with their email addresses and basic information"
        },
        {
          "name": "List Segments",
          "value": "listSegments",
          "action": "List contact segments",
          "description": "Get all segments that a specific contact belongs to"
        },
        {
          "name": "Remove From Segment",
          "value": "removeFromSegment",
          "action": "Remove contact from segment",
          "description": "Remove a contact from a segment by providing the contact ID and segment ID"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update contact details",
          "description": "Update a contact's information including name, email, properties, or unsubscribe status"
        },
        {
          "name": "Update Topics",
          "value": "updateTopics",
          "action": "Update contact topic subscriptions",
          "description": "Update a contact's topic subscription preferences (opt-in or opt-out of specific topics)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contacts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a contact property",
          "description": "Create a new custom contact property (metadata field) for storing additional information about contacts"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a contact property",
          "description": "Permanently delete a contact property. This removes the property from all contacts."
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get contact property details",
          "description": "Retrieve details of a specific contact property including its name, type, and configuration"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all contact properties",
          "description": "Get all custom contact properties defined for storing contact metadata"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a contact property",
          "description": "Update a contact property's name or configuration"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contactProperties"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a webhook endpoint",
          "description": "Create a new webhook endpoint to receive real-time notifications for email events like delivered, opened, clicked, bounced"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a webhook",
          "description": "Delete a webhook endpoint. Events will no longer be sent to this URL."
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get webhook details",
          "description": "Retrieve details of a webhook including its URL, subscribed events, and status"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all webhooks",
          "description": "Get all configured webhooks with their URLs, event subscriptions, and status"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a webhook",
          "description": "Update a webhook's URL or the events it is subscribed to"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webhooks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get received email details",
          "description": "Retrieve a specific received email including sender, subject, body, and headers by email ID"
        },
        {
          "name": "Get Attachment",
          "value": "getAttachment",
          "action": "Download attachment from received email",
          "description": "Download a specific attachment from a received email by email ID and attachment ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all received emails",
          "description": "Get all emails received through inbound email processing with sender, subject, and timestamps"
        },
        {
          "name": "List Attachments",
          "value": "listAttachments",
          "action": "List attachments from received email",
          "description": "Get all attachments from a received email including filenames, sizes, and content types"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "receivingEmails"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Cancel",
      "value": "cancel",
      "action": "Cancel a scheduled email",
      "description": "Cancel a previously scheduled email by its email ID before it gets sent"
    },
    {
      "name": "Get Attachment",
      "value": "getAttachment",
      "action": "Get attachment from email",
      "description": "Download a specific attachment from a sent email using the email ID and attachment ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all sent emails",
      "description": "Get a list of all previously sent emails with their status, subject, and recipients"
    },
    {
      "name": "List Attachments",
      "value": "listAttachments",
      "action": "List email attachments",
      "description": "Get all attachments from a sent email by providing the email ID"
    },
    {
      "name": "Retrieve",
      "value": "retrieve",
      "action": "Get email details",
      "description": "Get details of a specific sent email including subject, recipients, status, and timestamps"
    },
    {
      "name": "Send",
      "value": "send",
      "action": "Send a new email",
      "description": "Send a new email to one or more recipients with HTML or plain text content, attachments, and optional scheduling"
    },
    {
      "name": "Send and Wait for Response",
      "value": "sendAndWait",
      "action": "Send email and wait for recipient response",
      "description": "Send an email with response buttons and pause workflow execution until the recipient clicks a response"
    },
    {
      "name": "Send Batch",
      "value": "sendBatch",
      "action": "Send multiple emails in batch",
      "description": "Send up to 100 emails in a single API call for bulk email delivery with individual customization"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update scheduled email time",
      "description": "Reschedule a scheduled email by updating its scheduled_at time before it is sent"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an email template",
      "description": "Create a new reusable email template with HTML content and dynamic variables for personalization"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a template",
      "description": "Permanently delete an email template by its template ID"
    },
    {
      "name": "Duplicate",
      "value": "duplicate",
      "action": "Duplicate a template",
      "description": "Create a copy of an existing template with a new name for easy customization"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get template details",
      "description": "Retrieve a template's details including HTML content, variables, and publish status by template ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all templates",
      "description": "Get all email templates with their names, IDs, and publish status"
    },
    {
      "name": "Publish",
      "value": "publish",
      "action": "Publish a template",
      "description": "Publish a template to make it available for sending emails. Required before a template can be used in email operations."
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a template",
      "description": "Update a template's name, subject, HTML content, or variables"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Add a new sending domain",
      "description": "Add a new sending domain for email authentication. Returns DNS records that must be configured for verification."
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a domain",
      "description": "Remove a sending domain from your account. Emails can no longer be sent from this domain after deletion."
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get domain details",
      "description": "Retrieve details of a domain including DNS records, verification status, and configuration"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all domains",
      "description": "Get all sending domains with their verification status and DNS record requirements"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update domain settings",
      "description": "Update domain settings such as click tracking, open tracking, or TLS requirements"
    },
    {
      "name": "Verify",
      "value": "verify",
      "action": "Verify domain DNS records",
      "description": "Trigger verification of DNS records for a domain. Use after configuring DNS to check if domain is ready for sending."
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a broadcast campaign",
      "description": "Create a new email broadcast campaign with subject, content, and target audience for bulk email sending"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a broadcast",
      "description": "Permanently delete a broadcast campaign by its broadcast ID"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get broadcast details",
      "description": "Retrieve details of a specific broadcast including status, subject, audience, and send statistics"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all broadcasts",
      "description": "Get a list of all broadcast campaigns with their status, subject lines, and creation dates"
    },
    {
      "name": "Send",
      "value": "send",
      "action": "Send a broadcast",
      "description": "Trigger the sending of a broadcast campaign to its target audience immediately or at a scheduled time"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a broadcast",
      "description": "Update a broadcast's subject, content, audience, or schedule before it is sent"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a contact segment",
      "description": "Create a new contact segment for grouping contacts based on criteria or manual assignment"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a segment",
      "description": "Permanently delete a segment by its segment ID. Contacts in the segment are not deleted."
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get segment details",
      "description": "Retrieve details of a specific segment including its name, contact count, and creation date"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all segments",
      "description": "Get all segments in the account with their names, IDs, and contact counts"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a subscription topic",
      "description": "Create a new subscription topic for organizing email preferences and managing unsubscribe options"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a topic",
      "description": "Permanently delete a subscription topic by its topic ID"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get topic details",
      "description": "Retrieve details of a specific topic including its name, description, and subscriber count"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all topics",
      "description": "Get all subscription topics with their names, IDs, and subscriber counts"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a topic",
      "description": "Update a topic's name or description"
    },
    {
      "name": "Add to Segment",
      "value": "addToSegment",
      "action": "Add contact to a segment",
      "description": "Add an existing contact to a segment by providing the contact ID and segment ID"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new contact",
      "description": "Create a new contact with email address, optional name, custom properties, and segment/topic assignments"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a contact",
      "description": "Permanently delete a contact by their contact ID"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get contact details",
      "description": "Retrieve a contact's details including email, name, properties, and subscription status by contact ID"
    },
    {
      "name": "Get Topics",
      "value": "getTopics",
      "action": "Get contact topic subscriptions",
      "description": "Get all topic subscriptions (opt-in/opt-out status) for a specific contact"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all contacts",
      "description": "Get a list of all contacts in the account with their email addresses and basic information"
    },
    {
      "name": "List Segments",
      "value": "listSegments",
      "action": "List contact segments",
      "description": "Get all segments that a specific contact belongs to"
    },
    {
      "name": "Remove From Segment",
      "value": "removeFromSegment",
      "action": "Remove contact from segment",
      "description": "Remove a contact from a segment by providing the contact ID and segment ID"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update contact details",
      "description": "Update a contact's information including name, email, properties, or unsubscribe status"
    },
    {
      "name": "Update Topics",
      "value": "updateTopics",
      "action": "Update contact topic subscriptions",
      "description": "Update a contact's topic subscription preferences (opt-in or opt-out of specific topics)"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a contact property",
      "description": "Create a new custom contact property (metadata field) for storing additional information about contacts"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a contact property",
      "description": "Permanently delete a contact property. This removes the property from all contacts."
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get contact property details",
      "description": "Retrieve details of a specific contact property including its name, type, and configuration"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all contact properties",
      "description": "Get all custom contact properties defined for storing contact metadata"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a contact property",
      "description": "Update a contact property's name or configuration"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a webhook endpoint",
      "description": "Create a new webhook endpoint to receive real-time notifications for email events like delivered, opened, clicked, bounced"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a webhook",
      "description": "Delete a webhook endpoint. Events will no longer be sent to this URL."
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get webhook details",
      "description": "Retrieve details of a webhook including its URL, subscribed events, and status"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all webhooks",
      "description": "Get all configured webhooks with their URLs, event subscriptions, and status"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a webhook",
      "description": "Update a webhook's URL or the events it is subscribed to"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get received email details",
      "description": "Retrieve a specific received email including sender, subject, body, and headers by email ID"
    },
    {
      "name": "Get Attachment",
      "value": "getAttachment",
      "action": "Download attachment from received email",
      "description": "Download a specific attachment from a received email by email ID and attachment ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all received emails",
      "description": "Get all emails received through inbound email processing with sender, subject, and timestamps"
    },
    {
      "name": "List Attachments",
      "value": "listAttachments",
      "action": "List attachments from received email",
      "description": "Get all attachments from a received email including filenames, sizes, and content types"
    }
  ]

npm_readme:
  <h1 align="center">
    <br>
    <a href="/"><img src=".github/media/resend-header.png" alt="n8n-nodes-resend" width="900"></a>
    <br>
  </h1>

  <p align="center">
  	<img alt="NPM Version" src="https://img.shields.io/npm/v/n8n-nodes-resend">
  	<img alt="GitHub License" src="https://img.shields.io/github/license/resend/n8n-nodes-resend">
  	<img alt="NPM Downloads" src="https://img.shields.io/npm/dm/n8n-nodes-resend">
  	<img alt="NPM Last Update" src="https://img.shields.io/npm/last-update/n8n-nodes-resend">
  	<img alt="Static Badge" src="https://img.shields.io/badge/n8n-2.6.4-EA4B71?logo=n8n">
  </p>

  <p align="center">
    <a href="#installation">Installation</a> |
    <a href="#credentials">Credentials</a> |
    <a href="#human-in-the-loop">Human in the Loop</a> |
    <a href="#resources">Resources</a> |
    <a href="#trigger-events">Trigger Events</a> |
    <a href="#development">Development</a>
  </p>

  ---

  A community node for [n8n](https://n8n.io) that integrates with the [Resend](https://resend.com) email API. Send emails, manage contacts, handle domains, and receive webhooks.

  ## API Coverage

  > [!WARNING]
  > Audiences are deprecated in favor of Segments and won't be supported in this node. Please use Segments for contact grouping and targeting.

  Comprehensive coverage of the Resend API (v1.1.0). The table below shows which endpoints are currently implemented:

  | API Resource           | Endpoint              | Status  | Operations                                                                                                       |
  | ---------------------- | --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
  | **Email**              | `/emails`             | ✅ Full | Send, Send Batch, Send and Wait, List, Get, Update, Cancel, List Attachments, Get Attachment                     |
  | **Receiving Emails**   | `/emails/receiving`   | ✅ Full | List, Get, List Attachments, Get Attachment                                                                      |
  | **Domains**            | `/domains`            | ✅ Full | Create, List, Get, Update, Delete, Verify                                                                        |
  | **Templates**          | `/templates`          | ✅ Full | Create, List, Get, Update, Delete, Publish, Duplicate                                                            |
  | **Contacts**           | `/contacts`           | ✅ Full | Create, List, Get, Update, Delete, Add to Segment, List Segments, Remove from Segment, Get Topics, Update Topics |
  | **Broadcasts**         | `/broadcasts`         | ✅ Full | Create, List, Get, Update, Delete, Send                                                                          |
  | **Segments**           | `/segments`           | ✅ Full | Create, List, Get, Delete                                                                                        |
  | **Topics**             | `/topics`             | ✅ Full | Create, List, Get, Update, Delete                                                                                |
  | **Contact Properties** | `/contact-properties` | ✅ Full | Create, List, Get, Update, Delete                                                                                |
  | **Webhooks**           | `/webhooks`           | ✅ Full | Create, List, Get, Update, Delete                                                                                |

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings** > **Community Nodes**
  2. Click **Install a community node**
  3. Enter `n8n-nodes-resend`
  4. Restart n8n

  ### Manual Installation

  ```bash
  cd ~/.n8n
  npm install n8n-nodes-resend
  ```

  ### Docker

  ```bash
  docker run -it --rm \
    -p 5678:5678 \
    -e N8N_NODES_INCLUDE=n8n-nodes-resend \
    n8nio/n8n
  ```

  ## Credentials

  This package uses two separate credentials:

  ### Resend API

  1. Get your API key from [Resend Dashboard](https://resend.com/api-keys)
  2. In n8n, go to **Credentials** > **Add credential**
  3. Search for **Resend API** and paste your key

  This credential is used by the main **Resend** node for all API operations.

  ### Resend Webhook Signing Secret

  1. Create a webhook endpoint in your [Resend Dashboard](https://resend.com/webhooks)
  2. Copy the signing secret (starts with `whsec_`)
  3. In n8n, go to **Credentials** > **Add credential**
  4. Search for **Resend Webhook Signing Secret** and paste your secret

  This credential is used exclusively by the **Resend Trigger** node for webhook signature verification. Each webhook endpoint in Resend has its own unique signing secret.

  ## Human in the Loop

  The **Send and Wait for Response** operation enables human-in-the-loop workflows. Send an email and pause the workflow until the recipient responds via approval buttons or a form.

  ### Features

  - **Approval Workflows**: Send emails with Approve/Decline buttons for quick decisions
  - **Free Text Responses**: Collect text input via a response form
  - **Configurable Wait Time**: Set a timeout or wait indefinitely
  - **Secure Callbacks**: Responses use signed URLs for security

  ### How to Use

  1. In the node panel, go to **Human in the Loop** > **Resend**
  2. Or select **Email** resource > **Send and Wait for Response** operation

  ### Configuration Options

  | Option                   | Description                                              |
  | ------------------------ | -------------------------------------------------------- |
  | **Response Type**        | Choose between Approval (buttons) or Free Text (form)    |
  | **Approval Type**        | Single button (Approve only) or Double (Approve/Decline) |
  | **Button Labels**        | Customize the button text                                |
  | **Button Styles**        | Primary or Secondary styling                             |
  | **Message Button Label** | Label for the form link button (Free Text mode)          |
  | **Response Form Title**  | Title shown on the response form                         |
  | **Limit Wait Time**      | Set a timeout for the wait period                        |

  ## Resources

  ### Email

  | Operation        | Description                                       |
  | ---------------- | ------------------------------------------------- |
  | Send             | Send a single email with optional attachments     |
  | Send Batch       | Send up to 100 emails in one request              |
  | Send and Wait    | Send email and wait for recipient response (HITL) |
  | List             | List sent emails                                  |
  | Get              | Retrieve email details and status                 |
  | Cancel           | Cancel a scheduled email                          |
  | Update           | Modify a scheduled email                          |
  | List Attachments | List attachments for a sent email                 |
  | Get Attachment   | Get a specific attachment from a sent email       |

  ### Receiving Email

  | Operation        | Description                                     |
  | ---------------- | ----------------------------------------------- |
  | List             | List all received emails                        |
  | Get              | Retrieve a received email                       |
  | List Attachments | List attachments for a received email           |
  | Get Attachment   | Get a specific attachment from a received email |

  ### Contact

  | Operation           | Description                              |
  | ------------------- | ---------------------------------------- |
  | Create              | Add a new contact                        |
  | Get                 | Retrieve contact details                 |
  | Update              | Modify contact information               |
  | Delete              | Remove a contact                         |
  | List                | List all contacts                        |
  | Add to Segment      | Add a contact to a segment               |
  | List Segments       | List segments for a contact              |
  | Remove From Segment | Remove a contact from a segment          |
  | Get Topics          | Get topic subscriptions for a contact    |
  | Update Topics       | Update topic subscriptions for a contact |

  ### Contact Property

  | Operation | Description                      |
  | --------- | -------------------------------- |
  | Create    | Create a custom contact property |
  | Get       | Retrieve property details        |
  | Update    | Modify property settings         |
  | Delete    | Remove a property                |
  | List      | List all contact properties      |

  ### Segment

  | Operation | Description                                          |
  | --------- | ---------------------------------------------------- |
  | Create    | Create a new segment with optional filter conditions |
  | Get       | Retrieve segment details                             |
  | Delete    | Remove a segment                                     |
  | List      | List all segments                                    |

  ### Topic

  | Operation | Description                 |
  | --------- | --------------------------- |
  | Create    | Create a subscription topic |
  | Get       | Retrieve topic details      |
  | Update    | Modify topic settings       |
  | Delete    | Remove a topic              |
  | List      | List all topics             |

  ### Broadcast

  | Operation | Description                   |
  | --------- | ----------------------------- |
  | Create    | Create an email campaign      |
  | Get       | Retrieve broadcast details    |
  | Send      | Send a broadcast to a segment |
  | Update    | Modify broadcast settings     |
  | Delete    | Remove a broadcast            |
  | List      | List all broadcasts           |

  ### Template

  | Operation | Description                    |
  | --------- | ------------------------------ |
  | Create    | Create an email template       |
  | Get       | Retrieve template details      |
  | Update    | Modify a template              |
  | Delete    | Remove a template              |
  | List      | List all templates             |
  | Publish   | Publish a template             |
  | Duplicate | Duplicate an existing template |

  ### Domain

  | Operation | Description                 |
  | --------- | --------------------------- |
  | Create    | Add a sending domain        |
  | Get       | Retrieve domain details     |
  | Verify    | Trigger domain verification |
  | Update    | Modify domain settings      |
  | Delete    | Remove a domain             |
  | List      | List all domains            |

  ### Webhook

  | Operation | Description               |
  | --------- | ------------------------- |
  | Create    | Create a webhook endpoint |
  | Get       | Retrieve webhook details  |
  | Update    | Modify webhook settings   |
  | Delete    | Remove a webhook          |
  | List      | List all webhooks         |

  ## Trigger Events

  The **Resend Trigger** node receives webhooks for real-time email events. Signatures are automatically verified using Svix.

  > **Note:** The trigger node requires the **Resend Webhook Signing Secret** credential (separate from the Resend API credential). See the [Credentials](#credentials) section for setup instructions.

  | Event                    | Description                          |
  | ------------------------ | ------------------------------------ |
  | `email.sent`             | Email sent to recipient              |
  | `email.delivered`        | Email delivered successfully         |
  | `email.delivery_delayed` | Email delivery delayed               |
  | `email.opened`           | Recipient opened the email           |
  | `email.clicked`          | Link clicked in email                |
  | `email.bounced`          | Email bounced                        |
  | `email.complained`       | Spam complaint received              |
  | `email.failed`           | Email failed to send due to an error |
  | `email.received`         | Inbound email received by Resend     |
  | `email.scheduled`        | Email scheduled to be sent           |
  | `email.suppressed`       | Email suppressed by Resend           |
  | `contact.created`        | New contact added                    |
  | `contact.updated`        | Contact modified                     |
  | `contact.deleted`        | Contact removed                      |
  | `domain.created`         | New domain added                     |
  | `domain.updated`         | Domain modified                      |
  | `domain.deleted`         | Domain removed                       |

  ## Limitations

  - Maximum email size: 40MB (including attachments)
  - Attachments not supported with scheduled emails

  ## Development

  ```bash
  git clone https://github.com/resend/n8n-nodes-resend.git
  cd n8n-nodes-resend
  npm install
  npm run build
  npm run lint
  ```

  ## License

  [MIT](LICENSE.md)

  ## Acknowledgments

  Enhanced with contributions from [jannispkz/n8n-nodes-resend-complete](https://github.com/jannispkz/n8n-nodes-resend-complete).

  ---

  <p align="center">
    <a href="https://github.com/resend/n8n-nodes-resend">GitHub</a> |
    <a href="https://github.com/resend/n8n-nodes-resend/issues">Issues</a> |
    <a href="https://resend.com/docs">Resend Docs</a>
  </p>

ai_documentation_summary:
  {"purpose":"n8n node that integrates with the Resend email API to send and receive email, manage contacts, templates, domains, broadcasts, segments, topics, contact properties, and webhooks, and to support human-in-the-loop email response workflows.","capabilities":["Email: Send, Send Batch, Send and Wait (human-in-the-loop), List, Get, Update, Cancel, List Attachments, Get Attachment","Receiving Emails: List, Get, List Attachments, Get Attachment","Domains: Create, List, Get, Update, Delete, Verify","Templates: Create, List, Get, Update, Delete, Publish, Duplicate","Contacts: Create, List, Get, Update, Delete, Add to Segment, List Segments, Remove from Segment, Get Topics, Update Topics","Broadcasts: Create, List, Get, Update, Delete, Send","Segments: Create, List, Get, Delete","Topics: Create, List, Get, Update, Delete","Contact Properties: Create, List, Get, Update, Delete","Webhooks: Create, List, Get, Update, Delete"],"authentication":"API key required for Resend API (Resend API credential). Separate Webhook Signing Secret credential (whsec_...) required for the Resend Trigger node to verify webhook signatures.","commonUseCases":["Send transactional or batch emails and manage sending lifecycle (update/cancel, attachments)","Implement human-in-the-loop approval flows where a workflow pauses until recipient response","Manage sending domains and verify DNS/configuration","Create and manage templates for reusable email content","Manage contacts, group them via segments, and update contact topics or properties"],"limitations":["Audiences are deprecated in Resend and are not supported by this node — use Segments instead","README indicates coverage is for Resend API v1.1.0; features outside that API version may not be supported"],"relatedNodes":["Resend Trigger (webhook trigger / signature verification)"]}


node_type: @ledgers/n8n-nodes-ledgers-cloud.ledgers
package_name: @ledgers/n8n-nodes-ledgers-cloud
display_name: LEDGERS
description: Interact with LEDGERS API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: ledgers
author_github_url: https://github.com/ledgers-cloud/n8n-nodes-ledgers.git
npm_package_name: @ledgers/n8n-nodes-ledgers-cloud
npm_version: 0.0.19
community_fetched_at: 2026-02-19T14:41:52.398Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Catalog Operation",
          "value": "catalog"
        },
        {
          "name": "Common Operation",
          "value": "common"
        },
        {
          "name": "Contact Operation",
          "value": "contact"
        },
        {
          "name": "HRMS Operation (India)",
          "value": "hrms"
        },
        {
          "name": "Purchase Operation",
          "value": "purchase"
        },
        {
          "name": "Sales Operation",
          "value": "sales"
        },
        {
          "name": "Tax Operation (India)",
          "value": "tax"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createCatalog",
      "options": [
        {
          "name": "Add Variant (Existing Catalog)",
          "value": "addVariant",
          "action": "Add a new variant"
        },
        {
          "name": "Create Catalog",
          "value": "createCatalog",
          "action": "Create a catalog"
        },
        {
          "name": "Get All Catalogs",
          "value": "getAllCatalogs",
          "action": "Get all catalogs"
        },
        {
          "name": "Get Catalog",
          "value": "getCatalog",
          "action": "Get a catalog"
        },
        {
          "name": "Update Catalog",
          "value": "updateCatalog",
          "action": "Update a catalog"
        },
        {
          "name": "Update Variant (Existing Catalog)",
          "value": "updateVariant",
          "action": "Update a variant"
        }
      ],
      "description": "Choose the operation",
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "catalog"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createBranch",
      "options": [
        {
          "name": "Add Payment Method",
          "value": "addPaymentMethod",
          "action": "Add a payment method"
        },
        {
          "name": "Create Branch",
          "value": "createBranch",
          "action": "Create a branch"
        },
        {
          "name": "Get Branch Details",
          "value": "getBranchDetails",
          "action": "Get branch details"
        },
        {
          "name": "List Branches",
          "value": "listBranches",
          "action": "List branches"
        },
        {
          "name": "List Payment Methods",
          "value": "listPaymentMethods",
          "action": "List payment methods"
        },
        {
          "name": "Update Branch",
          "value": "updateBranch",
          "action": "Update a branch"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "common"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createContact",
      "options": [
        {
          "name": "Add Address (Existing Contact)",
          "value": "addAddress",
          "action": "Add address to a contact"
        },
        {
          "name": "Create Contact",
          "value": "createContact",
          "action": "Create a contact"
        },
        {
          "name": "Get All Contacts",
          "value": "getAllContacts",
          "action": "Get all contacts"
        },
        {
          "name": "Get Contact",
          "value": "getContact",
          "action": "Get a contact"
        },
        {
          "name": "Update Address (Existing Contact)",
          "value": "updateAddress",
          "action": "Update address of a contact"
        },
        {
          "name": "Update Contact",
          "value": "updateContact",
          "action": "Update a contact"
        }
      ],
      "description": "Choose the operation",
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "addEmployee",
      "options": [
        {
          "name": "Get All Employees",
          "value": "getAllEmployees",
          "action": "Get all employees"
        },
        {
          "name": "Add Employee",
          "value": "addEmployee",
          "action": "Add a new employee"
        },
        {
          "name": "Update Employee",
          "value": "updateEmployee",
          "action": "Update an existing employee"
        },
        {
          "name": "Get Employee",
          "value": "getEmployee",
          "action": "Get employee details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "hrms"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createPurchaseInvoice",
      "options": [
        {
          "name": "Create Purchase Invoice",
          "value": "createPurchaseInvoice",
          "action": "Create a purchase invoice"
        },
        {
          "name": "Create Voucher",
          "value": "createVoucher",
          "action": "Create a voucher"
        },
        {
          "name": "List Purchase Invoices",
          "value": "listPurchaseInvoices",
          "action": "List all purchase invoices"
        },
        {
          "name": "List Vouchers",
          "value": "listVouchers",
          "action": "List all vouchers"
        },
        {
          "name": "View Purchase Invoice",
          "value": "viewPurchaseInvoice",
          "action": "View a purchase invoice"
        },
        {
          "name": "View Voucher",
          "value": "viewVoucher",
          "action": "View a voucher"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "purchase"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createInvoice",
      "options": [
        {
          "name": "Create Invoice",
          "value": "createInvoice",
          "action": "Create a new invoice"
        },
        {
          "name": "Create Quote",
          "value": "createQuote",
          "action": "Create a new quote"
        },
        {
          "name": "Create Receipt",
          "value": "createReceipt",
          "action": "Create a new receipt"
        },
        {
          "name": "List Invoices",
          "value": "listInvoices",
          "action": "List all invoices"
        },
        {
          "name": "List Quotes",
          "value": "listQuotes",
          "action": "List all quotes"
        },
        {
          "name": "List Receipts",
          "value": "listReceipts",
          "action": "List all receipts"
        },
        {
          "name": "View Invoice",
          "value": "viewInvoice",
          "action": "View an invoice"
        },
        {
          "name": "View Quote",
          "value": "viewQuote",
          "action": "View a quote"
        },
        {
          "name": "View Receipt",
          "value": "viewReceipt",
          "action": "View a receipt"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sales"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getGSTReturnStatus",
      "options": [
        {
          "name": "GST Return Status",
          "value": "getGSTReturnStatus",
          "action": "Get GST return status"
        },
        {
          "name": "GST Search",
          "value": "getGSTSearch",
          "action": "Search GST information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tax"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Add Variant (Existing Catalog)",
      "value": "addVariant",
      "action": "Add a new variant"
    },
    {
      "name": "Create Catalog",
      "value": "createCatalog",
      "action": "Create a catalog"
    },
    {
      "name": "Get All Catalogs",
      "value": "getAllCatalogs",
      "action": "Get all catalogs"
    },
    {
      "name": "Get Catalog",
      "value": "getCatalog",
      "action": "Get a catalog"
    },
    {
      "name": "Update Catalog",
      "value": "updateCatalog",
      "action": "Update a catalog"
    },
    {
      "name": "Update Variant (Existing Catalog)",
      "value": "updateVariant",
      "action": "Update a variant"
    },
    {
      "name": "Add Payment Method",
      "value": "addPaymentMethod",
      "action": "Add a payment method"
    },
    {
      "name": "Create Branch",
      "value": "createBranch",
      "action": "Create a branch"
    },
    {
      "name": "Get Branch Details",
      "value": "getBranchDetails",
      "action": "Get branch details"
    },
    {
      "name": "List Branches",
      "value": "listBranches",
      "action": "List branches"
    },
    {
      "name": "List Payment Methods",
      "value": "listPaymentMethods",
      "action": "List payment methods"
    },
    {
      "name": "Update Branch",
      "value": "updateBranch",
      "action": "Update a branch"
    },
    {
      "name": "Add Address (Existing Contact)",
      "value": "addAddress",
      "action": "Add address to a contact"
    },
    {
      "name": "Create Contact",
      "value": "createContact",
      "action": "Create a contact"
    },
    {
      "name": "Get All Contacts",
      "value": "getAllContacts",
      "action": "Get all contacts"
    },
    {
      "name": "Get Contact",
      "value": "getContact",
      "action": "Get a contact"
    },
    {
      "name": "Update Address (Existing Contact)",
      "value": "updateAddress",
      "action": "Update address of a contact"
    },
    {
      "name": "Update Contact",
      "value": "updateContact",
      "action": "Update a contact"
    },
    {
      "name": "Get All Employees",
      "value": "getAllEmployees",
      "action": "Get all employees"
    },
    {
      "name": "Add Employee",
      "value": "addEmployee",
      "action": "Add a new employee"
    },
    {
      "name": "Update Employee",
      "value": "updateEmployee",
      "action": "Update an existing employee"
    },
    {
      "name": "Get Employee",
      "value": "getEmployee",
      "action": "Get employee details"
    },
    {
      "name": "Create Purchase Invoice",
      "value": "createPurchaseInvoice",
      "action": "Create a purchase invoice"
    },
    {
      "name": "Create Voucher",
      "value": "createVoucher",
      "action": "Create a voucher"
    },
    {
      "name": "List Purchase Invoices",
      "value": "listPurchaseInvoices",
      "action": "List all purchase invoices"
    },
    {
      "name": "List Vouchers",
      "value": "listVouchers",
      "action": "List all vouchers"
    },
    {
      "name": "View Purchase Invoice",
      "value": "viewPurchaseInvoice",
      "action": "View a purchase invoice"
    },
    {
      "name": "View Voucher",
      "value": "viewVoucher",
      "action": "View a voucher"
    },
    {
      "name": "Create Invoice",
      "value": "createInvoice",
      "action": "Create a new invoice"
    },
    {
      "name": "Create Quote",
      "value": "createQuote",
      "action": "Create a new quote"
    },
    {
      "name": "Create Receipt",
      "value": "createReceipt",
      "action": "Create a new receipt"
    },
    {
      "name": "List Invoices",
      "value": "listInvoices",
      "action": "List all invoices"
    },
    {
      "name": "List Quotes",
      "value": "listQuotes",
      "action": "List all quotes"
    },
    {
      "name": "List Receipts",
      "value": "listReceipts",
      "action": "List all receipts"
    },
    {
      "name": "View Invoice",
      "value": "viewInvoice",
      "action": "View an invoice"
    },
    {
      "name": "View Quote",
      "value": "viewQuote",
      "action": "View a quote"
    },
    {
      "name": "View Receipt",
      "value": "viewReceipt",
      "action": "View a receipt"
    },
    {
      "name": "GST Return Status",
      "value": "getGSTReturnStatus",
      "action": "Get GST return status"
    },
    {
      "name": "GST Search",
      "value": "getGSTSearch",
      "action": "Search GST information"
    }
  ]

npm_readme:
  # n8n-nodes-ledgers-cloud

  This is an n8n community node for integrating with [LEDGERS](https://ledgers.cloud/) – a comprehensive business platform offering features like accounting, invoicing, contacts, catalogs, quotes, and receipt management.

  Use this node to automate LEDGERS workflows directly from within [n8n](https://n8n.io), the fair-code licensed workflow automation platform.

  ## 🎯 What is LEDGERS Node?

  The LEDGERS node is a powerful automation tool that connects your n8n workflows with the LEDGERS cloud platform. It enables businesses to:

  - **Automate Business Operations**: Streamline contact management, inventory tracking, and financial operations
  - **Integrate Systems**: Connect LEDGERS with other business tools in your workflow
  - **Reduce Manual Work**: Automate repetitive tasks like invoice generation, receipt creation, and data synchronization
  - **Scale Operations**: Handle bulk operations and complex business logic through automated workflows
  - **Maintain Data Consistency**: Ensure accurate data flow between LEDGERS and other systems

  ## 🏢 Business Use Cases

  ### **Small to Medium Businesses**
  - **Complete Business Automation**: Manage entire customer lifecycle from contact creation to payment collection
  - **E-commerce Integration**: Automatically sync orders, create invoices, and track payments
  - **Service-based Businesses**: Generate quotes, convert to invoices, and manage service delivery
  - **Retail Operations**: Manage inventory, create sales documents, and track customer interactions

  ### **Enterprise Operations**
  - **Multi-system Integration**: Connect LEDGERS with CRM, ERP, and other business systems
  - **Bulk Data Processing**: Handle large volumes of transactions and data synchronization
  - **Automated Workflows**: Create complex business rules and automated decision-making processes
  - **Reporting and Analytics**: Extract data for business intelligence and reporting systems

  ### **Industry-Specific Applications**
  - **Professional Services**: Time-based billing, project management, and client communication
  - **Manufacturing**: Purchase order management, inventory tracking, and supplier relations
  - **Consulting**: Project-based invoicing, expense tracking, and client management
  - **Subscription Services**: Recurring billing, customer lifecycle management, and payment processing

  ---

  ## 🔧 Installation

  To install this community node, follow the instructions in the [n8n community node installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).

  ```bash
  npm install @ledgers/n8n-nodes-ledgers-cloud
  ```

  After installing, restart n8n and the node will be available in the editor.

  ---

  ## 📋 Supported Operations

  The LEDGERS node supports the following operations:

  ### **Triggers**
  - **LEDGERS Webhook Trigger** - Listen to real-time events from LEDGERS API via webhooks

  ### **Regular Operations**

  ### **Contacts**
  - **Create Contact** - Create a new contact with billing/shipping addresses
  - **Update Contact** - Update existing contact information
  - **Add Address** - Add billing or shipping addresses to existing contacts
  - **Update Address** - Update specific addresses for contacts
  - **Get Contact** - Retrieve a specific contact by ID
  - **Get All Contacts** - List all contacts with pagination and search

  ### **Catalogs**
  - **Create Catalog** - Create new catalog items with variants
  - **Update Catalog** - Update catalog item details
  - **Update Variant** - Update specific variant details
  - **Add Variant** - Add new variants to existing catalogs
  - **Get Catalog** - Retrieve a specific catalog by ID
  - **Get All Catalogs** - List all catalogs with pagination and search

  ### **Sales**
  - **Create Invoice** - Generate new invoices with comprehensive validation and contact/item details
  - **View Invoice** - Retrieve specific invoice details
  - **List Invoices** - List all invoices with filtering and pagination
  - **Create Quote** - Generate new quotes/estimates with validation and contact/item details
  - **View Quote** - Retrieve specific quote details
  - **List Quotes** - List all quotes with filtering and pagination
  - **Create Receipt** - Generate payment receipts with flexible payment method support
  - **View Receipt** - Retrieve specific receipt details
  - **List Receipts** - List all receipts with filtering and pagination

  ### **Purchase**
  - **Create Purchase Invoice** - Generate supplier invoices with comprehensive validation and detailed item management
  - **View Purchase Invoice** - Retrieve specific purchase invoice details
  - **List Purchase Invoices** - List all purchase invoices with filtering and pagination
  - **Create Voucher** - Generate expense, payment, and salary vouchers
  - **View Voucher** - Retrieve specific voucher details
  - **List Vouchers** - List all vouchers with filtering and pagination

  ### **HRMS (Human Resource Management)**
  - **Get All Employees** - List all employees with pagination, search, and filtering options
  - **Add Employee** - Create new employee records with comprehensive details
  - **Update Employee** - Update existing employee information including status changes
  - **Get Employee** - Retrieve specific employee details by GID

  ### **Banking**
  - **Get Bank Statement** - Retrieve account statements for selected bank accounts with date range filtering
    - **Supported Banks**: ICICI Bank and Axis Bank
    - **Requirements**: Connected banking must be set up in LEDGERS
    - **Features**: Dynamic account selection, date range filtering, secure data handling

  ---

  ## 🔧 Operation Details

  ### **Contact Operations**
  - **Required Fields**: Contact name, mobile, email
  - **Address Support**: Billing and shipping addresses with GSTIN (India) / TRN Number (UAE)
  - **Country Codes**: Support for multiple country dial codes
  - **Validation**: Mobile number format validation
  - **Multi-region Support**: India and UAE operations with region-specific field mapping

  ### **Catalog Operations**
  - **Item Types**: Goods and Services support
  - **GST Integration**: Built-in GST rates (0%, 5%, 12%, 18%, 28%)
  - **Variants**: Multiple variants per catalog item
  - **HSN/SAC Codes**: Automatic code suggestions via AI
  - **Cess Support**: Flat and percentage-based cess
  - **Multi-region Support**: India and UAE operations with region-specific business rules

  ### **Sales Operations**
  - **Invoice Creation**: Full invoice generation with comprehensive validation and contact/item details
  - **Quote Generation**: Estimate creation with validity periods and date picker support
  - **Receipt Management**: Payment receipt creation with flexible payment methods
  - **Item Management**: Multiple items with strict numeric validation (rates, quantities, tax calculations)
  - **Date Filtering**: Date range filtering for listing operations with validation
  - **Payment Status**: Track payment status (Paid, Not Paid, Part Paid, Deleted)
  - **Payment Methods**: Flexible payment method selection with custom input fallback
  - **Reconciliation**: Support for invoice reconciliation in receipts
  - **GST Rate Dropdown**: Standardized GST rate selection with predefined options
  - **Advanced Validation**: Integer validation for PID (>0), Variant ID (>0), rates (≥0), and taxable amounts (≥0)
  - **Business Logic Validation**: Taxable amount cannot exceed rate, non-taxable amount cannot exceed rate
  - **Multi-region Support**: Full support for both India and UAE regions with region-specific validations and filter formats

  ### **Purchase Operations**
  - **Purchase Invoice Management**: Create supplier invoices with comprehensive validation and item details
  - **Voucher System**: Three types of vouchers with specialized functionality:
    - **Expense Vouchers**: Single or multiple expense head management with tax calculations
    - **Payment Vouchers**: Supplier payment tracking with invoice reconciliation
    - **Salary Vouchers**: Employee salary processing with detailed breakdowns
  - **Advanced Item Management**: Purchase items with strict numeric validation and specialized supply options
  - **Address Management**: Separate billing and shipping address handling
  - **Tax Integration**: Multiple tax types and specialized supply configurations
  - **Currency Support**: Multi-currency handling for international purchases
  - **Date Filtering**: Comprehensive date range filtering for all list operations
  - **Payment Status Tracking**: Monitor payment status across all purchase documents
  - **Reconciliation Features**: Match payments with purchase invoices automatically
  - **Enhanced Validation**: Integer validation for PID (>0), VID (>0), rates (≥0), and taxable amounts (≥0)
  - **Business Logic Validation**: Same validation rules as Sales operations for consistency

  ### **HRMS Operations**
  - **Employee Management**: Complete employee lifecycle management from hiring to exit
  - **Comprehensive Data Handling**: Personal, professional, and financial information management
  - **Address Management**: Present and permanent address handling with detailed fields
  - **Bank Details**: Employee banking information for salary processing
  - **Statutory Compliance**: PAN, Aadhar, UAN, ESI number management
  - **Search and Filter**: Advanced employee search with multiple criteria
  - **Status Management**: Active/inactive employee status with exit date tracking
  - **Validation**: Required field validation for employee creation and updates

  ### **Banking Operations**
  - **Account Selection**: Dynamic dropdown populated with active bank accounts and linked accounts
  - **Statement Retrieval**: Fetch account statements for specific date ranges
  - **Security Features**: Masked account numbers and secure data handling
  - **Date Range Filtering**: Flexible date selection for statement periods
  - **Error Handling**: Clear error messages for missing accounts or configuration issues
  - **Multi-Account Support**: Handle multiple linked accounts per URN
  - **Validation**: Required field validation for account selection and date ranges
  - **Supported Banks**: ICICI Bank and Axis Bank integration
  - **Setup Requirements**: Connected banking must be configured in LEDGERS platform
  - **Connected Banking**: Only works when banking integration is set up in LEDGERS



  ## 💼 Uses of Sales Operations

  The Sales module in LEDGERS node is designed for comprehensive revenue management and customer transaction handling:

  ### **Invoice Management**
  - **Automated Billing**: Create invoices automatically based on triggers (orders, time periods, etc.)
  - **Multi-item Invoicing**: Handle complex invoices with multiple products/services
  - **Tax Calculations**: Automatic GST calculations with different tax rates
  - **Customer Integration**: Link invoices directly to contact records
  - **Status Tracking**: Monitor payment status and follow up on overdue invoices

  ### **Quote/Estimate Management**
  - **Sales Pipeline**: Generate quotes for potential customers automatically
  - **Quote Tracking**: Monitor quote status and conversion rates
  - **Validity Management**: Set and track quote expiration dates
  - **Quote-to-Invoice**: Convert accepted quotes to invoices seamlessly

  ### **Receipt Management**
  - **Payment Recording**: Automatically record payments against invoices
  - **Multiple Payment Methods**: Support various payment types (cash, bank transfer, cards, etc.)
  - **Reconciliation**: Match receipts with outstanding invoices
  - **Payment Tracking**: Maintain complete payment history
  - **Flexible Input**: Handle custom payment methods when API data is unavailable

  ### **Business Workflow Examples**
  - **E-commerce Integration**: Auto-generate invoices from online orders
  - **Subscription Billing**: Create recurring invoices for subscription services
  - **Payment Processing**: Record payments and update invoice status automatically
  - **Financial Reporting**: Extract sales data for accounting and reporting systems
  - **Customer Communication**: Trigger email notifications for invoices and receipts

  ## 💼 Uses of Purchase Operations

  The Purchase module in LEDGERS node is designed for comprehensive procurement management and supplier transaction handling:

  ### **Purchase Invoice Management**
  - **Supplier Billing**: Create and manage supplier invoices with detailed item tracking
  - **Multi-item Purchasing**: Handle complex purchases with multiple products/services
  - **Tax Management**: Automatic tax calculations with various tax types and rates
  - **Supplier Integration**: Link purchase invoices directly to supplier contact records
  - **Export/Import Handling**: Specialized support for international trade documentation

  ### **Voucher Management System**
  - **Expense Vouchers**: Record business expenses with single or multiple expense heads
  - **Payment Vouchers**: Track supplier payments with automatic invoice reconciliation
  - **Salary Vouchers**: Process employee salaries with detailed breakdown (PF, ESI, TDS, etc.)
  - **Multi-currency Support**: Handle vouchers in different currencies for international operations

  ### **Advanced Purchase Features**
  - **Specialized Supply Types**: Handle different supply categories with appropriate tax treatment
  - **Address Management**: Separate billing and shipping addresses for complex procurement
  - **Reconciliation System**: Automatically match payments with outstanding purchase invoices
  - **Date Range Filtering**: Advanced filtering for better procurement tracking and reporting

  ### **Business Workflow Examples**
  - **Procurement Automation**: Auto-create purchase invoices from supplier orders
  - **Expense Management**: Systematically record and categorize business expenses
  - **Payroll Processing**: Automate salary payments with detailed tax and deduction calculations
  - **Supplier Payment Tracking**: Monitor payment status and reconcile supplier accounts
  - **Financial Compliance**: Maintain proper documentation for tax and audit requirements

  ---

  ## 🔐 Credentials

  To authenticate with the LEDGERS API, you must provide the following:

  * **X-API-Key** – [Get your API Key from LEDGERS](https://ledgers.cloud/in/n8n/)
  * **Email** – Your registered LEDGERS account email
  * **Password** – Your LEDGERS account password
  * **API URL** – Your LEDGERS API endpoint (e.g., https://in-api.ledgers.cloud for India)

  > ⚠️ The node performs a login to retrieve an `api_token`, which is used in all subsequent API requests. If login fails, the node will return the appropriate error message from the API.

  ---

  ## 🚀 Upcoming Release

  ### **LEDGERS Triggers**
  - **Real-time Webhooks**: Listen to events from LEDGERS platform
  - **Event-driven Workflows**: Automate based on contact, invoice, and catalog changes
  - **Multi-region Support**: Triggers for both India and UAE operations

  ### **UAE HRMS Operations**
  - **UAE HRMS Operations**: Add, Update, List and Get Employee
  - **Multi-region Workflows**: Handle both India and UAE operations in single workflows
  - **Localization**: UAE-specific HRMS rules and features

  ---

  ## ✅ Compatibility

  | Feature             | Status        |
  | ------------------- | ------------- |
  | n8n v1.89.0+        | ✅ Supported   |
  | Credential Test     | ✅ Implemented |
  | Auto Token Handling | ✅ Implemented |
  | Continue On Fail    | ✅ Supported   |
  | Date Range Validation| ✅ Implemented |
  | Advanced Numeric Validation| ✅ Implemented |
  | Receipt Operations  | ✅ Implemented |
  | Payment Method Fallback| ✅ Implemented |
  | Invoice Reconciliation| ✅ Implemented |
  | Purchase Operations | ✅ Implemented |
  | Voucher Management  | ✅ Implemented |
  | Multi-Currency Support| ✅ Implemented |
  | Specialized Supply Types| ✅ Implemented |
  | Export Documentation| ✅ Implemented |
  | HRMS Operations     | ✅ Implemented |
  | Banking Operations  | ✅ Implemented |
  | ICICI & Axis Bank   | ✅ Implemented |
  | UAE Contact Operations| ✅ Implemented |
  | UAE Catalog Operations| ✅ Implemented |
  | UAE Sales Operations| ✅ Implemented |
  | UAE Purchase Operations| ✅ Implemented |

  ---

  ## 🚀 Usage Examples

  ### Create a Contact
  1. Select **Contact** as resource
  2. Choose **Create Contact** operation
  3. Provide contact name and optional details
  4. Add billing/shipping addresses if needed

  ### Create an Invoice
  1. Select **Sales** as resource
  2. Choose **Create Invoice** operation
  3. Provide contact details
  4. Add items with required fields (name, ID, rate, quantity, etc.)
  5. Set seller branch ID and optional fields

  ### Create a Receipt
  1. Select **Sales** as resource
  2. Choose **Create Receipt** operation
  3. Provide contact details and amount
  4. Select payment method (with automatic fallback to custom input if API fails)
  5. Set seller ID and expense type (COA ID)
  6. Add optional fields like transaction number, reconciliation details

  ### List Invoices with Filters
  1. Select **Sales** as resource
  2. Choose **List Invoices** operation
  3. Set page number and page size
  4. Add filters (date range, payment status, contact ID)

  ### List Receipts with Filters
  1. Select **Sales** as resource
  2. Choose **List Receipts** operation
  3. Set page number and page size
  4. Add filters (date range, reconcile status, contact ID)

  ### Create a Purchase Invoice
  1. Select **Purchase** as resource
  2. Choose **Create Purchase Invoice** operation
  3. Provide purchase number, dates, and supplier contact details
  4. Add items with required fields (name, rate, quantity, tax details)
  5. Set billing and shipping addresses
  6. Configure additional fields for specialized supplies or export details

  ### Create an Expense Voucher
  1. Select **Purchase** as resource
  2. Choose **Create Voucher** operation
  3. Select **Expense Voucher** as voucher type
  4. Choose between single expense or multiple expenses
  5. Provide expense details, amounts, and tax information
  6. Set branch ID and payment details

  ### Create a Salary Voucher
  1. Select **Purchase** as resource
  2. Choose **Create Voucher** operation
  3. Select **Salary Voucher** as voucher type
  4. Provide employee details and salary month (MM-YYYY format)
  5. Add salary amount and detailed breakdown (PF, ESI, TDS, etc.)
  6. Configure additional salary details as needed

  ### List Purchase Invoices with Filters
  1. Select **Purchase** as resource
  2. Choose **List Purchase Invoices** operation
  3. Set page size and filters (date range, payment status)
  4. Configure ordering options (order by, order column)

  ### Get Bank Statement
  1. Select **Banking** as resource
  2. Choose **Get Bank Statement** operation
  3. Select bank (ICICI or Axis Bank)
  4. Choose account from dropdown (requires connected banking setup)
  5. Set date range for statement period
  6. **Note**: Connected banking must be configured in LEDGERS platform

  ### Create a Catalog Item
  1. Select **Catalog** as resource
  2. Choose **Create Catalog** operation
  3. Provide catalog name, price, type, and item type
  4. Add optional fields like GST rate, units, SKU

  ---

  ## ⚠️ Validation Rules

  ### Date Range Filtering
  - When using date range filters in List Invoices, List Quotes, or List Receipts, **both Date From and Date To must be provided**
  - If only one date is provided, the operation will fail with a validation error

  ### Advanced Numeric Validation (Sales & Purchase Operations)
  - **PID (Item ID)**: Must be an integer greater than 0 (not zero or negative)
  - **Variant ID**: Must be an integer greater than 0 (not zero or negative)
  - **Rate**: Must be an integer >= 0 and not empty
  - **Taxable Per Item/Amount**: Must be an integer >= 0 and not empty
  - **Non-Taxable Per Item/Amount**: Must be an integer >= 0 and not empty
  - **Business Logic**: Taxable amount cannot exceed the rate
  - **Business Logic**: Non-taxable amount cannot exceed the rate
  - **Contact Validation**: Contact Name and Contact ID are required for Invoice, Quote, and Purchase Invoice operations

  ### Required Fields
  - **Sales Operations**: Invoice/Quote items require name, ID, variant ID, rate, quantity, item type, HSN/SAC code, taxable amount, GST rate
  - **Purchase Operations**: Purchase invoice items require item_name, item_code, pid, vid, rate, quantity, item_type, taxable_amount, non_taxable_amount, gst_rate
  - **Receipt Operations**: Contact details, amount, payment method, and expense type (COA ID)
  - **Catalog Operations**: Name, price, type, and item type
  - **Voucher Operations**: Voucher type, branch ID, payment date, and type-specific fields
  - **HRMS Operations**: Name, branch, date of join, personal mobile, office email, date of birth, gender are required for adding employees

  ### Payment Method Handling
  - Payment methods are loaded from the LEDGERS API when available
  - If the API fails or returns no data, users can type custom payment method values
  - This ensures receipts can always be created even when the payment methods API is unavailable

  ### Receipt Operations Features
  - **Flexible Payment Methods**: Automatic fallback to custom input when API is unavailable
  - **Seller Information**: Automatic branch data fetching and inclusion in receipts
  - **Invoice Reconciliation**: Support for reconciling receipts against existing invoices
  - **Transaction Tracking**: Optional transaction number field for payment reference
  - **Multiple Address Types**: Support for both billing and shipping addresses
  - **Notification Support**: Option to send receipt notifications

  ### Purchase Operations Features
  - **Voucher Type Validation**: Different validation rules apply based on voucher type (Expense, Payment, Salary)
  - **Multiple Expense Handling**: Expense vouchers support both single and multiple expense head entries
  - **Salary Month Format**: Salary vouchers require MM-YYYY format for salary month field
  - **Reconciliation Support**: Payment vouchers can reconcile against existing purchase invoices
  - **Specialized Supply Types**: Purchase invoices support different supply categories with appropriate tax handling
  - **Export Documentation**: Support for export bill numbers, dates, and port codes for international trade
  - **Currency Validation**: Multi-currency support with proper currency code validation
  - **Address Synchronization**: Option to use billing address for shipping when addresses are the same

  ---

  ## 🔄 Error Handling & Continue On Fail

  This node supports **"Continue On Fail"**, meaning:

  * If one item fails (e.g., due to an invalid ID or missing required field), it logs the error and continues processing the rest of the items.
  * If disabled, the node stops execution upon the first error.
  * Validation errors are clearly communicated with specific error messages.

  You can enable this in the node's settings under the **"Continue On Fail"** option.

  ---

  ## 📚 Resources

  * [n8n Community Node Docs](https://docs.n8n.io/integrations/community-nodes/)
  * [LEDGERS Website](https://ledgers.cloud/in/n8n/)
  * [LEDGERS API Documentation](https://ledgers.readme.io/reference/authentication)

  ---

  ## 🕒 Version History

  | Version | Changes                                                                          |
  | ------- | ---------------------------------------------------------------------------------|
  | 0.0.1   | Stable Release of LEDGERS Custom Node under N8N                                  |
  | 0.0.2   | Logo Rename for Linux OS                                                         |
  | 0.0.3   | Catalog Operations Release with updates in Contact Operations                    |
  | 0.0.4   | No code changes. Only updated package-lock.json to match npm registry state      |
  | 0.0.5   | No code changes. Logo File Updated with Better Resolution                        |
  | 0.0.6   | No code changes. Final Logo File Updated with Better Resolution                  |
  | 0.0.7   | Sales Operations like Invoice, Quotes and Receipt Release with enhanced features |
  | 0.0.8   | Purchase Operations Release with Purchase Invoices, Vouchers, and advanced features |
  | 0.0.9   | HRMS operations and Enhanced Validations for Sales and Purchase Operations |
  | 0.0.10  | Banking Operation to Retrieve connected banking account statements in LEDGERS and Opening Balance in Create and Update Contact |
  | 0.0.11  | Enhanced Contact Operations with multiple billing/shipping addresses, tax field mapping, currency support, and multi-region API support (India & UAE) |
  | 0.0.12  | In Catalog Operations Units List Updated as per Document |
  | 0.0.13  | Tax Rate Updates, Contact Inputs Name Update and Payment Mode Bug Fix |
  | 0.0.14  | Tax Rates Updated for India |
  | 0.0.15  | Removed HSN/SAC code function, made HSN/SAC manual input required, fixed hardcoded API credentials, updated deprecated IRequestOptions to IHttpRequestOptions, and added pairedItem for data provenance |
  | 0.0.16  | Removed HSN/SAC code required in Update Catalog |
  | 0.0.17  | HSN/SAC Bug Fix in Front end of Catalog Operations and Back end |
  | 0.0.18  | Sales Operation released for UAE |
  | 0.0.19  | Purchase Operations released for UAE (except salary vouchers). Common Operations released for Both India and UAE. Removed Bank Operations to optimize |

  ---

  Maintained by the [LEDGERS.cloud](https://ledgers.cloud/) team.

ai_documentation_summary:
  {"purpose":"Connect n8n workflows to the LEDGERS cloud platform to automate business operations such as contacts, catalogs, invoicing, receipts, purchases, HRMS and banking data retrieval.","capabilities":["LEDGERS webhook trigger to listen for real-time events","Contacts: create, update, get, list (with pagination/search), add/update addresses (billing/shipping)","Catalogs: create, update, get, list (with pagination/search), add/update variants","Sales: create/view/list invoices, create/view/list quotes, create/view/list receipts","Purchase: create/view/list purchase invoices, create/view/list vouchers","HRMS: add employee, update employee, get employee by GID, list employees (pagination/search/filtering)","Banking: retrieve bank statements with dynamic account selection and date-range filtering (supports ICICI Bank and Axis Bank)","Validation and region-specific mappings (mobile validation, GSTIN/TRN support for India/UAE)","Support for bulk operations, filtering, pagination and search across many endpoints"],"authentication":"Not specified in README","commonUseCases":["Automate invoice and receipt generation from e-commerce orders or other systems","Sync contacts and customer data between LEDGERS and CRM/ERP systems","Manage catalogs and inventory updates automatically (including variants)","Automate purchase-to-pay flows: create supplier invoices and vouchers","Employee record automation and HR integrations (add/update employees)"],"limitations":["Authentication method not documented in the README","Bank statement retrieval limited to ICICI Bank and Axis Bank and requires connected banking in LEDGERS","Region-specific support called out for India and UAE only (field mappings like GSTIN/TRN); other regions not mentioned","README is truncated and does not list rate limits, error handling, or credentials/permissions details"],"relatedNodes":[]}


node_type: n8n-nodes-apex.apex
package_name: n8n-nodes-apex
display_name: Apex
description: Manage your social media via Apex.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: xonack
author_github_url: https://github.com/xonack/
npm_package_name: n8n-nodes-apex
npm_version: 0.1.6
community_fetched_at: 2026-02-19T14:41:52.399Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "getTweet",
      "options": [
        {
          "name": "Generate Reply",
          "value": "generateReply"
        },
        {
          "name": "Get Tweet",
          "value": "getTweet"
        },
        {
          "name": "Post Reply",
          "value": "postReply"
        },
        {
          "name": "Post Tweet",
          "value": "postTweet"
        },
        {
          "name": "Search Tweet",
          "value": "searchTweets"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTweetById",
      "options": [
        {
          "name": "Get Tweet by ID",
          "value": "getTweetById",
          "action": "Get tweet by id",
          "routing": {
            "request": {
              "url": "=/apex/tweet/{{$parameter[\"tweetId\"]}}/details",
              "method": "GET"
            }
          },
          "description": "Get tweet by ID (found in the URL)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "getTweet"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "postTweet",
      "options": [
        {
          "name": "Tweet",
          "value": "postTweet",
          "action": "Post tweet",
          "routing": {
            "request": {
              "url": "=/apex/tweet",
              "method": "POST"
            }
          },
          "description": "Post tweet to your profile"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "postTweet"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "postReply",
      "options": [
        {
          "name": "Post Reply",
          "value": "postReply",
          "action": "Post reply to tweet",
          "routing": {
            "request": {
              "url": "=/apex/tweet/{{$parameter[\"tweetId\"]}}/reply",
              "method": "POST"
            }
          },
          "description": "Post reply to tweet (by ID)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "postReply"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateReplyToTweetId",
      "options": [
        {
          "name": "Generate Reply to Tweet",
          "value": "generateReplyToTweetId",
          "action": "Generate reply to tweet id",
          "routing": {
            "request": {
              "url": "=/apex/tweet/{{$parameter[\"tweetId\"]}}/reply",
              "method": "GET"
            }
          },
          "description": "Generate reply to tweet ID"
        },
        {
          "name": "Generate Reply to Text",
          "value": "generateReplyToText",
          "action": "Generate reply to text string",
          "routing": {
            "request": {
              "url": "=/apex/reply",
              "method": "GET"
            }
          },
          "description": "Generate reply to text string"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "generateReply"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "searchTweets",
      "options": [
        {
          "name": "Search Tweets",
          "value": "searchTweets",
          "action": "Search tweets",
          "routing": {
            "request": {
              "url": "=/apex/tweet/search",
              "method": "GET"
            }
          },
          "description": "Search tweet based keywords (& filters)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "searchTweets"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Tweet by ID",
      "value": "getTweetById",
      "action": "Get tweet by id",
      "routing": {
        "request": {
          "url": "=/apex/tweet/{{$parameter[\"tweetId\"]}}/details",
          "method": "GET"
        }
      },
      "description": "Get tweet by ID (found in the URL)"
    },
    {
      "name": "Tweet",
      "value": "postTweet",
      "action": "Post tweet",
      "routing": {
        "request": {
          "url": "=/apex/tweet",
          "method": "POST"
        }
      },
      "description": "Post tweet to your profile"
    },
    {
      "name": "Post Reply",
      "value": "postReply",
      "action": "Post reply to tweet",
      "routing": {
        "request": {
          "url": "=/apex/tweet/{{$parameter[\"tweetId\"]}}/reply",
          "method": "POST"
        }
      },
      "description": "Post reply to tweet (by ID)"
    },
    {
      "name": "Generate Reply to Tweet",
      "value": "generateReplyToTweetId",
      "action": "Generate reply to tweet id",
      "routing": {
        "request": {
          "url": "=/apex/tweet/{{$parameter[\"tweetId\"]}}/reply",
          "method": "GET"
        }
      },
      "description": "Generate reply to tweet ID"
    },
    {
      "name": "Generate Reply to Text",
      "value": "generateReplyToText",
      "action": "Generate reply to text string",
      "routing": {
        "request": {
          "url": "=/apex/reply",
          "method": "GET"
        }
      },
      "description": "Generate reply to text string"
    },
    {
      "name": "Search Tweets",
      "value": "searchTweets",
      "action": "Search tweets",
      "routing": {
        "request": {
          "url": "=/apex/tweet/search",
          "method": "GET"
        }
      },
      "description": "Search tweet based keywords (& filters)"
    }
  ]

npm_readme:
  # n8n-nodes-apex

  Apex provides social media infrastructure that lets you manage your X (Twitter) account fully with a single API Key.

  * Get unlimited data
  * Generate quality content
  * Post bangers

  This is an n8n community node for Apex, allowing you to manage X (Twitter) in your n8n workflows.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)
  [Resources](#resources)  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  This node supports the following operations for X (Twitter):
  *   Get Tweet
  *   Search Tweets
  *   Generate Reply
  *   Post Tweet
  *   Post Reply

  ## Credentials

  To use this node, you need to authenticate with Apex.
  1.  Create an account at [Apex](https://apexagents.ai/).
  2.  Request an API Key from within your Apex account (support chat on bottom right).
  3.  Use this API Key in the Apex credentials configuration in n8n.

  ## Compatibility

  This node was built against n8n version `1.82.0` and should be compatible with n8n running Node.js version 20 or higher.

  ## Resources

  * [Apex API](https://apex-backend-435707161213.us-west1.run.app/)
  * [Apex Homepage](https://apexagents.ai/)
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

  ## License

  [MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides an n8n community node that lets workflows manage a Twitter (X) account via the Apex API — fetch and search tweets, generate reply content, and post tweets/replies.","capabilities":["Get Tweet","Search Tweets","Generate Reply (AI-generated content)","Post Tweet","Post Reply"],"authentication":"API key required (Apex account API Key obtained from your Apex account/support)","commonUseCases":["Automatically generate and post tweets from prompts or content templates","Generate AI-crafted replies and post them as replies to tweets","Search tweets by keyword or criteria for monitoring and automated workflows","Fetch specific tweet data for processing, analytics, or downstream actions","Integrate tweet content generation into broader automation pipelines"],"limitations":["Supports only the listed operations (Get Tweet, Search Tweets, Generate Reply, Post Tweet, Post Reply); other Twitter actions (delete, retweet, like, follow, streaming) are not mentioned","Requires an Apex account and API key (API key must be requested via Apex support chat)","No explicit rate limit, error handling, or retry behavior documented in the README","Community node (not an official n8n core integration); built against n8n v1.82.0 and targets Node.js v20+, compatibility with other versions not guaranteed"],"relatedNodes":["Twitter (X) / Twitter nodes","HTTP Request","Function / Function Item","Webhook"]}


node_type: n8n-nodes-inoreader.inoreader
package_name: n8n-nodes-inoreader
display_name: Inoreader
description: Interact with the Inoreader API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: jacketbg
author_github_url: https://github.com/Jacketbg/n8n-node-inoreader.git
npm_package_name: n8n-nodes-inoreader
npm_version: 1.0.5
community_fetched_at: 2026-02-19T14:41:52.402Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "article",
      "options": [
        {
          "name": "Article",
          "value": "article"
        },
        {
          "name": "Feed",
          "value": "feed"
        },
        {
          "name": "Tag",
          "value": "tag"
        },
        {
          "name": "Folder",
          "value": "folder"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getFromFeed",
      "options": [
        {
          "name": "Add Tag",
          "value": "addToTag",
          "action": "Add tag to article",
          "description": "Add a tag to an article"
        },
        {
          "name": "Add to Read Later",
          "value": "addToReadLater",
          "action": "Add article to read later",
          "description": "Add an article to the Read later section"
        },
        {
          "name": "Create in Read Later",
          "value": "saveToReadLater",
          "action": "Create new article in read later",
          "description": "Create external article and save to the Read later section"
        },
        {
          "name": "Create in Tag",
          "value": "saveToTag",
          "action": "Create new article in a specific tag",
          "description": "Create external article and save to a specific tag"
        },
        {
          "name": "Get Many From Feed",
          "value": "getFromFeed",
          "action": "Get many articles from feed",
          "description": "Get articles from a specific feed"
        },
        {
          "name": "Get Many From Folder",
          "value": "getFromFolder",
          "action": "Get many articles from folder",
          "description": "Get articles from a specific folder"
        },
        {
          "name": "Get Many From Read Later",
          "value": "getFromReadLater",
          "action": "Get many articles from read later",
          "description": "Get articles from the Read later section"
        },
        {
          "name": "Get Many From Tag",
          "value": "getFromTag",
          "action": "Get many articles from tag",
          "description": "Get articles from a specific tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "article"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllFeeds",
      "options": [
        {
          "name": "Get All Feeds",
          "value": "getAllFeeds",
          "action": "Get all feeds in user account",
          "description": "Get all feeds from the user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "feed"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllTags",
      "options": [
        {
          "name": "Get All Tags",
          "value": "getAllTags",
          "action": "Get all tags in user account",
          "description": "Get all tags from the user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllFolders",
      "options": [
        {
          "name": "Get All Folders",
          "value": "getAllFolders",
          "action": "Get all folders in user account",
          "description": "Get all folders from the user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Add Tag",
      "value": "addToTag",
      "action": "Add tag to article",
      "description": "Add a tag to an article"
    },
    {
      "name": "Add to Read Later",
      "value": "addToReadLater",
      "action": "Add article to read later",
      "description": "Add an article to the Read later section"
    },
    {
      "name": "Create in Read Later",
      "value": "saveToReadLater",
      "action": "Create new article in read later",
      "description": "Create external article and save to the Read later section"
    },
    {
      "name": "Create in Tag",
      "value": "saveToTag",
      "action": "Create new article in a specific tag",
      "description": "Create external article and save to a specific tag"
    },
    {
      "name": "Get Many From Feed",
      "value": "getFromFeed",
      "action": "Get many articles from feed",
      "description": "Get articles from a specific feed"
    },
    {
      "name": "Get Many From Folder",
      "value": "getFromFolder",
      "action": "Get many articles from folder",
      "description": "Get articles from a specific folder"
    },
    {
      "name": "Get Many From Read Later",
      "value": "getFromReadLater",
      "action": "Get many articles from read later",
      "description": "Get articles from the Read later section"
    },
    {
      "name": "Get Many From Tag",
      "value": "getFromTag",
      "action": "Get many articles from tag",
      "description": "Get articles from a specific tag"
    },
    {
      "name": "Get All Feeds",
      "value": "getAllFeeds",
      "action": "Get all feeds in user account",
      "description": "Get all feeds from the user"
    },
    {
      "name": "Get All Tags",
      "value": "getAllTags",
      "action": "Get all tags in user account",
      "description": "Get all tags from the user"
    },
    {
      "name": "Get All Folders",
      "value": "getAllFolders",
      "action": "Get all folders in user account",
      "description": "Get all folders from the user"
    }
  ]

npm_readme:
  # n8n-nodes-inoreader

  This is an n8n community node. It lets you use **Inoreader** in your n8n workflows.

  Inoreader is a powerful content aggregator and RSS reader platform that lets you monitor, organize, and automate the flow of articles, feeds, and web content. Stay ahead with real-time updates from your favorite websites, blogs, newsletters, and social media – all in one customizable, distraction-free space.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Resources](#resources)  

  ---

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ---

  ## Operations

  This node supports the following operations:

  ### Trigger (Inoreader Trigger node)
  - New article in feed
  - New article in folder
  - New article in "Read later" section

  ### Actions (Inoreader node)
  - Create new article in "Read later" section
  - Create new article in a tag
  - Get many articles from feed
  - Get many articles from folder
  - Get many articles from tag
  - Get many articles from "Read later"
  - Assign tag to article
  - Assign "Read later" flag to article
  - Get all feeds
  - Get all tags
  - Get all folders

  ---

  ## Credentials

  To use this node, you need an **Inoreader app** and OAuth2 credentials:

  1. Sign up at [Inoreader](https://www.inoreader.com/) if you haven’t already. 
  2. Go to the [Inoreader Developer Console](https://www.inoreader.com/preferences/other) and create an app. This requires an Inoreader Pro plan.
  3. Copy your **App ID** and **App Key**.
  4. In n8n, add new credentials of type **Inoreader OAuth2 API**, and enter your App ID and App Key.
  5. Click **Connect** and authorize n8n to access your Inoreader account.

  Tokens are managed automatically, and refresh tokens are supported.

  ---

  ## Compatibility

  - **Minimum n8n version:** 1.0.0
  - **Tested with:** n8n 1.43.0 and above
  - May not work on legacy n8n versions prior to v1 due to changes in trigger handling and credentials.

  ---

  ## Usage

  - Add the **Inoreader Trigger** node to start a workflow when a new article appears in a feed, folder, or "Read later".
  - Use the **Inoreader** node to execute actions like tagging articles or saving external HTML content as new articles in Inoreader

  For general help with n8n, see [Try it out](https://docs.n8n.io/try-it-out/).

  ---

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Inoreader Developer Documentation](https://www.inoreader.com/developers/)
  * [Inoreader](https://www.inoreader.com/)

  ---

ai_documentation_summary:
  {"purpose":"Provides n8n nodes to monitor and interact with Inoreader: trigger workflows on new articles and perform actions such as saving, tagging, and retrieving feeds/tags/folders.","capabilities":["Trigger: new article in feed","Trigger: new article in folder","Trigger: new article in 'Read later' section","Create new article in 'Read later' section","Create new article in a tag","Get many articles from a feed","Get many articles from a folder","Get many articles from a tag","Get many articles from 'Read later'","Assign tag to an article"],"authentication":"OAuth2 (Inoreader App ID and App Key required; use 'Inoreader OAuth2 API' credentials; tokens and refresh tokens handled automatically)","commonUseCases":["Start workflows when new articles arrive in a feed, folder, or 'Read later' list","Automatically tag incoming articles for categorization or routing","Save articles or external HTML content to the user's 'Read later' section","Aggregate and fetch many articles from feeds/folders/tags for processing or downstream automation","Sync or mirror folder/tag structures and feed lists from Inoreader into other systems"],"limitations":["Creating an Inoreader app requires an Inoreader Pro plan (to obtain App ID and App Key)","May not work on legacy n8n versions prior to v1 due to trigger handling and credential changes","Community node (not official core node) — support and updates depend on community maintenance"],"relatedNodes":["Inoreader Trigger","Inoreader (actions) node","Inoreader OAuth2 API (credential type)"]}


node_type: n8n-nodes-assemblyai.assemblyAi
package_name: n8n-nodes-assemblyai
display_name: AssemblyAI
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: gsharp-assemblyai
author_github_url: https://github.com/gsharp-aai/
npm_package_name: n8n-nodes-assemblyai
npm_version: 0.2.0
community_fetched_at: 2026-02-19T14:41:52.403Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Transcribe audio and video files using AssemblyAI's speech-to-text and speech understanding AI models.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "transcript",
      "options": [
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "LeMUR (Deprecated)",
          "value": "lemur",
          "description": "LeMUR is deprecated. Please use LLM Gateway instead."
        },
        {
          "name": "LLM Gateway",
          "value": "llm_gateway"
        },
        {
          "name": "Transcript",
          "value": "transcript"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload a file",
          "description": "Upload a media file to AssemblyAI"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a transcription",
          "description": "Create a new transcription"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a transcription",
          "description": "Delete a transcription"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a transcription",
          "description": "Get a transcription by ID"
        },
        {
          "name": "Get Paragraphs",
          "value": "getParagraphs",
          "action": "Get paragraphs",
          "description": "Get paragraphs from transcription"
        },
        {
          "name": "Get Redacted Audio",
          "value": "getRedactedAudio",
          "action": "Get redacted audio",
          "description": "Get redacted audio URL"
        },
        {
          "name": "Get Sentences",
          "value": "getSentences",
          "action": "Get sentences",
          "description": "Get sentences from transcription"
        },
        {
          "name": "Get Subtitles",
          "value": "getSubtitles",
          "action": "Get subtitles",
          "description": "Get subtitles for a transcription"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List transcriptions",
          "description": "List all transcriptions"
        },
        {
          "name": "Word Search",
          "value": "wordSearch",
          "action": "Search words",
          "description": "Search for words in transcript"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transcript"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "summary",
      "options": [
        {
          "name": "Custom Task",
          "value": "task",
          "action": "Run custom task",
          "description": "Run a custom LeMUR task"
        },
        {
          "name": "Get Response",
          "value": "getResponse",
          "action": "Get LeMUR response",
          "description": "Get a LeMUR response by ID"
        },
        {
          "name": "Purge Data",
          "value": "purgeData",
          "action": "Purge LeMUR data",
          "description": "Delete LeMUR request data"
        },
        {
          "name": "Question & Answer",
          "value": "questionAnswer",
          "action": "Question and answer",
          "description": "Ask questions about your transcript"
        },
        {
          "name": "Summary",
          "value": "summary",
          "action": "Generate summary",
          "description": "Generate a summary using LeMUR"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "lemur"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "chatCompletion",
      "options": [
        {
          "name": "Chat Completion",
          "value": "chatCompletion",
          "action": "Chat completion",
          "description": "Send chat completion request to LLM"
        },
        {
          "name": "Speech Understanding",
          "value": "speechUnderstanding",
          "action": "Speech understanding",
          "description": "Process speech understanding task on existing transcript"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "llm_gateway"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload a file",
      "description": "Upload a media file to AssemblyAI"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a transcription",
      "description": "Create a new transcription"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a transcription",
      "description": "Delete a transcription"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a transcription",
      "description": "Get a transcription by ID"
    },
    {
      "name": "Get Paragraphs",
      "value": "getParagraphs",
      "action": "Get paragraphs",
      "description": "Get paragraphs from transcription"
    },
    {
      "name": "Get Redacted Audio",
      "value": "getRedactedAudio",
      "action": "Get redacted audio",
      "description": "Get redacted audio URL"
    },
    {
      "name": "Get Sentences",
      "value": "getSentences",
      "action": "Get sentences",
      "description": "Get sentences from transcription"
    },
    {
      "name": "Get Subtitles",
      "value": "getSubtitles",
      "action": "Get subtitles",
      "description": "Get subtitles for a transcription"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List transcriptions",
      "description": "List all transcriptions"
    },
    {
      "name": "Word Search",
      "value": "wordSearch",
      "action": "Search words",
      "description": "Search for words in transcript"
    },
    {
      "name": "Custom Task",
      "value": "task",
      "action": "Run custom task",
      "description": "Run a custom LeMUR task"
    },
    {
      "name": "Get Response",
      "value": "getResponse",
      "action": "Get LeMUR response",
      "description": "Get a LeMUR response by ID"
    },
    {
      "name": "Purge Data",
      "value": "purgeData",
      "action": "Purge LeMUR data",
      "description": "Delete LeMUR request data"
    },
    {
      "name": "Question & Answer",
      "value": "questionAnswer",
      "action": "Question and answer",
      "description": "Ask questions about your transcript"
    },
    {
      "name": "Summary",
      "value": "summary",
      "action": "Generate summary",
      "description": "Generate a summary using LeMUR"
    },
    {
      "name": "Chat Completion",
      "value": "chatCompletion",
      "action": "Chat completion",
      "description": "Send chat completion request to LLM"
    },
    {
      "name": "Speech Understanding",
      "value": "speechUnderstanding",
      "action": "Speech understanding",
      "description": "Process speech understanding task on existing transcript"
    }
  ]

npm_readme:
  # n8n-nodes-assemblyai
  <p align="center">
    <picture>
      <source media="(prefers-color-scheme: dark)" srcset="./images/AAI_Dark_Mode.svg">
      <source media="(prefers-color-scheme: light)" srcset="./images/AAI_Light_Mode.svg">
      <img src="./images/AAI_Light_Mode.svg" alt="AssemblyAI Logo">
    </picture>
  </p>
  <div align="center">

  [![npm version](https://badge.fury.io/js/n8n-nodes-assemblyai.svg)](https://www.npmjs.com/package/n8n-nodes-assemblyai)
  [![npm downloads](https://img.shields.io/npm/dm/n8n-nodes-assemblyai.svg)](https://www.npmjs.com/package/n8n-nodes-assemblyai)

  </div>

  This is an n8n community node. It lets you use [AssemblyAI](https://www.assemblyai.com/) in your n8n workflows.

  [AssemblyAI](https://www.assemblyai.com/) develops industry-leading Speech AI models for transcription and audio understanding, accessible through their API. It provides features like speaker diarization, sentiment analysis, entity detection, PII redaction, and LLM Gateway capabilities for processing transcripts with AI.

  ## Resources
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [AssemblyAI API reference](https://www.assemblyai.com/docs/api-reference)
  - [AssemblyAI API documentation](https://www.assemblyai.com/docs)
    - [AssemblyAI Speech-to-Text guide](https://www.assemblyai.com/docs/getting-started/transcribe-an-audio-file)
    - [AssemblyAI LLM Gateway guide](https://www.assemblyai.com/docs/llm-gateway/apply-llms-to-audio-files)
    - [AssemblyAI LeMUR guide](https://www.assemblyai.com/docs/lemur) - ⚠️ **Deprecated**: LeMUR is deprecated. Please use LLM Gateway instead.

  ## Quick links
  - [Installation](#installation)
  - [Credentials](#credentials)
  - [Operations](#operations)
  - [Development](#development)
  - [Support & Feedback](#support--feedback)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Credentials

  To use this node, you need an AssemblyAI API key.

  ### Prerequisites

  1. Sign up for a free account at [AssemblyAI](https://www.assemblyai.com/) and receive $50 in free credits.
  2. Navigate to your [API Keys page](https://www.assemblyai.com/dashboard/api-keys) in the dashboard.

  ### Setup in n8n

  1. In n8n, go to **Credentials** → **New**
  2. Search for **AssemblyAI API** and select it
  3. Enter your API key from the AssemblyAI dashboard
  4. Click **Save**

  Learn more about API keys in the [AssemblyAI documentation](https://www.assemblyai.com/docs/deployment/account-management#api-keys).

  ## Operations

  ### File ([API Reference](https://www.assemblyai.com/docs/api-reference/files/upload))

  - **Upload**: Upload a media file to AssemblyAI for transcription

  ### Transcript ([API Reference](https://www.assemblyai.com/docs/api-reference/transcripts/submit))

  - **Create**: Start a new transcription job with support for:
    - Language detection
    - Speaker diarization
    - PII redaction and profanity filtering
    - **Speech Understanding**:
      - Enable translation, speaker identification, and/or custom formatting during transcription
      - Keyterm prompting, punctuation, disfluencies, formatting, sentiment analysis, entity detection, chapterization, etc.
  - **Get**: Retrieve a transcription by ID
  - **Delete**: Delete a transcription
  - **List**: List all your transcriptions
  - **Get Sentences**: Get transcript broken into sentences
  - **Get Paragraphs**: Get transcript broken into paragraphs
  - **Get Subtitles**: Export subtitles in SRT or VTT format
  - **Get Redacted Audio**: Get redacted audio URL
  - **Word Search**: Search for specific words in the transcript

  ### LLM Gateway ([API Reference](https://www.assemblyai.com/docs/api-reference/llm-gateway/create-chat-completion))

  - **Chat Completion**: Send chat completion requests to LLMs (Claude, GPT, Gemini models). See [available models](https://www.assemblyai.com/docs/llm-gateway/overview#available-models).
  - **Speech Understanding**: Process speech understanding tasks on existing transcripts:
    - **Translation**: Translate transcripts into multiple languages
    - **Speaker Identification**: Identify speakers by name or role
    - **Custom Formatting**: Apply custom formatting to dates, phone numbers, and emails

  ### LeMUR

  ⚠️ **Deprecated**: LeMUR is deprecated. Please use LLM Gateway instead.

  - **Summary**: Generate AI summaries of transcripts
  - **Question & Answer**: Ask questions about your transcripts
  - **Custom Task**: Run custom AI tasks on transcripts
  - **Get Response**: Retrieve a LeMUR response by ID
  - **Purge Data**: Delete LeMUR request data

  ## Development

  To work on this node locally, clone the repository and install dependencies:

  ```bash
  git clone https://github.com/gsharp-aai/n8n-nodes-assemblyai.git
  cd n8n-nodes-assemblyai
  npm install
  ```

  Build and run with linting:

  ```bash
  npm run dev:fresh
  ```

  The node will be available in n8n at http://localhost:5678

  ## Support & Feedback

  Need help or have feedback? Reach out to [support@assemblyai.com](mailto:support@assemblyai.com).

  Stay up to date with the latest features and improvements:
  - [AssemblyAI Product Changelog](https://www.assemblyai.com/changelog)
  - [AssemblyAI Product Roadmap](https://assemblyai.com/roadmap)

  ## n8n
  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Transcribe audio and video files and apply AssemblyAI's speech understanding capabilities (speaker diarization, translation, entity detection, sentiment, etc.) and LLM-powered post-processing within n8n workflows. It exposes file upload, transcription management, subtitle/export, and LLM Gateway operations for further AI processing of transcripts.","capabilities":["Upload media files for transcription","Create transcription jobs with options for language detection","Speaker diarization (identify different speakers)","PII redaction and profanity filtering","Speech understanding features: translation, speaker identification, custom formatting, keyterm prompting, punctuation, disfluencies handling","Sentiment analysis, entity detection, chapterization","Retrieve, list, and delete transcripts by ID","Get transcript in sentence- or paragraph-level chunks","Export subtitles (SRT, VTT)","Get redacted audio URL"],"authentication":"API key required (AssemblyAI API key configured in n8n Credentials)","commonUseCases":["Automated transcription of meeting recordings, podcasts, and videos","Redacting sensitive PII from audio and producing redacted audio files","Speaker diarization and speaker identification for multi-speaker recordings","Generating summaries, Q&A, or other AI-driven analyses of transcripts via LLM Gateway","Translating transcripts or generating localized subtitles (SRT/VTT)"],"limitations":["LeMUR endpoints are deprecated — use LLM Gateway instead"],"relatedNodes":[]}


node_type: n8n-nodes-featherless.featherless
package_name: n8n-nodes-featherless
display_name: Featherless
description: Interact with Featherless API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs: "={{[\"main\"]}}"
updated_at: 2026-02-19 14:41:52
author_name: darinverheijke
author_github_url: https://github.com/featherlessai/
npm_package_name: n8n-nodes-featherless
npm_version: 0.1.6
community_fetched_at: 2026-02-19T14:41:52.404Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "chat",
      "options": [
        {
          "name": "Chat",
          "value": "chat",
          "action": "Send a chat message",
          "description": "Send a chat message"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Chat",
      "value": "chat",
      "action": "Send a chat message",
      "description": "Send a chat message"
    }
  ]

npm_readme:
  # n8n-nodes-featherless

  This is an n8n community node for Featherless API integration. It allows you to interact with various AI models through the Featherless AI platform directly from your n8n workflows.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Featherless](https://featherless.ai/) is a platform that provides access to over 10,000+ open-weight models through a unified API.

  ## Features

  - Interact with multiple AI models through a single node
  - Send chat messages to AI models
  - Customize model parameters such as temperature, max tokens, frequency penalty, and presence penalty
  - View truncated model descriptions in the model selector
  - Easy integration with n8n workflows

  ## Installation

  ### Community Node (Recommended)

  To install this node as a community node in n8n, follow these steps:

  1. Open your n8n instance
  2. Go to "Settings" > "Community Nodes"
  3. Select "Install"
  4. Enter `n8n-nodes-featherless` in the "Enter npm package name" field
  5. Agree to the risks of using community nodes (if prompted)
  6. Click "Install"

  After installation, the node will be available in the "Featherless" category in the node palette.

  ### Manual Installation (Advanced)

  If you prefer manual installation or are using a custom n8n setup:

  1. Open your n8n installation directory
  2. Navigate to the `nodes` subdirectory
  3. Run the following command:
     ```
     npm install n8n-nodes-featherless
     ```
  4. Restart your n8n instance

  **Note:** If you're using Docker or a server deployment, you may need to rebuild your container or restart your server for the changes to take effect.

  ### Troubleshooting

  If you encounter issues with the node not updating to new versions correctly or not displaying changes inside n8n, try the following:

  1. Clear your browser cache
  2. Restart your n8n instance
  3. If using Docker, rebuild and restart your container:
     ```
     docker-compose down
     docker-compose build
     docker-compose up -d
     ```
  4. For server deployments, restart the n8n service:
     ```
     sudo systemctl restart n8n
     ```

  ## Usage

  1. Add the Featherless node to your workflow
  2. Configure the Featherless API credentials (see Configuration section)
  3. Select the desired operation (currently only 'Chat' is available)
  4. Enter the model ID you want to use (click "View Available Models" button to see options)
  5. (Optional) Provide a system prompt to set the behavior of the AI
  6. Enter your message
  7. Adjust additional parameters as needed (temperature, max tokens, etc.)
  8. Execute the node to receive the AI's response

  ## Model Selection

  Enter the model ID directly in the "Model Name or ID" field. Use the "View Available Models" button next to the input field to open the [Featherless Models page](https://featherless.ai/models) in a new tab, where you can browse and copy the model IDs of available models.

  ## Configuration

  ### Featherless API Credentials

  To use this node, you need to set up Featherless API credentials:

  1. Sign up for an account at [Featherless](https://featherless.ai/)
  2. Generate an API key in your Featherless dashboard
  3. In n8n, create a new credential of type 'Featherless API'
  4. Enter your API key

  ### Node Parameters

  - **Operation**: Currently, only 'Chat' is available
  - **Model**: Enter the model ID you want to use (e.g., "meta-llama/Meta-Llama-3.1-8B-Instruct")
  - **System Prompt**: (Optional) Set the behavior or role of the AI assistant
  - **Message**: The user's input message to the AI
  - **Temperature**: Controls the randomness of the AI's output (0.0 to 1.0)
  - **Additional Fields**: 
    - **Frequency Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far.
    - **Max Tokens**: The maximum number of tokens to generate in the chat completion.
    - **Presence Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.
    - **Top P**: An alternative to sampling with temperature, called nucleus sampling. Top_p of 0.1 means only the tokens comprising the top 10% probability mass are considered.

  ## Examples

  ### Basic Chat Workflow

  1. Add a "Manual" trigger node
  2. Connect an Featherless node
  3. Configure the Featherless node:
     - Operation: Chat
     - Model: Enter a model ID (e.g., "deepseek-ai/DeepSeek-V3-0324")
     - Message: "Hello, can you explain what n8n is?"
  4. Execute the workflow
  5. The Featherless node will return the AI's response explaining n8n

  ### Dynamic System Prompt

  1. Start with a "Manual" trigger node
  2. Add a "Set" node to define a variable for the system prompt
  3. Connect a Featherless node
  4. Configure the Featherless node:
     - Operation: Chat
     - Model: Enter a model ID (use the "View Available Models" button to see options)
     - System Prompt: {{$node["Set"].json["systemPrompt"]}}
     - Message: "What's your primary function?"
  5. Execute the workflow
  6. The AI will respond based on the system prompt set in the "Set" node

  ## Support

  If you encounter any issues or have questions about this node, please [open an issue](https://github.com/darinverheijke/n8n-nodes-featherless/issues) on the GitHub repository.

  ## Contributing

  Contributions to improve this node are welcome. Please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

  ## License

  This project is licensed under the [MIT License](LICENSE.md).

  ## About n8n
  n8n is a free and open [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation tool. It can be self-hosted, easily extended, and used to automate workflows across various services and applications. n8n enables you to connect anything to everything.

  ## About Featherless
  Featherless AI is a serverless AI inference platform that offers access to over 10,000+ open-source models. Our goal is to make all AI models available for serverless inference. We provide inference via API to a continually expanding library of open-weight models.

  ## Changelog

  For a full list of changes, please refer to the [CHANGELOG.md](CHANGELOG.md) file.

ai_documentation_summary:
  {"purpose":"Provides an n8n node to interact with the Featherless AI API, enabling chat-based calls to thousands of open-weight models directly from n8n workflows.","capabilities":["Send chat messages (Chat operation) to Featherless models","Specify model by ID (supports any Featherless model ID)","Set system prompt to control assistant behavior","Adjust generation parameters: temperature, max tokens, frequency penalty, presence penalty, top_p","Open Featherless Models page from the node to browse available models","Integrate into n8n workflows and accept dynamic inputs (e.g., using values from other nodes)"],"authentication":"API key required (Featherless API credential configured in n8n)","commonUseCases":["Generate conversational responses from a chosen Featherless model","Use dynamic system prompts from other nodes to change assistant behavior","Integrate AI responses into automation workflows (content generation, explanations, assistants)","Switch between different open-weight models by ID for experiments or cost/quality tradeoffs"],"limitations":["Only a single operation is provided currently: 'Chat'","Model must be specified by entering its ID (node opens external Featherless Models page rather than offering an in-node model browser)","No other completion modes or model management features are exposed in the node (e.g., streaming, embeddings, file uploads) as described in the README"],"relatedNodes":["Manual Trigger","Set"]}


node_type: @langfuse/n8n-nodes-langfuse.langfuse
package_name: @langfuse/n8n-nodes-langfuse
display_name: Langfuse
description: Fetches a prompt from Langfuse Prompt Management
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: mdeichmann
author_github_url: https://github.com/langfuse/n8n-nodes-langfuse.git
npm_package_name: @langfuse/n8n-nodes-langfuse
npm_version: 0.2.3
community_fetched_at: 2026-02-19T14:41:52.405Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "prompt",
      "options": [
        {
          "name": "Prompt",
          "value": "prompt"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a prompt",
          "routing": {
            "request": {
              "url": "=/api/public/v2/prompts/{{$parameter[\"promptName\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve a prompt by name"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get a prompt",
      "routing": {
        "request": {
          "url": "=/api/public/v2/prompts/{{$parameter[\"promptName\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve a prompt by name"
    }
  ]

npm_readme:
  # n8n-nodes-langfuse

  This is an n8n community node. It lets you use Langfuse in your n8n workflows.

  [Langfuse](https://langfuse.com) is an open-source LLM engineering platform that provides observability, metrics, evaluations, prompt management and a playground.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Development](#development)  
  [Resources](#resources)

  ## Installation

  ### Self-hosted n8n

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ```bash
  npm install @langfuse/n8n-nodes-langfuse
  ```

  ### n8n Cloud

  This is a verified community node. Search for `Langfuse` to use this node in n8n Cloud.

  ## Operations

  ### Get Prompt

  This node can be used to get a prompt from [Langfuse Prompt Management](https://langfuse.com/docs/prompts).

  Steps

  1. Enter the `name` of the prompt
  2. Enter the `label` that identifies the prompt version that you want to fetch. Defaults to "production". Learn more about prompt labels in Langfuse [here](https://langfuse.com/docs/prompts/get-started#labels).

  _Example workflow that retrieves the system prompt for the agent from Langfuse:_

  ![n8n-changelog](https://github.com/user-attachments/assets/4d224c2f-86b6-4ad4-a64a-45c7fe6e3595)

  ## Credentials

  To use this node, you need to authenticate with Langfuse. You'll need:

  1. A Langfuse account, either [Langfuse Cloud](https://cloud.langfuse.com) or [self-hosted](https://langfuse.com/self-hosting).
  2. API credentials from your Langfuse project settings: hostname, public key, secret key

  ## Development

  ### Prerequisites

  You need the following installed on your development machine:

  - [git](https://git-scm.com/downloads)
  - Node.js and npm. Minimum version Node 20. You can find instructions on how to install both using nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
  - Install n8n with:
    ```
    npm install n8n -g
    ```
  - Recommended: follow n8n's guide to [set up your development environment](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/).

  ### Build new version

  ```bash
  npm run build
  npm link
  ```

  ### Test in local n8n

  ```bash
  cd ~/.n8n/custom
  npm link n8n-nodes-langfuse
  ```

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Langfuse documentation](https://langfuse.com/docs)
  - [Langfuse Prompt Management](https://langfuse.com/docs/prompts)

  ## License

  [MIT](https://github.com/langfuse/n8n-nodes-langfuse/blob/master/LICENSE.md)

ai_documentation_summary:
  {"purpose":"Retrieve prompts stored in Langfuse Prompt Management so they can be used inside n8n workflows (e.g., to supply system or user prompts to LLMs).","capabilities":["Get prompt by name from Langfuse Prompt Management","Specify prompt label/version to fetch (defaults to \"production\" if not provided)","Return the prompt content (and associated prompt version identified by the label) for use in workflows"],"authentication":"API credentials required (Langfuse project hostname plus public key and secret key)","commonUseCases":["Retrieve a system or agent prompt from Langfuse to feed into an LLM/agent node in a workflow","Use labeled prompt versions to control which prompt variant is used (e.g., production vs staging)","Centralize prompt management by fetching prompt text from Langfuse at runtime rather than hardcoding prompts"],"limitations":["Node only exposes a Get Prompt operation (no create/update/delete prompt management operations provided within this node)","Requires an existing Langfuse account and project credentials (hostname, public key, secret key) to operate"],"relatedNodes":[]}


node_type: n8n-nodes-digital-ocean.digitalOcean
package_name: n8n-nodes-digital-ocean
display_name: Digital Ocean
description: Digital Ocean
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: joff
author_github_url: https://github.com/joffcom/
npm_package_name: n8n-nodes-digital-ocean
npm_version: 0.4.1
community_fetched_at: 2026-02-19T14:41:52.406Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "account",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Domain",
          "value": "domain"
        },
        {
          "name": "Droplet",
          "value": "droplet"
        },
        {
          "name": "Event",
          "value": "event"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get account information",
          "description": "Get account information"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get event information",
          "description": "Get event information"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get information about many events",
          "description": "Get information about many events"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a domain",
          "description": "Create a domain"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get domain information",
          "description": "Get domain information"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get information about many domains",
          "description": "Get information about many domains"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a domain",
          "description": "Delete a domain"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domain"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Action",
          "value": "action",
          "action": "Perform an action on a droplet",
          "description": "Perform an action on a droplet"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new droplet",
          "description": "Create a new droplet"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a droplet",
          "description": "Delete a droplet"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get information about a droplet",
          "description": "Get information about a droplet"
        },
        {
          "name": "Get Backups",
          "value": "getBackups",
          "action": "Get all backups for a droplet",
          "description": "Get all backups for a droplet"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get information about all droplets",
          "description": "Get information about many droplets"
        },
        {
          "name": "Get Snapshots",
          "value": "getSnapshots",
          "action": "Get all snapshots for a droplet",
          "description": "Get all snapshots for a droplet"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "droplet"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get account information",
      "description": "Get account information"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get event information",
      "description": "Get event information"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get information about many events",
      "description": "Get information about many events"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a domain",
      "description": "Create a domain"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get domain information",
      "description": "Get domain information"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get information about many domains",
      "description": "Get information about many domains"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a domain",
      "description": "Delete a domain"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Action",
      "value": "action",
      "action": "Perform an action on a droplet",
      "description": "Perform an action on a droplet"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new droplet",
      "description": "Create a new droplet"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a droplet",
      "description": "Delete a droplet"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get information about a droplet",
      "description": "Get information about a droplet"
    },
    {
      "name": "Get Backups",
      "value": "getBackups",
      "action": "Get all backups for a droplet",
      "description": "Get all backups for a droplet"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get information about all droplets",
      "description": "Get information about many droplets"
    },
    {
      "name": "Get Snapshots",
      "value": "getSnapshots",
      "action": "Get all snapshots for a droplet",
      "description": "Get all snapshots for a droplet"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    }
  ]

npm_readme:
  # n8n-nodes-digital-ocean

  This is an n8n community node for connecting to Digital Oceans API to manage your droplets.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  <!-- delete if no auth needed -->  
  [Compatibility](#compatibility)  
  [Usage](#usage)  <!-- delete if not using this section -->  
  [Resources](#resources)  
  [Version history](#version-history)  <!-- delete if not using this section -->  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations
  - Account
  	- Get
  - Domain
  	- Create
  	- Get
  	- Get Many
  	- Delete
  - Droplet
  	- Get
  	- Get Many
  	- Create
  	- Delete
  - Event 
  	- Get
  	- Get Many

  ## Credentials

  This node supports both OAuth2 and Access Key.

  [OAuth 2](https://docs.digitalocean.com/reference/api/oauth/)
  [Access Key](https://docs.digitalocean.com/reference/api/create-personal-access-token/)

  ## Compatibility

  This node will work with any version of n8n after `1.62.1`

  ## Usage

  ### Authentication
  1. Create new credentials in n8n and select "Digital Ocean API"
  2. Choose either OAuth2 or Access Key authentication:
     - For OAuth2: Click the "Connect" button and authorize n8n
     - For Access Key: Generate a [personal access token](https://cloud.digitalocean.com/account/api/tokens) and paste it in

  ### Working with Droplets
  - To get information about a specific droplet:
    1. Add the Digital Ocean node
    2. Select "Droplet" as Resource
    3. Choose "Get" as Operation
    4. Enter the Droplet ID

  - To create a new droplet:
    1. Add the Digital Ocean node
    2. Select "Droplet" as Resource
    3. Choose "Create" as Operation
    4. Configure required fields:
       - Name
       - Region
       - Size
       - Image

  ### Managing Domains
  - To create a new domain:
    1. Add the Digital Ocean node
    2. Select "Domain" as Resource
    3. Choose "Create" as Operation
    4. Enter the domain name
    5. Optionally configure IP address

  ### Monitoring Events
  - To track operations on your account:
    1. Add the Digital Ocean node
    2. Select "Event" as Resource
    3. Choose "Get Many" as Operation
    4. Optionally filter by event type

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)

  ## Version history

  **0.4.1** \
  Fix descriptions

  **0.4.0** \
  Add support for AI tools
  Update documentation

  **0.3.0** \
  Prevent node from loading n8n again

  **0.2.0** \
  Add support for Application images  
  Add support for Actions as Events  
  Add support for Domains  
  Add support for Droplet actions  
  Add option to get Droplet Snapshots and Backups  

  **0.1.0** \
  Initial Release

ai_documentation_summary:
  {"purpose":"Connects n8n workflows to the DigitalOcean API to manage droplets, domains, account information, and events (monitoring and listing).","capabilities":["Account: Get account information","Domain: Create domain, Get domain, Get many (list) domains, Delete domain","Droplet: Create droplet (specify name, region, size, image), Get droplet, Get many (list) droplets, Delete droplet","Event: Get event, Get many (list/filter events by type)","Support for Droplet snapshots and backups","Support for Application images","Support for Droplet actions surfaced as Events"],"authentication":"Supports OAuth2 or Personal Access Token (Access Key / API key)","commonUseCases":["Create new Droplets with specified name, region, size, and image","Retrieve details for a specific Droplet or list all Droplets","Create, list, and delete DNS domains","Monitor account events and filter by event type","Fetch account information for billing or inventory workflows"],"limitations":["Requires n8n version >= 1.62.1 (per compatibility section)"],"relatedNodes":[]}


node_type: n8n-nodes-whatsable.whatsAble
package_name: n8n-nodes-whatsable
display_name: WhatsAble
description: Send & Schedule WhatsApp messages using the official WhatsApp API and have human/AI collaboration
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: whatsabledev
author_github_url: https://github.com/Whatsable/
npm_package_name: n8n-nodes-whatsable
npm_version: 2.4.4
community_fetched_at: 2026-02-19T14:41:52.408Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send Message",
          "value": "sendMessage"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendWhatsAppMessage",
      "options": [
        {
          "name": "Send WhatsApp Message",
          "value": "sendWhatsAppMessage",
          "action": "Send whatsapp message",
          "description": "Send WhatsApp messages immediately"
        },
        {
          "name": "Schedule WhatsApp Message",
          "value": "scheduleWhatsAppMessage",
          "action": "Schedule whatsapp message",
          "description": "Schedule WhatsApp messages for later delivery"
        },
        {
          "name": "Send WhatsApp Message to a Group",
          "value": "sendWhatsAppMessageToGroup",
          "action": "Send whatsapp message to a group",
          "description": "Send WhatsApp messages to a group"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sendMessage"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send WhatsApp Message",
      "value": "sendWhatsAppMessage",
      "action": "Send whatsapp message",
      "description": "Send WhatsApp messages immediately"
    },
    {
      "name": "Schedule WhatsApp Message",
      "value": "scheduleWhatsAppMessage",
      "action": "Schedule whatsapp message",
      "description": "Schedule WhatsApp messages for later delivery"
    },
    {
      "name": "Send WhatsApp Message to a Group",
      "value": "sendWhatsAppMessageToGroup",
      "action": "Send whatsapp message to a group",
      "description": "Send WhatsApp messages to a group"
    }
  ]

npm_readme:
  <p align="center">
    <img src="https://d1pnnwteuly8z3.cloudfront.net/images/acc1c175-2e05-4bab-805e-64536550fa04/393f0ca5-e904-41f3-8eee-b2dab6bd4e0d.png" alt="WhatsAble Logo" width="160"/>
  </p>

  [![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE.md)

  ## Table of Contents

  - [Overview](#overview)
  - [Installation](#installation)
  - [Authentication](#authentication)
  - [Features](#features)
  - [How to Use WhatsAble Action Node](#how-to-use-whatsable-action-node)
  - [How to Use WhatsAble Trigger Node](#how-to-use-whatsable-trigger-node)
  - [How to Use Notifier Action Node](#how-to-use-notifier-action-node)
  - [How to Use Notifier Trigger Node](#how-to-use-notifier-trigger-node)
  - [How to Use Notifyer System Action Node](#how-to-use-notifyer-system-action-node)
  - [How to Use Notifyer System Trigger Node](#how-to-use-notifyer-system-trigger-node)
  - [Common Use Cases](#common-use-cases)
  - [Best Practices](#best-practices)
  - [Support](#support)
  - [License](#license)
  - [Resources](#resources)

  ---

  # n8n-nodes-whatsable

  This is an [n8n](https://n8n.io/) community node for integrating with the WhatsAble Suite, providing powerful WhatsApp messaging automation capabilities.

  ---

  ## Overview

  The WhatsAble Suite offers a comprehensive set of messaging tools that integrate seamlessly with n8n, enabling powerful automation workflows for businesses of all sizes. The suite comprises three powerful messaging platforms:

  ### WhatsAble
  - Ideal for small businesses and startups
  - Simple integration with n8n
  - Basic media support
  - Subscription-based pricing
  - 7-day free trial
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ### Notifier by WhatsAble
  - Perfect for medium-sized businesses
  - Enhanced template support
  - Standard media capabilities
  - Flexible pricing options
  - Available free trial
  - [Documentation](https://docs.whatsable.app/guides/notifier/n8n)

  ### Notifyer System
  - Enterprise-grade solution
  - Advanced template capabilities
  - Full media support
  - Enterprise pricing
  - Try for free with 2 numbers
  - [Documentation](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ---

  ## Authentication

  To use this node, you need to have an API key from your chosen WhatsAble Suite platform:

  1. Sign up at [WhatsAble](https://whatsable.app)
  2. Choose your platform (WhatsAble, Notifier, or Notifyer System)
  3. Complete the verification process
  4. Generate an API key from your platform's dashboard

  > **Note:** Keep your API key secure and never share it publicly.

  ---

  ## Features

  ### WhatsAble Node
  - Send messages
  - Send template messages (Via Notifyer System)
  - Send non-template messages
  - Schedule messages
  - Support for various media types
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ### WhatsAble Trigger Node
  - Receive incoming messages
  - Handle webhooks
  - Process notifications
  - Real-time message triggers
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use WhatsAble Action Node

  ### Prerequisites
  - An active WhatsAble subscription
  - Access to n8n workflow automation platform
  - A verified WhatsApp number in your WhatsAble dashboard

  ### Setup Process

  1. **Subscribe to WhatsAble**
     - Log in to your WhatsAble dashboard
     - Click the Subscribe button
     - Start your 7-day free trial
     - Note: After trial, pricing is $8.99 per month per phone number
  2. **Add and Verify Phone Number**
     - Navigate to Verified Numbers in your dashboard
     - Click Add New Number
     - Enter your phone number (with country code)
     - Complete the WhatsApp verification process
     - Note: Only first number needs verification
  3. **Get Your API Key**
     - Go to API Keys in your WhatsAble dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your WhatsAble API key
     - Name your credential (e.g., "WhatsAble Production")
     - Click Save
  5. Configure message settings:
     - Select "Send Message (WhatsAble)" operation
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  For detailed documentation, visit [WhatsAble n8n Integration Guide](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use WhatsAble Trigger Node

  ### Prerequisites
  - An active WhatsAble subscription
  - Access to n8n workflow automation platform
  - A verified WhatsApp number in your WhatsAble dashboard

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the WhatsAble Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the WhatsAble Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your WhatsAble API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [WhatsAble n8n Integration Guide](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use Notifier Action Node

  ### Prerequisites
  - An active Notifier account (Monthly or Pay-as-you-go plan)
  - Access to n8n workflow automation platform
  - Business information ready for configuration

  ### Setup Process

  1. **Configure Business Information**
     - Log in to your Notifier dashboard
     - Navigate to Business Information
     - Complete required fields
     - Verify your WhatsApp number with the code sent
  2. **Get Your API Key**
     - Go to API Keys in your Notifier dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your Notifier API key
     - Name your credential (e.g., "Notifier Production")
     - Click Save
  5. Configure message settings:
     - Select "Send Message (Notifier)" operation
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  ### Example Workflows with Notifier
  - Lead Nurturing: Trigger on form submission, send personalized welcome, schedule follow-ups
  - Order Confirmations: Trigger on order status change, send update with details
  - Event Reminders: Trigger on calendar event, send reminder with RSVP link
  - Customer Feedback: Trigger on purchase, send feedback request
  - Support Ticket Updates: Trigger on ticket status change, send update

  For detailed documentation, visit [Notifier n8n Integration Guide](https://docs.whatsable.app/guides/notifier/n8n)

  ---

  ## How to Use Notifier Trigger Node

  ### Prerequisites
  - An active Notifier account
  - Access to n8n workflow automation platform
  - Business information configured in Notifier

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the Notifier Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the Notifier Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your Notifier API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [Notifier n8n Integration Guide](https://docs.whatsable.app/guides/notifier/n8n)

  ---

  ## How to Use Notifyer System Action Node

  ### Prerequisites
  - An active Notifyer System account
  - Access to n8n workflow automation platform
  - Completed WhatsApp Business Platform embedding process

  ### Setup Process

  1. **Complete Platform Embedding**
     - Connect your WhatsApp Business account
     - Complete Meta's business verification
     - Ensure compliance with WhatsApp Business Platform policies
  2. **Set Up Message Templates**
     - Navigate to Templates in your dashboard
     - Create new templates and submit for review
  3. **Get Your API Key**
     - Go to API Keys in your Notifyer dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your Notifyer System API key
     - Name your credential (e.g., "Notifyer System Production")
     - Click Save
  5. Configure message settings:
     - Choose between template and non-template message operations
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  ### Example Workflows with Notifyer System
  - Order Confirmations: Trigger on new order, send template message with details
  - Appointment Reminders: Trigger on calendar event, send template message
  - Lead Notifications: Trigger on new CRM lead, send non-template message
  - Customer Support: Trigger on new support ticket, send template message
  - Delivery Updates: Trigger on shipping status change, send template message

  For detailed documentation, visit [Notifyer System n8n Integration Guide](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## How to Use Notifyer System Trigger Node

  ### Prerequisites
  - An active Notifyer System account
  - Access to n8n workflow automation platform
  - Completed WhatsApp Business Platform embedding process

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the Notifyer System Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the Notifyer System Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your Notifyer System API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [Notifyer System n8n Integration Guide](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## Common Use Cases

  - Lead Qualification: Automated follow-up, lead scoring, response tracking
  - Order Notifications: Confirmations, shipping updates, delivery notifications
  - Appointment Reminders: Automated reminders, confirmations, calendar integration
  - Customer Support: Ticket routing, automated responses, support updates
  - Payment Reminders: Invoice notifications, payment confirmations, subscription reminders

  ---

  ## Support

  For technical support and assistance:

  - **Email Support**: Contact our dedicated support team
  - **Video Tutorials**: Watch step-by-step integration guides
  - **Implementation Help**: Get expert assistance with workflows

  For enterprise-level support or custom solutions, contact our solution engineers at team@whatsable.app

  ---

  ## License

  [MIT](LICENSE.md)

  ---

  ## Resources

  - [WhatsAble Website](https://whatsable.app)
  - [n8n Documentation](https://docs.n8n.io)
  - [WhatsAble Suite n8n Overview](https://docs.whatsable.app/n8n-overview)

  ---

  ## Running Locally

  To run and test this node on your local machine:

  1. **Clone the repository**
     ```bash
     git clone https://github.com/Whatsable/n8n-nodes-whatsable.git
     cd n8n-nodes-whatsable
     ```
  2. **Install dependencies**
     ```bash
     pnpm install
     ```
  3. **Build the project**
     ```bash
     pnpm build
     ```
  4. **Run tests**
     ```bash
     pnpm test
     ```
     > **Note:** Unit tests are included to ensure code quality. Please run tests before submitting a pull request.
  5. **Link the node to your local n8n instance**
     - If you are developing a custom node, you can use [n8n's community node development guide](https://docs.n8n.io/integrations/community-nodes/create/) to link your node for local testing.
     - Typically, you can run:
       ```bash
       pnpm link --global
       cd ~/.n8n/custom
       pnpm link --global n8n-nodes-whatsable
       ```
     - Restart your n8n instance to load the custom node.
  6. **Test your node**
     - Open n8n in your browser (usually at `http://localhost:5678`)
     - Create a workflow and add your custom node to test its functionality

  > **Note:** Make sure you have [Node.js](https://nodejs.org/) and [pnpm](https://pnpm.io/) installed on your machine.

  ---

  ## Contributing

  We welcome contributions from the community! To contribute:

  1. **Fork the repository**: [https://github.com/Whatsable/n8n-nodes-whatsable](https://github.com/Whatsable/n8n-nodes-whatsable)
  2. **Create a new branch** for your feature or bugfix:
     ```bash
     git checkout -b feature/your-feature-name
     ```
  3. **Make your changes** and ensure code quality:
     - Follow the existing code style
     - Add or update documentation as needed
     - Run linter and tests before submitting
  4. **Commit your changes**
     ```bash
     git commit -m "Add your message here"
     ```
  5. **Push to your fork**
     ```bash
     git push origin feature/your-feature-name
     ```
  6. **Open a Pull Request**
     - Go to the GitHub page for your fork
     - Click "Compare & pull request"
     - Describe your changes and submit the PR

  ### Reporting Issues
  - If you find a bug or have a feature request, please [open an issue](https://github.com/Whatsable/n8n-nodes-whatsable/issues) with details and steps to reproduce.

  ### Code of Conduct
  - Please be respectful and follow our [Code of Conduct](CODE_OF_CONDUCT.md) when participating in this project.

ai_documentation_summary:
  {"purpose":"Integrate n8n with the WhatsAble Suite to send, schedule, and receive WhatsApp messages (including human/AI collaboration) using the official WhatsApp API across WhatsAble, Notifier, and Notifyer System platforms.","capabilities":["Send messages (non-template)","Send template messages (via Notifyer System)","Schedule messages for future delivery","Send media messages (support level depends on platform: basic/standard/full)","Receive incoming messages via webhook (Trigger node)","Process notifications and real-time message triggers","Support credential creation/configuration (API key)"],"authentication":"API key required (generate from your WhatsAble/Notifier/Notifyer System dashboard)","commonUseCases":["Automated customer notifications and transactional alerts via WhatsApp","Scheduled marketing messages, reminders, and follow-ups","Two-way conversational workflows that react to incoming WhatsApp messages","Sending media-rich messages (images, documents) as part of workflows","Using templates for enterprise transactional messages (via Notifyer System)"],"limitations":["Template messages are only supported via the Notifyer System platform (not on all plans)","Media support varies by platform: WhatsAble has basic media support, Notifier standard, and Notifyer System full support","Requires an active subscription and a verified WhatsApp number (first number verification required)","Per-phone-number pricing and trial limitations apply"],"relatedNodes":["WhatsAble Action Node","WhatsAble Trigger Node","Notifier Action Node","Notifier Trigger Node","Notifyer System Action Node"]}


node_type: n8n-nodes-peak-ai.peakAi
package_name: n8n-nodes-peak-ai
display_name: Peak AI
description: Enrich LinkedIn profiles with contact information using Peak AI
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: peakai-priyesh
author_github_url: https://github.com/Priyeshvg/PeakAi-n8n.git
npm_package_name: n8n-nodes-peak-ai
npm_version: 3.0.0
community_fetched_at: 2026-02-19T14:41:52.408Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact",
          "description": "Get contact information from LinkedIn profiles"
        },
        {
          "name": "Account",
          "value": "account",
          "description": "Manage your Peak AI account"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getPhone",
      "options": [
        {
          "name": "Get Phone",
          "value": "getPhone",
          "action": "Get phone number from a linkedin profile",
          "description": "Get phone number from a LinkedIn profile"
        },
        {
          "name": "Get Email",
          "value": "getEmail",
          "action": "Get personal email from a linkedin profile",
          "description": "Get personal email from a LinkedIn profile"
        },
        {
          "name": "Get Work Email",
          "value": "getWorkEmail",
          "action": "Get work email from a linkedin profile",
          "description": "Get work/business email from a LinkedIn profile"
        },
        {
          "name": "Enrich",
          "value": "enrich",
          "action": "Enrich a linkedin profile with all contact info",
          "description": "Get all contact information (phone, email, work email) from a LinkedIn profile"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCredits",
      "options": [
        {
          "name": "Get Credits",
          "value": "getCredits",
          "action": "Get remaining API credits",
          "description": "Check your remaining API credits"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Phone",
      "value": "getPhone",
      "action": "Get phone number from a linkedin profile",
      "description": "Get phone number from a LinkedIn profile"
    },
    {
      "name": "Get Email",
      "value": "getEmail",
      "action": "Get personal email from a linkedin profile",
      "description": "Get personal email from a LinkedIn profile"
    },
    {
      "name": "Get Work Email",
      "value": "getWorkEmail",
      "action": "Get work email from a linkedin profile",
      "description": "Get work/business email from a LinkedIn profile"
    },
    {
      "name": "Enrich",
      "value": "enrich",
      "action": "Enrich a linkedin profile with all contact info",
      "description": "Get all contact information (phone, email, work email) from a LinkedIn profile"
    },
    {
      "name": "Get Credits",
      "value": "getCredits",
      "action": "Get remaining API credits",
      "description": "Check your remaining API credits"
    }
  ]

npm_readme:
  # n8n-nodes-peak-ai

  This is an n8n community node for [Peak AI](https://thepeakai.com) - a LinkedIn data enrichment service that helps you find contact information from LinkedIn profiles.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  ## Features

  Peak AI helps you enrich LinkedIn profiles with:

  - **Phone Numbers** - Extract phone numbers from LinkedIn profiles
  - **Personal Emails** - Find personal email addresses
  - **Work Emails** - Discover business/work email addresses
  - **Full Enrichment** - Get all contact information in one request
  - **Credit Balance** - Check your remaining API credits

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ### In n8n Cloud or Desktop

  1. Go to **Settings** > **Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-peak-ai` and click **Install**

  ### In Self-hosted n8n

  ```bash
  npm install n8n-nodes-peak-ai
  ```

  ## Credentials

  To use this node, you need a Peak AI account:

  1. Sign up at [Peak AI](https://thepeakai.com)
  2. Get your account credentials (email and password)
  3. In n8n, create new credentials of type **Peak AI API**
  4. Enter your email and password

  The node handles authentication automatically - you don't need to manage access tokens manually.

  ## Usage

  ### Operations

  | Resource | Operation | Description |
  |----------|-----------|-------------|
  | **Contact** | Get Phone | Extract phone number from a LinkedIn profile |
  | **Contact** | Get Email | Extract personal email from a LinkedIn profile |
  | **Contact** | Get Work Email | Extract work/business email from a LinkedIn profile |
  | **Contact** | Enrich | Get all contact information (phone, email, work email) in one request |
  | **Account** | Get Credits | Check your remaining API credits |

  ### Example Workflow

  1. Add the **Peak AI** node to your workflow
  2. Select your Peak AI credentials
  3. Choose a resource and operation (e.g., Contact > Get Phone)
  4. Enter the LinkedIn profile URL (e.g., `https://www.linkedin.com/in/username`)
  5. Execute the node

  ### Input Format

  The LinkedIn URL field accepts:
  - Full URL: `https://www.linkedin.com/in/username`
  - Username only: `username` (will be converted to full URL automatically)

  ## Compatibility

  - Requires n8n version 1.0.0 or later
  - Tested with n8n versions 1.0.0+

  ## Resources

  - [Peak AI Website](https://thepeakai.com)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Report Issues](https://github.com/Priyeshvg/PeakAi-n8n/issues)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Enrich LinkedIn profiles with contact information (phone numbers, personal and work emails) and check Peak AI API credit balance from within n8n workflows.","capabilities":["Contact > Get Phone: extract a phone number from a LinkedIn profile","Contact > Get Email: extract a personal email from a LinkedIn profile","Contact > Get Work Email: extract a business/work email from a LinkedIn profile","Contact > Enrich: retrieve full contact enrichment (phone, personal email, work email) in one request","Account > Get Credits: check remaining Peak AI API credits"],"authentication":"Email & password (Peak AI account) via a 'Peak AI API' credential in n8n — node handles authentication automatically (no manual token management).","commonUseCases":["Enrich leads from LinkedIn with phone numbers and emails for outreach","Automatically populate or update CRM contact records with verified contact details","Combine with other workflow steps to qualify prospects and trigger follow-ups","Validate contact availability and monitor API credit usage within automation"],"limitations":["Requires a Peak AI account and consumes API credits (credit-based usage/billing)","Input limited to LinkedIn profile URLs or usernames (no other profile types documented)","No batch/bulk enrichment operation documented in the README","Requires n8n version 1.0.0 or later","README does not document rate limits, output schema details, or detailed error handling"],"relatedNodes":[]}


node_type: n8n-nodes-simplified.simplified
package_name: n8n-nodes-simplified
display_name: Simplified
description: Simplified
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: jacksimplified
author_github_url: https://github.com/celeryhq/
npm_package_name: n8n-nodes-simplified
npm_version: 1.0.5
community_fetched_at: 2026-02-19T14:41:52.409Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "social-media",
      "options": [
        {
          "name": "Social Media",
          "value": "social-media"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createPost",
      "options": [
        {
          "name": "Get Connected Accounts",
          "value": "getAccounts",
          "action": "Get connected accounts",
          "description": "Retrieve all connected social media accounts"
        },
        {
          "name": "Create Post",
          "value": "createPost",
          "action": "Create a new post",
          "description": "Create a new social media post"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "social-media"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Connected Accounts",
      "value": "getAccounts",
      "action": "Get connected accounts",
      "description": "Retrieve all connected social media accounts"
    },
    {
      "name": "Create Post",
      "value": "createPost",
      "action": "Create a new post",
      "description": "Create a new social media post"
    }
  ]

npm_readme:
  # n8n-nodes-simplified

  This is an n8n community node. It lets you use **Simplified** in your n8n workflows.

  **Simplified** is a content creation and marketing platform that helps teams generate, schedule, and manage social media content using AI.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Resources](#resources)  
  [Version history](#version-history)  

  ---

  ## Installation

  Option 1: Install via n8n UI
  1. Go to Settings > Community Nodes
  2. Click on Install
  3. Enter n8n-nodes-simplified in the npm Package Name field
  4. Click on Install

  Option 2: Install the node from npm:

  ```bash
  npm install n8n-nodes-simplified
  ```

  Then follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) for community nodes in the n8n documentation.

  ---

  ## Operations

  ### 1. Get Social Accounts

  Retrieve all social media accounts connected to your Simplified workspace.

  **Use case**: Useful for previewing accounts or selecting the correct ID for post publishing.

  **Output**:  
  Returns a list of connected account objects, including platform, ID, name, and more.

  ---

  ### 2. Create Post

  Create a new social media post for one of your connected accounts.

  **Input Parameters**:

  | Field              | Type                                | Required | Description |
  |--------------------|-------------------------------------|----------|-------------|
  | Action             | Options: Add as Draft, Schedule, Add to Queue | ✅ Yes | Defines how the post should be handled:<br>• Add as Draft – Save the post without publishing.<br>• Schedule – Publish at a specified date/time.<br>• Add to Queue – Add to your platform's posting queue. |
  | Network Type       | Options (Facebook, LinkedIn, etc.)  | ✅ Yes   | Target social media platform. |
  | Account ID         | Dropdown (auto-loaded)              | ✅ Yes   | Connected account to publish the post to. |
  | Message            | String (text area)                  | ❌ No    | The text content of the post. Optional if the post is media-only. |
  | Schedule Date      | DateTime                            | ❌ No    | Required only if Action is Schedule. Defines when the post will be published. |
  | Media              | List of URLs or Asset IDs           | ❌ No    | Attach media to the post (URLs or Simplified asset IDs). |
  | Platform Settings  | Object                              | ❌ No    | Optional advanced configuration for the selected platform. |

  **Output**:  
  Returns an array containing the post or draft IDs that were created.

  ```json
  [
    {
      "ids": [
        "685d4e9f5cdd5047220f6a43"
      ]
    }
  ]
  ```

  **Usage in expressions**:
  ```scss
  {{$json["ids"][0]}}
  ```

  ---

  ## Credentials

  This node requires authentication with Simplified. You will need an API key to connect your account.

  🔗 [Simplified Authentication Documentation](https://simplified.readme.io/reference/authentication)

  ---

  ## Compatibility

  - Requires **n8n v1.40.0 or higher**
  - Developed and tested with Node.js 20+
  - No known incompatibilities at this time.

  ---

  ## Usage

  Use this node to prepare and publish AI-generated content to all your connected social media accounts directly from n8n.

  Examples:
  - Prepare content with ChatGPT or OpenAI node.
  - Use this node to **schedule or queue** posts for Simplified-connected platforms.
  - Retrieve and display connected accounts before publishing.

  ---

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Simplified API documentation](https://simplified.readme.io/reference/authentication)
  - [Simplified App](https://simplified.com)

  ---

  ## Version history

  ### 1.0.0
  - Initial release
  - Supports:
    - Get Social Accounts
    - Create Post with scheduling, media upload, and advanced platform settings

ai_documentation_summary:
  {"purpose":"Provides n8n workflow integration with the Simplified content platform to list connected social accounts and create social media posts (draft, scheduled, or queued) from n8n.","capabilities":["Get Social Accounts — retrieve all connected social media accounts with platform, ID, name, and metadata","Create Post — create a new social media post with actions: Add as Draft, Schedule, Add to Queue","Post scheduling via Schedule Date (publish at specified date/time)","Attach media to posts using URLs or Simplified asset IDs","Platform-specific advanced settings support for fine-tuning post behavior","Auto-loaded Account ID dropdown for selecting connected accounts","Returns created post/draft IDs for use in subsequent workflow steps"],"authentication":"API key required (Simplified API key)","commonUseCases":["List connected Simplified social accounts to choose target accounts before publishing","Create and schedule social media posts (publish, queue, or save as draft)","Publish AI-generated content prepared by OpenAI/ChatGPT nodes","Attach media assets (by URL or asset ID) and set platform-specific posting options"],"limitations":["Requires n8n v1.40.0 or higher and Node.js 20+ (compatibility requirement)","Media must be provided as URLs or Simplified asset IDs — no direct local file upload is documented","Supported operations are limited to retrieving accounts and creating posts (no edit/delete post operations documented)"],"relatedNodes":["OpenAI (ChatGPT/OpenAI nodes) — for preparing AI-generated content before publishing"]}


node_type: n8n-nodes-klicktipp.klicktipp
package_name: n8n-nodes-klicktipp
display_name: KlickTipp
description: Interact with KlickTipp API
category: Community
development_style: declarative
version: 1,2,3
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: mchudesnov
author_github_url: https://github.com/klicktipp/n8n-community-node-klicktipp.git
npm_package_name: n8n-nodes-klicktipp
npm_version: 1.0.34
community_fetched_at: 2026-02-19T14:41:52.409Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "tag",
      "options": [
        {
          "name": "Contact",
          "value": "subscriber"
        },
        {
          "name": "Contact Tagging",
          "value": "contact-tagging"
        },
        {
          "name": "Data Field",
          "value": "field"
        },
        {
          "name": "Opt-In Process",
          "value": "opt-in"
        },
        {
          "name": "Tag",
          "value": "tag"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "index",
      "options": [
        {
          "name": "Create Tag",
          "value": "create",
          "action": "Create tag",
          "description": "Creates a new manual tag"
        },
        {
          "name": "Delete Tag",
          "value": "delete",
          "action": "Delete tag",
          "description": "Deletes a tag and removes it from all contacts"
        },
        {
          "name": "Get Tag",
          "value": "get",
          "action": "Get tag",
          "description": "Returns the name and description of a tag"
        },
        {
          "name": "List Tags",
          "value": "index",
          "action": "List tags",
          "description": "Lists the IDs and names of all tags"
        },
        {
          "name": "Update Tag",
          "value": "update",
          "action": "Update tag",
          "description": "Updates a tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "index",
      "options": [
        {
          "name": "Get Opt-in Process",
          "value": "get",
          "action": "Get opt in process",
          "description": "Returns the complete data of an opt-in process"
        },
        {
          "name": "Search Redirect URL",
          "value": "getRedirect",
          "action": "Search redirect url",
          "description": "Search the redirection URL for a specific opt-in process"
        },
        {
          "name": "List Opt-in Processes",
          "value": "index",
          "action": "List opt in processes",
          "description": "Lists the IDs and names of all opt-in processes"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "opt-in"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "index",
      "options": [
        {
          "name": "Add or Update Contact",
          "value": "subscribe",
          "action": "Add or update contact",
          "description": "Adds a new contact. If a contact with the same email already exists, it will be updated."
        },
        {
          "name": "Delete Contact",
          "value": "delete",
          "action": "Delete contact",
          "description": "Deletes a contact"
        },
        {
          "name": "Get Contact",
          "value": "get",
          "action": "Get contact",
          "description": "Returns the complete data of a contact"
        },
        {
          "name": "List Contacts",
          "value": "index",
          "action": "List contacts",
          "description": "Lists the IDs of all active contacts"
        },
        {
          "name": "Search Contact ID",
          "value": "search",
          "action": "Search contact id",
          "description": "Returns the contact ID for an email address"
        },
        {
          "name": "Search Tagged Contacts",
          "value": "tagged",
          "action": "Search tagged contacts",
          "description": "Returns the IDs and tagging timestamps of all tagged contacts"
        },
        {
          "name": "Unsubscribe Contact",
          "value": "unsubscribe",
          "action": "Unsubscribe contact",
          "description": "Unsubscribes a contact, preventing further communication"
        },
        {
          "name": "Update Contact",
          "value": "update",
          "action": "Update contact",
          "description": "Updates a contact"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "subscriber"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "index",
      "options": [
        {
          "name": "Get Data Field",
          "value": "get",
          "action": "Get data field",
          "description": "Gets the ID and the name of a data field"
        },
        {
          "name": "List Data Fields",
          "value": "index",
          "action": "List data fields",
          "description": "Lists the IDs and names of all data fields"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "field"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "tag",
      "options": [
        {
          "name": "Tag Contact",
          "value": "tag",
          "action": "Tag contact",
          "description": "Adds one or more tags to a contact"
        },
        {
          "name": "Untag Contact",
          "value": "untag",
          "action": "Untag contact",
          "description": "Removes a tag from a contact"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact-tagging"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Tag",
      "value": "create",
      "action": "Create tag",
      "description": "Creates a new manual tag"
    },
    {
      "name": "Delete Tag",
      "value": "delete",
      "action": "Delete tag",
      "description": "Deletes a tag and removes it from all contacts"
    },
    {
      "name": "Get Tag",
      "value": "get",
      "action": "Get tag",
      "description": "Returns the name and description of a tag"
    },
    {
      "name": "List Tags",
      "value": "index",
      "action": "List tags",
      "description": "Lists the IDs and names of all tags"
    },
    {
      "name": "Update Tag",
      "value": "update",
      "action": "Update tag",
      "description": "Updates a tag"
    },
    {
      "name": "Get Opt-in Process",
      "value": "get",
      "action": "Get opt in process",
      "description": "Returns the complete data of an opt-in process"
    },
    {
      "name": "Search Redirect URL",
      "value": "getRedirect",
      "action": "Search redirect url",
      "description": "Search the redirection URL for a specific opt-in process"
    },
    {
      "name": "List Opt-in Processes",
      "value": "index",
      "action": "List opt in processes",
      "description": "Lists the IDs and names of all opt-in processes"
    },
    {
      "name": "Add or Update Contact",
      "value": "subscribe",
      "action": "Add or update contact",
      "description": "Adds a new contact. If a contact with the same email already exists, it will be updated."
    },
    {
      "name": "Delete Contact",
      "value": "delete",
      "action": "Delete contact",
      "description": "Deletes a contact"
    },
    {
      "name": "Get Contact",
      "value": "get",
      "action": "Get contact",
      "description": "Returns the complete data of a contact"
    },
    {
      "name": "List Contacts",
      "value": "index",
      "action": "List contacts",
      "description": "Lists the IDs of all active contacts"
    },
    {
      "name": "Search Contact ID",
      "value": "search",
      "action": "Search contact id",
      "description": "Returns the contact ID for an email address"
    },
    {
      "name": "Search Tagged Contacts",
      "value": "tagged",
      "action": "Search tagged contacts",
      "description": "Returns the IDs and tagging timestamps of all tagged contacts"
    },
    {
      "name": "Unsubscribe Contact",
      "value": "unsubscribe",
      "action": "Unsubscribe contact",
      "description": "Unsubscribes a contact, preventing further communication"
    },
    {
      "name": "Update Contact",
      "value": "update",
      "action": "Update contact",
      "description": "Updates a contact"
    },
    {
      "name": "Get Data Field",
      "value": "get",
      "action": "Get data field",
      "description": "Gets the ID and the name of a data field"
    },
    {
      "name": "List Data Fields",
      "value": "index",
      "action": "List data fields",
      "description": "Lists the IDs and names of all data fields"
    },
    {
      "name": "Tag Contact",
      "value": "tag",
      "action": "Tag contact",
      "description": "Adds one or more tags to a contact"
    },
    {
      "name": "Untag Contact",
      "value": "untag",
      "action": "Untag contact",
      "description": "Removes a tag from a contact"
    }
  ]

npm_readme:
  # n8n-nodes-klicktipp

  **KlickTipp n8n Community Node (npm: `n8n-nodes-klicktipp`)**

  **Same project, three surfaces:**
  - **npm package:** `n8n-nodes-klicktipp`
  - **GitHub repository:** `klicktipp/n8n-community-node-klicktipp`
  - **n8n integration page:** https://n8n.io/integrations/klicktipp/

  This repository contains the source code for the npm package **`n8n-nodes-klicktipp`**, which powers the official **KlickTipp n8n Community Node** listed on n8n.io.
  Note: The GitHub repository name and the npm package name differ. They refer to the same project.

  ## KlickTipp API Integration for n8n

  What is the KlickTipp Marketing Suite?

  <a href="https://www.klicktipp.com/de?source=n8n" title="E-Mail-Marketing" target="_blank" rel="noopener noreferrer">KlickTipp Marketing Suite</a> is a digital marketing platform that empowers creators and small businesses to generate leads and turn them into passionate customers. It boosts growth with GDPR-compliant tools for email and SMS marketing, marketing automation, landing pages, and conversion rate optimization.

  This package provides a set of nodes for interacting with the KlickTipp API, allowing you to manage contacts, tags, subscription processes, and more directly from n8n.
  For more detailed information on the KlickTipp API - covering functions for managing contacts, tags, fields, and more - please refer to the <a href="https://www.klicktipp.com/de/support/wissensdatenbank/application-programming-interface-api?source=n8n" target="_blank" rel="noopener" title="E-Mail-Marketing API">official KlickTipp API client documentation</a> and the <a href="https://www.klicktipp.com/support/knowledge-base/install-klicktipp-node-n8n?source=n8n" target="_blank" rel="noopener" title="Install KlickTipp Node for n8n">installation guide for the KlickTipp node in n8n</a>.

  ---

  ## Table of Contents

  - [Installation](#installation)
  - [Quickstart](#quickstart)
  - [Nodes Overview](#nodes-overview)
    - [Contact](#contact)
    - [Contact Tagging](#contact-tagging)
    - [Data Field](#data-field)
    - [Opt-In Process](#opt-in-process)
    - [Tag](#tag)
    - [Triggers](#triggers)
  - [Supported Resources and Operations](#supported-resources-and-operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [License](#license)
  - [Example Workflows](#example-workflows)
  - [Troubleshooting](#troubleshooting)

  ---

  ## Installation

  To install the package, run the following command in your n8n directory:

  ```bash
  npm install n8n-nodes-klicktipp
  ```

  ## Quickstart

  1. Install the package in your n8n instance: `npm install n8n-nodes-klicktipp`
  2. Restart n8n.
  3. In the n8n UI, add **KlickTipp** credentials (username + password).
  4. Add a KlickTipp node and choose a resource + operation (for example: Tag -> Create).
  5. Execute the workflow.

  ## Nodes Overview

  This package includes nodes to interact with various aspects of the KlickTipp API:

  ### Contact

  - **Nodes**:
    - `Add or update contact`
    - `Delete contact`
    - `Get contact`
    - `Search contact id`
    - `List contacts`
    - `Search tagged contacts`
    - `Unsubscribe contact`
    - `Update contact`
  - **Description**: Provides management capabilities for contacts, such as searching, updating, and deleting contact data.

  ### Contact Tagging

  - **Nodes**:
    - `Tag contact`
    - `Untag contact`
  - **Description**: Provides management capabilities for contacts tagging.

  ### Data Field

  - **Nodes**:
    - `Get data field`
    - `List data fields`
  - **Description**: Manages data fields, including retrieving all available data fields for contacts, and obtaining data field information.

  ### Opt-In Process

  - **Nodes**:
    - `Get Opt-in process`
    - `Search redirect URL`
    - `List Opt-in processes`
  - **Description**: Manages opt-in processes, including listing all processes, retrieving details of a specific process, and obtaining redirect URLs.

  ### Tag

  - **Nodes**:
    - `Create tag`
    - `Delete tag`
    - `Get tag`
    - `List tags`
    - `Update tag`
  - **Description**: Manages tags within KlickTipp, enabling operations to list, create, update, and delete tags.

  ### Triggers

  - **Node**: `On new KlickTipp event`
  - **Description**: Triggers when a webhook event occurs in KlickTipp, such as a tag being added, an email being opened or sent, a link clicked, an SMS sent, and more.

  ---

  ## Supported Resources and Operations

  Quick inventory (names as displayed in n8n):

  **Contact**
  - Add or update contact
  - Delete contact
  - Get contact
  - Search contact id
  - List contacts
  - Search tagged contacts
  - Unsubscribe contact
  - Update contact

  **Contact Tagging**
  - Tag contact
  - Untag contact

  **Data Field**
  - Get data field
  - List data fields

  **Opt-In Process**
  - Get Opt-in process
  - Search redirect URL
  - List Opt-in processes

  **Tag**
  - Create tag
  - Delete tag
  - Get tag
  - List tags
  - Update tag

  **Triggers**
  - On new KlickTipp event

  When building or generating n8n workflows, use the exact operation names above as they appear in the UI.

  ---

  ## Workflow Keys (for JSON generation)

  For the full, authoritative mapping of `resource` and `operation` keys, see `OPERATIONS.md`.
  This is the contract used to generate valid n8n workflow JSON.

  ---

  ## Credentials

  To authenticate with the KlickTipp API, configure your API credentials:

  - **Username**
  - **Password**

  Once set up, these credentials will be used across all KlickTipp nodes in the package.

  ---

  ## Compatibility

  - **n8n**: Community nodes (self-hosted or desktop)
  - **KlickTipp API**: Uses the official KlickTipp API
  - **Authentication**: Username + password

  If you are using n8n Cloud, install this community node in a self-hosted or desktop instance.

  ---

  ## License

  This package is licensed under the MIT License. For details, see the `LICENSE` file.

  ---

  ## Example Workflows

  Refer to the `examples/n8n-nodes-klicktipp.json` file for sample workflows showcasing the integration.
  For the exact resource and operation keys used in workflow JSON, see `OPERATIONS.md`.

  ---

  ## Troubleshooting

  - **Node not showing up**: Restart n8n after installing `n8n-nodes-klicktipp`.
  - **Auth errors**: Verify KlickTipp username/password and that API access is enabled.
  - **Operation not found in generated workflows**: Use the exact operation names listed in "Supported Resources and Operations".

ai_documentation_summary:
  {"purpose":"Provide n8n nodes to interact with the KlickTipp API, enabling management of contacts, tags, data fields, opt-in processes, and webhook-triggered events within n8n workflows.","capabilities":["Add or update contact","Delete contact","Get contact","Search contact id","List contacts","Search tagged contacts","Unsubscribe contact","Update contact","Tag contact","Untag contact"],"authentication":"Username + Password (KlickTipp API credentials)","commonUseCases":["Create or update contacts from external sources (CRMs, form submissions)","Tag or untag contacts to drive marketing automation","List or search contacts (including by tag) for segmentation or syncing","Manage tags and custom data fields used in campaigns","Automate opt-in workflows and obtain redirect URLs for subscribe flows"],"limitations":["Community node — must install the npm package and restart your self-hosted or desktop n8n instance (not available out-of-the-box in n8n Cloud)","Functionality is limited to endpoints and capabilities exposed by the KlickTipp API","Authentication uses username/password credentials (no OAuth flow documented in README)"],"relatedNodes":["Contact","Contact Tagging","Data Field","Opt-In Process","Tag"]}


node_type: n8n-nodes-scrapfly.Scrapfly
package_name: n8n-nodes-scrapfly
display_name: Scrapfly
description: Scrapfly data collection APIs for web page scraping, screenshots, and AI data extraction
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: scrapfly
author_github_url: https://github.com/scrapfly/
npm_package_name: n8n-nodes-scrapfly
npm_version: 0.1.7
community_fetched_at: 2026-02-19T14:41:52.410Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Scrape",
      "options": [
        {
          "name": "Scrape",
          "value": "Scrape"
        },
        {
          "name": "Extraction",
          "value": "Extraction"
        },
        {
          "name": "Screenshot",
          "value": "Screenshot"
        },
        {
          "name": "Account",
          "value": "Account"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ScrapeWebPage",
      "options": [
        {
          "name": "Scrape Web Page",
          "value": "ScrapeWebPage",
          "action": "Scrape web page",
          "description": "Scrape a web page given its URL"
        },
        {
          "name": "Scrape API Request",
          "value": "ScrapeAPIRequest",
          "action": "Scrape api request",
          "description": "Send a web scraping API request"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Scrape"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "WebPageDataExtraction",
      "options": [
        {
          "name": "Extract Data From an HTML, Text, or Markdown Document Using AI",
          "value": "WebPageDataExtraction",
          "action": "Extract data from an html text or markdown document using ai",
          "description": "Extracts structured data from any text content. Uses AI, LLM, and custom parsing instructions."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Extraction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "WebPageScreenshot",
      "options": [
        {
          "name": "Capture Web Page Screenshot",
          "value": "WebPageScreenshot",
          "action": "Capture web page screenshot",
          "description": "Takes a screenshot of a web page given its URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Screenshot"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "AccountInfo",
      "options": [
        {
          "name": "Get Account Info",
          "value": "AccountInfo",
          "action": "Returns information about the current subscription and account usage",
          "description": "AccountInfo"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Scrape Web Page",
      "value": "ScrapeWebPage",
      "action": "Scrape web page",
      "description": "Scrape a web page given its URL"
    },
    {
      "name": "Scrape API Request",
      "value": "ScrapeAPIRequest",
      "action": "Scrape api request",
      "description": "Send a web scraping API request"
    },
    {
      "name": "Extract Data From an HTML, Text, or Markdown Document Using AI",
      "value": "WebPageDataExtraction",
      "action": "Extract data from an html text or markdown document using ai",
      "description": "Extracts structured data from any text content. Uses AI, LLM, and custom parsing instructions."
    },
    {
      "name": "Capture Web Page Screenshot",
      "value": "WebPageScreenshot",
      "action": "Capture web page screenshot",
      "description": "Takes a screenshot of a web page given its URL"
    },
    {
      "name": "Get Account Info",
      "value": "AccountInfo",
      "action": "Returns information about the current subscription and account usage",
      "description": "AccountInfo"
    }
  ]

npm_readme:
  # n8n-nodes-scrapfly

  This is an n8n community node. It lets you use ScrapFly in your n8n workflows. [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [ScrapFly.io](https://scrapfly.io/) provides data collection APIs for web page scraping, screenshots, and AI data extraction at scale. Integrating ScrapFly within a workflow enables extracting web page sources, parsing for structured data, or taking screenshots as binary files.

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation. See examples
  from [Scrapfly documentation](https://scrapfly.io/docs/integration/n8n) to see usage.

  ## Operations
  - __Scrape web page URLs__  
  Scrapes the HTML source of a given web page URL with the support of headless browsers, proxies, and anti-bot bypass.
  - __Extract Data From an HTML, Text, or Markdown Document Using AI__  
  Automatically parse HTML, Text, or Markdown documents using pre-defined templates or LLM prompts to extract structured data.
  - __Capture web page screenshot__  
  Takes a screenshot of a web page as an image file given its URL.
  - __Get account info__  
  Get information about the current account subscription and its usage.

  ## Credentials

  ScrapFly API key is used as a credential key. To get your API key, register for free.

  ## Usage

  For example, regarding usage and predefined workflow templates, please look at [ScrapFly's n8n integration docs](https://scrapfly.io/docs/integration/n8n).

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [ScrapFly documentation](https://scrapfly.io/docs)

  ## Development 

  To publish a new release, you need repo access and play command like `make bump-version VERSION=0.1.3`

ai_documentation_summary:
  {"purpose":"Provides ScrapFly data-collection APIs inside n8n workflows to scrape web pages, capture screenshots, and perform AI-powered data extraction from HTML/Text/Markdown.","capabilities":["Scrape web page HTML source (supports headless browsers, proxies, and anti-bot bypass)","Extract structured data from HTML, plain text, or Markdown using pre-defined templates or custom LLM prompts","Capture web page screenshots and provide them as binary image files","Retrieve account information (subscription details and usage)","Return binary outputs for files (e.g., screenshots) suitable for n8n workflow file handling","Includes examples and predefined templates for common AI extraction tasks"],"authentication":"API key required","commonUseCases":["Bulk or scheduled web scraping of page HTML for data aggregation","Take automated screenshots of pages for visual monitoring or archival","Use AI templates/LLM prompts to convert unstructured HTML/Text/Markdown into structured records","Bypass anti-bot protections and use proxies/headless browsers to access difficult sites","Integrate scraped or extracted data into downstream n8n automations (databases, APIs, notifications)"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-docuwriter-ai.docuWriter
package_name: n8n-nodes-docuwriter-ai
display_name: DocuWriter.ai
description: Generate AI-powered documentation and code analysis
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: magarrent
author_github_url: https://github.com/DocuWriter-ai/
npm_package_name: n8n-nodes-docuwriter-ai
npm_version: 1.1.1
community_fetched_at: 2026-02-19T14:41:52.410Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "codeDocumentation",
      "options": [
        {
          "name": "Code Documentation",
          "value": "codeDocumentation"
        },
        {
          "name": "Code Tests",
          "value": "codeTests"
        },
        {
          "name": "Code Comments",
          "value": "codeComments"
        },
        {
          "name": "UML Diagram",
          "value": "umlDiagram"
        },
        {
          "name": "Code Optimization",
          "value": "codeOptimization"
        },
        {
          "name": "Generations",
          "value": "generations"
        },
        {
          "name": "User Info",
          "value": "userInfo"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate code documentation",
          "description": "Generate documentation from source code"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "codeDocumentation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate code tests",
          "description": "Generate test cases from source code"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "codeTests"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate code comments",
          "description": "Generate comments for source code"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "codeComments"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate UML diagram",
          "description": "Generate UML diagram from source code"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "umlDiagram"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "optimize",
      "options": [
        {
          "name": "Optimize",
          "value": "optimize",
          "action": "Optimize code",
          "description": "Optimize and refactor source code"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "codeOptimization"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all generations",
          "description": "Get all generations"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get generation",
          "description": "Get a specific generation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "generations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all generations",
          "description": "Get all generations"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get generation",
          "description": "Get a specific generation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "generations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get user info",
          "description": "Get user account information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "userInfo"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate code documentation",
      "description": "Generate documentation from source code"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate code tests",
      "description": "Generate test cases from source code"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate code comments",
      "description": "Generate comments for source code"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate UML diagram",
      "description": "Generate UML diagram from source code"
    },
    {
      "name": "Optimize",
      "value": "optimize",
      "action": "Optimize code",
      "description": "Optimize and refactor source code"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all generations",
      "description": "Get all generations"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get generation",
      "description": "Get a specific generation"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all generations",
      "description": "Get all generations"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get generation",
      "description": "Get a specific generation"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get user info",
      "description": "Get user account information"
    }
  ]

npm_readme:
  # n8n-nodes-docuwriter-ai

  ![DocuWriter.ai Logo](https://www.docuwriter.ai/assets/logo-horizontal.png)

  An n8n community node that integrates with [DocuWriter.ai](https://www.docuwriter.ai) - the AI-powered platform for automated code documentation, testing, and optimization.

  [![npm version](https://badge.fury.io/js/n8n-nodes-docuwriter-ai.svg)](https://badge.fury.io/js/n8n-nodes-docuwriter-ai)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  ## Features

  ### 🔧 Core Capabilities

  - **Code Documentation Generation**: Transform source code into comprehensive documentation
  - **Automated Test Creation**: Generate test suites for your code
  - **UML Diagram Generation**: Create visual representations of code architecture
  - **Code Optimization**: Get AI-powered suggestions for improving code quality
  - **Generation Management**: Access and retrieve previously generated content
  - **User Info**: Check account status and credit balance
  - **Webhook Support**: Real-time triggers when generations are created or updated

  ### 📚 Use Cases

  - **CI/CD Integration**: Automatically generate documentation on code commits
  - **Quality Assurance**: Create test suites for new features
  - **Code Review Automation**: Generate optimization suggestions and architectural diagrams
  - **Documentation Maintenance**: Keep project documentation up-to-date automatically

  ## Installation

  ### Prerequisites

  - n8n version 0.198.0 or later
  - DocuWriter.ai account and API token

  ### Installation Methods

  #### Community Nodes (Recommended)

  1. In your n8n instance, go to **Settings** > **Community Nodes**
  2. Click **Install a community node**
  3. Enter: `n8n-nodes-docuwriter-ai`
  4. Click **Install**

  #### Manual Installation

  ```bash
  # Install via npm
  npm install n8n-nodes-docuwriter-ai
  ```

  ## Configuration

  ### 1. Get Your API Token

  1. Visit [DocuWriter.ai](https://app.docuwriter.ai)
  2. Sign up or log in to your account
  3. Navigate to **Settings** > **API Keys**
  4. Generate a new API token
  5. Copy the token for use in n8n

  ### 2. Configure Credentials in n8n

  1. In n8n, go to **Credentials**
  2. Click **Create New Credential**
  3. Search for and select **DocuWriter.ai API**
  4. Fill in your credentials:
     - **API Token**: Your DocuWriter.ai API token
     - **Base URL**: `https://app.docuwriter.ai` (default)
  5. Click **Save**

  ## How It Works

  The DocuWriter.ai n8n integration provides seamless automation for code documentation, testing, and optimization:

  ### Integration Architecture

  ```mermaid
  graph TB
      subgraph "n8n Workflow"
          TN[Trigger Nodes]
          AN[Action Nodes]
          ON[Other n8n Nodes]
      end
      
      subgraph "DocuWriter.ai Platform"
          API[DocuWriter API]
          AI[AI Processing Engine]
          DB[(User Data & Generations)]
      end
      
      subgraph "External Systems"
          GH[GitHub/GitLab]
          GD[Google Drive]
          SL[Slack/Discord]
          EM[Email Services]
      end
      
      TN -->|Webhook Events| AN
      AN -->|API Requests| API
      API --> AI
      AI --> DB
      API -->|Generated Content| AN
      AN --> ON
      ON --> GH
      ON --> GD
      ON --> SL
      ON --> EM
  ```

  ### Action Node Workflow

  ```mermaid
  sequenceDiagram
      participant W as n8n Workflow
      participant DN as DocuWriter Node
      participant API as DocuWriter API
      participant AI as AI Engine
      
      W->>DN: Source Code + Parameters
      DN->>API: POST /n8n/code-documentation
      Note over API: Authenticate with Bearer Token
      API->>AI: Process Code
      AI->>AI: Generate Documentation/Tests/UML
      AI-->>API: Generated Content
      API-->>DN: Response with Generated Data
      DN-->>W: Formatted Output for Next Node
  ```

  ### Trigger Node Workflow

  ```mermaid
  sequenceDiagram
      participant DW as DocuWriter.ai
      participant WH as Webhook System
      participant TN as Trigger Node
      participant W as n8n Workflow
      
      Note over DW: User generates documentation
      DW->>WH: generation.created event
      WH->>TN: POST webhook with payload
      TN->>TN: Filter by event type
      TN->>TN: Process generation data
      TN-->>W: Trigger workflow execution
      W->>W: Process generation content
  ```

  ## Usage

  The DocuWriter.ai integration provides two main node types:

  ## Action Node

  The DocuWriter.ai action node provides multiple resources and operations for generating content:

  ### Resources

  #### Code Documentation
  Generate comprehensive documentation from source code.

  **Parameters:**
  - `sourceCode` (required): The source code to analyze
  - `filename` (required): Filename for context
    (Mode is always Accurate)
  - `outputLanguage`: Language for documentation (default: English)
  - `documentationType`: Type of documentation to generate

  #### Code Tests
  Generate automated test suites.

  **Parameters:**
  - `sourceCode` (required): The source code to test
  - `filename` (required): Filename for context
  - `testFramework`: Testing framework to use (auto-detect available)
  - `testType`: Type of tests (unit tests, etc.)

  #### UML Diagram
  Create visual diagrams from code structure.

  **Parameters:**
  - `sourceCode` (required): The source code to analyze
  - `filename` (required): Filename for context
  - `diagramType` (required): Type of UML diagram (class, sequence, use_case, activity, component, state, object)

  #### Code Optimization
  Get AI-powered code improvement suggestions.

  **Parameters:**
  - `sourceCode` (required): The source code to optimize
  - `filename` (required): Filename for context
  - `optimizationFocus`: Focus area (all, performance, readability, maintainability, security)

  #### Generations
  Retrieve previously generated content.

  **Operations:**
  - `Get All`: List all generations with optional filtering by type and limit
  - `Get`: Retrieve a specific generation by ID

  #### User Info
  Get account information and remaining credits.

  ## Trigger Node

  The DocuWriter.ai Trigger node allows you to create workflows that respond to events in DocuWriter.ai.

  ### Supported Events

  - **Generation Created**: Triggers when a new generation is created
  - **Generation Updated**: Triggers when a generation is updated

  ### Event Filtering

  - **Filter by Generation Type**: Optionally filter events by specific generation types
  - **Generation Types**: Choose from available types including Documentation, Tests, Optimizer, Converter, Swagger API Docs, Comment, Diagrams, and Git-based generations

  ### Webhook Payload Structure

  ```json
  {
    "event": "generation.created",
    "timestamp": "2024-01-15T10:30:00Z",
    "data": {
      "uuid": "550e8400-e29b-41d4-a716-446655440000",
      "filename": "example.js",
      "generation_type": "[Basic] => Documentation",
      "generated_by_user": "user@example.com",
      "updated_at": "2024-01-15T10:30:00Z",
      "tag": "project-alpha"
    }
  }
  ```

  ## Examples

  ### Basic Code Documentation

  ```json
  {
    "resource": "codeDocumentation",
    "operation": "generate",
    "sourceCode": "function calculateTotal(items) {\n  return items.reduce((sum, item) => sum + item.price, 0);\n}",
    "filename": "calculator.js",
    
  }
  ```

  ### Generate Tests

  ```json
  {
    "resource": "codeTests",
    "operation": "generate",
    "sourceCode": "class User {\n  constructor(name) {\n    this.name = name;\n  }\n}",
    "filename": "User.js",
    "testFramework": "auto-detect"
  }
  ```

  ### Create UML Class Diagram

  ```json
  {
    "resource": "umlDiagram",
    "operation": "generate",
    "sourceCode": "public class Vehicle {\n  private String brand;\n  public void start() {}\n}",
    "filename": "Vehicle.java",
    "diagramType": "class"
  }
  ```

  ## Workflow Examples

  ### Example: Automated Code Quality Pipeline

  ```mermaid
  graph LR
      FU[File Upload Trigger] --> RF[Read File]
      RF --> DOC[Generate Documentation]
      RF --> TEST[Generate Tests]
      RF --> UML[Generate UML]
      RF --> OPT[Optimize Code]
      
      DOC --> REP[Create Quality Report]
      TEST --> REP
      UML --> REP
      OPT --> REP
      
      REP --> SAVE[Save Report]
      REP --> CHECK{Quality Score > 70?}
      
      CHECK -->|Yes| SLACK[✅ Success Notification]
      CHECK -->|No| EMAIL[⚠️ Quality Alert]
      
      SAVE --> GITHUB[Commit to Repository]
  ```

  ### Example: Real-time Generation Processing

  ```mermaid
  graph LR
      DW[DocuWriter.ai] -->|generation.created| WH[Webhook Trigger]
      WH --> FILTER{Filter Event Type}
      
      FILTER -->|Documentation| DOCS[Fetch Generation]
      FILTER -->|Tests| TESTS[Generate Additional Tests]
      
      DOCS --> GD[Save to Google Drive]
      TESTS --> GH[Commit to GitHub]
      
      GD --> NOTIFY[Slack Notification]
      GH --> NOTIFY
  ```

  We provide complete example workflows in the `/examples/workflows/` directory:

  - **[Automated Testing Workflow](./examples/workflows/automated-testing-workflow.json)**: Generate tests, optimize code, and create UML diagrams
  - **[Generation Created Webhook](./examples/workflows/generation-created-webhook.json)**: Process new generations in real-time

  ## API Reference

  ### Response Format

  All DocuWriter.ai API responses follow this format:

  ```json
  {
    "success": true,
    "data": {
      // Generated content and metadata
    }
  }
  ```

  ### Error Handling

  When an error occurs, the response will include error information. The node supports n8n's built-in error handling and will return execution data even on failures when "Continue on Fail" is enabled.

  ## Troubleshooting

  ### Common Issues

  #### Authentication Failed
  **Solution**: Verify your API token in the credentials configuration and ensure it's valid.

  #### Code Too Large
  **Solution**: Break down large files into smaller components or use the "Faster" mode.

  #### No Credits Remaining
  **Solution**: Check your account status and upgrade your DocuWriter.ai subscription if needed.

  ### Debug Mode

  Enable debug logging in n8n to troubleshoot issues:

  1. Check n8n execution logs for detailed error information
  2. Verify request/response data in the execution history
  3. Test credentials using the built-in test functionality

  ## Support

  ### Documentation
  - [n8n Community Forum](https://community.n8n.io)

  ### Contact
  - **Email**: support@docuwriter.ai
  - **GitHub Issues**: [Report bugs](https://github.com/DocuWriter-ai/n8n-nodes-docuwriter-ai/issues)

  ## Contributing

  We welcome contributions! Please feel free to submit issues and pull requests.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

  ## License

  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

  ## Changelog

  ### v1.1.1
  - **API Migration Complete**: All endpoints now use the unified GenerationsController
  - Added support for Swagger API generation
  - Added support for Repository listing
  - Enhanced error handling and validation
  - Improved documentation and examples

  ### v1.1.0
  - **BREAKING CHANGE**: Migrated to unified GenerationsController API endpoints
  - Updated all endpoints to use the standardized `/api/generate-*` paths
  - Added support for code comments generation
  - Updated UML diagram generation to use new API
  - Updated generations listing and retrieval to use new API
  - Updated user info endpoint to use new API
  - Improved parameter handling and validation
  - Better consistency with DocuWriter.ai platform API standards

  ### v1.0.8
  - Fixed "Invalid URL" error by properly constructing full API URLs
  - Improved error handling and URL validation
  - Removed unnecessary requestDefaults configuration

  ### v1.0.7
  - Fixed icons not displaying in n8n interface
  - Updated build process to correctly copy SVG icon files to dist directory
  - Added cross-platform copyfiles dependency for better build compatibility

  ### v1.0.2
  - Updated documentation to reflect actual implemented features
  - Removed unimplemented workflow examples
  - Cleaned up README to accurately describe available functionality

  ### v1.0.1
  - Fixed repository URL to point to correct GitHub organization

  ### v1.0.0
  - Initial release
  - Core documentation generation
  - Test suite creation
  - UML diagram generation
  - Code optimization features
  - Generation management
  - User info retrieval
  - Webhook trigger support
  - Complete n8n integration

  ---

  Built with ❤️ by the [DocuWriter.ai](https://www.docuwriter.ai) team

ai_documentation_summary:
  {"purpose":"Provide n8n nodes that integrate with DocuWriter.ai to generate AI-powered code documentation, tests, UML diagrams, and optimization suggestions, and to surface previously generated content and account info via actions and webhooks.","capabilities":["Generate code documentation from source code (parameters: sourceCode, filename, outputLanguage, documentationType; mode: Accurate)","Create automated test suites (parameters: sourceCode, filename, testFramework, testType)","Generate UML diagrams from code (parameters: sourceCode, filename, diagramType: class|sequence|use_case|activity|component|state|object)","Provide AI-driven code optimization suggestions (parameters: sourceCode, filename, optimizationFocus: all|performance|readability|maintainability|security)","Retrieve generations (Get All with filters and limit, Get by ID)","Return user/account information and remaining credits","Trigger workflows via webhooks for generation events (e.g., generation.created, generation.updated)"],"authentication":"API key required (DocuWriter.ai API token / Bearer token configured in n8n credentials; configurable Base URL, default https://app.docuwriter.ai)","commonUseCases":["CI/CD integration: auto-generate or update documentation on code commits","Quality assurance: generate test suites for new or changed code","Code review automation: produce optimization suggestions and architecture diagrams","Documentation maintenance: keep project docs up-to-date automatically via scheduled or event-driven workflows"],"limitations":["Requires a DocuWriter.ai account and API token","n8n version 0.198.0 or later required","Documentation generation mode is fixed to \"Accurate\" (cannot be changed)","Supported trigger events list in README is truncated—full event set should be verified in the platform docs"],"relatedNodes":["Action Node (DocuWriter.ai action)","Trigger Node (DocuWriter.ai trigger / webhook)","Credentials (DocuWriter.ai API credential configuration)"]}


node_type: n8n-nodes-jigsawstack.jigsawStack
package_name: n8n-nodes-jigsawstack
display_name: JigsawStack
description: Use JigsawStack API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  {
  "type": "main"
  }
  ]

updated_at: 2026-02-19 14:41:52
author_name: yoeven
author_github_url: https://github.com/JigsawStack/n8n-integration.git
npm_package_name: n8n-nodes-jigsawstack
npm_version: 0.0.10
community_fetched_at: 2026-02-19T14:41:52.412Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "translate-text",
      "options": [
        {
          "name": "AI Scrape",
          "value": "ai-scrape"
        },
        {
          "name": "Analyze Sentiment",
          "value": "analyze-sentiment"
        },
        {
          "name": "Convert to SQL",
          "value": "convert-to-sql"
        },
        {
          "name": "Generate Embedding",
          "value": "generate-embedding"
        },
        {
          "name": "HTML to Any",
          "value": "html-to-any"
        },
        {
          "name": "Image Generation",
          "value": "image-generation"
        },
        {
          "name": "Make Prediction",
          "value": "make-prediction"
        },
        {
          "name": "NSFW Detection",
          "value": "nsfw-detection"
        },
        {
          "name": "Object Detection",
          "value": "object-detection"
        },
        {
          "name": "Process Image",
          "value": "process-image"
        },
        {
          "name": "Profanity Detection",
          "value": "profanity-detection"
        },
        {
          "name": "Search Web",
          "value": "search-web"
        },
        {
          "name": "Spam Detection",
          "value": "spam-detection"
        },
        {
          "name": "Speech to Text",
          "value": "speech-to-text"
        },
        {
          "name": "Spell Check",
          "value": "spell-check"
        },
        {
          "name": "Summary",
          "value": "summary"
        },
        {
          "name": "Text to Speech",
          "value": "text-to-speech"
        },
        {
          "name": "Translate",
          "value": "translate-text"
        },
        {
          "name": "Translate Image",
          "value": "translate-image"
        },
        {
          "name": "Web Suggestion",
          "value": "web-suggestion"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "translate-text",
      "options": [
        {
          "name": "Translate Text",
          "value": "translate-text",
          "action": "Translate text",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/translate\"}}",
              "body": {
                "text": "={{$parameter.text}}",
                "target_language": "={{$parameter.target_language}}"
              },
              "method": "POST"
            }
          },
          "description": "Translate text from one language to another"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "translate-text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search-web",
      "options": [
        {
          "name": "Search Web",
          "value": "search-web",
          "action": "Search the web",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/web/search\"}}",
              "body": {
                "query": "={{$parameter.query}}",
                "byo_urls": "={{$parameter.byo_urls}}",
                "ai_overview": "={{$parameter.ai_overview}}",
                "safe_search": "={{$parameter.safe_search}}",
                "spell_check": "={{$parameter.spell_check}}",
                "deep_research": "={{$parameter.deep_research}}",
                "deep_research_config": "={{$parameter.deep_research_config}}"
              },
              "method": "POST"
            }
          },
          "description": "Search the web using JigsawStack AI"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search-web"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate-embedding",
      "options": [
        {
          "name": "Generate Embedding",
          "value": "generate-embedding",
          "action": "Generate embedding",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/embedding\"}}",
              "body": {
                "url": "={{$parameter.url ? $parameter.url : undefined}}",
                "text": "={{$parameter.text}}",
                "type": "={{$parameter.type}}",
                "file_content": "={{$parameter.file_content}}",
                "file_store_key": "={{$parameter.file_store_key ? $parameter.file_store_key : undefined}}",
                "token_overflow_mode": "={{$parameter.token_overflow_mode}}"
              },
              "method": "POST"
            }
          },
          "description": "Generate vector embeddings from various content types including text, images, audio, and PDF files"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "generate-embedding"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "analyze-sentiment",
      "options": [
        {
          "name": "Analyze Sentiment",
          "value": "analyze-sentiment",
          "action": "Analyze sentiment",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/sentiment\"}}",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          },
          "description": "Perform line by line sentiment analysis on any text with detailed emotion detection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "analyze-sentiment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "text-to-speech",
      "options": [
        {
          "name": "Text to Speech",
          "value": "text-to-speech",
          "action": "Convert text to speech",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/tts\"}}",
              "body": {
                "text": "={{$parameter.text}}",
                "accent": "={{$parameter.accent === \"other\" ? $parameter.accent_custom : $parameter.accent}}",
                "voice_id": "={{$parameter.voice_id}}",
                "return_type": "={{$parameter.return_type}}"
              },
              "method": "POST"
            }
          },
          "description": "Transform text into natural-sounding human-like AI voices"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "text-to-speech"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "speech-to-text",
      "options": [
        {
          "name": "Speech to Text",
          "value": "speech-to-text",
          "action": "Transcribe video and audio to text",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/transcribe\"}}",
              "body": {
                "url": "={{$parameter.audioSource === \"url\" ? $parameter.url : undefined}}",
                "language": "={{$parameter.language && $parameter.language !== \"\" ? $parameter.language : undefined}}",
                "translate": "={{$parameter.translate !== undefined ? $parameter.translate : undefined}}",
                "batch_size": "={{$parameter.batch_size && $parameter.batch_size > 0 ? $parameter.batch_size : undefined}}",
                "by_speaker": "={{$parameter.by_speaker !== undefined ? $parameter.by_speaker : undefined}}",
                "webhook_url": "={{$parameter.webhook_url && $parameter.webhook_url !== \"\" ? $parameter.webhook_url : undefined}}",
                "file_store_key": "={{$parameter.audioSource === \"file_store_key\" ? $parameter.file_store_key : undefined}}"
              },
              "method": "POST"
            }
          },
          "description": "Transcribe video and audio files with ease leveraging Whisper large V3 AI model"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "speech-to-text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "image-generation",
      "options": [
        {
          "name": "Image Generation",
          "value": "image-generation",
          "action": "Generate image",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/image_generation\"}}",
              "body": {
                "url": "={{$parameter.url ? $parameter.url : undefined}}",
                "steps": "={{$parameter.steps}}",
                "width": "={{$parameter.width}}",
                "height": "={{$parameter.height}}",
                "prompt": "={{$parameter.prompt}}",
                "return_type": "={{$parameter.return_type}}",
                "aspect_ratio": "={{$parameter.aspect_ratio}}",
                "output_format": "={{$parameter.output_format}}",
                "advance_config": "={{JSON.parse($parameter.advance_config)}}",
                "file_store_key": "={{$parameter.file_store_key}}"
              },
              "method": "POST"
            }
          },
          "description": "Generate an image using JigsawStack AI"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image-generation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "nsfw-detection",
      "options": [
        {
          "name": "NSFW Detection",
          "value": "nsfw-detection",
          "action": "NSFW Detection",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/validate/nsfw\"}}",
              "body": {
                "url": "={{$parameter.url}}"
              },
              "method": "POST"
            }
          },
          "description": "Detect if the text or content is NSFW"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "nsfw-detection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "profanity-detection",
      "options": [
        {
          "name": "Profanity Detection",
          "value": "profanity-detection",
          "action": "Profanity detection",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/validate/profanity\"}}",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          },
          "description": "Detect if the text or content is profane"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "profanity-detection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "spell-check",
      "options": [
        {
          "name": "Spell Check",
          "value": "spell-check",
          "action": "Spell check",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/validate/spell_check\"}}",
              "body": {
                "text": "={{$parameter.text}}",
                "language_code": "={{$parameter.language_code}}"
              },
              "method": "POST"
            }
          },
          "description": "Check the spelling of the text"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "spell-check"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "spam-detection",
      "options": [
        {
          "name": "Spam Detection",
          "value": "spam-detection",
          "action": "Spam detection",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/validate/spam_check\"}}",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          },
          "description": "Detect if the text or content is spam"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "spam-detection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "summary",
      "options": [
        {
          "name": "Summary",
          "value": "summary",
          "action": "Summary",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/summary\"}}",
              "body": {
                "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
                "text": "={{$parameter.text}}",
                "type": "={{$parameter.type}}",
                "max_points": "={{$parameter.max_points}}",
                "file_store_key": "={{$parameter.file_store_key && $parameter.file_store_key !== \"\" ? $parameter.file_store_key : undefined}}",
                "max_characters": "={{$parameter.max_characters}}"
              },
              "method": "POST"
            }
          },
          "description": "Generate concise, intelligent summaries of text or documents with AI"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "summary"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "make-prediction",
      "options": [
        {
          "name": "Make Prediction",
          "value": "make-prediction",
          "action": "Make prediction",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/prediction\"}}",
              "body": {
                "steps": "={{$parameter.steps}}",
                "dataset": "={{JSON.parse($parameter.dataset)}}"
              },
              "method": "POST"
            }
          },
          "description": "Forecast a wide range of time series data in seconds with one simple API and no data training"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "make-prediction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "convert-to-sql",
      "options": [
        {
          "name": "Convert to SQL",
          "value": "convert-to-sql",
          "action": "Convert natural language to SQL",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/sql\"}}",
              "body": {
                "prompt": "={{$parameter.prompt}}",
                "database": "={{$parameter.database}}",
                "sql_schema": "={{$parameter.sql_schema}}",
                "file_store_key": "={{$parameter.file_store_key}}"
              },
              "method": "POST"
            }
          },
          "description": "Convert natural language to SQL queries for various database types"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "convert-to-sql"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "web-suggestion",
      "options": [
        {
          "name": "Web Suggestion",
          "value": "web-suggestion",
          "action": "Web suggestion",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/web/search/suggest?query=\" + $parameter.query}}",
              "method": "GET"
            }
          },
          "description": "Get web suggestions for a given query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "web-suggestion"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ai-scrape",
      "options": [
        {
          "name": "AI Scrape",
          "value": "ai-scrape",
          "action": "Scrape website with AI",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/scrape\"}}",
              "body": {
                "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
                "html": "={{$parameter.html && $parameter.html !== \"\" ? $parameter.html : undefined}}",
                "scale": "={{$parameter.scale && $parameter.scale >= 1 ? $parameter.scale : undefined}}",
                "width": "={{$parameter.width && $parameter.width > 0 ? $parameter.width : undefined}}",
                "height": "={{$parameter.height && $parameter.height > 0 ? $parameter.height : undefined}}",
                "cookies": "={{$parameter.cookies && $parameter.cookies !== \"\" ? JSON.parse($parameter.cookies) : undefined}}",
                "wait_for": "={{$parameter.wait_for && $parameter.wait_for !== \"\" ? JSON.parse($parameter.wait_for) : undefined}}",
                "byo_proxy": "={{$parameter.byo_proxy && $parameter.byo_proxy !== \"\" ? JSON.parse($parameter.byo_proxy) : undefined}}",
                "is_mobile": "={{$parameter.is_mobile !== undefined ? $parameter.is_mobile : undefined}}",
                "size_preset": "={{$parameter.size_preset && $parameter.size_preset !== \"\" ? $parameter.size_preset : undefined}}",
                "goto_options": "={{$parameter.goto_options && $parameter.goto_options !== \"\" ? JSON.parse($parameter.goto_options) : undefined}}",
                "http_headers": "={{$parameter.http_headers && $parameter.http_headers !== \"\" ? JSON.parse($parameter.http_headers) : undefined}}",
                "page_position": "={{$parameter.page_position && $parameter.page_position > 0 ? $parameter.page_position : undefined}}",
                "advance_config": "={{$parameter.advance_config && $parameter.advance_config !== \"\" ? JSON.parse($parameter.advance_config) : undefined}}",
                "element_prompts": "={{$parameter.element_prompts && $parameter.element_prompts.length > 0 ? $parameter.element_prompts : undefined}}",
                "force_rotate_proxy": "={{$parameter.force_rotate_proxy !== undefined ? $parameter.force_rotate_proxy : undefined}}",
                "root_element_selector": "={{$parameter.root_element_selector && $parameter.root_element_selector !== \"\" ? $parameter.root_element_selector : undefined}}",
                "reject_request_pattern": "={{$parameter.reject_request_pattern && $parameter.reject_request_pattern.length > 0 ? $parameter.reject_request_pattern : undefined}}"
              },
              "method": "POST"
            }
          },
          "description": "Scrape any website instantly and get consistent structured data in seconds without writing any CSS selector code"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ai-scrape"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "html-to-any",
      "options": [
        {
          "name": "HTML to Any",
          "value": "html-to-any",
          "action": "Convert HTML/URL to image or PDF",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/web/html_to_any\"}}",
              "body": {
                "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
                "html": "={{$parameter.html && $parameter.html !== \"\" ? $parameter.html : undefined}}",
                "type": "={{$parameter.type}}",
                "scale": "={{$parameter.scale && $parameter.scale >= 1 ? $parameter.scale : undefined}}",
                "width": "={{$parameter.width && $parameter.width > 0 ? $parameter.width : undefined}}",
                "height": "={{$parameter.height && $parameter.height > 0 ? $parameter.height : undefined}}",
                "quality": "={{$parameter.quality && $parameter.quality > 0 ? $parameter.quality : undefined}}",
                "dark_mode": "={{$parameter.dark_mode !== undefined ? $parameter.dark_mode : undefined}}",
                "full_page": "={{$parameter.full_page !== undefined ? $parameter.full_page : undefined}}",
                "is_mobile": "={{$parameter.is_mobile !== undefined ? $parameter.is_mobile : undefined}}",
                "return_type": "={{$parameter.return_type}}",
                "size_preset": "={{$parameter.size_preset && $parameter.size_preset !== \"\" ? $parameter.size_preset : undefined}}",
                "goto_options": "={{$parameter.goto_options && $parameter.goto_options !== \"\" ? JSON.parse($parameter.goto_options) : undefined}}",
                "pdf_page_range": "={{$parameter.pdf_page_range && $parameter.pdf_page_range !== \"\" ? $parameter.pdf_page_range : undefined}}",
                "omit_background": "={{$parameter.omit_background !== undefined ? $parameter.omit_background : undefined}}",
                "pdf_print_background": "={{$parameter.pdf_print_background !== undefined ? $parameter.pdf_print_background : undefined}}",
                "use_graphic_renderer": "={{$parameter.use_graphic_renderer !== undefined ? $parameter.use_graphic_renderer : undefined}}",
                "pdf_display_header_footer": "={{$parameter.pdf_display_header_footer !== undefined ? $parameter.pdf_display_header_footer : undefined}}"
              },
              "method": "POST"
            }
          },
          "description": "Capture screenshots of a website, convert HTML to both image and PDF formats"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "html-to-any"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "process-image",
      "options": [
        {
          "name": "Process Image",
          "value": "process-image",
          "action": "Process image with v ocr",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/vocr\"}}",
              "body": {
                "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
                "prompt": "={{$parameter.prompt && $parameter.prompt !== \"\" ? $parameter.prompt : undefined}}",
                "page_range": "={{$parameter.page_range && $parameter.page_range !== \"\" ? JSON.parse($parameter.page_range) : undefined}}",
                "file_store_key": "={{$parameter.file_store_key && $parameter.file_store_key !== \"\" ? $parameter.file_store_key : undefined}}"
              },
              "method": "POST"
            }
          },
          "description": "Process an image using vOCR to recognize and extract data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "process-image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "translate-image",
      "options": [
        {
          "name": "Translate Image",
          "value": "translate-image",
          "action": "Translate image",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/translate/image\"}}",
              "body": {
                "url": "={{$parameter.url ? $parameter.url : undefined }}",
                "return_type": "={{$parameter.return_type}}",
                "file_store_key": "={{$parameter.file_store_key ? $parameter.file_store_key : undefined}}",
                "target_language": "={{$parameter.target_language}}"
              },
              "method": "POST"
            }
          },
          "description": "Translate image from one language to another"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "translate-image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "object-detection",
      "options": [
        {
          "name": "Object Detection",
          "value": "object-detection",
          "action": "Object detection",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/ai/object_detection\"}}",
              "body": {
                "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
                "file_store_key": "={{$parameter.file_store_key && $parameter.file_store_key !== \"\" ? $parameter.file_store_key : undefined}}"
              },
              "method": "POST"
            }
          },
          "description": "Detect objects in an image"
        }
      ],
      "displayName": "Operation Object Detection",
      "displayOptions": {
        "show": {
          "resource": [
            "object-detection"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Translate Text",
      "value": "translate-text",
      "action": "Translate text",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/translate\"}}",
          "body": {
            "text": "={{$parameter.text}}",
            "target_language": "={{$parameter.target_language}}"
          },
          "method": "POST"
        }
      },
      "description": "Translate text from one language to another"
    },
    {
      "name": "Search Web",
      "value": "search-web",
      "action": "Search the web",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/web/search\"}}",
          "body": {
            "query": "={{$parameter.query}}",
            "byo_urls": "={{$parameter.byo_urls}}",
            "ai_overview": "={{$parameter.ai_overview}}",
            "safe_search": "={{$parameter.safe_search}}",
            "spell_check": "={{$parameter.spell_check}}",
            "deep_research": "={{$parameter.deep_research}}",
            "deep_research_config": "={{$parameter.deep_research_config}}"
          },
          "method": "POST"
        }
      },
      "description": "Search the web using JigsawStack AI"
    },
    {
      "name": "Generate Embedding",
      "value": "generate-embedding",
      "action": "Generate embedding",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/embedding\"}}",
          "body": {
            "url": "={{$parameter.url ? $parameter.url : undefined}}",
            "text": "={{$parameter.text}}",
            "type": "={{$parameter.type}}",
            "file_content": "={{$parameter.file_content}}",
            "file_store_key": "={{$parameter.file_store_key ? $parameter.file_store_key : undefined}}",
            "token_overflow_mode": "={{$parameter.token_overflow_mode}}"
          },
          "method": "POST"
        }
      },
      "description": "Generate vector embeddings from various content types including text, images, audio, and PDF files"
    },
    {
      "name": "Analyze Sentiment",
      "value": "analyze-sentiment",
      "action": "Analyze sentiment",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/sentiment\"}}",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      },
      "description": "Perform line by line sentiment analysis on any text with detailed emotion detection"
    },
    {
      "name": "Text to Speech",
      "value": "text-to-speech",
      "action": "Convert text to speech",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/tts\"}}",
          "body": {
            "text": "={{$parameter.text}}",
            "accent": "={{$parameter.accent === \"other\" ? $parameter.accent_custom : $parameter.accent}}",
            "voice_id": "={{$parameter.voice_id}}",
            "return_type": "={{$parameter.return_type}}"
          },
          "method": "POST"
        }
      },
      "description": "Transform text into natural-sounding human-like AI voices"
    },
    {
      "name": "Speech to Text",
      "value": "speech-to-text",
      "action": "Transcribe video and audio to text",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/transcribe\"}}",
          "body": {
            "url": "={{$parameter.audioSource === \"url\" ? $parameter.url : undefined}}",
            "language": "={{$parameter.language && $parameter.language !== \"\" ? $parameter.language : undefined}}",
            "translate": "={{$parameter.translate !== undefined ? $parameter.translate : undefined}}",
            "batch_size": "={{$parameter.batch_size && $parameter.batch_size > 0 ? $parameter.batch_size : undefined}}",
            "by_speaker": "={{$parameter.by_speaker !== undefined ? $parameter.by_speaker : undefined}}",
            "webhook_url": "={{$parameter.webhook_url && $parameter.webhook_url !== \"\" ? $parameter.webhook_url : undefined}}",
            "file_store_key": "={{$parameter.audioSource === \"file_store_key\" ? $parameter.file_store_key : undefined}}"
          },
          "method": "POST"
        }
      },
      "description": "Transcribe video and audio files with ease leveraging Whisper large V3 AI model"
    },
    {
      "name": "Image Generation",
      "value": "image-generation",
      "action": "Generate image",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/image_generation\"}}",
          "body": {
            "url": "={{$parameter.url ? $parameter.url : undefined}}",
            "steps": "={{$parameter.steps}}",
            "width": "={{$parameter.width}}",
            "height": "={{$parameter.height}}",
            "prompt": "={{$parameter.prompt}}",
            "return_type": "={{$parameter.return_type}}",
            "aspect_ratio": "={{$parameter.aspect_ratio}}",
            "output_format": "={{$parameter.output_format}}",
            "advance_config": "={{JSON.parse($parameter.advance_config)}}",
            "file_store_key": "={{$parameter.file_store_key}}"
          },
          "method": "POST"
        }
      },
      "description": "Generate an image using JigsawStack AI"
    },
    {
      "name": "NSFW Detection",
      "value": "nsfw-detection",
      "action": "NSFW Detection",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/validate/nsfw\"}}",
          "body": {
            "url": "={{$parameter.url}}"
          },
          "method": "POST"
        }
      },
      "description": "Detect if the text or content is NSFW"
    },
    {
      "name": "Profanity Detection",
      "value": "profanity-detection",
      "action": "Profanity detection",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/validate/profanity\"}}",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      },
      "description": "Detect if the text or content is profane"
    },
    {
      "name": "Spell Check",
      "value": "spell-check",
      "action": "Spell check",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/validate/spell_check\"}}",
          "body": {
            "text": "={{$parameter.text}}",
            "language_code": "={{$parameter.language_code}}"
          },
          "method": "POST"
        }
      },
      "description": "Check the spelling of the text"
    },
    {
      "name": "Spam Detection",
      "value": "spam-detection",
      "action": "Spam detection",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/validate/spam_check\"}}",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      },
      "description": "Detect if the text or content is spam"
    },
    {
      "name": "Summary",
      "value": "summary",
      "action": "Summary",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/summary\"}}",
          "body": {
            "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
            "text": "={{$parameter.text}}",
            "type": "={{$parameter.type}}",
            "max_points": "={{$parameter.max_points}}",
            "file_store_key": "={{$parameter.file_store_key && $parameter.file_store_key !== \"\" ? $parameter.file_store_key : undefined}}",
            "max_characters": "={{$parameter.max_characters}}"
          },
          "method": "POST"
        }
      },
      "description": "Generate concise, intelligent summaries of text or documents with AI"
    },
    {
      "name": "Make Prediction",
      "value": "make-prediction",
      "action": "Make prediction",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/prediction\"}}",
          "body": {
            "steps": "={{$parameter.steps}}",
            "dataset": "={{JSON.parse($parameter.dataset)}}"
          },
          "method": "POST"
        }
      },
      "description": "Forecast a wide range of time series data in seconds with one simple API and no data training"
    },
    {
      "name": "Convert to SQL",
      "value": "convert-to-sql",
      "action": "Convert natural language to SQL",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/sql\"}}",
          "body": {
            "prompt": "={{$parameter.prompt}}",
            "database": "={{$parameter.database}}",
            "sql_schema": "={{$parameter.sql_schema}}",
            "file_store_key": "={{$parameter.file_store_key}}"
          },
          "method": "POST"
        }
      },
      "description": "Convert natural language to SQL queries for various database types"
    },
    {
      "name": "Web Suggestion",
      "value": "web-suggestion",
      "action": "Web suggestion",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/web/search/suggest?query=\" + $parameter.query}}",
          "method": "GET"
        }
      },
      "description": "Get web suggestions for a given query"
    },
    {
      "name": "AI Scrape",
      "value": "ai-scrape",
      "action": "Scrape website with AI",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/scrape\"}}",
          "body": {
            "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
            "html": "={{$parameter.html && $parameter.html !== \"\" ? $parameter.html : undefined}}",
            "scale": "={{$parameter.scale && $parameter.scale >= 1 ? $parameter.scale : undefined}}",
            "width": "={{$parameter.width && $parameter.width > 0 ? $parameter.width : undefined}}",
            "height": "={{$parameter.height && $parameter.height > 0 ? $parameter.height : undefined}}",
            "cookies": "={{$parameter.cookies && $parameter.cookies !== \"\" ? JSON.parse($parameter.cookies) : undefined}}",
            "wait_for": "={{$parameter.wait_for && $parameter.wait_for !== \"\" ? JSON.parse($parameter.wait_for) : undefined}}",
            "byo_proxy": "={{$parameter.byo_proxy && $parameter.byo_proxy !== \"\" ? JSON.parse($parameter.byo_proxy) : undefined}}",
            "is_mobile": "={{$parameter.is_mobile !== undefined ? $parameter.is_mobile : undefined}}",
            "size_preset": "={{$parameter.size_preset && $parameter.size_preset !== \"\" ? $parameter.size_preset : undefined}}",
            "goto_options": "={{$parameter.goto_options && $parameter.goto_options !== \"\" ? JSON.parse($parameter.goto_options) : undefined}}",
            "http_headers": "={{$parameter.http_headers && $parameter.http_headers !== \"\" ? JSON.parse($parameter.http_headers) : undefined}}",
            "page_position": "={{$parameter.page_position && $parameter.page_position > 0 ? $parameter.page_position : undefined}}",
            "advance_config": "={{$parameter.advance_config && $parameter.advance_config !== \"\" ? JSON.parse($parameter.advance_config) : undefined}}",
            "element_prompts": "={{$parameter.element_prompts && $parameter.element_prompts.length > 0 ? $parameter.element_prompts : undefined}}",
            "force_rotate_proxy": "={{$parameter.force_rotate_proxy !== undefined ? $parameter.force_rotate_proxy : undefined}}",
            "root_element_selector": "={{$parameter.root_element_selector && $parameter.root_element_selector !== \"\" ? $parameter.root_element_selector : undefined}}",
            "reject_request_pattern": "={{$parameter.reject_request_pattern && $parameter.reject_request_pattern.length > 0 ? $parameter.reject_request_pattern : undefined}}"
          },
          "method": "POST"
        }
      },
      "description": "Scrape any website instantly and get consistent structured data in seconds without writing any CSS selector code"
    },
    {
      "name": "HTML to Any",
      "value": "html-to-any",
      "action": "Convert HTML/URL to image or PDF",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/web/html_to_any\"}}",
          "body": {
            "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
            "html": "={{$parameter.html && $parameter.html !== \"\" ? $parameter.html : undefined}}",
            "type": "={{$parameter.type}}",
            "scale": "={{$parameter.scale && $parameter.scale >= 1 ? $parameter.scale : undefined}}",
            "width": "={{$parameter.width && $parameter.width > 0 ? $parameter.width : undefined}}",
            "height": "={{$parameter.height && $parameter.height > 0 ? $parameter.height : undefined}}",
            "quality": "={{$parameter.quality && $parameter.quality > 0 ? $parameter.quality : undefined}}",
            "dark_mode": "={{$parameter.dark_mode !== undefined ? $parameter.dark_mode : undefined}}",
            "full_page": "={{$parameter.full_page !== undefined ? $parameter.full_page : undefined}}",
            "is_mobile": "={{$parameter.is_mobile !== undefined ? $parameter.is_mobile : undefined}}",
            "return_type": "={{$parameter.return_type}}",
            "size_preset": "={{$parameter.size_preset && $parameter.size_preset !== \"\" ? $parameter.size_preset : undefined}}",
            "goto_options": "={{$parameter.goto_options && $parameter.goto_options !== \"\" ? JSON.parse($parameter.goto_options) : undefined}}",
            "pdf_page_range": "={{$parameter.pdf_page_range && $parameter.pdf_page_range !== \"\" ? $parameter.pdf_page_range : undefined}}",
            "omit_background": "={{$parameter.omit_background !== undefined ? $parameter.omit_background : undefined}}",
            "pdf_print_background": "={{$parameter.pdf_print_background !== undefined ? $parameter.pdf_print_background : undefined}}",
            "use_graphic_renderer": "={{$parameter.use_graphic_renderer !== undefined ? $parameter.use_graphic_renderer : undefined}}",
            "pdf_display_header_footer": "={{$parameter.pdf_display_header_footer !== undefined ? $parameter.pdf_display_header_footer : undefined}}"
          },
          "method": "POST"
        }
      },
      "description": "Capture screenshots of a website, convert HTML to both image and PDF formats"
    },
    {
      "name": "Process Image",
      "value": "process-image",
      "action": "Process image with v ocr",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/vocr\"}}",
          "body": {
            "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
            "prompt": "={{$parameter.prompt && $parameter.prompt !== \"\" ? $parameter.prompt : undefined}}",
            "page_range": "={{$parameter.page_range && $parameter.page_range !== \"\" ? JSON.parse($parameter.page_range) : undefined}}",
            "file_store_key": "={{$parameter.file_store_key && $parameter.file_store_key !== \"\" ? $parameter.file_store_key : undefined}}"
          },
          "method": "POST"
        }
      },
      "description": "Process an image using vOCR to recognize and extract data"
    },
    {
      "name": "Translate Image",
      "value": "translate-image",
      "action": "Translate image",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/translate/image\"}}",
          "body": {
            "url": "={{$parameter.url ? $parameter.url : undefined }}",
            "return_type": "={{$parameter.return_type}}",
            "file_store_key": "={{$parameter.file_store_key ? $parameter.file_store_key : undefined}}",
            "target_language": "={{$parameter.target_language}}"
          },
          "method": "POST"
        }
      },
      "description": "Translate image from one language to another"
    },
    {
      "name": "Object Detection",
      "value": "object-detection",
      "action": "Object detection",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/ai/object_detection\"}}",
          "body": {
            "url": "={{$parameter.url && $parameter.url !== \"\" ? $parameter.url : undefined}}",
            "file_store_key": "={{$parameter.file_store_key && $parameter.file_store_key !== \"\" ? $parameter.file_store_key : undefined}}"
          },
          "method": "POST"
        }
      },
      "description": "Detect objects in an image"
    }
  ]

npm_readme:
  <img width="1024" alt="Screenshot 2025-06-18 at 1 43 10 AM" src="https://github.com/user-attachments/assets/234f078b-641d-411f-bba2-4a7781f699b3" />

  # JigsawStack n8n Node

  This n8n node provides integration with JigsawStack's powerful AI and data processing APIs. It allows you to easily incorporate various AI capabilities into your n8n workflows.

  ## Features

  The JigsawStack node supports the following operations:

  - **Text Processing**
    - Translate text between languages
    - Generate text embeddings (supports text, images, audio, and PDF files)
    - Analyze sentiment
    - Check spelling
    - Detect profanity
    - Generate text summaries
    - Convert natural language to SQL queries

  - **Speech & Audio**
    - Text to Speech conversion
    - Speech to Text conversion with Whisper V3 (supports multiple languages, speaker identification, translation, and batch processing)

  - **Image Processing**
    - Generate images from text descriptions
    - Process images with AI-powered analysis
    - Detect objects in images
    - NSFW content detection
    - Visual OCR (VOCR) for extracting text and data from images
    - Translate text within images
    - Support for multi-page document processing

  - **Web & Data**
    - Web search with AI-powered results
    - AI-powered web scraping
    - HTML to Any conversion (screenshots, images, PDFs)
    - Web suggestions
    - Spam detection

  - **AI & Machine Learning**
    - Make predictions using trained models
    - Generate embeddings from multiple content types (text, images, audio, PDF)
    - Token overflow handling for large content

  ## Prerequisites

  - n8n instance (self-hosted or cloud)
  - Node.js >=20.15
  - JigsawStack API key

  ## Installation

  1. Install the node in your n8n instance:
     ```bash
     npm install n8n-node-jigsawstack
     ```

  2. Restart your n8n instance

  ## Authentication

  To use this node, you need to:

  1. Sign up for a JigsawStack account at [jigsawstack.com](https://jigsawstack.com)
  2. Get your API key from the JigsawStack dashboard
  3. In n8n, add your JigsawStack credentials:
     - Go to Settings > Credentials
     - Click "New"
     - Select "JigsawStack API"
     - Enter your API key
      
  ## Usage

  1. Add the JigsawStack node to your workflow
  2. Select the desired operation from the Resource dropdown
  3. Configure the operation-specific parameters
  4. Connect the node to other nodes in your workflow

  ## Available Resources

  - **Translate Text** - Translate text between different languages
  - **Translate Image** - Translate text within images
  - **Search Web** - Perform web searches
  - **Generate Embedding** - Create text embeddings for AI applications
  - **Analyze Sentiment** - Analyze the sentiment of text
  - **Text to Speech** - Convert text to speech
  - **Speech to Text** - Convert speech to text
  - **Image Generation** - Generate images from text descriptions
  - **NSFW Detection** - Detect inappropriate content in images
  - **Profanity Detection** - Detect profane language in text
  - **Spell Check** - Check and correct spelling in text
  - **Spam Detection** - Detect spam content
  - **Summary** - Generate text summaries
  - **Make Prediction** - Make predictions using AI models
  - **Convert to SQL** - Convert natural language to SQL queries
  - **Web Suggestion** - Get web search suggestions
  - **AI Scrape** - Scrape websites using AI
  - **HTML to Any** - Convert HTML/URLs to images (PNG, JPEG, WebP) or PDFs with screenshots
  - **Process Image** - Process and manipulate images
  - **Object Detection** - Detect objects in images
  - **Visual OCR (VOCR)** - Extract text from images

  ## Resources

  - [JigsawStack Documentation](https://docs.jigsawstack.com)
  - [n8n Documentation](https://docs.n8n.io)
  - [n8n Community](https://community.n8n.io)

  ## Support

  For support with this node:
  - Open an issue on [GitHub](https://github.com/JigsawStack/n8n-integration)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides an n8n node to integrate JigsawStack's AI and data-processing APIs into workflows, enabling text, speech, image, web and ML operations directly from n8n. It exposes a broad set of AI features (translation, embeddings, TTS/STT, image generation/analysis, web scraping, etc.) for automation and enrichment tasks.","capabilities":["Translate text between languages","Translate text within images (image translation)","Generate embeddings from text, images, audio, and PDF files","Analyze sentiment of text","Spell check and correction","Profanity detection in text","Generate text summaries","Convert natural language to SQL queries","Text to Speech (TTS) generation","Speech to Text (STT) transcription using Whisper V3 (multi-language, speaker identification, translation, batch processing)"],"authentication":"API key required (add 'JigsawStack API' credentials in n8n Settings > Credentials using your JigsawStack API key)","commonUseCases":["Automated multilingual content translation for text and images","Generating embeddings for semantic search, clustering, or similarity matching","Transcribing and translating audio at scale, including speaker identification and batch processing","Converting user requests in natural language to SQL queries for database workflows","Generating TTS audio for notifications, IVR or content pipelines"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-checkmk.checkmk
package_name: n8n-nodes-checkmk
display_name: Checkmk
description: Complete Checkmk monitoring system integration with 100% API coverage
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: marcoandredg
author_github_url: https://github.com/LynxmindRepo/
npm_package_name: n8n-nodes-checkmk
npm_version: 1.1.1
community_fetched_at: 2026-02-19T14:41:52.414Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "host",
      "options": [
        {
          "name": "Activate Change",
          "value": "activateChanges"
        },
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Audit Log",
          "value": "auditLog"
        },
        {
          "name": "Aux Tag",
          "value": "auxTag"
        },
        {
          "name": "Background Job",
          "value": "backgroundJob"
        },
        {
          "name": "BI Aggregation",
          "value": "biAggregation"
        },
        {
          "name": "BI Pack",
          "value": "biPack"
        },
        {
          "name": "BI Rule",
          "value": "biRule"
        },
        {
          "name": "Broker Connection",
          "value": "brokerConnection"
        },
        {
          "name": "Certificate",
          "value": "certificate"
        },
        {
          "name": "Comment",
          "value": "comment"
        },
        {
          "name": "Configuration Entity",
          "value": "configurationEntity"
        },
        {
          "name": "Contact Group",
          "value": "contactGroup"
        },
        {
          "name": "DCD",
          "value": "dcd"
        },
        {
          "name": "Discovery",
          "value": "discovery"
        },
        {
          "name": "Downtime",
          "value": "downtime"
        },
        {
          "name": "Event Console",
          "value": "eventConsole"
        },
        {
          "name": "Folder",
          "value": "folder"
        },
        {
          "name": "Host",
          "value": "host"
        },
        {
          "name": "Host Group",
          "value": "hostGroup"
        },
        {
          "name": "Host Status",
          "value": "hostStatus"
        },
        {
          "name": "Host Tag Group",
          "value": "hostTagGroup"
        },
        {
          "name": "LDAP Connection",
          "value": "ldapConnection"
        },
        {
          "name": "License Usage",
          "value": "licenseUsage"
        },
        {
          "name": "Metric",
          "value": "metric"
        },
        {
          "name": "Notification Rule",
          "value": "notificationRule"
        },
        {
          "name": "OpenTelemetry",
          "value": "openTelemetry"
        },
        {
          "name": "Parent Scan",
          "value": "parentScan"
        },
        {
          "name": "Password",
          "value": "password"
        },
        {
          "name": "Problem",
          "value": "problem"
        },
        {
          "name": "Quick Setup",
          "value": "quickSetup"
        },
        {
          "name": "Rule",
          "value": "rule"
        },
        {
          "name": "Ruleset",
          "value": "ruleset"
        },
        {
          "name": "SAML Connection",
          "value": "samlConnection"
        },
        {
          "name": "Service",
          "value": "service"
        },
        {
          "name": "Service Group",
          "value": "serviceGroup"
        },
        {
          "name": "Service Status",
          "value": "serviceStatus"
        },
        {
          "name": "Site",
          "value": "site"
        },
        {
          "name": "SLA",
          "value": "sla"
        },
        {
          "name": "Time Period",
          "value": "timePeriod"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "User Role",
          "value": "userRole"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a host",
          "description": "Create a new host"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a host",
          "description": "Delete a host"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a host",
          "description": "Get a host"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many hosts",
          "description": "Get many hosts"
        },
        {
          "name": "Move",
          "value": "move",
          "action": "Move a host",
          "description": "Move host to different folder"
        },
        {
          "name": "Rename",
          "value": "rename",
          "action": "Rename a host",
          "description": "Rename a host"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a host",
          "description": "Update a host"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "host"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a host group",
          "description": "Create a host group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a host group",
          "description": "Delete a host group"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a host group",
          "description": "Get a host group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many host groups",
          "description": "Get many host groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a host group",
          "description": "Update a host group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "hostGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a service group",
          "description": "Create a service group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a service group",
          "description": "Delete a service group"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a service group",
          "description": "Get a service group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many service groups",
          "description": "Get many service groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a service group",
          "description": "Update a service group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serviceGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a folder",
          "description": "Create a folder"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a folder",
          "description": "Delete a folder"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a folder",
          "description": "Get a folder"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many folders",
          "description": "Get many folders"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a folder",
          "description": "Update a folder"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a user",
          "description": "Create a user"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a user",
          "description": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a user",
          "description": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many users",
          "description": "Get many users"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a user",
          "description": "Update a user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a contact group",
          "description": "Create a contact group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a contact group",
          "description": "Delete a contact group"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a contact group",
          "description": "Get a contact group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many contact groups",
          "description": "Get many contact groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a contact group",
          "description": "Update a contact group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contactGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a time period",
          "description": "Create a time period"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a time period",
          "description": "Delete a time period"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a time period",
          "description": "Get a time period"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many time periods",
          "description": "Get many time periods"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a time period",
          "description": "Update a time period"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "timePeriod"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a rule",
          "description": "Get a rule"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many rules",
          "description": "Get many rules"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "rule"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "action": "Run discovery",
          "description": "Run service discovery"
        },
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get discovery status",
          "description": "Get discovery status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "discovery"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "activate",
      "options": [
        {
          "name": "Activate",
          "value": "activate",
          "action": "Activate changes",
          "description": "Activate pending changes"
        },
        {
          "name": "Get Pending",
          "value": "getPending",
          "action": "Get pending changes",
          "description": "Get pending changes"
        },
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get activation status",
          "description": "Get activation status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "activateChanges"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a site",
          "description": "Get a site"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many sites",
          "description": "Get many sites"
        },
        {
          "name": "Login",
          "value": "login",
          "action": "Login to site",
          "description": "Login to a site"
        },
        {
          "name": "Logout",
          "value": "logout",
          "action": "Logout from site",
          "description": "Logout from a site"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "site"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a service",
          "description": "Get a service"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many services",
          "description": "Get many services"
        },
        {
          "name": "Acknowledge Problem",
          "value": "acknowledge",
          "action": "Acknowledge a service problem",
          "description": "Acknowledge a service problem"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "service"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a downtime",
          "description": "Create a downtime"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a downtime",
          "description": "Delete a downtime"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a downtime",
          "description": "Get a downtime"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many downtimes",
          "description": "Get many downtimes"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "downtime"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many problems",
          "description": "Get many problems"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "problem"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getState",
      "options": [
        {
          "name": "Get State",
          "value": "getState",
          "action": "Get BI aggregation state",
          "description": "Get BI aggregation state"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "biAggregation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many BI packs",
          "description": "Get many BI packs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "biPack"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many BI rules",
          "description": "Get many BI rules"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "biRule"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a comment",
          "description": "Create a comment"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many comments",
          "description": "Get many comments"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a comment",
          "description": "Delete a comment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "comment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many event console entries",
          "description": "Get many event console entries"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "eventConsole"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many host statuses",
          "description": "Get many host statuses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "hostStatus"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many metrics",
          "description": "Get many metrics"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "metric"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many service statuses",
          "description": "Get many service statuses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serviceStatus"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "compute",
      "options": [
        {
          "name": "Compute",
          "value": "compute",
          "action": "Compute SLA data",
          "description": "Compute SLA data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sla"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many agents",
          "description": "Get many agents"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many audit logs",
          "description": "Get many audit logs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "auditLog"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an aux tag",
          "description": "Create an aux tag"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many aux tags",
          "description": "Get many aux tags"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an aux tag",
          "description": "Update an aux tag"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an aux tag",
          "description": "Delete an aux tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "auxTag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a host tag group",
          "description": "Create a host tag group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many host tag groups",
          "description": "Get many host tag groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a host tag group",
          "description": "Update a host tag group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a host tag group",
          "description": "Delete a host tag group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "hostTagGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an LDAP connection",
          "description": "Create an LDAP connection"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many LDAP connections",
          "description": "Get many LDAP connections"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an LDAP connection",
          "description": "Update an LDAP connection"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an LDAP connection",
          "description": "Delete an LDAP connection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ldapConnection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many notification rules",
          "description": "Get many notification rules"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "notificationRule"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an open telemetry collector",
          "description": "Create an OpenTelemetry collector"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many open telemetry collectors",
          "description": "Get many OpenTelemetry collectors"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an open telemetry collector",
          "description": "Update an OpenTelemetry collector"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an open telemetry collector",
          "description": "Delete an OpenTelemetry collector"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "openTelemetry"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "action": "Run parent scan",
          "description": "Run parent scan"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "parentScan"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many passwords",
          "description": "Get many passwords"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "password"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many rulesets",
          "description": "Get many rulesets"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ruleset"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a SAML connection",
          "description": "Create a SAML connection"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many SAML connections",
          "description": "Get many SAML connections"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a SAML connection",
          "description": "Update a SAML connection"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a SAML connection",
          "description": "Delete a SAML connection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "samlConnection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a user role",
          "description": "Create a user role"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many user roles",
          "description": "Get many user roles"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a user role",
          "description": "Update a user role"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a user role",
          "description": "Delete a user role"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "userRole"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many background jobs",
          "description": "Get many background jobs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "backgroundJob"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many broker connections",
          "description": "Get many broker connections"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "brokerConnection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many certificates",
          "description": "Get many certificates"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "certificate"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many configuration entities",
          "description": "Get many configuration entities"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "configurationEntity"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many DCD configurations",
          "description": "Get many DCD configurations"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dcd"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get license usage",
          "description": "Get license usage"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "licenseUsage"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many quick setup configurations",
          "description": "Get many quick setup configurations"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "quickSetup"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a host",
      "description": "Create a new host"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a host",
      "description": "Delete a host"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a host",
      "description": "Get a host"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many hosts",
      "description": "Get many hosts"
    },
    {
      "name": "Move",
      "value": "move",
      "action": "Move a host",
      "description": "Move host to different folder"
    },
    {
      "name": "Rename",
      "value": "rename",
      "action": "Rename a host",
      "description": "Rename a host"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a host",
      "description": "Update a host"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a host group",
      "description": "Create a host group"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a host group",
      "description": "Delete a host group"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a host group",
      "description": "Get a host group"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many host groups",
      "description": "Get many host groups"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a host group",
      "description": "Update a host group"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a service group",
      "description": "Create a service group"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a service group",
      "description": "Delete a service group"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a service group",
      "description": "Get a service group"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many service groups",
      "description": "Get many service groups"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a service group",
      "description": "Update a service group"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a folder",
      "description": "Create a folder"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a folder",
      "description": "Delete a folder"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a folder",
      "description": "Get a folder"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many folders",
      "description": "Get many folders"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a folder",
      "description": "Update a folder"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a user",
      "description": "Create a user"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a user",
      "description": "Delete a user"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a user",
      "description": "Get a user"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many users",
      "description": "Get many users"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a user",
      "description": "Update a user"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a contact group",
      "description": "Create a contact group"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a contact group",
      "description": "Delete a contact group"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a contact group",
      "description": "Get a contact group"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many contact groups",
      "description": "Get many contact groups"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a contact group",
      "description": "Update a contact group"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a time period",
      "description": "Create a time period"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a time period",
      "description": "Delete a time period"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a time period",
      "description": "Get a time period"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many time periods",
      "description": "Get many time periods"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a time period",
      "description": "Update a time period"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a rule",
      "description": "Get a rule"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many rules",
      "description": "Get many rules"
    },
    {
      "name": "Run",
      "value": "run",
      "action": "Run discovery",
      "description": "Run service discovery"
    },
    {
      "name": "Get Status",
      "value": "getStatus",
      "action": "Get discovery status",
      "description": "Get discovery status"
    },
    {
      "name": "Activate",
      "value": "activate",
      "action": "Activate changes",
      "description": "Activate pending changes"
    },
    {
      "name": "Get Pending",
      "value": "getPending",
      "action": "Get pending changes",
      "description": "Get pending changes"
    },
    {
      "name": "Get Status",
      "value": "getStatus",
      "action": "Get activation status",
      "description": "Get activation status"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a site",
      "description": "Get a site"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many sites",
      "description": "Get many sites"
    },
    {
      "name": "Login",
      "value": "login",
      "action": "Login to site",
      "description": "Login to a site"
    },
    {
      "name": "Logout",
      "value": "logout",
      "action": "Logout from site",
      "description": "Logout from a site"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a service",
      "description": "Get a service"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many services",
      "description": "Get many services"
    },
    {
      "name": "Acknowledge Problem",
      "value": "acknowledge",
      "action": "Acknowledge a service problem",
      "description": "Acknowledge a service problem"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a downtime",
      "description": "Create a downtime"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a downtime",
      "description": "Delete a downtime"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a downtime",
      "description": "Get a downtime"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many downtimes",
      "description": "Get many downtimes"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many problems",
      "description": "Get many problems"
    },
    {
      "name": "Get State",
      "value": "getState",
      "action": "Get BI aggregation state",
      "description": "Get BI aggregation state"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many BI packs",
      "description": "Get many BI packs"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many BI rules",
      "description": "Get many BI rules"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a comment",
      "description": "Create a comment"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many comments",
      "description": "Get many comments"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a comment",
      "description": "Delete a comment"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many event console entries",
      "description": "Get many event console entries"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many host statuses",
      "description": "Get many host statuses"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many metrics",
      "description": "Get many metrics"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many service statuses",
      "description": "Get many service statuses"
    },
    {
      "name": "Compute",
      "value": "compute",
      "action": "Compute SLA data",
      "description": "Compute SLA data"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many agents",
      "description": "Get many agents"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many audit logs",
      "description": "Get many audit logs"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an aux tag",
      "description": "Create an aux tag"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many aux tags",
      "description": "Get many aux tags"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an aux tag",
      "description": "Update an aux tag"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an aux tag",
      "description": "Delete an aux tag"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a host tag group",
      "description": "Create a host tag group"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many host tag groups",
      "description": "Get many host tag groups"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a host tag group",
      "description": "Update a host tag group"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a host tag group",
      "description": "Delete a host tag group"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an LDAP connection",
      "description": "Create an LDAP connection"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many LDAP connections",
      "description": "Get many LDAP connections"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an LDAP connection",
      "description": "Update an LDAP connection"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an LDAP connection",
      "description": "Delete an LDAP connection"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many notification rules",
      "description": "Get many notification rules"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an open telemetry collector",
      "description": "Create an OpenTelemetry collector"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many open telemetry collectors",
      "description": "Get many OpenTelemetry collectors"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an open telemetry collector",
      "description": "Update an OpenTelemetry collector"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an open telemetry collector",
      "description": "Delete an OpenTelemetry collector"
    },
    {
      "name": "Run",
      "value": "run",
      "action": "Run parent scan",
      "description": "Run parent scan"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many passwords",
      "description": "Get many passwords"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many rulesets",
      "description": "Get many rulesets"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a SAML connection",
      "description": "Create a SAML connection"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many SAML connections",
      "description": "Get many SAML connections"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a SAML connection",
      "description": "Update a SAML connection"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a SAML connection",
      "description": "Delete a SAML connection"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a user role",
      "description": "Create a user role"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many user roles",
      "description": "Get many user roles"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a user role",
      "description": "Update a user role"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a user role",
      "description": "Delete a user role"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many background jobs",
      "description": "Get many background jobs"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many broker connections",
      "description": "Get many broker connections"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many certificates",
      "description": "Get many certificates"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many configuration entities",
      "description": "Get many configuration entities"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many DCD configurations",
      "description": "Get many DCD configurations"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get license usage",
      "description": "Get license usage"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many quick setup configurations",
      "description": "Get many quick setup configurations"
    }
  ]

npm_readme:
  # n8n-nodes-checkmk

  This is an n8n community node. It lets you use Checkmk in your n8n workflows.

  Checkmk is an IT monitoring platform for hybrid infrastructure, providing observability for servers, networks, cloud services, and applications from a single dashboard.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  ## Documentation

  For complete documentation including installation, operations, credentials, usage examples, and troubleshooting, see [DOCUMENTATION.md](DOCUMENTATION.md).

ai_documentation_summary:
  {"purpose":"Provides a complete integration between n8n and Checkmk, enabling automated interaction with a Checkmk monitoring system from n8n workflows with full API coverage.","capabilities":["Create, read, update, and delete hosts and host configurations","Create, read, update, and delete services and service checks","Query monitoring status and check results (hosts/services)","Manage events, alerts, notifications, and incidents","Control and trigger checks and check execution","Manage users, roles, and access/configuration objects","Read metrics and performance data for monitoring and reporting","Manage rulesets, inventories, and configuration bundles/sites via API"],"authentication":"Not specified in the README (see DOCUMENTATION.md). Checkmk typically uses API/automation-user credentials or API tokens for authentication.","commonUseCases":["Automatically create or update hosts and services from discovery/orchestration workflows","Fetch current host/service status to drive conditional workflow steps or incident automation","Trigger checks or refresh monitoring data as part of deployment pipelines","Automatically create alerts or notifications in response to external events","Sync inventory or configuration changes from CMDBs and version-controlled config"],"limitations":[],"relatedNodes":[]}


node_type: @waapi/n8n-nodes-waalaxy.waalaxy
package_name: @waapi/n8n-nodes-waalaxy
display_name: Waalaxy
description: Consume data from the Waalaxy API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: fabazad74
author_github_url: https://github.com/Waapi-Pro/n8n-nodes-waalaxy.git
npm_package_name: @waapi/n8n-nodes-waalaxy
npm_version: 1.0.7
community_fetched_at: 2026-02-19T14:41:52.417Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "prospect",
      "options": [
        {
          "name": "Prospect",
          "value": "prospect"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "importProspect",
      "options": [
        {
          "name": "Import",
          "value": "importProspect",
          "action": "Import",
          "routing": {
            "send": {
              "type": "body",
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "prospects/addProspectFromIntegration",
              "method": "POST"
            }
          },
          "description": "Import a prospect in the Waalaxy CRM"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prospect"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Import",
      "value": "importProspect",
      "action": "Import",
      "routing": {
        "send": {
          "type": "body",
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "prospects/addProspectFromIntegration",
          "method": "POST"
        }
      },
      "description": "Import a prospect in the Waalaxy CRM"
    }
  ]

npm_readme:
  # n8n-nodes-waalaxy

  ![Waalaxy](https://img.shields.io/badge/Waalaxy-Integration-5C5CFF?style=for-the-badge)
  ![n8n](https://img.shields.io/badge/n8n-Community%20Node-FF6D5A?style=for-the-badge)
  ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)

  This is an n8n community node that integrates [Waalaxy](https://waalaxy.com) with your n8n workflows. Waalaxy is a LinkedIn automation tool that helps you automate your prospecting and outreach campaigns.

  ## Table of Contents

  - [Features](#features)
  - [Installation](#installation)
  - [Credentials](#credentials)
  - [Operations](#operations)
    - [Prospect](#prospect)
  - [Usage Examples](#usage-examples)
  - [Development](#development)
  - [Resources](#resources)
  - [License](#license)

  ## Features

  - 🚀 **Add Prospects** — Import prospects into Waalaxy from any source via n8n
  - 📋 **Prospect Lists** — Dynamically select and manage prospect lists
  - 🎯 **Campaign Integration** — Automatically add prospects to campaigns
  - 🔄 **Duplicate Handling** — Control how duplicates are managed

  ## Installation

  ### Community Nodes (Recommended)

  1. Open your n8n instance
  2. Go to **Settings** > **Community Nodes**
  3. Select **Install**
  4. Enter `@waapi/n8n-nodes-waalaxy` in the input field
  5. Agree to the risks of using community nodes
  6. Click **Install**

  ### Manual Installation

  To install this node manually, run the following command in your n8n installation directory:

  ```bash
  npm install @waapi/n8n-nodes-waalaxy
  ```

  Then restart your n8n instance.

  ## Credentials

  Before using this node, you need to configure your Waalaxy API credentials.

  ### Setting Up Credentials

  1. In n8n, go to **Credentials** > **New Credential**
  2. Search for **Waalaxy API**
  3. Enter your **Access Token**
  4. Click **Save**

  ### Obtaining Your Access Token

  1. Log in to your [Waalaxy account](https://app.waalaxy.com)
  2. Navigate to your account settings
  3. Find the Integration section and generate an access token
  4. Copy the token and paste it into n8n

  > **Note:** Keep your access token secure and never share it publicly.

  ## Operations

  ### Prospect

  #### Add to List and Campaign

  Add prospects to a prospect list and optionally enroll them in a campaign.

  | Parameter                     | Type       | Required | Description                                      |
  | ----------------------------- | ---------- | -------- | ------------------------------------------------ |
  | Prospect List                 | Select     | Yes      | The prospect list to add prospects to            |
  | Campaign                      | Select     | No       | Optional campaign to enroll prospects in         |
  | Prospects                     | Collection | Yes      | List of prospects to add                         |
  | Move Duplicates to Other List | Boolean    | No       | Whether to move duplicates to the specified list |
  | Can Create Duplicates         | Boolean    | No       | Whether to allow creating duplicate prospects    |

  **Prospect Fields:**

  | Field                | Type       | Required | Description                                            |
  | -------------------- | ---------- | -------- | ------------------------------------------------------ |
  | LinkedIn URL         | String     | Yes      | The LinkedIn profile URL of the prospect               |
  | First Name           | String     | No       | First name of the prospect                             |
  | Last Name            | String     | No       | Last name of the prospect                              |
  | Email                | String     | No       | Email address of the prospect                          |
  | Company Name         | String     | No       | The name of the prospect's company                     |
  | Company LinkedIn URL | String     | No       | The LinkedIn URL of the prospect's company             |
  | Company Website      | String     | No       | The website of the prospect's company                  |
  | Headline             | String     | No       | The headline of the prospect (e.g. LinkedIn headline)  |
  | Occupation           | String     | No       | The occupation of the prospect                         |
  | Region               | String     | No       | The region/location of the prospect                    |
  | Gender               | Select     | No       | Gender of the prospect (Male, Female, Undetermined)    |
  | Birthday Day         | Number     | No       | The day of the month of the prospect's birthday (1-31) |
  | Birthday Month       | Number     | No       | The month of the prospect's birthday (1-12)            |
  | Phone Numbers        | Collection | No       | Phone numbers with type (Mobile, Work, Home, Other)    |

  ## Usage Examples

  ### Example 1: Bulk Import from Google Sheets

  1. **Google Sheets node** — Read prospect data from a spreadsheet
  2. **Waalaxy node** — Add prospects to your list and campaign

  ```
  [Google Sheets] → [Waalaxy: Add to List and Campaign]
  ```

  ### Example 2: Webhook Integration

  Automatically add new leads to Waalaxy when a form is submitted:

  ```
  [Webhook Trigger] → [Waalaxy: Add to List and Campaign]
  ```

  ### Example 3: CRM Integration

  Sync prospects from your CRM to Waalaxy campaigns:

  ```
  [HubSpot/Salesforce] → [Filter] → [Waalaxy: Add to List and Campaign]
  ```

  ## Development

  ### Prerequisites

  - Node.js (v18 or higher recommended)
  - npm or pnpm
  - n8n installed locally for testing

  ### Setup

  1. Clone the repository:

  ```bash
  git clone https://github.com/Waapi-Pro/n8n-nodes-waalaxy.git
  cd n8n-nodes-waalaxy
  ```

  2. Install dependencies:

  ```bash
  npm install
  ```

  3. Build the project:

  ```bash
  npm run build
  ```

  ### Available Scripts

  | Script                | Description                           |
  | --------------------- | ------------------------------------- |
  | `npm run build`       | Build the node for production         |
  | `npm run build:watch` | Build with watch mode for development |
  | `npm run dev`         | Start development mode                |
  | `npm run lint`        | Run ESLint to check for code issues   |
  | `npm run lint:fix`    | Automatically fix linting issues      |
  | `npm run release`     | Create a new release                  |

  ### Testing Locally

  To test the node locally with n8n:

  1. Build the node:

  ```bash
  npm run build
  ```

  2. Link the node to your global n8n installation:

  ```bash
  npm link
  ```

  3. In your n8n directory, link the package:

  ```bash
  npm link @waapi/n8n-nodes-waalaxy
  ```

  4. Start n8n:

  ```bash
  n8n start
  ```

  Alternatively, use the development mode:

  ```bash
  npm run dev
  ```

  ### Project Structure

  ```
  n8n-nodes-waalaxy/
  ├── credentials/
  │   └── WaalaxyApi.credentials.ts    # API credentials configuration
  ├── nodes/
  │   └── Waalaxy/
  │       ├── listSearch/              # Dynamic list loading functions
  │       │   ├── getCampaigns.ts      # Fetch available campaigns
  │       │   └── getProspectLists.ts  # Fetch available prospect lists
  │       ├── resources/
  │       │   └── prospect/            # Prospect resource operations
  │       │       ├── index.ts
  │       │       └── addToListAndCampaign.ts
  │       ├── shared/
  │       │   ├── descriptions.ts      # Shared UI components
  │       │   └── transport.ts         # API request helper
  │       ├── Waalaxy.node.ts          # Main node definition
  │       └── Waalaxy.node.json        # Node metadata
  ├── icons/                           # Node icons (light/dark themes)
  ├── dist/                            # Compiled output
  ├── package.json
  └── tsconfig.json
  ```

  ## Support

  If you encounter any issues or have questions:

  - Open an issue on [GitHub](https://github.com/Waapi-Pro/n8n-nodes-waalaxy/issues)
  - Contact the author at simon.moulin@waalaxy.fr

ai_documentation_summary:
  {"purpose":"Integrate Waalaxy with n8n workflows to import and manage prospects, add them to prospect lists, and optionally enroll them in Waalaxy campaigns.","capabilities":["Add prospects to a Waalaxy prospect list (bulk or individual)","Optionally enroll added prospects into a campaign","Select and manage prospect lists and campaigns dynamically","Map prospect fields (LinkedIn URL, name, email, company, headline, occupation, region, gender, birthday, phone numbers with types)","Handle duplicate behavior (move duplicates to another list, allow or prevent creating duplicates)","Accept collections of prospects for bulk imports"],"authentication":"API token (Access Token) — configure Waalaxy API credentials in n8n (Access Token)","commonUseCases":["Bulk import prospects from Google Sheets into Waalaxy lists and campaigns","Automatically add form/webhook leads to Waalaxy prospect lists and campaigns","Synchronize prospects from CRMs (HubSpot, Salesforce) into Waalaxy campaigns for outreach automation"],"limitations":["README documents only the 'Add to List and Campaign' prospect operation — other CRUD operations (update, delete, fetch) are not described","No documented handling of API rate limits or retry behavior in the node README"],"relatedNodes":["Google Sheets","Webhook Trigger","HubSpot","Salesforce","Filter"]}


node_type: n8n-nodes-businessmap.businessmap
package_name: n8n-nodes-businessmap
display_name: Businessmap
description: Read, write, update and delete data from Businessmap
category: Community
development_style: declarative
version: 1.0.5
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: businessmap
author_github_url: https://github.com/kanbanize/
npm_package_name: n8n-nodes-businessmap
npm_version: 1.0.5
community_fetched_at: 2026-02-19T14:41:52.417Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-businessmap

  This is the official n8n community node working with the [Businessmap API](https://demo.businessmap.io/openapi/). 

  **Businessmap** is the most flexible software platform for outcomes-driven enterprise agility. The unmatched functionality consolidates multiple tools into one, enabling affordable deployment at scale, visibility across all projects/portfolios, and alignment on goals, to deliver quality work faster. 


  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)  
  [Usage](#usage)
  [Resources](#resources)  

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  ### Supported Triggers
  The **Businessmap n8n community node** supports the following triggers:
  * `All Events`
  * `Card Created`
  * `Card Details Changed`
  * `Card Discarded`
  * `Card Restored`
  * `Card Moved`
  * `Card Archived`
  * `Card Is Unarchived`
  * `Comment Created`
  * `Comment Updated`
  * `Comment Deleted`
  * `Subtask Created`
  * `Subtask Updated`
  * `Subtask Deleted`
  * `Board Renamed`
  * `Board Archived`
  * `Board Unarchived`
  * `Board Deleted`
  * `Board Structure Changed`

  ### Supported Actions
  The **Businessmap n8n community node** supports the following actions:
  * `Create Card`: Create a card in a board of your choice. Set card details including custom fields, stickers and tags.
  * `Update Card`: Update the properties of a card (Title, Description, Priority, Size, Deadline, etc.).
  * `Move Card`: Move a card to a new column, lane or board.
  * `Get Card by ID`: Get the details of a card by its internal ID.
  * `Get Card by Custom Card ID`: Find card by custom card ID. If multiple cards are found, all will be returned. Use "Board" parameter to filter search by boards.
  * `Get All Cards Per Board`: Get all cards from a selected board. The response contains up to 200 cards. To retrieve more than 200 cards, please use pagination.
  * `Link Card`: Link a card to an existing card.
  * `Unlink Card`: Remove a link between two cards.
  * `Set Custom Fields`: Sets values of custom fields.
  * `Block Card`: Block a card.
  * `Unblock Card`: Unblock a card.
  * `Archive Card`: Add card to archive.
  * `Unarchive Card`: Extract card from archive.
  * `Discard Card`: Discard a card.
  * `Restore Card`: Restore a previously discarded card.
  * `Add Comment`: Add a comment to a card.
  * `Create Subtask`: Create a new subtask of a card.
  * `Log Time`: Log time to a card.
  * `Upload Attachment`: Upload an attachment to a card.
  * `Download Attachment`: Download an attachment from a card.
  * `Get Card Attachments`: Get a list with all attachments for a specified card.
  * `Create Workspace`: Create a workspace.
  * `Update Workspace`: Update a workspace.
  * `Get Workspace`: Get a workspace.
  * `Get All Workspaces`: Get a list with all workspaces in the account.
  * `Create Board`: Create a board.
  * `Update Board`: Update a board.
  * `Get Board`: Get a board.
  * `Get All Boards`: Get a list with all boards.
  * `Get Board Structure`: Get board structure which includes all workflows, lanes and columns.
  * `Create Tag`: Create a tag.
  * `Update Tag`: Update a tag.
  * `Delete Tag`: Delete a tag.
  * `Get Tag`: Get a tag.
  * `Get All Tags`: Get a list with all tags.
  * `Assign Tag`: Assign a tag to a board.
  * `Create Sticker`: Create a sticker.
  * `Update Sticker`: Update a sticker.
  * `Delete Sticker`: Delete a sticker.
  * `Get Sticker`: Get a sticker.
  * `Get All Stickers`: Get a list with all stickers.
  * `Assign Sticker`: Assign a sticker to a board.


  ## Credentials

  * To use this **n8n community node**, you'll need a **Businessmap** account and a user with permissions to access the API. If you don’t have an account yet, [sign up here](https://businessmap.io/sign-up) to get started.

  To authenticate with the Businessmap API, you'll need to provide your domain name and API key when setting up your credentials. Follow the instructions provided on the [Businessmap API page](https://businessmap.io/api) to obtain your API key.

  ## Compatibility

  Requires n8n version 1.0.0 or later
  Requires Node.js 20.15.0 or later

  ## Usage

  * Visit our [Knowledge Base](https://knowledgebase.businessmap.io/hc/en-us) to find answers to all your questions regarding Businessmap.
  * Contact our [customer support](https://businessmap.io/customer-support) with any specific request.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/builtin/app-nodes/)
  * [Create Businessmap Account](https://businessmap.io/sign-up)
  * [Knowledge Base](https://knowledgebase.businessmap.io/hc/en-us)
  * [Businessmap API documentation](https://demo.businessmap.io/openapi/#/)

ai_documentation_summary:
  {"purpose":"Provides triggers and actions to interact with the Businessmap API from n8n — enabling workflows to read, create, update, move, archive, comment on, and otherwise manage Businessmap cards, boards, workspaces, tags, stickers, attachments, subtasks and time entries.","capabilities":["Triggers: All Events; Card events (Created, Details Changed, Discarded, Restored, Moved, Archived, Unarchived); Comment events (Created, Updated, Deleted); Subtask events (Created, Updated, Deleted); Board events (Renamed, Archived, Unarchived, Deleted, Structure Changed)","Cards: Create Card, Update Card, Move Card, Get Card by ID, Get Card by Custom Card ID, Get All Cards Per Board (pagination supported), Link Card, Unlink Card","Card state management: Set Custom Fields, Block Card, Unblock Card, Archive Card, Unarchive Card, Discard Card, Restore Card","Card interactions: Add Comment, Create Subtask, Log Time","Attachments: Upload Attachment, Download Attachment, Get Card Attachments (list)","Workspaces: Create Workspace, Update Workspace, Get Workspace, Get All Workspaces","Boards: Create Board, Update Board, Get Board, Get All Boards, Get Board Structure (workflows, lanes, columns)","Tags & Stickers: Create, Update, Delete, Get, Get All, Assign Tag/Sticker to board"],"authentication":"API key required (provide your Businessmap domain and API key in credentials)","commonUseCases":["Trigger workflows when cards or comments change (e.g., notify teams, update external systems)","Create or update cards in Businessmap from form submissions, issue trackers, or other tools","Automate board and workspace management (create/update boards or workspaces programmatically)","Manage tags/stickers and assign them to boards as part of automation","Sync attachments, comments, subtasks and time logs between Businessmap and other systems"],"limitations":["Get All Cards Per Board returns up to 200 cards per response — use pagination to retrieve more","Requires a Businessmap account and a user with API access (domain + API key); no OAuth2 flow described","Requires n8n >= 1.0.0 and Node.js >= 20.15.0"],"relatedNodes":[]}


node_type: n8n-nodes-triggercmd.triggercmd
package_name: n8n-nodes-triggercmd
display_name: TriggerCMD
description: Run a command on a computer.
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: rvandermey
author_github_url: https://github.com/rvmey/
npm_package_name: n8n-nodes-triggercmd
npm_version: 1.0.2
community_fetched_at: 2026-02-19T14:41:52.418Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-triggercmd

  This is an n8n community node. It lets you use TRIGGERcmd in your n8n workflows.

  TRIGGERcmd is a cloud service that allows you to run commands on your computers via the Internet.  You install the TRIGGERcmd agent on your Windows, Mac, or Linux computer, configure commands to run, then run them.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)  
  [Usage](#usage)  
  [Resources](#resources)

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

  ## Operations

  Run a command on a computer.

  ## Credentials

  Create an account at triggercmd.com and copy a token from the Instructions page.

  ## Compatibility

  Tested on n8n version 1.106.3

  ## Usage

  If the command you'll run on your computer via TRIGGERcmd has parameters enabled, you can use n8n node input data as command parameters.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [TRIGGERcmd](https://triggercmd.com)

ai_documentation_summary:
  {"purpose":"Trigger and run pre-configured commands on a Windows, macOS, or Linux computer via the TRIGGERcmd cloud service from an n8n workflow.","capabilities":["Run a configured TRIGGERcmd command on a registered computer","Pass n8n node input data as command parameters (when the command's parameters are enabled)","Operate with computers running Windows, macOS, or Linux via the TRIGGERcmd agent","Invoke remote scripts/commands over the Internet through the TRIGGERcmd service"],"authentication":"API token required (copy token from your TRIGGERcmd account Instructions page)","commonUseCases":["Remotely run maintenance or administration scripts on a computer","Trigger builds, deployments, or automation tasks on developer machines or servers","Execute OS-level commands (restart services, run updates) from workflows","Send dynamic values from an n8n workflow to a script via command parameters"],"limitations":["Requires the TRIGGERcmd agent installed and the desired commands configured on the target computer","Commands must have parameters enabled in TRIGGERcmd to accept n8n input as arguments","Depends on the TRIGGERcmd cloud service and network connectivity to reach the agent","Node tested with n8n version 1.106.3 — behavior on other versions may vary"],"relatedNodes":[]}


node_type: n8n-nodes-memara.memara
package_name: n8n-nodes-memara
display_name: Memara
description: Store and retrieve memories from Memara with semantic search
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: memaraio
author_github_url: https://github.com/memara-memory/
npm_package_name: n8n-nodes-memara
npm_version: 1.0.4
community_fetched_at: 2026-02-19T14:41:52.418Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "hidden",
      "default": "memory",
      "description": "n8n integrations work with memories within your assigned space",
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Memory",
          "value": "create",
          "action": "Create a memory",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true, \"id\": $response.body.id, \"memory\": $response.body } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "/api/v1/n8n/memories",
              "body": {
                "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : []}}",
                "title": "={{$parameter.title}}",
                "content": "={{$parameter.content}}"
              },
              "method": "POST"
            }
          },
          "description": "Store information as a memory"
        },
        {
          "name": "Search Memories",
          "value": "search",
          "action": "Search memories",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ $response.body.memories || [] }}"
                  }
                }
              ]
            },
            "request": {
              "url": "/api/v1/n8n/search",
              "body": {
                "limit": "={{$parameter.limit || 10}}",
                "query": "={{$parameter.query}}"
              },
              "method": "POST"
            }
          },
          "description": "Find relevant memories using semantic search"
        },
        {
          "name": "Update Memory",
          "value": "update",
          "action": "Update a memory",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"memory\": $response.body } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
              "body": {
                "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : undefined}}",
                "title": "={{$parameter.title}}",
                "content": "={{$parameter.content}}"
              },
              "method": "PUT"
            }
          },
          "description": "Modify an existing memory"
        },
        {
          "name": "Delete Memory",
          "value": "delete",
          "action": "Delete a memory",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"deleted\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
              "method": "DELETE"
            }
          },
          "description": "Remove a memory permanently"
        },
        {
          "name": "List Memories",
          "value": "list",
          "action": "List memories",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ $response.body.memories || [] }}"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "limit": "={{$parameter.limit || 50}}",
                "offset": "={{$parameter.offset || 0}}"
              },
              "url": "/api/v1/n8n/memories",
              "method": "GET"
            }
          },
          "description": "Get memories from your space"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "memory"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Memory",
      "value": "create",
      "action": "Create a memory",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true, \"id\": $response.body.id, \"memory\": $response.body } }}"
              }
            }
          ]
        },
        "request": {
          "url": "/api/v1/n8n/memories",
          "body": {
            "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : []}}",
            "title": "={{$parameter.title}}",
            "content": "={{$parameter.content}}"
          },
          "method": "POST"
        }
      },
      "description": "Store information as a memory"
    },
    {
      "name": "Search Memories",
      "value": "search",
      "action": "Search memories",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ $response.body.memories || [] }}"
              }
            }
          ]
        },
        "request": {
          "url": "/api/v1/n8n/search",
          "body": {
            "limit": "={{$parameter.limit || 10}}",
            "query": "={{$parameter.query}}"
          },
          "method": "POST"
        }
      },
      "description": "Find relevant memories using semantic search"
    },
    {
      "name": "Update Memory",
      "value": "update",
      "action": "Update a memory",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"memory\": $response.body } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
          "body": {
            "tags": "={{$parameter.tags ? $parameter.tags.split(\",\").map((tag) => tag.trim()).filter(Boolean) : undefined}}",
            "title": "={{$parameter.title}}",
            "content": "={{$parameter.content}}"
          },
          "method": "PUT"
        }
      },
      "description": "Modify an existing memory"
    },
    {
      "name": "Delete Memory",
      "value": "delete",
      "action": "Delete a memory",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"success\": true, \"id\": $parameter.memoryId, \"deleted\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/api/v1/n8n/memories/{{$parameter.memoryId}}",
          "method": "DELETE"
        }
      },
      "description": "Remove a memory permanently"
    },
    {
      "name": "List Memories",
      "value": "list",
      "action": "List memories",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ $response.body.memories || [] }}"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "limit": "={{$parameter.limit || 50}}",
            "offset": "={{$parameter.offset || 0}}"
          },
          "url": "/api/v1/n8n/memories",
          "method": "GET"
        }
      },
      "description": "Get memories from your space"
    }
  ]

npm_readme:
  # Memara n8n Community Node

  ![Memara Logo](https://raw.githubusercontent.com/memara-ai/brand/main/logos/light/memara_logo_256x256.png)

  A powerful n8n community node that integrates Memara's semantic memory system into your workflows. Store, search, and retrieve memories with AI-powered semantic search capabilities.

  ## 🚀 Features

  - **Semantic Memory Storage**: Store information with intelligent context understanding
  - **AI-Powered Search**: Find relevant memories using natural language queries
  - **Memory Spaces**: Organize memories in isolated spaces for different projects
  - **CRUD Operations**: Complete create, read, update, delete functionality
  - **API Integration**: Direct integration with Memara's production API
  - **Easy Configuration**: Simple API key authentication setup

  ## 📦 Installation

  ### Option 1: n8n Community Node Installation (Recommended)

  1. In your n8n instance, go to **Settings** → **Community Nodes**
  2. Enter the package name: `n8n-nodes-memara`
  3. Click **Install**

  ### Option 2: Manual Installation

  ```bash
  # Using npm
  npm install n8n-nodes-memara

  # Using yarn
  yarn add n8n-nodes-memara
  ```

  ### Option 3: Development Installation

  ```bash
  # Clone and install locally
  git clone https://github.com/memara-ai/n8n-nodes-memara.git
  cd n8n-nodes-memara
  npm install
  npm run build
  npm link

  # Link to your n8n installation
  cd ~/.n8n/nodes
  npm link n8n-nodes-memara
  ```

  ## 🔧 Configuration

  ### 1. Get Your Memara API Key

  1. Visit [Memara Dashboard](https://app.memara.io)
  2. Go to **Settings** → **API Keys**
  3. Create a new API key
  4. Copy the key (format: `mk_live_...`)

  ### 2. Configure Credentials in n8n

  1. In n8n, create a new **Memara API** credential
  2. Enter your API key
  3. (Optional) Set a default Space ID
  4. Test the connection

  ### 3. Add Memara Node to Workflow

  1. In your workflow, click **Add Node**
  2. Search for "Memara"
  3. Select the Memara node
  4. Choose your configured credentials

  ## 📝 Usage Examples

  ### Basic Memory Creation

  ```json
  {
    "resource": "memory",
    "operation": "create",
    "content": "Customer John Smith reported billing issue with invoice #12345. Resolved by applying 10% discount due to delayed delivery.",
    "title": "Customer Issue Resolution",
    "tags": "customer-service, billing, discount"
  }
  ```

  ### Semantic Memory Search

  ```json
  {
    "resource": "memory",
    "operation": "search",
    "query": "billing problems with customers",
    "limit": 5
  }
  ```

  ### Memory Space Management

  ```json
  {
    "resource": "space",
    "operation": "create",
    "name": "Customer Support",
    "description": "Knowledge base for customer support team"
  }
  ```

  ## 🎯 Common Workflow Patterns

  ### 1. Customer Support Knowledge Base

  ```
  1. HTTP Request → Fetch support ticket
  2. Memara → Search for similar issues
  3. Memara → Create memory of resolution
  4. Email → Send response to customer
  ```

  ### 2. Content Creation Assistant

  ```
  1. Webhook → Receive content request
  2. Memara → Search for related content
  3. Code → Generate new content using context
  4. Memara → Store new content as memory
  ```

  ### 3. Lead Qualification System

  ```
  1. Form → Capture lead information
  2. Memara → Search for similar leads
  3. Memara → Store lead profile
  4. Slack → Alert sales team with context
  ```

  ## 🔍 Available Operations

  ### Memory Operations

  | Operation | Description | Required Parameters |
  |-----------|-------------|-------------------|
  | **Create** | Store new memory | `content` |
  | **Search** | Find relevant memories | `query` |
  | **Update** | Modify existing memory | `memoryId`, `content` |
  | **Delete** | Remove memory | `memoryId` |
  | **List** | Get all memories | None |

  ### Space Operations

  | Operation | Description | Required Parameters |
  |-----------|-------------|-------------------|
  | **List** | Get all spaces | None |
  | **Create** | Create new space | `name` |

  ## ⚙️ Parameters Reference

  ### Memory Parameters

  - **Content** (required): The main content/information to store
  - **Title** (optional): Short title for the memory
  - **Tags** (optional): Comma-separated tags for organization
  - **Space ID** (optional): Target space (uses default if not specified)
  - **Memory ID** (required for update/delete): Unique memory identifier

  ### Search Parameters

  - **Query** (required): Natural language search query
  - **Limit** (optional): Maximum results to return (1-100, default: 10)
  - **Space ID** (optional): Search within specific space

  ### Space Parameters

  - **Name** (required): Space name
  - **Description** (optional): Space description

  ## 🐛 Troubleshooting

  ### Common Issues

  #### "Invalid API Key" Error
  - Verify your API key is correct and starts with `mk_live_`
  - Check that the key hasn't expired in your Memara dashboard
  - Ensure you're using the production API URL: `https://api.memara.io`

  #### "Space Not Found" Error
  - Verify the Space ID exists in your Memara account
  - Check if you have access to the specified space
  - Use the List Spaces operation to see available spaces

  #### Node Not Appearing in n8n
  - Restart n8n after installation
  - Check that the package installed correctly: `npm list n8n-nodes-memara`
  - Verify n8n version compatibility (requires n8n 1.0+)

  ### Getting Help

  - **Documentation**: [docs.memara.io](https://docs.memara.io)
  - **API Reference**: [docs.memara.io/api](https://docs.memara.io/api)
  - **Support**: [support@memara.io](mailto:support@memara.io)
  - **Community**: [Join our Discord](https://discord.gg/memara)

  ## 🧪 Development

  ### Local Development Setup

  ```bash
  # Clone the repository
  git clone https://github.com/memara-ai/n8n-nodes-memara.git
  cd n8n-nodes-memara

  # Start development environment
  ./scripts/docker-n8n.sh start

  # Access environments
  # Development: http://localhost:5678 (admin/admin)
  # Testing: http://localhost:5679 (admin/admin)
  ```

  ### Available Scripts

  ```bash
  # Build the node
  ./scripts/docker-n8n.sh build

  # Run linter
  ./scripts/docker-n8n.sh lint

  # View logs
  ./scripts/docker-n8n.sh logs

  # Execute commands in container
  ./scripts/docker-n8n.sh exec npm test
  ```

  ## 📄 License

  MIT License - see [LICENSE.md](LICENSE.md) for details

  ## 🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

  ## 📞 Support

  - **Website**: [memara.io](https://memara.io)
  - **Documentation**: [docs.memara.io](https://docs.memara.io)
  - **Email**: [support@memara.io](mailto:support@memara.io)
  - **GitHub Issues**: [Report a bug](https://github.com/memara-ai/n8n-nodes-memara/issues)

  ---

  Made with ❤️ by the [Memara Team](https://memara.io)

ai_documentation_summary:
  {"purpose":"Integrate Memara's semantic memory system into n8n workflows to store, search, and manage memories using AI-powered semantic search.","capabilities":["Create memory (store content, optional title and tags)","Semantic search of memories using natural-language queries","Update existing memories by memoryId","Delete memories by memoryId","List memories","Create and list memory Spaces (isolate memories by project/team)","Specify/search within a Space ID and set a default Space ID","Direct API integration with Memara via API key"],"authentication":"API key required (Memara API key, format starts with mk_live_, configured in n8n credentials)","commonUseCases":["Customer support knowledge base: search similar issues and store resolutions","Content creation assistant: find related content and store new content as memories","Lead qualification and enrichment: find similar leads and store lead profiles"],"limitations":["Requires a valid Memara API key (must start with mk_live_)","Space IDs must exist and be accessible; 'Space Not Found' can occur if incorrect","Search limit constrained to 1–100 (default 10)","n8n compatibility requirement noted (requires n8n 1.0+)","Update/Delete operations require memoryId"],"relatedNodes":["HTTP Request","Webhook","Code","Email","Slack"]}


node_type: n8n-nodes-beyondpresence.beyondPresence
package_name: n8n-nodes-beyondpresence
display_name: Beyond Presence
description: Deploy video agents with Beyond Presence
category: Marketing & Content
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: nicolabeyondpresence
author_github_url: https://github.com/bey-dev/
npm_package_name: n8n-nodes-beyondpresence
npm_version: 0.4.0
community_fetched_at: 2026-02-19T14:41:52.447Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "agent",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Avatar",
          "value": "avatar"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new agent",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "properties": {
                    "id": "={{ $responseItem.id }}",
                    "call_link": "=https://bey.chat/{{ $responseItem.id }}"
                  }
                }
              ]
            },
            "request": {
              "url": "/agent",
              "body": {
                "name": "={{ $parameter.name }}",
                "greeting": "={{ $parameter.greeting }}",
                "language": "={{ $parameter.language }}",
                "avatar_id": "={{ $parameter.avatarId }}",
                "capabilities": "={{ $parameter.capabilities }}",
                "system_prompt": "={{ $parameter.systemPrompt }}",
                "max_session_length_minutes": "={{ $parameter.maxSessionLengthMinutes }}"
              },
              "method": "POST"
            }
          },
          "description": "Deploy a new agent with configuration"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get the available avatars",
          "routing": {
            "request": {
              "url": "/avatar",
              "method": "GET"
            }
          },
          "description": "Get the available Avatars"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "avatar"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new agent",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "setKeyValue",
              "properties": {
                "id": "={{ $responseItem.id }}",
                "call_link": "=https://bey.chat/{{ $responseItem.id }}"
              }
            }
          ]
        },
        "request": {
          "url": "/agent",
          "body": {
            "name": "={{ $parameter.name }}",
            "greeting": "={{ $parameter.greeting }}",
            "language": "={{ $parameter.language }}",
            "avatar_id": "={{ $parameter.avatarId }}",
            "capabilities": "={{ $parameter.capabilities }}",
            "system_prompt": "={{ $parameter.systemPrompt }}",
            "max_session_length_minutes": "={{ $parameter.maxSessionLengthMinutes }}"
          },
          "method": "POST"
        }
      },
      "description": "Deploy a new agent with configuration"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get the available avatars",
      "routing": {
        "request": {
          "url": "/avatar",
          "method": "GET"
        }
      },
      "description": "Get the available Avatars"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    }
  ]

npm_readme:
  # n8n-nodes-beyondpresence

  > **Currently in BETA and under active development.**

  This is an n8n community node for integrating [Beyond Presence](https://docs.bey.dev) — deploy and manage AI-driven video agents directly from your workflows.

  ## Features

  - **Process webhook**: Handle and filter webhook events from Beyond Presence.
  - **Create agent**: Create a video agent and get a ready-to-use call link.
  - **Get available avatars**: Fetch available avatars for use.

  More resources and operations coming soon.

  ## Installation

  Follow the [n8n community node installation guide](https://docs.n8n.io/integrations/community-nodes/installation).

  ## Credentials

  [Create an API key](https://docs.bey.dev/api-key) and configure it in the node credentials.

  ## Compatibility

  Requires n8n v1.39.1 or higher.

  ## Resources

  - [Beyond Presence webhook n8n integration](https://docs.bey.dev/webhooks/n8n)
  - [Beyond Presence API docs](https://docs.bey.dev)
  - [n8n community nodes docs](https://docs.n8n.io/integrations)

ai_documentation_summary:
  {"purpose":"Integrate Beyond Presence into n8n workflows to deploy and manage AI-driven video agents — create agents, handle webhook events, and fetch available avatars directly from your automations.","capabilities":["Process and filter Beyond Presence webhook events","Create a video agent and return a ready-to-use call link","Fetch available avatars for use when creating/configuring agents"],"authentication":"API key required","commonUseCases":["Automatically create and provision a video agent and share its call link from a workflow","Trigger downstream workflows in n8n when Beyond Presence sends webhook events (e.g., call started/completed)","Retrieve available avatars to present options or configure agents programmatically"],"limitations":["Beta and under active development — features and behavior may change","Currently limited operations (webhook processing, create agent, get avatars); more operations planned","Requires n8n v1.39.1 or higher","Only API key authentication documented (no OAuth or alternate auth methods mentioned)"],"relatedNodes":["Webhook","HTTP Request","Credentials"]}


