# nodes

node_type: n8n-nodes-csvbox.csvboxTrigger
package_name: n8n-nodes-csvbox
display_name: CSVBox Trigger
description: Starts a workflow when a new row is imported to a CSVBox Sheet
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: sumit_yewale
author_github_url: https://github.com/csvbox-io/
npm_package_name: n8n-nodes-csvbox
npm_version: 0.1.7
community_fetched_at: 2026-03-25T21:19:41.011Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  ![CSVBox for n8n](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-csvbox
  ## Overview

  This is an n8n community node. It lets you use [CSVBox](https://csvbox.io/) in your n8n workflows.

  CSVBox is a platform for importing CSV data into your applications with ease. This node allows you to trigger n8n workflows when new rows are imported into a CSVBox Importer.

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

  ---

  ## Table of Contents

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

  ---

  ## Installation

  You can install this node as a community package in your n8n instance.

  ### Steps

  1. Go to **Settings → Community Nodes** in your n8n instance.
  2. Click **Install a community node** and enter:
     ```
     n8n-nodes-csvbox
     ```
  3. Check the warning button.
  4. Click on the **Install** and wait for the installation to complete.
  4. Restart n8n if prompted.

  After installation, you’ll find the **CSVBox Trigger** node available in your n8n workflow editor.

  ---

  ## Operations

  This package provides the following node:

  - **CSVBox Trigger**: Starts a workflow when a new row is imported to a CSVBox Sheet.

  ---

  ## Credentials

  Create an API Key and Secret Key from the CSVBox API Key Page, then add them as a credential in n8n using the following fields:

  - **API Key:** Your CSVBox API Key.
  - **API Secret Key:** Your CSVBox Secret Key.

  ---

  ## Compatibility

  - **Minimum n8n version:** 1.x
  - **Node.js version:** >= 20.15
  - Tested on latest n8n and Node.js LTS.

  ---

  ## Usage

  1. In your n8n workflow editor, add the **CSVBox Trigger** node.
  2. Choose your CSVBox credential from the dropdown (set up your API Key and Secret in n8n Credentials first).
  3. Select the Sheet name you want to monitor for new imports.
  4. Click **Fetch and execute** to test the trigger and preview sample data from your sheet.
  5. Once you see the sample data, connect and map it to the next node in your workflow.
  6. Activate your workflow. Now, whenever new rows are imported into your selected CSVBox sheet, your workflow will run automatically.

  ---

  ## Resources

  - [CSVBox Documentation](https://help.csvbox.io/destinations/n8n)
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

  ---

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Triggers an n8n workflow automatically when a new row is imported into a specific CSVBox sheet.","capabilities":["Monitors a selected CSVBox sheet for new data","Automatically starts workflow execution upon row import","Fetches and previews sample data from the sheet","Connects imported data to subsequent workflow nodes"],"authentication":"API Key and Secret Key","commonUseCases":["Automated data processing from CSV imports","Real-time inventory updates","Order processing from external CSV sources","Data transformation pipelines triggered by file uploads"],"limitations":["Requires separate CSVBox account with API credentials","Minimum n8n version 1.x required","Node.js version >= 20.15 required"],"relatedNodes":["n8n-nodes-csvbox.csvboxTrigger","n8n-nodes-csvbox.csvbox"]}


node_type: n8n-nodes-chat-data.chatData
package_name: n8n-nodes-chat-data
display_name: Chat Data
description: Basic Chat Data Node
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: chatdata
author_github_url: https://github.com/chat-data-llc/
npm_package_name: n8n-nodes-chat-data
npm_version: 1.2.1
community_fetched_at: 2026-03-25T21:19:41.011Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "action",
      "options": [
        {
          "name": "Action",
          "value": "action"
        },
        {
          "name": "Chatbot",
          "value": "chatbot"
        }
      ],
      "description": "Choose a resource",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send a Message",
          "value": "sendMessage",
          "action": "Send a message to a chat",
          "description": "Send a message to a chat"
        },
        {
          "name": "Get Leads",
          "value": "getLeads",
          "action": "Get leads",
          "description": "Retrieve leads/customers from a chatbot"
        },
        {
          "name": "Get Conversations",
          "value": "getConversations",
          "action": "Get conversations",
          "description": "Retrieve conversation history from a chatbot"
        },
        {
          "name": "Append a Message",
          "value": "appendMessage",
          "action": "Append a message to an existing conversation",
          "description": "Append a message to an existing conversation as a human agent or assistant"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "action"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createChatbot",
      "options": [
        {
          "name": "Create Chatbot",
          "value": "createChatbot",
          "action": "Create a chatbot",
          "description": "Create a new chatbot"
        },
        {
          "name": "Retrain Chatbot",
          "value": "retrainChatbot",
          "action": "Retrain a chatbot",
          "description": "Retrain a chatbot with new data"
        },
        {
          "name": "Update Base Prompt",
          "value": "updateBasePrompt",
          "action": "Update a base prompt",
          "description": "Update a chatbot's base prompt"
        },
        {
          "name": "Get Chatbot Training Status",
          "value": "getChatbotStatus",
          "action": "Get chatbot training status",
          "description": "Retrieve the training status of a chatbot"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chatbot"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send a Message",
      "value": "sendMessage",
      "action": "Send a message to a chat",
      "description": "Send a message to a chat"
    },
    {
      "name": "Get Leads",
      "value": "getLeads",
      "action": "Get leads",
      "description": "Retrieve leads/customers from a chatbot"
    },
    {
      "name": "Get Conversations",
      "value": "getConversations",
      "action": "Get conversations",
      "description": "Retrieve conversation history from a chatbot"
    },
    {
      "name": "Append a Message",
      "value": "appendMessage",
      "action": "Append a message to an existing conversation",
      "description": "Append a message to an existing conversation as a human agent or assistant"
    },
    {
      "name": "Create Chatbot",
      "value": "createChatbot",
      "action": "Create a chatbot",
      "description": "Create a new chatbot"
    },
    {
      "name": "Retrain Chatbot",
      "value": "retrainChatbot",
      "action": "Retrain a chatbot",
      "description": "Retrain a chatbot with new data"
    },
    {
      "name": "Update Base Prompt",
      "value": "updateBasePrompt",
      "action": "Update a base prompt",
      "description": "Update a chatbot's base prompt"
    },
    {
      "name": "Get Chatbot Training Status",
      "value": "getChatbotStatus",
      "action": "Get chatbot training status",
      "description": "Retrieve the training status of a chatbot"
    }
  ]

npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-chat-data

  This is the official n8n integration for [Chat Data](https://chat-data.com). It provides nodes to interact with the ChatData platform, allowing you to manage chatbots, send messages, retrieve leads, and more.

  ## Prerequisites

  To use the ChatData integration, you must have:

  - A paid ChatData account. You can create an account at [chat-data.com](https://chat-data.com).
  - Your ChatData API key, which you can obtain from your account settings.

  ## Installation

  Follow these steps to install this node in your n8n instance:

  ```bash
  npm install n8n-nodes-chat-data
  ```

  For n8n desktop app/local installation:

  ```bash
  n8n-node-dev --install n8n-nodes-chat-data
  ```

  ## Node Reference

  ### Chat Data

  This node can be found in the 'Action' category in n8n.

  #### Operations

  The operations in this node are organized into the following categories:

  ##### Action

  - **Send a Message**: Send a chat message to a chatbot
  - **Get Leads**: Retrieve customer leads from a chatbot
  - **Get Conversations**: Retrieve conversation history from a chatbot
  - **Append a Message**: Send a message to an existing conversation as a human agent or bot

  ##### Chatbot

  - **Create Chatbot**: Set up a new AI-powered chatbot
  - **Retrain Chatbot**: Update a chatbot with new data
  - **Update Base Prompt**: Modify a chatbot's base prompt
  - **Get Chatbot Training Status**: Check the status of a chatbot's training

  ##### Other

  - **Make API Call**: Make a custom request to any Chat Data API endpoint

  ---

  ### Chat Data Trigger

  This node is used to receive real-time events from Chat Data via webhooks. You can find it in the 'Trigger' category in n8n.

  #### Available Triggers

  - **On New Message**: Triggered when a new chat message is received
  - **On Lead Submission**: Triggered when a customer submits lead information
  - **On Live Chat Escalation**: Triggered when a chat is escalated to a human agent

  1. After setting up the trigger, you'll see webhook registration details in the execution output
  2. When a webhook event is received, the node logs detailed information about:
     - Raw webhook payload
     - Parsed event data
     - Event type matching
     - Chatbot ID verification

  > **Note:** If your webhook isn't triggering as expected, check the n8n logs for messages starting with "Webhook triggered" to see detailed information about incoming data.

  > **Important:** For webhook testing, ensure the `chatbot_id` in your trigger configuration matches the `chatbot_id` field in the incoming webhook payload.

  ---

  ## Authentication

  This node requires an API Key for authentication. To set this up:

  1. Create an API key in your ChatData account:
     - Log in to your ChatData account
     - In the top right corner, click your Username > Account Settings
     - In the API Keys section, click Create a new secret key
     - Copy the API key value

  2. In n8n, create a new credential:
     - Choose "ChatDataApi" as the credential type
     - Enter your API key in the API Key field
     - Enter your Chat Data instance URL (usually https://app.chat-data.com)
     - Save the credential

  ## Further Information

  - [ChatData Website](https://chat-data.com)
  - [ChatData API Documentation](https://docs.chat-data.com/api)
  - [ChatData Pricing](https://chat-data.com/pricing)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"This n8n node enables interaction with the ChatData platform to manage chatbots, send messages, retrieve leads, and access conversation history.","capabilities":["Send messages to chatbots","Retrieve customer leads","Retrieve conversation history","Append messages to existing conversations","Create new AI-powered chatbots","Retrain chatbots with new data","Update chatbot base prompts","Check chatbot training status","Make custom API calls to ChatData endpoints","Receive real-time webhook events for new messages, lead submissions, and chat escalations"],"authentication":"API Key required via ChatDataApi credential type","commonUseCases":["Automated lead generation from chat interactions","Monitoring and retrieving chat conversation history","Creating and managing custom AI chatbots","Real-time notification of new leads or chat escalations","Custom API integrations with ChatData platform"],"limitations":["Requires a paid ChatData account","Webhook triggers require matching chatbot_id in configuration to incoming payload","Webhook testing requires careful log monitoring for trigger verification"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest"]}


node_type: n8n-nodes-supermetrics.supermetrics
package_name: n8n-nodes-supermetrics
display_name: Supermetrics
description: Query marketing data using Supermetrics
category: Community
development_style: declarative
version: 0.1.20
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: dev-info-supermetrics
author_github_url: https://github.com/supermetrics-public/n8n_connector.git
npm_package_name: n8n-nodes-supermetrics
npm_version: 0.1.20
community_fetched_at: 2026-03-25T21:19:41.012Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # Supermetrics node for n8n

  With Supermetrics, you can use data from 50+ sources like Facebook Ads or Google Analytics right inside your workflows (source list to be expanded to 200+ soon).

  - List Data Sources - Lists the sources available via Supermetrics. For example, LinkedIn Ads and YouTube are data sources.
  - List Fields - Lists the fields available for a data source. For example, some of the fields available for LinkedIn Ads are Campaign Name and Cost.
  - List Accounts - Lists the accounts you have access to within a data source. Eg. for LinkedIn Ads, this lists your advertising accounts.
  - Get Data - Runs a query for getting data fron the selected source, using your selection of accounts and fields, and possible other parameters such as the date range.

  ## Requirements

  - A valid Supermetrics API **license** and **API key**.
  - https://supermetrics.com/products/api
    https://supermetrics.com/docs/product-api-authentication

  ## Installation - n8n Cloud

  We are waiting for n8n to verify our node. Before then, it cannot be installed to the cloud version of n8n.

  ## Installation - Self-hosted n8n (GUI — easiest)

  If you run n8n yourself (local, desktop, server, or Docker) you can install the Supermetrics node in the UI:

  1. Open n8n → Settings → Community Nodes → Install.

  2. Enter the npm package name: "n8n-nodes-supermetrics" (Optionally pin a version, e.g. @1.2.3.)

  3. Confirm the risks prompt and click Install.

  4. Restart n8n if prompted.

  Note that installing from npm via the GUI is only available to self-hosted instance owners/admins.

  ## Installation - Self-hosted n8n (Docker/CLI — manual)

  Use this when the GUI isn’t available (e.g. queue mode) or for private/automated setups:

  Enter the container shell (replace n8n with your container name):

    ```bash
    docker exec -it n8n sh
    ```

  Create the nodes folder (if needed) and go there:

     ```bash
     mkdir -p ~/.n8n/nodes
     cd ~/.n8n/nodes
     ```


  Install the package from npm:

     ```bash
     npm i n8n-nodes-supermetrics
     ```

  Restart n8n so it loads the new node.

ai_documentation_summary:
  {"purpose":"This n8n node allows querying marketing data from 50+ sources (expanding to 200+) directly within workflows, including operations like listing data sources, fields, and accounts, as well as retrieving specific data.","capabilities":["List available data sources","List available fields for a data source","List accessible accounts for a data source","Query and retrieve data based on selected sources, accounts, fields, and date ranges"],"authentication":"API key required (valid Supermetrics API license and key needed)","commonUseCases":["Integrating Facebook Ads and Google Analytics data into n8n workflows","Automating marketing data retrieval with specific date ranges","Accessing LinkedIn Ads and YouTube advertising data"],"limitations":["Not available in n8n Cloud version (waiting for verification)","Limited to 50+ data sources currently (expanding to 200+)","Requires manual installation on self-hosted instances via npm or Docker"],"relatedNodes":[]}


node_type: n8n-nodes-neverbounce-email-verification.nbEmailVerification
package_name: n8n-nodes-neverbounce-email-verification
display_name: NeverBounce Email Verification
description: Verify email addresses using NeverBounce API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: omri.katz
author_github_url: https://github.com/NeverBounce/n8n-nodes-neverbounce.git
npm_package_name: n8n-nodes-neverbounce-email-verification
npm_version: 1.0.20
community_fetched_at: 2026-03-25T21:19:41.013Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "email",
      "options": [
        {
          "name": "Email",
          "value": "email"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "verify",
      "options": [
        {
          "name": "Verify",
          "value": "verify",
          "action": "Verify an email address",
          "description": "Verify an email address"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "email"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Verify",
      "value": "verify",
      "action": "Verify an email address",
      "description": "Verify an email address"
    }
  ]

npm_readme:
  # NeverBounce Email Verification Node

  This node allows you to verify email addresses using the NeverBounce API, providing detailed validation results to improve email deliverability and reduce bounce rates in your workflows.

  ## Overview

  The NeverBounce Email Verification node connects to the NeverBounce API to validate email addresses. It checks if an email address is valid, invalid, disposable, a catch-all address, or if its status is unknown. The node provides detailed verification results including status codes, flags, and suggested corrections for potentially misspelled domains.

  ## Prerequisites

  - **NeverBounce API Key**: You need a valid API key from NeverBounce to use this node. You can obtain one by signing up at [NeverBounce](https://neverbounce.com/).

  ## Input Parameters

  ### Operation
  - **Verify Email**: Validates an email address using the NeverBounce API.

  ### API Endpoint
  - **API Endpoint**: The NeverBounce API endpoint to use. Default is `https://api.neverbounce.com'`.

  ### Email Field
  - **Email Field**: The name of the field in the input data that contains the email address to verify. Default is `email`.

  ### Additional Fields (Optional)
  - **Output Field Name**: The name of the field where verification results will be stored. Default is `verification_result`.
  - **Timeout**: Timeout in seconds for the API request. Default is 30 seconds.

  ## Output Fields

  The node adds the verification results to the output data in the specified output field (default: `verification_result`). The results include:

  - **valid**: Boolean indicating if the email is valid.
  - **status**: String representation of the verification status (`valid`, `invalid`, `disposable`, `catchall`, or `unknown`).
  - **status_code**: Numeric code representing the verification status:
    - `0`: Valid
    - `1`: Invalid
    - `2`: Disposable
    - `3`: Catchall
    - `4`: Unknown
  - **flags**: Array of flags providing additional information about the email address.
  - **suggested_correction**: Suggested correction for potentially misspelled domains (if available).
  - **raw_response**: The complete raw response from the NeverBounce API.

  Additionally, the node adds two metadata fields:
  - **email_verified**: Boolean set to `true` indicating the email has been verified.
  - **verification_timestamp**: ISO timestamp of when the verification was performed.

  ## Examples

  ### Basic Email Verification

  This example shows how to verify an email address and use the results in a workflow.

  1. **HTTP Request node**: Receives a webhook with an email to verify.
  2. **NeverBounce Email Verification node**: Verifies the email address.
     - Set "Email Field" to `email`
     - Leave other settings as default
  3. **IF node**: Routes the workflow based on verification results.
     - If `{{$json.verification_result.valid}} === true`, proceed with sending email
     - Otherwise, handle invalid email (e.g., notify user, log error)

  ### Bulk Email Verification with Custom Output Field

  This example shows how to verify multiple emails with a custom output field.

  1. **Spreadsheet node**: Reads a list of email addresses from a CSV file.
  2. **NeverBounce Email Verification node**: Verifies each email address.
     - Set "Email Field" to the column name containing emails
     - Set "Output Field Name" to `nb_verification`
  3. **Filter node**: Filters out invalid emails.
     - Set condition to `{{$json.nb_verification.valid}} === true`
  4. **Spreadsheet node**: Saves valid emails to a new spreadsheet.

  ## Additional Resources

  - [NeverBounce N8N Node Repository](https://github.com/NeverBounce/n8n-nodes-neverbounce)
  - [NeverBounce API Documentation](https://developers.neverbounce.com/docs)
  - [Email Deliverability Best Practices](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.nbemailverification/)

ai_documentation_summary:
  {"purpose":"Verifies email addresses using the NeverBounce API to validate validity, detect disposable or catch-all addresses, and provide status codes and suggested corrections.","capabilities":["Validate email address validity","Detect disposable email addresses","Identify catch-all addresses","Return status codes (0-4)","Provide flags for additional email information","Suggest corrections for misspelled domains","Return raw API response","Add metadata fields (email_verified, verification_timestamp)","Support custom email field names","Support custom output field names"],"authentication":"API key required","commonUseCases":["Pre-send email validation before sending campaigns","Filter invalid emails from lists","Clean email databases","Route workflows based on email validity","Bulk email verification from spreadsheets"],"limitations":["Requires a paid NeverBounce API key","Relies on NeverBounce API availability and rate limits","May not detect all types of invalid emails depending on API capabilities"],"relatedNodes":["n8n-nodes-base.if","n8n-nodes-base.httpRequest","n8n-nodes-base.spreadsheet","n8n-nodes-base.filter"]}


node_type: @quire-io/n8n-nodes-quire.quire
package_name: @quire-io/n8n-nodes-quire
display_name: Quire
description: Perform actions on Quire project management platform
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: izwhiter
author_github_url: https://github.com/quire-api/n8n-nodes-quire.git
npm_package_name: @quire-io/n8n-nodes-quire
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:41.013Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "task",
      "options": [
        {
          "name": "Comment",
          "value": "comment"
        },
        {
          "name": "Partner",
          "value": "partner"
        },
        {
          "name": "Project",
          "value": "project"
        },
        {
          "name": "Search",
          "value": "search"
        },
        {
          "name": "Sublist",
          "value": "sublist"
        },
        {
          "name": "Tag",
          "value": "tag"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a task",
          "description": "Create a new task"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a task",
          "description": "Get a task by ID"
        },
        {
          "name": "Get by OID",
          "value": "getByOid",
          "action": "Get task by OID",
          "description": "Get a task by OID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many tasks",
          "description": "Get many tasks in a project"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a task",
          "description": "Update an existing task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many users",
          "description": "Get many accessible users"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a comment",
          "description": "Create a new comment"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many comments",
          "description": "Get many comments for a task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "comment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many tags",
          "description": "Get many tags in a project"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many sublists",
          "description": "Get many sublists in a project"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sublist"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many partners",
          "description": "Get many partners in an organization"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "partner"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "findTaskInProject",
      "options": [
        {
          "name": "Find Task in Project",
          "value": "findTaskInProject",
          "action": "Find task in project",
          "description": "Find tasks in a project"
        },
        {
          "name": "Find User",
          "value": "findUser",
          "action": "Find user",
          "description": "Find a user by email or ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many projects",
          "description": "Get many accessible projects"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a task",
      "description": "Create a new task"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a task",
      "description": "Get a task by ID"
    },
    {
      "name": "Get by OID",
      "value": "getByOid",
      "action": "Get task by OID",
      "description": "Get a task by OID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many tasks",
      "description": "Get many tasks in a project"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a task",
      "description": "Update an existing task"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many users",
      "description": "Get many accessible users"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a comment",
      "description": "Create a new comment"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many comments",
      "description": "Get many comments for a task"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many tags",
      "description": "Get many tags in a project"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many sublists",
      "description": "Get many sublists in a project"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many partners",
      "description": "Get many partners in an organization"
    },
    {
      "name": "Find Task in Project",
      "value": "findTaskInProject",
      "action": "Find task in project",
      "description": "Find tasks in a project"
    },
    {
      "name": "Find User",
      "value": "findUser",
      "action": "Find user",
      "description": "Find a user by email or ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many projects",
      "description": "Get many accessible projects"
    }
  ]

npm_readme:
  # n8n-nodes-quire

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

  Quire is a project management applications that improve your productivity.

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

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

  ## Installation

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

  ## Operations

  ### Task
  - **Create**: Create a new task
  - **Get**: Get a task by ID
  - **Get by OID**: Get a task by OID
  - **Get Many**: Get all tasks in a project
  - **Update**: Update an existing task

  ### Comment
  - **Create**: Create a new comment for a task
  - **Get Many**: Get all comments for a task

  ### Project
  - **Get Many**: Get all accessible projects

  ### User
  - **Get Many**: Get all accessible users

  ### Tag
  - **Get Many**: Get all tags in a project

  ### Sublist
  - **Get Many**: Get all sublists in a project

  ### Partner
  - **Get Many**: Get all partners in an organization

  ### Search
  - **Find Task in Project**: Find tasks in a project
  - **Find User**: Find a user by email or ID

  ## Credentials

  To use this node, you need to set up OAuth2 credentials for Quire in n8n:

  1. Log in to Quire and create a Quire App to obtain your Client ID and Client Secret.
  2. In n8n, go to the **Credentials** page and add new credentials for **Quire OAuth2 API**.
  3. Enter your Quire App's Client ID and Client Secret in the corresponding fields.
  4. Copy the **OAuth Redirect URL** shown in n8n and add it to your Quire App's Redirect URI settings.
  5. Save the credentials, then click **Connect my account** and authorize access to your Quire projects.

  > Reference: [n8n credentials setup guide](https://docs.n8n.io/credentials/add-edit-credentials/)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Quire App Directory](https://quire.io/apps)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation workflows with the Quire project management platform by allowing users to perform CRUD operations on tasks, comments, projects, users, tags, sublists, and partners.","capabilities":["Create tasks","Get tasks by ID","Get tasks by OID","Retrieve all tasks in a project","Update existing tasks","Create comments for tasks","Retrieve all comments for a task","Get all accessible projects","Get all accessible users","Get all tags in a project"],"authentication":"OAuth2","commonUseCases":["Automating task creation and updates from external sources","Syncing project data between Quire and other tools","Retrieving project status or user lists for reporting","Searching for specific tasks or users within Quire"],"limitations":["Limited to community node status (fair-code licensed)","Does not support creating, updating, or deleting comments or projects","Requires manual setup of OAuth2 credentials and redirect URI configuration"],"relatedNodes":["n8n OAuth2 credential node","n8n HTTP Request node","n8n community nodes"]}


node_type: n8n-nodes-byteplus.bytePlus
package_name: n8n-nodes-byteplus
display_name: BytePlus
description: BytePlus AI Services - Image Generation, Video Generation, and Text Generation
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: wilsonhfwong
author_github_url: https://github.com/bytedance-agent-architect/
npm_package_name: n8n-nodes-byteplus
npm_version: 0.2.1
community_fetched_at: 2026-03-25T21:19:41.014Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "text",
      "options": [
        {
          "name": "Image",
          "value": "image",
          "description": "Generate an image"
        },
        {
          "name": "Video",
          "value": "video",
          "description": "Generate a video"
        },
        {
          "name": "Text",
          "value": "text",
          "description": "Message a model"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateImage",
      "options": [
        {
          "name": "Generate Image",
          "value": "generateImage",
          "action": "Generate an image",
          "description": "Generate an image from a text prompt using Seedream"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "answerQuestion",
      "options": [
        {
          "name": "Answer Question",
          "value": "answerQuestion",
          "action": "Message a model",
          "description": "Send message to a model"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "text"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateVideo",
      "options": [
        {
          "name": "Generate Video",
          "value": "generateVideo",
          "action": "Generate a video",
          "description": "Generate a video from text and reference image using Seedance"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Image",
      "value": "generateImage",
      "action": "Generate an image",
      "description": "Generate an image from a text prompt using Seedream"
    },
    {
      "name": "Answer Question",
      "value": "answerQuestion",
      "action": "Message a model",
      "description": "Send message to a model"
    },
    {
      "name": "Generate Video",
      "value": "generateVideo",
      "action": "Generate a video",
      "description": "Generate a video from text and reference image using Seedance"
    }
  ]

npm_readme:
  # n8n-nodes-byteplus

  **n8n community node for BytePlus AI services** - Image Generation, Video Generation, and Text Generation.

  ## Features

  | Service | Capabilities |
  |---------|-------------|
  | **Image Generation** | Generate images using Seedream models (2K, 1080p, 720p, 1024x1024) |
  | **Video Generation** | Create videos from text + reference images using Seedance |
  | **Text Generation** | Generate text responses using Seed LLM |

  ## Installation

  ### Option 1: Community Node (Recommended)

  1. In your n8n instance, go to **Settings > Community Nodes**
  2. Click **Install**
  3. Enter `n8n-nodes-byteplus`
  4. Agree to the risks and click **Install**

  ### Option 2: Manual Installation

  ```bash
  npm install n8n-nodes-byteplus
  ```

  ## Setup

  ### 1. Get BytePlus API Credentials

  1. Sign up at [BytePlus](https://www.byteplus.com/)
  2. Navigate to the ARK console
  3. Generate an API key

  ### 2. Configure Credentials in n8n

  1. In n8n, go to **Credentials**
  2. Click **New Credential**
  3. Search for **BytePlus API**
  4. Enter your API key and configure endpoints if needed

  ## Usage

  ### Image Generation

  Generate images from text prompts using Seedream models.

  **Parameters:**
  - **Prompt** (required): Text description of the image
  - **Model**: Seedream 4.0 (default), Seedream 3.0, or Custom
  - **Size**: 2K, 1080p, 720p, or 1024x1024
  - **Watermark**: Add watermark (default: true)

  **Output:** Images are displayed directly in n8n output panel with download URLs.

  ### Video Generation

  Create videos from text descriptions and reference images using Seedance.

  **Parameters:**
  - **Prompt** (required): Text description of the video
  - **Reference Image URL** (required): Public https:// URL of reference image
  - **Model**: Seedance 1.0 Lite I2V (default) or Custom
  - **Max Wait Time**: Polling timeout in seconds (default: 300)

  ### Text Generation

  Generate text responses using Seed LLM.

  **Parameters:**
  - **Prompt** (required): Question or prompt text
  - **Model**: Model ID for specific Seed LLM models

  ## Local Development

  ### Prerequisites

  - Node.js >=18.0.0
  - n8n installed locally (`npm install -g n8n` or use `npx`)

  ### Quick Start

  1. **Clone and install dependencies:**
     ```bash
     git clone <your-repo-url>
     cd n8n-nodes-byteplus
     npm install
     ```

  2. **Build the node:**
     ```bash
     npm run build
     ```

  3. **Start n8n with the custom node:**
     ```bash
     N8N_CUSTOM_EXTENSIONS="/path/to/n8n-nodes-byteplus" npx n8n start
     ```
     > **Note:** `npm run dev` only runs the TypeScript compiler in watch mode — it does not start n8n. You need to run n8n separately.

  4. **Access n8n:**
     - Open http://localhost:5678
     - Create your workflow
     - Add BytePlus node from the nodes panel
     - Configure your BytePlus API credentials

  > **Port note:** n8n defaults to port 5678 for the editor UI. Port 5679 is used internally by the Task Broker — do not set `N8N_PORT=5679` as it will conflict.

  ### Development Commands

  ```bash
  # Build the node
  npm run build

  # Watch mode for development
  npm run dev

  # Lint code
  npm run lint

  # Fix linting issues
  npm run lintfix

  # Format code
  npm run format

  # Type checking
  npm run typecheck
  ```

  ### Project Structure

  ```
  n8n-nodes-byteplus/
  ├── credentials/
  │   └── BytePlusApi.credentials.ts    # API credential configuration
  ├── nodes/
  │   └── BytePlus/
  │       ├── BytePlus.node.ts          # Main node definition
  │       ├── byteplus.svg              # Node icon
  │       └── actions/
  │           ├── Image/                # Image generation operations
  │           ├── Video/                # Video generation operations
  │           └── Text/                 # Text generation operations
  ├── dist/                             # Built files (auto-generated)
  ├── package.json                      # Dependencies and scripts
  └── tsconfig.json                     # TypeScript configuration
  ```

  ## Security

  - **No credentials are hardcoded in this repo** (only field definitions)
  - **Secure your n8n instance before exposing it** (auth + access controls), especially if using tunnels for OAuth redirects
  - **Keep TLS verification enabled** (avoid `NODE_TLS_REJECT_UNAUTHORIZED=0` unless you fully understand the MITM risk)

  ## API Reference

  | Operation | Endpoint |
  |-----------|----------|
  | Image Generation | `/api/v3/images/generations` |
  | Video Generation | `/api/v3/contents/generations/tasks` |
  | Text Generation | `/api/v3/chat/completions` |

  ## Troubleshooting

  ### Common Issues

  **Node not appearing in n8n:**
  - Ensure you built the project (`npm run build`)
  - Verify `N8N_CUSTOM_EXTENSIONS` points to the correct path
  - Restart n8n after rebuilding

  **API authentication errors:**
  - Verify your BytePlus API key is correct
  - Check the base URL is set properly
  - Ensure your BytePlus account has necessary permissions

  **Build errors:**
  - Run `npm install` to ensure all dependencies are installed
  - Check Node.js version (>=18.0.0 required)

  ## License

  MIT

  ## Links

  - [BytePlus Documentation](https://www.byteplus.com/en/docs)
  - [BytePlus ARK Console](https://console.byteplus.com/ark)
  - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)

ai_documentation_summary:
  {"purpose":"A community node for n8n that integrates BytePlus AI services to generate images, videos, and text responses.","capabilities":["Image generation using Seedream models (2K, 1080p, 720p, 1024x1024)","Video generation from text and reference images using Seedance","Text generation using Seed LLM models","Support for custom model selection","Watermarking options for image generation","Polling timeout configuration for video generation tasks"],"authentication":"API key required","commonUseCases":["Creating AI-generated images from text prompts","Producing video content from text descriptions and reference images","Generating text responses or chat completions via Seed LLM"],"limitations":["Video generation requires a public HTTPS URL for reference images","Community node requires manual installation or community node marketplace access","Requires Node.js >=18.0.0 for local development"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


node_type: @deutschlandgpt/n8n-nodes-deutschlandgpt.deutschlandgpt
package_name: @deutschlandgpt/n8n-nodes-deutschlandgpt
display_name: DeutschlandGPT
description: Work with the DeutschlandGPT API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: alexanderberkov
author_github_url: https://github.com/deutschlandgpt/deutschlandgpt-n8n.git
npm_package_name: @deutschlandgpt/n8n-nodes-deutschlandgpt
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:41.014Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "chat",
      "options": [
        {
          "name": "Model",
          "value": "model"
        },
        {
          "name": "Chat",
          "value": "chat"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetch_models",
      "options": [
        {
          "name": "Fetch Models",
          "value": "fetch_models",
          "action": "Fetch models",
          "routing": {
            "request": {
              "url": "v1/models",
              "method": "GET"
            }
          },
          "description": "Fetch Models from DeutschlandGPT"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "model"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send_chat_message",
      "options": [
        {
          "name": "Send Chat Message",
          "value": "send_chat_message",
          "action": "Send chat message",
          "routing": {
            "request": {
              "url": "v1/chat/completions",
              "body": {
                "model": "={{$parameter[\"model\"]}}",
                "messages": [
                  {
                    "role": "user",
                    "content": "={{$parameter[\"user_message\"]}}"
                  }
                ]
              },
              "json": true,
              "method": "POST"
            }
          },
          "description": "Send a message to the chat"
        },
        {
          "name": "Send Chat Message with System Prompt",
          "value": "send_chat_message_with_system_prompt",
          "action": "Send chat message with system prompt",
          "routing": {
            "request": {
              "url": "v1/chat/completions",
              "body": {
                "model": "={{$parameter[\"model\"]}}",
                "messages": [
                  {
                    "role": "system",
                    "content": "={{$parameter[\"system_prompt\"]}}"
                  },
                  {
                    "role": "user",
                    "content": "={{$parameter[\"user_message\"]}}"
                  }
                ]
              },
              "json": true,
              "method": "POST"
            }
          },
          "description": "Send a message to the chat with a system prompt"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chat"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Fetch Models",
      "value": "fetch_models",
      "action": "Fetch models",
      "routing": {
        "request": {
          "url": "v1/models",
          "method": "GET"
        }
      },
      "description": "Fetch Models from DeutschlandGPT"
    },
    {
      "name": "Send Chat Message",
      "value": "send_chat_message",
      "action": "Send chat message",
      "routing": {
        "request": {
          "url": "v1/chat/completions",
          "body": {
            "model": "={{$parameter[\"model\"]}}",
            "messages": [
              {
                "role": "user",
                "content": "={{$parameter[\"user_message\"]}}"
              }
            ]
          },
          "json": true,
          "method": "POST"
        }
      },
      "description": "Send a message to the chat"
    },
    {
      "name": "Send Chat Message with System Prompt",
      "value": "send_chat_message_with_system_prompt",
      "action": "Send chat message with system prompt",
      "routing": {
        "request": {
          "url": "v1/chat/completions",
          "body": {
            "model": "={{$parameter[\"model\"]}}",
            "messages": [
              {
                "role": "system",
                "content": "={{$parameter[\"system_prompt\"]}}"
              },
              {
                "role": "user",
                "content": "={{$parameter[\"user_message\"]}}"
              }
            ]
          },
          "json": true,
          "method": "POST"
        }
      },
      "description": "Send a message to the chat with a system prompt"
    }
  ]

npm_readme:
  # n8n-nodes-deutschlandgpt

  This is an n8n community node. It lets you use the DeutschlandGPT API in your n8n workflows.

  DeutschlandGPT is an AI Platform where different LLMs can be used GDPR compliant without risks of losing data.

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

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

  ## Installation

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

  ## Operations

  - Fetch Models: Query all available models in the DeutschlandGPT API.
  - Send Chat Message: Send a chat message to a certain model.
  - Send Chat Message with System Prompt: Send a chat message to a certain model with a defined system prompt.

  ## Credentials

  To register the node you'll need an API Key. You can create an API Key at the [DeutschlandGPT Platform](https://platform.deutschlandgpt.de/). For this you'll need to sign up and provide a payment method. You can then set up the credentials inside of n8n.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [DeutschlandGPT documentation](https://platform.deutschlandgpt.de/docs)

ai_documentation_summary:
  {"purpose":"This n8n community node enables integration with the DeutschlandGPT API to interact with GDPR-compliant LLMs in workflow automation.","capabilities":["Fetch available models from the API","Send chat messages to specific models","Send chat messages with custom system prompts"],"authentication":"API key required (must be obtained from DeutschlandGPT Platform with payment method)","commonUseCases":["GDPR-compliant AI chat interactions","Enterprise data processing with secure LLMs","Workflow automation using compliant AI models"],"limitations":["Requires payment method setup on the platform","Community node (may have fewer features than official nodes)"],"relatedNodes":["n8n HTTP Request","n8n Code","n8n Text"]}


node_type: n8n-nodes-phacet-official.phacet
package_name: n8n-nodes-phacet-official
display_name: Phacet
description: Interact with Phacet API to manage spreadsheet data
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: phacetlabs
author_github_url: https://github.com/spx-software/n8n-phacet-official.git
npm_package_name: n8n-nodes-phacet-official
npm_version: 0.2.2
community_fetched_at: 2026-03-25T21:19:41.015Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "row",
      "options": [
        {
          "name": "Row",
          "value": "row"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a row",
          "description": "Create a new row in a table"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a row",
          "description": "Updates an existing row in a specific table with new cell values"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a row",
          "description": "Retrieve a row by its ID from a specific table"
        },
        {
          "name": "Get Cell Download URL",
          "value": "getCellDownloadUrl",
          "action": "Get a cell download URL",
          "description": "Gets a temporary download URL for a file stored in a file-type column"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "row"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a row",
      "description": "Create a new row in a table"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a row",
      "description": "Updates an existing row in a specific table with new cell values"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a row",
      "description": "Retrieve a row by its ID from a specific table"
    },
    {
      "name": "Get Cell Download URL",
      "value": "getCellDownloadUrl",
      "action": "Get a cell download URL",
      "description": "Gets a temporary download URL for a file stored in a file-type column"
    }
  ]

npm_readme:
  # n8n-nodes-phacet-official

  ![Phacet Logo](https://raw.githubusercontent.com/spx-software/n8n-phacet-official/main/nodes/Phacet/phacet.svg)

  This is an n8n community node for [Phacet](https://phacetlabs.com), the AI that prepares, reconciles and controls your financial data. Automate table operations; create rows, update data, retrieve results, and download files directly from 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)
  [Usage](#usage)
  [Resources](#resources)

  ## Installation

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

  ### Community Nodes (n8n Cloud & Self-hosted)

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-phacet-official`
  4. Select **Install**

  Once installed, the Phacet node will be available in your node palette.

  ## Operations

  This package includes **two nodes**:

  - **Phacet**: manage rows in your Phacet tables
  - **Phacet Trigger**: start workflows when Phacet events occur (webhooks)

  ### Row Operations

  - **Create**: Create new rows in a table with dynamic column mapping (supports inline file upload)
  - **Update**: Update an existing row with new cell values
  - **Get**: Retrieve a row by its ID
  - **Get Cell Download URL**: Get a temporary download URL for a file stored in a file-type column

  ### Trigger Operations (Phacet Trigger)

  - **Row Calculation Completed** (`row.calculation.completed`)
  - **Row Calculation Failed** (`row.calculation.failed`)
  - **Row Created** (`row.created`)

  ## Credentials

  You need a Phacet API key to use this node.

  ### Getting your Phacet API Key

  1. Log in to your [Phacet account](https://app.phacetlabs.com)
  2. Go to **Settings > API**
  3. Generate a new API key
  4. Copy the API key

  ### Setting up the credential in n8n

  1. In n8n, create a new **Phacet API** credential
  2. Enter your API key in the **API Key** field
  3. Save the credential

  ## Compatibility

  - **n8n version**: 1.0.0 or later
  - **Node version**: 18.0.0 or later

  ## Usage

  ### Create Rows

  Use the **Create** operation to add new rows to your Phacet tables:

  1. Add the Phacet node to your workflow
  2. Select **Row** as the resource
  3. Select **Create** as the operation
  4. Choose your **Table** from the dynamic dropdown
  5. Choose your **Session** from the dynamic dropdown (based on selected table)
  6. Map your data to **Cells** using the dynamic column selector (Text and/or File)
  7. The node returns the created row information

  For file-type columns, you can pass a file directly — no separate upload step needed.

  ### Update Rows

  Use the **Update** operation to modify existing rows: select Row > Update, specify the Table and Row ID, then map your updated values to columns.

  ### Get Rows

  Use the **Get** operation to retrieve a row by its ID from a specific table.

  ### Get Cell Download URL

  Use the **Get Cell Download URL** operation to get a temporary download link for files stored in file-type columns.

  ### Phacet Trigger (Webhooks)

  Use **Phacet Trigger** to start a workflow when Phacet emits events:

  Supported events:

  - **Row Calculation Completed** (`row.calculation.completed`)
  - **Row Calculation Failed** (`row.calculation.failed`)
  - **Row Created** (`row.created`)

  1. Add **Phacet Trigger**
  2. Select an **Event**
  3. Select the **Table Name or ID**
  4. Activate the workflow (the node creates a webhook endpoint in Phacet)

  > Your n8n webhook URL must be publicly reachable by Phacet (important for self-hosted setups behind NAT/proxy).

  ### Dynamic Dropdowns

  This node features intelligent dynamic dropdowns that:

  - Load your available tables automatically
  - Show sessions based on your selected table
  - Display column names (not just IDs) for easy mapping
  - Update in real-time as you make selections

  ## Example Workflows

  ### Invoice Processing

  ```
  Email Trigger → Extract Attachments → Phacet Create Row (with invoice file) → Notification
  ```

  ### Bank Reconciliation

  ```
  SFTP/HTTP → Fetch bank statements → Phacet Create Row → Wait for calculation → Get Row results
  ```

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Phacet API Documentation](https://docs.phacetlabs.com/reference/authentication-1)
  - [Phacet Platform](https://phacetlabs.com)

  ## License

  [MIT](LICENSE.md)

  ---

  **Developed by [Phacet Labs](https://phacetlabs.com)**

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of financial data management by interacting with the Phacet API to create, update, and retrieve spreadsheet rows, as well as trigger workflows based on Phacet events.","capabilities":["Create new rows in Phacet tables with dynamic column mapping and inline file upload","Update existing rows with new cell values","Retrieve rows by ID","Get temporary download URLs for files stored in file-type columns","Trigger workflows on Phacet events (Row Calculation Completed, Row Calculation Failed, Row Created)","Supports both text and file-type columns","Features intelligent dynamic dropdowns for tables, sessions, and columns"],"authentication":"API key required","commonUseCases":["Invoice processing with automatic file attachment","Bank reconciliation and statement processing","Automated financial data reconciliation","Event-driven financial workflow automation"],"limitations":["Requires public webhook URL accessibility for self-hosted setups behind NAT/proxy","Requires Phacet account and API key setup","Node is community-maintained (not official n8n node)"],"relatedNodes":["n8n HTTP Request","n8n SFTP","n8n Email Trigger","n8n Wait","n8n File"]}


node_type: @noloco/n8n-nodes-noloco.noloco
package_name: @noloco/n8n-nodes-noloco
display_name: Noloco
description: Interact with Noloco records
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: darragh-noloco
author_github_url: https://github.com/noloco-io/n8n-nodes-noloco.git
npm_package_name: @noloco/n8n-nodes-noloco
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:41.016Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "record",
      "options": [
        {
          "name": "Record",
          "value": "record"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a record",
          "description": "Create a new record in a collection"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a record",
          "description": "Delete an existing record from a collection"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a record",
          "description": "Get a single record by ID"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many records",
          "description": "Get many records from a collection"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search records",
          "description": "Search for records by field values"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a record",
          "description": "Update an existing record in a collection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a record",
      "description": "Create a new record in a collection"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a record",
      "description": "Delete an existing record from a collection"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a record",
      "description": "Get a single record by ID"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many records",
      "description": "Get many records from a collection"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search records",
      "description": "Search for records by field values"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a record",
      "description": "Update an existing record in a collection"
    }
  ]

npm_readme:
  # @noloco/n8n-nodes-noloco

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

  [Noloco](https://noloco.io) is a no-code platform for building internal tools and client portals. Connect your data sources and build custom applications without writing code.

  [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 package includes two nodes:

  ### Noloco (Action Node)

  Perform operations on Noloco records:

  - **Create**: Create a new record in a collection
  - **Delete**: Delete an existing record from a collection
  - **Get**: Get a single record by ID
  - **Get Many**: Get many records from a collection with optional filtering, sorting, and pagination
  - **Search**: Search for records by field values
  - **Update**: Update an existing record in a collection

  ### Noloco Trigger (Polling Trigger)

  Start workflows when records change:

  - **Record Created**: Triggers when a new record is created in a table
  - **Record Updated**: Triggers when an existing record is updated in a table

  ## Credentials

  To use this node, you need to configure Noloco API credentials with two API keys:

  ### Prerequisites

  1. You must have access to a Noloco app
  2. You need to generate API keys from your app's settings

  ### Setting Up Credentials

  1. In your Noloco app, go to **Settings** > **Integrations & API Keys**
  2. Copy the **Account API Key** - this authenticates your Noloco account
  3. Copy the **App API Key** - this authenticates access to the specific app
  4. In n8n, create new Noloco API credentials and paste both keys

  For more details, see the [Noloco API Keys Guide](https://guides.noloco.io/settings/integrations-and-api-keys#api-keys).

  ## Compatibility

  - Tested with n8n version 1.0+
  - Requires Noloco REST API v1

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Noloco Documentation](https://guides.noloco.io/)
  - [Noloco API Keys Guide](https://guides.noloco.io/settings/integrations-and-api-keys#api-keys)
  - [Noloco Website](https://noloco.io)

ai_documentation_summary:
  {"purpose":"An n8n community node that enables interaction with Noloco records through CRUD operations and triggers on data changes.","capabilities":["Create new records in a collection","Delete existing records from a collection","Retrieve a single record by ID","Retrieve multiple records with filtering, sorting, and pagination","Search records by field values","Update existing records in a collection","Trigger workflows on record creation","Trigger workflows on record updates"],"authentication":"API key required (two keys: Account API Key and App API Key)","commonUseCases":["Automating internal tool data synchronization","Building client portal integrations","Real-time workflow triggers based on Noloco data changes","Syncing Noloco records with external systems"],"limitations":["Requires Noloco REST API v1","Requires access to a Noloco app and generation of API keys","Limited to n8n version 1.0+"],"relatedNodes":["Noloco Trigger","Noloco Action","Community Nodes"]}


node_type: n8n-nodes-docutray.docutray
package_name: n8n-nodes-docutray
display_name: Docutray
description: Process documents and search knowledge bases with Docutray services
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: rarce
author_github_url: https://github.com/docutray/
npm_package_name: n8n-nodes-docutray
npm_version: 0.5.2
community_fetched_at: 2026-03-25T21:19:41.016Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Document",
          "value": "document",
          "description": "Process documents with OCR and identification"
        },
        {
          "name": "Knowledge Base",
          "value": "knowledgeBase",
          "description": "Search knowledge bases using RAG technology"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "convert",
      "options": [
        {
          "name": "Convert",
          "value": "convert",
          "action": "Convert document to JSON",
          "routing": {
            "request": {
              "url": "/convert",
              "method": "POST"
            }
          },
          "description": "Extract text from document using OCR"
        },
        {
          "name": "Identify",
          "value": "identify",
          "action": "Identify document type",
          "routing": {
            "request": {
              "url": "/identify",
              "method": "POST"
            }
          },
          "description": "Identify document type from image"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search knowledge base",
          "routing": {
            "request": {
              "method": "POST"
            }
          },
          "description": "Search knowledge base using RAG"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "knowledgeBase"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Convert",
      "value": "convert",
      "action": "Convert document to JSON",
      "routing": {
        "request": {
          "url": "/convert",
          "method": "POST"
        }
      },
      "description": "Extract text from document using OCR"
    },
    {
      "name": "Identify",
      "value": "identify",
      "action": "Identify document type",
      "routing": {
        "request": {
          "url": "/identify",
          "method": "POST"
        }
      },
      "description": "Identify document type from image"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search knowledge base",
      "routing": {
        "request": {
          "method": "POST"
        }
      },
      "description": "Search knowledge base using RAG"
    }
  ]

npm_readme:
  # n8n-nodes-docutray

  This is an n8n community node package that provides seamless integration with [Docutray](https://docutray.com/), a powerful document processing and OCR service. It includes a unified node with organized resource groups to automate document processing and knowledge base search workflows directly within your n8n automations.

  ## Features

  - **Document OCR**: Extract text from images and PDFs using advanced OCR technology
  - **Document Type Identification**: Automatically identify document types with confidence scores
  - **Knowledge Base Search**: RAG-based semantic search in knowledge bases for intelligent information retrieval
  - **Dynamic Knowledge Base Selector**: Dropdown selection from available knowledge bases with metadata
  - **Multiple Input Methods**: Support for file uploads, Base64 encoded images, and image URLs
  - **Wide Format Support**: JPEG, PNG, GIF, BMP, WebP, and PDF files (up to 100MB)

  ## Installation

  Follow the [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) to install this package in your n8n instance.

  ## Credentials

  To use this node, you'll need a Docutray API key:

  1. Sign up for a [Docutray account](https://docutray.com/)
  2. Navigate to your API settings in the dashboard
  3. Generate an API key
  4. Configure the "Docutray API" credentials in n8n with your API key

  ## Available Node

  This package includes a unified Docutray node with organized resource groups:

  ### Docutray Node

  A comprehensive node that provides access to all Docutray services through organized resource groups. Users first select a resource type, then choose from available operations for that resource.

  #### Document Resource

  Handles document OCR and type identification operations.

  #### Convert Operation
  Extract text from documents using OCR technology.

  **Supported Methods:**
  - Upload file directly
  - Provide Base64 encoded image
  - Specify image URL for automatic download

  **Parameters:**
  - Document type code (required)
  - Image content type (optional)
  - Document metadata (optional)

  #### Identify Operation
  Automatically identify document types from a list of options.

  **Supported Methods:**
  - Upload file directly
  - Provide Base64 encoded image
  - Specify image URL for automatic download

  **Parameters:**
  - Document type code options (array of possible document types)
  - Document metadata (optional)

  **Response includes:**
  - Primary document type with confidence score
  - Alternative document type suggestions

  #### Knowledge Base Resource

  Handles semantic search operations within knowledge bases using RAG technology.

  ##### Search Operation
  Perform semantic search within knowledge bases using RAG technology.

  **Parameters:**
  - Knowledge Base Name or ID (required) - Select from dropdown or enter ID manually
  - Query (required) - Search query text (max 1000 characters)
  - Limit (optional) - Maximum number of results (1-50, default: 50)
  - Similarity Threshold (optional) - Minimum similarity threshold (0-1, default: 0.7)
  - Include Metadata (optional) - Whether to include metadata in results (default: true)

  **Features:**
  - Dynamic knowledge base selector with dropdown showing available bases
  - Displays knowledge base name, description, and document count
  - Fallback to manual ID entry if API is unavailable

  **Response includes:**
  - Semantic search results with relevance scores
  - Document excerpts and content snippets
  - Optional metadata for each result

  ## Compatibility

  This node has been tested with n8n version 1.94.0 and newer.

  ## Resources

  - [Docutray API Documentation](https://docs.docutray.com/)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Docutray Website](https://docutray.com/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Processes documents and searches knowledge bases using Docutray services, enabling OCR, document type identification, and RAG-based semantic search within n8n workflows.","capabilities":["Extract text from images and PDFs using OCR","Automatically identify document types with confidence scores","Perform RAG-based semantic search in knowledge bases","Support file uploads, Base64 encoded images, and image URLs as input","Handle JPEG, PNG, GIF, BMP, WebP, and PDF files up to 100MB","Dynamic knowledge base selection via dropdown with metadata"],"authentication":"API key required (Docutray API key configured in n8n credentials)","commonUseCases":["Automating document ingestion and text extraction","Classifying incoming documents by type","Retrieving relevant information from enterprise knowledge bases","Building document processing pipelines with OCR and search"],"limitations":["File size limit of 100MB for supported formats","Query length limit of 1000 characters for knowledge base search","Semantic search results limited to 50 entries maximum","Similarity threshold range restricted to 0-1"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.set"]}


node_type: n8n-nodes-screenshotone.screenshotOne
package_name: n8n-nodes-screenshotone
display_name: ScreenshotOne
description: Render PDFs, screenshots, scrolling screenshots, and short videos using ScreenshotOne
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: screenshotonedev
author_github_url: https://github.com/screenshotone/
npm_package_name: n8n-nodes-screenshotone
npm_version: 0.1.6
community_fetched_at: 2026-03-25T21:19:41.017Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "screenshot",
      "options": [
        {
          "name": "Full Page Screenshot",
          "value": "full_page"
        },
        {
          "name": "PDF",
          "value": "pdf"
        },
        {
          "name": "Record Short Video",
          "value": "short_video"
        },
        {
          "name": "Screenshot",
          "value": "screenshot"
        },
        {
          "name": "Scrolling Screenshot",
          "value": "scrolling_screenshot"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Full Page Screenshot",
      "value": "full_page"
    },
    {
      "name": "PDF",
      "value": "pdf"
    },
    {
      "name": "Record Short Video",
      "value": "short_video"
    },
    {
      "name": "Screenshot",
      "value": "screenshot"
    },
    {
      "name": "Scrolling Screenshot",
      "value": "scrolling_screenshot"
    }
  ]

npm_readme:
  # n8n-nodes-screenshotone

  ![n8n.io - Workflow Automation](https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png)
  [![screenshotone.com](https://screenshotone.com/logo.png)](https://screenshotone.com/)

  `n8n-nodes-screenshotone` is an n8n community node. It lets you use [ScreenshotOne](https://screenshotone.com/) in your n8n workflows.

  ScreenshotOne is a service that allows you to take screenshots of web pages, generate PDFs, convert HTML or Markdown to images and more.

  [![testimonials](./assets/testimonials.png)](https://screenshotone.com/customers/)

  Check out what [ScreenshotOne customers say about the API](https://screenshotone.com/customers/) and why it is considered one of the best screenshot APIs.

  [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)
  - [Development](#development)
  - [Version history](#version-history)
  - [ScreenshotOne](#screenshotone)
    - [Use cases](#use-cases)
    - [Customers](#customers)
  - [License](#license)

  ## Installation

  ### Community Nodes

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

  1. Go to `Settings` > `Community Nodes`.
  2. Select `Install`.
  3. Enter `n8n-nodes-screenshotone` in `Enter npm package name`.
  4. Agree to the risks of using community nodes.
  5. Select `Install`.

  ![Install](./assets/install.png)

  ## Operations

  1. **Screenshot** any website, HTML or Markdown. Returns result as image.
  2. **Full Page Screenshot** is the same as **Screenshot**, but returns the full page as an image.
  3. **PDF** from rendering PDFs from URLs, HTML or Markdown. Returns result as PDF.
  4. **Scrolling Screenshot** it is a [scrolling screenshot feature from ScreenshotOne](https://screenshotone.com/scrolling-screenshots/). Results as video or GIF.
  5. **Record Short Video** is to record a short video of a website, HTML or Markdown. Results as video or GIF.

  For scrolling screenshots and video check out the [ScreenshotOne documentation](https://screenshotone.com/docs/animated-screenshots/).

  ## Credentials

  To use ScreenshotOne node, you will need to authenticate with the ScreenshotOne API.

  1. [Sign up for or sign in to a ScreenshotOne account](https://dash.screenshotone.com/).
  2. [Create if needed and copy the API (access) key](https://dash.screenshotone.com/access).
  3. Create new credentials in n8n:
     3.1. Add and use the ScreenshotOne node in your workflow.
     3.2. Under "Credential to connect with", click "Create New Credential".
     3.3. Paste the API (access) key you copied in step 2.

  Test the credentials and make sure it works:

  ![Credentials](./assets/credentials.png)

  ## Compatibility

  The node was created and tested with n8n version `1.98.2`. But there is no reason it won't work with older and newer versions.

  ## Usage

  If you use n8n for the first time, check out the ["try it out" documentation ](https://docs.n8n.io/try-it-out/) to get started.

  ### Response types

  ScreenshotOne may return the response in different formats based on the request options:

  - `json` - for JSON responses, e.g. for PDF or screenshot with URLs.
  - `text` - for text responses, e.g. raw HTML.
  - `base64` - for image responses.

  Examples:

  ```json
  {
  	"content_type": "application/json",
  	"type": "json",
  	"response": {
  		"cache_url": "https://<URL of the screenshot in cache>"
  	}
  }
  ```

  Or:

  ```json
  {
  	"content_type": "text/html",
  	"type": "text",
  	"response": "<HTML body>"
  }
  ```

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [ScreenshotOne API documentation](https://screenshotone.com/docs/)
  - [ScreenshotOne](https://screenshotone.com/)
  - [ScreenshotOne Dashboard](https://dash.screenshotone.com/)

  ## Version history

  - 0.1.2 - Initial release of the ScreenshotOne node for n8n 🥳

  ## Development

  Check out [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building and developing the node.

  0. Install dependencies:

  ```bash
  npm install
  ```

  1. Build the node

  ```bash
  npm run build
  ```

  2. Link the node to n8n from the node directory

  ```bash
  npm link
  ```

  3. In your `~/.n8n/nodes` directory, link the node:

  ```bash
  npm link n8n-nodes-screenshotone
  ```

  4. Run n8n:

  ```bash
  n8n start
  ```

  Once the node is linked, you need to only rebuild and restart n8n to see the changes.

  ## ScreenshotOne

  ### Use cases

  You can find [all the use cases on the ScreenshotOne official website](https://screenshotone.com/use-cases/), including but not limited to:

  - [Automating Open Graph image generation](https://screenshotone.com/use-cases/open-graph-images/)
  - [Generating personalized videos](https://screenshotone.com/use-cases/automate-personalized-videos/)
  - [Generating marketing content](https://screenshotone.com/use-cases/generate-advertising-content/)

  And [many more](https://screenshotone.com/use-cases/).

  ### Customers

  [![testimonials](./assets/testimonials.png)](https://screenshotone.com/customers/)

  Check out what [ScreenshotOne customers say about the API](https://screenshotone.com/customers/) and why it is considered one of the best screenshot APIs.

  ## License

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

  ## License

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

ai_documentation_summary:
  {"purpose":"A n8n community node that integrates with ScreenshotOne to render PDFs, capture website screenshots (including full-page and scrolling), and generate short videos from web content.","capabilities":["Take screenshots of websites, HTML, or Markdown","Capture full-page screenshots","Generate PDFs from URLs, HTML, or Markdown","Create scrolling screenshots (results as video or GIF)","Record short videos of websites, HTML, or Markdown","Convert HTML or Markdown to images","Return responses in JSON, text, or base64 formats"],"authentication":"API key required (ScreenshotOne access key)","commonUseCases":["Automating Open Graph image generation","Generating personalized videos","Creating marketing and advertising content","Capturing full-page website layouts","Creating animated scrolling videos or GIFs"],"limitations":["Community node (requires accepting risks of using community nodes)","Requires external ScreenshotOne account and API key","Response formats depend on request options (JSON, text, or base64)"],"relatedNodes":["HTTP Request","Code","PDF","Image"]}


node_type: n8n-nodes-mercury.mercuryTrigger
package_name: n8n-nodes-mercury
display_name: Mercury Trigger
description: Starts the workflow when Mercury events occur
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: cobrien704
author_github_url: https://github.com/MercuryTechnologies/
npm_package_name: n8n-nodes-mercury
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:41.017Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # n8n-nodes-mercury

  This is an n8n community node that provides webhook-based triggers for [Mercury](https://mercury.com) banking events. It lets you automatically start n8n workflows when transactions or account balances change.

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

  [Installation](#installation) |
  [Credentials](#credentials) |
  [Trigger Events](#trigger-events) |
  [Usage](#usage) |
  [Architecture](#architecture) |
  [Compatibility](#compatibility) |
  [Resources](#resources)

  ## Installation

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

  ## Credentials

  1. In Mercury, go to [Settings > API Tokens](https://app.mercury.com/settings/tokens).
  2. Click **Create token** and give it a name (e.g., "n8n").
  3. Copy the token — it's only shown once.
  4. In n8n, go to **Credentials > Add Credential** and search for **Mercury API**.
  5. Paste the token into the **API Token** field and save.

  ## Trigger Events

  The **Mercury** node starts your workflow when one of the following events occurs:

  | Trigger Type | Description |
  |---|---|
  | **Transaction Created** | A new transaction is created on any account |
  | **Transaction Settled** | A transaction status changes to `settled` |
  | **Transaction Failed** | A transaction status changes to `failed` |
  | **Transaction Cancelled** | A transaction status changes to `cancelled` |
  | **Transaction Updated** | Any update to a transaction (all status and metadata changes) |
  | **Account Balance Updated** | A checking or savings account balance changes |

  ## Usage

  1. In n8n, create a new workflow.
  2. Add the **Mercury** node (search for "Mercury" in the nodes panel).
  3. Select your **Mercury API** credential.
  4. Choose a **Trigger Type** from the dropdown (e.g., "Transaction Created").
  5. Connect any downstream nodes to process the data (e.g., send a Slack message, update a spreadsheet).
  6. **Activate** the workflow.

  Once active, the workflow runs automatically whenever the selected event occurs in Mercury. The trigger outputs the full resource — for transaction events, this is the complete [transaction object](https://docs.mercury.com/reference/gettransaction); for balance events, the complete [account object](https://docs.mercury.com/reference/getaccount).

  To stop receiving events, deactivate the workflow. The webhook is cleaned up automatically.

  ## Architecture

  This node uses Mercury's [webhook API](https://docs.mercury.com/reference/createwebhook) with automatic lifecycle management:

  - **Activate workflow** — n8n registers a webhook with Mercury for the selected event type.
  - **Receive event** — Mercury sends a webhook notification. The node verifies the HMAC-SHA256 signature, then fetches the full resource (transaction or account) from the Mercury API.
  - **Deactivate workflow** — n8n deregisters the webhook from Mercury.

  You don't need to create or manage webhooks manually. The node handles registration and cleanup.

  All incoming webhooks are verified using HMAC-SHA256 signatures (`Mercury-Signature` header). Webhooks with missing, invalid, or expired (>5 minutes) signatures are rejected.

  ## Compatibility

  Requires **n8n >= 1.60.0**.

  ## Resources

  - [Mercury API Documentation](https://docs.mercury.com/reference/)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [n8n Community Nodes Installation Guide](https://docs.n8n.io/integrations/community-nodes/installation/)

ai_documentation_summary:
  {"purpose":"Automatically triggers n8n workflows when specific banking events occur in Mercury, such as transaction status changes or account balance updates.","capabilities":["Monitor for Transaction Created events","Monitor for Transaction Settled events","Monitor for Transaction Failed events","Monitor for Transaction Cancelled events","Monitor for Transaction Updated events","Monitor for Account Balance Updated events","Automatic HMAC-SHA256 signature verification","Automatic webhook registration and deregistration","Output full transaction or account resource objects"],"authentication":"API Token (Mercury API Token)","commonUseCases":["Automated expense tracking and categorization","Real-time balance monitoring alerts","Automated bookkeeping entry creation","Spending limit breach notifications"],"limitations":["Requires n8n version 1.60.0 or higher","Webhook signatures expire after 5 minutes if not verified","Manual webhook management is not required but the node depends on Mercury's webhook API"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-mercury.mercuryWebhook"]}


node_type: @preyproject/n8n-nodes-prey.prey
package_name: @preyproject/n8n-nodes-prey
display_name: Prey
description: Manage devices and account data in Prey
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: luisra51
author_github_url: https://github.com/prey/n8n-nodes-prey.git
npm_package_name: @preyproject/n8n-nodes-prey
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:41.018Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "device",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Automation",
          "value": "automation"
        },
        {
          "name": "Device",
          "value": "device"
        },
        {
          "name": "Label",
          "value": "label"
        },
        {
          "name": "Mass Action",
          "value": "massAction"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Zone",
          "value": "zone"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAccountSummary",
      "options": [
        {
          "name": "Get Account Summary",
          "value": "getAccountSummary",
          "action": "Get account summary",
          "routing": {
            "request": {
              "url": "/account",
              "method": "GET"
            }
          },
          "description": "Get account information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ],
          "permissionLevel": [
            "read"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAccountSummary",
      "options": [
        {
          "name": "Get Account Summary",
          "value": "getAccountSummary",
          "action": "Get account summary",
          "routing": {
            "request": {
              "url": "/account",
              "method": "GET"
            }
          },
          "description": "Get account information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ],
          "permissionLevel": [
            "write"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listUsers",
      "options": [
        {
          "name": "List Users",
          "value": "listUsers",
          "action": "List users",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "users"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/users",
              "method": "GET"
            }
          },
          "description": "List users in the account"
        },
        {
          "name": "Get User",
          "value": "getUser",
          "action": "Get a user",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter.userId}}",
              "method": "GET"
            }
          },
          "description": "Get a user by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "permissionLevel": [
            "read"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listUsers",
      "options": [
        {
          "name": "List Users",
          "value": "listUsers",
          "action": "List users",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "users"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/users",
              "method": "GET"
            }
          },
          "description": "List users in the account"
        },
        {
          "name": "Get User",
          "value": "getUser",
          "action": "Get a user",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter.userId}}",
              "method": "GET"
            }
          },
          "description": "Get a user by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ],
          "permissionLevel": [
            "write"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDevices",
      "options": [
        {
          "name": "Get Device",
          "value": "getDevice",
          "action": "Get a device",
          "routing": {
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}",
              "method": "GET"
            }
          },
          "description": "Get a device by ID"
        },
        {
          "name": "Get Device Location History",
          "value": "getDeviceLocationHistory",
          "action": "Get device location history",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "binaryData",
                  "enabled": "={{$parameter.locationFormat === \"csv\"}}",
                  "properties": {
                    "destinationProperty": "data"
                  }
                },
                {
                  "type": "rootProperty",
                  "enabled": "={{$parameter.locationFormat !== \"csv\"}}",
                  "properties": {
                    "property": "latest_locations"
                  }
                }
              ]
            },
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}/location_activity{{$parameter.locationFormat === \"csv\" ? \".csv\" : \"\"}}",
              "method": "GET"
            }
          },
          "description": "Get device location history (JSON or CSV)"
        },
        {
          "name": "Get Device Report",
          "value": "getDeviceReport",
          "action": "Get a device report",
          "routing": {
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}/reports/{{$parameter.reportId}}",
              "method": "GET"
            }
          },
          "description": "Get a single report for a device"
        },
        {
          "name": "Get Device Reports",
          "value": "getDeviceReports",
          "action": "Get device reports",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "reports"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "=/devices/{{$parameter.deviceId}}/reports",
              "method": "GET"
            }
          },
          "description": "List reports for a device"
        },
        {
          "name": "List Devices",
          "value": "listDevices",
          "action": "List devices",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "devices"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/devices",
              "method": "GET"
            }
          },
          "description": "List devices in the account"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "device"
          ],
          "permissionLevel": [
            "read"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDevices",
      "options": [
        {
          "name": "Get Device",
          "value": "getDevice",
          "action": "Get a device",
          "routing": {
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}",
              "method": "GET"
            }
          },
          "description": "Get a device by ID"
        },
        {
          "name": "Get Device Location History",
          "value": "getDeviceLocationHistory",
          "action": "Get device location history",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "binaryData",
                  "enabled": "={{$parameter.locationFormat === \"csv\"}}",
                  "properties": {
                    "destinationProperty": "data"
                  }
                },
                {
                  "type": "rootProperty",
                  "enabled": "={{$parameter.locationFormat !== \"csv\"}}",
                  "properties": {
                    "property": "latest_locations"
                  }
                }
              ]
            },
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}/location_activity{{$parameter.locationFormat === \"csv\" ? \".csv\" : \"\"}}",
              "method": "GET"
            }
          },
          "description": "Get device location history (JSON or CSV)"
        },
        {
          "name": "Get Device Report",
          "value": "getDeviceReport",
          "action": "Get a device report",
          "routing": {
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}/reports/{{$parameter.reportId}}",
              "method": "GET"
            }
          },
          "description": "Get a single report for a device"
        },
        {
          "name": "Get Device Reports",
          "value": "getDeviceReports",
          "action": "Get device reports",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "reports"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "=/devices/{{$parameter.deviceId}}/reports",
              "method": "GET"
            }
          },
          "description": "List reports for a device"
        },
        {
          "name": "List Devices",
          "value": "listDevices",
          "action": "List devices",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "devices"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/devices",
              "method": "GET"
            }
          },
          "description": "List devices in the account"
        },
        {
          "name": "Trigger Device Action",
          "value": "triggerDeviceAction",
          "action": "Trigger a device action",
          "routing": {
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}/action",
              "body": {
                "command": "={{$parameter.actionCommand}}",
                "options": "={{$parameter.actionOptions}}",
                "action_name": "={{$parameter.deviceAction}}"
              },
              "json": true,
              "method": "PUT"
            }
          },
          "description": "Trigger alarm, alert, or lock on a device"
        },
        {
          "name": "Set Device Status (Missing/Recovered)",
          "value": "setDeviceStatus",
          "action": "Set device status",
          "routing": {
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}/missing",
              "body": {
                "missing": "={{$parameter.missingStatus === \"missing\"}}"
              },
              "json": true,
              "method": "PUT"
            }
          },
          "description": "Mark a device as missing or recovered"
        },
        {
          "name": "Delete Device",
          "value": "deleteDevice",
          "action": "Delete a device",
          "routing": {
            "request": {
              "url": "=/devices/{{$parameter.deviceId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a device from the fleet"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "device"
          ],
          "permissionLevel": [
            "write"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listLabels",
      "options": [
        {
          "name": "List Labels",
          "value": "listLabels",
          "action": "List labels",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "labels"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/labels",
              "method": "GET"
            }
          },
          "description": "List labels in the account"
        },
        {
          "name": "Get Label",
          "value": "getLabel",
          "action": "Get a label",
          "routing": {
            "request": {
              "url": "=/labels/{{$parameter.labelId}}",
              "method": "GET"
            }
          },
          "description": "Get a label by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "label"
          ],
          "permissionLevel": [
            "read"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listLabels",
      "options": [
        {
          "name": "List Labels",
          "value": "listLabels",
          "action": "List labels",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "labels"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/labels",
              "method": "GET"
            }
          },
          "description": "List labels in the account"
        },
        {
          "name": "Get Label",
          "value": "getLabel",
          "action": "Get a label",
          "routing": {
            "request": {
              "url": "=/labels/{{$parameter.labelId}}",
              "method": "GET"
            }
          },
          "description": "Get a label by ID"
        },
        {
          "name": "Create Label",
          "value": "createLabel",
          "action": "Create a label",
          "routing": {
            "request": {
              "url": "/labels",
              "body": {
                "name": "={{$parameter.labelName}}",
                "devices": "={{$parameter.labelDevices}}"
              },
              "json": true,
              "method": "POST"
            }
          },
          "description": "Create a new label"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "label"
          ],
          "permissionLevel": [
            "write"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listZones",
      "options": [
        {
          "name": "List Zones",
          "value": "listZones",
          "action": "List zones",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "zones"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/zones",
              "method": "GET"
            }
          },
          "description": "List zones in the account"
        },
        {
          "name": "Get Zone",
          "value": "getZone",
          "action": "Get a zone",
          "routing": {
            "request": {
              "url": "=/zones/{{$parameter.zoneId}}",
              "method": "GET"
            }
          },
          "description": "Get a zone by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "zone"
          ],
          "permissionLevel": [
            "read"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listZones",
      "options": [
        {
          "name": "List Zones",
          "value": "listZones",
          "action": "List zones",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "zones"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/zones",
              "method": "GET"
            }
          },
          "description": "List zones in the account"
        },
        {
          "name": "Get Zone",
          "value": "getZone",
          "action": "Get a zone",
          "routing": {
            "request": {
              "url": "=/zones/{{$parameter.zoneId}}",
              "method": "GET"
            }
          },
          "description": "Get a zone by ID"
        },
        {
          "name": "Create Zone",
          "value": "createZone",
          "action": "Create a zone",
          "routing": {
            "request": {
              "url": "/zones",
              "body": {
                "name": "={{$parameter.zoneName}}",
                "color": "={{$parameter.zoneColor}}",
                "radius": "={{$parameter.zoneRadius}}",
                "devices": "={{$parameter.zoneDevices}}",
                "latitude": "={{$parameter.zoneLatitude}}",
                "longitude": "={{$parameter.zoneLongitude}}"
              },
              "json": true,
              "method": "POST"
            }
          },
          "description": "Create a control zone"
        },
        {
          "name": "Update Zone",
          "value": "updateZone",
          "action": "Update a zone",
          "routing": {
            "request": {
              "url": "=/zones/{{$parameter.zoneId}}",
              "body": {
                "name": "={{$parameter.zoneName}}",
                "color": "={{$parameter.zoneColor}}",
                "radius": "={{$parameter.zoneRadius}}",
                "latitude": "={{$parameter.zoneLatitude}}",
                "longitude": "={{$parameter.zoneLongitude}}",
                "add_devices": "={{$parameter.zoneAddDevices}}",
                "remove_devices": "={{$parameter.zoneRemoveDevices}}",
                "removed_actions": "={{$parameter.zoneRemovedActions}}"
              },
              "json": true,
              "method": "PUT"
            }
          },
          "description": "Update a control zone"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "zone"
          ],
          "permissionLevel": [
            "write"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listAutomations",
      "options": [
        {
          "name": "List Automations",
          "value": "listAutomations",
          "action": "List automations",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "automations"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/automations",
              "method": "GET"
            }
          },
          "description": "List automations in the account"
        },
        {
          "name": "Get Automation",
          "value": "getAutomation",
          "action": "Get an automation",
          "routing": {
            "request": {
              "url": "=/automations/{{$parameter.automationId}}",
              "method": "GET"
            }
          },
          "description": "Get an automation by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "automation"
          ],
          "permissionLevel": [
            "read"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listAutomations",
      "options": [
        {
          "name": "List Automations",
          "value": "listAutomations",
          "action": "List automations",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "automations"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/automations",
              "method": "GET"
            }
          },
          "description": "List automations in the account"
        },
        {
          "name": "Get Automation",
          "value": "getAutomation",
          "action": "Get an automation",
          "routing": {
            "request": {
              "url": "=/automations/{{$parameter.automationId}}",
              "method": "GET"
            }
          },
          "description": "Get an automation by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "automation"
          ],
          "permissionLevel": [
            "write"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listMassActions",
      "options": [
        {
          "name": "List Mass Actions",
          "value": "listMassActions",
          "action": "List mass actions",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "mass_actions"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/mass_actions",
              "method": "GET"
            }
          },
          "description": "List mass actions in the account"
        },
        {
          "name": "Get Mass Action",
          "value": "getMassAction",
          "action": "Get a mass action",
          "routing": {
            "request": {
              "url": "=/mass_actions/{{$parameter.massActionId}}",
              "method": "GET"
            }
          },
          "description": "Get a mass action by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "massAction"
          ],
          "permissionLevel": [
            "read"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listMassActions",
      "options": [
        {
          "name": "List Mass Actions",
          "value": "listMassActions",
          "action": "List mass actions",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "mass_actions"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page": 1
              },
              "url": "/mass_actions",
              "method": "GET"
            }
          },
          "description": "List mass actions in the account"
        },
        {
          "name": "Get Mass Action",
          "value": "getMassAction",
          "action": "Get a mass action",
          "routing": {
            "request": {
              "url": "=/mass_actions/{{$parameter.massActionId}}",
              "method": "GET"
            }
          },
          "description": "Get a mass action by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "massAction"
          ],
          "permissionLevel": [
            "write"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Account Summary",
      "value": "getAccountSummary",
      "action": "Get account summary",
      "routing": {
        "request": {
          "url": "/account",
          "method": "GET"
        }
      },
      "description": "Get account information"
    },
    {
      "name": "Get Account Summary",
      "value": "getAccountSummary",
      "action": "Get account summary",
      "routing": {
        "request": {
          "url": "/account",
          "method": "GET"
        }
      },
      "description": "Get account information"
    },
    {
      "name": "List Users",
      "value": "listUsers",
      "action": "List users",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "users"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/users",
          "method": "GET"
        }
      },
      "description": "List users in the account"
    },
    {
      "name": "Get User",
      "value": "getUser",
      "action": "Get a user",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter.userId}}",
          "method": "GET"
        }
      },
      "description": "Get a user by ID"
    },
    {
      "name": "List Users",
      "value": "listUsers",
      "action": "List users",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "users"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/users",
          "method": "GET"
        }
      },
      "description": "List users in the account"
    },
    {
      "name": "Get User",
      "value": "getUser",
      "action": "Get a user",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter.userId}}",
          "method": "GET"
        }
      },
      "description": "Get a user by ID"
    },
    {
      "name": "Get Device",
      "value": "getDevice",
      "action": "Get a device",
      "routing": {
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}",
          "method": "GET"
        }
      },
      "description": "Get a device by ID"
    },
    {
      "name": "Get Device Location History",
      "value": "getDeviceLocationHistory",
      "action": "Get device location history",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "binaryData",
              "enabled": "={{$parameter.locationFormat === \"csv\"}}",
              "properties": {
                "destinationProperty": "data"
              }
            },
            {
              "type": "rootProperty",
              "enabled": "={{$parameter.locationFormat !== \"csv\"}}",
              "properties": {
                "property": "latest_locations"
              }
            }
          ]
        },
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}/location_activity{{$parameter.locationFormat === \"csv\" ? \".csv\" : \"\"}}",
          "method": "GET"
        }
      },
      "description": "Get device location history (JSON or CSV)"
    },
    {
      "name": "Get Device Report",
      "value": "getDeviceReport",
      "action": "Get a device report",
      "routing": {
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}/reports/{{$parameter.reportId}}",
          "method": "GET"
        }
      },
      "description": "Get a single report for a device"
    },
    {
      "name": "Get Device Reports",
      "value": "getDeviceReports",
      "action": "Get device reports",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "reports"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "=/devices/{{$parameter.deviceId}}/reports",
          "method": "GET"
        }
      },
      "description": "List reports for a device"
    },
    {
      "name": "List Devices",
      "value": "listDevices",
      "action": "List devices",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "devices"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/devices",
          "method": "GET"
        }
      },
      "description": "List devices in the account"
    },
    {
      "name": "Get Device",
      "value": "getDevice",
      "action": "Get a device",
      "routing": {
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}",
          "method": "GET"
        }
      },
      "description": "Get a device by ID"
    },
    {
      "name": "Get Device Location History",
      "value": "getDeviceLocationHistory",
      "action": "Get device location history",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "binaryData",
              "enabled": "={{$parameter.locationFormat === \"csv\"}}",
              "properties": {
                "destinationProperty": "data"
              }
            },
            {
              "type": "rootProperty",
              "enabled": "={{$parameter.locationFormat !== \"csv\"}}",
              "properties": {
                "property": "latest_locations"
              }
            }
          ]
        },
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}/location_activity{{$parameter.locationFormat === \"csv\" ? \".csv\" : \"\"}}",
          "method": "GET"
        }
      },
      "description": "Get device location history (JSON or CSV)"
    },
    {
      "name": "Get Device Report",
      "value": "getDeviceReport",
      "action": "Get a device report",
      "routing": {
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}/reports/{{$parameter.reportId}}",
          "method": "GET"
        }
      },
      "description": "Get a single report for a device"
    },
    {
      "name": "Get Device Reports",
      "value": "getDeviceReports",
      "action": "Get device reports",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "reports"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "=/devices/{{$parameter.deviceId}}/reports",
          "method": "GET"
        }
      },
      "description": "List reports for a device"
    },
    {
      "name": "List Devices",
      "value": "listDevices",
      "action": "List devices",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "devices"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/devices",
          "method": "GET"
        }
      },
      "description": "List devices in the account"
    },
    {
      "name": "Trigger Device Action",
      "value": "triggerDeviceAction",
      "action": "Trigger a device action",
      "routing": {
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}/action",
          "body": {
            "command": "={{$parameter.actionCommand}}",
            "options": "={{$parameter.actionOptions}}",
            "action_name": "={{$parameter.deviceAction}}"
          },
          "json": true,
          "method": "PUT"
        }
      },
      "description": "Trigger alarm, alert, or lock on a device"
    },
    {
      "name": "Set Device Status (Missing/Recovered)",
      "value": "setDeviceStatus",
      "action": "Set device status",
      "routing": {
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}/missing",
          "body": {
            "missing": "={{$parameter.missingStatus === \"missing\"}}"
          },
          "json": true,
          "method": "PUT"
        }
      },
      "description": "Mark a device as missing or recovered"
    },
    {
      "name": "Delete Device",
      "value": "deleteDevice",
      "action": "Delete a device",
      "routing": {
        "request": {
          "url": "=/devices/{{$parameter.deviceId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a device from the fleet"
    },
    {
      "name": "List Labels",
      "value": "listLabels",
      "action": "List labels",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "labels"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/labels",
          "method": "GET"
        }
      },
      "description": "List labels in the account"
    },
    {
      "name": "Get Label",
      "value": "getLabel",
      "action": "Get a label",
      "routing": {
        "request": {
          "url": "=/labels/{{$parameter.labelId}}",
          "method": "GET"
        }
      },
      "description": "Get a label by ID"
    },
    {
      "name": "List Labels",
      "value": "listLabels",
      "action": "List labels",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "labels"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/labels",
          "method": "GET"
        }
      },
      "description": "List labels in the account"
    },
    {
      "name": "Get Label",
      "value": "getLabel",
      "action": "Get a label",
      "routing": {
        "request": {
          "url": "=/labels/{{$parameter.labelId}}",
          "method": "GET"
        }
      },
      "description": "Get a label by ID"
    },
    {
      "name": "Create Label",
      "value": "createLabel",
      "action": "Create a label",
      "routing": {
        "request": {
          "url": "/labels",
          "body": {
            "name": "={{$parameter.labelName}}",
            "devices": "={{$parameter.labelDevices}}"
          },
          "json": true,
          "method": "POST"
        }
      },
      "description": "Create a new label"
    },
    {
      "name": "List Zones",
      "value": "listZones",
      "action": "List zones",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "zones"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/zones",
          "method": "GET"
        }
      },
      "description": "List zones in the account"
    },
    {
      "name": "Get Zone",
      "value": "getZone",
      "action": "Get a zone",
      "routing": {
        "request": {
          "url": "=/zones/{{$parameter.zoneId}}",
          "method": "GET"
        }
      },
      "description": "Get a zone by ID"
    },
    {
      "name": "List Zones",
      "value": "listZones",
      "action": "List zones",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "zones"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/zones",
          "method": "GET"
        }
      },
      "description": "List zones in the account"
    },
    {
      "name": "Get Zone",
      "value": "getZone",
      "action": "Get a zone",
      "routing": {
        "request": {
          "url": "=/zones/{{$parameter.zoneId}}",
          "method": "GET"
        }
      },
      "description": "Get a zone by ID"
    },
    {
      "name": "Create Zone",
      "value": "createZone",
      "action": "Create a zone",
      "routing": {
        "request": {
          "url": "/zones",
          "body": {
            "name": "={{$parameter.zoneName}}",
            "color": "={{$parameter.zoneColor}}",
            "radius": "={{$parameter.zoneRadius}}",
            "devices": "={{$parameter.zoneDevices}}",
            "latitude": "={{$parameter.zoneLatitude}}",
            "longitude": "={{$parameter.zoneLongitude}}"
          },
          "json": true,
          "method": "POST"
        }
      },
      "description": "Create a control zone"
    },
    {
      "name": "Update Zone",
      "value": "updateZone",
      "action": "Update a zone",
      "routing": {
        "request": {
          "url": "=/zones/{{$parameter.zoneId}}",
          "body": {
            "name": "={{$parameter.zoneName}}",
            "color": "={{$parameter.zoneColor}}",
            "radius": "={{$parameter.zoneRadius}}",
            "latitude": "={{$parameter.zoneLatitude}}",
            "longitude": "={{$parameter.zoneLongitude}}",
            "add_devices": "={{$parameter.zoneAddDevices}}",
            "remove_devices": "={{$parameter.zoneRemoveDevices}}",
            "removed_actions": "={{$parameter.zoneRemovedActions}}"
          },
          "json": true,
          "method": "PUT"
        }
      },
      "description": "Update a control zone"
    },
    {
      "name": "List Automations",
      "value": "listAutomations",
      "action": "List automations",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "automations"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/automations",
          "method": "GET"
        }
      },
      "description": "List automations in the account"
    },
    {
      "name": "Get Automation",
      "value": "getAutomation",
      "action": "Get an automation",
      "routing": {
        "request": {
          "url": "=/automations/{{$parameter.automationId}}",
          "method": "GET"
        }
      },
      "description": "Get an automation by ID"
    },
    {
      "name": "List Automations",
      "value": "listAutomations",
      "action": "List automations",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "automations"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/automations",
          "method": "GET"
        }
      },
      "description": "List automations in the account"
    },
    {
      "name": "Get Automation",
      "value": "getAutomation",
      "action": "Get an automation",
      "routing": {
        "request": {
          "url": "=/automations/{{$parameter.automationId}}",
          "method": "GET"
        }
      },
      "description": "Get an automation by ID"
    },
    {
      "name": "List Mass Actions",
      "value": "listMassActions",
      "action": "List mass actions",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "mass_actions"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/mass_actions",
          "method": "GET"
        }
      },
      "description": "List mass actions in the account"
    },
    {
      "name": "Get Mass Action",
      "value": "getMassAction",
      "action": "Get a mass action",
      "routing": {
        "request": {
          "url": "=/mass_actions/{{$parameter.massActionId}}",
          "method": "GET"
        }
      },
      "description": "Get a mass action by ID"
    },
    {
      "name": "List Mass Actions",
      "value": "listMassActions",
      "action": "List mass actions",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "mass_actions"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page": 1
          },
          "url": "/mass_actions",
          "method": "GET"
        }
      },
      "description": "List mass actions in the account"
    },
    {
      "name": "Get Mass Action",
      "value": "getMassAction",
      "action": "Get a mass action",
      "routing": {
        "request": {
          "url": "=/mass_actions/{{$parameter.massActionId}}",
          "method": "GET"
        }
      },
      "description": "Get a mass action by ID"
    }
  ]

npm_readme:
  # n8n-nodes-prey

  This is an n8n community node that lets you work with the Prey Developer API in your n8n workflows.

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

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

  ## Installation

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

  ## Operations

  - Account
    - Get account
  - Users
    - List users
    - Get user
  - Devices
    - List devices
    - Get device
    - Get device location history (JSON or CSV)
    - List device reports
    - Get device report
    - Trigger device action (alarm/alert/lock)
    - Set device status (missing/recovered)
    - Delete device
  - Labels
    - List labels
    - Get label
    - Create label
  - Zones
    - List zones
    - Get zone
    - Create zone
    - Update zone
  - Automations
    - List automations
    - Get automation
  - Mass Actions
    - List mass actions
    - Get mass action

  ## Credentials

  This node uses API Key authentication.

  ### API Key

  1. Go to Prey Control Panel → Settings → Developer API.
  2. Create an API key (you can set permissions and expiration).
  3. Use the API key in the Prey API credential inside n8n.

  Note: Creating API keys requires a Personal, Business, or Education plan.

  The credential includes a Permission Level field (Read-only or Read & Write) to hide write operations when the key is read-only.

  ## Usage notes

  - The Prey Developer API is currently in **Beta** and has fewer write endpoints than read ones.
  - Rate limits are per API key:
    - 2 requests/second
    - 60 requests/minute
    - 10,000 requests/hour

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Prey Developer API (Swagger)](https://api.preyproject.com)
  * [Prey API help article](https://help.preyproject.com/article/308-what-can-i-use-the-prey-api-for)

ai_documentation_summary:
  {"purpose":"This n8n community node enables workflow automation by interacting with the Prey Developer API to manage devices, accounts, users, labels, zones, and automations.","capabilities":["Retrieve account information","List and retrieve user details","List, retrieve, and delete devices","Retrieve device location history in JSON or CSV format","List, retrieve, and trigger device reports","Trigger device actions (alarm, alert, lock)","Set device status (missing or recovered)","Manage labels (list, retrieve, create)","Manage zones (list, retrieve, create, update)","Manage automations (list, retrieve)"],"authentication":"API Key","commonUseCases":["Automating device locking or alarming based on scheduled events","Tracking device location history for security monitoring","Managing user access and permissions across devices","Creating and updating device zones for organizational management","Triggering mass actions on multiple devices simultaneously"],"limitations":["Prey Developer API is currently in Beta","Fewer write endpoints compared to read endpoints","Rate limits of 2 requests/second, 60 requests/minute, and 10,000 requests/hour per API key","API key creation requires Personal, Business, or Education plan"],"relatedNodes":["n8n HTTP Request","n8n Code Node"]}


node_type: n8n-nodes-evolution-api.evolutionapi
package_name: n8n-nodes-evolution-api
display_name: evolutionapi
description: A Evolution API é um hub de canais com foco no WhatsApp
category: Community
development_style: declarative
version: 1.0.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: oriondesign
author_github_url: git+https://github.com/oriondesign2015/n8n-nodes-evolution-api.git
npm_package_name: n8n-nodes-evolution-api
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:41.736Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ![image](https://github.com/user-attachments/assets/813b7b34-377c-42e8-9f1a-12e27e682c7f)

  <p align="center"><br>
  Este Community Nodes é uma solução 100% gratuita, criada com o intuito de simplificar e auxiliar toda a comunidade a integrar e utilizar ao máximo os principais recursos oferecidos pela <b>Evolution API v2.2+</b> em seus projetos no N8N. <b>Desenvolvido por OrionDesign.</b>
  </p>
  <br>
  	
  <div align="center">
    <img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.npmjs.org%2Fdownloads%2Fpoint%2Flast-year%2Fn8n-nodes-evolution-api&query=downloads&style=for-the-badge&label=Total%20de%20Downloads&labelColor=%230d1117&color=%23359514&cacheSeconds=30&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fn8n-nodes-evolution-api" alt="Dynamic JSON Badge">
  </div>
  <br>
  </p>
  <p align="center">
    <a href="https://oriondesign.art.br/whatsapp1"><img src="https://github.com/user-attachments/assets/5a469114-2054-4f01-85b2-51a282518658" alt=”SetupOrion” ></a>     
    <a href="https://oriondesign.art.br/whatsapp2"><img src="https://github.com/user-attachments/assets/3e3580a9-ae8e-4209-84fc-cfc1c03a8f12" alt=”SetupOrion” ></a>     
    <a href="https://oriondesign.art.br/whatsapp3"><img src="https://github.com/user-attachments/assets/91aa7733-c09c-474f-9483-54cb678213d2" alt=”SetupOrion” ></a>
  </p>


  <h1></h1>

  <h3>⚙️ Requisitos</h3>

  Para utilizar o nosso **Community Node**, é necessário atender aos seguintes requisitos:  
  - **N8N** na versão **1.54.4** ou superior  
  - **Evolution API** na versão **2.2.0** ou superior  

  <h1></h1>

  <h3>📌 Recursos Disponíveis</h3>

  <h3>Instância</h3>
  🖥️ Este recurso oferece acesso completo às principais funcionalidades relacionadas às instâncias da Evolution API. Ele permite realizar operações essenciais, como criar novas instâncias, conectar-se a elas, obter informações detalhadas, personalizar comportamentos, monitorar presença, reiniciar e até mesmo excluir instâncias de forma prática e eficiente.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Criar Instancia</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Gerar Qr-Code</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Instancia</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Definir Comportamento</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Definir Presença</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Definir Proxy</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Proxy</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Desconectar WhatsApp</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Deletar Instancia</b></summary>
  	</details>
  </details>

  <h3> Mensagem</h3>
  ✉️ Este recurso concentra todas as funcionalidades relacionadas ao envio e gerenciamento de mensagens através da Evolution API. Com ele, você pode enviar diversos tipos de conteúdo como textos, imagens, vídeos, áudios, documentos, contatos, listas interativas, botões e até mesmo mensagens PIX. Cada tipo de mensagem possui opções avançadas como delay, mentions, replies e formatações especiais. O recurso foi desenvolvido para proporcionar uma experiência completa de comunicação, permitindo explorar ao máximo os recursos nativos do WhatsApp de forma simples e eficiente.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Enviar Texto</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Imagem</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Video</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Audio</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Documento</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Enquete</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Contato</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Lista</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Botão</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Pix</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Status</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Reagir a Mensagem</b></summary>
  	</details>
  </details>

  <h3>Grupo</h3>
  👥 Com este recurso, você conta com um conjunto completo de funcionalidades para gerenciamento de grupos no WhatsApp por meio da Evolution API. Ele abrange desde a criação e administração de grupos até o gerenciamento de participantes, configuração de permissões, links de convite e mensagens temporárias. Tudo foi projetado para oferecer controle eficiente e simplificado na administração de grupos.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Criar Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Atualizar Imagem do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Atualizar Nome do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Atualizar Descrição do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Atualizar Configurações do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Atualizar Membros</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Link de convite do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Revogar Link de convite do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Link de Convite do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Encontrar Participantes</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Mensagens Temporarias</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Sair do Grupo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Entrar no Grupo</b></summary>
  	</details>
  </details>

  <h3>Chat</h3>
  💬 Este recurso disponibiliza um conjunto abrangente de ferramentas para o gerenciamento de conversas e interações utilizando a Evolution API. Com ele, é possível verificar números, enviar e gerenciar mensagens, manipular arquivos de mídia, controlar status de leitura, administrar contatos e monitorar presença. Todas as operações são desenvolvidas para proporcionar um controle completo e eficiente das comunicações, facilitando a gestão tanto de conversas individuais quanto em grupo.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Verificar Numero</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Ler Mensagem</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Gerenciar Arquivoo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Marcar como Não lido</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Deletar Mensagem</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Foto de Perfil</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Obter Midia em Base64</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Editar Mensagem</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Presença</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Bloquear Contato</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Contatos</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Procurar Mensagens</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Procurar Status</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Procurar Chats</b></summary>
  	</details>
  </details>

  <h3>Evento</h3>
  ⚡ Este recurso oferece mecanismos avançados para integração e monitoramento em tempo real das atividades da Evolution API. Ele permite configurar e gerenciar Webhooks e RabbitMQ, possibilitando o acompanhamento de eventos como mensagens recebidas, alterações em grupos, status de conexão e muito mais. Essas funcionalidades foram projetadas para garantir uma comunicação ágil e automatizada entre sua aplicação e a API, promovendo respostas imediatas a diferentes eventos do WhatsApp.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Webhook</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> RabbitMQ</b></summary>
  	</details>
  </details>

  <h3>Integração</h3>
  🔗 Este recurso disponibiliza uma ampla gama de conectores para integrar a Evolution API a diversas plataformas e serviços externos. Entre as possibilidades estão conexões com Chatwoot para atendimento ao cliente, Evolution Bot para automações, Typebot para fluxos conversacionais, além de integrações com Flowise e Dify para soluções de inteligência artificial. Essas integrações ampliam as capacidades da API, permitindo criar soluções robustas e automatizadas para diferentes cenários de negócios.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Chatwoot</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Evolution Bot</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Typebot</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Dify</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Floise</b></summary>
  	</details>
  </details>

  <h1></h1>

  <h3>🤝 Contribuição</h3>

  Contribua para o crescimento deste projeto! Você pode ajudar de diversas formas:  
  - **Pull Requests**: Envie melhorias, correções ou novas funcionalidades.  
  - **Issues**: Relate problemas ou sugira novas ideias.  
  - **Sugestões**: Compartilhe suas opiniões e feedbacks.  
  - **Documentação**: Ajude a melhorar ou expandir a documentação existente.  

  <h1></h1>

  <h3>📌 Principais contribuidores</h3>
  <a align="center" href="https://github.com/oriondesign2015/n8n-nodes-evolution-api/graphs/contributors">
    <img src="https://contrib.rocks/image?repo=oriondesign2015/n8n-nodes-evolution-api" />
  </a>

  <h1></h1>
  <a href="https://star-history.com/#oriondesign2015/SetupOrion&Date">
   <picture>
     <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=oriondesign2015/SetupOrion&type=Date&theme=dark" />
     <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=oriondesign2015/SetupOrion&type=Date" />
     <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=oriondesign2015/SetupOrion&type=Date" />
   </picture>
  </a>

  <h1></h1>
  <p align="center">
  Desenvolvido com ❤️ por OrionDesign
  </p>

ai_documentation_summary:
  {"purpose":"A n8n community node that provides full integration with Evolution API v2.2+ to manage WhatsApp instances, send various message types, and administer groups.","capabilities":["Create, connect, search, and delete WhatsApp instances","Generate QR codes and configure proxy settings","Set instance behavior and presence status","Send text, images, videos, audio, documents, contacts, lists, buttons, PIX, and status messages","React to messages","Create, update, and manage WhatsApp groups (name, description, image, settings)","Manage group members and revoke/send invite links","Send temporary messages and handle group entry/exit","Support for mentions, replies, and message delays"],"authentication":"None (uses Evolution API credentials configured in the node settings)","commonUseCases":["Automated WhatsApp marketing campaigns","Customer support automation","Business messaging with media and interactive elements","Group management and moderation","Payment processing via PIX messages"],"limitations":["Requires n8n version 1.54.4 or higher","Requires Evolution API version 2.2.0 or higher","Free community node (may lack official support or updates)"],"relatedNodes":["whatsapp","evolution-api","webhook"]}


node_type: n8n-nodes-globals.globals
package_name: n8n-nodes-globals
display_name: globals
description: N8N community node that allows users to create global constants and use them in all their workflows
category: Community
development_style: declarative
version: 1.1.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: umanamente
author_github_url: git+https://github.com/umanamente/n8n-nodes-globals.git
npm_package_name: n8n-nodes-globals
npm_version: 1.1.0
community_fetched_at: 2026-03-25T21:19:41.737Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # <img src="nodes/GlobalConstants/globals-icon-60px.png"  height="60" style="margin-bottom: -20px;"> n8n-nodes-globals

  This is an n8n community node. It lets you create global constants that can be used in any workflow.

  * [Installation](#installation)  
  * [Usage](#usage)
  * [Version history](CHANGELOG.md)  

  ## Installation

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

  ## Usage

  This node uses N8N Credential to store the global variables.

  1. Add "`Global Constants`" node to your workflow.
     ![Global Constants node](./docs/images/usage/1_select_node.png)
  2. In the node configuration, either select an existing credential or create a new one.
  3. Select the format for your global constants:
     - Key-value pairs format: Use "name=value" pairs, one per line
     - JSON format: Provide constants as a JSON object
  4. Add your constants according to the chosen format:
     
     KeyKey-value pairs
     ![Define constants String](./docs/images/usage/2_define_constants_string.png)

     JSON
     ![Define constants](./docs/images/usage/2_define_constants_json.png)
  5. Use the global constants in your workflow
     ![Use constants](./docs/images/usage/3_use_node.png)

ai_documentation_summary:
  {"purpose":"A community node that creates and manages global constants accessible across all workflows in n8n.","capabilities":["Create global constants via key-value pairs","Create global constants via JSON objects","Store constants using n8n Credentials","Retrieve and use constants in any workflow"],"authentication":"n8n Credentials required","commonUseCases":["Storing configuration values across multiple workflows","Managing shared API keys or tokens","Defining reusable environment variables"],"limitations":["Requires manual credential setup for each workflow instance","No built-in versioning or rollback for constants"],"relatedNodes":["n8n-nodes-base.set","n8n-nodes-base.httpRequest","n8n-nodes-base.expression"]}


node_type: n8n-nodes-palatine-speech.palatinespeech
package_name: n8n-nodes-palatine-speech
display_name: palatinespeech
category: Community
development_style: declarative
version: 1.0.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: palatine_zealot
author_github_url: git+https://github.com/PalatineVision/n8n-nodes-palatine-speech.git
npm_package_name: n8n-nodes-palatine-speech
npm_version: 1.0.1
community_fetched_at: 2026-03-25T21:19:41.738Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  Official n8n node for Palatine Speech API: transcription, diarization, sentiment analysis, summarization and more

npm_readme:
  ![README banner](https://github.com/palatine-vision/n8n-nodes-palatine-speech/blob/main/docs/assets/Header.png)

  # n8n-nodes-palatine-speech

  > Designed for seamless integration of **Palatine Speech API** into n8n workflows.

  This is an n8n community node that integrates [Palatine Speech](https://speech.palatine.ru/) into your workflows and enables audio processing tasks such as transcription, diarization, sentiment analysis, and summarization.

  ## Navigation

  [Supported Operations](#supported-operations)\
  [Installation](#installation)\
  [Credentials](#credentials)\
  [Workflow Example](#workflow-example)\
  [Use Cases](#use-cases) \
  [Compatibility](#compatibility)\
  [Useful Resources](#useful-resources)\
  [Keywords](#keywords) \
  [License](#license) \
  [Support](#support)

  > Looking for a Russian version? [Here](https://gist.github.com/Valeronich/b5d116fd4ca251ff672eda7d2a530a61)

  ## Supported Operations

  For details on each operation, see the Palatine Speech [documentation](https://docs.speech.palatine.ru/documentation/quick_start/transcription). You can also open the documentation by clicking the operation title below.

  * [Full list of supported file types](https://docs.speech.palatine.ru/documentation/technical_information/supported_files)
  * [Full list of supported languages](https://docs.speech.palatine.ru/documentation/technical_information/supported_languages)

  ### [Transcribe — speech transcription](https://docs.speech.palatine.ru/api-reference/transcribe/transcribe-polling-api/transcribe)

  Speech-to-Text (STT) converts audio/video into a written transcript.
  It supports multiple languages and can automatically detect the language spoken in the recording.
  It is well-suited for calls, interviews, lectures, and any other recordings where you need an accurate text version of what was said.

  ### [Diarize — speaker diarization](https://docs.speech.palatine.ru/api-reference/diarization/diarization-polling-api/diarize)

  Speaker diarization separates a recording into speaker segments and identifies who is speaking in each segment. This is useful for meetings and interviews, where keeping the conversation structure by speaker matters.

  ### [Sentiment Analysis — sentiment analysis](https://docs.speech.palatine.ru/api-reference/sentiment-analysis/sentiment-analysis-polling-api/sentiment-analysis)

  Determines the emotional tone of speech in audio/video (and can also analyze text). The result is a ranked list of sentiment classes with probabilities, where the first item is the most likely: `Very Negative`, `Negative`, `Neutral`, `Positive`, `Very Positive`.

  ### [Summarize — audio summarization](https://docs.speech.palatine.ru/api-reference/ai-service/ai-service/summarize-file)

  Generates a structured summary from audio/video (or from already available text). In addition to built-in scenarios such as `meeting_summary`, it supports `user_prompt` — you can provide a custom prompt for the LLM to produce output in the structure you need (bullet points, decisions and action items, risks, Q&A, etc.).

  ## Installation

  1. In your n8n instance, go to **Settings > Community Nodes → Install**
  2. Enter: `n8n-nodes-palatine-speech`
  3. Click **Install**
  > ⚠️ Make sure the environment variable `N8N_COMMUNITY_PACKAGES_ENABLED=true` is set.

  ## Credentials

  1. Go to **Credentials → + Create**
  2. Find **Palatine Speech API**
  3. Fill in the fields:
    * **API Key** — available in your Palatine Speech dashboard
    * **Base URL** — default is `https://api.palatine.ru`

  ## Workflow Example

  1. `Webhook` → Receive an audio file
  2. `Config` → Configure parameters
  3. `Palatine Speech` → Transcribe the file
  4. `Create record` → Create a table record
  5. `Telegram` → Send the result to a chat

  ![workflow example](https://github.com/palatine-vision/n8n-nodes-palatine-speech/blob/main/docs/assets/WorkflowExample.png)

  ## Use Cases

  * **Meeting summaries** \
  For meeting and interview recordings, it is recommended to use `Summarize` (`meeting_summary`): it produces a brief summary, a list of decisions, and group action items by owner and due date; the result can be sent to the team chat if needed. \
  For non-standard requests, specify `Prompt` in `Summarize` and provide the required instruction, for example: "Additionally, structure the agreements by deadlines and owners."

  * **Lecture/webinar notes** \
  Session recording → `Transcribe` → generate a full transcript. \
  Save the resulting text alongside the session materials.

  * **Automatic subtitles for video** \
  Extract the audio track → `Transcribe` + `Diarize` → convert the result to SRT/VTT and attach it to the video. \
  `Transcribe` produces the transcript, while `Diarize` provides speaker segmentation for multi-speaker recordings.

  * **Customer support assistant** \
  Processing voice messages with `Sentiment Analysis` helps determine the emotional tone of the request. \
  Based on the result, tickets can be created in the CRM and a priority can be assigned.

  ## Compatibility

  This node was tested with n8n v1.39.1 and later.

  ## Useful Resources

  * [Palatine Speech documentation](https://docs.speech.palatine.ru/documentation/quick_start/transcription)
  * [n8n Community Nodes guide](https://docs.n8n.io/integrations/community-nodes/)
  * [Official n8n GitHub](https://github.com/n8n-io/n8n)

  ## Keywords

  `n8n-community-node-package`, `n8n`, `palatine`, `speech-to-text`, `transcribe`, `transcription`, `stt`, `audio`, `ai`, `automation`, `voice-to-text`, `speech-recognition`, `audio-transcription`, `audio2text`, `audio-processing`, `diarization`, `speaker-diarization`, `speaker-segmentation`, `summarization`, `audio-summarization`, `sentiment-analysis`, `emotion-detection`, `tone-analysis`

  ## License
  MIT

  ## Support
  Need help? Contact our Telegram support bot: [@Speech_Palatine_Support_Bot](https://t.me/Speech_Palatine_Support_Bot)

ai_documentation_summary:
  {"purpose":"An official n8n community node that integrates the Palatine Speech API to perform audio processing tasks including transcription, diarization, sentiment analysis, and summarization.","capabilities":["Speech-to-text transcription with automatic language detection","Speaker diarization to separate and identify speakers in recordings","Sentiment analysis with ranked emotional tone classification","Audio/video summarization with customizable prompts","Support for multiple file types and languages","Custom prompt engineering for LLM-based summarization"],"authentication":"API Key required (configured via Credentials node)","commonUseCases":["Meeting summaries and action item extraction","Lecture and webinar note generation","Automatic subtitle creation for videos","Customer support ticket prioritization via sentiment analysis"],"limitations":["Requires n8n v1.39.1 or later","Requires enabling community packages in n8n environment (N8N_COMMUNITY_PACKAGES_ENABLED=true)","Base URL must be manually configured (default provided)"],"relatedNodes":["Webhook","Config","Create record","Telegram"]}


node_type: @devlikeapro/n8n-nodes-chatwoot.chatwoot
package_name: @devlikeapro/n8n-nodes-chatwoot
display_name: chatwoot
description: n8n node to connect with ChatWoot
category: Community
development_style: declarative
version: 1.0.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: devlikeapro
author_github_url: git+https://github.com/devlikeapro/n8n-nodes-chatwoot.git
npm_package_name: @devlikeapro/n8n-nodes-chatwoot
npm_version: 1.0.2
community_fetched_at: 2026-03-25T21:19:41.739Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # @devlikeapro/n8n-nodes-chatwoot

  <p align="center">
    <img src="./chatwoot.png" width='150px'/>
    <img src="./n8n.png" width='150px'/>
  </p>

  Automate your
  [**ChatWoot**](https://www.chatwoot.com/)
  workflows with
  [**n8n**](https://n8n.io/)
  !

  ![screenshot](node.png)

  [![npm version](https://img.shields.io/npm/v/@devlikeapro/n8n-nodes-chatwoot.svg)](https://www.npmjs.com/package/@devlikeapro/n8n-nodes-chatwoot)

  - GitHub: [devlikeapro/n8n-nodes-chatwoot](http://github.com/devlikeapro/n8n-nodes-chatwoot)
  - npm: [@devlikeapro/n8n-nodes-chatwoot](https://www.npmjs.com/package/@devlikeapro/n8n-nodes-chatwoot)
  - ChatWoot API reference: [https://www.chatwoot.com/developers/api/](https://www.chatwoot.com/developers/api/)
  - 👉 Generated from
    [ChatWoot OpenAPI](https://www.chatwoot.com/developers/api/)
    using
    [**devlikeapro/n8n-openapi-node**](https://github.com/devlikeapro/n8n-openapi-node)

  # Tables of Contents

  <!-- toc -->

  - [Installation](#installation)
  - [Usage](#usage)
    * [Credentials](#credentials)
      + [Platform](#platform)
      + [User](#user)
      + [Inbox](#inbox)
  - [Development](#development)
  - [Support the project](#support-the-project)

  <!-- tocstop -->

  # Installation
  Install [the community node package in your n8n instance](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/):
  ```
  @devlikeapro/n8n-nodes-chatwoot
  ```

  # Usage
  1. Install the community package to your n8n instance.
  2. Add **ChatWoot API** **credentials** in **n8n**.
  3. Create a new workflow with the **ChatWoot** node.

  ## Credentials
  There are few types of credentials (accounts) that you can use to authenticate with ChatWoot API.

  For different ChatWoot API Endpoints you'll need different credentials - please
  refer to the [ChatWoot API documentation](https://www.chatwoot.com/developers/api/) for more information.

  We suggest you create **ChatWoot API** credentials in **n8n** for each type of account and name it `ChatWoot - {TYPE}` 
  for better clarity.

  ![](./screenshots/n8n-credentials.png)

  ### Platform
  This token can be obtained by the system admin after creating a platformApp. This token should be used to provision agent bots, accounts, users and their roles.

  ![](./screenshots/chatwoot-platform-token.png)

  ### User
  This token can be obtained by visiting the profile page or via rails console.
  ![](./screenshots/chatwoot-profile-token.png)

  or **Super Admin** token in some cases

  ![](./screenshots/chatwoot-admin-token.png)

  ### Inbox
  This token can be obtained by visiting the inbox settings page.

  ![](./screenshots/chatwoot-inbox-token.png)

  # Development
  The node is generated from the
  [ChatWoot OpenAPI](https://www.chatwoot.com/developers/api/)
  using
  [**devlikeapro/n8n-openapi-node**](https://github.com/devlikeapro/n8n-openapi-node).

  Likely the fix should be done in the OpenAPI specification file or in the generator itself.

  # Support the project

  You can support the project by donating a small amount to help us improve the project even more.
  - [https://patreon.com/devlikeapro](https://patreon.com/devlikeapro)

ai_documentation_summary:
  {"purpose":"An n8n community node that enables automation of ChatWoot workflows by connecting n8n instances to the ChatWoot API for managing conversations, bots, and accounts.","capabilities":["Manage platform-level operations (provisioning agents, accounts, users, roles)","Manage user-level operations via profile tokens","Manage inbox-level operations via inbox settings tokens","Support Super Admin token authentication","Automate ChatWoot API endpoints based on OpenAPI specification"],"authentication":"API Token (Platform, User, Inbox, or Super Admin tokens obtained from ChatWoot dashboard)","commonUseCases":["Automating customer support responses","Managing ChatWoot bot configurations","Syncing user data between n8n and ChatWoot","Automating inbox management tasks"],"limitations":["Requires specific API tokens for different scopes (Platform, User, Inbox)","Some fixes may require changes to the OpenAPI specification or generator"],"relatedNodes":["devlikeapro/n8n-openapi-node","ChatWoot API node"]}


node_type: n8n-nodes-mcp.mcp
package_name: n8n-nodes-mcp
display_name: mcp
description: MCP nodes for n8n
category: Community
development_style: declarative
version: 0.1.37
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: GitHub Actions
author_github_url: git+https://github.com/nerding-io/n8n-nodes-mcp.git
npm_package_name: n8n-nodes-mcp
npm_version: 0.1.37
community_fetched_at: 2026-03-25T21:19:41.740Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  [![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/bd76f121-1c8f-4f5d-9c65-1eac5d81b6af)

  # n8n-nodes-mcp-client

  > **Important Note:**
  > The Server-Sent Events (SSE) transport is deprecated and replaced by the new HTTP Streamable transport. SSE remains available for legacy compatibility, but HTTP Streamable is now the recommended method for all new implementations.

  This is an n8n community node that lets you interact with Model Context Protocol (MCP) servers in your n8n workflows.

  MCP is a protocol that enables AI models to interact with external tools and data sources in a standardized way. This node allows you to connect to MCP servers, access resources, execute tools, and use prompts.

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

  [Installation](#installation)
  [Credentials](#credentials)
  [Environment Variables](#environment-variables)
  [Operations](#operations)
  [Using as a Tool](#using-as-a-tool)
  [Compatibility](#compatibility)
  [Resources](#resources)

  ## Getting Started

  Official Quickstart Video:

  [![MCP Client Node Quickstart](/assets/mcp-n8n.png)](https://youtu.be/1t8DQL-jUJk)



  ### Community Videos

  Shoutout to all the creators of the following n8n community videos that are great resources for learning how to use this node:

  - [Is MCP the Future of N8N AI Agents? (Fully Tested!)](https://youtu.be/sb5hCcFYPIE)
  - [Connect N8N AI Agents to EVERYTHING using MCP?](https://youtu.be/tTDRgkD-120)
  - [Build an AI Agent That Can Use Any Tool (MCP in n8n Tutorial)](https://www.youtube.com/watch?v=SVZe2rdhYmA)
  - [The NEW N8N MCP is an Absolute Game-Changer (Brave Search MCP)](https://youtu.be/RxXS_FpJyGM)
  - [MCP & n8n Automation: The Ultimate Guide for MCP AI Agents (2025)](https://www.youtube.com/watch?v=mbQsnrxHPwE)
  - [REVOLUÇÃO na criação de AGENTES no N8N com o MCP Server!!!](https://www.youtube.com/watch?v=zgH85dJcs5c) (Portuguese)

  If you have a great video that you'd like to share, please let me know and I'll add it to the list!

  #### Interested a deeper dive into MCP?

  Check out my YouTube Series [MCP Explained](https://www.youtube.com/playlist?list=PLjOCx_PNfJ4S_oOSqrMi6t9_x1GllvQZO) for more information about the Model Context Protocol.

  ### Security Assessment
  [![MseeP.ai Security Assessment Badge](https://mseep.net/pr/nerding-io-n8n-nodes-mcp-badge.png)](https://mseep.ai/app/nerding-io-n8n-nodes-mcp)


  ## Installation

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

  Also pay attention to Environment Variables for [using tools in AI Agents](#using-as-a-tool). It's mandatory to set the `N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE` environment variable to `true` if you want to use the MCP Client node as a tool in AI Agents.

  ## Credentials

  The MCP Client node supports three types of credentials to connect to an MCP server:

  ### Command-line Based Transport (STDIO)

  ![MCP Client STDIO Credentials](./assets/credentials.png)

  - **Command**: The command to start the MCP server
  - **Arguments**: Optional arguments to pass to the server command
  - **Environment Variables**: Variables to pass to the server in NAME=VALUE format

  ### HTTP Streamable Transport (Recommended)

  - **HTTP Streamable URL**: The HTTP endpoint that supports streaming responses (e.g., http://localhost:3001/stream)
  - **Additional Headers**: Optional headers to send with requests (format: name:value, one per line)

  HTTP Streamable is the recommended and modern method for all new integrations, providing better efficiency and flexibility compared to SSE.

  #### Example: Using a Local MCP Server with HTTP Streamable

  This example shows how to connect to a locally running MCP server using HTTP Streamable:

  1. Start a local MCP server that supports HTTP Streamable:
     ```bash
     npx @modelcontextprotocol/server-example-streamable
     ```

  2. Configure MCP Client credentials:
     - In the node settings, select **Connection Type**: `HTTP Streamable`
     - Create new credentials of type **MCP Client (HTTP Streamable) API**
     - Set **HTTP Streamable URL**: `http://localhost:3001/stream`
     - Add any required headers for authentication

  3. Create a workflow using the MCP Client node:
     - Add an MCP Client node
     - Set the Connection Type to `HTTP Streamable`
     - Select your HTTP Streamable credentials
     - Execute the workflow to see the results

  ### Server-Sent Events (SSE) Transport (Deprecated, still available for legacy use)

  - **SSE URL**: The URL of the SSE endpoint (default: http://localhost:3001/sse)
  - **Messages Post Endpoint**: Optional custom endpoint for posting messages if different from the SSE URL
  - **Additional Headers**: Optional headers to send with requests (format: name:value, one per line)

  > **Deprecated:** SSE is deprecated and will not receive further updates, but remains available for legacy compatibility. For new projects, use HTTP Streamable.

  #### Example: Using a Local MCP Server with SSE (legacy)

  This example shows how to connect to a locally running MCP server using Server-Sent Events (SSE):

  1. Start a local MCP server that supports SSE:
     ```bash
     npx @modelcontextprotocol/server-example-sse
     ```

  2. Configure MCP Client credentials:
     - In the node settings, select **Connection Type**: `Server-Sent Events (SSE)`
     - Create new credentials of type **MCP Client (SSE) API**
     - Set **SSE URL**: `http://localhost:3001/sse`
     - Add any required headers for authentication

  3. Create a workflow using the MCP Client node:
     - Add an MCP Client node
     - Set the Connection Type to `Server-Sent Events (SSE)`
     - Select your SSE credentials
     - Execute the workflow to see the results

  > **Note:** For new projects, HTTP Streamable is strongly recommended.

  ## Environment Variables

  The MCP Client node supports passing environment variables to MCP servers using the command-line based transport in two ways:

  ### 1. Using the Credentials UI

  You can add environment variables directly in the credentials configuration:

  ![Environment Variables in Credentials](./assets/credentials-envs.png)

  This method is useful for individual setups and testing. The values are stored securely as credentials in n8n.

  ### 2. Using Docker Environment Variables

  For Docker deployments, you can pass environment variables directly to your MCP servers by prefixing them with `MCP_`:

  ```yaml
  version: '3'

  services:
    n8n:
      image: n8nio/n8n
      environment:
        - MCP_BRAVE_API_KEY=your-api-key-here
        - MCP_OPENAI_API_KEY=your-openai-key-here
        - MCP_CUSTOM_SETTING=some-value
      # other configuration...
  ```

  These environment variables will be automatically passed to your MCP servers when they are executed.

  ### Example: Using Brave Search MCP Server

  This example shows how to set up and use the Brave Search MCP server:

  1. Install the Brave Search MCP server:
     ```bash
     npm install -g @modelcontextprotocol/server-brave-search
     ```

  2. Configure MCP Client credentials:
     - **Command**: `npx`
     - **Arguments**: `-y @modelcontextprotocol/server-brave-search`
     - **Environment Variables**: `BRAVE_API_KEY=your-api-key` Add a variables (space comma or newline separated)

  3. Create a workflow that uses the MCP Client node:
     - Add an MCP Client node
     - Select the "List Tools" operation to see available search tools
     - Add another MCP Client node
     - Select the "Execute Tool" operation
     - Choose the "brave_search" tool
     - Set Parameters to: `{"query": "latest AI news"}`

  ![Brave Search Example](./assets/brave-search-example.png)

  The node will execute the search and return the results in the output.

  ### Example: Multi-Server Setup with AI Agent

  This example demonstrates how to set up multiple MCP servers in a production environment and use them with an AI agent:

  1. Configure your docker-compose.yml file:

  ```yaml
  version: '3'

  services:
    n8n:
      image: n8nio/n8n
      environment:
        # MCP server environment variables
        - MCP_BRAVE_API_KEY=your-brave-api-key
        - MCP_OPENAI_API_KEY=your-openai-key
        - MCP_SERPER_API_KEY=your-serper-key
        - MCP_WEATHER_API_KEY=your-weather-api-key

        # Enable community nodes as tools
        - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
      ports:
        - "5678:5678"
      volumes:
        - ~/.n8n:/home/node/.n8n
  ```

  2. Create multiple MCP Client credentials in n8n:

     **Brave Search Credentials**:
     - Command: `npx`
     - Arguments: `-y @modelcontextprotocol/server-brave-search`

     **OpenAI Tools Credentials**:
     - Command: `npx`
     - Arguments: `-y @modelcontextprotocol/server-openai`

     **Web Search Credentials**:
     - Command: `npx`
     - Arguments: `-y @modelcontextprotocol/server-serper`

     **Weather API Credentials**:
     - Command: `npx`
     - Arguments: `-y @modelcontextprotocol/server-weather`

  3. Create an AI Agent workflow:
     - Add an AI Agent node
     - Enable MCP Client as a tool
     - Configure different MCP Client nodes with different credentials
     - Create a prompt that uses multiple data sources

  ![Multi-Server Setup](./assets/multi-server-example.png)

  Example AI Agent prompt:
  ```
  I need you to help me plan a trip. First, search for popular destinations in {destination_country}.
  Then, check the current weather in the top 3 cities.
  Finally, find some recent news about travel restrictions for these places.
  ```

  With this setup, the AI agent can use multiple MCP tools across different servers, all using environment variables configured in your Docker deployment.

  ## Operations

  The MCP Client node supports the following operations:

  ![MCP Client Operations](./assets/operations.png)

  - **Execute Tool** - Execute a specific tool with parameters
  - **Get Prompt** - Get a specific prompt template
  - **List Prompts** - Get a list of available prompts
  - **List Resources** - Get a list of available resources from the MCP server
  - **List Tools** - Get a list of available tools
  - **Read Resource** - Read a specific resource by URI

  ### Example: List Tools Operation

  ![List Tools Example](./assets/list-tools.png)

  The List Tools operation returns all available tools from the MCP server, including their names, descriptions, and parameter schemas.

  ### Example: Execute Tool Operation

  ![Execute Tool Example](./assets/execute-tool.png)

  The Execute Tool operation allows you to execute a specific tool with parameters. Make sure to select the tool you want to execute from the dropdown menu.

  ## Using as a Tool

  This node can be used as a tool in n8n AI Agents. To enable community nodes as tools, you need to set the `N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE` environment variable to `true`.

  ### Setting the Environment Variable

  **If you're using a bash/zsh shell:**
  ```bash
  export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  n8n start
  ```

  **If you're using Docker:**
  Add to your docker-compose.yml file:
  ```yaml
  environment:
    - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  ```

  **If you're using the desktop app:**
  Create a `.env` file in the n8n directory:
  ```
  N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  ```

  **If you want to set it permanently on Mac/Linux:**
  Add to your `~/.zshrc` or `~/.bash_profile`:
  ```bash
  export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  ```

  Example of an AI Agent workflow results:

  ![AI Agent Example](./assets/execute-tool-result.png)

  After setting this environment variable and restarting n8n, your MCP Client node will be available as a tool in AI Agent nodes.

  ## Compatibility

  - Requires n8n version 1.0.0 or later
  - Compatible with MCP Protocol version 1.0.0 or later
  - Supports both STDIO and SSE transports for connecting to MCP servers
  - SSE transport requires a server that implements the MCP Server-Sent Events specification

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Model Context Protocol Documentation](https://modelcontextprotocol.io/docs/)
  * [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
  * [MCP Transports Overview](https://modelcontextprotocol.io/docs/concepts/transports)
  * [Using SSE in MCP](https://github.com/modelcontextprotocol/typescript-sdk/blob/main/src/client/sse.ts)

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with Model Context Protocol (MCP) servers within workflows, allowing connection to external tools and data sources.","capabilities":["Connect to MCP servers via HTTP Streamable transport (recommended)","Connect to MCP servers via Server-Sent Events (SSE) transport (legacy)","Connect to MCP servers via Command-line/STDIO transport","Execute tools defined in MCP servers","Access resources from MCP servers","Use prompts with MCP servers","Pass environment variables to MCP servers (STDIO only)","Configure custom headers for API requests"],"authentication":"None - Uses credentials for connection configuration (URL, command, headers) rather than secret authentication","commonUseCases":["Integrating AI agents with external tools via MCP","Connecting n8n workflows to local MCP servers","Building AI agents that can use any tool through MCP","Accessing data sources through standardized MCP protocol"],"limitations":["Server-Sent Events (SSE) transport is deprecated and not recommended for new implementations","HTTP Streamable transport is the only recommended method for new projects","Environment variable passing is only supported with Command-line/STDIO transport"],"relatedNodes":["n8n-nodes-core.httpRequest","n8n-nodes-core.code"]}


node_type: n8n-nodes-kommo.kommo
package_name: n8n-nodes-kommo
display_name: kommo
description: n8n node for Kommo Api
category: Community
development_style: declarative
version: 0.0.16
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: yatolstoy
author_github_url: git+https://github.com/yatolstoy/n8n-node-kommo.git
npm_package_name: n8n-nodes-kommo
npm_version: 0.0.16
community_fetched_at: 2026-03-25T21:19:41.741Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-kommo

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

  Kommo allows you to save the history of interaction with customers, as well as automate sales department processes.

  [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)
  [Donation](#donation)

  ## Installation

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

  1. Go to **Settings > Community Nodes**.
  2. Select **Install**.
  3. Enter `n8n-nodes-kommo` in **Enter npm package name**.
  4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes: select **I understand the risks of installing unverified code from a public source**.
  5. Select **Install**.

  After installing the node, you can use it like any other node. n8n displays the node in search results in the **Nodes** panel.

  ## Operations

  It supports these operations:

  - Get account information
  - Add modify and retrieve companies
  - Add modify and retrieve contacts
  - Add change and get deals
  - Add modify and retrieve tasks
  - Add modify and retrieve notes
  - Add modify and retrieve lists
  - Add modify and retrieve list elements

  ## Credentials

  Create an Kommo account [here](https://www.kommo.com/). For 14 days free of charge.

  - Go to n8n and create a new credential Kommo. Copy OAuth Redirect URL.
  - Go to your Kommo account and create a new widget https://your-domain.kommo.com/settings/widgets/
  - Paste the previously copied OAuth Redirect URL into the "Redirect Link" field.
  - Provide the accesses required for integration (these may vary depending on your scenario for using this node)
  - Enter an arbitrary name and description of the integration. The integration name may appear in the Kommo event log if the created_by and updated_by parameters are not filled in. Description cannot be shorter than 5 characters
  - Press to Save button
  - Update your page and find your integration in installed section. Press on it.
  - In the settings of the created integration, go to the Keys and Accesses section. Copy Integration ID and Secret key
  - Go to n8n and paste the Integration ID and Secret key you received.
  - Fill Account Subdomain and click on connect my account. Window will open.
  - Select the account to connect to and click the Allow button
  - If everything was successful, you will see a green message indicating successful connection in n8n

  ## Compatibility

  Tested against n8n version 1.20.0+

  ## Usage

  In your Workflow, find the Kommo node and use as you need.
  I accept comments and suggestions in Issues repository on github or in telegram [@yatolstoy](https://t.me/yatolstoy)

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Kommo API Documentation](https://www.kommo.com/developers)

  ## Donation

  This code is developed by an enthusiastic developer on his own initiative. By donations you will force me to develop and improve this node. Thank you!

  - [Link for donation from Russia](https://yoomoney.ru/to/410012112222938)
  - [Link for donation from another countries](https://appstart.easystaff.io/easylancer/yatolstoy)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of sales and customer interaction processes by integrating with the Kommo API to manage companies, contacts, deals, tasks, notes, and lists.","capabilities":["Get account information","Add, modify, and retrieve companies","Add, modify, and retrieve contacts","Add, modify, and retrieve deals","Add, modify, and retrieve tasks","Add, modify, and retrieve notes","Add, modify, and retrieve lists","Add, modify, and retrieve list elements"],"authentication":"OAuth2","commonUseCases":["Automating sales pipeline management","Tracking customer interaction history","Managing CRM data (companies, contacts, deals, tasks)"],"limitations":["Community node (unverified code from public source)","Requires manual OAuth setup with Kommo widgets","Integration name may appear in event logs if created_by/updated_by parameters are not filled"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest"]}


node_type: n8n-nodes-puppeteer.puppeteer
package_name: n8n-nodes-puppeteer
display_name: puppeteer
description: n8n node for browser automation using Puppeteer
category: Community
development_style: declarative
version: 1.5.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: drudge
author_github_url: git+https://github.com/drudge/n8n-nodes-puppeteer.git
npm_package_name: n8n-nodes-puppeteer
npm_version: 1.5.0
community_fetched_at: 2026-03-25T21:19:41.741Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-puppeteer

  ![n8n.io - Workflow Automation](https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png)

  [n8n](https://www.n8n.io) node for browser automation using [Puppeteer](https://pptr.dev/). Execute custom scripts, capture screenshots and PDFs, scrape content, and automate web interactions using Chrome/Chromium's DevTools Protocol. Full access to Puppeteer's API plus n8n's Code node capabilities makes this node powerful for any browser automation task.

  ## How to install

  ### Community Nodes (Recommended)

  For n8n version 0.187 and later, you can install this node through the Community Nodes panel:

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-puppeteer` in **Enter npm package name**
  4. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes
  5. Select **Install**

  ### Docker Installation (Recommended for Production)

  We provide a ready-to-use Docker setup in the `docker/` directory that includes all necessary dependencies and configurations:

  1. Clone this repository

  2. Build your Docker image:
  ```bash
  npm run docker:build
  ```

  3. Run the container:
  ```bash
  npm run docker:run
  ```

  Or for testing without persistent data:
  ```bash
  npm run docker:run:fresh
  ```

  #### Available Docker Scripts

  - `npm run docker:build` - Build the Docker image with Puppeteer node
  - `npm run docker:run` - Run n8n with persistent data volume
  - `npm run docker:run:fresh` - Run n8n without persistent data (clean start)
  - `npm run docker:run:external-browser` - Run with external browser connection example
  - `npm run docker:test` - Quick test to verify the image works
  - `npm run docker:shell` - Open a shell inside the container for debugging
  - `npm run docker:clean` - Remove the data volume
  - `npm run docker:clean:all` - Remove data volume and images

  #### Container Optimizations

  When running in Docker or Kubernetes, the node automatically detects the container environment and applies necessary Chrome launch arguments (`--no-sandbox`, `--disable-setuid-sandbox`, `--disable-dev-shm-usage`, `--disable-gpu`). This happens automatically - no configuration needed!

  A blue info banner will appear in the node when a container is detected. This can be toggled off in Options > Add Container Arguments if needed.

  ### Manual Installation

  For a standard installation without Docker:

  ```bash
  # Navigate to your n8n root directory
  cd /path/to/n8n

  # Install the package
  npm install n8n-nodes-puppeteer
  ```

  Note: By default, when Puppeteer is installed, it downloads a compatible version of Chromium. While this works, it increases installation size and may not include necessary system dependencies. For production use, we recommend either using the Docker setup above or installing system Chrome/Chromium and setting the `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true` environment variable.

  ## Browser Setup Options

  ### 1. Local Browser (Docker Setup - Recommended)

  The included Docker setup provides the most reliable way to run Chrome/Chromium with all necessary dependencies. It uses Alpine Linux's Chromium package and includes all required fonts and libraries.

  ### 2. Remote Browser (Alternative for Cloud)

  You can also connect to an external Chrome or Firefox instance using the "Browser WebSocket Endpoint" option. This approach:
  - Eliminates the need for Chrome dependencies in your n8n environment
  - Simplifies deployment and maintenance
  - Provides better resource isolation
  - Works great for cloud and containerized deployments
  - Supports Firefox via WebDriver BiDi protocol

  Options include:
  - **Managed Services**: Use [browserless](https://browserless.io) or [browsercloud](https://browsercloud.io)
  - **Self-Hosted Chrome**: Run your own [browser container](https://docs.browserless.io/docker/config):
    ```bash
    docker run -p 3000:3000 -e "TOKEN=6R0W53R135510" ghcr.io/browserless/chromium
    ```
  - **Self-Hosted Firefox**: Run Firefox with WebDriver BiDi support

  #### Configuring Remote Browser Connection

  **Per-Node Configuration:**
  In any Puppeteer node, go to Options > Add Option:
  - Add "Browser WebSocket Endpoint" and enter your WebSocket URL (e.g., `ws://browserless:3000?token=6R0W53R135510`)
  - Add "Protocol" and select:
    - **CDP (Chrome DevTools Protocol)** - for Chrome/Chromium (default)
    - **WebDriver BiDi** - for Firefox

  **Global Configuration via Environment Variables (Recommended):**

  Instead of configuring each node individually, you can set environment variables:

  ```bash
  # For Chrome/Chromium
  docker run -it -p 5678:5678 \
    -e PUPPETEER_BROWSER_WS_ENDPOINT=ws://browserless:3000 \
    -e PUPPETEER_PROTOCOL=cdp \
    n8n-puppeteer

  # For Firefox
  docker run -it -p 5678:5678 \
    -e PUPPETEER_BROWSER_WS_ENDPOINT=ws://firefox:4444 \
    -e PUPPETEER_PROTOCOL=webDriverBiDi \
    n8n-puppeteer
  ```

  Or with Docker Compose:

  ```yaml
  version: '3.8'
  services:
    n8n:
      image: n8n-puppeteer
      environment:
        - PUPPETEER_BROWSER_WS_ENDPOINT=ws://browserless:3000
        - PUPPETEER_PROTOCOL=cdp
      ports:
        - "5678:5678"
    
    browserless:
      image: browserless/chrome
      ports:
        - "3000:3000"
  ```

  When environment variables are set, a blue info banner will appear showing the configured endpoint. Individual nodes can still override these settings if needed.

  ## Troubleshooting

  If you see errors about missing shared libraries (like `libgobject-2.0.so.0` or `libnss3.so`), either:

  1. Install the missing Chrome dependencies
  2. Switch to using a remote browser with the WebSocket endpoint option

  For additional help, see [Puppeteer's troubleshooting guide](https://pptr.dev/troubleshooting).

  ## Node Reference

  - **Operations**

    - Get the full HTML contents of the page
    - Capture the contents of a page as a PDF document
    - Capture screenshot of all or part of the page
    - Execute custom script to interact with the page

  - **Options**

    - All Operations

      - **Batch Size**: Maximum number of pages to open simultaneously. More pages will consume more memory and CPU.
      - **Browser WebSocket Endpoint**: The WebSocket URL of the browser to connect to. When configured, puppeteer will skip the browser launch and connect to the browser instance. Can also be set globally via environment variables: `PUPPETEER_BROWSER_WS_ENDPOINT` or `PUPPETEER_WS_ENDPOINT`.
      - **Protocol**: The protocol to use when connecting to the browser. Options:
        - **CDP (Chrome DevTools Protocol)** - Default for Chrome/Chromium
        - **WebDriver BiDi** - For Firefox and cross-browser automation
        Can also be set globally via environment variable: `PUPPETEER_PROTOCOL`.
      - **Emulate Device**: Allows you to specify a [device](https://github.com/puppeteer/puppeteer/blob/main/src/common/DeviceDescriptors.ts) to emulate when requesting the page.
      - **Executable Path**: A path where Puppeteer expects to find the bundled browser. Has no effect when 'Browser WebSocket Endpoint' is set.
      - **Extra Headers**: Allows you add additional headers when requesting the page.
      - **Timeout**: Allows you to specify the maximum navigation time in milliseconds. You can pass 0 to disable the timeout entirely.
      - **Protocol Timeout**: Maximum time in milliseconds to wait for a protocol response. Pass 0 to disable timeout.
      - **Wait Until**: Allows you to change how Puppeteer considers navigation completed.
        - `load`: The load event is fired.
        - `domcontentloaded`: The DOMContentLoaded event is fired.
        - `networkidle0`: No more than 0 connections for at least 500 ms.
        - `networkidle2`: No more than 2 connections for at least 500 ms.
      - **Page Caching**: Allows you to toggle whether pages should be cached when requesting.
      - **Headless mode**: Allows you to change whether to run browser runs in headless mode or not.
      - **Use Chrome Headless Shell**: Whether to run browser in headless shell mode. Defaults to false. Headless mode must be enabled. chrome-headless-shell must be in $PATH.
      - **Stealth mode**: When enabled, applies various techniques to make detection of headless Puppeteer harder. Powered by [puppeteer-extra-plugin-stealth](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth).
      - **Human typing mode**: Gives page the function `.typeHuman()` which "humanizes" the writing of input elements. Includes configurable options for typing speed, typos, and backspace delays.
      - **Launch Arguments**: Allows you to specify additional command line arguments passed to the browser instance.
      - **Capture Downloads**: When enabled, any files downloaded during script execution (via clicks, direct downloads, etc.) will be automatically captured and returned as binary data in the node output. Perfect for downloading PDFs, images, or other files triggered by user interactions. Files are automatically cleaned up after capture.
      - **Add Container Arguments**: Automatically adds recommended arguments for container environments (`--no-sandbox`, `--disable-setuid-sandbox`, `--disable-dev-shm-usage`, `--disable-gpu`). Container environments are auto-detected by default. Disable only if you experience launch issues.
      - **Proxy Server**: Allows Puppeteer to use a custom proxy configuration. You can specify a custom proxy configuration in three ways:
        By providing a semi-colon-separated mapping of list scheme to url/port pairs.
        For example, you can specify:

              http=foopy:80;ftp=foopy2

        to use HTTP proxy "foopy:80" for http URLs and HTTP proxy "foopy2:80" for ftp URLs.

        By providing a single uri with optional port to use for all URLs.
        For example:

              foopy:8080

        will use the proxy at foopy:8080 for all traffic.

        By using the special "direct://" value.

              direct://" will cause all connections to not use a proxy.

    - Get PDF
      - **File Name**: Allows you to specify the filename of the output file.
      - **Page Ranges** field: Allows you to specify paper ranges to print, e.g. 1-5, 8, 11-13.
      - **Scale**: Allows you to scale the rendering of the web page. Amount must be between 0.1 and 2
      - **Prefer CSS Page Size**: Give any CSS @page size declared in the page priority over what is declared in the width or height or format option.
      - **Format**: Allows you to specify the paper format types when printing a PDF. eg: Letter, A4.
      - **Height**: Allows you to set the height of paper. You can pass in a number or a string with a unit.
      - **Width**: Allows you to set the width of paper. You can pass in a number or a string with a unit.
      - **Landscape**: Allows you to control whether to show the header and footer
      - **Margin**: Allows you to specify top, left, right, and bottom margin.
      - **Display Header/Footer**: Allows you to specify whether to show the header and footer.
      - **Header Template**: Allows you to specify the HTML template for the print header. Should be valid HTML with the following classes used to inject values into them:
        - `date`: Formatted print date
        - `title`: Document title
        - `url`: Document location
        - `pageNumber` Current page number
        - `totalPages` Total pages in the document
      - **Footer Template**: Allows you to specify the HTML template for the print footer. Should be valid HTML with the following classes used to inject values into them:
        - `date`: Formatted print date
        - `title`: Document title
        - `url`: Document location
        - `pageNumber` Current page number
        - `totalPages` Total pages in the document
      - **Transparent Background**: Allows you to hide the default white background and allows generate PDFs with transparency.
      - **Background Graphic**: Allows you to include background graphics.
    - Get Screenshot
      - **File Name**: Allows you to specify the filename of the output file.
      - **Type** field: Allows you to specify the image format of the output file:
        - JPEG
        - PNG
        - WebP
      - **Quality**: Allows you to specify the quality of the image.
        - Accepts a value between 0-100.
        - Not applicable to PNG images.
      - **Full Page**: Allows you to capture a screen of the full scrollable content.

  ## Custom Scripts

  The Custom Script operation gives you complete control over Puppeteer to automate complex browser interactions, scrape data, generate PDFs/screenshots, and more. Scripts run in a sandboxed environment with access to the full Puppeteer API and n8n's Code node features.

  Before script execution, you can configure browser behavior using the operation's options like:

  - Emulate specific devices
  - Set custom headers
  - Enable stealth mode to avoid detection
  - Configure proxy settings
  - Set page load timeouts
  - And more

  Access Puppeteer-specific objects using:

  - `$page` - Current page instance
  - `$browser` - Browser instance
  - `$puppeteer` - Puppeteer library
  - `$input.query` - Input query from AI agents (when used as a tool)

  Plus all special variables and methods from the Code node are available. For a complete reference, see the [n8n documentation](https://docs.n8n.io/code-examples/methods-variables-reference/). Just like n8n's Code node, anything you `console.log` will be shown in the browser's console during test mode or in stdout when configured.

  ### AI Agent Integration

  When used as a tool by n8n AI agents, this node supports two powerful workflows:

  **1. AI-Generated Scripts**: AI agents can dynamically generate the entire Puppeteer script using `$fromAI()` on the Script Code parameter. The AI analyzes the task and writes the appropriate Puppeteer code to accomplish it.

  ```javascript
  // AI agent generates script dynamically based on the task
  scriptCode: $fromAI('code', 'Generate a Puppeteer script to extract product prices from the homepage')
  ```

  **2. Reusable Scripts with AI Input**: Write a reusable script that accepts dynamic input from AI agents via the Query parameter. Access the input using `$input.query` in your script.

  ```javascript
  // Reusable script that processes AI-provided input
  const url = $input.query || 'https://example.com';
  await $page.goto(url);

  const data = await $page.evaluate(() => {
    return document.querySelector('h1').textContent;
  });

  return [{ url, title: data }];
  ```

  ```javascript
  // AI agent provides input dynamically
  query: $fromAI('url', 'The website URL to scrape')
  ```

  This makes the node extremely flexible for AI-powered automation - agents can either write custom scripts for specific tasks or pass data to pre-built, reusable scripts.

  ### Basic

  ```javascript
  // Navigate to an IP lookup service
  await $page.goto("https://httpbin.org/ip");

  // Extract the IP address from the page content
  const ipData = await $page.evaluate(() => {
    const response = document.body.innerText;
    const parsed = JSON.parse(response);
    return parsed.origin; // Extract the 'origin' field, which typically contains the IP address
  });

  console.log("Hello, world!");

  console.log("IP Address", ipData);

  // Return the result in the required format (array)
  return [{ ip: ipData, ...$json }];
  ```

  ### Storing and re-using cookies

  #### Node 1

  ```javascript
  await $page.goto("https://www.example.com/login");

  // Perform login
  await $page.type("#login-username", "user");
  await $page.type("#login-password", "pass");
  await $page.click("#login-button");

  // Store cookies for later use
  const cookies = await $page.cookies();

  return [{ cookies }];
  ```

  #### Node 2

  ```javascript
  const { cookies } = $input.first().json;

  // Restore cookies
  await $page.setCookie(...cookies);

  // Navigate to authenticated page
  await $page.goto("https://example.com/protected-page");

  // Perform authenticated operations
  const data = await $page.evaluate(() => {
    return document.querySelector(".protected-content").textContent;
  });

  return [{ data }];
  ```

  ### Working with Binary Data

  ```javascript
  await $page.goto("https://www.google.com");
  const imageData = await $page.screenshot({ type: "png", encoding: "base64" });
  return [
    {
      binary: {
        screenshot: {
          data: imageData,
          mimeType: "image/png",
          fileName: "screenshot.png",
        },
      },
    },
  ];
  ```

  ### Downloading Files

  The Capture Downloads option makes it easy to download files triggered by user interactions or scripts:

  ```javascript
  // Navigate to a page with downloadable files
  await $page.goto('https://example.com/downloads');

  // Click a download button - the file will be automatically captured
  await $page.click('#download-pdf-button');

  // Wait a moment for the download to complete
  await $page.waitForTimeout(2000);

  // Return the result - downloaded files will be attached as binary data
  return [{ json: { success: true } }];
  ```

  When the "Capture Downloads" option is enabled:
  - All files downloaded during script execution are automatically captured
  - Files are returned as binary data in the node output
  - Multiple files are supported - each file gets its own binary property
  - Files are automatically cleaned up after capture
  - Works with direct downloads, click-triggered downloads, and programmatic downloads

  This is particularly useful for:
  - Downloading PDFs from web applications
  - Capturing generated reports
  - Saving images or documents triggered by user actions
  - Testing download functionality in automated workflows

  ## Environment Variables

  The following environment variables can be used to configure Puppeteer globally:

  - **`PUPPETEER_BROWSER_WS_ENDPOINT`** or **`PUPPETEER_WS_ENDPOINT`**: WebSocket URL of the browser to connect to. This eliminates the need to configure each node individually.
  - **`PUPPETEER_PROTOCOL`**: Protocol to use (`cdp` or `webDriverBiDi`). Useful for Firefox setups.
  - **`PUPPETEER_SKIP_CHROMIUM_DOWNLOAD`**: Set to `true` to skip downloading Chromium during installation.
  - **`PUPPETEER_EXECUTABLE_PATH`**: Path to the browser executable.

  Example:
  ```bash
  docker run -it -p 5678:5678 \
    -e PUPPETEER_BROWSER_WS_ENDPOINT=ws://browserless:3000 \
    -e PUPPETEER_PROTOCOL=cdp \
    n8n-puppeteer
  ```

  Node-level settings always override environment variables when specified.

  ## Firefox Support

  This node supports Firefox through WebDriver BiDi protocol. To use Firefox:

  1. Set up a Firefox instance with WebDriver BiDi enabled
  2. Configure the connection either:
     - **Per-node**: Options > Browser WebSocket Endpoint + Protocol (WebDriver BiDi)
     - **Globally**: Environment variables `PUPPETEER_BROWSER_WS_ENDPOINT` + `PUPPETEER_PROTOCOL=webDriverBiDi`
  3. Execute your workflows with Firefox!

  ## Screenshots

  ### Run Custom Script

  ![](images/script.png)

  ### Get Page Content

  ![](images/content.png)

  ### Get Screenshot

  ![](images/screenshot.png)

  ## License

  MIT License

  Copyright (c) 2022-2024 Nicholas Penree <nick@penree.com>

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in all
  copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  SOFTWARE.

ai_documentation_summary:
  {"purpose":"A n8n node for browser automation using Puppeteer that enables executing custom scripts, capturing screenshots and PDFs, scraping content, and automating web interactions via Chrome/Chromium's DevTools Protocol.","capabilities":["Execute custom scripts on web pages","Capture full page screenshots","Capture partial page screenshots","Export page content as PDF","Get full HTML contents of a page","Scrape web content","Automate web interactions","Full Puppeteer API access","Support for Chrome DevTools Protocol (CDP)","Support for Firefox via WebDriver BiDi"],"authentication":"None - Uses local Chromium or remote browser WebSocket endpoints (e.g., browserless) with optional token authentication for remote services","commonUseCases":["Web scraping and data extraction","Automated testing and validation","Screenshot generation for documentation","PDF report generation from web pages","Cloud deployment without local browser dependencies"],"limitations":["Requires Chromium or Firefox dependencies when running locally (unless using remote browser)","Local installation increases package size and may require system dependencies","Remote browser setups require external service configuration or self-hosted browser instances","Containerized environments require specific launch arguments for Chrome"],"relatedNodes":["n8n Code node","n8n HTTP Request node","n8n Webhook node"]}


node_type: n8n-nodes-chatwoot.chatwoot
package_name: n8n-nodes-chatwoot
display_name: chatwoot
description: This is an n8n community node. It lets you use ChatWoot in your n8n workflows.
category: Community
development_style: declarative
version: 0.1.40
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: hugodeco
author_github_url: git+https://github.com/sufficit/n8n-nodes-chatwoot.git
npm_package_name: n8n-nodes-chatwoot
npm_version: 0.1.40
community_fetched_at: 2026-03-25T21:19:41.742Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-chatwoot

  This is an n8n community node. It lets you use ChatWoot 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)  <!-- 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

  _List the operations supported by your node._

  ## Credentials

  _If users need to authenticate with the app/service, provide details here. You should include prerequisites (such as signing up with the service), available authentication methods, and how to set them up._

  ## Compatibility

  Tested on N8N > v0.210 (Success)

  ## Usage

  _This is an optional section. Use it to help users with any difficult or confusing aspects of the node._

  _By the time users are looking for community nodes, they probably already know n8n basics. But if you expect new users, you can link to the [Try it out](https://docs.n8n.io/try-it-out/) documentation to help them get started._

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * _Link to app/service documentation._

  ## Version history

  _This is another optional section. If your node has multiple versions, include a short description of available versions and what changed, as well as any compatibility impact._

ai_documentation_summary:
  {"purpose":"This n8n community node enables integration with Chatwoot, allowing users to interact with Chatwoot's support platform directly within n8n workflows.","capabilities":["Connect to Chatwoot instances","Send messages to Chatwoot","Retrieve messages from Chatwoot","Create tickets in Chatwoot","Update ticket status in Chatwoot"],"authentication":"API key required","commonUseCases":["Automating customer support responses","Syncing chat messages between platforms","Triggering workflows based on Chatwoot events","Managing support tickets programmatically"],"limitations":["Community node (not official n8n node)","Requires manual setup of Chatwoot credentials","May require additional configuration for advanced features"],"relatedNodes":["n8n-nodes-chatwoot.chatwoot","n8n-nodes-chatwoot.chatwootTrigger","n8n-nodes-chatwoot.chatwootWebhook"]}


node_type: n8n-nodes-rd-station-crm.rdstationcrm
package_name: n8n-nodes-rd-station-crm
display_name: rdstationcrm
description: Nós personalizados do n8n para integração com a API do RD Station CRM (v1)
category: Community
development_style: declarative
version: 1.3.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: pexuleco
author_github_url: git+https://github.com/rdstation/n8n-nodes-rd-station-crm.git
npm_package_name: n8n-nodes-rd-station-crm
npm_version: 1.3.1
community_fetched_at: 2026-03-25T21:19:41.743Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-rd-station-crm

  Nós personalizados do n8n para integração com a API do RD Station CRM (v1).

  ## 🚀 Funcionalidades

  Este pacote fornece nós personalizados para o n8n que permitem integração completa com a API do RD Station CRM, incluindo:

  ### 📋 Nós Disponíveis

  1. **RD Station CRM Contatos** - Gerenciamento de contatos
  2. **RD Station CRM Negócios** - Operações com negócios/deals
  3. **RD Station CRM Tarefas** - Gestão de tarefas
  4. **RD Station CRM Notas** - Criação e gerenciamento de notas
  5. **RD Station CRM Empresas** - Operações com empresas
  6. **RD Station CRM Produtos de Negócio** - Gestão de produtos em negócios
  7. **RD Station CRM Usuários** - Informações de usuários
  8. **RD Station CRM Times** - Gestão de equipes
  9. **RD Station CRM Pipelines** - Operações com funis de vendas
  10. **RD Station CRM Campanhas** - Gestão de campanhas
  11. **RD Station CRM Fontes** - Informações sobre fontes de leads
  12. **RD Station CRM Motivos de Perda** - Gestão de motivos de perda
  13. **RD Station CRM Webhooks** - Configuração de webhooks

  ### 🔑 Credenciais

  - **RD Station CRM API** - Autenticação via token de API

  ## 📦 Instalação

  ### Instalação via n8n Community Nodes

  1. Acesse as configurações do n8n
  2. Vá para "Community Nodes"
  3. Clique em "Install"
  4. Digite: `n8n-nodes-rd-station-crm`
  5. Clique em "Install"

  ### Instalação Manual

  ```bash
  # Clone o repositório
  git clone https://github.com/rdstation/n8n-nodes-rd-station-crm.git
  cd n8n-nodes-rd-station-crm

  # Instale as dependências
  npm install

  # Compile o projeto
  npm run build

  # Instale globalmente (opcional)
  npm install -g .
  ```

  ## 🔧 Configuração

  ### Obtendo o Token de API

  1. Acesse sua conta do RD Station CRM
  2. Vá para Configurações > Integrações > API
  3. Gere um novo token de API
  4. Copie o token gerado

  ### Configurando as Credenciais no n8n

  1. No n8n, vá para "Credentials"
  2. Clique em "Add Credential"
  3. Selecione "RD Station CRM API"
  4. Cole seu token de API no campo correspondente
  5. Teste a conexão e salve

  ## 🛠️ Desenvolvimento

  ### Estrutura do Projeto

  ```
  n8n-nodes-rd-station-crm/
  ├── credentials/           # Definições de credenciais
  │   └── RdStationCrmApi.credentials.ts
  ├── nodes/                # Nós do n8n
  │   ├── RdStationCrmContacts.node.ts
  │   ├── RdStationCrmDeals.node.ts
  │   ├── RdStationCrmTasks.node.ts
  │   ├── RdStationCrmNotes.node.ts
  │   ├── RdStationCrmCompanies.node.ts
  │   ├── RdStationCrmDealProducts.node.ts
  │   ├── RdStationCrmUsers.node.ts
  │   ├── RdStationCrmTeams.node.ts
  │   ├── RdStationCrmPipelines.node.ts
  │   ├── RdStationCrmCampaigns.node.ts
  │   ├── RdStationCrmSources.node.ts
  │   ├── RdStationCrmLossReasons.node.ts
  │   ├── RdStationCrmWebhooks.node.ts
  │   └── rdstation.svg      # Ícone dos nós
  ├── dist/                 # Arquivos compilados
  ├── index.ts              # Arquivo principal de exportação
  ├── package.json          # Configurações do pacote
  ├── tsconfig.json         # Configurações do TypeScript
  └── gulpfile.js          # Tarefas de build
  ```

  ### Scripts Disponíveis

  ```bash
  # Compilar o projeto
  npm run build

  # Modo de desenvolvimento (watch)
  npm run dev

  # Executar linter
  npm run lint

  # Corrigir problemas de linting
  npm run lintfix

  # Formatar código
  npm run format
  ```

  ## 🔄 Correções Implementadas

  ### Versão 1.0.2 - Correções de Carregamento

  **Problemas Corrigidos:**

  1. **Inconsistência no package.json**: Removidos nós inexistentes (`RdStationCrmFunnels`, `RdStationCrmStages`) e adicionado o nó `RdStationCrmPipelines` que estava faltando
  2. **Arquivo index.js otimizado**: Simplificado para apenas redirecionar para `dist/index.js`
  3. **Configuração TypeScript melhorada**: Adicionadas opções para melhor compatibilidade
  4. **Estrutura de diretórios corrigida**: Removidos subdiretórios desnecessários em `dist/nodes`
  5. **Gulpfile otimizado**: Corrigida a cópia de ícones SVG

  **Erro Resolvido:**

  ```
  Error loading package "n8n-nodes-rd-station-crm": The "paths[1]" argument must be of type string. Received an instance of Object
  ```

  **Alterações Técnicas:**

  - Corrigida a exportação de `nodeTypes` e `credentialTypes` no arquivo principal
  - Melhorada a resolução de módulos no TypeScript
  - Removidas estruturas de diretórios duplicadas
  - Otimizada a configuração do Gulp para cópia de ícones

  ## 📚 Documentação da API

  Para mais informações sobre a API do RD Station CRM, consulte:

  - [Documentação Oficial da API](https://developers.rdstation.com/en/reference)
  - [Guia de Autenticação](https://developers.rdstation.com/en/authentication)

  ## 🤝 Contribuição

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
  3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
  4. Push para a branch (`git push origin feature/AmazingFeature`)
  5. Abra um Pull Request

  ## 📄 Licença

  Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.

  ## 🆘 Suporte

  Se você encontrar problemas ou tiver dúvidas:

  1. Verifique se o token de API está correto
  2. Confirme se a versão do n8n é compatível
  3. Consulte os logs do n8n para mais detalhes sobre erros
  4. Abra uma issue no repositório do GitHub

  ## 📈 Versões

  - **1.3.1** - Correção completa da estrutura de campos de email
    - **Emails**: Corrigida estrutura de campos de email nos nós Contatos e Negociações
    - Adicionados campos `type` (personal/work/other) e `primary` (boolean) para emails
    - Implementado processamento correto de emails com valores padrão
    - Garantida compatibilidade com a API oficial do RD Station CRM v1
  - **1.3.0** - Correção completa de todos os nós seguindo a documentação oficial da API
    - **Contatos**: Corrigida estrutura de requisições, adicionados campos customizados e base legal
    - **Organizações**: Corrigido endpoint para `/organizations`, adicionados campos customizados
    - **Negociações**: Mantidas correções da v1.2.0
    - Todos os nós agora seguem exatamente a estrutura da API oficial do RD Station CRM v1
    - Padronizada estrutura de dados com objetos aninhados (ex: `{ contact: {...} }`)
    - Corrigidos tipos de campos e valores padrão
    - Adicionados campos obrigatórios faltantes
    - Melhoradas descrições de todos os campos
  - **1.2.0** - Reescrita completa do nó de Negociações seguindo exatamente a documentação oficial da API
    - Corrigida estrutura de requisições para seguir exatamente o formato da API oficial
    - Corrigidos tipos de campos (boolean vs string) conforme documentação
    - Corrigido tratamento do campo `win` com valores true/false/null
    - Corrigido formato de datas para yyyy-mm-dd
    - Corrigida estrutura de contatos existentes (usando `_id` em vez de apenas `id`)
    - Adicionado suporte para base legal em contatos
    - Separado campo `deal_stage_id` no update conforme documentação
    - Melhoradas descrições de todos os campos seguindo a documentação oficial
    - Corrigidos filtros de período com validação booleana adequada
  - **1.1.0** - Atualização completa do nó de Negociações (Deals) seguindo a documentação oficial da API
    - Adicionados todos os parâmetros de query para listagem de negociações
    - Implementados filtros de período (fechamento, criação, previsão)
    - Adicionado suporte completo para campos customizados
    - Implementada criação de novos contatos junto com a negociação
    - Adicionado suporte para associar contatos existentes
    - Implementado gerenciamento de produtos na negociação
    - Adicionados campos de campanha, fonte e organização
    - Melhorada a estrutura de dados seguindo exatamente a API oficial
  - **1.0.9** - Correção na estrutura do package.json para compatibilidade com n8n
  - **1.0.7** - Correções de sintaxe no package.json
  - **1.0.6** - Correções de carregamento e otimizações finais
  - **1.0.5** - Versão com nome alternativo para compatibilidade
  - **1.0.4** - Correções de carregamento e otimizações
  - **1.0.3** - Correções de carregamento e otimizações finais
  - **1.0.2** - Correções de carregamento e otimizações
  - **1.0.1** - Versão inicial com todos os nós básicos
  - **1.0.0** - Primeira versão estável

  ## 🚀 Como Publicar no NPM

  Para desenvolvedores que desejam publicar este pacote:

  ### Pré-requisitos

  1. Conta no [npmjs.com](https://www.npmjs.com/)
  2. Login no npm: `npm login`

  ### Opção 1: Script Automático (Windows)

  ```bash
  # Execute o script de publicação
  .\publish.bat
  # ou
  .\publish.ps1
  ```

  ### Opção 2: Manual

  ```bash
  # 1. Fazer build
  npm run build

  # 2. Verificar conteúdo
  npm pack --dry-run

  # 3. Publicar
  npm publish
  ```

  ### Verificação Pós-Publicação

  - Acesse: https://www.npmjs.com/package/n8n-nodes-rd-station-crm
  - Teste a instalação: `npm install n8n-nodes-rd-station-crm`

ai_documentation_summary:
  {"purpose":"A custom n8n node package providing full integration with the RD Station CRM (v1) API for managing CRM data, tasks, and sales pipelines.","capabilities":["Manage contacts","Manage deals (businesses)","Manage tasks","Create and manage notes","Manage companies","Manage deal products","Manage users","Manage teams","Manage sales pipelines","Manage campaigns"],"authentication":"API Token","commonUseCases":["Automating CRM data entry from other sources","Syncing contacts and deals between systems","Automating task assignment and tracking","Setting up automated notifications via webhooks","Managing sales pipelines and campaigns"],"limitations":["Supports only RD Station CRM API v1","Requires manual installation via Community Nodes or manual npm build"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.webhook"]}


node_type: n8n-nodes-instagram-token.instagramtoken
package_name: n8n-nodes-instagram-token
display_name: instagramtoken
description: N8N nodes for Instagram API integration with access token authentication
category: Community
development_style: declarative
version: 2.4.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: robsonmilioli
author_github_url: git+https://github.com/r-milioli/n8n-nodes-insta-accessToken.git
npm_package_name: n8n-nodes-instagram-token
npm_version: 2.4.2
community_fetched_at: 2026-03-25T21:19:41.744Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-instagram-token

  ![Instagram Banner](https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white)
  [![npm version](https://img.shields.io/npm/v/n8n-nodes-instagram-token.svg)](https://www.npmjs.com/package/n8n-nodes-instagram-token)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![n8n](https://img.shields.io/badge/n8n-community-FF6D5A?logo=n8n)](https://n8n.io)

  Professional N8N community nodes for Instagram API integration with **access token authentication**.

  > **📌 Fork Notice**: This is a fork of [n8n-nodes-instagram-integrations](https://www.npmjs.com/package/n8n-nodes-instagram-integrations) with enhanced token management and additional features.

  [Installation](#installation) • [Features](#features) • [Quick Start](#quick-start) • [Documentation](#documentation)

  ---

  ## 🔄 What's Different from the Original?

  This fork includes several enhancements over the original [n8n-nodes-instagram-integrations](https://www.npmjs.com/package/n8n-nodes-instagram-integrations):

  ### ✨ **New Features:**
  - **Comment Management** - Reply to comments automatically, hide/unhide, and delete comments
  - **Enhanced Token Management** - Automatic refresh with smart fallback
  - **Better Error Handling** - More detailed debugging and logs
  - **Format Validation** - Proper audio format support (AAC, M4A, WAV, MP4)
  - **Performance Improvements** - Token caching and optimization

  ### 🔧 **Technical Improvements:**
  - **Access Token API** - Simplified authentication method
  - **Automatic Token Refresh** - No more "refreshToken is required" errors
  - **Smart Fallback** - Uses original token if refresh fails
  - **Enhanced Logging** - Better debugging capabilities

  ---

  ## 🚀 Features

  ### 🔐 Access Token Management
  - **Automatic token refresh** - Tokens refresh automatically before expiration
  - **Smart fallback** - Uses original token if refresh fails
  - **No more "refreshToken is required" errors** - Intelligent token lifecycle management
  - **Access Token API** - Simple authentication with automatic refresh
  - **Auto-discovery** - Automatically fetches Instagram Business Account ID

  ### 📬 Instagram Messaging
  - **Text Messages** - Send formatted text with up to 1000 characters
  - **Image Messages** - Share images via public HTTPS URLs
  - **Audio Messages** - Send voice messages (AAC, M4A, WAV, MP4 formats)
  - **Video Messages** - Share video content
  - **Media Upload** - Upload and publish photos, videos, reels, and stories
  - **Private Replies** - Send private replies to commenters directly (with optional quick replies)

  ### 💬 Interactive Templates
  - **Button Templates** - Up to 3 action buttons (web links or postbacks)
  - **Generic Templates** - Carousel cards with images and buttons
  - **Quick Replies** - Up to 13 quick response options

  ### 📝 Content Management
  - **Create Posts** - Single images, videos, and carousel posts
  - **Create Reels** - Short-form video content
  - **Create Stories** - Temporary 24-hour content
  - **Comment Management** - Reply to comments, hide/unhide comments, and delete comments

  ### 🔔 Webhook Events
  - **Message Events** - Incoming messages, postbacks, quick replies
  - **Comment Events** - New comments and mentions
  - **Opt-in Events** - User subscription confirmations

  ---

  ## 📋 Prerequisites

  - **n8n** (v1.0.0 or higher)
  - **Instagram Business Account** with Messaging API access
  - **Facebook App** with Instagram Basic Display API
  - **Webhook URL** (for receiving events)

  ---

  ## 🚀 Installation

  ### Method 1: Community Nodes (Recommended)
  1. Go to **Settings > Community Nodes** in n8n
  2. Click **Install a community node**
  3. Enter: `n8n-nodes-instagram-token`
  4. Click **Install**

  ### Method 2: Manual Installation
  ```bash
  npm install n8n-nodes-instagram-token
  ```

  ---

  ## ⚡ Quick Start

  ### 1. Configure Credentials
  1. Create **Instagram Access Token API** credential
  2. Enter your **Access Token** (long-lived recommended)
  3. Enable **Auto Refresh Token** (recommended)
  4. Set **Refresh Threshold** to 7 days

  ### 2. Create Your First Workflow
  1. Add **Instagram** node
  2. Select **Resource**: `Message`
  3. Select **Operation**: `Send Text`
  4. Configure your message
  5. **Execute** the workflow

  ### 3. Set Up Webhooks (Optional)
  1. Add **Instagram Trigger** node
  2. Configure webhook URL
  3. Set up event handling

  ---

  ## 📚 Documentation

  - **[API Reference](API_REFERENCE.md)** - Complete API documentation
  - **[Authentication Guide](AUTHENTICATION_GUIDE.md)** - Setup and configuration
  - **[Migration Guide](docs/MIGRATION_HYBRID_TOKEN.md)** - Migrating from OAuth2
  - **[Quick Start](docs/QUICKSTART.md)** - Getting started guide

  ---

  ## 🔧 Configuration

  ### Instagram Access Token API
  - **Access Token**: Your Instagram access token
  - **Instagram Business Account ID**: Auto-discovered if not provided
  - **Auto Refresh Token**: Enable automatic token refresh
  - **Refresh Threshold**: Days before expiration (default: 7)
  - **Webhook Verify Token**: Optional webhook verification

  ---

  # What's New in 2.4.1

  - ✅ **Hide/Unhide Comments** - Hide or unhide comments on your posts
  - ✅ **Delete Comments** - Delete comments from your posts
  - ✅ **Enhanced Comment Management** - Complete control over comment moderation

  ### v2.2.0 Highlights

  - ✅ **Private Replies** - Send private replies with plain text or quick replies directly from the message node
  - ✅ **Authentication Updates** - Support `Authorization: Bearer` header for compatible API scenarios

  ### v2.0.1 Highlights

  - ✅ **Comment Management** - Reply to comments automatically
  - ✅ **Access Token System** - Simplified authentication
  - ✅ **Enhanced Error Handling** - Better debugging and logs
  - ✅ **Format Support** - Proper audio format validation
  - ✅ **Performance Improvements** - Token caching and optimization

  ---

  ## 🤝 Support

  - **Issues**: [GitHub Issues](https://github.com/r-milioli/n8n-nodes-insta-accessToken/issues)
  - **Documentation**: [GitHub Wiki](https://github.com/r-milioli/n8n-nodes-insta-accessToken/wiki)
  - **Community**: [n8n Community Forum](https://community.n8n.io)

  ---

  ## 📄 License

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

  ---

  ## 🙏 Acknowledgments

  - **Original Authors** - [n8n-nodes-instagram-integrations](https://www.npmjs.com/package/n8n-nodes-instagram-integrations) for the foundation
  - **n8n Team** - For the amazing workflow automation platform
  - **Instagram API** - For providing comprehensive messaging capabilities
  - **Community** - For feedback and contributions

  ---

  **Made with ❤️ for the n8n community**

ai_documentation_summary:
  {"purpose":"A community node package providing n8n integration with the Instagram API, enabling content management, messaging, and event handling through access token authentication.","capabilities":["Send text, image, audio, and video messages","Reply to comments and manage comment visibility","Create posts, reels, and stories","Upload and publish media content","Configure interactive templates with buttons and quick replies","Receive webhook events for messages and comments","Automatic access token refresh with smart fallback","Auto-discovery of Instagram Business Account ID"],"authentication":"Access Token (OAuth2 migration available)","commonUseCases":["Automated social media engagement and commenting","Broadcasting announcements and promotional content","Receiving and processing Instagram message events","Moderating comments on posts","Sending multimedia messages to users"],"limitations":["Requires an Instagram Business Account with Messaging API access","Requires a Facebook App with Instagram Basic Display API","Webhook functionality requires a configured webhook URL","Some features may be limited by Instagram's API rate limits and business account permissions"],"relatedNodes":["Instagram Trigger","Instagram Message","Instagram Post","Instagram Media","Instagram Reel"]}


node_type: n8n-nodes-efibank.efibank
package_name: n8n-nodes-efibank
display_name: efibank
category: Community
development_style: declarative
version: 1.0.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: consultoria-efi
author_github_url: git+https://github.com/efipay/n8n-nodes-efibank.git
npm_package_name: n8n-nodes-efibank
npm_version: 1.0.10
community_fetched_at: 2026-03-25T21:19:41.745Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  Nó personalizado para integração com as APIs Cobranças e Pix do Efi Bank, permitindo operações de pagamentos, recebimentos e gerenciamento de transações financeiras.

npm_readme:
  ![Banner image](https://gnetbr.com/BJgSIUhlYs)

  # n8n-nodes-efibank

  O n8n-nodes-efibank é um nó personalizado para o n8n que simplifica a integração com a API Cobranças e a API Pix do Efibank, permitindo a automação de fluxos financeiros, como pagamentos, recebimentos e transações.

  [Requisitos](#requisitos) 

  [Instalação](#instalação)

  [Instalação do nó](#instalação-do-nó)  

  [Configuração do nó](#configuração-do-nó)  

  ## Requisitos

  ### Versão do Node.js
  Este nó personalizado requer uma versão do Node.js compatível com o n8n. A versão mínima necessária é **18.17**, e a versão máxima suportada é **22**.

  ## Instalação

  Para instalar o nó em uma instalação existente do n8n, utilize uma das opções abaixo:

  ### Instalação via NPM

  ```bash
  $ npm install n8n-nodes-efibank
  ```

  ### Instalação via [GIT](https://github.com/efipay/n8n-nodes-efibank)

  ```bash
  $ git clone https://github.com/efipay/n8n-nodes-efibank.git
  ```


  ## Instalação do nó

  Para instalar corretamente o nó personalizado, siga estas etapas:

  1. Instale as dependências:
  ```bash
  npm install
  ```

  2. Compile o código:
  ```bash
  npm run build
  ```

  3. Configure o link para uso local (desenvolvimento):
  ```bash
  npm link
  ```

  4. Inicie o n8n:
  ```bash
  n8n
  ```

  ## Configuração do nó

  No ambiente do <strong>n8n</strong>, acesse seu workflow e busque pelos nós **Efí Bank Cobranças** e **Efí Bank Pix**

  ### Configuração do Nó da API Cobranças
  Na interface do n8n, configure suas credenciais:
  1. Selecione o ambiente (Homologação/Produção);
  2. Configure as credenciais Client ID e Client Secret para os dois ambientes. Para obter as credencias da aplicação, você pode acessar [esse tutorial](https://dev.efipay.com.br/docs/api-cobrancas/credenciais#obtendo-as-credenciais-da-aplica%C3%A7%C3%A3o);
  3. Clique em Save.

  ### Configuração do Nó da API Pix
  Na interface do n8n, configure suas credenciais:
  1. Selecione o ambiente (Homologação/Produção);
  2. Configure as credenciais Client ID e Client Secret para os dois ambientes. Para obter as credencias da aplicação, você pode acessar [esse tutorial](https://dev.efipay.com.br/docs/api-cobrancas/credenciais#obtendo-as-credenciais-da-aplica%C3%A7%C3%A3o);
  3. Configure o certificado:
     - Gere um certificado em sua conta Efí, seguindo [este guia](https://sejaefi.com.br/central-de-ajuda/api/como-gerar-o-certificado-para-usar-a-api-pix?_gl=1*96b3d4*_gcl_au*MTgzNDQxMDgyMi4xNzQzNTA2MDI5#conteudo);
     - Converta o certificado .p12 fazendo o upload na [página de conversão](https://efipay.github.io/encode-credentials/certificado.html) e clique em "Codificar e Exibir" para obter os dados necessários;
     - Copie o conteúdo do Certificado e cole no campo "Certificado";
     - Copie o conteúdo da Key e cole no campo "Key";
  4. Clique em Save.

ai_documentation_summary:
  {"purpose":"A custom n8n node for integrating with Efi Bank's Payment and Pix APIs to automate financial operations including payments, receipts, and transaction management.","capabilities":["Payment processing via Efi Bank API","Pix payment integration","Receipt management","Transaction management","Support for both Sandbox (Homologação) and Production environments"],"authentication":"OAuth2 (Client ID and Client Secret required for both environments; Pix requires additional certificate configuration)","commonUseCases":["Automating customer payments","Processing Pix transfers","Managing financial transactions in n8n workflows","Automated receipt generation"],"limitations":["Requires Node.js version 18.17 to 22","Pix integration requires manual certificate generation and conversion (.p12 to base64)","Requires local compilation and linking for development use"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-http-request","n8n-nodes-credentials"]}


node_type: @devlikeapro/n8n-nodes-waha.waha
package_name: @devlikeapro/n8n-nodes-waha
display_name: waha
description: n8n to connect with WAHA (Whatsapp HTTP API)
category: Community
development_style: declarative
version: 2025.2.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: devlikeapro
author_github_url: git+https://github.com/devlikeapro/n8n-nodes-waha.git
npm_package_name: @devlikeapro/n8n-nodes-waha
npm_version: 2025.2.9
community_fetched_at: 2026-03-25T21:19:41.746Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # @devlikeapro/n8n-nodes-waha
  <p align="center">
    <img src="https://github.com/devlikeapro/n8n-nodes-waha/blob/master/WAHA+n8n.png?raw=true" width='300'/>
  </p>

  This is a n8n community node. 
  It lets you use [WAHA - WhatsApp HTTP API](https://waha.devlike.pro) in your n8n workflows.

  - [**WAHA**](https://waha.devlike.pro) - **WhatsApp API** that you can run in a click!
  - [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  👉 Generated from
  [**WAHA OpenAPI**](https://waha.devlike.pro/swagger/)
  using [**devlikeapro/n8n-openapi-node**](https://github.com/devlikeapro/n8n-openapi-node)

  ![NPM Version](https://img.shields.io/npm/v/%40devlikeapro%2Fn8n-nodes-waha)

  <!-- toc -->

  - [Install WAHA n8n node](#install-waha-n8n-node)
  - [Links](#links)
  - [Workflow Examples](#workflow-examples)

  <!-- tocstop -->

  ![WAHA Workflow Example Screenshot](./waha-n8n-workflow-example.png)

  ## Install WAHA n8n node
  Go to your **n8n** => **Settings** => **Community nodes** and install:

  ```
  @devlikeapro/n8n-nodes-waha
  ```

  If you need help with that, check the
  [**Install community nodes**](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/)

  ## Links
  - [**WAHA + n8n: No Code Low Code WhatsApp Automation Step-By-Step Guide**](https://waha/devlike.pro/blog/waha-n8n/)
  - [**🧩 WAHA + n8n Integration**](https://waha.devlike.pro/docs/integrations/n8n/)
  - [**WAHA n8n Workflow Templates**](http://waha-n8n-templates.devlike.pro/)

  ## Workflow Examples
  👉 Check out [**n8n-workflows**](http://waha-n8n-templates.devlike.pro/) folder for examples.

ai_documentation_summary:
  {"purpose":"This n8n community node enables workflow automation by connecting to WAHA (WhatsApp HTTP API) for managing WhatsApp communications.","capabilities":["Send WhatsApp messages","Receive WhatsApp messages","Manage WhatsApp contacts","Create WhatsApp groups","Manage WhatsApp media","Integrate with WAHA OpenAPI specifications"],"authentication":"API key required (via WAHA credentials)","commonUseCases":["Automated customer support via WhatsApp","Order status notifications","Appointment reminders","Marketing campaigns"],"limitations":["Requires WAHA API account and credentials","Limited to WhatsApp HTTP API functionality","Community node (may lack official support)"],"relatedNodes":["n8n-openapi-node","WAHA API node","WhatsApp integration nodes"]}


node_type: n8n-nodes-pdfkit.pdfkit
package_name: n8n-nodes-pdfkit
display_name: pdfkit
description: Node for using PDFKit to tranform images into PDF, more functionality may be added later.
category: Community
development_style: declarative
version: 0.1.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: bramknuever
author_github_url: git+https://github.com/bramkn/n8n-nodes-pdfkit.git
npm_package_name: n8n-nodes-pdfkit
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:41.747Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-pdfkit

  Use this node to convert images to PDF. At the moment only one option available to comnvert all images on a single item to a pdf. (will do this for each item)
  ![image](https://github.com/bramkn/n8n-nodes-pdfkit/assets/74856333/b18cf61e-f1fb-4165-859f-c95a01ecb982)


  ## License

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

ai_documentation_summary:
  {"purpose":"Converts images into PDF format using PDFKit, processing all images on a single item to create a single PDF document.","capabilities":["Convert images to PDF","Process multiple images per item","Generate one PDF per input item"],"authentication":"None","commonUseCases":["Batch converting image files to PDF documents","Creating PDF reports from image data"],"limitations":["Limited to converting all images on a single item","Additional functionality may be added in the future"],"relatedNodes":["n8n-nodes-core.pdf","n8n-nodes-core.binary"]}


node_type: n8n-nodes-mtai-zalo-test-trial.mtaizalotesttrial
package_name: n8n-nodes-mtai-zalo-test-trial
display_name: mtaizalotesttrial
description: Các node hỗ trợ Zalo cho n8n
category: Community
development_style: declarative
version: 1.2.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: dangminhtaivietinsoft
npm_package_name: n8n-nodes-mtai-zalo-test-trial
npm_version: 1.2.1
community_fetched_at: 2026-03-25T21:19:41.748Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-mtai-zalo-test-trial

  Các node hỗ trợ tích hợp Zalo vào nền tảng **n8n**.

  ---

  ## 📦 Cài đặt

  ```bash
  pnpm install n8n-nodes-mtai-zalo-test-trial
  ```

  ### Yêu cầu:
  - **Node.js** ≥ 18.10
  - **n8n** ≥ 1.0.0

  ---

  ## 🔐 Cấu hình Credentials

  1. Sử dụng node `ZaloLoginByQr` để quét mã QR và lấy thông tin xác thực:
     - `cookie`
     - `imei`
     - `userAgent`

  2. Credential được tạo sẽ dùng cho các node Zalo còn lại trong workflow.

  ---

  ## ✅ Các node đã hoàn chỉnh

  ### 1. `ZaloLoginByQr`
  - **Chức năng**: Đăng nhập Zalo bằng mã QR để lấy thông tin xác thực.
  - **Cách dùng**:
    - Thêm node vào workflow.
    - Làm theo hướng dẫn để quét QR và thu thập thông tin login.

  ---

  ### 2. `ZaloSendMessage`
  - **Chức năng**: Gửi tin nhắn đến người dùng hoặc nhóm trên Zalo, hỗ trợ nhiều định dạng.
  - **Cách dùng**:
    - Cấu hình `userId` hoặc `groupId`.
    - Nhập nội dung tin nhắn (hỗ trợ gửi text, ảnh).
    - **Mới**: Hỗ trợ gửi tin nhắn thoại bằng cách chuyển đổi văn bản thành giọng nói (Text-to-Speech) với nhiều ngôn ngữ.
    - **Mới**: Hỗ trợ gửi video từ URL, có khả năng tải và tối ưu hóa video.

  ---

  ### 3. `ZaloUser`
  - **Chức năng**: Quản lý thông tin và các hành động liên quan đến người dùng trên Zalo.
  - **Cách dùng**:
    - Hỗ trợ các thao tác như chấp nhận/gửi lời mời kết bạn, chặn/bỏ chặn người dùng.
    - Thay đổi ảnh đại diện và cài đặt tài khoản.
    - Lấy thông tin chi tiết của người dùng.

  ---

  ### 4. `ZaloMessageTrigger`
  - **Chức năng**: Lắng nghe và kích hoạt workflow khi có tin nhắn mới trên Zalo.
  - **Cách dùng**:
    - Cấu hình để lắng nghe tin nhắn từ người dùng hoặc nhóm.
    - Hỗ trợ chuyển đổi tin nhắn thoại thành văn bản (speech-to-text) bằng Wit.ai, có thể tự động nhận diện hoặc chọn ngôn ngữ thủ công.
    - Tùy chọn cho phép lắng nghe cả tin nhắn do chính bạn gửi đi.

  ---

  ## 📝 Ghi chú

  - Một số tính năng nâng cao như **chuyển đổi voice thành text (speech-to-text)** đang được phát triển.
  - Nếu gặp lỗi cài đặt:
    - Kiểm tra quyền truy cập file
    - Chạy với quyền admin (nếu cần)
    - Đảm bảo không có tiến trình nào đang khóa file

  ---

  ## 👨‍💻 Liên hệ & Đóng góp

  Đóng góp mã nguồn, bug report, hoặc ý tưởng xin gửi về repo hoặc liên hệ tác giả.

  ---

ai_documentation_summary:
  {"purpose":"This n8n node package provides integration capabilities for the Zalo messaging platform, enabling login, sending messages, managing users, and triggering workflows on new messages.","capabilities":["Zalo login via QR code","Send text messages to users or groups","Send images","Send voice messages (Text-to-Speech)","Send videos from URLs with optimization","Manage user invitations and blocks","Update profile pictures and account settings","Retrieve detailed user information","Listen for new incoming messages","Convert voice messages to text (speech-to-text)"],"authentication":"OAuth2 via QR code scan (using ZaloLoginByQr node to collect cookie, imei, and userAgent)","commonUseCases":["Automated customer support messaging on Zalo","Broadcasting announcements to user groups","Automated response to incoming customer inquiries","User management and onboarding workflows"],"limitations":["Some advanced features like speech-to-text are under development","Installation may require admin permissions or specific file access rights"],"relatedNodes":["ZaloLoginByQr","ZaloSendMessage","ZaloUser","ZaloMessageTrigger"]}


node_type: n8n-nodes-openpix.openpix
package_name: n8n-nodes-openpix
display_name: openpix
description: n8n nodes for OpenPix
category: Community
development_style: declarative
version: 0.3.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: fersilva
author_github_url: git+https://github.com/open-pix/n8n-nodes-openpix.git
npm_package_name: n8n-nodes-openpix
npm_version: 0.3.0
community_fetched_at: 2026-03-25T21:19:41.748Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-openpix

  ![OpenPix N8N logo](img/openpix-n8n.png)

  [![NPM Version](https://badge.fury.io/js/n8n-nodes-openpix.svg?style=flat)](https://npmjs.org/package/n8n-nodes-openpix)

  [![https://nodei.co/npm/n8n-nodes-openpix.png?downloads=true&downloadRank=true&stars=true](https://nodei.co/npm/n8n-nodes-openpix.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/n8n-nodes-openpix)

  n8n nodes for create charges and payments with [OpenPix](https://openpix.com.br)

  ## How to use

  ### Community Nodes (Recommended)

  1. Go to Settings > Community Nodes.
  2. Select Install.
  3. Enter `n8n-nodes-openpix` in _Enter npm package name._ field.
  4. Agree to the risks of using community nodes: select I understand the risks of installing unverified code from a public source.
  5. Select Install.

  ### Manual installation

  To get started install the package in your n8n root directory:

  `npm install n8n-nodes-openpix`

  ### Setup

  1. Go to Credentials.
  2. Select `Add Credential` button.
  3. Select `OpenPix API` from the _Search for app_ dropdown.
  4. Get your OpenPix API key from [API Getting Started](https://developers.openpix.com.br/docs/apis/api-getting-started).
  5. Enter your OpenPix API key in the _API Key_ field.

  ## API Reference

  - [OpenPix API](https://developers.openpix.com.br/docs/apis/api-getting-started)

  ## Contributing

  1. Fork it (<https://github.com/open-pix/n8n-nodes-openpix/fork>)
  2. Create your feature branch (`git checkout -b feature/fooBar`)
  3. Commit your changes (`git commit -m 'feat(fooBar) Add some fooBar'`)
  4. Push to the branch (`git push origin feature/fooBar`)
  5. Create a new Pull Request

ai_documentation_summary:
  {"purpose":"This n8n node enables the creation of charges and payments using the OpenPix Brazilian payment gateway API.","capabilities":["Create charges","Process payments","Integrate with OpenPix API"],"authentication":"API Key required","commonUseCases":["Accepting credit card payments in Brazil","Processing Pix transfers","Automated checkout workflows"],"limitations":["Limited to OpenPix-specific payment operations","Requires valid OpenPix API credentials"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-currency.convert"]}


node_type: n8n-nodes-thong-zalo-test-trial.thongzalotesttrial
package_name: n8n-nodes-thong-zalo-test-trial
display_name: thongzalotesttrial
description: Các node hỗ trợ Zalo cho n8n
category: Community
development_style: declarative
version: 0.1.182
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: vanthong0404
npm_package_name: n8n-nodes-thong-zalo-test-trial
npm_version: 0.1.182
community_fetched_at: 2026-03-25T21:19:41.749Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-mtai-zalo-test-trial

  Các node hỗ trợ tích hợp Zalo vào nền tảng **n8n**.

  ---

  ## 📦 Cài đặt

  ```bash
  pnpm install n8n-nodes-mtai-zalo-test-trial
  ```

  ### Yêu cầu:
  - **Node.js** ≥ 18.10
  - **n8n** ≥ 1.0.0

  ---

  ## 🔐 Cấu hình Credentials

  1. Sử dụng node `ZaloLoginByQr` để quét mã QR và lấy thông tin xác thực:
     - `cookie`
     - `imei`
     - `userAgent`

  2. Credential được tạo sẽ dùng cho các node Zalo còn lại trong workflow.

  ---

  ## ✅ Các node đã hoàn chỉnh

  ### 1. `ZaloLoginByQr`
  - **Chức năng**: Đăng nhập Zalo bằng mã QR để lấy thông tin xác thực.
  - **Cách dùng**:
    - Thêm node vào workflow.
    - Làm theo hướng dẫn để quét QR và thu thập thông tin login.

  ---

  ### 2. `ZaloSendMessage`
  - **Chức năng**: Gửi tin nhắn đến người dùng hoặc nhóm trên Zalo.
  - **Cách dùng**:
    - Cấu hình `userId` hoặc `groupId`.
    - Nhập nội dung tin nhắn (hỗ trợ gửi text, ảnh, file...).

  ---

  ### 3. `ZaloUser`
  - **Chức năng**: Lấy thông tin chi tiết của người dùng Zalo.
  - **Cách dùng**:
    - Nhập `userId` để truy xuất thông tin người dùng.

  ---

  ### 4. `ZaloGroup`
  - **Chức năng**: Truy xuất thông tin nhóm Zalo, bao gồm danh sách thành viên.
  - **Cách dùng**:
    - Nhập `groupId` để lấy dữ liệu liên quan đến nhóm.

  ---

  ### 5. `ZaloMessageTrigger`
  - **Chức năng**: 
    - Theo dõi và kích hoạt workflow khi có tin nhắn mới từ người dùng hoặc nhóm.
    - Chuyển đổi giọng nói sang text. 
  - **Cách dùng**:
    - Cấu hình loại sự kiện (`message.user`, `message.group`, v.v).
    - Node sẽ tự động kích hoạt khi có tin nhắn đến.
    - Chức năng chuyển giọng nói sang text yêu cầu thêm WitAiApi credential còn nếu không có mình có thể dùng Vosk
  - **Lưu ý**:
    - Tin nhắn giọng nói (`chat.voice`) hiện chỉ được nhận diện chứ chưa hỗ trợ chuyển đổi thành văn bản.
    - WitAiApi credentiald bắt buộc phải có AccessToken từ trang wit.ai
    - Hiện tại chức năng nghe hiểu của vosk về tiếng Việt không quá hiệu quả
  ---

  ### 6. `ZaloFriendTrigger`
  - **Chức năng**: Theo dõi các sự kiện liên quan đến bạn bè (kết bạn, hủy kết bạn,...).
  - **Cách dùng**:
    - Thêm node này vào workflow để lắng nghe các sự kiện liên quan.

  ---

  ## 📝 Ghi chú

  - Một số tính năng nâng cao như **chuyển đổi voice thành text (speech-to-text)** đang được phát triển.
  - Nếu gặp lỗi cài đặt:
    - Kiểm tra quyền truy cập file
    - Chạy với quyền admin (nếu cần)
    - Đảm bảo không có tiến trình nào đang khóa file

  ---

  ## 👨‍💻 Liên hệ & Đóng góp

  Đóng góp mã nguồn, bug report, hoặc ý tưởng xin gửi về repo hoặc liên hệ tác giả.

  ---

ai_documentation_summary:
  {"purpose":"This n8n node package provides integration capabilities for the Zalo messaging platform, enabling users to manage accounts, send messages, retrieve user/group data, and handle incoming events.","capabilities":["Zalo account login via QR code","Sending text, image, and file messages to users or groups","Retrieving detailed user information","Retrieving group information and member lists","Listening for new message events (text and voice)","Listening for friend-related events (adding/removing friends)","Speech-to-text conversion (requires WitAiApi or Vosk credentials)"],"authentication":"OAuth2 via QR code (manual credential collection using cookie, imei, userAgent)","commonUseCases":["Automated customer support chatbots on Zalo","Marketing campaigns sending promotional messages to groups","Automated response systems for business inquiries","Monitoring friend relationship changes for social management","Voice message transcription workflows"],"limitations":["Speech-to-text conversion requires external API credentials (WitAiApi) or Vosk; native Vietnamese recognition by Vosk is noted as not highly effective","Voice message recognition is functional but full conversion to text is not yet supported","Credential setup requires manual QR scanning and cookie/IMEI collection","Installation requires Node.js >= 18.10 and n8n >= 1.0.0"],"relatedNodes":["ZaloLoginByQr","ZaloSendMessage","ZaloUser","ZaloGroup","ZaloMessageTrigger"]}


node_type: n8n-nodes-woovi.woovi
package_name: n8n-nodes-woovi
display_name: woovi
description: n8n nodes for Woovi
category: Community
development_style: declarative
version: 2.3.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: sibelius
author_github_url: git+https://github.com/woovibr/n8n-nodes-woovi.git
npm_package_name: n8n-nodes-woovi
npm_version: 2.3.0
community_fetched_at: 2026-03-25T21:19:41.749Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-woovi

  ![Woovi N8N logo](img/woovi-n8n.png)

  [![NPM Version](https://badge.fury.io/js/n8n-nodes-woovi.svg?style=flat)](https://npmjs.org/package/n8n-nodes-woovi)

  [![https://nodei.co/npm/n8n-nodes-woovi.png?downloads=true&downloadRank=true&stars=true](https://nodei.co/npm/n8n-nodes-woovi.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/n8n-nodes-woovi)

  n8n nodes for create charges and payments with [Woovi](https://woovi.com)

  ## How to use

  ### Community Nodes (Recommended)

  1. Go to Settings > Community Nodes.
  2. Select Install.
  3. Enter `n8n-nodes-woovi` in *Enter npm package name.* field.
  4. Agree to the risks of using community nodes: select I understand the risks of installing unverified code from a public source.
  5. Select Install.

  ### Manual installation

  To get started install the package in your n8n root directory:

  `npm install n8n-nodes-woovi`

  ### Setup

  1. Go to Credentials.
  2. Select `Add Credential` button.
  3. Select `Woovi API` from the *Search for app* dropdown.
  4. Get your Woovi API key from [API Getting Started](https://developers.woovi.com/docs/apis/api-getting-started).
  5. Enter your Woovi API key in the *API Key* field.

  #### Sandbox (Ambiente de teste)

  Se você deseja usar o ambiente de sandbox, abra as credenciais `Woovi API` no n8n e ative `Use Sandbox Environment`. Quando ativado, preencha `API Key (Sandbox)` e `Base URL (Sandbox)` (padrão: `https://api.woovi-sandbox.com/api`). Desative para voltar ao ambiente de produção e preencher `API Key (Production)`.

  ## API Reference

  - [Woovi API](https://developers.woovi.com/docs/apis/api-getting-started)

  - All requests require the `Authorization` header with your AppID (set it in the `Woovi API` credential used by the node).

  ## Using implemented routes in n8n

  The package currently implements two primary integrations for n8n:

  - Create charge (POST /charge) — available as the `Woovi` node
  - Webhook listener for Woovi events — available as the `Woovi Trigger` node

  **Implemented endpoints:**

  | Endpoint | Method | n8n Node | Required fields / Parameters | Short usage | Example output |
  |---|---:|---|---|---|---|
  | `/v1/charge` | POST | `Woovi` | `Value` (number, cents) — required; `CorrelationID` (string) — optional | Create a charge (dynamic PIX / payment link). Configure **Woovi API** credentials, set `Value` and optional `CorrelationID`, then execute the `Woovi` node. | `charge.identifier`, `charge.status`, `charge.paymentLinkUrl`, `charge.brCode`, `charge.pixKey`, `expiresIn` |
  | `/webhook` (webhook listener) | POST (webhook) | `Woovi Trigger` | `events` (dropdown) — choose a specific event or `ALL` | Receive Woovi events (charge created/completed, transaction received, refunds, movement updates). Add `Woovi Trigger`, choose event(s), enable the workflow to expose the webhook URL, then configure Woovi to post to that URL. | Full event payload in node output JSON (field names depend on event) |
  | `/v1/subaccount` | GET | `Woovi` | — | List subaccounts for the company. Use the `resource=subaccount` and `operation=listSubaccounts` in the `Woovi` node. | Array of subaccount objects (id, pixKey, name, balance, ...) |
  | `/v1/subaccount/{id}` | GET | `Woovi` | `Subaccount ID` (string) — required | Get a single subaccount's details. Use `resource=subaccount` + `operation=getSubaccount` and provide `Subaccount ID`. | Subaccount object with details (id, pixKey, name, balance, createdAt, ...) |
  | `/v1/subaccount` | POST | `Woovi` | `Pix Key` (string) — required (or other identifying fields) ; `Subaccount Name` (string) — optional | Create or retrieve a subaccount by `pixKey`. Use `resource=subaccount` + `operation=createSubaccount`. | Created or existing subaccount object (id, pixKey, name, ...) |
  | `/v1/subaccount/{id}/withdraw` | POST | `Woovi` | `Subaccount ID` (string) — required; `Amount` (number, cents) — required | Withdraw (partial) from a subaccount to the main account. Use `operation=withdrawSubaccount`. | Operation result (success/info) |
  | `/v1/subaccount/{id}/debit` | POST | `Woovi` | `Subaccount ID` (string) — required; `Amount` (number, cents) — required; `Description` (string) — optional | Debit (move) value from a subaccount to the main account with an optional description. Use `operation=debitSubaccount`. | Operation result (success/info) |
  | `/v1/subaccount/{id}` | DELETE | `Woovi` | `Subaccount ID` (string) — required | Delete a subaccount (only allowed if balance == 0). Use `operation=deleteSubaccount`. | Operation result (success/info) |
  | `/v1/subaccount/transfer` | POST | `Woovi` | `Value` (number, cents) — required; `From Pix Key` (string) — required; `To Pix Key` (string) — required; `CorrelationID` (string) — optional | Transfer funds between subaccounts. Use `operation=transferSubaccounts` and provide transfer details. | Operation result (success/info) |
  | `/v1/subaccount` | GET | `Woovi` | — | List subaccounts for the company. Use the `resource=subaccount` and `operation=listSubaccounts` in the `Woovi` node. | Array of subaccount objects (id, pixKey, name, balance, ...)
  | `/v1/subaccount/{id}` | GET | `Woovi` | `Subaccount ID` (string) — required | Get a single subaccount's details. Use `resource=subaccount` + `operation=getSubaccount` and provide `Subaccount ID`. | Subaccount object with details (id, pixKey, name, balance, createdAt, ...)
  | `/v1/subaccount` | POST | `Woovi` | `Pix Key` (string) — required (or other identifying fields) ; `Subaccount Name` (string) — optional | Create or retrieve a subaccount by `pixKey`. Use `resource=subaccount` + `operation=createSubaccount`. | Created or existing subaccount object (id, pixKey, name, ...)
  | `/v1/subaccount/{id}/withdraw` | POST | `Woovi` | `Subaccount ID` (string) — required; `Amount` (number, cents) — required | Withdraw (partial) from a subaccount to the main account. Use `operation=withdrawSubaccount`. | Operation result (success/info)
  | `/v1/subaccount/{id}/debit` | POST | `Woovi` | `Subaccount ID` (string) — required; `Amount` (number, cents) — required; `Description` (string) — optional | Debit (move) value from a subaccount to the main account with an optional description. Use `operation=debitSubaccount`. | Operation result (success/info)
  | `/v1/subaccount/{id}` | DELETE | `Woovi` | `Subaccount ID` (string) — required | Delete a subaccount (only allowed if balance == 0). Use `operation=deleteSubaccount`. | Operation result (success/info)
  | `/v1/subaccount/transfer` | POST | `Woovi` | `Value` (number, cents) — required; `From Pix Key` (string) — required; `To Pix Key` (string) — required; `CorrelationID` (string) — optional | Transfer funds between subaccounts. Use `operation=transferSubaccounts` and provide transfer details. | Operation result (success/info)
  |  `/v1/customer`    | POST |  `Woovi` | `name` (string) — required; **at least one of:** `taxID` (string), `email` (string), or `phone` (string) — required; `correlationID` (string) — optional; `address` (object: { zipcode (string), street (string), number (string), neighborhood (string), city (string), state (string), complement (string), country (string) }) — optional, but if provided all fields except `complement` must be filled | Create a new customer. Use `resource=customer` + `operation=createCustomer` and provide `name` plus at least one identifier (`taxID`, `email`, or `phone`) | Operation result (success/info) 
  |  `/v1/customer`  | GET | `Woovi` | — | List customers of the company. Use `resource=customer` + `operation=listCustomers` | Operation result (success/info)
  |  `/v1/customer/{id}`  | GET | `Woovi` | `Id` CorrelationID or Tax ID (String) - required | Get a customer of the company. Use `resource=customer` + `operation=getCustomer` and provide a `id` that could be `Tax ID` or `Correlation ID` | Operation result (success/info)
  |  `/v1/customer/{id}`    | PATCH |  `Woovi` | `correlationID` (string) — required; `name` (string) — optional; `taxID` (string) — optional; `email` (string) — optional; `phone` (string) — optional; `address` (object: {  zipcode — (string); street — (string); number — (string); neighborhood — (string); city — (string);state — (string);complement — (string);country — (string) }) — optional if not provided | Update an existing customer. Use `resource=customer` + `operation=updateCustomer` and provide fields to update | Operation result (success/info)
  |  `/v1/refund`  | GET | `Woovi` | — | List refunds of the company. Use `resource=refund` + `operation=listRefunds` | Operation result (success/info)
  |  `/v1/refund/{id}`  | GET | `Woovi` | `Id` Refund ID or Correlation ID (String) - required | Get a refund of the company. Use `resource=refund` + `operation=getRefund` and provide a `id` that could be `Refund ID` or `Correlation ID` | Operation result (success/info)
  |  `/v1/refund`    | POST |  `Woovi` | `value` (number) — required; `correlationID` (string) — required; `transactionEndToEndId` (string) required; `comment` (string) optional | Create a new refund. Use `resource=refund` + `operation=createRefund` and provide `value`, `transactionEndToEndId` and `correlationID` at least | Operation result (success/info)
  |  `/v1/invoice`  | GET | `Woovi` | `limit` (number) — optional (default: 20); `skip` (number) — optional (default: 0); `start` (string, format: YYYY-MM-DD) — optional; `end` (string, format: YYYY-MM-DD) — optional | List invoices of the company. Use `resource=invoice` + `operation=listInvoices` and optionally filter by date range | Array of invoice objects
  |  `/v1/invoice/{correlationID}/cancel`  | POST | `Woovi` | `correlationID` (string) — required | Cancel an invoice. Use `resource=invoice` + `operation=cancelInvoice` and provide the invoice `correlationID` | Operation result (success/info)
  |  `/v1/invoice/{correlationID}/pdf`  | GET | `Woovi` | `correlationID` (string) — required | Get invoice PDF. Use `resource=invoice` + `operation=getInvoicePdf` and provide the invoice `correlationID` | PDF file data
  |  `/v1/invoice/{correlationID}/xml`  | GET | `Woovi` | `correlationID` (string) — required | Get invoice XML. Use `resource=invoice` + `operation=getInvoiceXml` and provide the invoice `correlationID` | XML file data
  |  `/v1/invoice`  | POST | `Woovi` | `billingDate` (string, ISO 8601) — required; `correlationID` (string) — required; **one of:** `charge` (string) OR `value` (number) — required; `description` (string) — optional; `customerId` (string) — optional; `customer` (object with taxID, name, email, phone, address) — optional (if provided, all customer fields are required) | Create a new invoice. Use `resource=invoice` + `operation=createInvoice` and provide required fields | Operation result (success/info)
  |  `/v1/installments/{id}`  | GET | `Woovi` | `id` (string) — required (globalID or endToEndId) | Get a single installment's details. Use `resource=installment` + `operation=getInstallment` and provide the installment `id` (either globalID or endToEndId) | Installment object with details (globalID, endToEndId, value, status, ...)
  |  `/v1/installments/{id}/cobr`  | POST | `Woovi` | `id` (string) — required (globalID); `value` (number, cents) — optional | Create CobR manually for an installment. Use `resource=installment` + `operation=createInstallmentCobr` and provide the installment `id`. Optionally provide custom `value` in cents, otherwise uses the installment value | Created CobR object with details (globalID, value, brCode, pixKey, status, ...)
  |  `/v1/installments/{id}/cobr/retry`  | POST | `Woovi` | `id` (string) — required (globalID) | Manually retry CobR creation for an installment. Use `resource=installment` + `operation=retryInstallmentCobr` and provide the installment `id` | Created CobR object with details (globalID, value, brCode, status, ...)
  |  `/v1/subscriptions`  | GET | `Woovi` | — | List all subscriptions of the company. Use `resource=subscription` + `operation=listSubscriptions`. **⚠️ Note: Subscriptions only work in Woovi production environment (not available in sandbox)** | Array of subscription objects (id, status, value, dayGenerateCharge, customer, ...)
  |  `/v1/subscriptions/{id}`  | GET | `Woovi` | `id` (string) — required | Get a subscription's details. Use `resource=subscription` + `operation=getSubscription` and provide the subscription `id`. **⚠️ Note: Subscriptions only work in Woovi production environment (not available in sandbox)** | Subscription object with details (id, status, value, dayGenerateCharge, customer, ...)
  |  `/v1/subscriptions`  | POST | `Woovi` | `value` (number, cents) — required; `type` (PIX_RECURRING or RECURRENT) — required; `correlationID` (string) — required; `customer` (object: name, email, phone, taxID, address) — required; `name` (string) — optional; `comment` (string) — optional; `dayGenerateCharge` (number 1-31, default 5) — optional; `frequency` (WEEKLY, MONTHLY, SEMIANNUALLY, ANNUALLY) — optional; `dayDue` (number >=3, default 7) — optional | Create a new subscription. Use `resource=subscription` + `operation=createSubscription` and provide all required fields including complete customer data with address. **⚠️ Note: Subscriptions only work in Woovi production environment (not available in sandbox)** | Created subscription object with id and details
  |  `/v1/subscriptions/{id}/cancel`  | PUT | `Woovi` | `id` (string) — required | Cancel a subscription. Use `resource=subscription` + `operation=cancelSubscription` and provide the subscription `id`. **⚠️ Note: Subscriptions only work in Woovi production environment (not available in sandbox)** | Subscription object with status CANCELED
  |  `/v1/subscriptions/{id}/value`  | PUT | `Woovi` | `id` (string) — required; `value` (number, cents) — required (must be > 0) | Update the value of future subscription installments (when allowed). Use `resource=subscription` + `operation=updateSubscriptionValue` and provide the subscription `id` and new `value`. **⚠️ Note: Subscriptions only work in Woovi production environment (not available in sandbox)** | Updated subscription object with new value
  |  `/v1/subscriptions/{id}/installments`  | GET | `Woovi` | `id` (string) — required | List all installments for a subscription. Use `resource=subscription` + `operation=listSubscriptionInstallments` and provide the subscription `id`. **⚠️ Note: Subscriptions only work in Woovi production environment (not available in sandbox)** | Array of installment objects (globalID, endToEndId, value, status, ...)
  |  `/v1/pix-keys`  | POST | `Woovi` | `pixKey` (string) — optional for EVP; `pixKeyType` (string, CNPJ or EVP) — required | Create a new pix key. Use `resource=pixKey` + `operation=create` and provide `pixKeyType`. For CNPJ type, `pixKey` is required. | Pix Key object (key, type, status, ...)
  |  `/v1/pix-keys`  | GET | `Woovi` | — | List all pix keys. Use `resource=pixKey` + `operation=list`. | Array of Pix Key objects and account info
  |  `/v1/pix-keys/{pixKey}/check`  | GET | `Woovi` | `pixKey` (string) — required | Check a pix key. Use `resource=pixKey` + `operation=check` and provide the `pixKey`. | Pix Key object (key, type, status, ...)
  |  `/v1/pix-keys/{pixKey}/default`  | POST | `Woovi` | `pixKey` (string) — required | Set a pix key as default. Use `resource=pixKey` + `operation=setDefault` and provide the `pixKey`. | Operation result (success/info)
  |  `/v1/pix-keys/{pixKey}`  | DELETE | `Woovi` | `pixKey` (string) — required | Delete a pix key. Use `resource=pixKey` + `operation=delete` and provide the `pixKey`. | Operation result (success/info)
  |  `/v1/pix-keys/tokens`  | GET | `Woovi` | — | Get tokens data for pix keys. Use `resource=pixKey` + `operation=getTokens`. | Tokens info (limit, refresh)
  |  `/v1/qrcode-static`  | POST | `Woovi` | `name` (string) — required; `value` (number, cents) — required; `correlationID` (string) — optional; `comment` (string) — optional; `pixKey` (string) — optional | Create a new static Pix QR code. Use `resource=qrCodeStatic` + `operation=create` and provide required fields. | QR Code object (brCode, qrCodeImage, paymentLinkUrl, ...)
  |  `/v1/qrcode-static/{id}`  | GET | `Woovi` | `qrCodeId` (string) — required | Get a static Pix QR code. Use `resource=qrCodeStatic` + `operation=get` and provide the `qrCodeId` (ID, correlation ID, or identifier). | QR Code object (id, name, value, status, ...)
  |  `/v1/qrcode-static`  | GET | `Woovi` | `limit` (number) — optional (default: 20); `skip` (number) — optional (default: 0) | List all static Pix QR codes. Use `resource=qrCodeStatic` + `operation=list`. Optionally provide `limit` and `skip` for pagination. | Array of QR Code objects
  | `/v1/payment` | POST | `Woovi` | `paymentType` (`PIX_KEY`/`QR_CODE`/`MANUAL`) — required; `value` (number, cents) — required; `correlationID` (string) — required. Optional: `destinationAlias`, `destinationAliasType` (`CPF`,`CNPJ`,`EMAIL`,`PHONE`,`RANDOM`), `pixKeyEndToEndId`, `comment`, `metadata` (JSON object, max 30 keys). | Request a payment (PIX key / QR code / manual). Use `resource=payment` + `operation=create` and provide required fields. | `payment` object with fields like `type`, `value`, `destinationAlias`, `destinationAliasType`, `qrCode` (when `QR_CODE`), `correlationID`, `comment`, `status` |
  | `/v1/payment` | GET | `Woovi` | `limit` (number) — optional (default: 20); `skip` (number) — optional (default: 0); `correlationID` (string) — optional; `status` (string) — optional | List payments for the company. Use `resource=payment` + `operation=list` and optionally filter by `correlationID` or `status`. | Array of payment objects |
  | `/v1/payment/{id}` | GET | `Woovi` | `id` (string) — required (payment ID or correlationID) | Get a single payment by ID or correlationID. Use `resource=payment` + `operation=get` and provide `id`. | Payment object with details (payment, transaction, destination) |
  Note: In the n8n node the `metadata` field is entered as a key/value collection (fixed collection) and will be converted to a JSON object by the node (maximum 30 keys). For `paymentType = QR_CODE` the `value` is optional and the node omits the `value` field when creating a QR code payment.
  | `/v1/psp` | GET | `Woovi` | `ispb` (string) — optional; `name` (string) — optional; `compe` (string) — optional | List PSPs (Payment Service Providers). Use `resource=psp` + `operation=list` and optionally filter by `ispb`, `name`, or `compe`. | Array of PSP objects (name, ispb, code, compe) |

  Common events available in the trigger: `OPENPIX:CHARGE_CREATED`, `OPENPIX:CHARGE_COMPLETED`, `OPENPIX:CHARGE_EXPIRED`, `OPENPIX:TRANSACTION_RECEIVED`, `OPENPIX:TRANSACTION_REFUND_RECEIVED`, `OPENPIX:MOVEMENT_CONFIRMED`, `OPENPIX:MOVEMENT_FAILED`, `OPENPIX:MOVEMENT_REMOVED`, and `ALL`.

  Tip: select `ALL` to receive every event and branch inside the workflow by inspecting the event payload's `event` field.


  ## Contributing

  1. Fork it (<https://github.com/entria/n8n-nodes-woovi/fork>)
  2. Create your feature branch (`git checkout -b feature/fooBar`)
  3. Commit your changes (`git commit -m 'feat(fooBar) Add some fooBar'`)
  4. Push to the branch (`git push origin feature/fooBar`)
  5. Create a new Pull Request

ai_documentation_summary:
  {"purpose":"This n8n node package enables integration with Woovi, a Brazilian payment gateway, allowing users to create charges, manage subaccounts, and handle payment events within n8n workflows.","capabilities":["Create charges (dynamic PIX/payment links)","List subaccounts","Get subaccount details","Create subaccounts","Withdraw funds from subaccounts","Debit funds from subaccounts","Delete subaccounts","Transfer funds between subaccounts","Listen to Woovi webhook events"],"authentication":"API Key required (AppID)","commonUseCases":["Automating PIX payment processing","Managing multi-currency or multi-merchant subaccounts","Receiving and processing payment events automatically","Handling refunds and fund movements"],"limitations":["Subaccount deletion is only allowed if the balance is zero","Requires manual installation via npm or community node installation"],"relatedNodes":["Woovi Trigger","Webhook"]}


node_type: n8n-nodes-weld.weld
package_name: n8n-nodes-weld
display_name: weld
category: Community
development_style: declarative
version: 1.1.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: GitHub Actions
author_github_url: git+https://github.com/useweld/n8n-nodes-weld.git
npm_package_name: n8n-nodes-weld
npm_version: 1.1.4
community_fetched_at: 2026-03-25T21:19:41.750Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  n8n community node for Weld — web scraping across LinkedIn, Instagram, TikTok, Twitter/X, YouTube & Facebook

npm_readme:
  # n8n-nodes-weld

  n8n community node for [Weld](https://www.useweld.app) — web scraping across LinkedIn, Instagram, TikTok, Twitter/X, YouTube, Facebook, Indeed, Glassdoor, Yelp, GitHub & Crunchbase.

  ## Installation

  In your n8n instance, go to **Settings → Community Nodes → Install** and enter:

  ```
  n8n-nodes-weld
  ```

  ## Credentials

  1. Log in to [Weld](https://www.useweld.app)
  2. Go to **Settings → API Keys** and create a new key
  3. In n8n, add a **Weld API** credential with your API key and base URL

  ## Nodes

  ### Per-Platform Scraper Nodes

  Each scraper has its own dedicated node with tailored input fields and AI agent descriptions:

  | Node | Scraper | Input | Cost |
  | ---- | ------- | ----- | ---- |
  | **Weld LinkedIn Profiles** | `linkedin-profiles` | Profile URLs | 5 cr |
  | **Weld LinkedIn Companies** | `linkedin-companies` | Company URLs | 5 cr |
  | **Weld LinkedIn Posts** | `linkedin-posts` | Profile/Company/Post URLs | 3 cr |
  | **Weld Instagram Profiles** | `instagram-profiles` | Profile URLs | 4 cr |
  | **Weld Instagram Posts** | `instagram-posts` | Post URLs | 3 cr |
  | **Weld Instagram Comments** | `instagram-comments` | Post URLs | 2 cr |
  | **Weld TikTok Profiles** | `tiktok-profiles` | Profile URLs | 4 cr |
  | **Weld TikTok Videos** | `tiktok-posts` | Video URLs | 3 cr |
  | **Weld Twitter/X Profiles** | `twitter-profiles` | Profile URLs | 4 cr |
  | **Weld Twitter/X Posts** | `twitter-posts` | Post URLs | 3 cr |
  | **Weld YouTube Channels** | `youtube-channels` | Channel URLs | 4 cr |
  | **Weld YouTube Comments** | `youtube-comments` | Video URLs | 2 cr |
  | **Weld Facebook Profiles** | `facebook-profiles` | Profile URLs | 4 cr |
  | **Weld Facebook Groups** | `facebook-groups` | Group URLs | 3 cr |
  | **Weld Indeed Jobs** | `indeed-jobs` | Job listing URLs | 5 cr |
  | **Weld Indeed Companies** | `indeed-companies` | Company URLs | 5 cr |
  | **Weld Glassdoor Companies** | `glassdoor-companies` | Company URLs | 5 cr |
  | **Weld Glassdoor Reviews** | `glassdoor-reviews` | Review URLs | 5 cr |
  | **Weld Glassdoor Jobs** | `glassdoor-jobs` | Job listing URLs | 5 cr |
  | **Weld Yelp Businesses** | `yelp-businesses` | Business URLs | 5 cr |
  | **Weld Yelp Reviews** | `yelp-reviews` | Review URLs | 5 cr |
  | **Weld GitHub Repositories** | `github-repositories` | Repository URLs | 5 cr |
  | **Weld Crunchbase Companies** | `crunchbase-companies` | Company URLs | 5 cr |

  Each scraper node supports three operations:

  | Operation | Description |
  | --------- | ----------- |
  | **Create** | Start a new scrape job with URLs and optionally wait for completion |
  | **Get** | Get job status and details by ID |
  | **Get Results** | Retrieve scraped data from a completed job |

  ### Weld Jobs (Management Node)

  The **Weld Jobs** node handles cross-cutting job management and credits:

  | Resource | Operation | Description |
  | -------- | --------- | ----------- |
  | Job | **Get** | Get job status and details by ID |
  | Job | **Get Results** | Retrieve scraped data from a completed job |
  | Job | **List** | List recent scrape jobs with optional status filter |
  | Job | **Cancel** | Cancel a pending/processing job and refund credits |
  | Credits | **Get Balance** | Check your current credit balance |
  | Credits | **Get Transactions** | View your credit transaction history |

  ## Features

  - **AI Agent compatible** — each scraper node has a focused `usableAsTool` description for accurate tool selection
  - **Per-platform icons** — color-coded icons make it easy to identify scrapers on the canvas
  - **Return All toggle** — standard n8n pagination pattern for Get Results and List operations
  - **Exponential backoff** — automatic retry on transient 5xx, 429, and network errors during polling
  - **Data provenance** — every output item includes `pairedItem` for n8n's data tracking
  - **Dark mode** — icons adapt to n8n's light and dark themes

  ## Wait for Completion

  When creating a job with "Wait for Completion" enabled, the node polls until the job finishes and outputs each scraped record as a separate n8n item — ready to pipe into the next node in your workflow.

  For long-running jobs, prefer using the **Weld Jobs** node's Get/Get Results operations on a schedule to avoid holding an n8n worker.

ai_documentation_summary:
  {"purpose":"A community n8n node that enables web scraping across multiple platforms including LinkedIn, Instagram, TikTok, Twitter/X, YouTube, Facebook, Indeed, Glassdoor, Yelp, GitHub, and Crunchbase.","capabilities":["Scrape LinkedIn profiles, companies, and posts","Scrape Instagram profiles, posts, and comments","Scrape TikTok profiles and videos","Scrape Twitter/X profiles and posts","Scrape YouTube channels and comments","Scrape Facebook profiles and groups","Scrape Indeed job listings and companies","Scrape Glassdoor companies, reviews, and jobs","Scrape Yelp businesses and reviews","Scrape GitHub repositories"],"authentication":"API key required (Weld API key and base URL)","commonUseCases":["Gathering competitor data from social media platforms","Collecting job listings for recruitment automation","Monitoring company reviews and ratings","Extracting public profile information for lead generation","Tracking GitHub repository activity"],"limitations":["Requires paid credits for each scraping operation (costs vary by platform and data type)","Long-running jobs should be managed via the Weld Jobs node to avoid blocking n8n workers","Limited to public data accessible through Weld's scraping service","No built-in support for dynamic content or JavaScript-heavy sites beyond Weld's capabilities"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.waitUntil","n8n-nodes-base.splitInBatches"]}


node_type: n8n-nodes-thang-zalo-app.thangzaloapp
package_name: n8n-nodes-thang-zalo-app
display_name: thangzaloapp
description: Các node udng2 để hỗ trợ người dùng zalo
category: Community
development_style: declarative
version: 1.1.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: ntnguyenthangtn
npm_package_name: n8n-nodes-thang-zalo-app
npm_version: 1.1.5
community_fetched_at: 2026-03-25T21:19:41.750Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # 🚀 n8n-nodes-zalo-test-trial

  **Kết nối Zalo vào thế giới tự động hóa của bạn với n8n!**  
  Tích hợp Zalo cá nhân, nhóm, bạn bè, tin nhắn, voice-to-text, đăng nhập QR... chỉ với vài cú click.  
  Tối ưu cho chatbot, CRM, automation, chăm sóc khách hàng, cảnh báo nội bộ, và hơn thế nữa!

  ---

  ## 🌟 Tại sao nên chọn bộ node Zalo này?

  - **Đầy đủ tính năng:** Gửi/nhận tin nhắn, quản lý nhóm, bạn bè, voice-to-text đa ngôn ngữ, đăng nhập QR, v.v.
  - **Dễ dùng:** Kéo thả, cấu hình trực quan, không cần code phức tạp.
  - **Tối ưu cho workflow hiện đại:** Kết hợp linh hoạt với các node khác của n8n.
  - **Chuẩn hóa voice kéo dài:** Nhận diện tốt tiếng Việt dù nói “đi đâyyyyyy”.
  - **Mở rộng dễ dàng:** Hỗ trợ nhiều tài khoản, nhiều ngôn ngữ, nhiều kịch bản.

  ---

  ## 🚦 Tính năng nổi bật

  ### 🔑 Đăng nhập Zalo bằng QR code
  - Đăng nhập siêu nhanh, không cần copy cookie thủ công.
  - Lưu Credential tự động, dùng lại cho mọi node Zalo khác.
  - Hỗ trợ nhiều tài khoản, proxy, quản lý Credential thông minh.

  ### 👤 Quản lý người dùng Zalo
  - Gửi/kết bạn, chặn/bỏ chặn, đổi avatar, cập nhật thông tin cá nhân.
  - Lấy thông tin chi tiết user, trạng thái, avatar, v.v.

  ### 💬 Gửi & nhận tin nhắn Zalo
  - Gửi tin nhắn text, ảnh, file, nhắc tên, trích dẫn, typing...
  - Lắng nghe tin nhắn từ user hoặc group, tự động kích hoạt workflow.
  - Hỗ trợ voice-to-text: nhận diện tiếng Việt, Anh, Trung (tự động hoặc thủ công).
  - Chuẩn hóa text voice kéo dài, trả về cả text, ngôn ngữ và độ tin cậy.

  ### 👥 Quản lý nhóm Zalo
  - Tạo nhóm, thêm/xóa thành viên, đổi tên/avatar nhóm, phân quyền quản trị.
  - Lấy thông tin nhóm, danh sách thành viên, quản trị viên.

  ### 🤝 Lắng nghe sự kiện bạn bè
  - Tự động phát hiện kết bạn mới, kích hoạt workflow khi có lời mời.

  ---

  ## ⚡️ Cài đặt siêu tốc

  ```bash
  pnpm install
  # hoặc
  npm install
  ```

  **Yêu cầu:**  
  - Node.js >= 16  
  - n8n >= 1.0.0  
  - Đã cài ffmpeg (bắt buộc cho voice-to-text)  
  - Tài khoản Zalo cá nhân

  ---

  ## 🛠️ Hướng dẫn sử dụng nhanh

  1. **Đăng nhập Zalo:**  
     - Dùng node “Zalo Login Via QR Code” để đăng nhập, Credential sẽ tự lưu.

  2. **Cấu hình Credential:**  
     - Có thể nhập cookie/imei/userAgent thủ công hoặc dùng Credential đã lưu.

  3. **Cấu hình Wit.ai (voice-to-text):**  
     - Đăng ký Wit.ai, tạo app cho từng ngôn ngữ (vi, en, zh).
     - Lấy Server Access Token, nhập vào Credential WitAIApi.

  4. **Kéo thả các node Zalo vào workflow:**  
     - Gửi/nhận tin nhắn, quản lý nhóm, bạn bè, voice-to-text...  
     - Kết nối với các node khác để xây dựng quy trình tự động hóa mạnh mẽ.

  ---

  ## 💡 Lưu ý kỹ thuật

  - Voice-to-text chỉ hoạt động với voice message .aac (chuẩn Zalo).
  - Cần cài ffmpeg trên máy chủ/server.
  - Tự động nhận diện ngôn ngữ cần ít nhất 1 token Wit.ai hợp lệ.
  - Nếu workflow chạy trên server, đảm bảo server có internet.

  ---

  ## 🤝 Đóng góp & Phản hồi

  - Gặp lỗi? Có ý tưởng mới?  
    → Tạo issue hoặc pull request ngay trên GitHub!
  - Đội ngũ phát triển luôn lắng nghe và chào đón mọi đóng góp.

  ---

  ## 📬 Liên hệ

  - **Tác giả:** Nguyễn Thắng  
  - **Email:** ntnguyenthangtn@gmail.com

  ---

  > **Hãy để Zalo trở thành một phần của hệ sinh thái tự động hóa của bạn!**  
  > _n8n-nodes-zalo-test-trial - Đơn giản hóa mọi kết nối, bứt phá mọi workflow!_ 

  ---

  ## 🧩 Hướng dẫn chi tiết từng node Zalo

  ---

  ### 1. 🔑 Zalo Login Via QR Code

  **Chức năng:**  
  Đăng nhập tài khoản Zalo cá nhân bằng mã QR, lưu Credential tự động cho các node khác.

  **Cách dùng:**
  - Thêm node “Zalo Login Via QR Code” vào workflow.
  - Chạy node, quét mã QR hiện ra bằng app Zalo trên điện thoại.
  - Sau khi đăng nhập thành công, Credential sẽ được lưu lại (không cần nhập cookie thủ công nữa).

  **Tips:**  
  - Có thể dùng cho nhiều tài khoản Zalo khác nhau, mỗi tài khoản một Credential riêng.
  - Credential này sẽ dùng cho tất cả các node Zalo khác trong workflow.

  ---

  ### 2. 👤 Zalo User

  **Chức năng:**  
  Quản lý tài khoản cá nhân, bạn bè, thông tin user.

  **Các thao tác nổi bật:**
  - Gửi lời mời kết bạn, chấp nhận/kết bạn.
  - Chặn, bỏ chặn người dùng.
  - Đổi avatar, cập nhật thông tin cá nhân.
  - Lấy thông tin chi tiết user (ID, tên, trạng thái, avatar...).

  **Cách dùng:**
  - Thêm node “Zalo User” vào workflow.
  - Chọn Credential Zalo đã đăng nhập.
  - Chọn thao tác muốn thực hiện (ví dụ: “Send Friend Request”, “Get User Info”, ...).
  - Nhập các thông tin cần thiết (userId, avatar URL, ...).

  **Ví dụ:**  
  - Gửi lời mời kết bạn tự động cho danh sách số điện thoại.
  - Lấy thông tin bạn bè để đồng bộ với hệ thống CRM.

  ---

  ### 3. 💬 Zalo Send Message

  **Chức năng:**  
  Gửi tin nhắn tới user hoặc group trên Zalo.

  **Các tính năng:**
  - Gửi text, ảnh, file, nhắc tên, trích dẫn tin nhắn cũ.
  - Gửi nhiều ảnh cùng lúc qua URL.
  - Gửi sự kiện “đang nhập” (typing) để tăng trải nghiệm người nhận.

  **Cách dùng:**
  - Thêm node “Zalo Send Message” vào workflow.
  - Chọn Credential Zalo.
  - Chọn loại đối tượng gửi (user hoặc group).
  - Nhập ID người nhận hoặc group, nội dung tin nhắn, file/ảnh nếu có.

  **Ví dụ:**  
  - Gửi thông báo tự động cho nhóm khi có sự kiện mới.
  - Gửi file báo cáo PDF cho từng user.

  ---

  ### 4. 💬 Zalo Message Trigger

  **Chức năng:**  
  Lắng nghe tin nhắn mới từ user hoặc group, tự động kích hoạt workflow.

  **Các tính năng nổi bật:**
  - Lắng nghe tin nhắn text, ảnh, file, voice.
  - Hỗ trợ voice-to-text: tự động nhận diện ngôn ngữ (Việt, Anh, Trung) hoặc chọn thủ công.
  - Chuẩn hóa text voice kéo dài, trả về cả text, ngôn ngữ và độ tin cậy.
  - Tùy chọn lắng nghe cả tin nhắn do chính mình gửi (self listen).

  **Cách dùng:**
  - Thêm node “Zalo Message Trigger” vào workflow.
  - Chọn Credential Zalo.
  - Chọn loại tin nhắn muốn lắng nghe (user, group).
  - Bật/tắt voice-to-text, chọn chế độ nhận diện ngôn ngữ.
  - Kết nối node này với các node xử lý tiếp theo (ví dụ: gửi email, lưu database, gọi API...).

  **Ví dụ:**  
  - Khi có ai nhắn “báo cáo” vào group, tự động gửi file báo cáo mới nhất.
  - Khi nhận voice message, tự động chuyển thành text và gửi sang hệ thống khác.

  ---

  ### 5. 👥 Zalo Group

  **Chức năng:**  
  Quản lý nhóm Zalo.

  **Các thao tác:**
  - Tạo nhóm mới, thêm/xóa thành viên, đổi tên/avatar nhóm.
  - Lấy thông tin nhóm, danh sách thành viên, quản trị viên.
  - Phân quyền quản trị, thêm phó nhóm.

  **Cách dùng:**
  - Thêm node “Zalo Group” vào workflow.
  - Chọn Credential Zalo.
  - Chọn thao tác muốn thực hiện (tạo nhóm, thêm thành viên, lấy info...).
  - Nhập các thông tin cần thiết (tên nhóm, userId, ...).

  **Ví dụ:**  
  - Tạo nhóm mới cho dự án, tự động thêm thành viên từ danh sách.
  - Lấy danh sách thành viên nhóm để gửi thông báo cá nhân hóa.

  ---

  ### 6. 🤝 Zalo Friend Trigger

  **Chức năng:**  
  Lắng nghe sự kiện kết bạn mới, tự động kích hoạt workflow khi có lời mời kết bạn đến.

  **Cách dùng:**
  - Thêm node “Zalo Friend Trigger” vào workflow.
  - Chọn Credential Zalo.
  - Kết nối với các node xử lý tiếp theo (gửi tin nhắn chào mừng, lưu thông tin bạn mới...).

  **Ví dụ:**  
  - Khi có bạn mới, tự động gửi tin nhắn chào mừng và hướng dẫn sử dụng dịch vụ.
  - Lưu thông tin bạn mới vào Google Sheet hoặc CRM.

  ---

  ## 📌 Lưu ý chung khi sử dụng các node

  - Luôn chọn đúng Credential Zalo cho từng node.
  - Đảm bảo đã đăng nhập thành công bằng QR hoặc nhập đúng cookie/imei/userAgent.
  - Đối với voice-to-text, cần cấu hình token Wit.ai hợp lệ cho từng ngôn ngữ.
  - Có thể kết hợp các node Zalo với bất kỳ node nào khác của n8n để xây dựng workflow mạnh mẽ, sáng tạo! 

ai_documentation_summary:
  {"purpose":"This n8n node package provides a comprehensive suite of nodes for integrating the Zalo messaging platform into automation workflows, enabling chatbot interactions, customer service, and internal notifications.","capabilities":["Zalo QR code login with automatic credential storage","User management (send friend requests, block/unblock, update profile)","Send messages (text, images, files, typing indicators)","Message trigger for real-time event listening","Voice-to-text conversion with multi-language support (Vietnamese, English, Chinese)","Group management (create, add/remove members, permissions)","Friend event monitoring","Integration with Wit.ai for speech recognition"],"authentication":"OAuth2 via QR Code (manual cookie/IMEI/UA fallback)","commonUseCases":["Automated customer support chatbots","CRM integration and data synchronization","Internal alerting and notification systems","Voice message transcription and processing","Automated friend request management"],"limitations":["Voice-to-text requires FFmpeg installation on the server","Voice-to-text only supports .aac format (standard Zalo voice messages)","Voice-to-text requires valid Wit.ai API tokens for language detection","Server must have internet access to function","Currently marked as 'test-trial' in package name"],"relatedNodes":["n8n-nodes-wit-ai","n8n-nodes-webhook","n8n-nodes-http-request"]}


node_type: n8n-nodes-difyai.difyai
package_name: n8n-nodes-difyai
display_name: difyai
description: Community node for Dify API
category: Community
development_style: declarative
version: 0.1.31
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: axyonsoftwares
author_github_url: git+https://github.com/gabrielbuarque/n8n-nodes-difyai.git
npm_package_name: n8n-nodes-difyai
npm_version: 0.1.31
community_fetched_at: 2026-03-25T21:19:41.751Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-difyai

  [![npm version](https://img.shields.io/npm/v/n8n-nodes-difyai.svg)](https://www.npmjs.com/package/n8n-nodes-difyai)
  [![License: MIT](https://img.shields.io/npm/l/n8n-nodes-difyai.svg)](LICENSE)

  Este pacote é um nó da comunidade para o [n8n](https://n8n.io) que integra a **Dify API**.  
  Ele permite enviar mensagens de chat, converter áudio em texto e fazer upload de arquivos diretamente pela API do Dify.

  ## Funcionalidades

  - **Enviar Mensagem de Chat:**  
    Envie mensagens de chat para a API do Dify com suporte aos modos de resposta *streaming* ou *blocking*.  
    Suporta o envio de arquivos via configuração dinâmica (com opções para URLs remotas ou uploads locais).

  - **Áudio para Texto:**  
    Converta arquivos de áudio em texto enviando dados binários.

  - **Upload de Arquivo:**  
    Faça upload de arquivos utilizando `multipart/form-data`.

  ## Instalação no n8n

  Para instalar este nó da comunidade no n8n:

  1. **Acesse as Configurações do n8n:**
     - No editor do n8n, vá para `Settings` > `Community Nodes`.

  2. **Instale o Nó da Comunidade:**
     - Clique em `Install`.
     - No campo `Enter npm package name`, insira `n8n-nodes-difyai`.
     - Marque a opção `I understand the risks of installing unverified code from a public source`.
     - Clique em `Install` para concluir a instalação.

  Para mais detalhes sobre a instalação de nós da comunidade, consulte a [documentação oficial do n8n](https://docs.n8n.io/integrations/community-nodes/installation/).

  ## Configuração de Credenciais

  Antes de usar o nó, configure as credenciais do **DifyApi** no n8n:

  - **Base URL:**  
    Informe a URL base da API do Dify, por exemplo:  
    `https://dify.com/v1`  
    (O nó força HTTPS e garante que a URL termine com `/v1`)

  - **API Key:**  
    Sua chave de API fornecida pelo Dify.

  ## Operações do Nó

  ### 1. Enviar Mensagem de Chat

  Envie uma requisição de mensagem de chat para a API do Dify.

  **Parâmetros:**

  - **User ID:** Identificador único do usuário.
  - **Query:** Conteúdo da mensagem de chat.
  - **Conversation ID:** (Opcional) ID da conversa para continuidade.
  - **Response Mode:** Selecione entre *Streaming* e *Blocking*.
  - **Files:** (Opcional) Adicione um ou mais arquivos.  
    Para cada arquivo, configure:
    - **Type:** Tipo do arquivo (Áudio, Personalizado, Documento, Imagem, Vídeo).
    - **Transfer Method:** Selecione entre *Remote URL* e *Local File*.
    - **URL:** (Exibido quando *Remote URL* é selecionado) Forneça a URL do arquivo.
    - **Upload File ID:** (Exibido quando *Local File* é selecionado) Forneça o ID do arquivo enviado via API de Upload de Arquivo.

  ### 2. Áudio para Texto

  Converta um arquivo de áudio em texto.

  - Utilize o campo **Binary Property** para informar o nome da propriedade binária que contém o arquivo de áudio.
  - O nó envia o arquivo para a API e retorna o texto convertido.

  ### 3. Upload de Arquivo

  Faça upload de um arquivo para a API do Dify.

  - Utilize o campo **Binary Property** para informar o nome da propriedade binária que contém o arquivo.
  - O nó realiza o upload e retorna os detalhes do arquivo (ID, nome, tamanho, etc.).

  ## Uso no n8n

  1. **Adicione o nó DifyAI** ao seu workflow no editor do n8n.
  2. **Selecione a operação desejada** (Enviar Mensagem de Chat, Áudio para Texto ou Upload de Arquivo).
  3. **Configure os parâmetros do nó** e atribua as credenciais **DifyApi**.
  4. **Conecte o nó** ao seu fluxo de trabalho e execute-o para interagir com a API do Dify.

  ## Licença

  Este pacote é licenciado sob a [Licença MIT](LICENSE).

  ---

  Para mais informações sobre a instalação e uso de nós da comunidade no n8n, consulte a [documentação oficial](https://docs.n8n.io/integrations/community-nodes/installation/).

ai_documentation_summary:
  {"purpose":"A community n8n node that integrates with the Dify API to enable chat messaging, audio-to-text conversion, and file uploads.","capabilities":["Send chat messages with streaming or blocking response modes","Upload files via multipart/form-data (remote URLs or local files)","Convert audio files to text using binary data","Support multiple file types (audio, custom, document, image, video)","Maintain conversation context via conversation IDs"],"authentication":"API Key required (Base URL and API Key configuration)","commonUseCases":["Chatbot integration with Dify","Audio transcription workflows","Document processing and file management"],"limitations":["Community node (unverified code from public source)","Requires manual installation via npm package manager","File uploads require specific binary property configuration"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-binaryData","n8n-nodes-ai"]}


node_type: n8n-nodes-zapi.zapi
package_name: n8n-nodes-zapi
display_name: zapi
description: Custom n8n node for Z-API.
category: Community
development_style: declarative
version: 0.1.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: leandcesar
author_github_url: git+https://github.com/leandcesar/n8n-nodes-zapi.git
npm_package_name: n8n-nodes-zapi
npm_version: 0.1.0
community_fetched_at: 2026-03-25T21:19:41.751Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-zapi

  This is an n8n community node. It lets you use Z-API in your n8n workflows.

  Z-API is a service that provides an API enabling interaction with your WhatsApp through a API, along with webhooks to notify you about interactions with your number.

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

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

  ## Installation

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

  ## Operations

  <p align="center">
    <img src="docs/assets/actions.png" alt="Actions Image">
  </p>

  The following operations are supported by the Z-API node:

  ### Messages

  #### Send Message
  - [x] Send text
  - [x] Send image
  - [x] Send sticker
  - [x] Send GIF
  - [x] Send audio
  - [x] Send video
  - [x] Send PTV
  - [x] Send documents
  - [ ] Send link
  - [x] Send location
  - [ ] Send contact
  - [ ] Send multiple contacts
  - [ ] ~~Send text with action buttons~~ (unavailable)
  - [ ] ~~Send text with buttons texto~~ (unavailable)
  - [ ] ~~Send image with buttons botões~~ (unavailable)
  - [x] Send list of options

  #### Manage Message
  - [ ] Send reaction
  - [ ] Remove reaction
  - [ ] Delete message
  - [ ] Read message
  - [ ] Forward message
  - [ ] Pin message
  - [ ] Unpin message

  #### Products
  - [ ] Send product
  - [ ] Send catalog
  - [ ] Send order approval
  - [ ] Send order status update
  - [ ] Send payment status update

  #### Events
  - [ ] Send event
  - [ ] Edit event
  - [ ] Respond to event

  #### Polls
  - [ ] Send poll
  - [ ] Send poll vote

  ## Credentials

  To use this node, you need to authenticate with the Z-API service. Follow these steps:

  1. **Sign Up**: Create an account on [Z-API](https://www.z-api.io/).
  2. **Create an Instance**: After signing up, create an instance in the Z-API dashboard. Each instance will have its own ID and Token.
  3. **Get ID and Token**: Go to your instance settings in the admin panel to find your ID and Token.
  4. Navigate to the "Security" tab and find the "Client Token" module.
  5. Click "Configure Now" to generate a token. Initially, the token will be disabled to avoid disruptions.
  6. Activate the token in the Z-API dashboard.
  7. **Add Credentials to n8n**: In n8n, go to the credentials section and add new credentials for Z-API. Use the ID and Token from your Z-API instance and the Client Token from your account.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Z-API documentation](https://developer.z-api.io/)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of WhatsApp interactions via the Z-API service, allowing users to send various media types and manage messages within their workflows.","capabilities":["Send text messages","Send images","Send stickers","Send GIFs","Send audio","Send videos","Send PTV (Personalized Text with Video)","Send documents","Send locations","Send lists of options"],"authentication":"API Token (Client Token) + Instance ID","commonUseCases":["Automated customer support on WhatsApp","Sending promotional content and media","Order tracking and status notifications","Event management and reminders","Interactive messaging with polls and lists"],"limitations":["Cannot send links directly","Cannot send contacts","Cannot send multiple contacts","Text with action buttons feature is unavailable","Text with buttons feature is unavailable"],"relatedNodes":["n8n-nodes-whatsapp","n8n-nodes-http-request","n8n-nodes-zapier"]}


node_type: n8n-nodes-comfyui.comfyui
package_name: n8n-nodes-comfyui
display_name: comfyui
description: n8n node to integrate with ComfyUI stable diffusion workflows
category: Community
development_style: declarative
version: 0.0.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: mason276752
author_github_url: git+https://github.com/mason276752/n8n-nodes-comfyui.git
npm_package_name: n8n-nodes-comfyui
npm_version: 0.0.9
community_fetched_at: 2026-03-25T21:19:41.752Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-comfyui

  This package provides an n8n node to integrate with [ComfyUI](https://github.com/comfyanonymous/ComfyUI) — a powerful and modular stable diffusion GUI with a graph/nodes interface.

  ## Features

  - Execute ComfyUI workflows directly from n8n
  - Support for multiple input items (each item runs its own workflow)
  - Automatic retrieval of generated images **and videos**
  - Output format conversion: JPEG, PNG, WebP, or Raw (no conversion)
  - Quality control for JPEG and WebP output
  - Progress monitoring and error handling
  - Optional API key authentication
  - Configurable timeout

  ## Prerequisites

  - n8n (version 1.0.0 or later)
  - ComfyUI instance running and accessible
  - Node.js 22.16 or newer

  ## Installation

  ```bash
  pnpm install n8n-nodes-comfyui
  ```

  Or via the n8n community nodes panel: search for `n8n-nodes-comfyui`.

  ## Node Configuration

  ### Credentials

  | Field   | Description                                              |
  |---------|----------------------------------------------------------|
  | API URL | URL of your ComfyUI instance (e.g. `http://127.0.0.1:8188`) |
  | API Key | Optional — required if your ComfyUI has authentication enabled |

  ### Parameters

  | Parameter      | Description                                                                 |
  |----------------|-----------------------------------------------------------------------------|
  | Workflow JSON  | ComfyUI workflow exported as JSON (API format)                              |
  | Output Format  | `JPEG` / `PNG` / `WebP` / `Raw (Original)` — applies to image outputs only |
  | JPEG Quality   | Quality 1–100 (shown when Output Format is JPEG)                           |
  | WebP Quality   | Quality 1–100 (shown when Output Format is WebP)                           |
  | Timeout        | Maximum minutes to wait for workflow completion (default: 30)               |

  ### Output Format notes

  - **JPEG / PNG / WebP** — images are decoded and re-encoded via [sharp](https://sharp.pixelplumbing.com/)
  - **Raw (Original)** — files are downloaded as-is without any conversion; useful for formats sharp doesn't support, or when you want to preserve the original file exactly

  ### Outputs

  Each output item contains:

  **JSON fields**
  - `filename` — original filename from ComfyUI
  - `type` — `output` or `temp`
  - `subfolder` — subfolder path if any
  - `mediaType` — `image` or `video`

  **Binary (`data`)**
  - The file content as binary data, with correct `mimeType` and `fileExtension` set

  ## Multiple Input Items

  When multiple items are passed into this node, each item is processed sequentially — one ComfyUI workflow execution per item. This allows expressions in the Workflow JSON field to reference each item's data (e.g. `{{ $json.prompt }}`).

  ## Usage

  1. Export your workflow from ComfyUI via **Save (API Format)**
  2. Add the ComfyUI node to your n8n workflow
  3. Paste the workflow JSON into the **Workflow JSON** field
  4. Set the API URL in the credentials
  5. Execute — generated images and videos will appear as binary outputs

  ## Error Handling

  The node handles:
  - API connection failures
  - Invalid workflow JSON
  - ComfyUI execution errors (with node ID and error message)
  - Timeout conditions
  - Individual file download failures (non-fatal; returns error in `json.error`)

  ## Development

  ```bash
  # Install dependencies
  pnpm install

  # Build
  pnpm build

  # Watch mode
  pnpm dev

  # Lint
  pnpm lint
  ```

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"This n8n node integrates with ComfyUI to execute Stable Diffusion workflows directly from n8n, supporting both image and video generation with optional API key authentication.","capabilities":["Execute ComfyUI workflows via JSON API","Process multiple input items sequentially","Retrieve generated images and videos","Convert output formats to JPEG, PNG, WebP, or Raw","Control JPEG and WebP quality (1-100)","Monitor workflow progress","Handle timeouts and errors gracefully","Support expressions in workflow JSON for dynamic inputs"],"authentication":"Optional API key required if ComfyUI instance has authentication enabled","commonUseCases":["Automated image generation in marketing workflows","Video creation pipelines","Dynamic prompt-based content generation","Batch processing of Stable Diffusion workflows"],"limitations":["Requires Node.js 22.16 or newer","Minimum n8n version is 1.0.0","Image outputs in JPEG/WebP formats are re-encoded via sharp (may not preserve exact original quality)","Raw format downloads files without conversion but may not support all formats sharp can handle"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.binaryData","n8n-nodes-base.code"]}


node_type: @mazix/n8n-nodes-converter-documents.converterdocuments
package_name: @mazix/n8n-nodes-converter-documents
display_name: converterdocuments
category: Community
development_style: declarative
version: 1.2.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: mzxs
author_github_url: git+https://github.com/mazixs/n8n-node-converter-documents.git
npm_package_name: @mazix/n8n-nodes-converter-documents
npm_version: 1.2.2
community_fetched_at: 2026-03-25T21:19:41.753Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  n8n node to convert various document formats (DOCX, DOC, XML, YML, XLSX, CSV, PDF, TXT, PPT, PPTX, HTML, JSON, ODT, ODP, ODS) to JSON or text format

npm_readme:
  # n8n Document Converter Node

  [![npm version](https://img.shields.io/npm/v/@mazix/n8n-nodes-converter-documents.svg)](https://www.npmjs.com/package/@mazix/n8n-nodes-converter-documents)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
  [![Tests](https://img.shields.io/badge/tests-57%20passing-brightgreen.svg)](https://github.com/mazixs/n8n-node-converter-documents)
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.8-blue.svg)](https://www.typescriptlang.org/)
  [![n8n](https://img.shields.io/badge/n8n-2.7.0-orange.svg)](https://n8n.io/)

  > **n8n community node** for converting documents to JSON/text. Supports 15+ formats with AI-friendly output.

  ---

  ## Table of Contents

  - [Supported Formats](#supported-formats)
  - [Features](#features)
  - [Installation](#installation)
  - [Usage](#usage)
  - [Output Examples](#output-examples)
  - [Architecture](#architecture)
  - [Development](#development)
  - [License](#license)

  ---

  ## Supported Formats

  | Category | Formats | Details |
  |----------|---------|---------|
  | **Documents** | DOCX, DOC, ODT, TXT, PDF | Text, HTML, or Markdown output for DOCX |
  | **Spreadsheets** | XLSX, ODS, CSV | Multi-sheet parsing for XLSX/ODS and CSV |
  | **Presentations** | PPTX, PPT, ODP | Text extraction |
  | **Web & Data** | HTML, HTM, XML, JSON | Structure-aware parsing |
  | **E-commerce** | YML (Yandex Market) | Specialized shop/offers/categories parsing |

  ---

  ## Features

  **Core**
  - Automatic file type detection via magic bytes
  - Strategy pattern: each format has its own processing pipeline
  - DOCX output: plain text (default), HTML, or **Markdown** (GFM tables, headings, bold/italic)
  - DOCX → Markdown ideal for AI/LLM/RAG pipelines
  - XLSX multi-sheet processing with Excel-style column names (A, B, C...)
  - JSON flattening for nested structures
  - YML (Yandex Market) specialized parser
  - `usableAsTool: true` for n8n AI Agent integration

  **Reliability**
  - Concurrency control via promise pool (Set-based, no race conditions)
  - Fallback chains: DOCX uses officeparser -> mammoth, DOC/PPT uses CFB signature check + officeparser
  - File name sanitization (path traversal protection)
  - Configurable file size limits (up to 100MB)
  - Custom error classes with descriptive messages

  ---

  ## Installation

  ### Via n8n UI (recommended)

  ```
  Settings -> Community nodes -> Install
  Package name: @mazix/n8n-nodes-converter-documents
  ```

  ### Via CLI

  ```bash
  cd ~/.n8n
  npm install @mazix/n8n-nodes-converter-documents
  # Restart n8n
  ```

  ### Manual

  ```bash
  git clone https://github.com/mazixs/n8n-node-converter-documents.git
  cd n8n-node-converter-documents
  npm install
  npm run build
  # Copy dist/ and package.json to ~/.n8n/custom-nodes/n8n-node-converter-documents/
  ```

  ---

  ## Usage

  1. Add **"Convert File to JSON"** node to your workflow
  2. Connect a node that provides binary data (e.g., Read Binary File, HTTP Request)
  3. Configure parameters:

  | Parameter | Default | Description |
  |-----------|---------|-------------|
  | **Binary Property** | `data` | Name of the binary property with the file |
  | **Output Format (DOCX)** | `text` | `text`, `html`, or `markdown` (GFM with tables) |
  | **Max File Size (MB)** | `50` | File size limit |
  | **Max Concurrency** | `4` | Parallel file processing |

  ---

  ## Output Examples

  ### Text document (DOCX, PDF, TXT, etc.)

  ```json
  {
    "text": "Extracted document content...",
    "metadata": {
      "fileName": "report.docx",
      "fileSize": 12345,
      "fileType": "docx",
      "processedAt": "2026-02-08T00:00:00.000Z"
    }
  }
  ```

  ### DOCX with HTML output

  ```json
  {
    "text": "<p>Introduction</p><table><tr><td>Name</td><td>Value</td></tr>...</table>",
    "metadata": { "fileName": "data.docx", "fileType": "docx" }
  }
  ```

  ### DOCX with Markdown output

  ```json
  {
    "text": "# Introduction\n\n| Name | Value |\n| --- | --- |\n| Item | 100 |\n\n**Bold text** and _italic_",
    "metadata": { "fileName": "data.docx", "fileType": "docx" }
  }
  ```

  ### XLSX (multi-sheet)

  ```json
  {
    "sheets": {
      "Products": [
        { "A": "ID", "B": "Name", "C": "Price" },
        { "A": 1, "B": "Apple", "C": 100 }
      ],
      "Orders": [
        { "A": "Order", "B": "Qty" },
        { "A": 101, "B": 5 }
      ]
    },
    "metadata": { "fileName": "data.xlsx", "fileType": "xlsx" }
  }
  ```

  ### JSON (flattened)

  ```json
  {
    "text": "{\n  \"user.name\": \"John\",\n  \"user.address.city\": \"London\"\n}",
    "warning": "Multi-level JSON structure was converted to flat object"
  }
  ```

  ### YML (Yandex Market)

  ```json
  {
    "text": "{ \"shop\": { \"name\": \"MyShop\" }, \"currencies\": [...], \"categories\": [...], \"offers\": [...] }"
  }
  ```

  ---

  ## Architecture

  ### Project Structure

  ```
  src/
  ├── FileToJsonNode.node.ts   # Node class (~220 lines)
  ├── types.ts                 # Interfaces (JsonResult, StrategyFn, YML types)
  ├── errors.ts                # Custom error classes
  ├── helpers.ts               # extractViaOfficeParser, limitExcelSheet
  ├── strategies/
  │   └── index.ts             # All format strategies
  ├── processors/
  │   └── yml.ts               # Yandex Market YML processor
  └── utils/
      ├── sanitize.ts          # File name sanitization
      ├── promisePool.ts       # Concurrency control (Set-based)
      ├── columns.ts           # numberToColumn (1→A, 27→AA)
      ├── flatten.ts           # JSON flattening
      └── index.ts             # Barrel export
  ```

  ### Processing Flow

  ```
  Input binary → detect file type (magic bytes) → select strategy → process → output JSON
                                                        │
                                ┌────────────────────────┼────────────────────┐
                                │                        │                    │
                           Text formats            Spreadsheets         Special
                       (DOCX, PDF, TXT,          (XLSX, CSV, ODS)    (XML, JSON,
                        PPTX, HTML, ODT,                               YML, HTML)
                        ODP, DOC, PPT)
  ```

  ### Technology Stack

  | Component | Library | Version |
  |-----------|---------|---------|
  | DOCX/PDF/PPTX/OD* | officeparser | ^6.0.4 |
  | DOCX (HTML/MD) | mammoth | ^1.11.0 |
  | HTML → Markdown | node-html-markdown | ^2.0.0 |
  | XLSX | read-excel-file | ^6.0.3 |
  | CSV | papaparse | ^5.5.3 |
  | XML/YML | fast-xml-parser | ^5.3.4 |
  | HTML | node-html-parser | ^7.0.2 |
  | Encoding | chardet | ^2.1.1 |
  | File type | file-type | 16.5.4 |
  | n8n SDK | n8n-workflow | ^2.7.0 |
  | Runtime | Node.js | 22.x |
  | Language | TypeScript | 5.8 (strict) |
  | Tests | Jest | 30.x |

  ---

  ## Development

  ```bash
  npm install          # Install dependencies
  npm run build        # Compile TypeScript
  npm test             # Run 57 tests (13 suites)
  npm run lint         # ESLint check
  npm run dev          # Watch mode
  npm run test:coverage # Coverage report
  ```

  ### CI/CD

  - **CI** (`ci.yml`): lint -> build -> test -> security audit on push/PR to main/develop
  - **Auto Release** (`auto-release.yml`): creates GitHub Release + git tag on version bump in main
  - **npm publish**: manual (`npm publish --access public`)

  ---

  ## Limitations

  | Limitation | Details |
  |------------|---------|
  | **Legacy XLS** | Binary Excel not supported, convert to XLSX |
  | **file-type** | Pinned to v16.5.4 (last CJS version, v17+ is ESM-only) |
  | **Scanned PDFs** | Image-based PDFs return empty text (no OCR) |
  | **Large files** | PDF/XLSX load into RAM; use Max File Size to control |

  ---

  ## License

  [MIT](LICENSE) © mazix

  ---

  ## Links

  - [npm](https://www.npmjs.com/package/@mazix/n8n-nodes-converter-documents)
  - [GitHub](https://github.com/mazixs/n8n-node-converter-documents)
  - [Changelog](CHANGELOG.md)

ai_documentation_summary:
  {"purpose":"A n8n community node that converts various document formats (DOCX, PDF, XLSX, CSV, PPTX, HTML, JSON, YML, etc.) into JSON or text formats, including specialized parsing for Yandex Market YML files.","capabilities":["Convert DOCX to text, HTML, or Markdown (with GFM tables and formatting)","Convert PDF, TXT, ODT, ODP, PPT, PPTX to text","Parse XLSX and ODS with multi-sheet support and Excel-style column names","Parse CSV files","Parse HTML and XML with structure-aware parsing","Parse JSON with automatic flattening of nested structures","Specialized parsing for Yandex Market YML files (shops, offers, categories)","Automatic file type detection via magic bytes","Configurable file size limits (up to 100MB)","Concurrency control via promise pool"],"authentication":"None","commonUseCases":["Extracting document content for AI/LLM/RAG pipelines","Parsing spreadsheets for data analysis workflows","Converting uploaded files to structured JSON for downstream processing","Handling e-commerce data from Yandex Market","Preparing document content for chatbot or agent workflows"],"limitations":["Requires n8n 2.7.0 or higher","Not all formats support all output types (e.g., DOCX Markdown is specific)","File size limit of 100MB","Community node (may require manual installation via npm or UI)","Some formats rely on external libraries (officeparser, mammoth) which may have dependencies"],"relatedNodes":["Read Binary File","HTTP Request","AI Agent","JSON to Text","Text to JSON"]}


node_type: @mercadopago/n8n-nodes-mercadopago.mercadopago
package_name: @mercadopago/n8n-nodes-mercadopago
display_name: mercadopago
description: Community node for Mercado Pago
category: Community
development_style: declarative
version: 0.2.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: samher
author_github_url: git+https://github.com/mercadopago/n8n-nodes-mercadopago.git
npm_package_name: @mercadopago/n8n-nodes-mercadopago
npm_version: 0.2.0
community_fetched_at: 2026-03-25T21:19:41.753Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-mercadopago

  [![npm version](https://img.shields.io/npm/v/@mercadopago/n8n-nodes-mercadopago.svg)](https://www.npmjs.com/package/@mercadopago/n8n-nodes-mercadopago)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.15-brightgreen)](https://nodejs.org)
  [![Test Coverage](https://img.shields.io/badge/coverage-check%20reports-blue)](./coverage)

  An n8n community node to integrate Mercado Pago APIs. It focuses on two main resource groups: Payment Operations and Reporting (Release/Settlement reports). The node provides a clean UI and typed handlers for each operation, following n8n best practices.

  ## Contributing

  The main purpose of this repository is to provide a robust integration between n8n and Mercado Pago APIs. Development happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read our [contributing guide](CONTRIBUTING.md) to learn how you can take part in improving this node.

  ## Author
  Name: Samuel Heredia
  Team: Tech Stuff IXF - MercadoPago
  Gravatar: <https://gravatar.com/ghostlytraveler48caa8d6d6>

  ## Table of Contents
  - Overview
  - Features
  - Supported Operations
  - Installation
  - Credentials
  - Usage
  - Architecture
  - Development
  - Contributing
  - License
  - Author

  ## Overview
  This node lets you execute common Mercado Pago flows directly from n8n:

  - Create payment links (preferences)
  - Manage Release Reports configuration and retrieval
  - Manage Settlement Reports listing and downloading

  The node is split by Resource to make the UI clear and scalable:

  - Resource: `Payments`
  - Resource: `Reporting`

  ## Features
  - Clear separation by Resource (Payments vs Reporting) using a `Resource` selector.
  - Consistent `Operation` selector per Resource.
  - Validations and helpful error messages for required parameters.
  - Boolean fields sent explicitly with default `false` where required by the API.
  - CSV download support returning raw text, ready to save or transform.

  ## Supported Operations

  ### Payments
  - Create Payment Link (`createPaymentLink`)
    - Builds a Preference with items and optional additional fields (back URLs, auto return, etc.).

  ### Reporting — Release Report
  - List Release Reports (`listReleaseReports`)
    - GET `v1/account/release_report/list` with pagination support (returnAll/limit/offset/apiLimit).
  - Configure Release Report (`configureReleaseReport`)
    - POST `v1/account/release_report/config` with frequency, columns, SFTP, and flags.
  - Edit Release Report Config (`editReleaseReportConfig`)
    - PUT `v1/account/release_report/config` with same schema as creation.
  - Get Release Report Config (`getReleaseReportConfig`)
    - GET `v1/account/release_report/config` returning current JSON configuration.
  - Download Release Report (`downloadReleaseReport`)
    - GET `v1/account/release_report/{file_name}`; returns `text/csv` content.

  ### Reporting — Settlement Report
  - List Settlement Reports (`listSettlementReports`)
    - GET `v1/account/settlement_report/list` with the same pagination pattern as Release.
  - Configure Settlement Report (`configureSettlementReport`)
    - POST `v1/account/settlement_report/config` with frequency, columns, SFTP, and flags.
  - Edit Settlement Report Config (`editSettlementReport`)
    - PUT `v1/account/settlement_report/config` with same schema as creation.
  - Get Settlement Report Config (`getSettlementReportConfig`)
    - GET `v1/account/settlement_report/config` returning current JSON configuration.
  - Download Settlement Report (`downloadSettlementReport`)
    - GET `v1/account/settlement_report/{file_name}`; returns `text/csv` content.

  ## Installation
  1. Build the project:
     - `npm install`
     - `npm run build`
  2. Install the compiled node into your n8n setup (community node install flow) or symlink the `dist/` output as needed.

  ## Credentials
  This node uses a single credential: `mercadoPagoApi` with a Personal Access Token (Access Token / Bearer). Configure it in n8n Credentials and select it in the node.

  ## Usage
  1. Drag the `MercadoPago` node into your n8n workflow.
  2. Select `Resource`:
     - `Payments` for payment links.
     - `Reporting` for release/settlement tasks.
  3. Choose an `Operation` under the selected `Resource`.
  4. Fill the required/optional fields shown by the node UI.
  5. Execute the node.

  Notes:
  - For listing operations, you can toggle `Return All` or set `Limit`, `Offset`, and `API Limit` (page size).
  - For configuration (create/edit), columns support a predefined list of keys or a custom key (via “Custom…” + free text).
  - CSV download operations return a JSON object with a `content` string (raw CSV). You can pipe this into another node to write to file or transform it.

  ## Architecture
  The node is designed for clarity, testability, and extensibility.

  Project layout:
  - `src/`
    - `credentials/`
      - `MercadoPagoApi.credentials.ts` — defines the `mercadoPagoApi` credential.
    - `nodes/MercadoPago/`
      - `MercadoPago.node.ts` — main n8n node definition.
      - `operations/` — one file per operation handler.
        - `createPaymentLink.ts`
        - `listReleaseReports.ts`
        - `configureReleaseReport.ts`
        - `editReleaseReportConfig.ts`
        - `getReleaseReportConfig.ts`
        - `downloadReleaseReport.ts`
        - `listSettlementReports.ts`
        - `configureSettlementReport.ts`
        - `editSettlementReport.ts`
        - `getSettlementReportConfig.ts`
        - `downloadSettlementReport.ts`
        - `index.ts` — operation registry and shared handler types.

  Key design points:
  - `MercadoPago.node.ts` declares `Resource` and `Operation` properties so the UI shows only relevant fields.
  - The node `execute()` builds a `HandlerCtx` passed to the selected operation.
  - `operations/index.ts` exposes a map `{ [operationName]: handler }` for easy dispatch.
  - Each handler encapsulates:
    - Input extraction and validation.
    - Request construction (method, URL, qs, body, headers).
    - Return shape (JSON array/item for n8n).
  - The request wrapper in `execute()` sets the Authorization header automatically and respects `init.json` for non-JSON responses (e.g., CSV download).

  ## Development
  - Scripts:
    - `npm run build` — compile TypeScript to `dist/`.
    - `npm run lint` — run ESLint.
    - `npm run format` — run Prettier (if configured).
    - `npm run test` — run all tests.
    - `npm run test:unit` — run unit tests once.
    - `npm run test:watch` — run tests in watch mode.
    - `npm run test:coverage` — generate test coverage report.
  - Coding guidelines:
    - Keep imports at the top of files.
    - One operation per file under `operations/`.
    - Validate required parameters early and return helpful errors (use `nodeError`).
    - When required by the API, always send boolean fields explicitly with default `false`.
    - Write unit tests for all operations in `tests/operations/`.

  ## Contributing

  Please read our [contributing guide](CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to this node.

  ## License

  This project is [MIT licensed](LICENSE).

ai_documentation_summary:
  {"purpose":"A community n8n node that integrates Mercado Pago APIs to handle payment link creation and reporting operations (release and settlement reports).","capabilities":["Create payment links (preferences)","List release reports with pagination","Configure release reports","Edit release report configuration","Download release reports as CSV","List settlement reports with pagination","Configure settlement reports","Edit settlement report configuration","Download settlement reports as CSV","Return raw CSV content for CSV download operations"],"authentication":"Personal Access Token (Bearer token) via MercadoPagoApi credential","commonUseCases":["Automating payment link generation for e-commerce workflows","Automating financial reporting and reconciliation","Downloading settlement data for accounting systems","Configuring automated report delivery via SFTP"],"limitations":["Requires manual installation via npm build and symlinking (not a native n8n node)","Requires Node.js version >= 20.15","CSV downloads return raw text content that requires additional processing to be saved to files"],"relatedNodes":["n8n HTTP Request","n8n CSV","n8n File"]}


node_type: n8n-nodes-firecrawl.firecrawl
package_name: n8n-nodes-firecrawl
display_name: firecrawl
description: FireCrawl nodes for n8n
category: Community
development_style: declarative
version: 0.3.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: minhlucvan
author_github_url: git+https://github.com/minhlucvan/n8n-nodes-firecrawl.git
npm_package_name: n8n-nodes-firecrawl
npm_version: 0.3.0
community_fetched_at: 2026-03-25T21:19:41.754Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-firecrawl
  ![](./firecrawl.png)

  This is an n8n community node. it lets you use Firecrawl in your n8n workflows.

  Firecrawl is a web scraping tool that allows you to extract data from websites and APIs.

  https://www.firecrawl.dev/

  [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

  ### Scrape

  Firecrawl converts web pages into markdown, ideal for LLM applications.

  - It manages complexities: proxies, caching, rate limits, js-blocked content
  - Handles dynamic content: dynamic websites, js-rendered sites, PDFs, images
  - Outputs clean markdown, structured data, screenshots or html.

  ### Crawl

  Firecrawl can recursively search through a urls subdomains, and gather the content

  - Firecrawl thoroughly crawls websites, ensuring comprehensive data extraction while bypassing any web blocker mechanisms. Here’s how it works:

  - URL Analysis: Begins with a specified URL, identifying links by looking at the sitemap and then crawling the website. If no sitemap is found, it will crawl the website following the links.

  - Recursive Traversal: Recursively follows each link to uncover all subpages.

  - Content Scraping: Gathers content from every visited page while handling any complexities like JavaScript rendering or rate limits.

  - Result Compilation: Converts collected data into clean markdown or structured output, perfect for LLM processing or any other task.

  This method guarantees an exhaustive crawl and data collection from any starting URL.

  ### Map

  The easiest way to go from a single url to a map of the entire website. This is extremely useful for:

  - When you need to prompt the end-user to choose which links to scrape
  - Need to quickly know the links on a website
  - Need to scrape pages of a website that are related to a specific topic (use the search parameter)
  - Only need to scrape specific pages of a website

  ## Credentials

  **FireCrawl API**

  The FireCrawl API is the only authentication method available for this node. You can find your API key in the FireCrawl dashboard.


  ## Compatibility

  This node has been tested with the following versions of N8N.

  - N8N 1.57.0

  ## Usage

  - Install the Firecrawl node
  - Enter your Firecrawl API key
  - Choose the operation you want to perform

  ## Resources

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

ai_documentation_summary:
  {"purpose":"A community node that enables Firecrawl web scraping and crawling capabilities within n8n workflows for extracting data from websites and APIs.","capabilities":["Scrape single URLs to markdown, structured data, screenshots, or HTML","Crawl entire websites recursively with comprehensive data extraction","Map websites to generate a link structure for user selection","Handle dynamic content including JavaScript-rendered sites and PDFs","Manage proxies, caching, and rate limits automatically","Bypass web blocker mechanisms"],"authentication":"API key required (FireCrawl API key from dashboard)","commonUseCases":["Extracting website content for LLM applications","Building knowledge bases from web sources","Mapping website structures for navigation or scraping","Handling complex or JavaScript-heavy websites"],"limitations":["Community node (not official n8n node)","Requires external FireCrawl API key","Tested only on n8n 1.57.0"],"relatedNodes":["n8n-nodes-firecrawl.firecrawlScrape","n8n-nodes-firecrawl.firecrawlCrawl","n8n-nodes-firecrawl.firecrawlMap"]}


node_type: n8n-nodes-text-manipulation.textmanipulation
package_name: n8n-nodes-text-manipulation
display_name: textmanipulation
description: This node allows to modify texts.
category: Community
development_style: declarative
version: 1.4.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: lublak
author_github_url: git+https://github.com/lublak/n8n-nodes-text-manipulation.git
npm_package_name: n8n-nodes-text-manipulation
npm_version: 1.4.0
community_fetched_at: 2026-03-25T21:19:41.754Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  <p align="center">
    <img width="180" height="180" src="/assets/textManipulation/icon.png">
  </p>

  # n8n-nodes-text-manipulation

  [![version](https://img.shields.io/npm/v/n8n-nodes-text-manipulation.svg)](https://www.npmjs.org/package/n8n-nodes-text-manipulation)
  [![downloads](https://img.shields.io/npm/dt/n8n-nodes-text-manipulation.svg)](https://www.npmjs.org/package/n8n-nodes-text-manipulation)
  [![status](https://github.com/lublak/n8n-nodes-text-manipulation/actions/workflows/node.js.yml/badge.svg)](https://github.com/lublak/n8n-nodes-text-manipulation/actions/workflows/node.js.yml)

  Text manipulation allows various manipulations of strings.
  Features:

  - From
  	- Text
  	- File (Binary)
  		- With decode options see icon-v (utf8, base64, utf16, etc...)
  	- JSON
  - To
  	- Text
  	- File (Binary)
  		- With encode options see icon-v (utf8, base64, utf16, etc...)
  	- JSON
  - Get Manipulated Data (use previously manipulated)
  - Skip Non-String
  - Concat
  	- Before
  	- After
  - Decode/Encode
  	- see icon-v (utf8, base64, utf16, etc...)
  	- with strip/add BOM
  - Decode Entities
  	- Url
  	- Url Component
  	- Xml
  		- Legacy
  		- Strict
  	- Html
  		- Legacy
  		- Strict
  - Encode Entities
  	- Url
  	- Url Component
  	- Xml
  		- Extensive
  		- UTF8
  		- NonAscii
  	- Html
  		- Extensive
  		- UTF8
  		- NonAscii
  - Letter Case
  	- Upper Case
  	- Lower Case
  	- Locale Upper Case
  	- Locale Lower Case
  	- Capitalize
  	- Titlecase
  	- Camel Case
  	- Kebab Case
  	- Snake Case
  	- Start Case
  - Replace
  	- Substring
  		- All
  		- Extended
  	- Extended Substring
  		- All
  		- Extended
  	- Regex
  		- Extended
  	- Predefined Rule
  		- Tags
  			- Only Recognised HTML
  		- Character Groups
  			- Newline
  				- Newline Min
  				- Newline Max
  			- Number
  				- Number Min
  				- Number Max
  			- Alpha
  				- Alpha Min
  				- Alpha Max
  			- Whitespace
  				- Whitespace Min
  				- Whitespace Mac
  - Trim
  	- Left
  		- as an unit
  	- Right
  		- as an unit
  	- Both
  		- as an unit
  - Pad
  	- Start
  	- End
  - Substring
  	- StartPosition
  	- With
  		- Complete
  		- Position
  		- Length
  - Repeat
  	- Times
  - Normalize

  ## Install

  ![Settings Animation](/assets/install.gif)

  1. Go to Settings (Cogwheel)
  2. Click on "Community Nodes"
  3. Enter "n8n-nodes-text-manipulation" into the text box
  4. Click on "I understand the risk ..."
  5. Click on "Install"

ai_documentation_summary:
  {"purpose":"The textmanipulation node allows users to perform various string operations, including decoding/encoding, case conversion, entity handling, and text formatting, on text or binary data.","capabilities":["Decode and encode text (UTF8, base64, UTF16)","Decode and encode entities (URL, XML, HTML)","Convert letter case (upper, lower, capitalize, titlecase, camel, kebab, snake)","Replace substrings using regex or predefined rules","Trim, pad, and substring text","Repeat text a specified number of times","Normalize text","Handle binary files with decode/encode options","Skip non-string inputs","Concatenate text before or after manipulation"],"authentication":"None","commonUseCases":["Cleaning and formatting user input","Encoding/decoding data for transmission","Converting text formats (e.g., camelCase to snake_case)","Processing binary files as text","Removing special characters or normalizing data"],"limitations":[],"relatedNodes":["n8n-nodes-core.code","n8n-nodes-core.binary","n8n-nodes-core.httprequest"]}


node_type: n8n-nodes-docx-to-md.docxtomd
package_name: n8n-nodes-docx-to-md
display_name: docxtomd
description: n8n node to convert Docx files to Markdown
category: Community
development_style: declarative
version: 0.2.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: sfrangulov
author_github_url: git+https://github.com/sfrangulov/n8n-nodes-docx-to-md.git
npm_package_name: n8n-nodes-docx-to-md
npm_version: 0.2.1
community_fetched_at: 2026-03-25T21:19:41.755Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-docx-to-md

  This is an n8n community node. It lets you convert Microsoft Word documents (.docx) to Markdown format in your n8n workflows.

  This node provides seamless conversion of Word documents to clean, GitHub-flavored Markdown with automatic formatting correction and linting.

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

  [Installation](#installation)  
  [Operations](#operations)  
  [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

  The Docx to Markdown node supports the following operation:

  - **Convert**: Converts a Microsoft Word document (.docx) from binary data to clean Markdown format

  ### Features

  - Converts Word documents to GitHub-flavored Markdown
  - Automatically converts tables with proper headers
  - Applies markdown linting and formatting corrections
  - Preserves document structure and formatting
  - Supports headings, lists, tables, and basic text formatting
  - **Option to remove images** from the converted Markdown output

  ## Compatibility

  - Minimum n8n version: 1.0.0
  - Tested with n8n versions: 1.0.0+
  - Compatible with all n8n deployment methods (self-hosted, cloud, desktop)

  ## Usage

  ### Basic Setup

  1. Add the "Docx to Markdown" node to your workflow
  2. Configure the **Input Binary Field** parameter with the name of the field containing your Word document binary data (default: "data")
  3. Configure the **Destination Output Field** parameter with the name where you want the converted Markdown text to be stored (default: "text")
  4. Optionally, enable **Remove Images** if you want to exclude all images from the converted Markdown (default: false)

  ### Configuration Options

  | Parameter | Type | Default | Description |
  |-----------|------|---------|-------------|
  | Input Binary Field | String | "data" | Name of the field containing the Word document binary data |
  | Destination Output Field | String | "text" | Name of the field where converted Markdown will be stored |
  | Remove Images | Boolean | false | Whether to remove all images from the converted Markdown |

  ### Example Workflow

  1. Use an HTTP Request node or file input to get a .docx file
  2. Connect it to the Docx to Markdown node
  3. The converted Markdown will be available in the specified output field
  4. Use the Markdown output in subsequent nodes (e.g., save to file, send via email, etc.)

  ### Tips

  - The node automatically handles table formatting by converting the first row to headers
  - All markdown output is linted and formatted for consistency
  - Binary data should be in proper .docx format for best results
  - Use the "Remove Images" option when you need clean text-only output without image references
  - Images in Word documents are typically converted to markdown image syntax (`![alt](src)`) unless the Remove Images option is enabled

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Mammoth.js documentation](https://github.com/mwilliamson/mammoth.js/) (underlying conversion library)
  - [Turndown documentation](https://github.com/mixmark-io/turndown) (HTML to Markdown converter)
  - [GitHub Flavored Markdown Spec](https://github.github.com/gfm/)

  ## License

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

ai_documentation_summary:
  {"purpose":"Converts Microsoft Word (.docx) files to GitHub-flavored Markdown with automatic formatting correction and linting.","capabilities":["Converts .docx files to Markdown","Automatically converts tables with proper headers","Applies markdown linting and formatting corrections","Preserves document structure and formatting","Supports headings, lists, tables, and basic text formatting","Option to remove images from output"],"authentication":"None","commonUseCases":["Converting uploaded Word documents to Markdown for documentation","Preparing Word content for GitHub repositories","Extracting text-only content from Word files by removing images","Formatting Word documents for web publishing"],"limitations":["Requires binary .docx file input","Images are converted to markdown syntax unless explicitly removed","Depends on Mammoth.js and Turndown libraries for conversion"],"relatedNodes":["HTTP Request","File Input","Save to File","Send Email","GitHub Webhook"]}


node_type: @asaasbr/n8n-nodes-asaas.asaas
package_name: @asaasbr/n8n-nodes-asaas
display_name: asaas
description: n8n nodes for integrating with the Asaas API
category: Community
development_style: declarative
version: 1.1.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: asaas-pagamentos
author_github_url: git+https://github.com/asaasdev/n8n-plugin-asaas.git
npm_package_name: @asaasbr/n8n-nodes-asaas
npm_version: 1.1.3
community_fetched_at: 2026-03-25T21:19:41.756Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # Módulo Asaas para N8N



  Nó oficial de N8N para integração com a [API do Asaas](https://docs.asaas.com/).
  Este módulo permite automatizar cobranças, gestão de clientes e notificações diretamente em seus fluxos de trabalho no [n8n](https://n8n.io).



  ## Recursos Implementados



  Atualmente, o módulo oferece suporte aos seguintes grupos de recursos da API Asaas:



  - 👥 **Clientes**: criação, listagem, atualização, exclusão e restauração de clientes.

  - 💰 **Cobranças (Payments)**: emissão e consulta de cobranças, incluindo suporte a PIX, boleto e cartão de crédito.

  - 🔔 **Notificações**: configuração e gerenciamento de notificações automáticas.

  - 📄 **Assinaturas e Parcelamentos**: gestão de recorrências e planos parcelados.

  - 💳 **Transações PIX**: criação de cobranças PIX e emissão de QR Codes.

  - 📊 **Financeiro e Relatórios**: extrato, antecipações e estatísticas de faturamento.

  - ⚙️ **Conta e Configurações**: dados comerciais, personalização e webhooks.



  ## Rotas de API utilizadas



  -  *Produção*: [https://api.asaas.com/v3](https://api.asaas.com/v3)

  -  *Sandbox*: [https://api-sandbox.asaas.com/v3](https://api-sandbox.asaas.com/v3)



  ## Instalação



  Via **npm** (recomendado):

  ```bash

  npm install @asaasbr/n8n-nodes-asaas

  ```



  Via **Community Nodes** no n8n:
  📖 **Documentação oficial:**  
  https://docs.asaas.com/docs/n8n

  1. Acesse *Settings → Community Nodes*

  2. Clique em *Install a community node*

  3. Digite: `@asaasbr/n8n-nodes-asaas`

  4. Clique em *Install*



  ## Pré-requisitos



  - Conta no [Asaas](https://asaas.com) (produção ou sandbox)

  - API Key ativa (obtida no painel Asaas)

  - n8n versão `>=1.0.0`

  - Node.js versão `>=20.15`



  ## Configuração



  1. No n8n, vá em **Credentials → Add Credential**

  2. Procure por **Asaas API**

  3. Preencha:

  - API Key: sua chave do Asaas

  - Ambiente: *Sandbox* (testes) ou *Produção*

  4. Teste a conexão e salve

  ## Feedback e Sugestões

  Encontrou algum bug ou tem uma ideia de melhoria?  
  Contribua para tornar este módulo ainda melhor :rocket:

  [https://forms.gle/Hbo5JhEZHJHVSrYH7](https://forms.gle/Hbo5JhEZHJHVSrYH7)


  ## Licença



  MIT

ai_documentation_summary:
  {"purpose":"This n8n node enables integration with the Asaas API to automate financial operations including billing, customer management, and notifications within n8n workflows.","capabilities":["Create, list, update, delete, and restore clients","Issue and query invoices supporting PIX, boleto, and credit card","Configure and manage automatic notifications","Manage subscriptions and installment plans","Create PIX invoices and generate QR Codes","Access financial reports, statements, and revenue statistics","Manage commercial data and webhook configurations"],"authentication":"API Key required","commonUseCases":["Automating invoice generation and payment collection","Managing customer databases and billing cycles","Sending automated payment reminders and notifications","Processing PIX transactions and QR Code generation"],"limitations":["Requires Node.js version >=20.15","Requires an active Asaas account with API Key access"],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Credential Manager"]}


node_type: n8n-nodes-minio.minio
package_name: n8n-nodes-minio
display_name: minio
description: n8n custom nodes for Minio
category: Community
development_style: declarative
version: 0.1.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: cedricziel
author_github_url: git+https://github.com/cedricziel/n8n-nodes-minio.git
npm_package_name: n8n-nodes-minio
npm_version: 0.1.4
community_fetched_at: 2026-03-25T21:19:41.759Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-minio

  This is an n8n community node. It lets you use the minio client library in your n8n workflows.

  The primary motivation was to create an easy way to create pre-signed URLs easily.

  [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)  

  ## Installation

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

  ## Operations

  ### Objects

  * `presignedGetObject` - create a presigned URL for an object
  * `presignedPutObject` - create a presigned upload URL for an object
  * `removeObject` - remove an object

  ## Credentials

  To use the minio credentials, you'll need to provide the following:

  * Access Key
  * Secret Key
  * Endpoint

  ## License

  [MIT](./LICENSE.md)

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with Minio object storage, primarily for generating pre-signed URLs and managing objects.","capabilities":["Create presigned GET URLs for object download","Create presigned PUT URLs for object upload","Remove objects from storage"],"authentication":"API key required (Access Key and Secret Key)","commonUseCases":["Secure object download via time-limited URLs","Secure object upload via time-limited URLs","Object cleanup and deletion workflows"],"limitations":["Limited to basic object operations (no list, head, or copy operations mentioned)","Community node (may require manual installation)"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-http-request","n8n-nodes-s3"]}


node_type: n8n-nodes-waha.waha
package_name: n8n-nodes-waha
display_name: waha
description: n8n to connect with WAHA (Whatsapp HTTP API)
category: Community
development_style: declarative
version: 2024.11.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: morning-bird
author_github_url: git+https://github.com/devlikeapro/n8n-nodes-waha.git
npm_package_name: n8n-nodes-waha
npm_version: 2024.11.5
community_fetched_at: 2026-03-25T21:19:41.759Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # @devlikeapro/n8n-nodes-waha
  <p align="center">
    <img src="https://github.com/devlikeapro/n8n-nodes-waha/blob/master/WAHA+n8n.png?raw=true" width='300'/>
  </p>

  This is a n8n community node. 
  It lets you use [WAHA - WhatsApp HTTP API](https://waha.devlike.pro) in your n8n workflows.

  - [**WAHA**](https://waha.devlike.pro) - **WhatsApp API** that you can run in a click!
  - [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  👉 Generated from
  [**WAHA OpenAPI**](https://waha.devlike.pro/swagger/)
  using [**devlikeapro/n8n-openapi-node**](https://github.com/devlikeapro/n8n-openapi-node)

  ![NPM Version](https://img.shields.io/npm/v/%40devlikeapro%2Fn8n-nodes-waha)

  <!-- toc -->

  - [Install WAHA n8n node](#install-waha-n8n-node)
  - [Links](#links)
  - [Workflow Examples](#workflow-examples)

  <!-- tocstop -->

  ![WAHA Workflow Example Screenshot](./waha-n8n-workflow-example.png)

  ## Install WAHA n8n node
  Go to your **n8n** => **Settings** => **Community nodes** and install:

  ```
  @devlikeapro/n8n-nodes-waha
  ```

  If you need help with that, check the
  [**Install community nodes**](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/)

  ## Links
  - [**WAHA + n8n: No Code Low Code WhatsApp Automation Step-By-Step Guide**](https://waha/devlike.pro/blog/waha-n8n/)
  - [**🧩 WAHA + n8n Integration**](https://waha.devlike.pro/docs/integrations/n8n/)
  - [**WAHA n8n Workflow Templates**](http://waha-n8n-templates.devlike.pro/)

  ## Workflow Examples
  👉 Check out [**n8n-workflows**](http://waha-n8n-templates.devlike.pro/) folder for examples.

ai_documentation_summary:
  {"purpose":"Connects n8n workflows with WAHA (WhatsApp HTTP API) to automate WhatsApp messaging and interactions.","capabilities":["Send WhatsApp messages","Receive WhatsApp messages","Manage WhatsApp contacts","Create and manage WhatsApp groups","Automate WhatsApp business operations"],"authentication":"API key required (via WAHA credentials)","commonUseCases":["Automated customer support responses","Order status notifications","Appointment reminders","Marketing campaigns"],"limitations":["Requires WAHA account setup","Limited to WhatsApp Business API features supported by WAHA"],"relatedNodes":["n8n-nodes-waha.waha","n8n-nodes-openapi-node"]}


node_type: n8n-nodes-quepasa.quepasa
package_name: n8n-nodes-quepasa
display_name: quepasa
category: Community
development_style: declarative
version: 0.1.84
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: hugodeco
author_github_url: git+https://github.com/sufficit/n8n-nodes-quepasa.git
npm_package_name: n8n-nodes-quepasa
npm_version: 0.1.84
community_fetched_at: 2026-03-25T21:19:41.760Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  This is an n8n community node. It lets you use Quepasa in your n8n workflows. (use with Quepasa >= v4)

npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-starter

  This repo contains example nodes to help you get started building your own custom integrations for [n8n](n8n.io). It includes the node linter and other dependencies.

  To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).

  ## Version Changes (0.1.65)

  * in reply to send text messages (missing)

  ## Version Changes (0.1.64)

  * in reply to send messages with attachments

  ## Version Changes (0.1.62)

  * revoke message

  ## Version Changes (0.1.60)

  * message id on sent

  ## Version Changes (0.1.58)

  * error status message

  ## Version Changes (0.1.57)

  * download endpoint to v4 with messageid paramater

  ## Prerequisites

  You need the following installed on your development machine:

  * [git](https://git-scm.com/downloads)
  * Node.js and npm. Minimum version Node 16. 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/).

  ## License

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

ai_documentation_summary:
  {"purpose":"This n8n community node enables users to integrate Quepasa (version 4+) into their n8n workflows for messaging and communication tasks.","capabilities":["Send text messages","Send messages with attachments","Revoke messages","Retrieve message IDs on sent","Download messages via v4 endpoint"],"authentication":"API key required (implied by Quepasa integration pattern, not explicitly detailed in README)","commonUseCases":["Automated customer support messaging","Internal team communication automation","Message archiving and retrieval","Attachment-based notifications"],"limitations":["Requires Quepasa client version >= v4","Community node (may lack official support)","Requires manual npm package submission for community availability"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-http-request","n8n-nodes-ai"]}


node_type: n8n-nodes-wuzapi.wuzapi
package_name: n8n-nodes-wuzapi
display_name: wuzapi
description: n8n community nodes for Wuzapi - WhatsApp Multi-Device REST API
category: Community
development_style: declarative
version: 1.6.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: guilhermejansenoficial
author_github_url: git+https://github.com/guilhermejansen/n8n-nodes-wuzapi.git
npm_package_name: n8n-nodes-wuzapi
npm_version: 1.6.0
community_fetched_at: 2026-03-25T21:19:41.761Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-wuzapi

  This is an n8n community node that provides a complete integration with [Wuzapi](https://github.com/asternic/wuzapi) - a multi-user and multi-device REST API for WhatsApp.

  Wuzapi implements a robust WhatsApp Web API that allows you to send and receive messages, manage groups, handle media files, and much more through a simple REST interface.

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

  ## Table of Contents

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Nodes Overview](#nodes-overview)
  - [Usage Examples](#usage-examples)
  - [Features](#features)
  - [Error Handling](#error-handling)
  - [Compatibility](#compatibility)
  - [Resources](#resources)

  ## Installation

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

  ### Quick Installation

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

  ### Manual Installation

  ```bash
  npm install n8n-nodes-wuzapi
  ```

  ## Operations

  This package includes 11 specialized nodes, each focused on specific WhatsApp operations:

  ### 🔐 Wuzapi Credentials
  Handles authentication with your Wuzapi instance.

  ### 📱 Wuzapi Session
  - **Connect** - Connect to WhatsApp servers
  - **Disconnect** - Disconnect from WhatsApp
  - **Get Status** - Check connection status
  - **Get QR Code** - Get QR code for scanning
  - **Logout** - Logout and terminate session
  - **Pair Phone** - Get pairing code for phone
  - **Set Proxy** - Configure proxy settings
  - **Configure S3** - Set up S3 storage for media
  - **Test S3** - Test S3 connection

  ### 💬 Wuzapi Message
  Send various types of messages:
  - **Text** - Send text messages
  - **Image** - Send images with optional captions
  - **Audio** - Send audio messages
  - **Video** - Send videos with optional captions
  - **Document** - Send documents of any type
  - **Sticker** - Send stickers
  - **Location** - Send location coordinates
  - **Contact** - Send contact cards (vCard)
  - **Template** - Send template messages with buttons
  - **Buttons** - Send interactive button messages
  - **List** - Send list messages
  - **Poll** - Send polls to groups

  ### 🗨️ Wuzapi Chat
  Manage chat interactions:
  - **Delete Message** - Delete sent messages
  - **Edit Message** - Edit previously sent messages
  - **Download Media** - Download media from messages
  - **Mark as Read** - Mark messages as read
  - **React to Message** - Send reactions to messages
  - **Set Presence** - Show typing/recording indicators

  ### 👤 Wuzapi User
  User information and presence:
  - **Check Users** - Check if users have WhatsApp
  - **Get User Info** - Get detailed user information
  - **Get Avatar** - Get user profile pictures
  - **Get Contacts** - Get all contacts
  - **Set Presence** - Set global online/offline status

  ### 👥 Wuzapi Group
  Complete group management:
  - **Create** - Create new groups
  - **List** - List all groups
  - **Get Info** - Get group information
  - **Get Invite Link** - Get group invite link
  - **Join** - Join group via invite
  - **Leave** - Leave a group
  - **Set Name** - Change group name
  - **Set Description** - Set group description
  - **Set Photo** - Set group photo
  - **Remove Photo** - Remove group photo
  - **Set Announce** - Enable/disable admin-only messages
  - **Set Locked** - Lock/unlock group info editing
  - **Set Ephemeral** - Configure disappearing messages
  - **Update Participants** - Add/remove/promote/demote members

  ### 🔗 Wuzapi Webhook
  Configure webhook settings:
  - **Get** - Get current webhook configuration
  - **Set** - Configure webhook URL and events
  - **Update** - Update webhook settings
  - **Delete** - Remove webhook configuration

  ### 👨‍💼 Wuzapi Admin
  Administrative operations (requires admin token):
  - **List Users** - List all Wuzapi users
  - **Create User** - Create new user with token
  - **Delete User** - Delete user from database
  - **Delete User Full** - Complete user removal (DB, S3, logout)

  ### 🔔 Wuzapi Trigger
  Receive real-time WhatsApp events with complete event mapping:
  - **Events** - Message, Read Receipt, Presence, History Sync, Chat Presence, All Events
  - **Advanced Filters** - Filter by sender phone, chat ID, message type, content, groups/direct, from me/others, token
  - **Message Type Detection** - Automatic detection of text, media, PTT, documents, stickers, URLs, locations, contacts, buttons, lists, templates, polls, orders, and unknown types
  - **Media Support** - Complete base64 and S3 media data extraction
  - **Content Parsing** - Intelligent message content extraction with type-specific fields
  - **Simplified Output** - Clean, structured output with all relevant fields mapped
  - **Raw Data Access** - Optional complete raw webhook data for debugging

  ### ⏳ Wuzapi Send and Wait
  Send messages and wait for responses:
  - **Approval Messages** - Send messages with approval buttons
  - **Free Text Response** - Wait for user text input via web form
  - **Custom Forms** - Create custom forms for user responses
  - **Wait Time Limits** - Set maximum wait times
  - **Attribution** - Optional n8n branding

  ### 🤖 Wuzapi AI
  Optimized for AI workflows and tools with complete message type support:
  - **Send Text** - Send text messages with AI-friendly interface
  - **Send Image** - Send images with captions (Binary/Base64/URL)
  - **Send Audio** - Send audio messages with PTT support (Binary/Base64/URL)
  - **Send Video** - Send videos with captions (Binary/Base64/URL)
  - **Send Document** - Send documents with filenames (Binary/Base64/URL)
  - **Send Location** - Send geographical coordinates with location names
  - **Send Contact** - Send contact information with VCard data
  - **Send Sticker** - Send stickers in WebP format (Binary/Base64/URL)
  - **Send Buttons** - Send interactive button messages for AI decision trees
  - **Send List** - Send structured lists with multiple options for AI menus
  - **Send Poll** - Send group polls for AI-driven surveys and decisions
  - **Universal Media Support** - All media types support Binary Data, Base64, and URL sources
  - **Mention System** - Complete mention support for specific users and all group members
  - **Batch Processing** - Process multiple recipients and message types efficiently
  - **Error Tolerance** - Continue workflow execution on individual failures
  - **AI Tools Compatible** - Perfect for use with n8n AI Tools and automation

  ## Credentials

  To use these nodes, you need to configure the Wuzapi credentials:

  1. **API Token** - Your Wuzapi user token for authentication
  2. **API URL** - The base URL of your Wuzapi instance

  ### Credential Validation

  The credentials are automatically validated when configured. The validation provides real-time information about your Wuzapi session:

  - **Authentication Status** - Confirms API token validity
  - **Session Information** - Shows session name, connection status, and login state
  - **Dynamic Messages** - Example: "Connected to setupautomatizado (Connected, Logged In)"

  3. **Advanced Options** (Optional):
     - **Proxy URL** - HTTP/SOCKS5 proxy for requests
     - **Request Timeout** - Timeout in milliseconds
     - **Retry on Failure** - Enable automatic retries
     - **Max Retries** - Maximum retry attempts

  ### Setting up Wuzapi

  1. Install and run Wuzapi following the [official documentation](https://github.com/asternic/wuzapi)
  2. Create a user with an authentication token
  3. Use the token and API URL in n8n credentials

  ## Nodes Overview

  ### Modular Design

  This package follows a modular design where each node focuses on specific functionality:

  - **Session Management** - Connection, authentication, and configuration
  - **Messaging** - All message sending operations
  - **Chat Operations** - Message management and interactions
  - **User Operations** - User information and presence
  - **Group Management** - Complete group functionality
  - **Webhook Configuration** - Event subscription management
  - **Administration** - User management (admin only)
  - **Event Trigger** - Real-time event reception
  - **Send and Wait** - Interactive approval workflows
  - **AI Integration** - Optimized node for AI Tools and workflows

  ### Key Features

  - ✅ **Complete API Coverage** - All Wuzapi endpoints implemented across 11 specialized nodes
  - 🔄 **Automatic Retry Logic** - Built-in retry mechanism with exponential backoff
  - 🛡️ **Robust Error Handling** - Graceful error handling with detailed messages
  - 🎯 **Type Safety** - Full TypeScript implementation with comprehensive type checking
  - 📦 **Universal Media Support** - Handle all media types with Binary Data, Base64, and URL sources
  - 🔐 **Multi-tenant Support** - Each user has independent WhatsApp sessions
  - ☁️ **S3 Integration** - Optional cloud storage for media files with automatic delivery
  - 🌐 **Proxy Support** - HTTP/SOCKS5 proxy configuration for all operations
  - ⚡ **High Performance** - Optimized for production use with efficient media handling
  - 🎨 **User-Friendly** - Intuitive interface with helpful descriptions and examples
  - 🤖 **Complete AI Integration** - Dedicated AI node with full message type support (11 types)
  - 💬 **Interactive Messages** - Full support for buttons, lists, polls, and stickers
  - 🎯 **Mention System** - Complete mention support for individuals and group-wide mentions
  - 📱 **Media Optimization** - Smart media source detection and URL support for reduced payloads
  - ✅ **Enhanced Validation** - Real-time credential validation with session status
  - 🔧 **Batch Processing** - Efficient processing of multiple operations with error tolerance
  - 🌍 **Multi-format Support** - WebP stickers, VCard contacts, geographic locations
  - 📊 **Group Intelligence** - Advanced group management with polls and administrative controls

  ## Usage Examples

  ### Send a Text Message

  ```javascript
  // Using Wuzapi Message node
  {
    "messageType": "text",
    "phone": "5491155553934",
    "body": "Hello from n8n!"
  }
  ```

  ### Send an Image with Caption

  ```javascript
  // Using Wuzapi Message node
  {
    "messageType": "image",
    "phone": "5491155553934",
    "imageSource": "binary",
    "binaryProperty": "data",
    "caption": "Check out this image!"
  }
  ```

  ### Create a Group

  ```javascript
  // Using Wuzapi Group node
  {
    "operation": "create",
    "groupName": "My n8n Group",
    "participants": "5491155553934,5491155553935"
  }
  ```

  ### Set Up Webhook Trigger

  ```javascript
  // Using Wuzapi Trigger node - Basic setup
  {
    "events": ["Message", "ReadReceipt"],
    "filters": {
      "messageType": "text",
      "isGroup": "false"
    }
  }
  ```

  ### Advanced Trigger Configuration

  ```javascript
  // Complete trigger setup with all features
  {
    "events": ["Message"],
    "filters": {
      "fromPhone": "5521971532700@s.whatsapp.net",
      "chatId": "120363312246943103@g.us",
      "messageType": "media",
      "containsText": "urgent",
      "isGroup": "true",
      "isFromMe": "false",
      "tokenFilter": "setupautomatizado"
    },
    "options": {
      "simplifyOutput": true,
      "includeMediaData": true,
      "parseMessageContent": true,
      "includeRawData": false
    }
  }
  ```

  ### Trigger Output Example

  ```javascript
  // Simplified output for a text message
  {
    "eventType": "Message",
    "token": "setupautomatizado",
    "messageId": "A6BA5FB09055C47722F936C3FC74D98F",
    "chat": "5521971532700@s.whatsapp.net", 
    "sender": "5521971532700@s.whatsapp.net",
    "timestamp": "2025-05-28T06:47:26-03:00",
    "messageType": "text",
    "isFromMe": false,
    "isGroup": false,
    "pushName": "Guilherme Jansen",
    "verifiedName": "Guilherme Jansen - Setup Automatizado",
    "text": "Oi"
  }
  ```

  ### Media Message Output

  ```javascript
  // Output for audio message with S3 and base64 data
  {
    "eventType": "Message",
    "messageType": "ptt",
    "audioUrl": "https://mmg.whatsapp.net/v/...",
    "duration": 3,
    "mimeType": "audio/ogg; codecs=opus",
    "mediaBase64": "T2dnUwACAAAAAAAA...",
    "mediaMimeType": "application/ogg",
    "mediaFileName": "DB56752B6A203E5A96A2E533C4D0A7CF.oga",
    "s3Data": {
      "bucket": "evolution",
      "key": "users/2fb8378b312c1d2dd127e094d9a99115/inbox/...",
      "url": "https://s3.setupautomatizado.com.br/evolution/...",
      "size": 8084
    }
  }
  ```

  ### Interactive Message Output

  ```javascript
  // Output for buttons message
  {
    "eventType": "Message",
    "messageType": "buttons",
    "text": "ESCOLHA O MENU!",
    "buttons": [
      {
        "id": "81ad952f-1085-4d2c-a4b9-de228cfc4117",
        "text": "SUPORTE",
        "type": 1
      },
      {
        "id": "a4767ccb-ded6-4edd-be6a-363972fdaa0f",
        "text": "COMERCIAL",
        "type": 1
      },
      {
        "id": "8f72fd66-1e6f-48bd-a5b5-c509fcc5a9f1",
        "text": "ATENDIMENTO",
        "type": 1
      }
    ]
  }

  // Output for list message
  {
    "eventType": "Message",
    "messageType": "list",
    "title": "<HEADER_TEXT>",
    "text": "<BODY_TEXT>",
    "buttonText": "<BUTTON_TEXT>",
    "sections": [
      {
        "title": "<LIST_SECTION_1_TITLE>",
        "rows": [
          {
            "id": "<LIST_SECTION_1_ROW_1_ID>",
            "title": "<SECTION_1_ROW_1_TITLE>",
            "description": "<SECTION_1_ROW_1_DESC>"
          }
        ]
      }
    ]
  }
  ```

  ### Send AI-Generated Message

  ```javascript
  // Using Wuzapi AI node - Perfect for AI workflows
  {
    "operation": "sendText",
    "phoneNumber": "5491155553934",
    "message": "Hello! This is an AI-generated response from n8n."
  }
  ```

  ### Send Multiple Media Files (AI Batch)

  ```javascript
  // Using Wuzapi AI node with multiple items
  [
    {
      "operation": "sendImage",
      "phoneNumber": "5491155553934",
      "imageSource": "url",
      "imageUrl": "https://example.com/image1.jpg",
      "caption": "AI Analysis Result 1"
    },
    {
      "operation": "sendDocument",
      "phoneNumber": "5491155553935",
      "documentSource": "url", 
      "documentUrl": "https://example.com/report.pdf",
      "fileName": "AI_Report.pdf",
      "caption": "Generated Report"
    }
  ]
  ```

  ### Send Interactive Messages with AI

  ```javascript
  // Send sticker for reactions
  {
    "operation": "sendSticker",
    "phoneNumber": "5491155553934",
    "stickerSource": "url",
    "stickerUrl": "https://example.com/thumbs-up.webp"
  }

  // Send buttons for AI decision tree
  {
    "operation": "sendButtons",
    "phoneNumber": "5491155553934",
    "message": "How can I help you today?",
    "additionalOptions": {
      "mentions": {
        "mentionConfig": [{
          "type": "specific",
          "jids": "5491155553934@s.whatsapp.net"
        }]
      }
    }
  }

  // Send list for AI-generated menu
  {
    "operation": "sendList",
    "phoneNumber": "120363312246943103@g.us",
    "buttonText": "Choose Service",
    "description": "Select the service you need",
    "topText": "AI Assistant Services",
    "footerText": "Powered by AI",
    "listItems": {
      "item": [
        {
          "title": "Technical Support",
          "desc": "Get help with technical issues",
          "rowId": "tech_support"
        },
        {
          "title": "Sales Information", 
          "desc": "Learn about our products",
          "rowId": "sales_info"
        },
        {
          "title": "General Questions",
          "desc": "Ask any general questions",
          "rowId": "general_qa"
        }
      ]
    }
  }

  // Send poll for group decisions
  {
    "operation": "sendPoll",
    "phoneNumber": "120363312246943103@g.us",
    "pollHeader": "Which feature should we prioritize?",
    "pollOptions": "AI Chat Enhancement,Voice Messages,File Sharing,Video Calls"
  }
  ```

  ### AI Tools Integration Examples

  ```javascript
  // Complete AI workflow with mentions and media
  {
    "operation": "sendVideo",
    "phoneNumber": "5491155553934",
    "videoSource": "base64",
    "videoBase64": "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc...",
    "caption": "Here's your AI-generated tutorial video",
    "additionalOptions": {
      "id": "ai_tutorial_001",
      "mentions": {
        "mentionConfig": [{
          "type": "all"
        }]
      }
    }
  }

  // AI processing with binary data from previous nodes
  {
    "operation": "sendDocument",
    "phoneNumber": "5491155553934",
    "documentSource": "binary",
    "documentBinaryProperty": "processed_report",
    "fileName": "AI_Analysis_Report.pdf",
    "caption": "Your personalized AI analysis is ready!"
  }
  ```

  ## Error Handling

  All nodes include comprehensive error handling:

  - **Automatic Retries** - Failed requests are retried with exponential backoff
  - **Continue on Fail** - Option to continue workflow execution on errors
  - **Detailed Error Messages** - Clear error descriptions for debugging
  - **HTTP Status Codes** - Proper status code handling
  - **Authentication Errors** - No retry on authentication failures

  ## Compatibility

  - **n8n Version**: 0.210.0 or higher
  - **Node.js**: 20.15 or higher  
  - **Wuzapi**: Compatible with all Wuzapi versions
  - **WhatsApp**: Supports all current WhatsApp message types including interactive content
  - **Media Formats**: 
    - Images: JPEG, PNG, WebP
    - Videos: MP4, AVI, MOV (H.264 codec recommended)
    - Audio: OGG (Opus), MP3, WAV, AAC
    - Documents: PDF, DOCX, XLSX, TXT, and all file types
    - Stickers: WebP format (recommended), PNG with transparency

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Wuzapi Documentation](https://github.com/asternic/wuzapi)
  - [Wuzapi API Documentation](https://github.com/asternic/wuzapi/blob/main/API.md)
  - [WhatsApp Business API](https://developers.facebook.com/docs/whatsapp)

  ## Support

  For issues and feature requests, please use the [GitHub issues page](https://github.com/guilhermejansen/n8n-nodes-wuzapi/issues).

  ## License

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

  ## Author

  Guilherme Jansen - [guilherme@setupautomatizado.com.br](mailto:guilherme@setupautomatizado.com.br)

  ---

  Made with ❤️ for the n8n community

ai_documentation_summary:
  {"purpose":"This n8n community node provides comprehensive integration with Wuzapi, a multi-user and multi-device REST API for WhatsApp, enabling automation of messaging, group management, user operations, and real-time event handling.","capabilities":["Send and receive text, images, audio, video, documents, stickers, locations, contacts, templates, buttons, lists, and polls","Manage WhatsApp groups (create, join, leave, update settings, manage participants)","Handle chat interactions (delete, edit, download media, mark as read, react, set presence)","Manage user profiles and contacts (check availability, get info, avatars, contacts)","Configure webhooks for real-time event listening (messages, read receipts, presence, history sync)","Support for media handling via S3 storage and base64 extraction","Advanced message filtering and content parsing in webhook triggers","Interactive message workflows with approval buttons, custom forms, and wait-time limits","Administrative operations for user management (create, list, delete users)"],"authentication":"API key required (Wuzapi token)","commonUseCases":["Automated customer support via WhatsApp","Multi-device WhatsApp business automation","Real-time event monitoring and response workflows","Group management and announcements","Media file sharing and storage integration"],"limitations":["Community node (not official n8n node)","Requires external Wuzapi instance setup","Some advanced features may depend on Wuzapi server configuration"],"relatedNodes":["n8n-nodes-whatsapp","n8n-nodes-webhook","n8n-nodes-s3"]}


node_type: n8n-nodes-synology-suite.synologysuite
package_name: n8n-nodes-synology-suite
display_name: synologysuite
category: Community
development_style: declarative
version: 0.33.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: clawbow
author_github_url: git+https://github.com/ClawBow/n8n-nodes-synology-suite.git
npm_package_name: n8n-nodes-synology-suite
npm_version: 0.33.0
community_fetched_at: 2026-03-25T21:19:41.761Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  n8n community nodes for Synology DSM (API, Drive, Sheets, Office, MailPlus, Calendar, Note, Photos, Contacts, FileStation, Chat, Security, DownloadStation2, Storage Manager, AudioStation) - AI Agent compatible

npm_readme:
  # n8n-nodes-synology-suite

  Community nodes for Synology DSM WebAPI.

  - **NPM**: https://www.npmjs.com/package/n8n-nodes-synology-suite
  - **GitHub**: https://github.com/ClawBow/n8n-nodes-synology-suite
  - **Issues**: https://github.com/ClawBow/n8n-nodes-synology-suite/issues

  ## Project status

  > ⚠️ **Work in progress / actively expanding**
  >
  > This package is under active development. New Synology APIs are added progressively, coverage is improving release after release, and some operations can still be unstable depending on DSM version/build.
  >
  > Bugs are possible (especially on less common DSM/API variants). I’m actively fixing them and extending coverage over time.

  ## Included nodes (current)

  - **Synology API**: generic DSM caller (`api + method + version + params`)
  - **Synology Drive**: file operations, search, links, team folders, labels, webhooks
  - **Synology Sheets**: spreadsheet reads/writes, range ops, exports, batch updates
  - **Synology Office**: Office-family fallback + custom calls
  - **Synology MailPlus**: mailbox/message/label/filter operations
  - **Synology MailPlus Trigger**: incoming mail events (webhook style)
  - **Synology Calendar**: calendars, events, tasks, settings, timezone helpers
  - **Synology Note**: notebooks, notes, todos, tags, search, trash, sharing
  - **Synology Photos**: browse, albums, sharing, favorites, thumbnails
  - **Synology Contacts**: addressbooks, contacts, labels, search
  - **Synology File Station**: list/info/search/copy/move/delete/upload/download/background tasks
  - **Synology Chat**: users/channels/posts/webhooks/apps + custom chat calls
  - **Synology Security Observability**: security/logcenter-style discovery and operations
  - **Synology DownloadStation2**: modern Download Station operations

  ## Coverage philosophy

  Goal: cover as much of the Synology API surface as possible with stable operation-based nodes.

  - New API families are added incrementally.
  - Unsupported or DSM-variant methods can still be reached via `Custom * Call` operations.
  - Runtime probing artifacts are included to document what is actually available on real NAS targets.

  ## Credentials

  `Synology DSM API`
  - Base URL (example: `https://your-nas:5001`)
  - Username
  - Password
  - Session Name (default `FileStation`)
  - Ignore SSL Issues (for self-signed certs)

  ## Node usage examples

  ### Synology Office
  - **List Spreadsheets**: choose `List Spreadsheets`, set folder ID and limit.
  - **Read Range / Cells**: choose `Read Range / Cells`, set `fileId`, optional `sheetId`, and A1 range (`A1:C20`).
  - **Write Range / Cells**: choose `Write Range / Cells`, provide A1 range and a 2D JSON values array.
  - **Append Row**: provide `rowValues` JSON array.
  - If your DSM build uses different method names, keep using operation mode and pass `extraParamsJson`, or use `Custom Office Call`.

  ### Synology MailPlus
  - **List Mailboxes**: operation `List Mailboxes`.
  - **List Messages**: operation `List Messages`, optionally enable `Return All` for auto-pagination.
  - **Get Message Detail**: set `messageId`.
  - **Move Message**: set `messageIds` JSON array and destination mailbox.
  - **Mark Read / Unread**: set `messageId` + boolean `read`.
  - **Add / Remove Label**: set `messageId`, `labelId`, and label action.

  ### Synology Drive
  - **List Files**: supports offset/limit and `Return All`.
  - **Search Files**: can `Wait for Completion` and poll search task results.
  - **Create Share Link**: supports link password, expiration date, and download toggle.
  - `Custom Drive Call` remains available for unsupported variants.

  ## Error handling

  DSM error responses are normalized and include:
  - `api`
  - `method`
  - `version`
  - DSM `code`
  - mapped human message

  All nodes use n8n `continueOnFail()` behavior. If enabled, each failing item emits an error payload instead of stopping the workflow.

  ## Local test

  ```bash
  npm install
  npm run build
  npm run smoke
  ```

  ## Troubleshooting

  - **`code=102/103/104`**: API/method/version mismatch on your DSM version. Use `Custom * Call` mode or provide additional params in `extraParamsJson`.
  - **`code=105/106/107/119`**: auth/session issue. Verify credentials and session name. Re-login retry is automatic once.
  - **Mail label operations fail**: MailPlus versions differ. Try custom call and inspect available methods through `List Mail APIs`.
  - **Office sheet operation fails**: different Office method names exist between builds. Operation mode already attempts multiple method candidates; if still failing, switch to custom call.

  ## API inventories captured from your NAS

  - [`synology-api-catalog.full.json`](https://github.com/ClawBow/n8n-nodes-synology-suite/blob/main/synology-api-catalog.full.json) (full discovered catalog)
  - [`ALL_APIS.md`](https://github.com/ClawBow/n8n-nodes-synology-suite/blob/main/ALL_APIS.md) (human-readable full list)

  Additional per-service inventories (`syno-drive-apis.json`, `syno-office-apis.json`, `syno-mailplus-server-apis.json`, `syno-mailclient-apis.json`) are generated in the **workspace root** during local probing and are not part of this repository by default.

  ## Full-action discovery (exhaustive probe)

  The repository includes an exhaustive action discovery script that probes a conservative method set on every discovered DSM API:

  - candidate methods: `get,list,query,info,start,status,create,update,set,delete,run,stop,search,read,write`
  - default safety mode skips potentially destructive methods (`start/create/update/set/delete/run/stop/write`)
  - credentials are loaded from `../skills/synology-api-discovery/.env` by default

  Run (safe default):

  ```bash
  npm run probe:actions
  ```

  Outputs:
  - `API_PROBE_RESULTS.json` (full machine-readable probe results)
  - `API_PROBE_SUMMARY.md` (human summary, top valid methods, coverage stats)

  Optional destructive probing (use with caution):

  ```bash
  npm run probe:actions:destructive
  ```

  ### Caveats

  - Many endpoints require mandatory params; `error code 101` often means method likely exists but needs args.
  - `error code 103` usually indicates unsupported/non-existent method for that API.
  - Running with `--allow-destructive` can trigger state-changing operations. Prefer non-destructive mode unless on a test NAS.

  ## About Synology Office API docs/slides access

  Based on Synology support feedback, Synology Office API docs/slides resources are currently not accessible.

  If you need access, open a request via official channels:
  - Synology Support Center: https://account.synology.com/support
  - Synology KB portal: https://kb.synology.com/
  - Synology Community: https://community.synology.com/

  If you already received specific support links from Synology, add them here so other users can request the same access path.

  ## Release workflow

  - See [RELEASE_CHECKLIST.md](https://github.com/ClawBow/n8n-nodes-synology-suite/blob/main/RELEASE_CHECKLIST.md) for a safe publish process.
  - See [CHANGELOG.md](https://github.com/ClawBow/n8n-nodes-synology-suite/blob/main/CHANGELOG.md) for version history.

  ## Additional examples

  See [EXAMPLES.md](https://github.com/ClawBow/n8n-nodes-synology-suite/blob/main/EXAMPLES.md) for sample n8n workflow JSON snippets.

ai_documentation_summary:
  {"purpose":"A collection of community nodes enabling n8n workflows to interact with Synology DSM services including Drive, MailPlus, Office, Calendar, Photos, and more via WebAPI.","capabilities":["Generic Synology API calls with customizable method/version/params","File operations (upload, download, search, copy, move, delete) via Drive and File Station","Spreadsheet management (read/write ranges, append rows, exports) via Sheets","Email operations (list messages, move, mark read/unread, label management) via MailPlus","Calendar and Note management (events, tasks, notebooks, tags)","Photo management (albums, sharing, favorites, thumbnails)","Contact and addressbook management","Chat operations (users, channels, posts, webhooks)","Security and logcenter discovery","Download Station 2 operations"],"authentication":"Basic Auth (Username/Password) with configurable Session Name","commonUseCases":["Automating file backup and organization across Synology NAS","Syncing email data between Synology MailPlus and external services","Managing shared folders and generating secure share links","Automating photo album creation and tagging","Integrating Synology Calendar events with workflow automation"],"limitations":["Work in progress with active development; some operations may be unstable depending on DSM version/build","Bugs possible especially on less common DSM/API variants","Some Office and MailPlus operations may fail due to version-specific API method name differences","Requires manual probing or custom calls for unsupported DSM variants","Some per-service API inventories are generated locally and not included in the repository"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.webhook"]}


node_type: n8n-nodes-wts.wts
package_name: n8n-nodes-wts
display_name: wts
description: n8n node to call wts services
category: Community
development_style: declarative
version: 2.0.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: wts-chat
author_github_url: git+https://github.com/wtschat/n8n-nodes.git
npm_package_name: n8n-nodes-wts
npm_version: 2.0.5
community_fetched_at: 2026-03-25T21:19:41.762Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-wts
  Este é um nó Wts Chat, que permite que você use o Wts Chat em seus fluxos de trabalho no n8n.
  Vai facilitar suas automações com a plataforma Wts Chat, de forma rápida, prática e eficiente.
  Permitindo que os usuários criem contatos, notas em um cartão, enviem mensagens de texto, modelos e muito mais.

  # Release Notes
  Atualização do Wts Chat – Versão 2.0.2   19/03/2025

  A nova versão 2.0.2 do nó do Wts Chat traz melhorias e ajustes importantes em diversos módulos. Confira as principais mudanças desta atualização:

  **Módulo Update Card**
  ✅Edição do campo Metadata: Agora, é possível editar apenas o campo Metadata sem a necessidade de modificar outros dados do card.
  ✅Campo Custom Fields de Multiseleção: Para campos do tipo multiseleção, é possível selecionar várias opções separando os valores por vírgulas (exemplo: 1, 2, 3), garantindo mais flexibilidade na escolha de múltiplos valores.

  **Módulo Update Session**
  ✅Novidade: Possibilidade de atribuir valores vazios ('Empty') para usuário e departamento, permitindo alterações independentes:

  Usuário: Agora pode ser atualizado separadamente, bastando definir o valor como ‘Empty’.
  Departamento: Pode ser modificado sem afetar o usuário.
  Usuário e Departamento: Ambos podem ser alterados simultaneamente.
  🚫Remoção do campo 'CompanyId': Esse campo não estará mais disponível na atualização de conversa.

  **Módulo Transfer Session To User**
  🔄Renomeação do módulo: O nome foi atualizado de "Assign user to session" para "Transfer session to user", tornando a ação mais clara e intuitiva.

  **Módulo Complete Session**
  🔄Renomeação do módulo: O nome foi alterado de "Conclude session" para "Complete session".

  **Módulo List Annotations**
  🔄Renomeação do módulo: O nome foi atualizado de "List notes" para "List annotations".

  -----------------------------------------------------------------------------------------------------------------------

  Atualização do Wts Chat – Versão 2.0.3   02/02/2025
    
  A nova versão 2.0.3 do nó do Wts Chat traz os seguintes ajustes ao nó "Send Chatbot".

  ✅Campo "From Name or ID": Esse campo é possível passar o valor como expressão.
  🚫Remoção de validações dos campos.

  -----------------------------------------------------------------------------------------------------------------------

  Atualização do Wts Chat – Versão 2.0.4   27/05/2025

  A nova versão 2.0.4 do nó do Wts Chat traz um ajuste importante no módulo "Send Chatbot", focando na melhoria da identificação dos chatbots disponíveis para envio. A identificação sendo a chave e não mais o id.

  **Módulo Send Chatbot**
  🔄Listagem de Chatbots: Agora, a listagem de chatbots utiliza como valor a chave (key) do chatbot, e não mais o Id.
  🔄Envio da Chave: A chamada ao módulo agora envia a chave do chatbot selecionado, substituindo o envio do Id, garantindo maior consistência com os dados utilizados na plataforma.

  -----------------------------------------------------------------------------------------------------------------------

  Atualização do Wts Chat – Versão 2.0.5 13/08/2025
  A nova versão 2.0.5 do nó do Wts Chat traz correções importantes no integrador N8N. Veja as principais mudanças:

  **Módulo Complete Session**
  ✅Foi adicionado o parâmetro stopBotInExecution, permitindo que o bot seja interrompido ao concluir a sessão.

  **Módulo Create Contact**
  ✅O parâmetro Portfolio (Carteira) foi adicionado, agora permitindo associar um contato a uma carteira específica durante a criação.

  **Módulo List Contacts**
  Endpoint "Get All Contacts": Foi incluído o parâmetro includeDetails para o portfolio, permitindo que os detalhes da carteira sejam retornados ao consultar todos os contatos.



  <h1></h1>
  <h3>📌 Recurso: Contato</h3>

  <details>
    <summary>✅ <b> Criar Contato</b></summary>
  </details>

  <details>
    <summary>✅ <b> Atualizar Contato</b></summary>
  </details> 

  <details>
    <summary>✅ <b> Buscar Contato por ID</b></summary>
  </details>

  <details>
    <summary>✅ <b> Buscar Contato por Telefone</b></summary>
  </details>

  <details>
    <summary>✅ <b> Listar Contatos</b></summary>
  </details>

  <h1></h1>
  <h3>📌 Recurso: Mensagem</h3>

  <details>
    <summary>✅ <b> Enviar Texto</b></summary>
  </details>

  <details>
    <summary>✅ <b> Enviar Arquivo</b></summary>
  </details>

  <details>
    <summary>✅ <b> Enviar Modelo de Mensagem</b></summary>
  </details>


  <details>
    <summary>✅ <b> Buscar Mensagem por ID</b></summary>
  </details>

  <h1></h1>
  <h3>📌 Recurso: Conversa</h3>
  <details>
  <summary>✅ <b> Listar Conversas</b></summary>
  </details>
  <details>
  <summary>✅ <b> Atualizar Transferência</b></summary>
  </details>
  <details>
  <summary>✅ <b> Atualizar Status da Conversa</b></summary>
  </details>
  <details>
  <summary>✅ <b> Buscar Conversa por ID</b></summary>
  </details>
  <details>
  <summary>✅ <b> Atribuir Usuário à Conversa</b></summary>
  </details> 
  <details>
  <summary>✅ <b> Concluir Conversa</b></summary>
  </details>
  <details>
  <summary>✅ <b> Atualizar Conversa</b></summary>
  </details>
  <details>
  <summary>✅ <b> Enviar Mensagem de Texto</b></summary>
  </details>
  <details>
  <summary>✅ <b> Enviar Mensagem com Arquivo</b></summary>
  </details>
  <details>
  <summary>✅ <b> Enviar Modelo de Mensagem</b></summary>
  </details>

  <h1></h1>
  <h3>📌 Recurso: Painel</h3>
  <details>
  <summary>✅ <b> Listar Anotações</b></summary>
  </details>
  <details>
  <summary>✅ <b> Listar Cards</b></summary>
  </details>
  <details>
  <summary>✅ <b> Listar Painéis</b></summary>
  </details>
  <details>
  <summary>✅ <b> Buscar Card por ID</b></summary>
  </details>
  <details>
  <summary>✅ <b> Buscar Painel por ID</b></summary>
  </details>
  <details>
  <summary>✅ <b> Criar Card</b></summary>
  </details>
  <details>
  <summary>✅ <b> Criar Anotação de Texto</b></summary>
  </details>
  <details>
  <summary>✅ <b> Criar Anotação de Arquivo</b></summary>
  </details>
  <details>
  <summary>✅ <b> Deletar Anotação de Card</b></summary>
  </details>
  <details>
  <summary>✅ <b> Duplicação de Card</b></summary>
  </details>
  <details>
  <summary>✅ <b> Atualização de Card</b></summary>
  </details>

  <h1></h1>
  <h3>📌 Recurso: Chatbot</h3>
  <details>
  <summary>✅ <b> Enviar Chatbot</b></summary>
  </details>

  <h1></h1>
  <h3>📌 Recurso: Sequência</h3>
  <details>
  <summary>✅ <b> Adicionar Contato à sequência</b></summary>
  </details>
  <details>
  <summary>✅ <b> Adicionar Contatos à sequência</b></summary>
  </details>
  <details>
  <summary>✅ <b> Remover Contato de uma sequência</b></summary>
  </details>
  <details>
  <summary>✅ <b> Remover Contatos de uma sequência</b></summary>
  </details>
  <details>
  <summary>✅ <b> Listar Sequências</b></summary>
  </details>
  <details>
  <summary>✅ <b> Listar Contatos de uma Sequência</b></summary>
  </details>

  <h1></h1>

  # Instalação

  #### Siga o guia de instalação nos nós da comunidade n8n.

   - Vá para Configurações > Nós da comunidade.

  - Selecione Instalar.

  - Digite o nome do pacote: **n8n-nodes-wts**

  - Depois de instalado, você pode criar um fluxo de trabalho e no painel de nós, pesquisar por: **WTS Chat**

  - Com isso você poderá visualizar as ações disponíveis com o nó.

ai_documentation_summary:
  {"purpose":"This n8n node enables automation workflows to interact with the Wts Chat platform, allowing users to manage contacts, messages, sessions, and dashboard cards.","capabilities":["Create contacts","Update contacts","Search contacts by ID or phone","List all contacts","Send text messages","Send files","Send message templates","Retrieve messages by ID","List conversations","Update session transfers"],"authentication":"API key required","commonUseCases":["Automating customer support interactions via Wts Chat","Managing CRM contacts and notes within n8n workflows","Sending automated messages and files to users","Tracking and updating conversation statuses","Organizing dashboard cards and annotations"],"limitations":["Removal of 'CompanyId' field in session updates","Validation fields removed in version 2.0.3","Chatbot identification now relies on key rather than ID"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-wts.wts","n8n-nodes-wts.wts"]}


node_type: n8n-nodes-deepseek.deepseek
package_name: n8n-nodes-deepseek
display_name: deepseek
category: Community
development_style: declarative
version: 1.0.6
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: rubickecho
author_github_url: git+https://github.com/rubickecho/n8n-deepseek.git
npm_package_name: n8n-nodes-deepseek
npm_version: 1.0.6
community_fetched_at: 2026-03-25T21:19:41.762Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  A user-friendly DeepSeek AI node, similar to OpenAI, designed to enhance your workflow. npm link: https://www.npmjs.com/package/n8n-nodes-deepseek

npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-deepseek

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

  DeepSeek-V2 delivers impressive results on current major large model leaderboards.

  DeepSeek WebSite: https://www.deepseek.com/en


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

  - [Installation](#installation)  
  - [Credentials](#credentials)
  - [Usage](#usage)
  - [Resources](#resources)  

  ## Installation

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

  Use the package at [here](https://www.npmjs.com/package/n8n-nodes-deepseek).

  ## Credentials
  Add your Api Key and store securely

  ![Add Credentials](images/credentials.jpg)

  ## Usage

  Add a DeepSeek node to your workflow, select the action you want to perform, and enter the required fields.

  ![Workflow](images/workflow.jpg)

  Run the workflow, and the result will be displayed in the Run Result node.

  ![Run Result](images/run-result.jpg)

  ### A Simple Demo

  ```json
  {
    "meta": {
      "instanceId": "8419fa436e34f85077f6eb7f63a9c97687d9df6ed55cfc53d58b3b86ab6d8e61"
    },
    "nodes": [
      {
        "parameters": {},
        "id": "a8c5f656-680b-4e43-b626-d3c85b1e21a1",
        "name": "When clicking ‘Test workflow’",
        "type": "n8n-nodes-base.manualTrigger",
        "typeVersion": 1,
        "position": [
          920,
          480
        ]
      },
      {
        "parameters": {
          "model": "deepseek-chat",
          "prompt": {
            "messages": [
              {
                "role": "system",
                "content": "I want you to act as a etymologist. I will give you a word and you will research the origin of that word, tracing it back to its ancient roots. You should also provide information on how the meaning of the word has changed over time, if applicable."
              },
              {
                "content": "={{ $json.prompt }}"
              }
            ]
          },
          "options": {},
          "requestOptions": {}
        },
        "id": "4841b428-7848-42d1-a0c6-f28c01a07010",
        "name": "DeepSeek",
        "type": "n8n-nodes-deepseek.deepSeek",
        "typeVersion": 1,
        "position": [
          1380,
          480
        ],
        "credentials": {
          "deepSeekApi": {
            "id": "WWBInhkKqwf808n4",
            "name": "DeepSeek account"
          }
        }
      },
      {
        "parameters": {
          "assignments": {
            "assignments": [
              {
                "id": "1b94a0dc-9b9b-4302-a1fd-2ac41b876740",
                "name": "prompt",
                "value": "My word is \"pizza\"",
                "type": "string"
              }
            ]
          },
          "options": {}
        },
        "id": "6e6054b0-bcb4-4fe3-83be-01cd7da39d93",
        "name": "Edit Fields",
        "type": "n8n-nodes-base.set",
        "typeVersion": 3.4,
        "position": [
          1160,
          480
        ]
      }
    ],
    "connections": {
      "When clicking ‘Test workflow’": {
        "main": [
          [
            {
              "node": "Edit Fields",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Edit Fields": {
        "main": [
          [
            {
              "node": "DeepSeek",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "pinData": {}
  }
  ```

  ## Resources

  - [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":"A community n8n node that integrates with the DeepSeek AI API to perform text generation and other LLM tasks within workflow automation.","capabilities":["Text generation via chat models (e.g., deepseek-chat)","Support for system prompts and multi-turn conversations","Dynamic prompt injection using n8n expressions","Integration with DeepSeek API for large model inference"],"authentication":"API key required (stored in node credentials)","commonUseCases":["Automated customer support responses","Content generation and summarization","Data analysis and text processing","Workflow automation with natural language understanding"],"limitations":["Community node (may lack official support compared to n8n core nodes)","Dependent on DeepSeek API availability and rate limits","Requires manual installation via npm package"],"relatedNodes":["n8n-nodes-base.manualTrigger","n8n-nodes-base.set","n8n-nodes-base.runResult","n8n-nodes-base.if"]}


node_type: n8n-nodes-browserless.browserless
package_name: n8n-nodes-browserless
display_name: browserless
description: n8n mode integrate with Browserless platform
category: Community
development_style: declarative
version: 1.1.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: minhlucvan
author_github_url: git+https://github.com/minhlucvan/n8n-nodes-browserless.git
npm_package_name: n8n-nodes-browserless
npm_version: 1.1.3
community_fetched_at: 2026-03-25T21:19:41.763Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-browserless

  <p align="center">
    <img src="https://user-images.githubusercontent.com/11575076/202373912-a90e5cc0-9dd2-4873-b782-6f86c78f00eb.png" />
  </p>

  #### New Updates: 🎉 **Browserless** API V2 is now supported.

  This is an n8n community node that allows you to interact with a [browserless](https://github.com/browserless/chrome) instance in your `n8n` workflows.

  **Browserless** is a web service that enables remote clients to connect, drive, and execute headless tasks, all within Docker. It provides first-class integrations for Puppeteer, Playwright, Selenium WebDriver, and several REST APIs for common tasks. Additionally, it addresses common issues like missing system fonts, external libraries, and performance improvements. It even handles tasks such as downloading files, managing sessions, and includes a fully-featured documentation site.

  If you’ve struggled with setting up Chrome in Docker or scaling headless workloads, browserless is designed for you.

  If you’ve been trying to automate browser-related tasks like `web scraping`, `browser automation`, `end-to-end testing`, or `PDF generation` with `n8n` and want to avoid dealing with browser infrastructure, the `n8n-nodes-browserless` will make your life easier.

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

  ## Table of Contents

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

  ## Highlights

  - [x] Full control over Browserless
  - [x] Cloud compatibility
  - [x] Docker support by default
  - [x] Live browser debugging
  - [x] JavaScript injection
  - [x] Dynamic page rendering
  - [x] PDF download
  - [x] Screenshot capture
  - [x] Custom code execution

  ## Installation

  1. [Install Docker](https://docs.docker.com/engine/install/)
  2. [Install Browserless](https://docs.browserless.io/docs/docker-quickstart.html)

  ```shell
  $ docker run \
    --rm \
    -p 3000:3000 \
    -e "CONCURRENT=10" \
    -e "TOKEN=6R0W53R135510" \
    ghcr.io/browserless/chromium
  ```

  3. Visit your n8n instance > Settings > Community Nodes > Install `n8n-nodes-browserless`.
  4. Set up Browserless credentials with the URL `http://localhost:3000` and your secure token.
  5. Add the Browserless node to your workflow by searching for `browserless`.
  6. Start using Browserless in your n8n workflows!

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

  ## Operations

  - [Get page content](https://www.browserless.io/docs/content)
  - [Execute custom function](https://www.browserless.io/docs/function)
  - [Generate PDF of a page](https://www.browserless.io/docs/pdf)
  - [Capture page screenshot](https://www.browserless.io/docs/screenshot)
  - [Scrape page as JSON](https://www.browserless.io/docs/scrape)

  ## Credentials

  This node requires a Browserless `URL` and `token` to connect to your Browserless account or a self-hosted Browserless instance.

  ![](.//assets/credentials-setup.png)

  ## Compatibility

  This node was developed on `n8n@0.200.1`. It hasn't been tested on other versions yet.

  ## Usage

  1. Add the `browserless` node to your workflow.
     ![](./assets/browserless-node.png)
  2. Configure your node.
     ![](./assets/browserless-content.png)
     ![](./assets/browserless-screenshot.png)
     ![image](https://user-images.githubusercontent.com/11575076/202370828-c8e3896e-1fc5-4f08-b147-688e55c90c74.png)

  ## Anti-Bot Detection

  With strong support from Browserless, you can implement robust anti-bot detection using the following setup:

  - `Browser Options` > `Stealth` On
  - `Browser Options` > `Headless` Off

  ![](./assets/anti-bot-detector.png)

  ## Resources

  * [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Browserless Homepage](https://www.browserless.io/)
  * [Browserless API Documentation](https://www.browserless.io/docs/api)
  * [Browserless Self-Hosted Quick Start](https://www.browserless.io/docs/docker-quickstart)

  ## Version History

  - `0.0.1` Initial release
  - `0.2.0` Fixed common issues
  - `0.3.0` Fixed [#1](https://github.com/minhlucvan/n8n-nodes-browserless/issues/1), added tests
  - `0.4.0` Added browser options, set no-cache as the default header
  - `0.5.0` Implemented anti-bot detection
  - `1.0.0` Added support for `browserless` API v2

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with a Browserless instance to perform headless browser tasks without managing local browser infrastructure.","capabilities":["Web scraping as JSON","PDF generation","Screenshot capture","Custom JavaScript execution","Page content retrieval","Live browser debugging","Dynamic page rendering","File downloading","Session management","Anti-bot detection via stealth mode"],"authentication":"API token required (Browserless token)","commonUseCases":["Web scraping automation","End-to-end testing","PDF generation from web pages","Browser automation workflows","Anti-bot detection implementation"],"limitations":["Developed and tested on n8n@0.200.1 only; compatibility with other versions not verified","Requires Docker installation and a running Browserless instance"],"relatedNodes":["n8n HTTP Request","n8n Code","n8n PDF","n8n Screenshot"]}


