# nodes

node_type: n8n-nodes-drupal.Drupal
package_name: n8n-nodes-drupal
display_name: Drupal
description: Community node for Drupal
category: Community
development_style: declarative
version: 0.1.13
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: smulvihill
author_github_url: git+https://github.com/cinders-io/n8n-nodes-drupal.git
npm_package_name: n8n-nodes-drupal
npm_version: 0.1.13
community_fetched_at: 2026-01-07T20:08:17.684Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-drupal

  This is an n8n community node. It lets you use _app/service name_ in your n8n workflows.

  _App/service name_ is _one or two sentences describing the service this node integrates with_.

  [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)
  [Compatibility](#compatibility)
  [Usage](#usage)
  [Resources](#resources)
  [Version history](#version-history)

  ## 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

  _State the minimum n8n version, as well as which versions you test against. You can also include any known version incompatibility issues._

  ## 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":"The Drupal node enables integration with Drupal CMS by allowing users to perform operations such as reading, creating, updating, and deleting content within a Drupal environment through n8n workflows.","capabilities":["Read content from Drupal","Create new content in Drupal","Update existing content in Drupal","Delete content from Drupal"],"authentication":"API key required; users must obtain a Drupal API key and configure it in the node credentials section","commonUseCases":["Syncing content between n8n and a Drupal site","Automating content creation or updates based on triggers","Pulling blog posts or pages from Drupal into other systems"],"limitations":[],"relatedNodes":["HTTP Request","Webhook","Database"]}


node_type: n8n-nodes-nocodb-self-host.NocodbSelfHost
package_name: n8n-nodes-nocodb-self-host
display_name: NocodbSelfHost
description: Custom n8n node for Nocodb Self Host.
category: Community
development_style: declarative
version: 1.1.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: tuanpakya
npm_package_name: n8n-nodes-nocodb-self-host
npm_version: 1.1.9
community_fetched_at: 2026-01-07T20:08:17.684Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # Nocodb Self Host : No-code Databasefor n8n Self Host

  ![npm version](https://img.shields.io/npm/v/n8n-nodes-nocodb-self-host)
  ![npm downloads](https://img.shields.io/npm/dm/n8n-nodes-nocodb-self-host)
  ![license](https://img.shields.io/npm/l/n8n-nodes-nocodb-self-host)

  This is an n8n community node. It lets you use Nocodb Self Host in your n8n workflows.

  ## Description

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

  ## Table of Contents

  - [Installation](#installation)
  - [Prerequisites](#prerequisites)
  - [Operations](#operations)
  - [Credentials Setup](#credentials-setup)
  - [Usage Examples](#usage-examples)
  - [API Reference](#api-reference)
  - [Troubleshooting](#troubleshooting)
  - [Resources](#resources)

  ## Installation

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

  ## Operations
  The following operations are supported by the Nocodb Self Host node:

  ### Get All Rows
  Retrieves all rows from a NocoDB table in structured JSON format with metadata.

  #### Features:
  - ✅ Get all rows from NocoDB table
  - ✅ Manual Base ID and Table ID input for reliability
  - ✅ Compatible with NocoDB v1 API
  - ✅ Self-hosted NocoDB instances support
  - ✅ Structured JSON output with metadata

  #### Output Format:
  Data is returned as a structured JSON object with metadata and clean data array:
  ```json
  {
    "success": true,
    "operation": "get-all-rows",
    "metadata": {
      "source": "nocodb",
      "baseId": "pnnh9o17by6p172",
      "tableId": "mbjxj9y2vmg5vc3",
      "timestamp": "2025-07-03T16:46:00.371Z",
      "totalRows": 5,
      "pageInfo": {
        "totalRows": 5,
        "page": 1,
        "pageSize": 25,
        "isFirstPage": true,
        "isLastPage": true
      }
    },
    "data": [
      {
        "Instance ID": "3DD4FE2D0739E005C47896155CBF9532",
        "Token": "735DC91EB86E973F505F9CE4",
        "Client Token": "Fae8d38fba15747b78692ccdb76e817ebS",
        "Name": "Hakim-Iphone Sendiri",
        "Product ID": "LG",
        "Id": 5,
        "CreatedAt": "2025-04-20 01:30:22+00:00",
        "UpdatedAt": "2025-07-03 08:24:26+00:00"
      }
    ]
  }
  ```

  #### How to Use:
  1. Enter your **NocoDB Token** and **Base URL**
  2. Enter **Base ID** (found in your NocoDB URL)
  3. Enter **Table ID** (found in your NocoDB URL)

  #### How to find Base ID and Table ID:

  - Base ID: In your NocoDB URL, it's the part after `/dashboard/`: `https://your-nocodb.com/dashboard/{BASE_ID}`
  - Table ID: When viewing a table, it's in the URL: `https://your-nocodb.com/dashboard/{BASE_ID}/table/{TABLE_ID}`

  **INFO** : For more information about Nocodb Self Host, please visit https://nocodb.com 


  ## Resources

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

ai_documentation_summary:
  {"purpose":"The NocodbSelfHost node allows users to connect to a self-hosted Nocodb instance and retrieve data from specific tables in structured JSON format, enabling integration with n8n workflows for data automation.","capabilities":["Retrieve all rows from a NocoDB table","Manual input of Base ID and Table ID for reliable access","Support for NocoDB v1 API","Compatibility with self-hosted Nocodb instances","Structured JSON output with metadata including total rows, pagination info, and timestamps"],"authentication":"API token required (provided via NocoDB Token input)","commonUseCases":["Fetching data from self-hosted Nocodb tables for downstream processing","Automating data sync between n8n and internal Nocodb databases","Extracting records for reporting or analytics workflows"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-database"]}


node_type: n8n-nodes-toon-encode.ToonEncode
package_name: n8n-nodes-toon-encode
display_name: ToonEncode
description: Encode JSON → TOON (40-60% token savings for LLMs!)
category: Community
development_style: declarative
version: 1.0.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: techupbusiness
author_github_url: git+https://github.com/TechupBusiness/n8n-nodes-toon-encode.git
npm_package_name: n8n-nodes-toon-encode
npm_version: 1.0.0
community_fetched_at: 2026-01-07T20:08:17.685Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-toon-encode

  This is an n8n community node that lets you encode JSON data into **TOON (Token-Oriented Object Notation)** format in your n8n workflows.

  TOON is a token-efficient alternative to JSON designed specifically for Large Language Model (LLM) prompts. It reduces token usage by **40-60%** while remaining human-readable and LLM-friendly.

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

  ![TOON Nodes](readme-toon-icons.png)

  **Available Nodes:**
  - **TOON Encode**: Convert JSON to compact TOON format (40-60% token savings)
  - **TOON Decode**: Convert TOON back to JSON for further processing

  **Table of Contents**
  - [n8n-nodes-toon-encode](#n8n-nodes-toon-encode)
    - [Installation](#installation)
    - [Features](#features)
    - [Operations](#operations)
      - [TOON Encode](#toon-encode)
    - [Compatibility](#compatibility)
    - [Usage](#usage)
      - [Basic Example](#basic-example)
      - [Use Cases](#use-cases)
      - [Tips](#tips)
    - [Development \& Testing](#development--testing)
    - [Resources](#resources)
    - [License](#license)

  ## Installation

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

  **Community Node Name:** `n8n-nodes-toon-encode`

  Or install via npm in your n8n installation:
  ```bash
  npm install n8n-nodes-toon-encode
  ```

  ## Features

  ✅ **Token Savings**: Reduce LLM token usage by 40-60%  
  ✅ **Human-Readable**: Easy to read and understand  
  ✅ **LLM-Optimized**: Designed for AI/LLM consumption  
  ✅ **No Dependencies**: Works on n8n Cloud and self-hosted  
  ✅ **Flexible Output**: Configurable indentation, delimiters, and length markers  
  ✅ **Perfect for APIs**: Efficiently encode API responses for LLM processing

  ## Operations

  ### TOON Encode

  Encodes JSON data (objects, arrays, or any JSON-serializable data) into TOON format.

  **Parameters:**

  | Parameter | Type | Description | Default |
  |-----------|------|-------------|---------|
  | Data to Encode | JSON | The JSON data to encode. Can be `={{ $json }}` or any expression | `={{ $json }}` |
  | Output Field | String | Field name where the encoded TOON string will be stored | `toon` |

  **Options:**

  | Option | Type | Description | Default |
  |--------|------|-------------|---------|
  | Indent | Number (0-10) | Spaces per indentation level. Use 0 for compact output | `2` |
  | Array Delimiter | Choice | Delimiter for tabular arrays: Comma (`,`), Tab, or Pipe (`\|`) | `,` |
  | Length Markers | Boolean | Whether to prefix array lengths with `#` for LLM safety | `false` |

  ## Compatibility

  - **Minimum n8n version:** 1.0.0
  - **Tested with:** n8n 1.x
  - **Works on:** n8n Cloud and self-hosted installations

  This node has **no external dependencies** and is fully compatible with n8n Cloud.

  ## Usage

  ### Basic Example

  1. Add the **TOON Encode** node to your workflow
  2. Connect it after a node that outputs JSON data
  3. The encoded TOON data will be available in the specified output field

  **Example Input:**
  ```json
  {
    "users": [
      {"name": "Alice", "age": 30, "city": "NYC"},
      {"name": "Bob", "age": 25, "city": "LA"}
    ]
  }
  ```

  **Example Output (in `toon` field):**
  ```
  users[2]{name,age,city}:
    Alice,30,NYC
    Bob,25,LA
  ```

  ### Use Cases

  1. **LLM Prompts**: Reduce costs by encoding API responses before sending to OpenAI/Anthropic
  2. **Data Transformation**: Convert verbose JSON to compact, readable format
  3. **Logging**: Create human-friendly logs from complex data structures
  4. **API Integration**: Prepare data efficiently for LLM-based processing

  ### Tips

  - Use `={{ $json }}` to encode the entire output from the previous node
  - Use `={{ $json.results }}` to encode a specific field
  - Set **Indent** to `0` for maximum token savings (compact format)
  - Enable **Length Markers** when passing arrays to LLMs for better reliability

  ## Development & Testing

  This node is tested against the [official TOON test suite](https://github.com/johannschopplich/toon/tree/main/test) to ensure 100% spec compliance.

  **Run Tests:**
  ```bash
  npm install
  npm run build
  npm test
  ```

  See [test/README.md](test/README.md) for comprehensive testing documentation.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [TOON Format Documentation](https://github.com/johannschopplich/toon)
  - [TOON Specification & Examples](https://github.com/johannschopplich/toon#readme)

  ## License

  This node includes inlined code from the [TOON library](https://github.com/johannschopplich/toon) by Johann Schopplich, licensed under MIT.

  MIT License - See LICENSE file for details.

ai_documentation_summary:
  {"purpose":"The ToonEncode node converts JSON data into TOON format, a token-efficient, human-readable alternative to JSON, reducing LLM token usage by 40-60% while maintaining readability and compatibility with AI models.","capabilities":["Converts JSON objects and arrays into compact TOON format","Supports configurable indentation, array delimiters, and length markers","Reduces LLM token consumption by 40-60%","Maintains human-readability and LLM-friendliness","Works with both self-hosted and n8n Cloud environments"],"authentication":"None required","commonUseCases":["Optimizing LLM prompts by encoding API responses before input","Transforming verbose JSON data into compact, efficient formats","Creating readable logs from complex data structures","Preprocessing data for LLM-based processing in workflows"],"limitations":[],"relatedNodes":["TOON Decode"]}


node_type: n8n-nodes-roblox.Roblox
package_name: n8n-nodes-roblox
display_name: Roblox
description: A n8n community node for the Roblox API
category: Community
development_style: declarative
version: 2.4.17
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: GitHub Actions
author_github_url: git+https://github.com/LordMerc/roblox-n8n.git
npm_package_name: n8n-nodes-roblox
npm_version: 2.4.17
community_fetched_at: 2026-01-07T20:08:17.685Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-roblox

  This project provides custom community nodes for [n8n](https://n8n.io) that integrate with the [Roblox Open Cloud API](https://create.roblox.com/docs/cloud). It allows you to connect your Roblox experience with automated workflows in n8n — including data access, place publishing, messaging, and more.

  ## Features

  - Community node package for n8n
  - Built-in authentication with Open Cloud API keys
  - Modular support for Roblox API endpoints
  - Example nodes for querying and automating Roblox experiences

  > ✅ Ideal for developers using Roblox + automation tools like n8n to build dashboards, pipelines, and custom tools.

  ## Prerequisites

  Before getting started, ensure you have the following:

  - [Git](https://git-scm.com/downloads)
  - [Node.js](https://nodejs.org/) (v20 or higher recommended)
  - [n8n installed globally](https://docs.n8n.io/getting-started/installation/)
    ```bash
    npm install -g n8n
    ```

  ## Setup

  1. Clone this repository:

     ```bash
     git clone https://github.com/LordMerc/roblox-n8n.git
     cd roblox-n8n
     ```

  2. Install dependencies:

     ```bash
     npm install
     ```

  3. Start developing or customizing your own nodes within the `/nodes` and `/credentials` directories.

  4. Run linter checks:
     ```bash
     npm run lint       # Check for issues
     npm run lintfix    # Auto-fix common issues
     ```

  ## Running Locally

  To test your custom node within your local n8n environment, follow the official guide here:  
  👉 [Run your node locally](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/)

  ## Roblox Open Cloud API Docs

  Learn more about the endpoints and features available from Roblox's Open Cloud platform:  
  📚 [Roblox Cloud Documentation](https://create.roblox.com/docs/cloud)

  ## Contributing

  If you improve or expand functionality, feel free to open a PR! This is a community project meant to accelerate Roblox ↔ automation use cases.

  ## License

  [MIT License](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Roblox n8n community node enables integration with the Roblox Open Cloud API, allowing users to automate workflows such as accessing data, publishing places, and managing messaging within Roblox environments using n8n.","capabilities":["Authenticate with Roblox Open Cloud API using API keys","Query Roblox API endpoints for data retrieval","Publish new places or manage Roblox experiences","Send messages or interact with Roblox services","Support for modular, reusable node structures"],"authentication":"API key required via Open Cloud API credentials","commonUseCases":["Building dashboards to monitor Roblox place activity","Automating place publishing or updates","Sending automated messages to users or developers","Syncing user data or game metrics with external systems"],"limitations":[],"relatedNodes":["n8n core nodes for data handling and workflow automation","Other community nodes for cloud APIs or game platforms"]}


node_type: @mbakgun/n8n-nodes-slack-socket-mode.SlackSocketMode
package_name: @mbakgun/n8n-nodes-slack-socket-mode
display_name: SlackSocketMode
category: Community
development_style: declarative
version: 1.6.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mbakgun
author_github_url: git+https://github.com/mbakgun/n8n-slack-socket-mode.git
npm_package_name: @mbakgun/n8n-nodes-slack-socket-mode
npm_version: 1.6.1
community_fetched_at: 2026-01-07T20:08:17.685Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Slack Socket Mode Node for n8n that allows you to use +100 Slack events in your n8n instance with proxy mode

npm_readme:
  # @mbakgun/n8n-nodes-slack-socket-mode

  <div align="center">
    <img src="https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png" width="200" alt="n8n logo">
    <h3>+</h3>
    <img src="https://cdn.worldvectorlogo.com/logos/slack-new-logo.svg" width="100" alt="Slack logo">
  </div>

  This is an n8n community node that lets you use Slack Socket Mode in your n8n workflows. It enables real-time event processing from Slack without requiring public URLs for webhooks.

  Since the current integration of Slack in n8n only supports webhooks, this node allows you to use the Slack Socket Mode to listen to events in your Slack workspace in real-time, even in local development environments.

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

  ## Table of Contents
  - [Installation](#installation)
  - [Slack App Setup](#slack-app-setup)
  - [Credentials](#credentials)
  - [Node Configuration](#node-configuration)
  - [Supported Events](#supported-events)
  - [Usage Examples](#usage-examples)
  - [Example Workflow](#example-workflow)
  - [Compatibility](#compatibility)
  - [Resources](#resources)
  - [Version History](#version-history)

  ## Installation

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

  Using Bun (recommended):
  ```bash
  bun add @mbakgun/n8n-nodes-slack-socket-mode
  ```

  Using npm:
  ```bash
  npm install @mbakgun/n8n-nodes-slack-socket-mode
  ```

  After installation, restart n8n and the node will be available in the nodes panel.

  ### Development Setup

  This project uses [Bun](https://bun.sh) as its package manager. To set up your development environment:

  1. Install Bun:
     ```bash
     curl -fsSL https://bun.sh/install | bash
     ```
     
  2. Install dependencies:
     ```bash
     bun install
     ```
     
  3. Build the project:
     ```bash
     bun run build
     ```

  ## Slack App Setup

  Before using this node, you need to create a Slack app with Socket Mode enabled:

  1. Go to [https://api.slack.com/apps](https://api.slack.com/apps) and create a new app
  2. Navigate to "Socket Mode" in the left sidebar and enable it
  3. Generate an 'App-Level Token' with the `connections:write` scope
  4. Go to "OAuth & Permissions" and add the following Bot Token Scopes:
     - `app_mentions:read`
     - `channels:history`
     - `channels:read`
     - `chat:write`
     - `commands`
     - `reactions:read`
     - `team:read`
     - (Add any other scopes required for your use case)
  5. Install the app to your workspace (This will generate a 'Bot User OAuth Token')
  6. Copy the Bot User OAuth Token, App-Level Token, and Signing Secret(from the 'Basic Information' section) for credential setup
  7. Go to 'Event Subscriptions' and enable 'Socket Mode'
  8. Subscribe to the events you want to listen to (e.g. `app_mention`, `message`, `reaction_removed`, `reaction_added`)

  ## Credentials

  To use this node, you need to set up credentials with the following information:

  - **Bot Token**: Your Slack Bot User OAuth Token (starts with `xoxb-`)
  - **App-Level Token**: Your Slack App-Level Token for Socket Mode (starts with `xapp-`)
  - **Signing Secret**: Your Slack App Signing Secret

  These values can be found in your Slack App configuration.

  ## Node Configuration

  The Slack Socket Trigger node can be configured with the following options:

  - **Trigger On**: Select which Slack events should trigger your workflow:
    - All Slack events are now supported (app_mention, message, reaction events, channel events, etc.)
    - See the Supported Events section below for a complete list of available events

  - **Regex Pattern**: Optional regular expression to match against the entire event JSON structure (not just message text). This allows matching on any field in the event, such as subtypes, attachment colors, user IDs, etc.
    - Example: `(?=.*bot_message)(?=.*#FF0000)` matches events that contain both `bot_message` and the color `#FF0000`
    - Example: `help|assist|support` matches events containing any of these words anywhere in the event data
  - **Regex Flags**: Flags for the regular expression (e.g., `g` for global, `i` for case-insensitive)
  - **Slash Commands**: Comma-separated list of slash commands to listen for (e.g., `deploy, status, help`). Leave empty to listen for all slash commands. Do not include the leading slash.
  - **Channels to Watch**: Optional list of channels to filter events. Click **Add Channel** to add channels. Each channel can be selected from the dropdown or entered by ID (e.g., `C1234567890`, `G1234567890`)
  - **Legacy Channel to Watch**: Preserved single-channel selector for workflows created before version 1.4.2

  This node supports using an HTTP or HTTPS proxy by reading the following environment variables:

  ```bash
  export HTTP_PROXY=http://proxy.example.com:3128
  # or
  export HTTPS_PROXY=http://proxy.example.com:3128
  ```

  ## Supported Events

  The node currently supports the following Slack events:

  - `app_mention`: When your bot is mentioned in a channel
  - `block_actions`: When a user interacts with buttons, including NPS-style ratings
  - `message`: When a message is posted to a channel the app is added to
  - `channel_created`: When a new public channel is created
  - `team_join`: When a new user is added to Slack
  - `reaction_added`: When a reaction is added to a message
  - `reaction_removed`: When a reaction is removed from a message
  - `app_deleted`: User has deleted an app
  - `app_home_opened`: User clicked into your App Home
  - `app_installed`: User has installed an app
  - `app_mention`: Subscribe to only the message events that mention your app or bot
  - `app_rate_limited`: Indicates your app's event subscriptions are being rate limited
  - `app_requested`: User requested an app
  - `app_uninstalled`: Your Slack app was uninstalled
  - `app_uninstalled_team`: User has uninstalled an app
  - `assistant_thread_context_changed`: The context changed while an AI assistant thread was visible
  - `assistant_thread_started`: An AI assistant thread was started
  - `bot_added`: A bot user was added
  - `bot_changed`: A bot user was changed
  - `call_rejected`: A Call was rejected
  - `channel_archive`: A channel was archived
  - `channel_created`: A channel was created
  - `channel_deleted`: A channel was deleted
  - `channel_history_changed`: Bulk updates were made to a channel's history
  - `channel_id_changed`: A channel ID changed
  - `channel_joined`: You joined a channel
  - `channel_left`: You left a channel
  - `channel_marked`: Your channel read marker was updated
  - `channel_rename`: A channel was renamed
  - `channel_shared`: A channel has been shared with an external workspace
  - `channel_unarchive`: A channel was unarchived
  - `channel_unshared`: A channel has been unshared with an external workspace
  - `commands_changed`: A slash command has been added or changed
  - `dnd_updated`: Do not Disturb settings changed for the current user
  - `dnd_updated_user`: Do not Disturb settings changed for a member
  - `email_domain_changed`: The workspace email domain has changed
  - `emoji_changed`: A custom emoji has been added or changed
  - `external_org_migration_finished`: An enterprise grid migration has finished on an external workspace
  - `external_org_migration_started`: An enterprise grid migration has started on an external workspace
  - `file_change`: A file was changed
  - `file_comment_added`: A file comment was added
  - `file_comment_deleted`: A file comment was deleted
  - `file_comment_edited`: A file comment was edited
  - `file_created`: A file was created
  - `file_deleted`: A file was deleted
  - `file_public`: A file was made public
  - `file_shared`: A file was shared
  - `file_unshared`: A file was unshared
  - `function_executed`: Your app function is executed as a step in a workflow
  - `goodbye`: The server intends to close the connection soon
  - `grid_migration_finished`: An enterprise grid migration has finished on this workspace
  - `grid_migration_started`: An enterprise grid migration has started on this workspace
  - `group_archive`: A private channel was archived
  - `group_close`: You closed a private channel
  - `group_deleted`: A private channel was deleted
  - `group_history_changed`: Bulk updates were made to a private channel's history
  - `group_joined`: You joined a private channel
  - `group_left`: You left a private channel
  - `group_marked`: A private channel read marker was updated
  - `group_open`: You created a group DM
  - `group_rename`: A private channel was renamed
  - `group_unarchive`: A private channel was unarchived
  - `hello`: The client has successfully connected to the server
  - `im_close`: You closed a DM
  - `im_created`: A DM was created
  - `im_history_changed`: Bulk updates were made to a DM's history
  - `im_marked`: A direct message read marker was updated
  - `im_open`: You opened a DM
  - `invite_requested`: User requested an invite
  - `link_shared`: A message was posted containing one or more links relevant to your application
  - `manual_presence_change`: You manually updated your presence
  - `member_joined_channel`: A user joined a public channel, private channel or MPDM
  - `member_left_channel`: A user left a public or private channel
  - `message`: A message was sent to a channel
  - `message.app_home`: A user sent a message to your Slack app
  - `message.channels`: A message was posted to a channel
  - `message.groups`: A message was posted to a private channel
  - `message.im`: A message was posted in a direct message channel
  - `message.mpim`: A message was posted in a multiparty direct message channel
  - `message_metadata_deleted`: Message metadata was deleted
  - `message_metadata_posted`: Message metadata was posted
  - `message_metadata_updated`: Message metadata was updated
  - `pin_added`: A pin was added to a channel
  - `pin_removed`: A pin was removed from a channel
  - `pref_change`: You have updated your preferences
  - `presence_change`: A member's presence changed
  - `presence_query`: Determine the current presence status for a list of users
  - `presence_sub`: Subscribe to presence events for the specified users
  - `reaction_added`: A member has added an emoji reaction to an item
  - `reaction_removed`: A member removed an emoji reaction
  - `reconnect_url`: Experimental
  - `resources_added`: Access to a set of resources was granted for your app
  - `resources_removed`: Access to a set of resources was removed for your app
  - `scope_denied`: OAuth scopes were denied to your app
  - `scope_granted`: OAuth scopes were granted to your app
  - `shared_channel_invite_accepted`: A shared channel invite was accepted
  - `shared_channel_invite_approved`: A shared channel invite was approved
  - `shared_channel_invite_declined`: A shared channel invite was declined
  - `shared_channel_invite_received`: A shared channel invite was sent to a Slack user
  - `shared_channel_invite_requested`: A shared channel invite was requested
  - `star_added`: A member has saved an item for later or starred an item
  - `star_removed`: A member has removed an item saved for later or starred an item
  - `subteam_created`: A User Group has been added to the workspace
  - `subteam_members_changed`: The membership of an existing User Group has changed
  - `subteam_self_added`: You have been added to a User Group
  - `subteam_self_removed`: You have been removed from a User Group
  - `subteam_updated`: An existing User Group has been updated or its members changed
  - `team_access_granted`: Access to a set of teams was granted to your org app
  - `team_access_revoked`: Access to a set of teams was revoked from your org app
  - `team_domain_change`: The workspace domain has changed
  - `team_join`: A new member has joined
  - `team_migration_started`: The workspace is being migrated between servers
  - `team_plan_change`: The account billing plan has changed
  - `team_pref_change`: A preference has been updated
  - `team_profile_change`: The workspace profile fields have been updated
  - `team_profile_delete`: The workspace profile fields have been deleted
  - `team_profile_reorder`: The workspace profile fields have been reordered
  - `team_rename`: The workspace name has changed
  - `tokens_revoked`: API tokens for your app were revoked
  - `url_verification`: Verifies ownership of an Events API Request URL
  - `user_change`: A member's data has changed
  - `user_resource_denied`: User resource was denied to your app
  - `user_resource_granted`: User resource was granted to your app
  - `user_resource_removed`: User resource was removed from your app
  - `user_typing`: A channel member is typing a message
  - `view_submission`: When a modal view is submitted 
  - `view_closed`: When a modal view is closed
  - `workflow_deleted`: A workflow that contains a step supported by your app was deleted
  - `workflow_published`: A workflow that contains a step supported by your app was published
  - `workflow_step_deleted`: A workflow step supported by your app was removed from a workflow
  - `workflow_step_execute`: A workflow step supported by your app should execute
  - `workflow_unpublished`: A workflow that contains a step supported by your app was unpublished
  - `slash_command`: When a user invokes a slash command

  ## Usage Examples

  ### Respond to mentions

  Configure the node to trigger on `app_mention` events to make your workflow respond when someone mentions your bot.

  ### Process messages matching a pattern

  Use the Regex Pattern field to only trigger on messages that match a specific pattern:
  - Pattern: `help|assist|support`
  - Flags: `i`

  This will trigger the workflow only when messages containing "help", "assist", or "support" (case-insensitive) are posted.

  ### Monitor channel creation

  Set the trigger to `channel_created` to run workflows whenever a new channel is created in your workspace.

  ## Example Workflow

  Here's an example of a simple workflow that responds to Slack mentions:

  ```
  [Slack Socket Trigger] → [JSON Parse] → [IF] → [HTTP Request] → [Slack]
  ```

  1. **Slack Socket Trigger**: Configured to trigger on app mentions
  2. **JSON Parse**: Extracts the message text and channel from the event data
  3. **IF**: Checks if the message contains certain keywords
  4. **HTTP Request**: Fetches relevant data based on the message
  5. **Slack**: Sends a response back to the channel

  This workflow allows you to create a Slack bot that responds to mentions with data from external APIs, all without needing to expose your n8n instance to the internet.

  ## Compatibility

  - Requires n8n version 1.6.0 or later
  - Tested against n8n versions 1.91.3
  - Uses Bun as package manager for improved performance

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Slack API Documentation](https://api.slack.com/apis)
  - [Slack Socket Mode Documentation](https://api.slack.com/apis/connections/socket)
  - [Slack Events API Documentation](https://api.slack.com/events)
  - [Bun Documentation](https://bun.sh/docs)

  ### Workflow Building Tools

  - [n8n Builder](https://n8nbuilder.dev/) - AI-powered workflow generator. Great for quickly prototyping Socket Mode workflows with natural language.

  ## Contributors

  We appreciate all contributions to this project! 🎉

  ### How to Contribute

  1. Fork the repository
  2. Create a feature branch (`git checkout -b feature/amazing-feature`)
  3. Make your changes
  4. Run tests and ensure build passes (`bun run build`)
  5. Commit your changes (`git commit -m 'Add some amazing feature'`)
  6. Push to the branch (`git push origin feature/amazing-feature`)
  7. Open a Pull Request

  Special thanks to all contributors who help improve this project!

  ## Version History

  - **1.6.1**: Added slash command trigger support by **[@ydogukan-yd](https://github.com/ydogukan-yd)**
    - Added `slash_command` event listener for handling slash commands
    - Added configurable slash commands field to filter specific commands
    - Enables building interactive Slack workflows with custom slash commands in n8n
  - **1.6.0**: Upgraded @slack/bolt to v4.6.0
    - Fixed dependency resolution issues that caused `ENOENT` errors during installation
    - Resolved nested dependency conflicts with `@slack/logger` and other Slack packages
    - If you experienced installation errors, please upgrade to 1.6.0
  - **1.5.1**: Added modal view event support by **[@unbalanced](https://github.com/unbalanced)**
    - Added `view_submission` event listener for handling modal form submissions
    - Added `view_closed` event listener for detecting when modals are dismissed
    - Enables building interactive Slack workflows with modal forms in n8n
  - **1.5.0**: Enhanced regex pattern matching for entire event structure
    - Changed regex matching to work against the entire event JSON instead of just the text field
    - Enables matching on any event property including subtypes, attachment colors, metadata, etc.
    - Supports complex patterns like `(?=.*bot_message)(?=.*#FF0000)` to match multiple conditions
    - Provides more flexible event filtering for advanced use cases
  - **1.4.2**: Fixed multi-channel selector implementation
    - Each channel entry now properly supports both dropdown selection and manual ID input
    - Maintained backward compatibility with legacy single-channel selector
  - **1.3.6**: Production release with enhanced event handler architecture
    - Stable release of message event handler improvements from 1.3.5
    - Production-ready named function handlers for all message events
    - Verified event capture and processing reliability
    - Ready for enterprise deployments with improved debugging capabilities
  - **1.3.5**: Enhanced message event handler architecture for better app event handling
    - Refactored message event handlers into named functions (handleMessageEvent, handleMessageSubtypeEvent)
    - Fixed event capture and processing by separating handler definition from registration
    - Improved app.event() listener registration to properly catch all message events
    - Enhanced code maintainability and debugging with named function handlers
    - Better event handling reliability for message and message subtype events
  - **1.3.3**: Improved message event handling
    - Refactored message event listeners to use app.event() instead of app.message()
    - Fixed regex state management by resetting lastIndex for global regex flags
    - Enhanced null safety with explicit event and text validation
    - Reduced code duplication in message subtype handling
    - Improved early return pattern for better code readability
  - **1.3.2**: Fixed block actions acknowledgement by **[@keenlim](https://github.com/keenlim)**
    - Added proper acknowledgement for block actions interactions
    - Fixed socket to Slack communication for button interactions
  - **1.3.1**: Enhanced channel filtering for all event types
    - Fixed channel filtering for events like `reaction_added`, `pin_added`, `file_shared`, etc.
    - Added comprehensive channel ID extraction from multiple event properties (`event.channel`, `event.item.channel`, `event.item.channel_id`, `event.file.channels`)
  - **1.3.0**: Channel filtering feature by **[@tongshengng](https://github.com/tongshengng)**
    - Added "Channel to watch" field similar to official Slack trigger node
    - Implemented optional channel ID parameter to filter incoming Slack events
    - Added searchable dropdown with channel selection via Slack API
    - Improved event targeting by filtering events from specific channels only
    - Added channel ID format validation for manual entry
  - **1.2.5**: Added proxy support by **[@minimorph223](https://github.com/minimorph223)**
    - Added `http-proxy-agent` dependency for HTTP/HTTPS proxy support
    - Enhanced connectivity options for enterprise environments
  - **1.2.3**: Enhanced message filtering by **[@macchiang](https://github.com/macchiang)**
    - Fixed invalid `message.im` event type with proper channel_type filtering
    - Added support for filtering Slack messages by channel type (channels, groups, im, mpim, app_home)
    - Improved message filtering capabilities using Slack Bolt framework best practices
    - Resolved TypeScript typing issues
  - **1.2.0**: Added support for all Slack events
    - Updated to include all events from the Slack Events API
    - Improved event descriptions and documentation
  - **1.0.0**: Initial release - Project initialized with Socket Mode support for Slack events
    - Support for app_mention, message, reaction events
    - Added button interaction support

  ## License

  MIT License

  Copyright (c) 2025 Mehmet Burak Akgün

  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":"The SlackSocketMode node enables real-time event processing from Slack using Socket Mode, allowing n8n workflows to listen to Slack events (like messages, reactions, app mentions) without requiring public URLs, making it ideal for local development and secure, private event handling.","capabilities":["Listens to Slack events in real-time via Socket Mode","Supports over 100 Slack events including message, reaction, app_mention, and channel events","Filters events using regex patterns on event JSON fields (e.g., user ID, subtypes, colors)","Supports filtering by specific slash commands (e.g., 'help', 'status')","Filters events by specific channels using channel IDs or names","Works with HTTP/HTTPS proxy via environment variables","Compatible with legacy single-channel workflows"],"authentication":"API key required: Bot User OAuth Token, App-Level Token, and Signing Secret from Slack App configuration","commonUseCases":["Real-time notification processing (e.g., when a user mentions a bot)","Automated responses to specific messages or reactions","Monitoring channel activity for triggers in development or production","Handling slash commands to initiate workflow actions","Event-driven automation in local or private network environments"],"limitations":["README content is truncated; full list of supported events may not be available","No support for incoming webhooks (only Socket Mode)","Requires proper Slack App setup with Socket Mode enabled and event subscriptions configured"],"relatedNodes":["Slack Webhook Node","HTTP Request Node","Filter Node","Function Node"]}


node_type: n8n-nodes-amis-v1.AmisV1
package_name: n8n-nodes-amis-v1
display_name: AmisV1
description: n8n node for AMIS v1
category: Community
development_style: declarative
version: 0.1.14
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: ruoixanh
npm_package_name: n8n-nodes-amis-v1
npm_version: 0.1.14
community_fetched_at: 2026-01-07T20:08:17.686Z
npm_readme: ERROR: No README data found!
ai_summary_generated_at: 2026-01-08 10:45:31
ai_documentation_summary:
  {"purpose":"The AmisV1 node in n8n is designed to integrate with the AMIS v1 platform, enabling users to interact with its API for data processing and workflow automation.","capabilities":["Send requests to AMIS v1 API","Handle responses from AMIS v1 services","Supports standard n8n input/output operations"],"authentication":"Not specified in available documentation","commonUseCases":["Fetching data from AMIS v1 services","Automating workflows involving AMIS v1 endpoints","Triggering actions based on AMIS v1 events"],"limitations":["No README content available for detailed functionality or configuration","Authentication method not clearly defined","Limited visibility into supported endpoints or data formats"],"relatedNodes":[]}


node_type: n8n-nodes-uazapi.Uazapi
package_name: n8n-nodes-uazapi
display_name: Uazapi
description: n8n community node for UazAPI - Complete WhatsApp automation with 90+ endpoints
category: Community
development_style: declarative
version: 1.0.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: aifocus
author_github_url: git+https://github.com/aifocusdev/n8n-nodes-uazapi.git
npm_package_name: n8n-nodes-uazapi
npm_version: 1.0.4
community_fetched_at: 2026-01-07T20:08:17.686Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-uazapi

  [![NPM Version](https://img.shields.io/npm/v/n8n-nodes-uazapi)](https://www.npmjs.com/package/n8n-nodes-uazapi)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![Downloads](https://img.shields.io/npm/dm/n8n-nodes-uazapi)](https://www.npmjs.com/package/n8n-nodes-uazapi)
  [![GitHub Stars](https://img.shields.io/github/stars/aifocusdev/n8n-nodes-uazapi?style=social)](https://github.com/aifocusdev/n8n-nodes-uazapi)

  > **Community node for n8n** - Integração completa com UazAPI para automação WhatsApp

  <div align="center">

  **💝 Projeto Open Source Gratuito** | [⭐ Dê uma Estrela](#) | [💰 Apoie via PIX](#-apoie-o-projeto)

  **Desenvolvido com ❤️ por [AI Focus Company](https://github.com/aifocusdev)**

  </div>

  Este é um node da comunidade n8n que fornece integração completa com a [UazAPI](https://uazapi.com), permitindo automação avançada do WhatsApp Business com mais de 90 endpoints disponíveis.

  ## 📋 Índice

  - [Características](#-características)
  - [Instalação](#-instalação)
  - [Credenciais](#-credenciais)
  - [Operações Disponíveis](#-operações-disponíveis)
  - [Exemplos de Uso](#-exemplos-de-uso)
  - [Desenvolvimento](#-desenvolvimento)
  - [Contribuindo](#-contribuindo)
  - [Licença](#-licença)

  ## ✨ Características

  ### 🖥️ **Gerenciamento de Instâncias**
  - Criar nova instância WhatsApp
  - Conectar ao WhatsApp (QR Code ou código de pareamento)
  - Verificar status da conexão
  - Desconectar e deletar instâncias
  - Listar todas as instâncias
  - Atualizar nome da instância

  ### 💬 **Mensagens**
  - **Texto:** Envio simples com preview de links
  - **Mídia:** Imagens, vídeos, áudios, documentos, PTT, stickers
  - **Contatos:** Envio de vCard
  - **Localização:** Coordenadas geográficas
  - **Menus Interativos:** Botões, listas, enquetes
  - **Stories/Status:** Publicação de status
  - **Ações:** Reagir, editar, deletar, marcar como lida

  ### 🚀 **Campanhas em Massa**
  - Disparo simples com mesma mensagem
  - Disparo avançado com personalização
  - Controle de campanhas (pausar, continuar, parar)
  - Delays aleatórios anti-ban
  - Agendamento de envios
  - Relatórios detalhados

  ### 👥 **Grupos WhatsApp**
  - Criar e gerenciar grupos
  - Adicionar/remover participantes
  - Promover/rebaixar administradores
  - Atualizar nome e descrição
  - Gerenciar links de convite
  - Listar todos os grupos

  ### 💬 **Gestão de Chats**
  - Arquivar/desarquivar conversas
  - Fixar chats importantes
  - Silenciar notificações
  - Deletar conversas
  - Marcar como lido
  - Buscar chats com filtros
  - Verificar números no WhatsApp

  ### 📞 **Contatos**
  - Listar contatos da agenda
  - Adicionar novos contatos
  - Remover contatos
  - Obter detalhes completos

  ### 🏷️ **Etiquetas/Labels**
  - Listar todas as etiquetas
  - Gerenciar etiquetas de chats
  - Editar etiquetas existentes

  ### 🤖 **Chatbot com IA**
  - Configurar chatbot inteligente
  - Criar agentes de IA personalizados
  - Suporte a múltiplos provedores:
    - **OpenAI** (GPT-4, GPT-4o-mini)
    - **Anthropic** (Claude 3.5 Sonnet)
    - **Google** (Gemini Pro)
    - **DeepSeek**
  - Gerenciar base de conhecimento
  - Criar funções para APIs externas

  ## 📦 Instalação

  ### Via n8n Community Nodes (Recomendado)

  1. Acesse o n8n
  2. Vá em **Settings** → **Community Nodes**
  3. Clique em **Install**
  4. Digite: `n8n-nodes-uazapi`
  5. Clique em **Install**

  ### Via NPM (Manual)

  ```bash
  npm install n8n-nodes-uazapi
  ```

  ### Via Docker

  Adicione ao seu `Dockerfile`:

  ```dockerfile
  FROM n8nio/n8n

  # Instalar node da comunidade
  RUN cd /usr/local/lib/node_modules/n8n && \
      npm install n8n-nodes-uazapi
  ```

  ## 🔐 Credenciais

  Para usar este node, você precisa configurar as credenciais da UazAPI:

  ### 1. Obter Credenciais

  1. Acesse [seudominio.uazapi.com](https://seudominio.uazapi.com)
  2. Crie uma conta ou faça login
  3. Obtenha seu **Admin Token**
  4. Ao criar uma instância, você receberá um **Instance Token**

  ### 2. Configurar no n8n

  1. No workflow, clique no node **UazAPI**
  2. Clique em **Create New Credentials**
  3. Preencha os campos:
     - **Base URL:** `https://seudominio.uazapi.com` (padrão)
     - **Admin Token:** Seu token de administrador (para criar/listar instâncias)
     - **Instance Token:** Token da instância específica (opcional - para operações de mensagens)

  > **💡 Dica:** Você pode usar variáveis do n8n para gerenciar múltiplas instâncias:
  > - Crie credenciais diferentes para cada instância
  > - Use expressões para selecionar dinamicamente a credencial

  ## 🎯 Operações Disponíveis

  ### Instance (Instâncias)
  - ✅ Create - Criar nova instância
  - ✅ Connect - Conectar ao WhatsApp
  - ✅ Get Status - Verificar status
  - ✅ Disconnect - Desconectar
  - ✅ Delete - Deletar instância
  - ✅ List All - Listar todas
  - ✅ Update Name - Renomear instância

  ### Message (Mensagens)
  - ✅ Send Text - Texto simples
  - ✅ Send Media - Imagem/vídeo/áudio/documento
  - ✅ Send Contact - Cartão vCard
  - ✅ Send Location - Localização GPS
  - ✅ Send Menu - Botões/listas/enquetes
  - ✅ Send Status - Story/Status
  - ✅ React to Message - Enviar emoji
  - ✅ Edit Message - Editar texto
  - ✅ Delete Message - Apagar para todos
  - ✅ Download Media - Baixar arquivo
  - ✅ Mark as Read - Marcar como lida

  ### Campaign (Disparos em Massa)
  - ✅ Create Simple - Campanha básica
  - ✅ Create Advanced - Com personalização
  - ✅ Control Campaign - Pausar/continuar/parar
  - ✅ List Campaigns - Listar todas
  - ✅ List Messages - Mensagens da campanha
  - ✅ Clear Sent - Limpar antigas

  ### Group (Grupos)
  - ✅ Create - Criar grupo
  - ✅ Get Info - Informações do grupo
  - ✅ List All - Listar grupos
  - ✅ Update Participants - Gerenciar membros
  - ✅ Update Name - Alterar nome
  - ✅ Update Description - Alterar descrição
  - ✅ Leave Group - Sair do grupo
  - ✅ Get Invite Link - Link de convite

  ### Chat (Conversas)
  - ✅ Archive - Arquivar/desarquivar
  - ✅ Delete - Deletar chat
  - ✅ Mark as Read - Marcar como lido
  - ✅ Pin - Fixar/desafixar
  - ✅ Mute - Silenciar
  - ✅ Find - Buscar chats
  - ✅ Check Number - Verificar WhatsApp

  ### Contact (Contatos)
  - ✅ List All - Listar contatos
  - ✅ Add - Adicionar contato
  - ✅ Remove - Remover contato
  - ✅ Get Details - Obter detalhes

  ### Label (Etiquetas)
  - ✅ List All - Listar etiquetas
  - ✅ Manage Chat - Gerenciar por chat
  - ✅ Edit - Editar etiqueta

  ### Chatbot (IA)
  - ✅ Update Settings - Configurar chatbot
  - ✅ Create Agent - Criar agente IA
  - ✅ List Agents - Listar agentes
  - ✅ Create Knowledge - Base de conhecimento
  - ✅ List Knowledge - Listar conhecimentos

  ## 📖 Exemplos de Uso

  ### Exemplo 1: Enviar Mensagem de Texto

  ```javascript
  // Configuração do node
  Resource: Message
  Operation: Send Text
  Number: 5511999999999
  Text: Olá! Esta é uma mensagem enviada via n8n + UazAPI
  ```

  ### Exemplo 2: Criar Campanha de Disparo

  ```javascript
  // Configuração do node
  Resource: Campaign
  Operation: Create Simple
  Numbers: 5511999999999, 5511888888888, 5511777777777
  Message Type: text
  Message Text: Olá {{nome}}! Promoção especial para você!
  Delay Min: 10
  Delay Max: 30
  ```

  ### Exemplo 3: Criar Grupo e Adicionar Membros

  ```javascript
  // Node 1: Criar Grupo
  Resource: Group
  Operation: Create
  Group Name: Meu Grupo Automático
  Participants: 5511999999999, 5511888888888

  // Node 2: Enviar Mensagem de Boas-vindas
  Resource: Message
  Operation: Send Text
  Number: {{$node["Criar Grupo"].json["groupJid"]}}
  Text: Bem-vindos ao grupo!
  ```

  ### Exemplo 4: Chatbot com IA (GPT-4)

  ```javascript
  // Node 1: Configurar Chatbot
  Resource: Chatbot
  Operation: Update Settings
  OpenAI API Key: sk-...
  Chatbot Enabled: true

  // Node 2: Criar Agente
  Resource: Chatbot
  Operation: Create Agent
  Agent Name: Atendente Virtual
  AI Provider: openai
  Model: gpt-4o-mini
  System Prompt: Você é um assistente de atendimento amigável...
  ```

  ### Exemplo 5: Workflow Completo - Auto-Resposta

  ```
  Webhook Trigger (Recebe mensagem)
    ↓
  IF (mensagem contém "oi" ou "olá")
    ↓
  UazAPI - Send Text (Responde automaticamente)
    ↓
  UazAPI - Mark as Read (Marca como lida)
  ```

  ### Exemplo 6: Disparos com CSV

  ```
  Read Binary File (CSV com contatos)
    ↓
  Split In Batches (Lotes de 50)
    ↓
  Loop Over Items (Para cada contato)
    ↓
  UazAPI - Send Text (Personalizado)
    ↓
  Wait (Delay aleatório 10-30s)
  ```

  ## 🛠️ Desenvolvimento

  ### Requisitos

  - Node.js 18+
  - npm ou yarn
  - n8n instalado localmente

  ### Setup do Projeto

  ```bash
  # Clonar repositório
  git clone https://github.com/seu-usuario/n8n-nodes-uazapi.git
  cd n8n-nodes-uazapi

  # Instalar dependências
  npm install

  # Build
  npm run build

  # Linkar localmente para testes
  npm link
  cd ~/.n8n
  npm link n8n-nodes-uazapi

  # Iniciar n8n
  n8n start
  ```

  ### Scripts Disponíveis

  ```bash
  npm run build      # Compilar TypeScript
  npm run dev        # Watch mode
  npm run lint       # Verificar código
  npm run lintfix    # Corrigir problemas
  npm run format     # Formatar código
  npm test           # Executar testes
  ```

  ### Estrutura do Projeto

  ```
  n8n-nodes-uazapi/
  ├── credentials/
  │   └── UazApiApi.credentials.ts
  ├── nodes/
  │   └── UazApi/
  │       ├── UazApi.node.ts
  │       └── uazapi.svg
  ├── package.json
  ├── tsconfig.json
  ├── gulpfile.js
  └── README.md
  ```

  ## 🤝 Contribuindo

  Contribuições são bem-vindas! Para contribuir:

  1. Fork o projeto
  2. Crie uma branch para sua feature (`git checkout -b feature/MinhaFeature`)
  3. Commit suas mudanças (`git commit -m 'Adiciona MinhaFeature'`)
  4. Push para a branch (`git push origin feature/MinhaFeature`)
  5. Abra um Pull Request

  ### Diretrizes

  - Siga o estilo de código do projeto (ESLint + Prettier)
  - Adicione testes para novas funcionalidades
  - Atualize a documentação conforme necessário
  - Mantenha commits atômicos e descritivos

  ## 🐛 Reportar Bugs

  Encontrou um bug? Por favor, abra uma [issue](https://github.com/seu-usuario/n8n-nodes-uazapi/issues) com:

  - Descrição detalhada do problema
  - Passos para reproduzir
  - Versão do n8n e do node
  - Screenshots (se aplicável)

  ## 📝 Changelog

  ### v1.0.0 (2025-01-XX)

  **Adicionado:**
  - ✨ Implementação inicial com 90+ endpoints
  - 🔐 Sistema de credenciais com admin token e instance token
  - 📱 Operações de instância (criar, conectar, status, deletar)
  - 💬 Envio de mensagens (texto, mídia, contato, localização)
  - 🚀 Sistema de campanhas em massa
  - 👥 Gerenciamento completo de grupos
  - 💬 Gestão de chats e conversas
  - 📞 Operações de contatos
  - 🏷️ Sistema de etiquetas
  - 🤖 Chatbot com IA (OpenAI, Claude, Gemini, DeepSeek)
  - 📚 Base de conhecimento para IA
  - 🎨 Interface visual intuitiva
  - 📖 Documentação completa

  ## 🔗 Links Úteis

  - [Documentação UazAPI](https://docs.uazapi.com)
  - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)
  - [GitHub Repository](https://github.com/seu-usuario/n8n-nodes-uazapi)
  - [NPM Package](https://www.npmjs.com/package/n8n-nodes-uazapi)

  ## 💬 Suporte e Contato

  ### 📧 Contato
  - **Empresa:** AI Focus Company
  - **Desenvolvedor:** Paulo Henrique
  - **Email:** aifocusdev@gmail.com
  - **GitHub:** [@aifocusdev](https://github.com/aifocusdev)

  ### 🐛 Reportar Problemas
  - **Issues:** [GitHub Issues](https://github.com/aifocusdev/n8n-nodes-uazapi/issues)
  - **Discussões:** [GitHub Discussions](https://github.com/aifocusdev/n8n-nodes-uazapi/discussions)

  ### 💡 Sugestões e Melhorias
  Abra uma issue ou discussão no GitHub. Todas as contribuições são bem-vindas!

  ---

  ## 💰 Apoie o Projeto

  Se este projeto foi útil para você ou sua empresa, considere apoiar o desenvolvimento!

  ### ☕ Contribua via PIX

  Sua contribuição ajuda a manter este projeto gratuito e open source!

  ```
  PIX (Celular): (99) 99229-1983
  Favorecido: Paulo Henrique
  Empresa: AI Focus Company
  ```

  **Outras formas de apoiar:**
  - ⭐ Dê uma estrela no GitHub
  - 🐛 Reporte bugs e sugira melhorias
  - 📝 Contribua com código
  - 📢 Compartilhe o projeto com outros desenvolvedores
  - 💬 Ajude outros usuários nas discussões

  Toda contribuição, por menor que seja, faz diferença! 🙏

  ---

  ## 📜 Licença

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

  ## 👏 Agradecimentos

  - Equipe [n8n](https://n8n.io) pela plataforma incrível
  - Equipe [UazAPI](https://uazapi.com) pela API robusta
  - Comunidade open source
  - A todos que contribuíram com doações e feedback

  ---

  <div align="center">

  **Desenvolvido com ❤️ por [AI Focus Company](https://github.com/aifocusdev)**

  **Paulo Henrique** | aifocusdev@gmail.com

  Se este projeto foi útil, considere dar uma ⭐ no GitHub e contribuir via PIX!

  [![GitHub Stars](https://img.shields.io/github/stars/aifocusdev/n8n-nodes-uazapi?style=social)](https://github.com/aifocusdev/n8n-nodes-uazapi)
  [![NPM Version](https://img.shields.io/npm/v/n8n-nodes-uazapi)](https://www.npmjs.com/package/n8n-nodes-uazapi)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  </div>

ai_documentation_summary:
  {"purpose":"A community n8n node that provides full integration with UazAPI for advanced WhatsApp Business automation, offering over 90 endpoints to manage messages, campaigns, groups, chats, contacts, and AI-powered chatbots.","capabilities":["Create, connect, manage, and delete WhatsApp instances via QR code or pairing code","Send text, media (images, videos, audio, documents), contacts (vCard), location, interactive menus, stories/status, and reactions","Manage WhatsApp groups (create, update members, rename, invite, leave)","Automate bulk messaging with personalization, delays, scheduling, and campaign control","Archive, delete, pin, mute, and search chats with filters","Manage contacts and labels","Configure AI chatbots using OpenAI, Anthropic, Google Gemini, and DeepSeek models","Integrate external APIs via custom functions in chatbot workflows"],"authentication":"API key-based authentication using Admin Token (for instance management) and Instance Token (for message operations)","commonUseCases":["Automated customer support via AI chatbots","Scheduled bulk messaging campaigns","Group management and member updates","Sending promotional content with interactive menus","Tracking and managing customer conversations"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-database"]}


node_type: @jaimeflneto/n8n-nodes-google-ads-conversion.GoogleAdsConversion
package_name: @jaimeflneto/n8n-nodes-google-ads-conversion
display_name: GoogleAdsConversion
category: Community
development_style: declarative
version: 0.8.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: jaimeflneto
author_github_url: git+https://github.com/jaimeneto85/n8n-nodes-google-ads-conversion.git
npm_package_name: @jaimeflneto/n8n-nodes-google-ads-conversion
npm_version: 0.8.4
community_fetched_at: 2026-01-07T20:08:17.687Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n node for tracking conversions in Google Ads with support for batch processing, enhanced conversions, and comprehensive privacy compliance

npm_readme:
  # Google Ads Conversion Node for n8n

  [![npm version](https://badge.fury.io/js/%40jaimeneto85%2Fn8n-nodes-google-ads-conversion.svg)](https://badge.fury.io/js/%40jaimeneto85%2Fn8n-nodes-google-ads-conversion)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![n8n Community Node](https://img.shields.io/badge/n8n-Community%20Node-orange)](https://n8n.io)

  An advanced n8n community node for tracking conversions in Google Ads with comprehensive support for batch processing, enhanced conversions, privacy compliance, and production-grade error handling.

  ## 🌟 Key Features

  ### 🎯 **Multiple Identification Methods**
  - **GCLID**: Standard Google Click ID conversion tracking
  - **Enhanced Conversions**: Privacy-safe user data matching with automatic SHA-256 hashing
  - **GBRAID**: iOS app install conversion tracking (iOS 14.5+)
  - **WBRAID**: iOS web-to-app conversion tracking

  ### 🏢 **Manager Account (MCC) Support**
  - **Full MCC compatibility**: Upload conversions to managed accounts
  - **Account type detection**: Automatic switching between regular and manager accounts
  - **Managed account selection**: Searchable dropdown with account details
  - **Correct authentication**: Proper login-customer-id headers for MCC

  ### ⚡ **High-Performance Batch Processing**
  - Process up to **2000 conversions per API call**
  - **3 processing modes**: Partial Failure, Fail Fast, Continue on Error
  - Real-time progress tracking and statistics
  - Automatic batch size optimization (1-2000 range)

  ### 🔐 **Privacy & Compliance**
  - **GDPR/EEA compliance** with consent management
  - **Automatic data hashing** (SHA-256) for user identifiers
  - **Zero data retention** - processed data never stored
  - Privacy-first design with data minimization

  ### 🛡️ **Enterprise-Grade Reliability**
  - **Intelligent retry logic** with exponential backoff and jitter
  - **Custom error classification** for different failure types
  - **Rate limit handling** with automatic throttling
  - **Comprehensive logging** for monitoring and debugging

  ### 🎛️ **Developer Experience**
  - **Validation mode** for testing without uploading data
  - **Debug mode** with detailed request/response logging
  - **TypeScript implementation** with full type safety
  - **Extensive documentation** and examples

  ## 📦 Installation

  ### Option 1: npm Installation (Recommended)
  ```bash
  npm install @jaimeflneto/n8n-nodes-google-ads-conversion
  ```

  ### Option 2: n8n Community Nodes
  1. In n8n, go to **Settings** → **Community Nodes**
  2. Enter: `@jaimeflneto/n8n-nodes-google-ads-conversion`
  3. Click **Install**
  4. Restart n8n

  ### Option 3: Manual Installation
  1. Download the latest release
  2. Extract to your n8n custom nodes directory
  3. Run `npm install` in the extracted directory
  4. Restart n8n

  ## 🚀 Quick Start

  ### 1. Prerequisites
  - Google Ads account with appropriate permissions
  - Google Ads Developer Token ([apply here](https://developers.google.com/google-ads/api/docs/first-call/dev-token))
  - Google Cloud Project with Google Ads API enabled
  - OAuth2 credentials (Client ID & Secret)
  - **For Manager Accounts (MCC)**: Access to managed accounts you want to track

  ### 2. Setup Credentials
  1. In n8n, create a new **Google Ads OAuth2** credential
  2. Fill in your Developer Token and Customer ID (Manager account ID for MCC)
  3. Add OAuth2 Client ID and Secret
  4. Complete the authorization flow

  ### 3. Configure Node
  Add the Google Ads Conversion node to your workflow and configure:
  - **Account Type**: Choose Regular Account or Manager Account (MCC)
  - **Managed Account**: Select target account (only for MCC)
  - **Conversion Action ID**: From Google Ads conversion settings
  - **Identification Method**: Choose GCLID, Enhanced, GBRAID, or WBRAID
  - **Conversion Data**: Value, currency, timestamp, etc.

  ## 💡 Usage Examples

  ### Basic GCLID Conversion
  ```json
  {
    "operation": "uploadClickConversion",
    "conversionAction": "customers/1234567890/conversionActions/987654321",
    "conversionDateTime": "2025-01-15 14:30:00+00:00",
    "conversionValue": 99.99,
    "currencyCode": "USD",
    "orderId": "order_12345",
    "identificationMethod": "gclid",
    "gclid": "Cj0KCQiA..."
  }
  ```

  ### Enhanced Conversion with Privacy Compliance
  ```json
  {
    "operation": "uploadClickConversion",
    "conversionAction": "customers/1234567890/conversionActions/987654321",
    "conversionDateTime": "2025-01-15 14:30:00+00:00",
    "conversionValue": 149.99,
    "currencyCode": "USD",
    "identificationMethod": "enhanced",
    "email": "user@example.com",
    "phoneNumber": "+1234567890",
    "firstName": "John",
    "lastName": "Doe",
    "adUserDataConsent": "GRANTED",
    "adPersonalizationConsent": "GRANTED"
  }
  ```

  ### Manager Account (MCC) Configuration
  ```json
  {
    "operation": "uploadClickConversion",
    "accountType": "manager",
    "managedAccount": {
      "mode": "list",
      "value": "9876543210"
    },
    "conversionAction": "customers/9876543210/conversionActions/987654321",
    "conversionDateTime": "{{$now}}",
    "conversionValue": 199.99,
    "currencyCode": "USD",
    "identificationMethod": "gclid",
    "gclid": "Cj0KCQiA..."
  }
  ```

  ### Batch Processing Configuration
  ```json
  {
    "enableBatchProcessing": true,
    "batchSize": 500,
    "batchProcessingMode": "partialFailure",
    "showProgress": true
  }
  ```

  ## 📚 Documentation

  - **[User Guide](docs/user-guide.md)**: Complete setup and usage instructions
  - **[Developer Guide](docs/developer-guide.md)**: Architecture and development details
  - **[API Reference](docs/api-reference.md)**: Complete parameter reference
  - **[Changelog](CHANGELOG.md)**: Version history and updates

  ## 🔧 Configuration Reference

  ### Required Parameters
  | Parameter | Description | Example |
  |-----------|-------------|---------|
  | `conversionAction` | Conversion action ID | `customers/123/conversionActions/456` |
  | `conversionDateTime` | Conversion timestamp | `2025-01-15 14:30:00+00:00` or `{{$now}}` |
  | `identificationMethod` | User identification method | `gclid`, `enhanced`, `gbraid`, `wbraid` |

  ### Account Configuration
  | Parameter | Description | Example |
  |-----------|-------------|---------|
  | `accountType` | Account type | `regular`, `manager` |
  | `managedAccount` | Managed account (MCC only) | `{ "mode": "list", "value": "1234567890" }` |

  ### Optional Parameters
  | Parameter | Description | Default |
  |-----------|-------------|---------|
  | `conversionValue` | Monetary value | `0` |
  | `currencyCode` | Currency code | `USD` |
  | `orderId` | Transaction ID | - |
  | `validateOnly` | Test mode | `false` |
  | `debugMode` | Debug logging | `false` |

  ### Batch Processing
  | Parameter | Description | Default |
  |-----------|-------------|---------|
  | `enableBatchProcessing` | Enable batch mode | `false` |
  | `batchSize` | Items per batch | `100` |
  | `batchProcessingMode` | Error handling mode | `partialFailure` |
  | `showProgress` | Progress logging | `true` |

  ## 🧪 Testing

  ### Automated Tests
  ```bash
  npm test
  ```

  ### Validation Mode
  Enable `validateOnly` to test configurations without uploading data to Google Ads.

  ### Debug Mode
  Enable `debugMode` for comprehensive logging of requests, responses, and processing details.

  ## 🐛 Troubleshooting

  ### Common Issues

  #### Authentication Errors
  - Verify developer token is approved and active
  - Check OAuth2 credentials are correctly configured
  - Ensure customer ID format is correct (123-456-7890)
  - **For MCC**: Verify manager account has access to selected managed account

  #### Validation Errors
  - Verify all required fields are provided
  - Check date format: `YYYY-MM-DD HH:MM:SS+TZ` or use `{{$now}}`
  - For enhanced conversions, provide at least one user identifier
  - **For MCC**: Ensure managed account is selected when using manager account type

  #### Rate Limiting
  - Enable batch processing for high volumes
  - Node automatically handles retries with exponential backoff
  - Monitor Google Ads API quotas

  ### Debug Information
  Enable debug mode to see:
  - Request payloads and headers
  - Response data and status codes
  - Retry attempts and delays
  - Error details with stack traces

  ## 🤝 Contributing

  We welcome contributions! Please see our [Contributing Guidelines](docs/developer-guide.md#contributing) for details.

  ### Development Setup
  ```bash
  git clone https://github.com/jaimeneot85/n8n-nodes-google-ads-conversion.git
  cd n8n-nodes-google-ads-conversion
  npm install
  npm run dev
  ```

  ### Code Standards
  - TypeScript with strict type checking
  - ESLint for code quality
  - Prettier for formatting
  - SOLID principles and DRY implementation

  ## 📊 Performance

  ### Batch Processing Benefits
  - **Up to 2000x reduction** in API calls
  - **Improved throughput** for large datasets
  - **Reduced rate limiting** exposure
  - **Better resource utilization**

  ### Memory Efficiency
  - Streaming batch processing
  - No data persistence
  - Optimized memory usage for large datasets

  ## 🔒 Security & Privacy

  ### Data Protection
  - **Zero data retention**: No conversion data stored
  - **Secure transmission**: HTTPS-only communication
  - **Credential security**: OAuth2 with token refresh
  - **Automatic hashing**: SHA-256 for user identifiers

  ### Privacy Compliance
  - **GDPR support**: Comprehensive consent handling
  - **Data minimization**: Only required fields processed
  - **User control**: Configurable consent levels
  - **Audit trail**: Comprehensive logging

  ## 📈 Roadmap

  ### ✅ Recently Implemented (v0.7.0)
  - **Manager Account (MCC) Support**: Full support for uploading conversions to managed accounts
  - **DateTime Object Support**: Native compatibility with n8n `{{$now}}` expressions
  - **Enhanced Error Handling**: Improved URL validation and customer ID processing

  ### Upcoming Features
  - Offline conversion support
  - Bulk conversion import
  - Analytics integration
  - Custom audience support
  - Advanced attribution models

  ## 📝 License

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

  ## 💬 Support

  - **Documentation**: [User Guide](docs/user-guide.md) | [Developer Guide](docs/developer-guide.md)
  - **Issues**: [GitHub Issues](https://github.com/jaimeneto85/n8n-nodes-google-ads-conversion/issues)
  - **Community**: [n8n Community Forum](https://community.n8n.io/)
  - **Email**: [jaimeflneto@gmail.com](mailto:jaimeflneto@gmail.com)

  ## 🙏 Acknowledgments

  - [n8n.io](https://n8n.io) for the amazing workflow automation platform
  - [Google Ads API](https://developers.google.com/google-ads/api/) for comprehensive conversion tracking
  - The n8n community for feedback and contributions

  ---

  **Made with ❤️ by [Jaime Lima Neto](https://linkedin.com/in/jaimeflneto)**

  *If this project helps your business, consider [sponsoring me](https://github.com/sponsors/jaimeneto85) to support continued development.* 

ai_documentation_summary:
  {"purpose":"The Google Ads Conversion node enables n8n users to upload conversions to Google Ads, supporting multiple identification methods including GCLID, enhanced conversions, and iOS-specific tracking (GBRAID/WBRAID), with full support for Manager Accounts (MCC), privacy compliance, and batch processing.","capabilities":["Upload conversions using GCLID, enhanced conversions, GBRAID, or WBRAID","Support for Google Ads Manager Accounts (MCC) with automatic account type detection and selection","Batch processing up to 2000 conversions per API call with configurable modes (Partial Failure, Fail Fast, Continue on Error)","Privacy-compliant data handling with automatic SHA-256 hashing and GDPR/EEA compliance","Zero data retention and privacy-first design with consent management","Intelligent retry logic, rate limiting, and comprehensive error logging","Validation and debug modes for testing without data upload"],"authentication":"OAuth2 with Google Ads Developer Token, Client ID, and Client Secret. For MCC, requires a valid Customer ID (Manager Account ID).","commonUseCases":["Tracking website conversions via GCLID","Recording app installs using GBRAID or WBRAID","Processing enhanced conversions with user data while maintaining privacy","Uploading conversions to managed accounts (MCC) for multi-account reporting","Batch processing large volumes of conversion data efficiently"],"limitations":[],"relatedNodes":["Google Ads OAuth2","Google Ads Conversion Action","Batch Processing Nodes"]}


node_type: n8n-nodes-mercadopago-pix.MercadopagoPix
package_name: n8n-nodes-mercadopago-pix
display_name: MercadopagoPix
description: Node personalizado do N8N para integração com APIs do Mercado Pago
category: Community
development_style: declarative
version: 1.6.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: georgivancosta
author_github_url: git+https://github.com/seu-usuario/n8n-nodes-mercadopago.git
npm_package_name: n8n-nodes-mercadopago-pix
npm_version: 1.6.9
community_fetched_at: 2026-01-07T20:08:17.687Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # N8N Mercado Pago Node

  [![NPM Version](https://img.shields.io/npm/v/n8n-nodes-mercadopago-pix.svg)](https://www.npmjs.com/package/n8n-nodes-mercadopago-pix)
  [![NPM Downloads](https://img.shields.io/npm/dm/n8n-nodes-mercadopago-pix.svg)](https://www.npmjs.com/package/n8n-nodes-mercadopago-pix)
  [![Node.js Compatibility](https://img.shields.io/badge/node-%3E%3D18.17.0-brightgreen.svg)](https://nodejs.org/)

  ⚠️ **VERSÃO BETA** - Este projeto está em fase de testes e desenvolvimento ativo. Algumas funcionalidades podem estar instáveis ou incompletas.

  **✅ PUBLICADO OFICIALMENTE NO NPM REGISTRY**

  ## 🎯 **TESTE GRATUITO DISPONÍVEL!**

  🚀 **QUER TESTAR TODAS AS FUNCIONALIDADES PREMIUM GRATUITAMENTE?**

  ✨ **É possível testar TODAS as funcionalidades premium sem custo!**
  - 🔍 **Consultar Pagamentos**: Verificar status e detalhes
  - 🔎 **Buscar Pagamentos**: Filtros avançados por critérios  
  - ✏️ **Atualizar Pagamentos**: Modificar pagamentos existentes
  - 💰 **Reembolsar Pagamentos**: Processar reembolsos totais/parciais

  📱 **Solicite seu teste gratuito agora:**
  - **WhatsApp**: +55 84 99976-4273
  - **E-mail**: georgivancosta@gmail.com

  *Teste completo das funcionalidades premium por tempo limitado - sem compromisso!*

  ---

  Node personalizado do N8N para integração com as APIs do Mercado Pago, permitindo processar pagamentos PIX, criar preferências de checkout e gerenciar transações.

  ## 🔑 **CONFIGURAÇÃO OBRIGATÓRIA - TOKEN API**

  ⚠️ **ATENÇÃO**: Para funcionar, você **DEVE** configurar um token válido do Mercado Pago!

  ### 🧪 Como Obter Token de Teste (GRATUITO)

  #### 1. Acesse sua Conta Mercado Pago
  - Vá para: https://www.mercadopago.com.br/developers/panel
  - Faça login na sua conta Mercado Pago

  #### 2. Crie uma Aplicação
  - Clique em "Criar aplicação"
  - Escolha "Pagamentos online"
  - Preencha os dados básicos

  #### 3. Obtenha suas Credenciais
  - Na aba "Credenciais"
  - **Para Testes**: Copie o **Access Token de Teste** (começa com `TEST-`)
  - **Para Vendas Reais**: Copie o **Access Token de Produção** (começa com `APP_USR-`)

  ⚠️ **IMPORTANTE**: Para processar pagamentos reais e receber o dinheiro, você **DEVE** usar o token de produção!

  ### 🔧 Configuração no N8N

  #### 1. Adicionar Credencial
  1. No N8N, vá em **Credentials**
  2. Clique em **+ Add Credential**
  3. Procure por **Mercado Pago API**
  4. Preencha os campos:

  **Para Testes:**
  ```
  Access Token: TEST-1234567890123456-123456-abcdef1234567890abcdef1234567890-123456789
  Environment: Sandbox (Testes)
  ```

  **Para Vendas Reais:**
  ```
  Access Token: APP_USR-1234567890123456-123456-abcdef1234567890abcdef1234567890-123456789
  Environment: Production (Produção)
  ```

  #### 2. Exemplos de Tokens Válidos
  **Token de Teste:**
  ```
  TEST-1234567890123456-123456-abcdef1234567890abcdef1234567890-123456789
  ```

  **Token de Produção:**
  ```
  APP_USR-1234567890123456-123456-abcdef1234567890abcdef1234567890-123456789
  ```

  #### 3. Configurar no Workflow
  1. Adicione o nó **Mercado Pago**
  2. Selecione a credencial criada
  3. Configure a operação desejada

  ### 💡 Dicas Importantes

  - ✅ **Token de Teste**: Gratuito, para desenvolvimento e testes (começa com `TEST-`)
  - 🚀 **Token de Produção**: **OBRIGATÓRIO para vendas reais** (começa com `APP_USR-`)
  - ⚠️ **ATENÇÃO**: Para processar pagamentos reais, você **DEVE** usar o token de produção
  - 🔒 **Nunca compartilhe** seus tokens
  - 🔄 **Tokens expiram**: Verifique periodicamente
  - 💰 **Vendas Reais**: Apenas com token de produção os pagamentos são processados de verdade

  ### 🚀 Testando a Configuração

  #### Workflow de Teste Simples:
  ```json
  {
    "description": "Pagamento PIX - Teste",
    "transaction_amount": 10.50,
    "payment_method_id": "pix",
    "payer_email": "teste@exemplo.com",
    "payer_first_name": "João",
    "external_reference": "TESTE-001"
  }
  ```

  ### 🆘 Problemas Comuns

  #### Erro: "Access Token é obrigatório"
  - **Solução**: Configure a credencial do Mercado Pago

  #### Erro: "Token muito curto"
  - **Solução**: Verifique se copiou o token completo

  #### Erro: "Formato inválido"
  - **Solução**: Token de teste deve começar com `TEST-`

  **Lembre-se**: O token é como uma "chave" que permite ao N8N se comunicar com o Mercado Pago. Sem ele, não é possível processar pagamentos! 🔐

  ## 🔒 **Funcionalidades**

  ### 🆓 Funcionalidades Gratuitas
  - ✅ **Criar Pagamentos PIX**: Ilimitado e sem restrições
  - ✅ **Configuração de Credenciais**: Acesso completo

  ### 💎 Funcionalidades Premium
  - 🔍 **Consultar Pagamentos**: Verificar status e detalhes
  - 🔎 **Buscar Pagamentos**: Filtros avançados por critérios
  - ✏️ **Atualizar Pagamentos**: Modificar pagamentos existentes
  - 💰 **Reembolsar Pagamentos**: Processar reembolsos totais/parciais

  ### 📱 **Adquirir Licença Premium**
  **WhatsApp**: +55 84 99976-4273  
  **Contato**: Georgivan Costa  
  **Licenças**: Individuais por instância N8N

  ---

  ## 💝 Apoie o Projeto

  Se este projeto te ajudou, considere fazer uma doação PIX para apoiar o desenvolvimento:

  ### PIX para Doações
  - **Chave PIX**: georgivancosta@gmail.com
  - **Nome**: Georgivan Costa
  - **QR Code PIX**: 

  Sua contribuição ajuda a manter este projeto ativo e em constante evolução! 🚀

  ## 👨‍💻 Autor

  **Georgivan Costa** - Especialista em Automações com IA

  - 📺 **YouTube**: [https://www.youtube.com/@GeorgivanCosta](https://www.youtube.com/@GeorgivanCosta)
  - 📱 **Instagram**: [https://www.instagram.com/georgivancosta](https://www.instagram.com/georgivancosta)

  Siga para mais conteúdo sobre automações, IA e desenvolvimento!

  ## 📞 Contato

  ### Desenvolvedor

  **WhatsApp:** +55 84 99976-4273

  **Para suporte técnico ou dúvidas sobre licenciamento, entre em contato via WhatsApp.**

  ---

  ### Sistema de Proteção de Licenças N8N - Mercado Pago

  Este projeto implementa um sistema completo de proteção de licenças para o nó N8N do Mercado Pago, incluindo:

  - ✅ Sistema de licenças criptografadas
  - ✅ Controle de instâncias únicas
  - ✅ Ofuscação de código
  - ✅ Validação rigorosa de licenças

  *Desenvolvido com foco em segurança e proteção contra uso não autorizado.*

  ## 🎉 **VERSÃO 1.2.8 - CORREÇÕES CRÍTICAS IMPLEMENTADAS**

  - 🔧 **PROBLEMA RESOLVIDO**: Marketplace fee automático removido (causava erros OAuth)
  - ✅ **PIX FUNCIONANDO**: Estrutura do payer corrigida conforme documentação oficial
  - 🚀 **COMPATIBILIDADE**: Suporte completo para Node.js v24+
  - 📦 **INSTALAÇÃO DIRETA**: Disponível via `npm install n8n-nodes-mercadopago-pix`

  ## Funcionalidades

  ### 🎯 **INTERFACE INTELIGENTE** (Novidade v1.5.2)
  - **Campo de Licença Dinâmico**: Aparece apenas quando necessário
  - **"Criar Pagamentos"**: Interface limpa, sem campos de licença (100% gratuito)
  - **Operações Premium**: Campo de licença obrigatório e visível automaticamente
  - **Experiência Otimizada**: Menos confusão, mais produtividade

  ### 🔐 Autenticação
  - Suporte para Access Token do Mercado Pago
  - Configuração de ambiente (Sandbox/Production)
  - Autenticação automática via Bearer Token

  ### 💳 Pagamentos (Payment) - Modelo Freemium
  - **✨ Criar Pagamento**: 100% GRATUITO - Processa pagamentos PIX sem limitações
  - **🔒 Consultar Pagamento**: PREMIUM - Obtém informações detalhadas (requer licença)
  - **🔒 Buscar Pagamentos**: PREMIUM - Busca por critérios específicos (requer licença)
  - **🔒 Atualizar Pagamento**: PREMIUM - Modifica pagamentos existentes (requer licença)
  - **🔒 Reembolsar Pagamento**: PREMIUM - Processa reembolsos totais ou parciais (requer licença)

  ### 🛒 Preferências (Preference) - Checkout Pro + Split Payments
  - **Criar Preferência**: Cria preferências para Checkout Pro com marketplace fee automático
  - **Consultar Preferência**: Obtém dados de uma preferência existente
  - **Atualizar Preferência**: Modifica preferências existentes com marketplace fee automático

  ## Instalação

  ### Pré-requisitos
  - N8N instalado (versão compatível com community nodes)
  - Node.js ≥18.17.0 (compatível até v24+)
  - Conta no Mercado Pago (sandbox ou produção)
  - Access Token do Mercado Pago

  ### 🚀 Instalação via NPM (RECOMENDADO)

  **O pacote está publicado oficialmente no NPM Registry!**

  #### Método 1: Via Interface do N8N
  1. Acesse **Settings → Community Nodes** no seu N8N
  2. Clique em **Install a community node**
  3. Digite: `n8n-nodes-mercadopago-pix`
  4. Clique em **Install**

  #### Método 2: Via Linha de Comando
  ```bash
  # No diretório do N8N
  npm install n8n-nodes-mercadopago-pix
  ```

  #### Método 3: Via Docker
  ```dockerfile
  # No Dockerfile do N8N
  RUN npm install -g n8n-nodes-mercadopago-pix
  ```

  **Versão Atual**: `1.5.2` ✅ **PUBLICADO**

  ### Instalação Manual

  ```bash
  # Clone o repositório
  git clone https://github.com/seu-usuario/n8n-nodes-mercadopago.git
  cd n8n-nodes-mercadopago

  # Instale as dependências
  npm install

  # Compile o projeto
  npm run build

  # Publique no npm (opcional)
  npm publish
  ```

  ## Configuração

  ### 1. Obter Credenciais do Mercado Pago

  1. Acesse [Mercado Pago Developers](https://www.mercadopago.com.br/developers/pt/reference)
  2. Faça login na sua conta
  3. Vá para **Suas integrações > Credenciais**
  4. Copie o **Access Token** (sandbox ou produção)

  ### 2. Configurar Credenciais no N8N

  1. No N8N, vá para **Credentials**
  2. Clique em **+ Add Credential**
  3. Procure por **Mercado Pago API**
  4. Preencha:
     - **Access Token**: Seu token do Mercado Pago
     - **Environment**: Sandbox (testes) ou Production (produção)
  5. Teste a conexão e salve

  ## Como Usar

  ### Exemplo 1: Criar um Pagamento

  ```json
  {
    "resource": "payment",
    "operation": "create",
    "transactionAmount": 100.50,
    "paymentMethodId": "pix",
    "payerEmail": "cliente@email.com"
  }
  ```

  ### Exemplo 2: Criar Preferência de Checkout

  ```json
  {
    "resource": "preference",
    "operation": "create",
    "items": [
      {
        "title": "Produto Exemplo",
        "quantity": 1,
        "unit_price": 100.50
      }
    ]
  }
  ```

  ### Exemplo 3: Consultar Status de Pagamento

  ```json
  {
    "resource": "payment",
    "operation": "get",
    "paymentId": "123456789"
  }
  ```

  ## Métodos de Pagamento Suportados

  ### Brasil
  - **PIX**: `pix`
  - **Cartão de Crédito**: `visa`, `master`, `amex`, `elo`, `hipercard`
  - **Boleto**: `bolbradesco`, `boletobancario`
  - **Débito**: `debvisa`, `debmaster`

  ### Argentina
  - **Cartão de Crédito**: `visa`, `master`, `amex`
  - **Transferência**: `rapipago`, `pagofacil`

  ### México
  - **Cartão de Crédito**: `visa`, `master`, `amex`
  - **OXXO**: `oxxo`
  - **SPEI**: `bancomer`, `banamex`

  ## Estrutura de Resposta

  ### Pagamento Criado
  ```json
  {
    "id": 123456789,
    "status": "approved",
    "status_detail": "accredited",
    "transaction_amount": 100.50,
    "currency_id": "BRL",
    "payment_method_id": "pix",
    "payer": {
      "email": "cliente@email.com"
    },
    "date_created": "2024-01-15T10:30:00.000Z"
  }
  ```

  ### Preferência Criada
  ```json
  {
    "id": "123456789-abcd-1234-efgh-567890123456",
    "init_point": "https://www.mercadopago.com.br/checkout/v1/redirect?pref_id=123456789-abcd-1234-efgh-567890123456",
    "sandbox_init_point": "https://sandbox.mercadopago.com.br/checkout/v1/redirect?pref_id=123456789-abcd-1234-efgh-567890123456",
    "items": [
      {
        "title": "Produto Exemplo",
        "quantity": 1,
        "unit_price": 100.50
      }
    ]
  }
  ```

  ## Status de Pagamento

  | Status | Descrição |
  |--------|----------|
  | `pending` | Pagamento pendente |
  | `approved` | Pagamento aprovado |
  | `authorized` | Pagamento autorizado |
  | `in_process` | Pagamento em processamento |
  | `in_mediation` | Pagamento em mediação |
  | `rejected` | Pagamento rejeitado |
  | `cancelled` | Pagamento cancelado |
  | `refunded` | Pagamento reembolsado |
  | `charged_back` | Pagamento com chargeback |

  ## Tratamento de Erros

  O node trata automaticamente os seguintes tipos de erro:

  - **401 Unauthorized**: Token inválido ou expirado
  - **400 Bad Request**: Dados inválidos na requisição
  - **404 Not Found**: Recurso não encontrado
  - **500 Internal Server Error**: Erro interno do Mercado Pago

  ## Webhooks

  Para receber notificações de mudança de status dos pagamentos:

  1. Configure um webhook no Mercado Pago
  2. Use o node **Webhook** do N8N para receber as notificações
  3. Configure a URL do webhook: `https://seu-n8n.com/webhook/mercadopago`

  ## Contribuição

  Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.

  ## Licença

  MIT License - veja o arquivo [LICENSE](LICENSE) para detalhes.

  ## Suporte

  - [Documentação do Mercado Pago](https://www.mercadopago.com.br/developers/pt/reference)
  - [Documentação do N8N](https://docs.n8n.io/integrations/community-nodes/)- [Issues do GitHub](https://github.com/seu-usuario/n8n-nodes-mercadopago/issues)

  ## Changelog

  ### v1.5.2 (ATUAL) ✅ **PUBLICADO NO NPM**
  - 🎯 **INTERFACE INTELIGENTE**: Campo de licença dinâmico - só aparece quando necessário
  - ✨ **EXPERIÊNCIA APRIMORADA**: "Criar Pagamentos" sem obstáculos visuais (campo oculto)
  - 🔒 **LICENÇA CONTEXTUAL**: Campo obrigatório apenas para operações premium
  - 🛡️ **SISTEMA DE PROTEÇÃO**: Código ofuscado e sistema de licenças criptografadas
  - 📱 **CONTATO INTEGRADO**: WhatsApp +55 84 99976-4273 para licenças premium
  - 🔐 **VALIDAÇÃO INTELIGENTE**: Sistema de licenças por operação específica
  - ⚡ **OTIMIZAÇÕES**: Melhorias de performance e estabilidade

  ### v1.5.1
  - 📖 **DOCUMENTAÇÃO COMPLETA**: Guia detalhado de configuração do token
  - 🚀 **WORKFLOW DE EXEMPLO**: Template completo com instruções passo-a-passo
  - ✅ **CONFIGURAÇÃO SIMPLIFICADA**: README atualizado com seção destacada

  ### v1.5.0
  - 🔧 **VALIDAÇÕES FLEXÍVEIS**: Credenciais simplificadas para melhor compatibilidade
  - ✨ **MODELO FREEMIUM**: Criação de pagamentos PIX 100% gratuita
  - 🔒 **FUNCIONALIDADES PREMIUM**: Buscar, consultar, atualizar e reembolsar requerem licença

  ### v1.2.9
  - 🔧 **CORREÇÃO CRÍTICA**: Corrigida configuração de URL base nas credenciais que causava erro "URL inválida"
  - ✅ **VALIDAÇÕES ROBUSTAS**: Adicionadas validações obrigatórias para parâmetros de pagamento PIX
  - ✅ **MARKETPLACE FEE**: Removido completamente da operação 'update' de preferências
  - ✅ **TRATAMENTO DE ERROS**: Melhorado tratamento de erros com mensagens mais específicas

  ### v1.2.8
  - 🔧 **CORREÇÃO CRÍTICA**: Removido marketplace fee automático (causava erros OAuth)
  - 🔧 **COMPATIBILIDADE**: Suporte para Node.js v24+ (removido limite <22.0.0)
  - 🔧 **DEPENDÊNCIAS**: Removida dependência circular problemática
  - ✅ **ESTRUTURA PAYER**: Corrigida conforme documentação oficial MercadoPago
  - ✅ **ENDPOINTS**: Validados todos os endpoints da API
  - ✅ **PIX**: Funcionamento 100% testado e validado
  - ✅ **PUBLICAÇÃO**: Disponível oficialmente no NPM Registry
  - ✅ **INSTALAÇÃO**: Compatível com instalação direta no N8N

  ### v1.2.7
  - 🔧 Correções na estrutura do payer
  - 🔧 Ajustes nos endpoints da API
  - ⚠️ Problemas com marketplace fee (corrigido em v1.2.8)

  ### v1.0.0
  - ✅ Implementação inicial
  - ✅ Suporte para pagamentos diretos
  - ✅ Suporte para preferências de checkout
  - ✅ Gestão básica de clientes
  - ✅ Autenticação via Access Token
  - ✅ Suporte para ambientes sandbox e produção

ai_documentation_summary:
  {"purpose":"O nó MercadopagoPix permite integrar o N8N com as APIs do Mercado Pago para processar pagamentos via PIX, criar preferências de checkout e gerenciar transações, com suporte a operações como consulta, busca, atualização e reembolso de pagamentos.","capabilities":["Criar pagamentos PIX","Consultar pagamentos (status e detalhes)","Buscar pagamentos com filtros avançados","Atualizar pagamentos existentes","Reembolsar pagamentos (total ou parcial)"],"authentication":"API Access Token obrigatório. Token de teste (começa com 'TEST-') para desenvolvimento e token de produção (começa com 'APP_USR-') para vendas reais.","commonUseCases":["Processar pagamentos via PIX em automações","Verificar status de pagamentos em tempo real","Buscar pagamentos com filtros específicos","Reembolsar transações parcial ou total","Gerenciar fluxos de vendas com integração automática ao N8N"],"limitations":["Versão beta - algumas funcionalidades podem ser instáveis","Funcionalidades premium exigem licença (disponível por solicitação)","Tokens expiram periodicamente e devem ser renovados","Acesso a vendas reais exige token de produção"],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhooks","n8n-nodes-utility"]}


node_type: n8n-nodes-advbox.Advbox
package_name: n8n-nodes-advbox
display_name: Advbox
description: n8n nodes for ADVBOX API integration
category: Community
development_style: declarative
version: 1.0.35
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: arthurschabbach
author_github_url: git+https://github.com/advbox/n8n-nodes-advbox.git
npm_package_name: n8n-nodes-advbox
npm_version: 1.0.35
community_fetched_at: 2026-01-07T20:08:17.687Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-advbox

  This is an n8n community node for ADVBOX API integration. It provides nodes to interact with the ADVBOX API.

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

  ## Installation

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

  ### Option 1: Install via n8n UI

  1. Go to **Settings > Community Nodes**
  2. Click on **Install**
  3. Enter `n8n-nodes-advbox` in the **npm Package Name** field
  4. Click on **Install**

  ### Option 2: Install via npm

  To install the node manually:

  ```bash
  npm install n8n-nodes-advbox
  ```

  For Docker-based n8n installations, you can install the node by mounting your custom nodes directory:

  ```bash
  docker run -it --rm \
    --name n8n \
    -p 5678:5678 \
    -v ~/.n8n:/home/node/.n8n \
    -v /path/to/custom/nodes:/home/node/.n8n/custom \
    n8nio/n8n
  ```

  ## Usage

  After installation, you'll find the ADVBOX node in the n8n nodes panel under the "ADVBOX" category.

  ### Authentication

  To use the ADVBOX nodes, you'll need to create credentials with:
  1. API Token - Your ADVBOX API token
  2. API URL - The ADVBOX API URL (default: https://app.advbox.com.br/api/v1)

  ### Available Operations

  #### Customer Resource
  - **Get All**: Retrieve a list of customers with optional filtering by name and limit parameters

  ## Development

  If you want to develop and contribute to this node package:

  1. Clone the repository
  2. Install dependencies: `npm install`
  3. Build the code: `npm run build`
  4. Link to your n8n installation: `npm link`
  5. In your n8n installation directory: `npm link n8n-nodes-advbox`

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"The Advbox node enables integration with the ADVBOX API, allowing users to retrieve customer data through API calls.","capabilities":["Retrieve a list of customers","Filter customers by name","Limit the number of customers returned"],"authentication":"API Token and API URL (default: https://app.advbox.com.br/api/v1)","commonUseCases":["Fetching customer lists for CRM or marketing automation","Syncing customer data between n8n and ADVBOX platforms"],"limitations":[],"relatedNodes":["API Integration Nodes","Customer Data Nodes"]}


node_type: n8n-nodes-learndash.Learndash
package_name: n8n-nodes-learndash
display_name: Learndash
category: Community
development_style: declarative
version: 1.3.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: hienhoceo
author_github_url: git+https://github.com/hienhoceo/n8n-nodes-learndash.git
npm_package_name: n8n-nodes-learndash
npm_version: 1.3.1
community_fetched_at: 2026-01-07T20:08:17.688Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Complete LearnDash LMS integration for n8n - Manage courses, lessons, topics, quizzes, and users through REST API v2

npm_readme:
  # n8n-nodes-learndash

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

  This is an [n8n community node package](https://docs.n8n.io/integrations/community-nodes/) for [LearnDash LMS](https://www.learndash.com/).

  ## 📚 Documentation & Guides

  For detailed installation instructions, usage examples, and advanced workflows, please visit our official guides:

  | Language | Guide |
  |----------|-------|
  | 🇺🇸 **English** | [**Read the Full Guide**](https://dps.media/en/learn-dash-lms-integration-guide-with-n8n/) |
  | 🇻🇳 **Tiếng Việt** | [**Xem Hướng Dẫn Chi Tiết**](https://dps.media/huong-dan-tich-hop-learndash-lms-voi-n8n/) |
  | 🇨🇳 **中文** | [**阅读完整指南**](https://dps.media/zh/learndash-lms-%e4%b8%8e-n8n-%e9%9b%86%e6%88%90%e6%8c%87%e5%8d%97/) |

  ---

  ## 🚀 Installation

  Go to **Settings > Community Nodes** in your n8n instance and search for:

  `n8n-nodes-learndash`

  Then Click **Install**.

  ---

  ## Features

  - 🎓 **Complete LearnDash Integration**: Courses, Lessons, Topics, Quizzes, Questions, Assignments, Essays.
  - 👥 **User Management**: Manage Users, Groups, Group Leaders, and Enrollments.
  - 📊 **Progress Tracking**: Track and update user course progress.
  - 🔐 **Secure**: Supports WordPress Application Passwords.

  **Made with ❤️ by [hienhoceo](https://github.com/hienhoceo)**

ai_documentation_summary:
  {"purpose":"The Learndash node enables full integration with the LearnDash LMS platform via its REST API v2, allowing users to manage courses, lessons, topics, quizzes, questions, assignments, essays, user groups, enrollments, and progress tracking within n8n workflows.","capabilities":["Manage courses","Manage lessons and topics","Manage quizzes and questions","Manage assignments and essays","Manage users, groups, and group leaders","Track and update user course progress","Enroll users in courses"],"authentication":"WordPress Application Passwords","commonUseCases":["Automating course creation or updates","Enrolling users in courses based on triggers","Tracking student progress and sending notifications","Syncing user data between n8n and LearnDash LMS","Automating quiz submissions or assignment submissions"],"limitations":[],"relatedNodes":["WordPress","REST API","User Management","Course Management"]}


node_type: n8n-nodes-linewebhook.Linewebhook
package_name: n8n-nodes-linewebhook
display_name: Linewebhook
description: Line n8n webhook & messaging nodes
category: Community
development_style: declarative
version: 0.1.50
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: syshen
author_github_url: git+ssh://git@github.com/syshen/n8n-nodes-linewebhook.git
npm_package_name: n8n-nodes-linewebhook
npm_version: 0.1.50
community_fetched_at: 2026-01-07T20:08:17.691Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-linewebhook

  This is an n8n Line support. It lets you create a line chatbot with n8n without any coding.

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

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

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to Settings > Community Nodes.
  2. Select Install.
  3. Enter n8n-nodes-linewebhook in Enter npm package name.
  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.
  After installing the node, you can use it like any other node. n8n displays the node in search results in the Nodes panel.

  ![Community node installation](images/installation.png?raw=true "Community node installation")

  ### Manual installation

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

  ```
  npm install n8n-nodes-linewebhook
  ```

  For Docker-based deployments, add the following line before the font installation command in your n8n Dockerfile:

  RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-linewebhook

  ## Operations

  ### Line Webhook

  Supported event types:

  - message

    - text
    - audio
    - sticker
    - image
    - video
    - location

  - postback
  - join
  - leave
  - member join
  - member leave

  ### Compose Line Message Types

  - [Text](https://developers.line.biz/en/docs/messaging-api/message-types/#text-messages)
  - [Audio](https://developers.line.biz/en/docs/messaging-api/message-types/#audio-messages)
  - [Video](https://developers.line.biz/en/docs/messaging-api/message-types/#video-messages)
  - [Image](https://developers.line.biz/en/docs/messaging-api/message-types/#image-messages)
  - [Location](https://developers.line.biz/en/docs/messaging-api/message-types/#location-messages)
  - [Sticker](https://developers.line.biz/en/docs/messaging-api/message-types/#sticker-messages)
  - [Flex](https://developers.line.biz/en/docs/messaging-api/message-types/#flex-messages)

  ### Line Messaging APIs

  #### Send Message

  Specify either replyToken to reply message or targetRecipient to send message to a group or a user. You can link the output of the previouse message node to be the content of message property of this node.

  ![Connect message node to api node](images/message_nodes.png)
  ![Set up the api node to send message](images/message_node_settings.png)

  ### Get Message Content

  [API document](https://developers.line.biz/en/reference/messaging-api/#get-group-summary)

  When receive multimedia message from webhook, you need to use this node to retrieve the content of the file. For example, if user sends you an image, you can use this node to retrieve the image, and send it to AWS S3.

  ### Get Group Chat Summary

  [API document](https://developers.line.biz/en/reference/messaging-api/#get-group-summary)

  Retrieve the group chat summary with a group chat id.

  ### Get User Profile

  [API document](https://developers.line.biz/en/reference/messaging-api/#get-profile)

  Retrieve the user's profile with a user id.

  ## Credentials

  ### Webhook

  1. Sign up on [Line Developer Console](https://developers.line.biz/en/)
  2. Create a messaging API channel, and then copy the channel secret
  3. Paste the channel secret in node's credential setting
  4. Configure the Webhook URL in the messaging API settings

  ![Set up channel secret](images/channel_secret.png?raw=true "Set up channel secret")

  ### Messaging API

  1. Go to page "Messaging API" setting page in the line developer console.
  2. Copy `Channel access token`. Create a new credential in the messaging api node and paste this access token in the "Channel Access Token" property.

  ![Credential example for Line Messaging API node](images/messaging_api_cred.png)

ai_documentation_summary:
  {"purpose":"The Linewebhook node enables integration with Line's messaging platform in n8n, allowing users to create chatbots, receive messages via webhooks, and send messages (text, audio, image, video, location, sticker, or flex) to users or groups without coding.","capabilities":["Receive messages via webhook (text, audio, sticker, image, video, location, postback, join, leave, member join, member leave)","Send messages to individual users or groups using replyToken or targetRecipient","Retrieve content of multimedia messages (image, audio, video) for storage or processing","Get group chat summary by group ID","Retrieve user profile by user ID","Compose messages using supported Line message types including Flex messages"],"authentication":"API key-based authentication: requires Channel Secret (for webhook) and Channel Access Token (for Messaging API) obtained from the Line Developer Console","commonUseCases":["Building a Line chatbot to respond to user messages","Automatically storing received images or videos in cloud storage (e.g., AWS S3)","Fetching user or group information for customer service workflows","Triggering actions based on user events like joining or leaving a group"],"limitations":[],"relatedNodes":["n8n-nodes-base.Webhook","n8n-nodes-base.HttpRequest"]}


node_type: n8n-nodes-epic.Epic
package_name: n8n-nodes-epic
display_name: Epic
description: n8n community nodes for Applied Epic API
category: Community
development_style: declarative
version: 1.0.8
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mcnugit
author_github_url: git+https://github.com/mcnug/n8n-nodes-epic.git
npm_package_name: n8n-nodes-epic
npm_version: 1.0.8
community_fetched_at: 2026-01-07T20:08:17.691Z
npm_readme: ERROR: No README data found!
ai_summary_generated_at: 2026-01-08 10:45:31
ai_documentation_summary:
  {"purpose":"The Epic node is part of the n8n community nodes for the Applied Epic API, enabling integration with Epic systems to perform operations such as creating, reading, updating, or deleting records via the Epic API.","capabilities":["Create Epic records","Read Epic records","Update Epic records","Delete Epic records"],"authentication":"API key required","commonUseCases":["Syncing patient or clinical data between n8n and Epic systems","Automating data entry or updates in Epic from external sources"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-api"]}


node_type: n8n-nodes-questionstar.Questionstar
package_name: n8n-nodes-questionstar
display_name: Questionstar
category: Community
development_style: declarative
version: 0.1.18
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: questionstar
npm_package_name: n8n-nodes-questionstar
npm_version: 0.1.18
community_fetched_at: 2026-01-07T20:08:17.692Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Official n8n community nodes for integrating Questionstar online surveys and questionnaires via OAuth2 API.

npm_readme:
  # n8n-nodes-questionstar

  This node connects **QUESTIONSTAR** with n8n to automate survey workflows, collect and process responses, sync data with external systems, and trigger actions based on survey activity.

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

  ---

  ## Features

  - Trigger node for survey completion events
  - Action node for retrieving full survey data
  - OAuth2 authentication with Questionstar API
  - Fully compatible with n8n workflows

  ---

  ## Installation

  You can install the package via npm, n8n CLI, or directly through the n8n interface.

  ### 1. Install via npm

  ```bash
  npm install @n8n-nodes-questionstar
  ```

  > Requires **n8n >= 2.x**

  ### 2. Install via n8n CLI

  ```bash
  n8n install @n8n-nodes-questionstar
  ```

  ### 3. Install via n8n interface (UI)

  1. Open your n8n instance in a browser.  
  2. Go to **Settings → Nodes**.  
  3. Click **Install Nodes**.  
  4. Enter `n8n-nodes-questionstar` and click **Install**.  
  5. Restart n8n if required.  

  ### 4. Install manually

  1. Download the package from npm or GitHub.  
  2. Copy the `dist` folder into your n8n custom nodes directory (usually `~/.n8n/custom`).  
  3. Restart n8n. The nodes will appear in your instance.

  ---

  ## Credentials Setup

  Before using the nodes, configure OAuth2 credentials in n8n:

  1. Go to **Credentials** in n8n.
  2. Click **New Credential** → `Questionstar OAuth2 API`.
  3. Save the credentials.

  You can create multiple credentials for different environments (Dev, RU, EN).

  ---

  ## Nodes

  ### QuestionStarTrigger

  **Purpose:** Accepts survey completion events.

  **Fields:**

  | Field Name | Type   | Description                             |
  |------------|--------|-----------------------------------------|
  | Survey ID  | string | Select the survey to monitor events for |

  **Example Usage:**

  ```
  [QuestionStarTrigger] → [Action Node or other workflow nodes]
  ```

  ---

  ### QuestionStarAction

  **Purpose:** Retrieves full survey data.

  **Fields:**

  | Field Name | Type   | Description                                      |
  |------------|--------|--------------------------------------------------|
  | Survey ID  | string | Survey to update (optional for creation)        |

  **Example Usage:**

  ```
  [QuestionStarTrigger] → [QuestionStarAction: Update Survey] → [Other workflow nodes]
  ```

  ---

  ## Support

  For any questions, contact **support@questionstar.com**.

ai_documentation_summary:
  {"purpose":"The Questionstar node integrates with Questionstar's online surveys to trigger workflows on survey completions and retrieve full survey data, enabling automation of survey response processing and data synchronization.","capabilities":["Trigger workflows when a survey is completed","Retrieve full survey data via action node","Supports OAuth2 authentication with Questionstar API"],"authentication":"OAuth2 authentication required; credentials must be set up in n8n under 'Credentials' > 'Questionstar OAuth2 API'","commonUseCases":["Automatically notify teams when a survey is completed","Fetch survey responses and send them to CRM or email systems","Sync survey data with external databases or analytics tools"],"limitations":[],"relatedNodes":["n8n-nodes-base.trigger","n8n-nodes-base.action"]}


node_type: n8n-nodes-glpi.Glpi
package_name: n8n-nodes-glpi
display_name: Glpi
description: n8n node for GLPI - IT Asset Management and Helpdesk System
category: Community
development_style: declarative
version: 0.3.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: rodrigopg
author_github_url: git+https://github.com/rodrigopg/n8n-openapi-glpi.git
npm_package_name: n8n-nodes-glpi
npm_version: 0.3.4
community_fetched_at: 2026-01-07T20:08:17.692Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-glpi

  This is an n8n community node that provides integration with [GLPI 11+](https://glpi-project.org/) (Gestionnaire Libre de Parc Informatique), a powerful open-source IT Asset Management, issue tracking system, and service desk solution.

  **⚠️ GLPI Version Requirement**: This node requires **GLPI 11.0 or later** and uses the new High-Level API (HL API). For GLPI 9.x/10.x (legacy REST API), please use version 0.1.x of this package.

  ## What is GLPI?

  GLPI is a comprehensive IT management suite that helps organizations manage their IT infrastructure, handle support tickets, track assets, manage software licenses, and much more. This n8n node allows you to integrate GLPI into your automation workflows, enabling you to:

  - Automatically create and update tickets, changes, and problems based on external events
  - Synchronize asset information between GLPI and other systems
  - Generate reports and analytics from GLPI data
  - Automate routine IT service management tasks
  - Integrate GLPI with communication platforms, monitoring tools, and other business systems

  ## What's New in Version 0.2.0

  **Major Update - GLPI 11 High-Level API Support**

  - ✨ **OAuth2 Authentication**: Modern, secure authentication with automatic token management
  - 🚀 **Simplified API**: RESTful design with intuitive endpoint structure
  - 📦 **Complete Resource Coverage**: Auto-generated from GLPI 11 OpenAPI specification (112K+ lines)
  - 🔒 **Better Security**: OAuth2 password grant with optional client credentials
  - 📚 **Organized Endpoints**: Resources grouped by category (Assets, Assistance, Management, Administration)

  **Breaking Changes from 0.1.x:**
  - Requires GLPI 11+
  - OAuth2 authentication (no more session tokens)
  - Different API base URL (`/api.php` instead of `/apirest.php`)

  ## Prerequisites

  Before you begin using this node, ensure you have:

  1. **n8n installed**: You need n8n installed either locally or on a server. Visit [n8n.io](https://n8n.io) for installation instructions.

  2. **GLPI 11+ instance**: You need access to a GLPI 11.0 or later installation with the High-Level API enabled.

  3. **GLPI user credentials**: You'll need valid GLPI user credentials with appropriate permissions for the operations you want to perform.

  ## Installation

  ### Install in Self-Hosted n8n

  **Important**: This node is designed for **self-hosted n8n installations only**. It cannot be used with n8n Cloud due to dependency restrictions.

  #### For Production

  ```bash
  # Navigate to your n8n custom nodes directory
  cd ~/.n8n/custom

  # Install the node
  npm install n8n-nodes-glpi

  # Restart n8n
  ```

  #### For Docker

  ```bash
  # Enter your n8n container
  docker exec -it <container-name> sh

  # Navigate to custom nodes directory
  cd /root/.n8n/custom

  # Install the node
  npm install n8n-nodes-glpi

  # Exit and restart container
  exit
  docker restart <container-name>
  ```

  #### From Source (For Development)

  ```bash
  # Clone this repository
  git clone https://github.com/rodrigopg/n8n-openapi-glpi.git
  cd n8n-openapi-glpi

  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Link the node to your n8n installation
  npm link

  # In your n8n directory, link to this package
  cd ~/.n8n
  npm link n8n-nodes-glpi
  ```

  After installation, restart your n8n instance, and the GLPI node will appear in the node palette.

  ## Configuration

  ### Setting up GLPI Credentials in n8n

  1. In n8n, go to **Credentials** → **New**
  2. Select **GLPI API** from the list
  3. Configure the following fields:

     - **GLPI URL**: Your GLPI instance base URL (e.g., `http://localhost` or `https://glpi.example.com`)
     - **Username**: Your GLPI username
     - **Password**: Your GLPI password
     - **Client ID**: (Optional) OAuth2 client ID if you've configured one
     - **Client Secret**: (Optional) OAuth2 client secret

  4. Click **Create** to save the credentials

  ### OAuth2 Authentication

  GLPI 11 uses OAuth2 for authentication. The node uses the **password grant** flow:

  - The username and password are used to obtain an OAuth2 access token
  - Tokens are automatically managed and refreshed by n8n
  - The `api` scope is requested by default for API access

  ### Testing Your Connection

  After setting up credentials, you can test the connection by creating a simple workflow:

  1. Add a GLPI node to your workflow
  2. Select your GLPI credentials
  3. Choose a resource (e.g., **Computer** under Assets)
  4. Choose an operation (e.g., **Get All**)
  5. Execute the node

  If the connection is successful, you should see a list of resources from your GLPI instance.

  ## Available Resources

  The GLPI 11 High-Level API organizes resources by category. All resources and operations are automatically generated from the OpenAPI specification.

  ### Assets
  - **Computers**: Desktop and laptop management
  - **Monitors**: Display device tracking
  - **Network Equipment**: Routers, switches, firewalls
  - **Peripherals**: Printers, scanners, input devices
  - **Phones**: Mobile and VoIP phones
  - **And many more**: Cables, Racks, PDUs, Sensors, etc.

  ### Assistance (ITSM)
  - **Tickets**: Incident and request management
  - **Changes**: Change management workflow
  - **Problems**: Problem tracking and resolution
  - **Solutions**: Knowledge base solutions

  ### Management
  - **Budgets**: Budget planning and tracking
  - **Contacts**: Supplier and customer contacts
  - **Contracts**: Contract lifecycle management
  - **Documents**: Document repository
  - **Suppliers**: Vendor management

  ### Administration
  - **Users**: User account management
  - **Groups**: Group and team organization
  - **Entities**: Multi-entity support
  - **Profiles**: Permission and role management

  ## Example Workflows

  ### Example 1: Create Ticket from Webhook

  This workflow creates GLPI tickets automatically from webhook events:

  ```json
  {
    "name": "Webhook to GLPI Ticket",
    "nodes": [
      {
        "name": "Webhook",
        "type": "n8n-nodes-base.webhook",
        "position": [250, 300],
        "parameters": {
          "path": "glpi-ticket",
          "responseMode": "onReceived"
        }
      },
      {
        "name": "GLPI",
        "type": "n8n-nodes-glpi.glpi",
        "position": [450, 300],
        "parameters": {
          "resource": "Ticket",
          "operation": "create",
          "name": "={{$node[\"Webhook\"].json[\"title\"]}}",
          "content": "={{$node[\"Webhook\"].json[\"description\"]}}"
        },
        "credentials": {
          "glpiApi": "GLPI API Credentials"
        }
      }
    ]
  }
  ```

  ### Example 2: List All Computers

  Get all computers from your GLPI inventory:

  ```json
  {
    "name": "List GLPI Computers",
    "nodes": [
      {
        "name": "Schedule",
        "type": "n8n-nodes-base.scheduleTrigger",
        "parameters": {
          "rule": {
            "interval": [{ "field": "hours", "hoursInterval": 24 }]
          }
        }
      },
      {
        "name": "Get Computers",
        "type": "n8n-nodes-glpi.glpi",
        "parameters": {
          "resource": "Assets/Computer",
          "operation": "getAll"
        },
        "credentials": {
          "glpiApi": "GLPI API Credentials"
        }
      }
    ]
  }
  ```

  ## API Documentation

  ### Base URL Structure

  All API requests use the base URL: `{your-glpi-url}/api.php`

  For example:
  - `http://localhost/api.php/Assets/Computer`
  - `https://glpi.example.com/api.php/Assistance/Ticket`

  ### OpenAPI Specification

  The complete API specification can be accessed from your GLPI instance:

  - **Documentation**: `{your-glpi-url}/api.php/doc`
  - **OpenAPI JSON**: `{your-glpi-url}/api.php/doc.json`

  ### Authentication Endpoints

  - **Token URL**: `/api.php/token` (OAuth2 password grant)
  - **Scopes**: `api`, `user`, `email`, `inventory`, `status`, `graphql`

  ## Troubleshooting

  ### Common Issues and Solutions

  **Issue: "Failed to authenticate"**
  - Verify your GLPI URL is correct (without `/api.php`)
  - Ensure your username and password are correct
  - Check that your user has API access permissions in GLPI
  - Verify GLPI 11+ is installed (this node doesn't work with GLPI 9/10)

  **Issue: "Node doesn't appear in n8n"**
  - Restart n8n after installation
  - Check that the node is properly installed with `npm list n8n-nodes-glpi`
  - Verify you're using a self-hosted n8n (not n8n Cloud)

  **Issue: "Resource not found"**
  - Check if the resource exists in your GLPI version
  - Some resources depend on enabled plugins
  - Verify the endpoint in the OpenAPI documentation

  **Issue: "Permission denied"**
  - Ensure your user has the necessary permissions in GLPI
  - Check entity restrictions
  - Verify profile rights for the specific resource

  ### Debug Mode

  To enable detailed logging for troubleshooting:

  ```bash
  # Set n8n to verbose logging
  export N8N_LOG_LEVEL=debug

  # Start n8n
  n8n start
  ```

  ## Architecture

  ### OpenAPI-Driven Design

  This node uses an innovative approach:

  1. **Dynamic Property Generation**: The `@devlikeapro/n8n-openapi-node` package reads the GLPI OpenAPI specification
  2. **Automatic Updates**: When GLPI updates its API, you can simply fetch the new OpenAPI spec
  3. **Complete Coverage**: All 112K+ lines of the OpenAPI spec are included, providing access to all GLPI resources

  ### OAuth2 Integration

  Authentication is handled transparently:

  - n8n's credential system manages OAuth2 tokens
  - Automatic token refresh
  - Secure credential storage

  ## Development

  ### Development Setup

  ```bash
  # Clone the repository
  git clone https://github.com/rodrigopg/n8n-openapi-glpi.git
  cd n8n-openapi-glpi

  # Install dependencies
  npm install

  # Build the node
  npm run build

  # For development with auto-rebuild on changes
  npm run dev

  # Run linter
  npm run lint

  # Fix linting issues
  npm run lint:fix
  ```

  ### Updating the OpenAPI Specification

  To update the OpenAPI spec from your GLPI 11 instance:

  ```bash
  # Fetch the latest spec
  curl http://your-glpi-url/api.php/doc.json | python3 -m json.tool > nodes/Glpi/openapi.json

  # Rebuild
  npm run build
  ```

  ### Development Helper Script

  The repository includes a helper script for common tasks:

  ```bash
  ./dev-helper.sh
  ```

  Options include:
  - Build the node
  - Install in local n8n
  - Run development mode
  - Run linter / fix linting
  - Clean build files
  - Fetch OpenAPI spec from GLPI instance

  ## Contributing

  We welcome contributions to improve this node! Here's how you can help:

  1. **Report Issues**: If you find bugs, please [create an issue](https://github.com/rodrigopg/n8n-openapi-glpi/issues)
  2. **Suggest Features**: Have ideas for new features? Open a discussion
  3. **Submit Pull Requests**:
     - Fork the repository
     - Create your feature branch (`git checkout -b feature/AmazingFeature`)
     - Commit your changes (`git commit -m 'Add some AmazingFeature'`)
     - Push to the branch (`git push origin feature/AmazingFeature`)
     - Open a Pull Request

  ## Resources

  - [GLPI Website](https://glpi-project.org/)
  - [GLPI 11 High-Level API Documentation](https://glpi-developer-documentation.readthedocs.io/en/latest/devapi/hlapi/)
  - [n8n Documentation](https://docs.n8n.io)
  - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)
  - [OpenAPI Specification](https://swagger.io/specification/)

  ## Version History

  ### 0.2.0 (Latest)
  - **BREAKING**: Upgraded to GLPI 11 High-Level API
  - OAuth2 authentication support
  - Updated OpenAPI specification (112K+ lines)
  - Simplified node implementation
  - Updated credentials for OAuth2
  - Package size: 164.7 KB (unpacked: 9.3 MB)

  ### 0.1.2
  - Fixed OpenAPI specification loading
  - Package size: 107.7 KB (unpacked: 5.5 MB)

  ### 0.1.1
  - Initial published version
  - GLPI 9/10 REST API support (legacy)

  ## License

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

  ## Support

  - For issues with this node: [GitHub Issues](https://github.com/rodrigopg/n8n-openapi-glpi/issues)
  - For GLPI questions: [GLPI Forums](https://forum.glpi-project.org/)
  - For n8n questions: [n8n Community](https://community.n8n.io)

  ## Acknowledgments

  - Thanks to the GLPI team for creating an excellent open-source ITSM solution
  - Thanks to the n8n team for building an amazing workflow automation platform
  - Thanks to [@devlikeapro](https://github.com/devlikeapro) for the n8n-openapi-node tool
  - Thanks to all contributors who help improve this integration

  ---

  **Note**: This node is not officially affiliated with or endorsed by the GLPI project. It's a community contribution to help integrate GLPI with n8n workflows.

ai_documentation_summary:
  {"purpose":"The Glpi node enables integration between n8n and GLPI (version 11+) for automating IT service management tasks such as creating or updating tickets, managing assets, and synchronizing data via the GLPI High-Level API.","capabilities":["Create, read, update, and delete tickets, changes, problems, and solutions","Manage IT assets including computers, monitors, network equipment, and peripherals","Handle user, group, contact, contract, and budget management","Automate workflows using GLPI's RESTful endpoints via OAuth2 authentication","Generate reports and sync data between GLPI and other systems"],"authentication":"OAuth2 (password grant flow) with automatic token management; requires GLPI 11+ with High-Level API enabled","commonUseCases":["Automatically create support tickets from external events (e.g., webhooks)","Synchronize IT asset inventory across systems","Update or retrieve asset information in real-time","Integrate GLPI with monitoring tools or communication platforms","Manage change requests and problem tracking in ITSM workflows"],"limitations":["Requires GLPI 11.0 or later; not compatible with GLPI 9.x or 10.x (legacy REST API)","Only available for self-hosted n8n; not supported in n8n Cloud","No support for legacy API endpoints or session-based authentication"],"relatedNodes":["Webhook","HTTP Request","Database","Email","Service Management"]}


node_type: n8n-nodes-gigachat.Gigachat
package_name: n8n-nodes-gigachat
display_name: Gigachat
description: A user-friendly GigaChat AI (Sber) nodes for n8n
category: Community
development_style: declarative
version: 1.8.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: tomyumm-ge
author_github_url: git+https://github.com/tomyumm-ge/n8n-gigachat.git
npm_package_name: n8n-nodes-gigachat
npm_version: 1.8.1
community_fetched_at: 2026-01-07T20:08:17.692Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-gigachat

  _n8n 2.0 совместимый, используйте последний релиз_

  **_Неофициальный Community узел. Разработано энтузиастами. Официальные интеграции изучайте на официальном сайте [developers.sber.ru](https://developers.sber.ru/dev)._**

  n8n-nodes-gigachat (вы здесь) | [**n8n-nodes-salutespeech**](https://github.com/tomyumm-ge/n8n-salutespeech)

  ## Disclaimer

  Все права на товарные знаки, логотипы и иные обозначения принадлежат их законным правообладателям. Товарный знак "Сбер", логотипы и наименования сервисов Сбера являются собственностью ПАО "СберБанк". Настоящий проект не является официальным продуктом Сбера и создан независимым разработчиком в некоммерческих целях.

  Это программное обеспечение предоставляется "как есть", без каких-либо явных или подразумеваемых гарантий, включая, но не ограничиваясь, гарантией товарной пригодности или пригодности для конкретной цели. Автор не несёт ответственности за любые убытки, включая упущенную выгоду, возникшие в результате использования этого ПО. Используется на ваш страх и риск.

  Проект носит экспериментальный характер и может быть неидеальным для Production.

  ## Описание

  Вы находитесь в репозитории n8n узла GigaChat. Вы можете установить узел к себе в n8n, и вызывать GigaChat API на высоком уровне, без необходимости писать HTTP запросы самостоятельно.

  Чтобы установить узел, перейдите в настройки n8n, вкладка Community Nodes.

  📌 **Ссылка на npm**: [n8n-nodes-gigachat](https://www.npmjs.com/package/n8n-nodes-gigachat)

  ⭐️ Не забывайте ставить звезду на репозиторий, если узел оказался вам полезным. Давайте посмотрим, сколько нас!

  ![GigaChat node installation](https://raw.githubusercontent.com/tomyumm-ge/n8n-gigachat/master/screenshots/screenshot_4.png)

  Буду рад фидбэку и предложениям по улучшению! 🚀

  ### GigaChat AI

  ![GigaChat node](https://raw.githubusercontent.com/tomyumm-ge/n8n-gigachat/master/screenshots/screenshot_1.png)

  Широкий узел, подобный AI Agent, созданный эксклюзивно для GigaChat.

  - **Выберите модель** На выбор все модели GigaChat. Раскройте потенциал максимальной модели, или решите простую задачу базовой моделью. Выбор за вами.
  - **Подключите память** Конструируете чат? Никаких проблем! Подключите память, и ни одна деталь чата не будет забыта.
  - **Добавьте инструменты** Собрать личного ассистента? Подключить базу данных сделок? А может, узнать погоду в Москве? Подключайте и комбинируйте инструменты чтобы сделать ассистента ещё умнее.
  - **Полный контроль или простота использования** Что нужно вам? Выбираете только вы. С помощью галочки `Simplify Output` вы можете получить как простой ответ, так и детальную сводку по расходу токенов.

  ### GigaChat API

  ![GigaChat API node](https://raw.githubusercontent.com/tomyumm-ge/n8n-gigachat/master/screenshots/screenshot_5.png)

  Функциональный узел для кастомных API запросов, на манер OpenAI узлов.

  - **Посмотрите на изображения** компьютерным зрением. Модель Pro и Max в вашем распоряжении.
  - **Теперь GigaChat будет видеть** Ваши чаты больше не будут ограничиваться только текстом. Проанализируйте изображение, чтобы понять, что хочет донести до вас собеседник.

  __Анализ изображений не работает с линейкой моделей GigaChat Lite__

  ### GigaChat Embeddings

  ![GigaChat embeddings node](https://raw.githubusercontent.com/tomyumm-ge/n8n-gigachat/master/screenshots/screenshot_2.png)

  Интеграция Embeddings нужна, чтобы иметь векторное представление вашей базы знаний.

  - **Экосистема** Купите пакеты токенов, и используйте модель как для чата, так и для векторизации
  - **Идеально для RAG** Сделайте векторное представление ваших данных, а затем найдите ближайшее совпадение с помощью узла GigaChat.

  ### GigaChat Model

  ![GigaChat model node](https://raw.githubusercontent.com/tomyumm-ge/n8n-gigachat/master/screenshots/screenshot_3.png)

  Устаревший узел из первых версий. Когда нужна органическая интеграция. Хотя узел и есть, его поддержка прекращена ввиду технических ограничений n8n, не позволяющих его развивать.

  - **Native Experience** Это что у вас? ChatGPT? Нет, я всегда могу выбрать GigaChat.
  - **Просто проведите линию** Не нужно переизобретать логику после переезда. Достаточно поменять заграничную модель на отечественную, в один клик.
  - **Хочется большего?** Воспользуйтесь полноценном узлом из описания выше. Раскройте полный потенциал автоматизации!

  #### GigaChat Model можно добавить в:

  - Basic LLM Chain
  - Information Extractor
  - Question and Answer Chain
  - Sentiment Analysis
  - Summarization Chain
  - Text Classifier

  Не поддерживается и никогда не будет поддерживаться ввиду архитектуры n8n:

  - AI Agent

  Вместо него используйте наш основной **GigaChat AI** узел.

  ## Локальная разработка/запуск

  В папке с репозиторием:

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

  В инстансе n8n

  ```bash
  npm i -g n8n # если ещё не установлен
  # Если ещё никогда не запускали n8n на своей системе - запустите командой "n8n"
  # Это создаст папку .n8n в домашней директории
  cd ~/.n8n
  mkdir custom && cd custom
  npm init -y
  npm link n8n-nodes-gigachat
  n8n
  ```

  ## Лицензия

  [MIT](https://github.com/tomyumm-ge/n8n-gigachat/blob/master/LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Gigachat node provides integration with Sber's GigaChat AI platform, enabling users to leverage GigaChat's AI models for chat, image analysis, embeddings, and custom API requests within n8n workflows.","capabilities":["Select from various GigaChat models (including Lite, Pro, Max)","Enable chat memory to retain conversation context","Add and combine tools (e.g., databases, weather APIs) to build AI agents","Analyze images using GigaChat Pro and Max models","Generate text embeddings for use in RAG (Retrieval-Augmented Generation) systems","Perform text generation, summarization, sentiment analysis, information extraction, and classification","Simplify output with token usage summary toggle"],"authentication":"API key required (credentials must be provided via the node settings to access GigaChat API)","commonUseCases":["Building AI-powered chatbots with memory and tool integration","Image analysis in workflows (e.g., document or product image interpretation)","Implementing RAG systems using GigaChat embeddings","Automated text processing tasks like summarization or sentiment analysis","Integrating GigaChat as a local alternative to OpenAI models"],"limitations":["Image analysis does not work with GigaChat Lite models","The GigaChat Model node is deprecated and no longer supported due to n8n architecture limitations","AI Agent functionality is not supported (use the GigaChat AI node instead)","Community-developed node — not officially supported by Sber or n8n","Experimental and may not be suitable for production environments"],"relatedNodes":["n8n-nodes-openai","n8n-nodes-rag","n8n-nodes-database","n8n-nodes-webhooks"]}


node_type: n8n-nodes-nano-banana.NanoBanana
package_name: n8n-nodes-nano-banana
display_name: NanoBanana
description: n8n node for Nano Banana (Gemini) Image Generation
category: Community
development_style: declarative
version: 1.1.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: ronglecat
author_github_url: git+https://github.com/RongleCat/n8n-nodes-nano-banana.git
npm_package_name: n8n-nodes-nano-banana
npm_version: 1.1.0
community_fetched_at: 2026-01-07T20:08:17.693Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  [English](./README_EN.md) | 简体中文

  ## 🚀 拒绝无效加班，掌握 n8n 自动化黑科技

  想让工作更轻松?扫码关注微信公众号 **【曹工不加班】**,免费获取:

  - 📚 **独家保姆级 n8n 实战教程**
  - 🧩 **社区专享 VIP 节点**
  - 💡 **高阶自动化工作流模板**

  ![曹工不加班](https://pic.fmcat.top/AI/other/gzh.webp)

  ---

  # n8n-nodes-nano-banana

  这是一个 n8n 社区节点，允许你使用 Google 的 Gemini 模型 (Nano Banana) 生成图像。

  [n8n](https://n8n.io/) 是一个 [公平代码许可](https://docs.n8n.io/sustainable-use-license/) 的工作流自动化平台。

  [安装](#安装)
  [操作](#操作)
  [凭证](#凭证)
  [兼容性](#兼容性)
  [使用说明](#使用说明)
  [资源](#资源)

  ## 安装

  请遵循 n8n 社区节点文档中的 [安装指南](https://docs.n8n.io/integrations/community-nodes/installation/)。

  ## 操作

  - **文本生图 (Text to Image)**：根据文本描述生成图像。
  - **图生图 (Image to Image)**：基于参考图像和文本提示词生成图像。

  ## 功能特性

  - **模型**：支持 `Gemini 2.5 Flash` 和 `Gemini 3 Pro` (Nano Banana Pro)。
  - **纵横比**：支持多种纵横比，如 1:1, 16:9, 4:3, 3:4, 9:16 等。
  - **分辨率**：Pro 模型可配置分辨率 (1K, 2K, 4K)。
  - **输出格式**：
    - 二进制文件 (标准 n8n 二进制数据)
    - Base64 字符串
    - Base64 Data URL
    - 图像 URL
    - 原始响应 (Raw Response)

  ## 凭证

  你需要设置 **Nano Banana API** 凭证才能使用此节点。

  1.  **连接类型**:
      - **Official**:直接连接到 Google 的 Generative Language API。
      - **OpenAI Compatible**:通过 OpenAI 兼容的端点连接。
  2.  **API Key**:你的 Gemini API 密钥。
  3.  **Base URL**:(可选)用于 OpenAI 兼容连接的自定义 Base URL。

  ## 使用说明

  ### 文本生图 (Text to Image)

  1.  选择 **Text to Image** 操作。
  2.  选择你的 **模型 (Model)**。
  3.  输入描述性的 **提示词 (Prompt)**。
  4.  选择所需的 **纵横比 (Aspect Ratio)**。
  5.  执行节点以获取生成的图像。

  ### 图生图 (Image to Image)

  1.  选择 **Image to Image** 操作。
  2.  提供 **参考图像 (Reference Images)**。
  3.  输入 **提示词 (Prompt)** 来引导生成。
  4.  执行节点。

  #### 参考图像字段使用指南

  **支持的格式:**

  - **URL**: 图片的 HTTP/HTTPS 链接

    ```
    https://example.com/image.jpg
    ```

  - **Data URI**: Base64 编码的图片数据

    ```
    data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...
    ```

  - **纯 Base64**: 直接粘贴 Base64 字符串(自动识别为 PNG)

    ```
    iVBORw0KGgoAAAANSUhEUgAA...
    ```

  - **Binary 字段名**: 从前一节点的二进制数据读取
    ```
    data
    image1
    ```

  **多个图片分隔:**

  使用 **竖线 `|`** 或 **换行** 分隔多个图片:

  ```
  data|image1
  ```

  或

  ```
  data
  image1
  ```

  **混合使用不同格式:**

  ```
  data|https://example.com/image.jpg
  ```

  或

  ```
  data
  https://example.com/image.jpg
  data:image/png;base64,iVBORw0KGgo...
  ```

  **数量限制:**

  - Flash 模型最多支持 **3 张**参考图
  - Pro 模型最多支持 **14 张**参考图

  ## 兼容性

  兼容 n8n@1.0.0 或更高版本。

  ## 资源

  - [n8n 社区节点文档](https://docs.n8n.io/integrations/#community-nodes)
  - [Gemini API 图像生成文档](https://ai.google.dev/gemini-api/docs/image-generation)

ai_documentation_summary:
  {"purpose":"The NanoBanana node enables users to generate images using Google's Gemini models (Nano Banana) via n8n, supporting both text-to-image and image-to-image generation with options for different models, aspect ratios, resolutions, and output formats.","capabilities":["Text to Image generation using Gemini 2.5 Flash or Gemini 3 Pro (Nano Banana Pro)","Image to Image generation with reference images and text prompts","Support for multiple aspect ratios (1:1, 16:9, 4:3, 3:4, 9:16)","Resolution configuration (1K, 2K, 4K) for Pro model","Output options including binary data, Base64 string, Base64 Data URL, image URL, and raw response","Support for multiple reference images (up to 3 for Flash, up to 14 for Pro)","Flexible reference image input via URL, Data URI, pure Base64, or binary field names"],"authentication":"API key required (Gemini API key) with two connection types: Official (direct to Google Generative Language API) or OpenAI Compatible (via custom Base URL)","commonUseCases":["Generating images from textual descriptions for marketing or design workflows","Enhancing or transforming existing images using reference images and prompts","Automating image creation for social media content","Integrating AI-generated visuals into customer onboarding or product presentations"],"limitations":["Flash model supports only up to 3 reference images","Pro model supports up to 14 reference images (still limited compared to larger models)","No support for custom model tuning or fine-tuning","Requires a valid Gemini API key and internet connection"],"relatedNodes":["Image processing nodes","Text generation nodes","Workflow automation nodes with media output"]}


node_type: n8n-nodes-directus.Directus
package_name: n8n-nodes-directus
display_name: Directus
description: Node to interact with a Directus instance
category: Community
development_style: declarative
version: 1.0.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: arladmin
author_github_url: git+https://github.com/arladmin/n8n-nodes-directus.git
npm_package_name: n8n-nodes-directus
npm_version: 1.0.2
community_fetched_at: 2026-01-07T20:08:17.697Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-directus

  This is a community node to interact with the popular data-abstraction tool, [Directus](https://directus.io/) 

  # Use this node
  To install this community node in your n8n instance :

  - Go to Settings > Community Nodes :
  - Select 'Install a community node'
  - Type in "n8n-nodes-directus" and hit Install
  For more information on installing community nodes, visit [Community nodes docs page](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 node that enables n8n users to interact with a Directus instance for data operations such as reading, writing, updating, and deleting records.","capabilities":["Read data from Directus collections","Create new records in Directus","Update existing records in Directus","Delete records from Directus","Handle Directus API endpoints via standard n8n workflows"],"authentication":"API key required","commonUseCases":["Syncing data between n8n and Directus databases","Automating data entry or updates in Directus via n8n workflows","Fetching and transforming data from Directus for downstream processes"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook"]}


node_type: n8n-nodes-pgvector-advanced.PgvectorAdvanced
package_name: n8n-nodes-pgvector-advanced
display_name: PgvectorAdvanced
description: Advanced PGVector + Postgres nodes for n8n with full CRUD control
category: Community
development_style: declarative
version: 1.7.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: aaron7c
author_github_url: git+https://github.com/aaron777collins/BetterPGVectorN8N.git
npm_package_name: n8n-nodes-pgvector-advanced
npm_version: 1.7.3
community_fetched_at: 2026-01-07T20:08:17.698Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-pgvector-advanced

  Advanced PGVector nodes for n8n with full CRUD control. No more limitations of the built-in node.

  **[View Full Documentation](https://aaron777collins.github.io/BetterPGVectorN8N/)** | [Installation](https://aaron777collins.github.io/BetterPGVectorN8N/installation) | [Quick Start](https://aaron777collins.github.io/BetterPGVectorN8N/quick-start) | [Docker Guide](https://aaron777collins.github.io/BetterPGVectorN8N/docker)

  ---

  ## Install in 30 Seconds

  ```bash
  bash <(curl -fsSL https://raw.githubusercontent.com/aaron777collins/BetterPGVectorN8N/main/install.sh)
  ```

  That's it! The installer auto-detects your setup and does the right thing.

  <details>
  <summary><b>What does the installer do?</b></summary>

  The script detects your n8n environment and offers the best option:

  | Your Setup | What It Does |
  |------------|--------------|
  | Docker Compose | Creates persistent setup that survives rebuilds |
  | Running Container | Installs directly into the container |
  | npm/Local Install | Adds to ~/.n8n/nodes |
  | Nothing Found | Creates fresh n8n + pgvector stack |

  </details>

  <details>
  <summary><b>Manual install options</b></summary>

  ```bash
  # Download installer first
  curl -fsSL https://raw.githubusercontent.com/aaron777collins/BetterPGVectorN8N/main/install.sh -o install.sh
  chmod +x install.sh

  # Then pick your method:
  ./install.sh --standalone   # New n8n + pgvector Docker setup
  ./install.sh --docker       # Add to existing Docker Compose
  ./install.sh --direct       # Install into running container
  ./install.sh --npm          # Install to ~/.n8n/nodes
  ./install.sh --update       # Update existing installation
  ```

  Or via n8n UI: **Settings → Community Nodes → Install → `n8n-nodes-pgvector-advanced`**

  </details>

  <details>
  <summary><b>Updating to latest version</b></summary>

  ```bash
  # Update existing installation
  ./install.sh --update

  # Or run the installer again - it auto-updates on container restart
  docker compose restart n8n
  ```

  The Docker init script automatically checks for updates on each container start.

  </details>

  ---

  ## Why Use This?

  | Built-in PGVector Node | This Package |
  |------------------------|--------------|
  | Insert only | Full CRUD (Upsert, Query, Delete, Get) |
  | No stable IDs | External IDs for reliable syncing |
  | Basic queries | Filters, pagination, multiple distance metrics |
  | Single inserts | Batch operations (1000+ embeddings) |
  | Manual schema | Auto table/index creation |
  | No AI Agent tools | **AI Agent Tool for RAG workflows** |

  ---

  ## Quick Start

  ### 1. Set Up Credentials

  In n8n: **Credentials → Add → Postgres**

  ```
  Host: your-postgres-host
  Port: 5432
  Database: your_db
  User: your_user
  Password: your_password
  ```

  ### 2. Initialize Schema

  Add a **PGVector Advanced** node with:
  - Operation: `Admin`
  - Admin Operation: `Ensure Schema`
  - Dimensions: `1536` (or your embedding size)

  ### 3. Store Embeddings

  ```
  Operation: Upsert
  Collection: my_documents
  External ID: doc-123
  Content: "Your document text"
  Embedding: [0.1, 0.2, 0.3, ...]
  Metadata: {"category": "tech", "author": "Jane"}
  ```

  ### 4. Search

  ```
  Operation: Query
  Collection: my_documents
  Query Embedding: [0.1, 0.2, ...]
  Top K: 10
  Distance Metric: cosine
  ```

  ---

  ## Operations

  ### Upsert (Insert/Update)

  ```json
  {
    "operation": "upsert",
    "collection": "documents",
    "externalId": "doc-123",
    "content": "Document text",
    "metadata": {"category": "tech"},
    "embedding": [0.1, 0.2, ...]
  }
  ```

  **Batch mode:** Map fields from input items for bulk inserts.

  ### Query (Similarity Search)

  ```json
  {
    "operation": "query",
    "collection": "documents",
    "queryEmbedding": [0.1, 0.2, ...],
    "topK": 10,
    "distanceMetric": "cosine",
    "metadataFilter": {"category": "tech"}
  }
  ```

  ### Delete

  ```json
  {
    "operation": "delete",
    "collection": "documents",
    "deleteBy": "externalId",
    "deleteExternalIds": "doc-1, doc-2"
  }
  ```

  Delete by: `id`, `externalId`, or `metadata` filter.

  ### Get

  ```json
  {
    "operation": "get",
    "collection": "documents",
    "getBy": "externalId",
    "getExternalIds": "doc-1, doc-2"
  }
  ```

  ### Admin

  | Operation | What It Does |
  |-----------|--------------|
  | `ensureSchema` | Creates table + indexes if missing |
  | `createIndex` | Adds HNSW or IVFFlat vector index |
  | `dropCollection` | Deletes all records in a collection |

  ---

  ## Distance Metrics

  | Metric | Best For |
  |--------|----------|
  | **Cosine** | Text embeddings (OpenAI, Cohere, etc.) |
  | **L2** | When absolute distance matters |
  | **Inner Product** | Pre-normalized vectors |

  ---

  ## Example Workflows

  **Semantic Search:**
  1. Parse documents → Generate embeddings (OpenAI) → Upsert to PGVector → Query similar

  **Deduplication:**
  1. Query existing → If similarity > threshold, skip → Else upsert

  **Sync from External System:**
  1. Use `externalId` to upsert → Automatically updates existing or inserts new

  ---

  ## Docker Persistence (How It Works)

  The installer creates a custom Dockerfile that auto-installs community nodes on startup:

  ```
  n8n/
  ├── Dockerfile        # Extends official n8n image
  └── init-nodes.sh     # Installs packages on container start
  ```

  To add more packages, edit `init-nodes.sh`:

  ```sh
  PACKAGES="n8n-nodes-pgvector-advanced other-package"
  ```

  Then: `docker compose build && docker compose up -d`

  ---

  ## Troubleshooting

  **"pgvector extension not found"**
  ```sql
  CREATE EXTENSION IF NOT EXISTS vector;
  ```

  **Slow queries?**
  - Create an HNSW index via Admin → Create Index
  - Use metadata filters to reduce search space

  **Dimension mismatch?**
  - All embeddings in a collection must have the same dimensions
  - Use different collections for different embedding models

  ---

  ## Development

  ```bash
  git clone https://github.com/aaron777collins/BetterPGVectorN8N.git
  cd BetterPGVectorN8N
  npm install
  npm run build
  npm test
  ```

  ---

  ## AI Agent Tool

  The **PGVector Store Tool** lets n8n AI Agents manage knowledge with natural operations:

  | Operation | What it does |
  |-----------|--------------|
  | **Remember** | Store new info, update by ID or similar concept |
  | **Recall** | Search with similarity threshold |
  | **Forget** | Delete by exact ID |
  | **Forget Similar** | Delete by concept (with dry-run safety) |
  | **Lookup** | Get by exact ID |

  ### Configuration

  Each operation has n8n settings (safety/behavior) and AI parameters (data):

  | n8n Config | AI Provides |
  |------------|-------------|
  | Collection, thresholds, ID hints | Content, IDs, queries |
  | Dry run mode, result limits | Metadata filters |

  **Example - Remember operation:**
  - n8n: `ID Format Hint = "meeting-YYYY-MM-DD"`, `Auto-Generate ID = ON`
  - AI: `content`, `id` (optional), `metadata`

  **Example - Forget Similar operation:**
  - n8n: `Similarity Threshold = 0.8`, `Dry Run = ON`
  - AI: `concept` (what to delete)

  [Full AI Tools Documentation →](https://aaron777collins.github.io/BetterPGVectorN8N/ai-tools)

  ---

  ## MCP Server for External AI Agents

  Use with Claude, GPT, or other AI agents outside n8n.

  ```bash
  # Run directly
  npx n8n-nodes-pgvector-advanced

  # Or install globally
  npm install -g n8n-nodes-pgvector-advanced
  pgvector-mcp
  ```

  **Available tools:** `pgvector_upsert`, `pgvector_query`, `pgvector_delete`, `pgvector_get`, `pgvector_admin`

  Set environment variables: `PGHOST`, `PGPORT`, `PGDATABASE`, `PGUSER`, `PGPASSWORD`

  [Full MCP Documentation →](https://aaron777collins.github.io/BetterPGVectorN8N/mcp)

  ---

  ## Documentation

  | Guide | Description |
  |-------|-------------|
  | [Installation](https://aaron777collins.github.io/BetterPGVectorN8N/installation) | All installation methods |
  | [Quick Start](https://aaron777collins.github.io/BetterPGVectorN8N/quick-start) | Get running in 5 minutes |
  | [Operations](https://aaron777collins.github.io/BetterPGVectorN8N/operations) | Full operations reference |
  | [AI Agent Tools](https://aaron777collins.github.io/BetterPGVectorN8N/ai-tools) | Use with n8n AI Agents |
  | [MCP Server](https://aaron777collins.github.io/BetterPGVectorN8N/mcp) | Use with external AI (Claude) |
  | [Docker Guide](https://aaron777collins.github.io/BetterPGVectorN8N/docker) | Persistent Docker setup |
  | [Troubleshooting](https://aaron777collins.github.io/BetterPGVectorN8N/troubleshooting) | Common issues & fixes |

  ---

  ## License

  MIT

  ---

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

  [View on GitHub](https://github.com/aaron777collins/BetterPGVectorN8N) | [npm](https://www.npmjs.com/package/n8n-nodes-pgvector-advanced) | [Full Docs](https://aaron777collins.github.io/BetterPGVectorN8N/)

ai_documentation_summary:
  {"purpose":"The PgvectorAdvanced node provides full CRUD (Create, Read, Update, Delete) operations for PGVector and Postgres within n8n, enabling advanced vector database functionality such as semantic search, batch embedding storage, schema management, and AI agent integration for RAG workflows.","capabilities":["Upsert embeddings with external IDs for reliable syncing","Query similar vectors using multiple distance metrics (cosine, L2, inner product)","Delete records by external ID, ID, or metadata filter","Retrieve specific documents by external ID","Auto-create and manage vector table schema and indexes","Batch operations for 1000+ embeddings","AI Agent tool integration for RAG workflows"],"authentication":"None required; authentication is handled via Postgres credentials (host, port, database, user, password) configured in n8n's credentials section","commonUseCases":["Semantic search using document embeddings","Deduplication of content based on similarity thresholds","Syncing data from external systems with stable external IDs","Building RAG pipelines with AI agents","Managing vector indexes and schema automatically"],"limitations":["All embeddings in a collection must have the same dimension; dimension mismatch requires separate collections","Performance may depend on index type and data size; HNSW index recommended for large datasets","No built-in support for embedding generation; requires external service (e.g., OpenAI) to generate embeddings"],"relatedNodes":["Postgres","AI Agent","OpenAI","Text Parser"]}


node_type: n8n-nodes-usage-billing.UsageBilling
package_name: n8n-nodes-usage-billing
display_name: UsageBilling
category: Community
development_style: declarative
version: 0.4.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: maxs05
author_github_url: git+https://github.com/msoukhomlinov/n8n-nodes-usage-billing.git
npm_package_name: n8n-nodes-usage-billing
npm_version: 0.4.3
community_fetched_at: 2026-01-07T20:08:17.698Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  This n8n community node provides usage-based billing calculation functionality. It takes usage data and price lists as inputs, performs matching and calculation, and outputs formatted billing records.

npm_readme:
  # n8n-nodes-usage-billing
  This n8n community node provides usage-based billing calculation functionality. It takes usage data and price lists as inputs, performs matching and calculation, and outputs formatted billing records.

  ![n8n-nodes-usage-billing](https://img.shields.io/badge/n8n--nodes--usage--billing-latest-blue)
  ![License](https://img.shields.io/badge/license-MIT-green)

  [![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-Support-yellow.svg)](https://buymeacoffee.com/msoukhomlinov)

  > **IMPORTANT**: When updating between versions, make sure to restart your n8n instance after the update. UI changes and new features are only picked up after a restart.

  This n8n community node provides usage-based billing calculation functionality. It takes usage data and price lists as inputs, performs matching and calculation, and outputs formatted billing records.

  [Installation](#installation)
  [Features](#features)
  [Operations](#operations)
  [Configuration Options](#configuration-options)
  [Contributing](#contributing)
  [Support](#support)
  [License](#license)

  ## Features

  - **Flexible Usage Matching**: Match usage data to price list items using multiple fields
  - **Customer-Specific Pricing**: Support for customer-specific pricing rules
  - **Calculation Options**: Configure rounding and decimal precision
  - **Output Customization**: Control which fields appear in the output with automatic or manual field inclusion
  - **Usage Summarization**: Generate summaries by grouping and totaling fields

  ## Operations

  The node provides two main operations:

  ### Match Usage and Calculate

  Match usage data with pricing records and calculate costs:

  1. Provide price list and usage data in specified fields (supports expressions that return arrays or objects)
  2. Configure match fields (productId, region, etc.)
  3. Configure calculation options (quantity field, price fields, rounding)
  4. Configure customer-specific pricing (if needed)
  5. Configure output field options:
     - **Automatic mode**: Automatically include all fields from both pricelist and usage data with configurable prefixes (default: `price_` and `usage_`)
     - **Manual mode**: Manually specify which fields to include with custom source and target field names
  6. Get calculated billing records as output, with unmatched records in a separate output

  ### Usage Summary

  Generate summaries of usage and costs:

  1. Provide calculated billing records as input
  2. Specify fields to total (cost, price, etc.)
  3. Specify fields to group by (date, customer, product, etc.)
  4. Get summarized totals as output

  ## Configuration Options

  ### Match Usage and Calculate Configuration

  - **Price List Field**: Field or expression containing price list data (supports arrays, objects, JSON strings, or field paths)
  - **Usage Data Field**: Field or expression containing usage data (supports arrays, objects, JSON strings, or field paths)
  - **Match Fields**: Field pairs to match between price list and usage data (at least one pair required)
  - **Calculation Configuration**: Fields and options for calculation (quantity, cost price, sell price, rounding)
  - **Customer-Specific Pricing**: Options for customer-specific price entries with customer ID matching
  - **Output Field Configuration**: Automatic inclusion settings for match fields, calculation fields, and field prefixes
  - **Output Fields**: Control which additional fields to include in output:
    - **Automatic Mode**: Automatically includes all fields from both pricelist and usage data with required prefixes
    - **Manual Mode**: Manually specify individual fields with source and target field names

  ### Usage Summary Configuration

  - **Fields to Total**: Comma-separated list of fields to sum
  - **Group By Fields**: Fields to group by when generating summaries
  - **Include Source Data**: Option to include source records in summary

  ## Contributing

  Contributions are welcome! If you'd like to contribute to this project:

  1. Fork the repository
  2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
  3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
  4. Push to the branch (`git push origin feature/AmazingFeature`)
  5. Open a Pull Request

  ## Support

  If you find this node helpful and would like to support its development:

  [![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/msoukhomlinov)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"The UsageBilling node calculates usage-based billing by matching usage data with price lists, applying customer-specific pricing, and generating formatted billing records with optional summaries.","capabilities":["Match usage data to price list items using multiple fields","Apply customer-specific pricing rules based on customer ID","Configure rounding and decimal precision for cost calculations","Customize output fields via automatic or manual field inclusion","Generate usage summaries by grouping and totaling fields"],"authentication":"None","commonUseCases":["Creating automated invoices based on usage metrics (e.g., cloud computing, SaaS subscriptions)","Implementing dynamic pricing models per customer or region","Aggregating usage data by date, product, or customer for reporting","Matching transactional usage data with product pricing tables"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-database","n8n-nodes-http-request"]}


node_type: n8n-nodes-docx-diff.DocxDiff
package_name: n8n-nodes-docx-diff
display_name: DocxDiff
description: n8n community node pack: DOCX tracked changes tools (native + redlines)
category: Community
development_style: declarative
version: 0.4.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: crm114
author_github_url: git+https://github.com/example/n8n-nodes-docx-diff.git
npm_package_name: n8n-nodes-docx-diff
npm_version: 0.4.3
community_fetched_at: 2026-01-07T20:08:17.698Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-docx-diff

  Generate a DOCX with tracked changes (w:ins/w:del) from two DOCX inputs so Google Docs shows Suggestions and Microsoft Word shows tracked changes.

  What it does
  - Produces a DOCX that preserves the revised document structure (styles, numbering, rels, images)
  - Highlights differences at paragraph/run level
  - Handles: body paragraphs, lists/numbering, tables, text boxes, SDT (content controls), hyperlinks
  - Omits bookmarks (to avoid distractions in Google Docs)
  - Optional headers/footers diffing is implemented internally and can be enabled

  Input/Output
  - Inputs: two incoming items to the node (Original on input 1, Revised on input 2), each with one DOCX binary. If multiple binaries exist, the node picks by DOCX MIME type or .docx filename, otherwise errors with choices.
  - Output: a single item containing binary diff.docx and a warnings array in json.

  Key behaviors
  - Lists: pPr/numPr are preserved; insertions wrap only textual runs; deletions synthesize a paragraph with original pPr and deleted runs; modifications wrap changed run spans
  - Tables, text boxes, SDT: paragraphs inside are diffed with the same engine
  - Hyperlinks preserved; bookmarks omitted
  - Existing tracked revisions: existing ins/del/move* are stripped during comparison (ignore). A strict mode exists internally to fail if present

  Recent improvements
  - Style/List-aware alignment keys to reduce cross-style mismatches and align bullets at the correct levels
  - Fallback alignment mode (text-only keys) to avoid pathological non-matching
  - Similarity heuristic to choose paragraph-level vs inline run-level diffs
  - Punctuation-aware tiny-gap merging to avoid noisy equal islands
  - Strict same-level bullet pairing (requires same ilvl; if numId differs, require higher similarity)
  - Numbering-only change suppression (when text is equal but numbering changes)
  - Stable timestamp mode for byte-identical outputs across runs in CI

  Options (defaults shown)
  - granularity: 'word' | 'char' (default: 'word')
  - listIdAlignmentMode: 'ignore-numId' | 'exact' (UI stub)
  - styleChangeEditMode: 'paragraph' | 'inline' (UI stub)
  - suppressWhitespaceOnly: boolean (default: true)
  - includeLists/includeTables/includeTextBoxes/includeHeadersFooters: boolean (defaults: lists/tables/textboxes true; headers/footers false)
  - existingTrackedRevisions: 'ignore' | 'fail' (default: 'ignore')
  - limits: { maxTotalUnzippedBytes, maxEntries, maxEntrySize, maxTokensPerParagraph }
  - mergeSmallEqualGapsThreshold: number (default: 1)
  - mergeSmallPunctGapsThreshold: number (default: 1)
  - punctuationClass: string (default: ",.;:!?")
  - unicodeNormalization: 'off' | 'NFC' | 'NFKC' (default: 'NFC')
  - collapseNBSP: boolean (default: true)
  - normalizeQuotes: boolean (default: true)
  - paragraphAligner: 'lcs' | 'hybrid' (default: 'hybrid')
  - listAwareAlignment: boolean (default: true)
  - styleAwareAlignment: boolean (default: true)
  - modifiedParagraphSimilarityThreshold: number (default: 0.3)
  - timestampMode: 'now' | 'fixed' (default: 'now')
  - fixedTimestamp: ISO string used when timestampMode is 'fixed' (default: '2000-01-01T00:00:00.000Z' if not supplied)

  NormalizationProfile
  - Shared with HTML→DOCX node for consistent normalization used in matching/alignment only.
  - Defaults:
  ```
  {
    "punctuation": "conservative",
    "whitespacePolicy": "collapse",
    "collapseNBSP": true,
    "normalizeQuotes": true,
    "unicodeNormalization": "NFC"
  }
  ```

  Minimal DOCX constraints
  - Pre/post-diff passes aim to keep only w:b/w:i runs and w:pStyle/w:numPr paragraph properties; remove bookmarks; collapse empties. List and hyperlink wrappers are preserved.

  Usage (self-hosted n8n)
  - Install this Community Node package and use the node "DOCX Track-Diff"
  - Connect two upstream nodes producing DOCX binaries to the two inputs
  - Execute the workflow; the resulting diff.docx binary shows Suggestions in Google Docs and tracked changes in Word

  Development
  - Node 20+
  - Install: npm ci
  - Lint: npm run lint
  - Build: npm run build
  - Test: npm test

  License
  - MIT

ai_documentation_summary:
  {"purpose":"The DocxDiff node generates a DOCX file that highlights tracked changes (insertions and deletions) between two input DOCX documents, preserving document structure and formatting while ensuring compatibility with Google Docs (Suggestions) and Microsoft Word (tracked changes).","capabilities":["Compare two DOCX files to detect paragraph and run-level differences","Preserve document structure including styles, numbering, tables, text boxes, and SDT (content controls)","Highlight insertions and deletions with tracked changes in Word and Suggestions in Google Docs","Handle complex elements like lists, tables, hyperlinks, and text boxes with accurate alignment","Support optional diffing of headers and footers","Strip existing tracked revisions (ins/del/move) by default, with strict mode to fail if present","Offer granular control over diff granularity, alignment, and normalization settings"],"authentication":"None required","commonUseCases":["Comparing document revisions in a collaborative workflow","Automating document change tracking for version control","Generating diff reports for content reviewers or editors","Integrating with Google Docs or Microsoft Word for real-time suggestions and tracked edits"],"limitations":["Bookmarks are omitted to avoid distractions in Google Docs","Headers and footers require manual enabling and are not enabled by default","Existing tracked revisions are stripped; strict mode fails if present","Limited support for very large files due to size limits on unzipped bytes and entries","Performance may degrade with very large or complex documents due to deep structural analysis"],"relatedNodes":["HTML to DOCX","File Input/Output nodes","Process nodes for document transformation"]}


node_type: @ixiam/n8n-nodes-civicrm.Civicrm
package_name: @ixiam/n8n-nodes-civicrm
display_name: Civicrm
category: Community
development_style: declarative
version: 1.1.32
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: ixiam-dev
author_github_url: git+https://github.com/ixiam/n8n-nodes-civicrm.git
npm_package_name: @ixiam/n8n-nodes-civicrm
npm_version: 1.1.32
community_fetched_at: 2026-01-07T20:08:17.701Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Full-featured CiviCRM API v4 integration for n8n with support for Contacts, Memberships, Groups, Relationships, Activities and structured sub-entities like Email, Phone, and Address.

npm_readme:
  # n8n-nodes-civicrm

  ![n8n Community Node](https://img.shields.io/badge/n8n-Community%20Node-blue.svg)
  ![CiviCRM API v4](https://img.shields.io/badge/CiviCRM-API%20v4-orange.svg)
  ![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)

  Community Node for **CiviCRM API v4** (Civi-Go compatible)  
  Developed and maintained by **Ixiam Global Solutions**.

  This node enables full integration between **n8n** and **CiviCRM API v4**, supporting create/update/delete operations, smart field mapping, dynamic location types, and advanced filtering on GET operations.

  ---

  ## About CiviCRM

  <p align="center">
    <img src="https://civicrm.org/sites/civicrm.org/files/CiviCRM-logo-2019-F2-200px.png" alt="CiviCRM Logo" width="200"/>
  </p>

  CiviCRM is an open-source Constituent Relationship Management platform designed for nonprofits, NGOs, and advocacy organizations. It supports contact management, memberships, contributions, event registration, email marketing, case management, and reporting. CiviCRM integrates with WordPress, Drupal, and Joomla.

  Download: https://civicrm.org/download

  ---

  ## 🚀 Installation

  1. In your n8n instance, go to:  
     **Settings → Community Nodes → Install**
  2. Enter the package name:

  ```
  @ixiam/n8n-nodes-civicrm
  ```

  3. Approve installation and enable Community Nodes.
  4. If running n8n via Docker, restart/rebuild for the node to load.

  ---

  ## 🔐 Credentials

  The node uses **Bearer Token Authentication**.

  | Field | Description |
  |-------|-------------|
  | **Base URL** | The root URL of your CiviCRM instance (without trailing slash). Example: `https://crm.example.org` |
  | **API Token** | Sent as header `X-Civi-Auth: Bearer <token>` |

  After entering credentials, click **Save** to validate the connection.

  ---

  ## 📦 Supported Entities

  The node includes full API v4 support for the following entities:

  | Entity | Operations |
  |--------|------------|
  | **Contact** | get, getMany, create, update, delete |
  | **Membership** | get, getMany, create, update, delete |
  | **Group** | get, getMany, create, update, delete |
  | **Relationship** | get, getMany, create, update, delete |
  | **Activity** | get, getMany, create, update, delete |
  | **Custom API Call** | full custom API4 request |

  ---

  ## 🧩 Key Features

  ### **1. Dynamic Field Mapping**
  Supports any standard or custom field:

  ```
  first_name = John
  last_name = Doe
  custom_45 = Blue
  ```

  ### **2. Smart Email, Phone & Address Mapping**
  Two ways to set location-aware fields:

  **(A) Simple fields**
  ```
  email = test@example.org
  phone.mobile = 600123456
  address.city = Barcelona
  ```

  **(B) Dynamic prefixes matched to CiviCRM Location Types**
  ```
  work.email = user@company.org
  billing.address.postal_code = 80331
  home.phone.phone_type_id = 2
  ```

  ### **3. Default Location Type selectors**
  If no prefix is used, default types are applied.

  ### **4. Birth Date Normalization**
  Accepted input formats:

  - YYYY-MM-DD
  - DD/MM/YYYY
  - DD-MM-YYYY
  - YYYY/MM/DD
  - YYYY.MM.DD

  Auto-normalized to `YYYY-MM-DD`.

  ### **5. GET MANY with JSON Filters**
  Example:
  ```json
  [
    ["first_name", "LIKE", "Ju%"],
    ["birth_date", ">", "1990-01-01"],
    ["gender_id", "IN", [1, 2]]
  ]
  ```

  ### **6. Custom API Call Mode**
  Example:
  ```json
  {
    "entity": "Contact",
    "action": "get",
    "params": { "limit": 10 }
  }
  ```

  ---

  ## Compatibility

  - **n8n version:** 1.0.0 or higher  
  - **Node.js:** 18 or higher  
  - **CiviCRM:** API v4 compatible (including Civi-Go)

  ---

  ## Development

  Clone the repository and run:

  ```bash
  npm install
  npm run dev
  ```

  Build:

  ```bash
  npm run build
  ```

  ---

  ## Contributions

  Pull requests and issues are welcome in the GitHub repository.

  ---

  ## 🧑‍💻 About Ixiam Global Solutions

  Website: **https://www.ixiam.com**  
  Contact: **info@ixiam.com**

  ---

  ## 📄 License

  MIT License

ai_documentation_summary:
  {"purpose":"The CiviCRM node enables full integration between n8n and CiviCRM API v4, allowing for create, read, update, and delete operations on entities like Contacts, Memberships, Groups, Relationships, Activities, and custom API calls with smart field mapping and dynamic location handling.","capabilities":["Create, update, delete Contacts, Memberships, Groups, Relationships, and Activities","Smart field mapping for standard and custom fields","Dynamic mapping of email, phone, and address fields with location type prefixes (e.g., work.email, billing.address)","Auto-normalization of birth date inputs to YYYY-MM-DD format","Advanced filtering in GET/MANY operations using JSON-based filters","Support for custom API4 calls with full parameter control","Default location type assignment when no prefix is specified"],"authentication":"Bearer Token Authentication: Requires a Base URL and an API Token sent as the header `X-Civi-Auth: Bearer <token>`","commonUseCases":["Syncing donor contact data between n8n and CiviCRM","Automating membership enrollment and updates","Triggering activity logs based on events or form submissions","Filtering contacts by name, date, or custom fields for reporting","Managing organizational groups and relationships"],"limitations":[],"relatedNodes":["n8n core nodes for data transformation","n8n database nodes for data storage","n8n triggers for event-based workflows"]}


node_type: n8n-nodes-gtm.Gtm
package_name: n8n-nodes-gtm
display_name: Gtm
description: Node N8N to interact with Google Tag Manager
category: Community
development_style: declarative
version: 1.0.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: elevate_agency
author_github_url: git+https://github.com/elevate-agency-data/n8n-nodes-gtm.git
npm_package_name: n8n-nodes-gtm
npm_version: 1.0.9
community_fetched_at: 2026-01-07T20:08:17.702Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-gtm  

  This is an n8n community node. It lets you interact with Google Tag Manager (GTM) in your n8n workflows.  

  Google Tag Manager is a tag management system that allows users to quickly and easily update tags and code snippets on their websites or mobile apps.  

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

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

  ## Installation  

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

  Alternatively, you can manually install it:  

  ```sh  
  git clone https://github.com/elevate-agency-data/n8n-nodes-gtm.git 
  cd n8n-nodes-gtm 
  npm install  
  ```  

  Then, place the node file in the `~/.n8n/custom-nodes` directory (or follow instructions specific to your n8n installation).   

  ## Credentials  

  To use this node, you need a Google Cloud API key with access to Google Tag Manager.  

  ## Operations  

  This node supports the following operations within Google Tag Manager:  

  * **Account**
      - Gets an account
      - List all accounts
      - Updates an account
  * **Built-In Variable**
      - Create a built-in variable
      - Delete a built-in variable
      - Lists all the enabled built-in variables
      - Reverts changes to a built-in variable
  * **Client**
      - Creates a client
      - Deletes a client
      - Gets a client
      - Lists all clients
      - Reverts changes to a client
      - Updates a client
  * **Container**
      - Combines containers
      - Creates a container
      - Deletes a container
      - Gets a container
      - Lists all containers
      - Looks up a container
      - Move tag ID out of a container
      - Gets the tagging snippet for a container
      - Updates a container
  * **Destination**
      - Gets a destination
      - Adds a destination
      - Lists all destinations
  * **Environment**
      - Creates an environment
      - Deletes an environment
      - Gets an environment
      - Lists all environments
      - Re-generates the authorization code for an environment
      - Updates an environment
  * **Folder**
      - Creates a folder
      - Deletes a folder
      - List all entities in a folder
      - Gets a folder
      - Lists all folders
      - Moves entities to a folder
      - Reverts changes to a folder
      - Updates a folder
  * **Google Tag Configuration**
      - Creates a google tag config
      - Deletes a google tag config
      - Gets a google tag config
      - Lists all google tag configs
      - Updates a google tag config
  * **Tag**
      - Creates a tag
      - Deletes a tag
      - Gets a tag
      - Lists all tags
      - Reverts changes to a tag
      - Updates a tag
  * **Template**
      - Creates a custom template
      - Deletes a template
      - Gets a template
      - Imports a template from gallery
      - Lists all templates
      - Reverts changes to a template
      - Updates a templates
  * **Transformation**
      - Creates a transformation
      - Deletes a transformation
      - Gets a transformation
      - Lists all transformations
      - Reverts changes to a transformation
      - Updates a transformation
  * **Trigger**
      - Creates a trigger
      - Deletes a trigger
      - Gets a trigger
      - Lists all triggers
      - Reverts changes to a trigger
      - Updates a trigger
  * **User Permission**
      - Creates a user's permissions
      - Remove a user's permissions
      - Gets a user's permissions
      - Lists all users that have access
      - Updates a user's permissions
  * **Variable**
      - Creates a variable
      - Deletes a variable
      - Gets a variable
      - Lists all variables
      - Reverts changes to a variable
      - Updates a variable
  * **Version Header**
      - Gets the latest container version header
      - Lists all container versions
  * **Version**
      - Deletes a version
      - Gets a version
      - Gets the live version
      - Publishes a version
      - Sets the latest versions
      - Undeletes a version
      - Updates a version
  * **Workspace**
      - Creates a workspace
      - Creates a container version from the entities present in the workspace
      - Deletes a workspace
      - Finds conflicting and modified entities in the workspace
      - Gets a workspace
      - Lists all workspaces
      - Quick previews a workspace
      - Resolves a merge conflict for a workspace entity
      - Syncs a workspace to the latest container version
      - Updates a workspace
  * **Zone**
      - Creates a zone
      - Deletes a zone
      - Gets a zone
      - Lists all zones
      - Reverts changes to a zone
      - Updates a zone

  Retrieve information from the [GTM API](https://developers.google.com/tag-platform/tag-manager/api/v2?hl=fr). 

  ### Steps to obtain API credentials:  

  1. Go to the [Google Cloud Console](https://console.cloud.google.com/)  
  2. Create a new project or use an existing one  
  3. Enable the **Google Tag Manager API**  
  4. Create API credentials (API key or OAuth 2.0)  
  5. Add your API key to the authentication settings in n8n  

  ## 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
  ```

  ## Compatibility  

  - Tested with: 1.80.5 (Success)

  ## Resources  

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)  
  - [Google Tag Manager API documentation](https://developers.google.com/tag-platform/tag-manager/api/v2)

ai_documentation_summary:
  {"purpose":"The Gtm node enables n8n users to interact with Google Tag Manager (GTM) by performing operations such as creating, updating, deleting, and managing tags, containers, variables, triggers, destinations, and other GTM entities through API calls.","capabilities":["List and get accounts","Create, update, delete clients and containers","Manage built-in variables and custom variables","Create and manage tags, triggers, templates, transformations","Manage environments, folders, workspaces, and versions","Get and publish container versions","Manage user permissions","Retrieve tagging snippets and version headers"],"authentication":"API key required from Google Cloud Console with access to Google Tag Manager API","commonUseCases":["Automating tag creation or updates in GTM","Managing container configurations and versions","Scheduling tag or trigger deployments","Syncing workspace changes to live containers","Monitoring or auditing GTM entities via workflows"],"limitations":[],"relatedNodes":["Google Cloud API nodes","n8n AI Agents (when used as a tool)","Workflow automation nodes for web analytics"]}


node_type: n8n-nodes-linderconnect.Linderconnect
package_name: n8n-nodes-linderconnect
display_name: Linderconnect
description: Private n8n community node package for LinderConnect curated API operations.
category: Community
development_style: declarative
version: 0.2.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mellmango
npm_package_name: n8n-nodes-linderconnect
npm_version: 0.2.5
community_fetched_at: 2026-01-07T20:08:17.702Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-linderconnect

  Private n8n community node package exposing the Core ERD admin allowlist. All operations use the public/admin API and send `X-LC-Engine: n8n` for audit.

  ## Supported resources/operations
  - `org`
    - `list` → `GET /api/admin/orgs`
    - `create` → `POST /api/admin/orgs`
  - `location`
    - `list` → `GET /api/admin/locations`
    - `get` → `GET /api/admin/locations/:id`
    - `create` → `POST /api/admin/locations` (now accepts context, industry/template/prompt IDs)
    - `upsert` → create-or-update by org+slug/name; applies context/industry/template/prompt/status
    - `updateContext` → `PATCH /api/admin/locations/:id` (context/industry/template/prompt snapshot fields/status)
  - `phoneNumber`
    - `list` → `GET /api/admin/phone-numbers?query=`
    - `map` → `POST /api/admin/phone-numbers/map`
    - `unmap` → `POST /api/admin/phone-numbers/unmap`
    - `update` → `PATCH /api/admin/phone-routes/:id` (provider, provider_phone_number_id, provider_assistant_id, status)
  - `membership`
    - `addOrg` / `removeOrg` → `POST /api/admin/memberships/org/*`
    - `addLocation` / `removeLocation` → `POST /api/admin/memberships/location/*`
  - `user`
    - `list` → `GET /api/admin/users`
    - `get` → `GET /api/admin/users/:id`
  - `apiKey`
    - `list` → `GET /api/admin/api-keys`
    - `create` → `POST /api/admin/api-keys` (returns plaintext once)
    - `revoke` → `POST /api/admin/api-keys/:id/revoke`
  - `invite`
    - `list` → `GET /api/admin/dashboard-invites`
    - `create` → `POST /api/admin/dashboard-invites` (token in response only)
    - `resend` → `POST /api/admin/dashboard-invites/:id/resend`
  - `onboarding`
    - `retry` → `POST /api/admin/onboarding/:clientId/retry`
    - `statusUpdate` → `POST /api/onboarding/submissions/:id/status`

  ## Credentials
  - Credential name: **LinderConnect API**
  - Fields:
    - `API Key` – admin-scoped API key from `/api/admin/api-keys`
    - `Base URL` – defaults to `https://api.linderconnect.com`
  - Authentication sent as `Authorization: Bearer <key>` and `X-LC-Api-Key: <key>`. The node also sets `X-LC-Engine: n8n` for auditability.

  ## Build
  ```bash
  corepack pnpm --filter=n8n-nodes-linderconnect build
  ```
  Artifacts land in `dist/` and are referenced via the `n8n` section in `package.json`.

  ## Notes
  - All operations assume admin-level access; org/client/user scoped keys are not yet enforced.
  - Workflow/Integration-era endpoints are removed from this node to match the Core ERD allowlist.

ai_documentation_summary:
  {"purpose":"The LinderConnect node enables automation of administrative operations within the LinderConnect platform, such as managing organizations, locations, users, API keys, and onboarding processes, using the public/admin API with admin-level access.","capabilities":["List organizations","Create organizations","List and manage locations (including create, get, update context, upsert)","Map and unmap phone numbers","Update phone route settings","Manage user memberships (add/remove org or location)","List and retrieve users","Create, list, and revoke API keys","Create and manage dashboard invites (including resend)","Retry onboarding for clients"],"authentication":"API key required; authenticated via both `Authorization: Bearer <key>` and `X-LC-Api-Key: <key>`. The node automatically adds `X-LC-Engine: n8n` for audit logging.","commonUseCases":["Administering organization and location data in LinderConnect","Managing user access and API key permissions","Handling onboarding workflows and user invites","Automating phone number routing and mapping","Maintaining user and membership relationships"],"limitations":["Requires admin-level access; org/client/user scoped keys are not enforced","Only supports operations from the Core ERD allowlist; workflow/integration-era endpoints are excluded","API keys are returned in plaintext when created, posing a security risk if not handled carefully"],"relatedNodes":["n8n-nodes-base","n8n-nodes-base.admin","n8n-nodes-base.users","n8n-nodes-base.api"]}


node_type: n8n-nodes-popo.Popo
package_name: n8n-nodes-popo
display_name: Popo
description: POPO Open Platform nodes for n8n
category: Community
development_style: declarative
version: 1.6.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: shenhh
author_github_url: https://gitlab.corp.youdao.com/DevOPS/workflow/n8n-nodes-popo
npm_package_name: n8n-nodes-popo
npm_version: 1.6.1
community_fetched_at: 2026-01-07T20:08:17.702Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-popo

  This is an n8n community node. It lets you use POPO OpenPlatForm API and POPO OA API 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)  

  ## Installation

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

  need a access token.
   
  ## Usage

  Function is very simple and needs no explanation.

  ## Resources

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

ai_documentation_summary:
  {"purpose":"The Popo node enables integration with the POPO OpenPlatform and POPO OA APIs within n8n workflows, allowing users to leverage POPO's services through automated processes.","capabilities":["Access POPO OpenPlatform API","Access POPO OA API","Perform API calls via n8n workflows"],"authentication":"API access token required","commonUseCases":["Automating data retrieval from POPO services","Syncing customer or order data using POPO APIs"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-http"]}


node_type: n8n-nodes-flowbot.Flowbot
package_name: n8n-nodes-flowbot
display_name: Flowbot
description: Flowbot custom nodes for n8n
category: Community
development_style: declarative
version: 3.0.13
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: flowbot.dev
author_github_url: git+https://github.com/appstogonet/flowbot-n8n-app.git
npm_package_name: n8n-nodes-flowbot
npm_version: 3.0.13
community_fetched_at: 2026-01-07T20:08:17.703Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n node for Flowbot

  Flowbot Community Nodes for n8n

  ## Overview

  This package adds Flowbot integration to [n8n](https://n8n.io), the open-source automation platform.  
  It lets you receive events from Flowbot and work with your support data (agents, tickets, etc.) directly inside n8n workflows — without writing custom HTTP requests every time.

  With these nodes you can:
  - Subscribe to Flowbot webhooks and trigger n8n instantly when something happens (new ticket, ticket update, etc.).
  - Fetch agents / contacts from Flowbot.
  - Create or update support tickets in Flowbot from any workflow.
  - Pass Flowbot data forward to email, Slack, CRM (including Zoho CRM, Jira, Salesforce, HubSpot, etc.), and other business tools.

  > Goal: make it easy for support / success teams to automate workflows around Flowbot without coding.

  ---

  ## Features

  ### Triggers
  - **Flowbot Ticket Updated Trigger**  
    Fires in n8n when a ticket is updated in Flowbot (status change, new message, assignment, etc.).

  - **Flowbot New Ticket Trigger**  
    Fires when a new ticket is created in Flowbot.

  ---

  ## Technical Documentation

  ### Integration Flow

  This integration automates the creation and linking of a Flowbot tool with an agent for ticket creation and update.

  #### How It Works

  - **Create/Update Ticket:**  
    When you select "Create Ticket" or "Update Ticket" in n8n, you can press **Execute Step** to preview sample data fields.
    After specifying the agent list and tool name, pressing **Execute Step** again returns a structured JSON response with ticket details.

  #### Authentication

  - Users must enter credentials, including an API key, in the node’s credentials section.
  - The API key is required to authorize communication with the Flowbot backend.
  - Example header:
    ```
    X-API-KEY: <your-api-key>
    ```

  #### Under the Hood

  - **Webhook Subscription:**  
    When you subscribe via the trigger node, the backend creates a webhook subscription linking your Flowbot tool and webhook URL.
  - **Event Delivery:**  
    When an agent is called during a workflow (e.g., incoming call or message), and a ticket is created or updated, the backend sends event data to your n8n workflow.
  - **Verification:**  
    The webhook includes internal verification.  
    Only requests with the correct authentication header and required fields generated by Flowbot are accepted.

  ---

  ## Webhook Request/Response Examples

  ### Ticket Creation

  **Request Example:**
  ```json
  {
    "contact": "TestContact",
    "email_contact": "test@gmail.com",
    "subject": "Ticket created",
    "description": "Updated"
  }
  ```

  ### Ticket Update

  **Request Example:**
  ```json
  {
    "ticket_number": "0425",
    "contact": "TestContact",
    "email_contact": "test@gmail.com",
    "subject": "Ticket updated",
    "description": "Updated"
  }
  ```

  ### Headers for Verification

  Flowbot webhooks require authentication headers.
  Only requests with valid headers and payload structure are processed by the n8n node.

  ---

  ## Typical Use Cases

  - Auto-create a Flowbot ticket from an inbound email or web form.
  - Notify Slack/Telegram when a VIP ticket changes to `Escalated`.
  - Auto-assign new tickets to the "on-duty" agent and log that to Google Sheets.
  - Send conversation transcripts to CRM systems such as Zoho CRM, Jira, Salesforce, HubSpot, or to a data warehouse.
  - Sync ticket updates with external project management tools (e.g., Jira) or customer databases (e.g., Zoho CRM).

  ---

  ## Requirements

  To use these nodes you need:
  1. **A Flowbot account
  2. **API Key** generated in Flowbot.  
     The node will send this key in headers (for example: `X-API-KEY`) with every request.  
  3. **Self-hosted n8n** or n8n instance that allows installing community nodes from npm.

  Node.js 18+ / 20+ and a recent n8n version are typically required for community nodes.

  ---

  ## Installation

  ### Option 1: Install via n8n UI (self-hosted n8n)
  1. Open your n8n instance.
  2. Go to **Settings → Community Nodes**.
  3. Add the package name:  
     `n8n-nodes-flowbot`
  4. Confirm installation and restart if n8n asks.

  ### Option 2: Install manually with npm
  If you run n8n from source / Docker with custom extensions:

  ```bash
  cd /path/to/your/n8n
  npm install n8n-nodes-Flowbot
  ```

ai_documentation_summary:
  {"purpose":"The Flowbot node enables integration between n8n and Flowbot, allowing automation of support workflows by triggering n8n when tickets are created or updated in Flowbot, and enabling creation or updates of tickets directly from n8n workflows.","capabilities":["Subscribe to Flowbot webhooks to trigger n8n on new ticket creation or updates","Create or update support tickets in Flowbot from n8n workflows","Fetch agents and contacts from Flowbot","Forward Flowbot data to external tools like Slack, email, Zoho CRM, Jira, Salesforce, HubSpot, and Google Sheets"],"authentication":"API key required; must be provided in the node credentials and sent in the request header as `X-API-KEY`","commonUseCases":["Auto-create a Flowbot ticket from an inbound email or web form","Notify Slack or Telegram when a VIP ticket is escalated","Auto-assign new tickets to on-duty agents and log updates in Google Sheets","Sync ticket updates with CRM or project management tools like Jira or Zoho CRM"],"limitations":[],"relatedNodes":["Webhook Trigger","HTTP Request","Email","Slack","Zoho CRM"]}


node_type: @pakoor/n8n-nodes-instagram.Instagram
package_name: @pakoor/n8n-nodes-instagram
display_name: Instagram
description: n8n community node for Instagram Messaging API integration
category: Community
development_style: declarative
version: 0.1.13
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: pakoor
npm_package_name: @pakoor/n8n-nodes-instagram
npm_version: 0.1.13
community_fetched_at: 2026-01-07T20:08:17.703Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-instagram

  n8n community node for Instagram Messaging API integration. This package provides OAuth2/Access Token authentication, messaging capabilities, content publishing, comment management, and webhook-based event handling through the Instagram Graph API.

  ## Features

  - **OAuth2 & Access Token Authentication** - Secure connection with automatic token refresh
  - **Messaging** - Send text, images, audio, video, buttons, carousels, and quick replies
  - **User Management** - Retrieve user profiles and account information
  - **Comment Management** - Get, reply, delete, and moderate comments
  - **Content Publishing** - Create posts, carousels, stories, and reels
  - **Media Management** - List and retrieve media details
  - **Webhook Triggers** - Receive real-time messaging and content events

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-instagram` and confirm

  ### Manual Installation

  ```bash
  npm install n8n-nodes-instagram
  ```

  Or in your n8n installation directory:

  ```bash
  cd ~/.n8n/custom
  npm install n8n-nodes-instagram
  ```

  ## Prerequisites

  - Instagram Business Account or Creator Account
  - Facebook Page connected to your Instagram account
  - Meta Developer App with Instagram Graph API enabled

  ### Required Permissions

  - `instagram_basic` - Basic account information
  - `instagram_manage_messages` - Send and receive messages
  - `instagram_manage_comments` - Manage comments
  - `instagram_content_publish` - Publish content
  - `pages_show_list` - Access connected Facebook pages
  - `pages_read_engagement` - Read page engagement data

  ## Quick Start

  ### 1. Set Up Credentials

  #### OAuth2 (Recommended)
  1. Create a Meta Developer App at [developers.facebook.com](https://developers.facebook.com)
  2. Add Instagram Graph API product
  3. In n8n, create new **Instagram OAuth2 API** credentials
  4. Enter your App ID and App Secret
  5. Click **Connect** to authorize

  #### Access Token
  1. Generate a long-lived access token from Meta Developer Console
  2. In n8n, create new **Instagram Access Token API** credentials
  3. Paste your access token
  4. Account ID will be auto-discovered

  ### 2. Create Your First Workflow

  1. Add an **Instagram** node to your workflow
  2. Select your credentials
  3. Choose a resource and operation
  4. Configure the parameters
  5. Execute the workflow

  ## Node Operations

  ### Instagram Node

  #### Message Operations

  | Operation | Description |
  |-----------|-------------|
  | Send Text | Send a text message to a user |
  | Send Image | Send an image message via URL |
  | Send Audio | Send an audio message via URL |
  | Send Video | Send a video message via URL |
  | Send Button Template | Send interactive buttons |
  | Send Generic Template | Send a carousel of cards |
  | Send Quick Replies | Send quick reply options |

  #### User Operations

  | Operation | Description |
  |-----------|-------------|
  | Get Profile | Get a user's profile by IGSID |
  | Get My Profile | Get your Instagram Business Account info |

  #### Comment Operations

  | Operation | Description |
  |-----------|-------------|
  | Get Comments | Get comments on a media post |
  | Get Replies | Get replies to a comment |
  | Reply | Post a public reply to a comment |
  | Send Private Reply | Send a DM to a commenter (within 7 days) |
  | Delete | Delete a comment |
  | Toggle Visibility | Hide or unhide a comment |

  #### Post Operations

  | Operation | Description |
  |-----------|-------------|
  | Create Single | Create a single image/video post |
  | Create Carousel | Create a carousel post (2-10 items) |
  | Publish | Publish a media container |

  #### Story Operations

  | Operation | Description |
  |-----------|-------------|
  | Create | Create a story (image or video) |

  #### Reel Operations

  | Operation | Description |
  |-----------|-------------|
  | Create | Create a reel (video up to 60 seconds) |

  #### Media Operations

  | Operation | Description |
  |-----------|-------------|
  | List | List your media with pagination |
  | Get | Get details of a specific media |
  | Get Children | Get items in a carousel post |

  ### Instagram Trigger Node

  Receives webhook events from Instagram with dual outputs:

  | Output | Events |
  |--------|--------|
  | Messaging Events | Messages, Postbacks, Opt-ins |
  | Content Events | Comments, Mentions |

  ## Usage Examples

  ### Send a Text Message

  ```json
  {
    "resource": "message",
    "operation": "sendText",
    "recipientId": "{{$json.sender_id}}",
    "text": "Hello! Thanks for reaching out."
  }
  ```

  ### Send Button Template

  ```json
  {
    "resource": "message",
    "operation": "sendButtonTemplate",
    "recipientId": "{{$json.sender_id}}",
    "text": "How can I help you?",
    "buttons": [
      { "type": "postback", "title": "View Products", "payload": "PRODUCTS" },
      { "type": "web_url", "title": "Visit Website", "url": "https://example.com" }
    ]
  }
  ```

  ### Create and Publish a Post

  ```json
  // Step 1: Create container
  {
    "resource": "post",
    "operation": "createSingle",
    "mediaType": "IMAGE",
    "mediaUrl": "https://example.com/image.jpg",
    "caption": "Check out our new product! #newproduct"
  }

  // Step 2: Publish (use container ID from step 1)
  {
    "resource": "post",
    "operation": "publish",
    "containerId": "{{$json.id}}"
  }
  ```

  ### Reply to Comments Automatically

  Use the Instagram Trigger to receive comment events, then reply:

  ```json
  {
    "resource": "comment",
    "operation": "reply",
    "commentId": "{{$json.id}}",
    "message": "Thanks for your comment! 🙏"
  }
  ```

  ## Validation Limits

  | Field | Limit |
  |-------|-------|
  | Text message | 1000 characters |
  | Button count | 3 maximum |
  | Button title | 20 characters |
  | Quick replies | 13 maximum |
  | Carousel items | 2-10 items |
  | User tags | 20 maximum |
  | Tag position (x, y) | 0-1 range |
  | Reel duration | 60 seconds |

  ## Webhook Setup

  To use the Instagram Trigger node:

  1. Deploy your n8n instance with a public URL
  2. Add the Instagram Trigger node to a workflow
  3. Activate the workflow
  4. Configure the webhook URL in your Meta App:
     - Go to your Meta App > Webhooks
     - Subscribe to `instagram` webhooks
     - Enter your n8n webhook URL
     - Select events: `messages`, `messaging_postbacks`, `comments`, `mentions`

  ## Error Handling

  The node provides detailed error information:

  | Error Code | Description | Suggestion |
  |------------|-------------|------------|
  | 4 | Rate limit exceeded | Wait and retry |
  | 190 | Invalid access token | Reconnect credentials |
  | 100 | Invalid parameter | Check input values |
  | 10 | Permission denied | Check app permissions |

  Enable **Continue On Fail** in node settings for graceful error handling in workflows.

  ## Development

  ```bash
  # Install dependencies
  npm install

  # Build
  npm run build

  # Run tests
  npm test

  # Lint
  npm run lint
  ```

  ## License

  MIT

  ## Links

  - [Instagram Graph API Documentation](https://developers.facebook.com/docs/instagram-api)
  - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)
  - [Meta Developer Portal](https://developers.facebook.com)

ai_documentation_summary:
  {"purpose":"The Instagram node enables integration with Instagram's Graph API to send messages, manage comments, publish content (posts, stories, reels), and receive real-time webhook events via OAuth2 or access token authentication.","capabilities":["Send text, image, audio, video, buttons, carousels, and quick replies","Retrieve user profiles and account information","Manage comments (get, reply, delete, moderate)","Create and publish posts, carousels, stories, and reels","List and retrieve media details","Receive real-time messaging and content events via webhooks"],"authentication":"OAuth2 with app credentials (App ID and App Secret) or via long-lived access token","commonUseCases":["Automated customer messaging and support replies","Real-time comment moderation and automated responses","Scheduled content publishing (posts, stories, reels)","Interactive message campaigns with buttons and quick replies","Monitoring and reacting to user engagement events"],"limitations":["Quick replies limited to 13 options","Buttons limited to 3","Button titles limited to 20 characters","Carousel items limited to 2–10","Reel duration capped at 60 seconds"],"relatedNodes":["Webhook Trigger","Message Nodes","Content Publishing Nodes","Comment Management Nodes"]}


node_type: n8n-nodes-multi-profile.MultiProfile
package_name: n8n-nodes-multi-profile
display_name: MultiProfile
description: MultiProfile node for n8n - Automation browser control with MultiProfile
category: Community
development_style: declarative
version: 1.0.15
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: vinhnk123
author_github_url: git+https://github.com/vinhnk/multiprofile_auto_update.git
npm_package_name: n8n-nodes-multi-profile
npm_version: 1.0.15
community_fetched_at: 2026-01-07T20:08:17.704Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-multi-profile

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

  n8n node to integrate with MultiProfile - A powerful browser automation tool.

  Support: [https://t.me/tools_mmo_123][Tele](https://t.me/tools_mmo_123)

  ## Features

  - **Profile Management**: Create, open, close and delete browser profiles
  - **Browser Automation**: Control browser with click, type, scroll actions, etc.
  - **Multi-threading**: Run multiple profiles simultaneously
  - **MultiProfile API Integration**: Full access to MultiProfile API
  - **Tab Management**: Open, close, switch tabs flexibly
  - **Upload/Download File**: Easy file handling
  - **Screenshot & Extract Data**: Capture screenshots and extract data

  ## Installation

  1. Open your n8n
  2. Go to **Settings** > **Community Nodes**
  3. Select **Install**
  4. Enter `n8n-nodes-multi-profile`
  5. Accept the risks and click **Install**

  ## Configuration

  This node requires MultiProfile to be running on your machine. Download MultiProfile at:
  - [https://multiprofile.info/#download](https://github.com/vinhnk/multiprofile_auto_update/releases)

  1. Start MultiProfile
  2. Ensure API port (default: 3000) is running

  ## How to write selector

  Reference: https://files.multiprofile.info/docs/element-operation.html#selector-format

  ## Troubleshooting

  ### Cannot connect to MultiProfile

  - Check if MultiProfile is running
  - Verify API port (default: 3000) is not blocked
  - Check firewall settings

  ### Browser does not open

  - Ensure profile ID is valid
  - Check logs in n8n for error details

  ## Support

  - Documentation: [https://files.multiprofile.info/docs/index.html](https://files.multiprofile.info/docs/index.html)
  - Email: nkvinh@gmail.com
  - Tele: https://t.me/tools_mmo_123

  ## Credits

  Developed by [MultiProfile Team](https://multiprofile.info)

  ---

  **Note:** This node requires MultiProfile to be installed and running on your machine. Download MultiProfile at - [https://multiprofile.info/#download](https://github.com/vinhnk/multiprofile_auto_update/releases)

ai_documentation_summary:
  {"purpose":"The MultiProfile node enables browser automation in n8n by integrating with the MultiProfile tool, allowing users to manage multiple browser profiles, perform actions like clicking and typing, manage tabs, upload/download files, and extract data via screenshots.","capabilities":["Create, open, close, and delete browser profiles","Control browser actions (click, type, scroll)","Run multiple profiles simultaneously using multi-threading","Manage tabs (open, close, switch)","Upload and download files","Take screenshots and extract data from pages","Full access to MultiProfile API"],"authentication":"None required; authentication is handled via local MultiProfile instance running on the machine","commonUseCases":["Automating web tasks across multiple user sessions (e.g., login with different profiles)","Performing parallel browser operations (e.g., price checks on multiple sites)","Data scraping with tab and profile switching","Automated form filling and navigation with file handling"],"limitations":["Requires MultiProfile to be installed and running locally on the machine","Dependent on API port (default: 3000) being accessible and not blocked by firewall","No built-in error handling or retry mechanisms for connection issues","Limited documentation on advanced selector usage or complex workflows"],"relatedNodes":["Browser Automation Nodes","API Integration Nodes","File Handling Nodes"]}


node_type: n8n-nodes-gohighlevel.Gohighlevel
package_name: n8n-nodes-gohighlevel
display_name: Gohighlevel
description: n8n node for GoHighLevel API v2
category: Community
development_style: declarative
version: 1.2.14
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: shidoverse
author_github_url: git+https://github.com/akpenou/n8n-nodes-gohighlevel.git
npm_package_name: n8n-nodes-gohighlevel
npm_version: 1.2.14
community_fetched_at: 2026-01-07T20:08:17.704Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-gohighlevel

  This is a n8n community node for GoHighLevel API v2. It provides comprehensive integration with GoHighLevel's features including contacts, companies, opportunities, forms, funnels, and messaging capabilities.

  ## Installation

  ### In n8n:

  ```bash
  npm install n8n-nodes-gohighlevel
  ```

  ### Development:

  ```bash
  # Clone repository
  git clone https://github.com/akpenou/n8n-nodes-gohighlevel.git

  # Install dependencies
  npm install

  # Build
  npm run build

  # Development mode
  npm run dev
  ```

  ## Version Management

  This package follows semantic versioning (MAJOR.MINOR.PATCH):

  - MAJOR: Breaking changes
  - MINOR: New features without breaking changes
  - PATCH: Bug fixes

  To update version:

  1. Update `version` in `package.json`
  2. Run `npm run build`
  3. Commit changes with message "Release vX.X.X"
  4. Create GitHub release
  5. Run `npm publish`

  ## Node Types

  ### 1. GoHighLevel Node

  Regular node for API operations. See [Node Documentation](./docs/node.md)

  ### 2. GoHighLevel Trigger

  Webhook trigger node for real-time events. See [Webhook Documentation](./docs/webhook.md)

  ### 3. Authentication

  OAuth2 credentials for secure API access. See [Credentials Documentation](./docs/credentials.md)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"The Gohighlevel node enables integration with GoHighLevel API v2, allowing users to perform operations on contacts, companies, opportunities, forms, funnels, and messaging features within n8n workflows.","capabilities":["Manage contacts","Manage companies","Manage opportunities","Handle forms","Manage funnels","Manage messaging capabilities","Use webhook triggers for real-time events"],"authentication":"OAuth2 credentials required for secure API access","commonUseCases":["Syncing customer data between n8n and GoHighLevel","Automating lead capture via forms and funnels","Triggering workflows based on real-time events (e.g., new contact or form submission)","Managing and updating company and contact records"],"limitations":[],"relatedNodes":["Webhook trigger nodes","Authentication nodes (OAuth2)"]}


node_type: n8n-nodes-unitalk-router.UnitalkRouter
package_name: n8n-nodes-unitalk-router
display_name: UnitalkRouter
description: Unitalk AI Router integration for n8n
category: Community
development_style: declarative
version: 0.1.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: atouch
author_github_url: git+https://github.com/unitalkai/n8n-nodes-unitalk-router.git
npm_package_name: n8n-nodes-unitalk-router
npm_version: 0.1.10
community_fetched_at: 2026-01-07T20:08:17.705Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-unitalk-router

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

  - Issues
      - Get an issue
      - Get many issues in a repository
      - Create a new issue
  - Issue Comments
      - Get many issue comments

  ## Credentials

  You can use either access token or OAuth2 to use this node.

  ### Access token

  1. Open your GitHub profile [Settings](https://github.com/settings/profile).
  2. In the left navigation, select [Developer settings](https://github.com/settings/apps).
  3. In the left navigation, under Personal access tokens, select Tokens (classic).
  4. Select Generate new token > Generate new token (classic).
  5. Enter a descriptive name for your token in the Note field, like n8n integration.
  6. Select the Expiration you'd like for the token, or select No expiration.
  7. Select Scopes for your token. For most of the n8n GitHub nodes, add the `repo` scope.
      - A token without assigned scopes can only access public information.
  8. Select Generate token.
  9. Copy the token.

  Refer to [Creating a personal access token (classic)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic) for more information. Refer to Scopes for OAuth apps for more information on GitHub scopes.

  ![Generated Access token in GitHub](https://docs.github.com/assets/cb-17251/mw-1440/images/help/settings/personal-access-tokens.webp)

  ### OAuth2

  If you're self-hosting n8n, create a new GitHub [OAuth app](https://docs.github.com/en/apps/oauth-apps):

  1. Open your GitHub profile [Settings](https://github.com/settings/profile).
  2. In the left navigation, select [Developer settings](https://github.com/settings/apps).
  3. In the left navigation, select OAuth apps.
  4. Select New OAuth App.
      - If you haven't created an app before, you may see Register a new application instead. Select it.
  5. Enter an Application name, like n8n integration.
  6. Enter the Homepage URL for your app's website.
  7. If you'd like, add the optional Application description, which GitHub displays to end-users.
  8. From n8n, copy the OAuth Redirect URL and paste it into the GitHub Authorization callback URL.
  9. Select Register application.
  10. Copy the Client ID and Client Secret this generates and add them to your n8n credential.

  Refer to the [GitHub Authorizing OAuth apps documentation](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps) for more information on the authorization process.

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [GitHub API docs](https://docs.github.com/en/rest/issues)

ai_documentation_summary:
  {"purpose":"The UnitalkRouter node integrates with GitHub to manage issues and issue comments, enabling automation of GitHub issue operations within n8n workflows.","capabilities":["Get a single issue","Get multiple issues from a repository","Create a new issue","Get multiple issue comments"],"authentication":"Either an access token with the 'repo' scope or OAuth2 authentication (with Client ID and Client Secret)","commonUseCases":["Automatically creating GitHub issues based on triggers or data inputs","Fetching and processing existing issues for monitoring or reporting","Commenting on issues to update status or provide feedback","Batch processing multiple issues in a repository"],"limitations":[],"relatedNodes":["GitHub Issue Management nodes","n8n workflow automation nodes with external API integrations"]}


node_type: n8n-nodes-datamagik.Datamagik
package_name: n8n-nodes-datamagik
display_name: Datamagik
description: n8n nodes for DataMagik Manufacturing & Document Automation API
category: Community
development_style: declarative
version: 2.1.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: davidchupp
author_github_url: git+https://github.com/dchupp/n8n-nodes-datamagik.git
npm_package_name: n8n-nodes-datamagik
npm_version: 2.1.0
community_fetched_at: 2026-01-07T20:08:17.710Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-datamagik

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

  This is an n8n community node for the DataMagik Manufacturing & Document Automation API. It provides complete integration for document generation, traceability, lookup tables, printing, and label design in your n8n workflows.

  ## Features

  ### Document Resource

  -   **List Templates**: Get available document templates from your DataMagik account
  -   **Smart Document Generation**: Create PDF or HTML documents with automatic completion waiting
  -   **Automatic Polling**: Built-in intelligent polling (up to 2 minutes for completion)
  -   **Binary Downloads**: Automatically downloads binary data when using binary return type

  ### Traceability Resource

  -   **Serial Number Series**: Create, manage, and configure serial number formats
  -   **Generate Serials**: Generate single or batch serial numbers with context data
  -   **Search Records**: Query traceability history across your organization

  ### Lookup Table Resource

  -   **Key-Value Storage**: Create and manage lookup tables for production data
  -   **Bulk Operations**: Import multiple entries at once
  -   **Fast Lookups**: Retrieve values by key for real-time workflows

  ### Printer Resource

  -   **Printer Management**: Register and configure industrial printers
  -   **Print Jobs**: Send ZPL, PDF, or raw data to printers
  -   **URL Data Sources**: Fetch print data from external URLs

  ### Label Resource

  -   **ZPL Processing**: Process ZPL templates with dynamic data
  -   **Preview Generation**: Generate PNG previews of ZPL labels

  ## Installation

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

  ### Option 1: Install via n8n

  1. Go to Settings → Community Nodes
  2. Enter `n8n-nodes-datamagik`
  3. Click Install

  ### Option 2: Manual Installation

  ```bash
  npm install n8n-nodes-datamagik
  ```

  Restart your n8n instance for the node to be recognized.

  ## Configuration

  ### Credentials

  1. Create a new credential of type "DataMagik API"
  2. Enter your API Token (JWT Bearer token)

  ### Test Credentials

  The node includes a built-in credential test that verifies your API token by calling the `/api/health` endpoint against the DataMagik API at https://data-magik.com.

  ## Operations

  ### Document Resource

  #### List Templates

  Retrieves all available document templates for your account.

  #### Generate Document

  Creates a document from a template using provided data. **Automatically waits for completion** (up to 2 minutes).

  **Required Parameters**:

  -   **Template ID**: The ID of the template to use
  -   **Format**: Output format (PDF or HTML)
  -   **Return Type**: How to return the document (URL or Binary)
  -   **Template Data**: JSON object with data to populate the template

  ### Traceability Resource

  #### List Series

  Get all serial number series configured for your account.

  #### Generate Serial

  Generate a single serial number from a series with optional context data.

  #### Batch Generate Serials

  Generate multiple serial numbers at once (up to configured batch limits).

  #### Search Records

  Search traceability history with flexible query parameters.

  ### Lookup Table Resource

  #### Lookup

  Retrieve a value from a lookup table by key.

  #### Bulk Create Data

  Import multiple key-value pairs into a lookup table.

  ### Printer Resource

  #### List Printers

  Get all registered printers for your account.

  #### Send Print Job

  Send data to a printer with format options (ZPL, PDF, raw).

  ### Label Resource

  #### Process Template

  Process a ZPL template with dynamic data substitution.

  #### Preview ZPL

  Generate a PNG preview image of ZPL label code.

  **Automatic Behavior**:

  -   ✅ **Queued/Processing**: Automatically polls every 5 seconds until complete
  -   ✅ **URL Return Type**: Returns the completed status object with download URL
  -   ✅ **Binary Return Type**: Automatically downloads and returns binary data
  -   ✅ **Error Handling**: Throws error if generation fails or times out (2 minutes)

  **Example Template Data**:

  ```json
  {
  	"customer_name": "John Doe",
  	"invoice_number": "INV-001",
  	"amount": 1000.0,
  	"items": [{ "description": "Service A", "quantity": 1, "price": 1000.0 }]
  }
  ```

  ## Usage Examples

  ### Basic Document Generation (Auto-Complete)

  ```json
  {
  	"operation": "generate",
  	"templateId": "1097823044285431810",
  	"format": "pdf",
  	"returnType": "url",
  	"templateData": {
  		"customer_name": "{{ $json.customer_name }}",
  		"amount": "{{ $json.total_amount }}"
  	}
  }
  ```

  _Note: This will automatically wait up to 2 minutes for the document to be ready and return the complete status object._

  ### Generate with Binary Download (Auto-Complete)

  ```json
  {
  	"operation": "generate",
  	"templateId": "1097823044285431810",
  	"format": "pdf",
  	"returnType": "binary",
  	"templateData": {
  		"customer_name": "John Doe"
  	}
  }
  ```

  _Note: This will automatically wait for completion and return the document as binary data._

  ### Custom Document Settings

  ```json
  {
  	"operation": "generate",
  	"templateId": "1097823044285431810",
  	"format": "pdf",
  	"returnType": "url",
  	"documentSettings": {
  		"page_size": "Letter",
  		"orientation": "landscape",
  		"margin_top": 0.5,
  		"margin_right": 0.5,
  		"margin_bottom": 0.5,
  		"margin_left": 0.5
  	}
  }
  ```

  ## Important Notes

  ### Template ID Precision

  Always provide template IDs as strings to avoid JavaScript number precision issues:

  ✅ **Correct**: `"templateId": "1097823044285431810"`  
  ❌ **Incorrect**: `"templateId": 1097823044285431810`

  ### Queue vs Direct Generation

  -   **URL Return Type**: Uses queue-based generation (recommended for production)
  -   **Binary Return Type**: Direct generation (faster but limited to smaller documents)

  ### Rate Limiting

  The API implements rate limiting and quota management. Monitor the `metadata` section in responses for quota information.

  ## Error Handling

  The node includes comprehensive error handling for common scenarios:

  -   Invalid authentication
  -   Template not found
  -   Quota exceeded
  -   Template rendering errors
  -   Network timeouts

  Enable "Continue on Fail" in node settings to handle errors gracefully in workflows.

  ## Support

  -   **Documentation**: [DataMagik API Documentation](https://data-magik.com/docs)
  -   **Issues**: Report issues on the GitHub repository
  -   **Community**: Join the n8n community for support and discussions

  ## License

  MIT

  ## Version History

  ### 1.0.0

  -   Initial release
  -   Support for all core DataMagik API operations
  -   Queue-based document generation with polling
  -   Comprehensive error handling
  -   Binary data support for downloads

ai_documentation_summary:
  {"purpose":"The Datamagik n8n node enables integration with the DataMagik Manufacturing & Document Automation API, allowing automation of document generation, serial number management, lookup table operations, printer jobs, and label processing within n8n workflows.","capabilities":["List available document templates","Generate PDF or HTML documents with automatic completion polling (up to 2 minutes)","Create and manage serial number series and generate single or batch serial numbers","Query traceability history with flexible search parameters","Store and retrieve key-value data in lookup tables (with bulk import)","Manage industrial printers and send print jobs in ZPL, PDF, or raw format","Process ZPL label templates with dynamic data and generate PNG previews"],"authentication":"API key (JWT Bearer token) required via a 'DataMagik API' credential","commonUseCases":["Automated invoice or order document generation","Serial number tracking and batch generation for manufacturing","Real-time data lookups for production workflows","Label printing using ZPL templates with dynamic content","Printer integration for industrial equipment"],"limitations":["Binary generation has a 2-minute timeout; longer processing may result in failure","Template IDs must be provided as strings to avoid JavaScript precision issues","Direct binary generation is faster but less reliable in production; URL return type is recommended","No support for custom ZPL formatting beyond dynamic data substitution"],"relatedNodes":["Document Generation","Traceability Management","Printer Integration","Lookup Tables","Label Processing"]}


node_type: n8n-nodes-teamsix-zap-solution.TeamsixZapSolution
package_name: n8n-nodes-teamsix-zap-solution
display_name: TeamsixZapSolution
description: n8n nodes para integração com TeamSix Zap Solution
category: Community
development_style: declarative
version: 1.0.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: jeltcpss
author_github_url: git+https://github.com/Jeffersonp2/TeamSix-Zap-Solution.git
npm_package_name: n8n-nodes-teamsix-zap-solution
npm_version: 1.0.10
community_fetched_at: 2026-01-07T20:08:17.710Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-teamsix-zap-solution

  Biblioteca de nodes do n8n para integração com TeamSix Zap Solution.

  ## 📦 Instalação

  ### Instalação Local (Desenvolvimento)

  1. Clone o repositório:
  ```bash
  git clone https://github.com/Jeffersonp2/TeamSix-Zap-Solution.git
  cd TeamSix-Zap-Solution/n8n-nodes-teamsix-zap-solution
  ```

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

  3. Compile o projeto:
  ```bash
  npm run build
  ```

  4. No n8n, adicione o caminho da biblioteca:
     - Vá em Settings > Community Nodes
     - Adicione o caminho: `C:\n8n\teamsix-zap-solution\n8n-nodes-teamsix-zap-solution`

  ### Instalação via NPM (quando publicado)

  ```bash
  npm install n8n-nodes-teamsix-zap-solution
  ```

  ## 🔧 Configuração

  ### Credenciais

  1. Crie uma credencial do tipo "TeamSix Zap Solution API"
  2. Configure a URL base da API (padrão: `http://localhost:3000`)

  ## 📚 Nodes Disponíveis

  ### 1. Send Text
  Envia mensagem de texto via WhatsApp.

  **Parâmetros:**
  - **Remote JID** (obrigatório): ID do chat/contato
  - **Text** (obrigatório): Texto da mensagem
  - **Quoted Message ID** (opcional): ID da mensagem para responder

  **Exemplo:**
  ```
  Remote JID: 5511999999999@s.whatsapp.net
  Text: Olá, como vai?
  Quoted Message ID: (deixe vazio se não for responder)
  ```

  ### 2. Send Media
  Envia mídia (imagem, vídeo, áudio, documento, sticker) via WhatsApp.

  **Parâmetros:**
  - **Remote JID** (obrigatório): ID do chat/contato
  - **Media Type** (obrigatório): Tipo de mídia
    - Image
    - Video
    - GIF
    - Audio
    - Document
    - Sticker
  - **Media** (obrigatório): URL, base64 ou caminho do arquivo
  - **Caption** (opcional): Legenda da mídia
  - **Quoted Message ID** (opcional): ID da mensagem para responder
  - **File Name** (opcional, apenas Document): Nome do arquivo
  - **MIME Type** (opcional, apenas Document): Tipo MIME (ex: pdf, docx)

  **Exemplo:**
  ```
  Remote JID: 5511999999999@s.whatsapp.net
  Media Type: Image
  Media: https://example.com/image.jpg
  Caption: Veja esta imagem!
  Quoted Message ID: (deixe vazio se não for responder)
  ```

  ### 3. Presence
  Controla a presença (digitando, gravando, parar).

  **Parâmetros:**
  - **Operation** (obrigatório): Tipo de operação
    - Digitando
    - Gravando
    - Parar
  - **Remote JID** (obrigatório): ID do chat/contato

  **Exemplo:**
  ```
  Operation: Digitando
  Remote JID: 5511999999999@s.whatsapp.net
  ```

  ### 4. Read Messages
  Marca mensagens como lidas.

  **Parâmetros:**
  - **Message Keys** (obrigatório): Array JSON de WAMessageKey

  **Exemplo:**
  ```json
  [
    {
      "remoteJid": "5511999999999@s.whatsapp.net",
      "id": "3EB0123456789ABCDEF"
    }
  ]
  ```

  ## 🚀 Uso

  1. Adicione um node do TeamSix Zap Solution no seu workflow
  2. Configure as credenciais
  3. Preencha os parâmetros necessários
  4. Execute o workflow

  ## 📝 Notas

  - O campo **Quoted Message ID** é opcional em todos os nodes que o suportam
  - Se o campo estiver vazio, a mensagem será enviada normalmente (sem responder)
  - Para **Send Media**, o tipo de mídia deve ser selecionado no campo **Media Type**
  - A URL base padrão é `http://localhost:3000`, mas pode ser alterada nas credenciais

  ## 🔗 Links

  - [Repositório GitHub](https://github.com/Jeffersonp2/TeamSix-Zap-Solution)
  - [Documentação da API](./../DOCUMENTATION.md)

  ## 📄 Licença

  MIT

  ## 👨‍💻 Autor

  Jefferson Oliveira

ai_documentation_summary:
  {"purpose":"O node permite integrar o n8n com a plataforma TeamSix Zap Solution para enviar mensagens de texto e mídia via WhatsApp, controlar a presença em chats e marcar mensagens como lidas.","capabilities":["Enviar mensagens de texto via WhatsApp","Enviar mídia (imagem, vídeo, áudio, documento, sticker) via WhatsApp","Controlar a presença (digitando, gravando, parar) em chats","Marcar mensagens como lidas"],"authentication":"API key required via credential type 'TeamSix Zap Solution API'","commonUseCases":["Enviar notificações ou atualizações por WhatsApp","Enviar arquivos ou imagens para clientes ou parceiros","Controlar o estado de presença em conversas com contatos","Marcar mensagens como lidas em automações de atendimento"],"limitations":["Requer configuração manual da URL base da API (padrão: http://localhost:3000)","O campo Quoted Message ID é opcional e só funciona se o ID for válido","O tipo de mídia deve ser especificado corretamente no campo Media Type","Não há suporte para mensagens com emojis ou formatação avançada"],"relatedNodes":["WhatsApp Node","Message Management Nodes","Automation Triggers"]}


node_type: @premiertutors/n8n-nodes-notion.Notion
package_name: @premiertutors/n8n-nodes-notion
display_name: Notion
description: n8n Notion community nodes (custom)
category: Community
development_style: declarative
version: 1.1.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: pravinbansal-pt
author_github_url: git+https://github.com/premiertutors/n8n-nodes.git
npm_package_name: @premiertutors/n8n-nodes-notion
npm_version: 1.1.5
community_fetched_at: 2026-01-07T20:08:17.711Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @premiertutors/n8n-nodes-notion

  This package contains n8n community nodes related to Notion.

  ## Installation

  ### In n8n

  1. Go to **Settings** > **Community Nodes**
  2. Click **Install**
  3. Enter `@premiertutors/n8n-nodes-notion` in **Name**
  4. Click **Install**

  ## Local development

  From the repo root:

  - Build all workspaces: `npm run build`
  - Run the local n8n sandbox against this package:

  `PT_PACKAGE_DIR=packages/notion npm run dev:gui:watch`

ai_documentation_summary:
  {"purpose":"The Notion node allows users to interact with Notion databases by creating, reading, updating, and deleting entries, enabling integration of Notion data into n8n workflows.","capabilities":["Read Notion databases","Create new database entries","Update existing database entries","Delete database entries"],"authentication":"API key required","commonUseCases":["Syncing data between n8n and Notion databases","Automating task creation or updates in Notion","Pulling data from Notion for reporting or processing"],"limitations":[],"relatedNodes":["Database nodes","Data integration nodes"]}


node_type: n8n-nodes-netsendo.Netsendo
package_name: n8n-nodes-netsendo
display_name: Netsendo
description: n8n community node for NetSendo Email & SMS Marketing Platform
category: Community
development_style: declarative
version: 1.2.11
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: gregecat
author_github_url: git+https://github.com/NetSendo/n8n-nodes-netsendo.git
npm_package_name: n8n-nodes-netsendo
npm_version: 1.2.11
community_fetched_at: 2026-01-07T20:08:17.714Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ![NetSendo Logo](https://gregciupek.com/wp-content/uploads/2025/12/Logo-NetSendo-1700-x-500-px.png)

  # n8n-nodes-netsendo

  [![npm version](https://img.shields.io/npm/v/n8n-nodes-netsendo.svg?label=version)](https://www.npmjs.com/package/n8n-nodes-netsendo)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![n8n community](https://img.shields.io/badge/n8n-community%20node-orange)](https://n8n.io)
  [![Current Version](https://img.shields.io/badge/release-v1.2.8-blue.svg)](https://github.com/NetSendo/n8n-nodes-netsendo/releases)

  This is an n8n community node for **[NetSendo](https://netsendo.com)** – a powerful, self-hosted email & SMS marketing automation platform.

  Automate your marketing workflows directly within [n8n](https://n8n.io), connecting NetSendo with thousands of other apps and services.

  ---

  ## 🚀 Features

  | Feature                  | Description                                                             |
  | ------------------------ | ----------------------------------------------------------------------- |
  | 📧 **Email Marketing**   | Send single & batch emails with scheduling, mailbox selection           |
  | 📱 **SMS Marketing**     | Send single & batch SMS with scheduling and subscriber linking          |
  | 👤 **Subscribers**       | Full CRUD operations for subscriber management                          |
  | 🔄 **Webhook Triggers**  | React to subscriber, email and SMS events in real-time                  |
  | 📋 **Dynamic Dropdowns** | Auto-loads contact lists, mailboxes, and subscribers with phone numbers |

  ---

  ## 📦 Installation

  ### Via n8n UI (Recommended)

  1. Go to **Settings > Community Nodes**
  2. Click **Install**
  3. Enter `n8n-nodes-netsendo`
  4. Click **Install**

  ### Via npm

  ```bash
  npm install n8n-nodes-netsendo
  ```

  ### Via Docker

  Add to your `docker-compose.yml`:

  ```yaml
  environment:
    - N8N_COMMUNITY_PACKAGES=n8n-nodes-netsendo
  ```

  ---

  ## 🔧 Development Setup

  To test the node locally before publishing:

  ### 1. Clone and install dependencies

  ```bash
  git clone https://github.com/NetSendo/n8n-nodes-netsendo.git
  cd n8n-nodes-netsendo
  npm install
  ```

  ### 2. Build the project

  ```bash
  npm run build
  ```

  ### 3. Link to your local n8n

  ```bash
  # In the node project directory
  npm link

  # In your n8n installation directory (find with: which n8n)
  cd ~/.n8n
  npm link n8n-nodes-netsendo
  ```

  ### 4. Start n8n

  ```bash
  n8n start
  ```

  ### 5. Alternative: Use n8n-node dev command

  ```bash
  npm run dev
  ```

  This will watch for changes and automatically rebuild.

  ---

  ## 🔐 Credentials Setup

  1. In n8n, go to **Credentials > Create New**
  2. Search for **NetSendo API**
  3. Enter:
     - **Base URL**: Your NetSendo installation URL (e.g., `https://your-domain.com`)
     - **API Key**: Your API token from **Settings > API Keys** (format: `ns_live_...`)

  > **Required permissions:**
  >
  > - For subscribers/lists: `subscribers:read`, `subscribers:write`, `lists:read`
  > - For email: `email:read`, `email:write`
  > - For SMS: `sms:read`, `sms:write`
  > - For triggers: `webhooks:read`, `webhooks:write`

  ---

  ## 🛠️ Operations

  ### ⚡ NetSendo Trigger

  Start workflows automatically when events occur.

  **Subscriber Events:**

  - `subscriber.created` / `subscriber.updated` / `subscriber.deleted`
  - `subscriber.subscribed` / `subscriber.unsubscribed` / `subscriber.bounced`
  - `subscriber.tag_added` / `subscriber.tag_removed`

  **Email Events:**

  - `email.queued` – Email message queued for sending

  **SMS Events:**

  - `sms.queued` – SMS message queued for sending
  - `sms.sent` – SMS successfully delivered
  - `sms.failed` – SMS delivery failed

  ---

  ### 📧 Resource: Email

  | Operation          | Description                          |
  | ------------------ | ------------------------------------ |
  | **Send**           | Send a single email message          |
  | **Send Batch**     | Send email to a contact list or tags |
  | **Get Status**     | Check delivery status of an email    |
  | **List Mailboxes** | Get available sender mailboxes       |

  **✨ Smart Features:**

  - **Mailbox Selection**: Choose sender mailbox from dropdown
  - **Schedule Email**: Send messages at a specific time
  - **Batch Targeting**: Target by list, tags, or subscriber IDs
  - **Excluded Lists**: Exclude specific lists from batch sends

  **Send Email Example:**

  ```json
  {
  	"email": "user@example.com",
  	"subject": "Welcome!",
  	"content": "<h1>Hello!</h1><p>Welcome to our newsletter.</p>",
  	"schedule_at": "2025-01-01T10:00:00Z"
  }
  ```

  ---

  ### 📂 Resource: List

  | Operation           | Description                       |
  | ------------------- | --------------------------------- |
  | **Get Many**        | Retrieve all contact lists        |
  | **Get**             | Get a specific list by ID         |
  | **Get Subscribers** | Fetch all subscribers from a list |

  ---

  ### 👤 Resource: Subscriber

  | Operation        | Description                                        |
  | ---------------- | -------------------------------------------------- |
  | **Get Many**     | List subscribers with filters (status, pagination) |
  | **Get**          | Get subscriber by ID                               |
  | **Get by Email** | Find subscriber by email address                   |
  | **Create**       | Add new subscriber                                 |
  | **Update**       | Update subscriber data                             |
  | **Delete**       | Remove subscriber (soft delete)                    |

  ---

  ### 🏷️ Resource: Tag

  | Operation    | Description                 |
  | ------------ | --------------------------- |
  | **Get Many** | Retrieve all available tags |
  | **Get**      | Get tag details by ID       |

  ---

  ### 📱 Resource: SMS

  | Operation          | Description                             |
  | ------------------ | --------------------------------------- |
  | **Send**           | Send a single SMS message               |
  | **Send Batch**     | Send SMS to a contact list or tag group |
  | **Get Status**     | Check delivery status of an SMS         |
  | **List Providers** | Get available SMS providers             |

  **✨ Smart Features:**

  - **Dynamic Subscriber Selection**: Select a contact list → get dropdown with subscribers who have phone numbers
  - **Schedule SMS**: Send messages at a specific time using the Schedule At field
  - **Subscriber Linking**: Link SMS to existing subscriber for tracking

  **Send SMS Example:**

  ```json
  {
  	"phone_number": "+48123456789",
  	"message": "Hello from NetSendo!",
  	"schedule_at": "2025-01-01T10:00:00Z"
  }
  ```

  ---

  ## 📚 Resources

  | Resource             | Link                                               |
  | -------------------- | -------------------------------------------------- |
  | 🌐 NetSendo Website  | [netsendo.com](https://netsendo.com)               |
  | 📖 NetSendo Docs     | [docs.netsendo.com](https://docs.netsendo.com)     |
  | 💻 GitHub Repository | [github.com/NetSendo](https://github.com/NetSendo) |
  | 🔗 n8n Website       | [n8n.io](https://n8n.io)                           |

  ---

  ## 🤝 Contributing

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

  1. Fork the repository
  2. Create your feature branch (`git checkout -b feature/amazing-feature`)
  3. Commit your changes (`git commit -m 'Add amazing feature'`)
  4. Push to the branch (`git push origin feature/amazing-feature`)
  5. Open a Pull Request

  ---

  ## 📄 License

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

  ---

  ## 💬 Support

  Need help? We're here for you!

  | Channel                | Link                                                                                             |
  | ---------------------- | ------------------------------------------------------------------------------------------------ |
  | 🐛 **Report a Bug**    | [Submit Bug Report](https://github.com/NetSendo/NetSendo/issues/new?template=bug_report.md)      |
  | 💡 **Feature Request** | [Request a Feature](https://github.com/NetSendo/NetSendo/issues/new?template=feature_request.md) |
  | 📧 **Email Support**   | [grzegorzciupek@gmail.com](mailto:grzegorzciupek@gmail.com)                                      |
  | 💻 **Node Issues**     | [n8n-nodes-netsendo Issues](https://github.com/NetSendo/n8n-nodes-netsendo/issues)               |

  ---

  _Built with ❤️ for the NetSendo Community._

ai_documentation_summary:
  {"purpose":"The Netsendo n8n node enables automation of email and SMS marketing workflows by connecting n8n with the NetSendo platform, supporting operations like sending emails and SMS, managing subscribers and lists, and triggering workflows on real-time events.","capabilities":["Send single and batch emails with scheduling and mailbox selection","Send single and batch SMS messages with subscriber linking and scheduling","Manage subscribers with full CRUD operations (create, read, update, delete)","Manage contact lists and retrieve subscribers from lists","Manage tags and retrieve tag information","React to real-time events via webhook triggers (e.g., subscriber actions, email/SMS status updates)","Dynamic dropdowns for auto-loading mailboxes, contact lists, and subscribers"],"authentication":"API key required; credentials must include Base URL and API key (format: `ns_live_...`), with required permissions for specific resources","commonUseCases":["Automating welcome emails triggered by new subscriber sign-ups","Sending scheduled promotional emails to targeted lists or tags","Sending SMS notifications on specific events (e.g., order confirmation)","Monitoring email/SMS delivery status in real-time","Managing subscriber data and tags for segmentation and personalization"],"limitations":["SMS resource section in README is truncated; full SMS capabilities may not be fully documented","No information provided on error handling, rate limits, or retry mechanisms"],"relatedNodes":["Webhook Triggers","Email Automation Nodes","SMS Automation Nodes","Subscriber Management Nodes"]}


node_type: n8n-nodes-google-sheets-trigger.GoogleSheetsTrigger
package_name: n8n-nodes-google-sheets-trigger
display_name: GoogleSheetsTrigger
description: This is a trigger node for Google Sheets.
category: Community
development_style: declarative
version: 0.1.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mcolomer
author_github_url: git+https://github.com/mcolomer/n8n-nodes-google-sheets-trigger.git
npm_package_name: n8n-nodes-google-sheets-trigger
npm_version: 0.1.5
community_fetched_at: 2026-01-07T20:08:17.714Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ![Banner n8n & n8nhackers](images/n8n-and-n8nhackers.png)

  # n8n-nodes-google-sheets-trigger

  This is an n8n community node. It lets you use Google Sheets in trigger mode with your n8n workflows.
  Using this trigger, you will be able to recover only new rows from any Google sheet.

  # Contents

  [TLDR](#TLDR)  

  [Installation](#installation)  

  [Operations](#operations)  

  [Credentials](#credentials)

  [Compatibility](#compatibility)  

  [Usage](#usage)

  [Version history](#version-history)

  [Another way to try it out](#another-way-to-try-it-out)

  [Contribution](#contribution)

  [Issues](#issues)

  [Resources](#resources)

  [License](#license)

  # TLDR
  Don't want to read? Import the sample workflow [Recover only new rows from Google Sheets](https://app.n8n.io/workflows/1812) to test this node.
  ![Recover only new rows from Google Sheets](images/sample-workflow.jpeg "Recover only new rows from Google Sheets")

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

  # Operations
  Using this node you recover only new rows added to any Google sheet.

  # Credentials
  You can choose any credential defined in other Google Sheets nodes. 
  All credentials are compatible.

  # Compatibility
  Tested with node 0.197.1.
  You need an n8n version with polling enabled.

  # Usage

  With this node, you will be able to recover new rows added to any sheet.

  Define your Google sheets node as usual (credentials, spreadsheet id, range, raw data) and choose your poll time

  ![Poll time selector](images/polltimes.png)

  If you want the sample sheet, access the [sample spreadsheet](https://docs.google.com/spreadsheets/d/1UzzxzEy6N-B_A3bWGEm-iDa0fM1n7v2JNb2a7q8y_To/edit?usp=sharing) and copy it to your Google Drive.

  Google sheet contains a list of numbered rows:

  ![Google sheet](images/contents-google-sheet.jpeg)


  You have a sample below where I combine new rows from Google Sheets with [Generate dynamic contents for EMAILS or HTML pages](https://app.n8n.io/workflows/1790) (this is another community node created by me).

  Then, create a new template for this node:

  ```
  {{#each items}}
  {{sample}}
  {{/each}}
  ```

  First, execute the workflow directly to recover all rows and test the message to Telegram.
  Polling and recovering new rows only work for active tasks in the background.
  Define the poll time (every 5 minutes, every hour, every day), and activate your task to get only new rows. 
  Check executions to ensure that Workflows are executed every defined poll time.

  Now, add new numbered rows (row 24, row, 25, ...) to your Google sheet.
  If everything works as expected, a new message is sent to the Telegram channel with new rows.

  This is a sample of how the message looks (I added rows 14 to 23).

  ![image](images/telegram-sample.png)


  # Version history

  * 2022/10/12 - Initial version for Google Sheets Trigger

  # Another way to try it out

  Clone the n8n-nodes-google-sheets-trigger repository and execute:
  ```
  # Use v16.17.0 = lts/gallium
  nvm use lts/gallium

  # Install dependencies
  npm install

  # Build the code
  npm run build

  # "Publish" the package locally
  npm link
  ```

  Create an N8N installation and add the n8n-nodes-document-generator to it:
  ```
  # Create an N8N installation
  cd ..
  mkdir n8n_install
  cd n8n_install
  npm init
  npm install
  npm install n8n

  # "Install" the locally published module
  npm link n8n-nodes-google-sheets-trigger

  # Start n8n
  npx n8n
  ```

  # Contribution
  To make this node even better, please let us know, [how you use it](mailto:miquel@n8nhackers.com). Commits are always welcome.

  # Issues
  If you have any issues, please [let us know on GitHub](https://github.com/n8nhackers/n8n-nodes-google-sheets-trigger/issues).

  # About
  Node by [n8nhackers.com](https://n8nhackers.com). For productive use and consulting on this, [contact us please](mailto:contact@n8nhackers.com).

  Special thanks to [N8n nodemation](https://n8n.io) workflow automation by Jan Oberhauser.

  # Resources
  If you want to build your custom n8n nodes, check the [N8N documentation on custom nodes](https://docs.n8n.io/nodes/creating-nodes/create-n8n-nodes-module.html).


  # Licenses
  * [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
  * [MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)

ai_documentation_summary:
  {"purpose":"The GoogleSheetsTrigger node enables n8n workflows to monitor Google Sheets and trigger actions only when new rows are added to the sheet, using polling to detect changes in real-time.","capabilities":["Detects and triggers on new rows added to a Google Sheet","Polls the sheet at user-defined intervals (e.g., every 5 minutes, hourly, daily)","Works with any existing Google Sheets credential configured in n8n","Supports raw data retrieval from the sheet range"],"authentication":"API key or Google Sheets credential required (compatible with existing Google Sheets nodes)","commonUseCases":["Automatically notify teams via Telegram or email when new data is added to a Google Sheet","Integrate Google Sheets with dynamic content generation (e.g., emails, HTML pages)","Monitor form submissions or task updates in real-time"],"limitations":["Only detects new rows; does not trigger on updates or deletions","Requires polling to be enabled in n8n (not available in all versions)","Only works with active background tasks; direct execution retrieves all rows","No support for complex filters or conditional triggers beyond row addition"],"relatedNodes":["Google Sheets Node","Generate dynamic contents for EMAILS or HTML pages","Telegram (or other message notification nodes)"]}


node_type: n8n-nodes-variable-storage.VariableStorage
package_name: n8n-nodes-variable-storage
display_name: VariableStorage
description: N8N节点：在工作流中设置和获取变量，支持多种数据类型
category: Community
development_style: declarative
version: 2.3.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: chenyongshao
author_github_url: git+https://github.com/yourusername/n8n-nodes-variable-storage.git
npm_package_name: n8n-nodes-variable-storage
npm_version: 2.3.1
community_fetched_at: 2026-01-07T20:08:17.715Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # N8N Variable Storage Node

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

  一个强大的N8N自定义节点，用于在工作流执行期间设置和获取变量。支持多种数据类型，让你的工作流更加灵活。

  ## ✨ 功能特性

  - 🔧 **批量设置变量**：在一个节点中同时设置多个变量
  - 📖 **获取变量**：从工作流中读取已存储的值
  - 🎯 **多种数据类型**：支持String、Number、Boolean、Array、Object
  - 📝 **手动添加模式**：逐个添加变量，每个变量可设置不同类型
  - 🔒 **作用域隔离**：变量仅在同一工作流执行期间有效
  - ⚡ **高性能**：基于内存存储，快速读写
  - 🛡️ **错误处理**：完善的错误提示和默认值支持
  - 🔄 **数据流控制**：可选择保留或替换输入数据

  ## 📦 安装

  ### 通过N8N社区节点安装（推荐）

  1. 打开N8N界面
  2. 进入 **Settings** → **Community Nodes**
  3. 点击 **Install a community node**
  4. 输入包名：`n8n-nodes-variable-storage`
  5. 点击安装并重启N8N

  ### 通过npm安装

  ```bash
  # 全局安装
  npm install -g n8n-nodes-variable-storage

  # 或在N8N项目目录中安装
  npm install n8n-nodes-variable-storage
  ```

  ## 🚀 使用方法

  ### 批量设置变量

  1. 添加 **Variable Storage** 节点到工作流
  2. 选择操作：**Set Variables**
  3. 点击 **Add Value** 添加变量：
     - **Name**: `user_count`
     - **Type**: `Number`
     - **Value**: `100`
  4. 继续添加更多变量：
     - **Name**: `user_name`
     - **Type**: `String`
     - **Value**: `John Doe`
     - **Name**: `user_tags`
     - **Type**: `Array`
     - **Value**: `["admin", "premium"]`

  ### 获取变量

  1. 在工作流的其他位置添加 **Variable Storage** 节点
  2. 选择操作：**Get Variable**
  3. 配置参数：
     - **Variable Name**: `user_count`
     - **Default Value**: `0` (可选)

  ## 📋 使用示例

  ### 示例1：批量设置用户信息

  ```
  Start → Variable Storage(Set: user_id=123, user_name="John", user_type="premium") 
        → HTTP Request(使用变量)
        → End
  ```

  ### 示例2：配置管理

  ```
  Start → Variable Storage(Set: api_url="https://api.example.com", timeout=30, retries=3)
        → HTTP Request(使用配置变量)
        → Variable Storage(Get: user_id)
        → End
  ```

  ### 示例3：数据处理流水线

  ```
  Start → Variable Storage(Set: processed_count=0, errors=[], results={})
        → Loop Node
        → Variable Storage(Get: processed_count)
        → Process Data
        → Variable Storage(Set: processed_count=processed_count+1)
        → End
  ```

  ## 🔧 支持的数据类型

  | 类型 | 描述 | 示例 |
  |------|------|------|
  | String | 文本字符串 | `"Hello World"` |
  | Number | 数字 | `42`, `3.14` |
  | Boolean | 布尔值 | `true`, `false` |
  | Array | 数组 | `[1, 2, 3]`, `["a", "b", "c"]` |
  | Object | 对象 | `{"name": "John", "age": 30}` |

  ## ⚙️ 配置选项

  ### Set Variables 操作

  - **Keep Only Set** (可选): 是否只保留设置的变量，移除其他输入数据
  - **Values to Set**: 要设置的变量列表
    - **Name** (必填): 变量名称
    - **Type**: 数据类型选择
    - **Value** (必填): 要设置的值
  - **Options**:
    - **Include Binary Data**: 是否在输出中包含二进制数据

  ### Get Variable 操作

  - **Variable Name** (必填): 要获取的变量名称
  - **Default Value** (可选): 变量不存在时的默认值

  ## 🔍 错误处理

  - 变量名称为空时会抛出错误
  - 数字类型转换失败时会提示具体错误
  - JSON格式错误时会显示详细信息
  - 获取不存在的变量时可以设置默认值

  ## 🤝 贡献

  欢迎提交Issue和Pull Request！

  ## 📄 许可证

  MIT License - 详见 [LICENSE](LICENSE) 文件

  ## 🔗 相关链接

  - [N8N官方文档](https://docs.n8n.io/)
  - [N8N社区节点](https://docs.n8n.io/integrations/community-nodes/)
  - [问题反馈](https://github.com/yourusername/n8n-nodes-variable-storage/issues)

  ## 节点说明

  ### CustomNode
  - 支持用户资源的获取和创建操作
  - 可配置API凭据
  - 包含错误处理和验证

  ## 开发建议

  1. 在`nodes/`目录下创建新的节点
  2. 在`credentials/`目录下创建对应的凭据
  3. 更新`package.json`中的n8n配置
  4. 添加适当的图标文件

  ## 文档

  - [N8N节点开发文档](https://docs.n8n.io/integrations/creating-nodes/)
  - [N8N社区节点](https://docs.n8n.io/integrations/community-nodes/)

ai_documentation_summary:
  {"purpose":"在n8n工作流中设置和获取变量，支持多种数据类型，实现变量的批量管理与数据流控制，提升工作流的灵活性和可维护性。","capabilities":["批量设置多个变量","获取已存储的变量值","支持String、Number、Boolean、Array、Object等多种数据类型","手动逐个添加变量配置","变量作用域限制在单个工作流执行期间","支持保留或替换输入数据","提供默认值以处理变量缺失情况","完善的错误提示与类型转换验证"],"authentication":"无需认证（基于内存存储，无外部凭据需求）","commonUseCases":["在工作流中存储和读取用户信息或配置参数","在循环节点中维护计数器或错误列表","作为中间状态管理器，传递数据状态","配置HTTP请求的超时、重试次数等参数"],"limitations":["变量仅在当前工作流执行期间有效，不会持久化存储","不支持跨工作流或跨实例的变量共享","不支持二进制数据的持久化（除非通过Include Binary Data选项显式启用）"],"relatedNodes":["HTTP Request","Loop Node","Set/Get Variables in Data Flow"]}


node_type: n8n-nodes-power-document-extractor.PowerDocumentExtractor
package_name: n8n-nodes-power-document-extractor
display_name: PowerDocumentExtractor
description: Power Document Extractor – universal local document parser for n8n
category: Community
development_style: declarative
version: 0.13.7
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: zblaze
author_github_url: git+https://github.com/ZBlaZe/n8n-nodes-power-document-extractor.git
npm_package_name: n8n-nodes-power-document-extractor
npm_version: 0.13.7
community_fetched_at: 2026-01-07T20:08:17.716Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # Power Document Extractor for n8n

  <div align="center">
    <img src="./assets/logo.png" alt="Power Document Extractor Logo" width="800"/>
    <br/>
    <br/>
    
    [![n8n](https://img.shields.io/badge/n8n-community%20node-00D3A0?logo=n8n)](https://n8n.io)
    [![npm version](https://img.shields.io/npm/v/n8n-nodes-power-document-extractor)](https://www.npmjs.com/package/n8n-nodes-power-document-extractor)
    [![License: Proprietary](https://img.shields.io/badge/License-Proprietary-red?color=gold&labelColor=0d1117)](LICENSE)
    
  </div>

  ## 📖 Overview

  **Power Document Extractor** is a comprehensive n8n community node for extracting structured content from 17+ document formats, entirely locally on your server. No external APIs, no cloud services—just reliable, privacy-focused document parsing.

  Perfect for document processing workflows, content analysis, data migration, AI-powered document understanding, and automated information extraction pipelines.

  ## ☕ Support Development

  If you find this node useful, consider supporting its development:

  **Donation Links:**
  - ☕ [Ko-fi](https://ko-fi.com/zblaze) - Support with coffee
  - 💰 [Coinbase Commerce](https://commerce.coinbase.com/pay/144f37a1-7d1e-468c-979d-1c8c9bcfa14b) - Cryptocurrency donations

  ---

  ## ✨ Features

  - 🔒 **100% Local Processing** - All document parsing happens on your server
  - 📄 **17+ Supported Formats** - PDF, DOCX, DOC, XLSX, XLS, CSV, TXT, RTF, EPUB, FB2, Markdown, HTML, XML, PPT, PPTX, ODS, ODG
  - 🎯 **Auto-Detection** - Universal Extractor automatically identifies document format
  - 🧩 **Structured Output** - Extracts content as structured blocks (paragraphs, headings, tables, lists)
  - 🎚️ **Flexible Detail Levels** - Choose between Raw, Basic, or Full structured output
  - 📊 **Rich Metadata** - Extracts document metadata (author, title, page count, dates, etc.)
  - ⚡ **LibreOffice Integration** - Optional LibreOffice server for legacy formats (DOC, RTF, PPT)

  ---

  ## 📦 Installation

  ### Via n8n Community Nodes

  1. Go to **Settings** > **Community Nodes** in your n8n instance
  2. Click **Install** and enter: `n8n-nodes-power-document-extractor`
  3. Click **Install**

  ### Via npm

  ```bash
  npm install n8n-nodes-power-document-extractor
  ```

  ### Manual Installation

  ```bash
  cd ~/.n8n/nodes
  git clone https://github.com/ZBlaZe/n8n-nodes-power-document-extractor.git
  cd n8n-nodes-power-document-extractor
  npm install
  npm run build
  ```

  ---

  ## 🚀 Supported Formats

  | Format | Extension | Native Support | LibreOffice Required | Status |
  |--------|-----------|----------------|---------------------|---------|
  | PDF | `.pdf` | ✅ Yes | ❌ No | ⚠️ Beta |
  | Plain Text | `.txt` | ✅ Yes | ❌ No | ✅ Stable |
  | CSV | `.csv` | ✅ Yes | ❌ No | ✅ Stable |
  | Markdown | `.md` | ✅ Yes | ❌ No | ✅ Stable |
  | HTML | `.html`, `.htm` | ✅ Yes | ❌ No | ✅ Stable |
  | XML | `.xml` | ✅ Yes | ❌ No | ✅ Stable |
  | Excel | `.xlsx`, `.xls` | ✅ Yes | ❌ No | ✅ Stable |
  | Word (Modern) | `.docx` | ⚠️ Partial | ✅ Yes (recommended) |  ⚠️ Beta  |
  | Word (Legacy) | `.doc` | ❌ No | ✅ Yes | ⚠️ Beta |
  | RTF | `.rtf` | ❌ No | ✅ Yes | ⚠️ Beta |
  | PowerPoint | `.ppt`, `.pptx` | ❌ No | ✅ Yes | ⚠️ Beta |
  | OpenDocument | `.ods`, `.odg` | ⚠️ Partial | ✅ Yes (recommended) | ⚠️ Beta |
  | EPUB | `.epub` | ✅ Yes | ❌ No | ⚠️ Beta |
  | FictionBook | `.fb2` | ✅ Yes | ❌ No | ⚠️ Beta |

  **Legend:**
  - ✅ Stable - Fully tested and production-ready
  - ⚠️ Beta - Functional but may have edge cases
  - 🚧 In Development - Work in progress

  ---

  ## 🎮 Usage

  ### Basic Example

  1. Add **Power Document Extractor** node to your workflow
  2. Connect a node that provides binary file data (e.g., HTTP Request, Read Binary File)
  3. Configure the node:
     - **Operation**: Universal Extractor (auto-detects format)
     - **Binary Property**: `data` (or your binary property name)
     - **Structured Level**: Full (recommended)

  ### Operations

  #### Universal Extractor (Recommended)
  Automatically detects document format and extracts content using the optimal parser.

  #### Format-Specific Extractors
  Available for all supported formats if you want explicit control:
  - Extract PDF
  - Extract DOCX
  - Extract XLSX
  - Extract TXT
  - Extract CSV
  - Extract Markdown
  - Extract HTML
  - ... and more

  ### Structured Levels

  Choose the level of detail in extracted content:

  - **Raw** - Single text string with minimal formatting
  - **Basic** - Paragraphs and basic structure
  - **Full** - Complete structure with headings, tables, lists, metadata (recommended)

  ---

  ## 📤 Output Format

  ### Example Output

  ```json
  {
    "blocks": [
      {
        "type": "heading",
        "level": 1,
        "text": "Annual Report 2024",
        "id": "h-1",
        "page": 1
      },
      {
        "type": "paragraph",
        "text": "This report provides an overview of our company's performance...",
        "id": "p-1",
        "page": 1
      },
      {
        "type": "table",
        "headers": ["Quarter", "Revenue", "Growth"],
        "rows": [
          ["Q1", "$1.2M", "15%"],
          ["Q2", "$1.5M", "25%"],
          ["Q3", "$1.8M", "20%"],
          ["Q4", "$2.1M", "17%"]
        ],
        "id": "table-1",
        "page": 2
      }
    ],
    "metadata": {
      "fileName": "annual_report_2024.pdf",
      "fileSize": 245680,
      "fileType": "pdf",
      "mimeType": "application/pdf",
      "pageCount": 12,
      "author": "John Smith",
      "title": "Annual Report 2024",
      "creationDate": "2024-01-15",
      "modificationDate": "2024-11-20"
    }
  }
  ```

  ### Block Types

  - `paragraph` - Text paragraphs
  - `heading` - Document headings (with level 1-6)
  - `table` - Tables with headers and rows
  - `list` - Bulleted or numbered lists
  - `image` - Image references (planned for future versions)

  ---

  ## 🐳 LibreOffice Server Setup (Optional)

  For best results with DOC, RTF, PPT, PPTX formats, set up a LibreOffice server using Docker.

  ### Quick Start with Docker

  ```bash
  docker run -d \
    --name libreoffice-server \
    -p 33101:2004 \
    ghcr.io/unoconv/unoserver-docker:latest
  ```

  ### Configuration in n8n

  In the Power Document Extractor node:
  - **LibreOffice Server URL**: `http://localhost:33101` (or your server IP)

  ### Important Notes

  - ⚠️ **Do not expose LibreOffice port to the internet** - it's not secured by default
  - 🔒 Use firewall rules or Docker networks to restrict access
  - 🚀 LibreOffice container should run on the same network as n8n for best performance

  For detailed setup instructions, see [unoserver documentation](https://github.com/unoconv/unoserver).

  ---

  ## ⚙️ Configuration

  ### Node Parameters

  | Parameter | Type | Default | Description |
  |-----------|------|---------|-------------|
  | **Operation** | Select | Universal Extractor | Extraction method (auto or format-specific) |
  | **Binary Property** | String | `data` | Name of the binary property containing the file |
  | **Structured Level** | Select | Full | Level of detail in output (Raw/Basic/Full) |
  | **LibreOffice Server URL** | String | _(empty)_ | Optional LibreOffice server URL for legacy formats |

  ---

  ## 🎯 Use Cases

  - 📊 **Data Migration** - Extract content from legacy documents for database import
  - 🤖 **AI/LLM Integration** - Prepare document content for AI analysis and processing
  - 🔍 **Document Indexing** - Build searchable document databases
  - 📝 **Content Management** - Automated document processing workflows
  - 📧 **Email Attachment Processing** - Extract and analyze attachments automatically
  - 🗄️ **Archive Digitization** - Convert old documents to structured data

  ---

  ## ⚠️ Known Limitations

  - 🖼️ **Image Extraction** - Not yet supported (planned for v0.10.0)
  - 🔤 **Text Encoding** - Some legacy documents may have encoding issues
  - 📄 **Complex Layouts** - Advanced page layouts may not be fully preserved
  - ⏱️ **Large Files** - Very large files (>100MB) may take longer to process

  **Development Status:** This node is actively maintained and under continuous improvement. Bug reports and feature requests are welcome!

  ---

  ## 🗺️ Roadmap

  ### Version 0.11.0-0.12.0 (Planned)
  - 🖼️ Base64 image extraction from documents
  - 🔤 Improved text encoding detection and handling
  - 🎨 Better formatting preservation for complex documents

  ### Future Versions
  - 📊 Advanced table structure detection
  - 🔗 Hyperlink extraction
  - 📝 Document annotations and comments
  - 🌍 Multi-language OCR support
  - ⚡ Performance optimizations for large files

  ---

  ## 🐛 Troubleshooting

  ### Common Issues

  #### "LibreOffice conversion failed"
  **Solution:** 
  1. Ensure LibreOffice server is running: `docker ps | grep libreoffice`
  2. Check URL is correct: `http://localhost:33101` (not `https://`)
  3. Verify server is accessible from n8n container

  #### Text appears garbled or with wrong characters
  **Possible causes:**
  - Legacy encoding in old documents
  - Font substitution issues
  - **Temporary workaround:** Try using LibreOffice server for conversion

  #### Node execution timeout
  **For large files:**
  - Increase n8n execution timeout in settings
  - Consider splitting large documents
  - Use LibreOffice server for faster processing

  #### Empty output for supported format
  **Check:**
  - File is not password-protected
  - File is not corrupted
  - File contains actual text (not just images)

  ---

  ## 🤝 Contributing

  Contributions are welcome! If you find a bug or have a feature request:

  1. Check [existing issues](https://github.com/ZBlaZe/n8n-nodes-power-document-extractor/issues)
  2. Create a new issue with detailed description
  3. Submit a pull request with your improvements

  ---

  ## 📜 License

  **Proprietary / All Rights Reserved**  
  This project is closed-source.  
  The source code is not available for public viewing or modification.

  ---

  ## 🙏 Acknowledgments

  Built with:
  - [n8n](https://n8n.io) - Workflow automation platform
  - [pdf.js-extract](https://www.npmjs.com/package/pdf.js-extract) - PDF parsing
  - [xlsx](https://www.npmjs.com/package/xlsx) - Excel file processing
  - [cheerio](https://cheerio.js.org) - HTML parsing
  - [marked](https://marked.js.org) - Markdown parsing
  - [LibreOffice](https://www.libreoffice.org) - Legacy format conversion

  ---

  ## 📞 Support

  - 💬 [GitHub Issues](https://github.com/ZBlaZe/n8n-nodes-power-document-extractor/issues)
  - 📧 Contact via GitHub profile
  - ☕ [Support on Ko-fi](https://ko-fi.com/zblaze)

  ---

  <div align="center">
    
  **Made with ❤️ for the n8n community**

  [![n8n Community](https://img.shields.io/badge/n8n-Community%20Node-00D3A0?style=for-the-badge&logo=n8n)](https://n8n.io/integrations)

  </div>

ai_documentation_summary:
  {"purpose":"The Power Document Extractor node parses 17+ document formats locally within n8n, extracting structured content such as paragraphs, headings, tables, and metadata without relying on external APIs or cloud services, ensuring privacy and data security.","capabilities":["Auto-detects document format","Extracts structured content (paragraphs, headings, tables, lists)","Supports 17+ formats including PDF, DOCX, XLSX, CSV, Markdown, HTML, XML, EPUB, PPT, and more","Provides rich metadata (author, title, page count, dates, etc.)","Offers flexible output levels: Raw, Basic, or Full structured data","Integrates with LibreOffice server for legacy formats (DOC, RTF, PPT)","Runs entirely locally on the user's server"],"authentication":"None required","commonUseCases":["Automated document processing workflows","Content analysis and information extraction","Data migration from unstructured documents","AI-powered document understanding pipelines","Extracting structured data from PDFs, spreadsheets, and word documents"],"limitations":["Some formats (e.g., DOC, RTF, PPT) are in beta and may have edge cases","Legacy formats require LibreOffice server setup (not included by default)","Image block extraction is planned for future versions","Performance may vary with large or complex documents"],"relatedNodes":["HTTP Request","Read Binary File","Function","Set","Database"]}


node_type: n8n-nodes-apiinfo.Apiinfo
package_name: n8n-nodes-apiinfo
display_name: Apiinfo
description: n8n node for ApiInfo
category: Community
development_style: declarative
version: 0.1.23
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: ytosko
author_github_url: git+https://github.com/Ytosko/n8n-node-apiInfo.git
npm_package_name: n8n-nodes-apiinfo
npm_version: 0.1.23
community_fetched_at: 2026-01-07T20:08:17.716Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-apiinfo

  This is an n8n community node. It lets you interact with ApiInfo in your n8n workflows.

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

  ## Installation

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

  ## Credentials

  No credentials are required for this node.

  ## Compatibility

  - n8n v0.124.0 or later

  ## Operations

  - **Info**: Get information from the API.

  ## Resources

  - [n8n Community Nodes](https://n8n.io/integrations/community-nodes/)

  ## API Documentation

  ### GET /{ip_address}
  **Get details for IP**
  Retrieve details for a specific IPv4 or IPv6 address.

  ### GET /{ip_address}/org
  **Filter response by org field**
  Get the organization field as plaintext for a specific IP address.

  ### GET /{ip_address}/city
  **Filter response by city field**
  Get the city as plaintext for a specific IP address.

  ### GET /{ip_address}/country
  **Filter response by country field**
  Get country ISO code as plaintext for a specific IP address.

ai_documentation_summary:
  {"purpose":"The Apiinfo node allows users to retrieve detailed information about IP addresses, such as location, city, country, and organization, by making API calls to the ApiInfo service.","capabilities":["Retrieve IP address details","Get city information for an IP address","Get country ISO code for an IP address","Get organization information for an IP address"],"authentication":"No credentials required","commonUseCases":["Identifying the geographical location of an IP address","Verifying the organization associated with an IP","Building IP geolocation-based workflows in n8n"],"limitations":[],"relatedNodes":["n8n-nodes-base.HttpRequest"]}


node_type: @dendaio/n8n-nodes-phoenix.Phoenix
package_name: @dendaio/n8n-nodes-phoenix
display_name: Phoenix
category: Community
development_style: declarative
version: 1.0.6
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: quan.dang
author_github_url: git+https://github.com/n8n-io/n8n-nodes-starter.git
npm_package_name: @dendaio/n8n-nodes-phoenix
npm_version: 1.0.6
community_fetched_at: 2026-01-07T20:08:17.716Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  🚀 Comprehensive n8n node collection for financial analysis and automation. Features 55+ technical indicators (RSI, MACD, Bollinger Bands), 32+ candlestick patterns (Doji, Hammer, Engulfing), derivative statistics (Open Interest, Funding Rate, Long/Short 

npm_readme:
  # n8n-nodes-phoenix

  This is an n8n community node collection by DenDa.io . It provides a comprehensive set of nodes for technical analysis, trading strategies, RSS feed processing, and chart generation in your n8n workflows.

  This collection includes 19 specialized nodes covering technical indicators (55+ indicators), trading strategies, candlestick pattern detection (32+ patterns), derivative market data, content extraction, data processing, chart generation, AI integration, and cryptocurrency exchange integration for financial analysis and automation 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)  
  [Version history](#version-history)

  ## Installation

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

  ## Operations

  ### Technical Analysis Summary

  This collection provides comprehensive technical analysis capabilities with:

  - **55+ Technical Indicators** across 4 categories
  - **32+ Candlestick Patterns** with location detection
  - **Support & Resistance Detection** using multiple methods
  - **Trading Strategy Generation** with BUY/SELL/HOLD signals
  - **Chart Generation** with TradingView integration

  ### Technical Analysis Nodes

  #### Candlestick Pattern Detector

  Detects 32+ candlestick patterns including Doji, Hammer, Engulfing, Morning/Evening Star, and more. Provides exact location information (start/end positions) for each detected pattern, pattern strength analysis, and volume confirmation. Essential for identifying market reversals, continuations, and indecision signals.

  #### Momentum Indicators

  Calculates 11 different momentum indicators including RSI, Stochastic Oscillator, Williams %R, Awesome Oscillator, Ichimoku Cloud, TRIX, and more. Processes OHLCV data to provide momentum analysis for trading decisions.

  **Available Indicators:**

  - Awesome Oscillator (AO)
  - Chaikin Oscillator
  - Ichimoku Cloud
  - Percentage Price Oscillator (PPO)
  - Percentage Volume Oscillator (PVO)
  - Price Rate of Change (ROC)
  - Relative Strength Index (RSI)
  - Stochastic Oscillator
  - Stochastic RSI
  - TRIX
  - Williams %R

  #### Trend Indicators

  Calculates 22 trend indicators including various moving averages (SMA, EMA, DEMA, TEMA), MACD, Aroon, ADX, and more. Essential for trend analysis and market direction identification.

  **Available Indicators:**

  - Absolute Price Oscillator
  - Aroon
  - Average Directional Index (ADX)
  - Balance of Power
  - Chande Forecast Oscillator
  - Community Channel Index (CCI)
  - Double Exponential Moving Average (DEMA)
  - Exponential Moving Average (EMA)
  - Mass Index
  - Moving Average Convergence Divergence (MACD)
  - Moving Max/Min/Sum
  - Parabolic SAR
  - Qstick
  - Random Index (KDJ)
  - Rolling Moving Average (RMA)
  - Simple Moving Average (SMA)
  - Since
  - Triangular Moving Average (TRIMA)
  - Triple Exponential Average (TRIX)
  - Triple Exponential Moving Average (TEMA)
  - Typical Price
  - Volume Weighted Moving Average (VWMA)
  - Vortex

  #### Volume Indicators

  Provides 10 volume-based indicators including OBV, Money Flow Index, Chaikin Money Flow, and Accumulation Distribution. Analyzes volume patterns to confirm price movements.

  **Available Indicators:**

  - Accumulation Distribution (AD)
  - Chaikin Money Flow (CMF)
  - Ease of Movement (EMV)
  - Force Index (FI)
  - Money Flow Index (MFI)
  - Negative Volume Index (NVI)
  - On Balance Volume (OBV)
  - Volume Price Trend (VPT)
  - Volume Profile (VP)
  - Volume Weighted Average Price (VWAP)

  #### Volatility Indicators

  Calculates 12 volatility-based indicators for market volatility analysis and risk assessment.

  **Available Indicators:**

  - Acceleration Bands (AB)
  - Average True Range (ATR)
  - Bollinger Bands (BB)
  - Bollinger Bands Width (BBW)
  - Chandelier Exit (CE)
  - Donchian Channel (DC)
  - Keltner Channel (KC)
  - Moving Standard Deviation (MSTD)
  - Projection Oscillator (PO)
  - Standard Deviation (SD)
  - True Range (TR)
  - Ulcer Index (UI)

  #### Support Resistance Detector

  Detects support and resistance levels using multiple methods: Pivot Points, Swing Highs/Lows, and Fibonacci Retracement. Critical for identifying key price levels.

  ### Trading Strategy Nodes

  #### Momentum Strategy

  Executes 5 momentum-based trading strategies (Awesome Oscillator, Ichimoku Cloud, RSI2, Stochastic, Williams %R) and returns BUY/SELL/HOLD signals with optional performance analysis.

  #### Trend Strategy

  Implements trend-following trading strategies based on trend indicators to identify market direction and generate trading signals.

  #### Volatility Strategy

  Provides volatility-based trading strategies for markets with varying volatility conditions.

  #### Volume Strategy

  Implements volume-based trading strategies using volume indicators to confirm price movements and identify accumulation/distribution patterns.

  ### Data Processing Nodes

  #### Multi RSS Feed Read

  Reads data from multiple RSS feeds in parallel using Promise.all() for improved performance. Features error handling, custom headers, random user agents, and SSL options for robust feed processing.

  #### OHLCV Data Fetch

  Fetches OHLCV (Open, High, Low, Close, Volume) data from cryptocurrency exchanges using the CCXT library. Supports multiple exchanges including Binance, Bybit, OKX, MEXC, Gate, KuCoin, and Kraken. Provides both spot and futures market data with configurable timeframes and limits.

  #### Readability Content Extractor

  A powerful node that extracts clean, readable content from HTML using Mozilla's Readability algorithm. Removes clutter like ads, navigation menus, sidebars, and other non-content elements to provide the essential text and structure of web articles. Perfect for web scraping, content analysis, and extracting clean text from news websites or research articles.

  #### Technical Chart Generator

  Generates technical charts using remote browser automation and saves them as images. Integrates with TradingView to create high-quality chart screenshots with customizable timeframes, themes, and dimensions. Supports both light and dark themes, various timeframes (1m to 1M), and configurable chart dimensions for professional chart analysis and reporting.

  ### Chart Generation Nodes

  #### Technical Chart Generator

  Generates technical charts using remote browser automation and saves them as images. Integrates with TradingView to create high-quality chart screenshots with customizable timeframes, themes, and dimensions. Supports both light and dark themes, various timeframes (1m to 1M), and configurable chart dimensions for professional chart analysis and reporting. Includes advanced data extraction capabilities for indicators, OHLCV data, and study custom data.

  ### AI Integration Nodes

  #### Gemini

  Integrates with Google's Gemini AI API to provide advanced AI capabilities for text generation, analysis, and processing. Supports multiple models, file attachments (images, documents, audio), and advanced configuration options including safety settings, temperature control, and system instructions. Perfect for AI-powered content analysis, automated text generation, and intelligent data processing workflows.

  **Key Features:**
  - **Text Generation**: Generate human-like text responses using various Gemini models
  - **File Attachments**: Support for images, documents, audio, and other file types
  - **Advanced Configuration**: Temperature, top-p, top-k, frequency/presence penalties
  - **Safety Settings**: Configurable content filtering and safety controls
  - **System Instructions**: Custom instructions to guide model behavior
  - **JSON Output**: Request structured JSON responses for data processing
  - **Multiple Models**: Support for different Gemini model variants

  **Supported File Types:**
  - Images: JPEG, PNG, GIF, WebP
  - Documents: PDF, HTML, Plain Text
  - Audio: MP3, WAV
  - Video: MP4
  - Custom MIME types

  ## Data Format Requirements

  ### OHLCV Data Format

  All technical analysis and trading strategy nodes require OHLCV (Open, High, Low, Close, Volume) data in a specific format and chronological order.

  #### Data Structure

  ```json
  [
    [open, high, low, close, volume],
    [open, high, low, close, volume],
    [open, high, low, close, volume],
    ...
  ]
  ```

  #### Time Order Requirements

  **IMPORTANT**: OHLCV data must be provided in chronological order from oldest to newest:

  - **Index 0**: Oldest data point (earliest in time)
  - **Index length-1**: Latest data point (most recent)

  This is the standard convention for financial time series data and ensures accurate calculations for all indicators and strategies.

  #### Example

  ```json
  [
  	[100.0, 102.0, 99.0, 101.0, 1000], // Oldest data point
  	[101.0, 103.0, 100.0, 102.0, 1200], // Second oldest
  	[102.0, 104.0, 101.0, 103.0, 1100], // Third oldest
  	[103.0, 105.0, 102.0, 104.0, 1300] // Latest data point
  ]
  ```

  #### Data Validation

  - Each candle must contain exactly 5 values: [open, high, low, close, volume]
  - Volume is optional and defaults to 0 if not provided
  - All price values should be positive numbers
  - Array must not be empty
  - Data should be sorted chronologically (oldest first)

  ## Credentials

  ### Binance API Credentials

  The **Binance** and **Binance Trigger** nodes require Binance API credentials for authenticated operations:

  - **API Key**: Your Binance API key for authentication
  - **API Secret**: Your Binance API secret for request signing

  **Note**: For public data operations (market data, candlestick data), credentials are optional. For trading operations, account management, and private data access, credentials are required.

  ### Gemini API Credentials

  The **Gemini** node requires a Gemini API key for authentication:

  - **API Key**: Your Google Gemini API key for authentication

  **Note**: The API key is required for all Gemini operations including text generation and file processing.

  ### Other Nodes

  No credentials are required for other nodes in this collection. All other nodes operate with public APIs and data sources.

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Node.js version**: >=20.15
  - **Tested against**: Latest n8n versions

  ## Usage

  ### Technical Analysis Workflow

  Create automated trading analysis workflows by combining multiple indicator nodes:

  1. Use **Candlestick Pattern Detector** to identify reversal and continuation patterns
  2. Use **Momentum Indicators** to identify overbought/oversold conditions
  3. Combine with **Trend Indicators** to confirm market direction
  4. Add **Volume Indicators** to validate price movements
  5. Use **Support Resistance Detector** to identify key price levels
  6. Apply **Strategy nodes** to generate automated trading signals

  ### Candlestick Pattern Analysis

  Build comprehensive pattern recognition workflows:

  1. Use **Candlestick Pattern Detector** to scan for multiple patterns simultaneously
  2. Analyze pattern locations and strength indicators
  3. Combine with volume confirmation for stronger signals
  4. Generate alerts based on specific pattern combinations

  ### RSS Feed Processing

  Build content aggregation workflows:

  1. Use **Multi RSS Feed Read** to fetch multiple news sources
  2. Process and filter content based on your criteria
  3. Send alerts or store data for further analysis

  ### Content Extraction Workflows

  Build web scraping and content processing workflows:

  1. Use **Readability Content Extractor** to clean HTML content from websites
  2. Extract clean text and metadata from news articles or web pages
  3. Process extracted content for analysis, summarization, or storage
  4. Combine with RSS feeds for comprehensive content aggregation

  ### Cryptocurrency Exchange Integration

  Build automated cryptocurrency trading and monitoring workflows:

  1. Use **Binance** node to interact with Binance API for spot, futures, and margin trading
  2. Use **Binance Trigger** to monitor real-time market data and candlestick patterns
  3. Integrate with technical analysis nodes for automated trading signals
  4. Monitor market conditions and execute trades based on your strategies

  **Available Binance Operations:**
  - **Spot Trading**: Market data, order management, account information
  - **Futures Trading**: Contract data, position management, funding rates
  - **Margin Trading**: Cross/isolated margin operations
  - **Custom Operations**: Direct API calls for advanced use cases
  - **Real-time Triggers**: Candle data monitoring and pattern detection

  ### Chart Generation Workflows

  Build automated chart generation workflows:

  1. Use **Technical Chart Generator** to create TradingView chart screenshots
  2. Configure different timeframes and themes for various analysis needs
  3. Integrate with your trading analysis workflows for visual reporting

  ### AI-Powered Analysis Workflows

  Build intelligent analysis and content processing workflows:

  1. Use **Gemini** node to analyze market data, news articles, or technical analysis results
  2. Generate AI-powered insights and summaries from your trading data
  3. Process images and documents for automated content analysis
  4. Create intelligent trading signals based on AI analysis of market conditions
  5. Integrate with other nodes for comprehensive AI-enhanced trading workflows

  ### Example: Advanced Trading Signal Workflow

  ```javascript
  // 1. Fetch market data (OHLCV format)
  const marketData = [
  	[open, high, low, close, volume],
  	[open, high, low, close, volume],
  	// ... more data points
  ];

  // 2. Detect candlestick patterns
  const patterns = await candlestickPatternDetector.execute({
  	patterns: ['doji', 'hammerpattern', 'bullishengulfingpattern'],
  	data: marketData,
  	options: { includeStrength: true },
  });

  // 3. Calculate RSI using Momentum Indicators node
  const rsiResult = await momentumIndicators.execute({
  	indicator: 'rsi',
  	parameters: { period: 14 },
  	data: marketData,
  });

  // 4. Generate trading signals using Momentum Strategy node
  const signals = await momentumStrategy.execute({
  	strategy: 'rsi2Strategy',
  	data: marketData,
  });

  // 5. Combine pattern and indicator signals
  if (
  	patterns.detectedPatterns.includes('bullishengulfingpattern') &&
  	signals.actions[signals.actions.length - 1] === 'BUY'
  ) {
  	// Strong buy signal with pattern confirmation
  }
  ```

  For new users, check out the [Try it out](https://docs.n8n.io/try-it-out/) documentation to get started with n8n basics.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Technical Analysis Library Documentation](https://github.com/bennycode/indicatorts)
  - [Technical Indicators Library Documentation](https://github.com/anandanand84/technicalindicators)
  - [RSS Parser Documentation](https://github.com/rbren/rss-parser)
  - [Puppeteer Documentation](https://pptr.dev/)

  ## Version history

  ### 1.0.6 (Current)

  - **NEW**: Added Gemini AI integration node for advanced text generation and analysis
  - **NEW**: Added support for multiple file types (images, documents, audio, video) in Gemini node
  - **NEW**: Added advanced AI configuration options including safety settings, temperature control, and system instructions
  - **IMPROVEMENT**: Enhanced collection with AI-powered analysis capabilities for intelligent trading workflows

  ### 1.0.5

  - **NEW**: Added "Extract Study Custom Data" option to TechnicalChart node
  - **IMPROVEMENT**: Enhanced TechnicalChart node with study custom data extraction using extractStudyCustomData() function
  - **IMPROVEMENT**: Added comprehensive output options for advanced technical analysis data extraction

  ### 1.0.4

  - **NEW**: Added Binance API integration with comprehensive trading operations
  - **NEW**: Added Binance node supporting spot, futures, margin, and custom operations
  - **NEW**: Added Binance Trigger node for real-time market data monitoring
  - **NEW**: Added Binance API credentials for authenticated trading operations
  - **IMPROVEMENT**: Enhanced collection with cryptocurrency exchange integration capabilities
  - **IMPROVEMENT**: Added support for real-time candlestick pattern monitoring

  ### 1.0.3

  - **NEW**: Added Bot Mode support to TechnicalChart node (adds mode=bot query parameter)
  - **NEW**: Added optional Indicators output to TechnicalChart node (calls built-in extractIndicators function)
  - **NEW**: Added optional OHLCV output to TechnicalChart node (calls built-in exportOHLCV function)
  - **IMPROVEMENT**: Enhanced TechnicalChart node with comprehensive output options for technical analysis data

  ### 1.0.2

  - **IMPROVEMENT**: Updated GetOhlcv node with enhanced features and optimizations.

  ### 1.0.1

  - **IMPROVEMENT**: Updated TechnicalChart node: allow expression input fields.

  ### 1.0.0

  - **Initial release** of n8n-nodes-phoenix
  - **NEW**: Added Technical Chart Generator with TradingView integration and remote browser automation
  - Added Candlestick Pattern Detector with 32+ patterns and location detection
  - Added comprehensive technical analysis nodes (55+ indicators)
  - Implemented trading strategy nodes with signal generation
  - Added Multi RSS Feed Read with parallel processing
  - Enhanced error handling and performance optimizations
  - Complete documentation and usage examples

ai_documentation_summary:
  {"purpose":"The Phoenix node collection enables comprehensive financial analysis and automation in n8n workflows by providing technical indicators, candlestick pattern detection, trading strategy generation, chart creation, and data processing capabilities for cryptocurrency and financial markets.","capabilities":["Detects 32+ candlestick patterns (e.g., Doji, Hammer, Engulfing) with location, strength, and volume confirmation","Calculates 55+ technical indicators across momentum, trend, volume, and volatility categories","Generates BUY/SELL/HOLD trading signals using momentum, trend, volatility, and volume strategies","Detects support and resistance levels using pivot points, swing highs/lows, and Fibonacci retracements","Fetches OHLCV data from major cryptocurrency exchanges (Binance, Bybit, OKX, etc.)","Extracts clean, readable content from HTML using Mozilla's Readability algorithm","Generates charts with TradingView integration","Processes multiple RSS feeds in parallel with error handling and custom headers"],"authentication":"API keys required for exchange data access (e.g., Binance, Bybit); no OAuth2 or login required for RSS or content extraction","commonUseCases":["Automated technical analysis of cryptocurrency price movements","Detection of reversal or continuation patterns using candlestick and indicator signals","Generation of trading signals based on momentum, trend, or volume patterns","Real-time monitoring of support/resistance levels for trading decisions","Aggregation and processing of financial news from RSS feeds"],"limitations":["Limited to financial and technical analysis; not suitable for general business automation","No native support for real-time streaming or WebSocket data","Chart generation relies on external TradingView integration, which may have latency or formatting constraints","Performance depends on exchange API limits and data availability"],"relatedNodes":["Cryptocurrency Exchange Nodes","Data Processing Nodes","RSS Feed Nodes","AI/ML Integration Nodes","Charting Nodes"]}


node_type: n8n-nodes-trino.Trino
package_name: n8n-nodes-trino
display_name: Trino
description: A n8n node that allows you to query your Trino instance
category: Community
development_style: declarative
version: 1.0.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: dmsrdnv
author_github_url: git+https://github.com/Dmsrdnv/n8n-nodes-trino.git
npm_package_name: n8n-nodes-trino
npm_version: 1.0.3
community_fetched_at: 2026-01-07T20:08:17.717Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-trino

  ![Banner image](docs/banner.png)

  This is an n8n community node that allows you to use [Trino](https://trino.io/) in your n8n workflows.

  Tested with n8n 1.90.2 and Trino 475. You may need to adjust dependencies according to your setup.

  - Trino is a distributed SQL query engine designed for fast, interactive analytics with multiple connections to various SQL engines.
  - [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  ## Installation

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

  ## Operations

  - **Query**: Execute SQL queries against Trino. Node returns rows as items.

  ## Credentials

  Configure your Trino connection details in the node's credentials.

  For more information, please refer to the [Trino JDBC client documentation](https://trino.io/docs/current/client/jdbc.html).

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Trino docs](https://trino.io/docs/current/index.html)

  ## Attribution

  This node is based on the original work by the n8n team's [Master node](https://github.com/n8n-io/n8n-nodes-starter/tree/master) and Jakub Kaflik's [Clickhouse node](https://github.com/jkaflik/n8n-nodes-clickhouse).

ai_documentation_summary:
  {"purpose":"The Trino node enables users to execute SQL queries against a Trino instance within n8n workflows, retrieving query results as items for further processing.","capabilities":["Execute SQL queries against a Trino database","Return query results as workflow items"],"authentication":"API key or JDBC connection credentials (configured via node credentials; no explicit authentication method mentioned beyond JDBC configuration)","commonUseCases":["Running analytical queries on large datasets stored in Trino","Integrating Trino data into n8n workflows for downstream processing or visualization"],"limitations":[],"relatedNodes":["JDBC nodes","SQL query nodes","Data transformation nodes"]}


node_type: @zurdai/n8n-nodes-padelapp.Padelapp
package_name: @zurdai/n8n-nodes-padelapp
display_name: Padelapp
description: n8n node for PadelApp logic
category: Community
development_style: declarative
version: 0.6.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: zurdai
npm_package_name: @zurdai/n8n-nodes-padelapp
npm_version: 0.6.4
community_fetched_at: 2026-01-07T20:08:17.717Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @zurdai/n8n-nodes-padelapp

  This is an n8n custom node for handling Padel App logic, allowing you to manage reservations, courts, analytics, and payments within n8n workflows.

  ## Installation

  1.  **Community Node Installation**:
      In your n8n instance, go to **Settings** > **Community Nodes** > **Install**, and paste the package name: `@zurdai/n8n-nodes-padelapp`

  2.  **Manual Installation**:
      - Go to your n8n `custom` directory (e.g. `~/.n8n/custom`).
      - clone the repository: `git clone https://github.com/Startin-AG/n8n-nodes-padelapp.git`
      - Enter the directory: `cd n8n-nodes-padelapp`
      - Install dependencies: `npm install`
      - Build the code: `npm run build`
      - Restart n8n.

  ## Credentials

  This node requires **Padel App API** credentials. You can set up these credentials in n8n:
  1.  Navigate to **Credentials**.
  2.  Search for **Padel App API**.
  3.  Enter your API Key or Token (as defined in your implementation).

  ## Resources and Operations

  ### Booking
  Manage court reservations.

  *   **Create**: Create a new reservation.
      *   **Court ID**: The ID of the court to book.
      *   **Start Time**: Date and time of the reservation.
      *   **Duration (Minutes)**: Length of the booking (default: 60).
      *   **User ID**: ID of the user making the booking.
      *   **Player Count**: Number of players (default: 4).
  *   **Cancel**: Cancel an existing reservation.
      *   **Reservation ID**: The ID of the reservation to cancel.
  *   **Update**: Update reservation details.
      *   **Reservation ID**: The ID of the reservation to update.
      *   **Update Fields**: Fields to update (e.g., Status, Player Count).
  *   **Get All**: Retrieve a list of reservations.
      *   **Limit**: Max number of results to return.

  ### Court
  Get information about padel courts.

  *   **Get All**: Retrieve a list of all courts.
  *   **Status**: Check the status of a specific court.
      *   **Court ID**: The ID of the court.

  ### Analytics
  Retrieve business insights.

  *   **Daily Summary**: Get revenue and booking stats for a specific date.
      *   **Date**: The date to analyze.

  ### Payment
  Manage and check payments.

  *   **Check Status**: Verify the status of a payment.
      *   **Payment ID**: The ID of the payment transaction.

  ## Usage

  1.  In n8n, add the **Padel App** node to your workflow.
  2.  Select the desired **Resource** (e.g., Booking).
  3.  Select the **Operation** (e.g., Create).
  4.  Fill in the required parameters (e.g., Court ID, User ID).

ai_documentation_summary:
  {"purpose":"The Padelapp node enables integration with the PadelApp platform to manage court reservations, court information, analytics, and payment statuses within n8n workflows.","capabilities":["Create reservations with court ID, start time, duration, user ID, and player count","Cancel existing reservations by reservation ID","Update reservation details such as status or player count","Retrieve a list of all reservations with optional limit","Get a list of all padel courts","Check the status of a specific court","Retrieve daily revenue and booking analytics for a given date","Check the status of a payment by payment ID"],"authentication":"API key or token required via Padel App API credentials in n8n's Credentials section","commonUseCases":["Automating booking requests for users based on availability","Canceling reservations when a user cancels in advance","Monitoring court availability and status for scheduling","Generating daily revenue reports for business analytics","Verifying payment status after a booking is completed"],"limitations":[],"relatedNodes":["n8n core nodes for data handling and workflow control","Payment processing nodes","Analytics or reporting nodes"]}


node_type: @jaimeflneto/n8n-nodes-moz-api.MozApi
package_name: @jaimeflneto/n8n-nodes-moz-api
display_name: MozApi
description: n8n node for Moz Data API (JSON-RPC 2.0) - SEO metrics, backlinks, domain authority and more
category: Community
development_style: declarative
version: 1.1.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: jaimeflneto
author_github_url: git+https://github.com/jaimeflneto/n8n-nodes-moz-api.git
npm_package_name: @jaimeflneto/n8n-nodes-moz-api
npm_version: 1.1.1
community_fetched_at: 2026-01-07T20:08:17.718Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-moz-api

  This is an n8n community node for the [Moz Links API](https://moz.com/help/links-api). It enables you to integrate Moz's SEO data into your n8n workflows.

  ## Features

  This node provides access to all major Moz Links API endpoints:

  | Resource | Description |
  |----------|-------------|
  | **URL Metrics** | Get Domain Authority, Page Authority, Spam Score, and link counts for URLs |
  | **Anchor Text** | Get anchor text data for links pointing to a target |
  | **Linking Domains** | Get root domains that link to a target |
  | **Top Pages** | Get the most-linked pages for a domain |
  | **Links** | Get individual links pointing to a target |
  | **Global Top Pages** | Get the most-linked pages across the web |
  | **Global Top Root Domains** | Get the most-linked domains across the web |
  | **Link Intersect** | Find domains that link to multiple competitors |
  | **Final Redirect** | Get the final URL after redirects |
  | **Index Metadata** | Get Moz index metadata |
  | **Usage Data** | Get API usage statistics |

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `@jaimeflneto/n8n-nodes-moz-api`
  4. Agree to the risks and select **Install**

  ### Manual Installation

  ```bash
  npm install @jaimeflneto/n8n-nodes-moz-api
  ```

  ## Credentials

  To use this node, you need a Moz API token:

  1. Sign up for a [Moz API account](https://moz.com/products/api)
  2. Go to the [Moz API dashboard](https://moz.com/products/api/dashboard) to create and view your API tokens
  3. In n8n, create new credentials for "Moz API" and enter your **API Token**

  The node uses the `x-moz-token` header for authentication as specified in the [Moz API documentation](https://moz.com/help/links-api).

  ## Usage Examples

  ### Get URL Metrics

  Retrieve Domain Authority, Page Authority, and other metrics for a URL:

  1. Add the Moz API node to your workflow
  2. Select **URL Metrics** as the resource
  3. Enter the target URL (e.g., `https://example.com`)
  4. Execute to get metrics like:
     - Domain Authority
     - Page Authority
     - Spam Score
     - Link counts

  ### Analyze Backlinks

  Get the domains linking to your site:

  1. Select **Linking Domains** as the resource
  2. Enter your target URL
  3. Choose the scope (Page, Subdomain, or Root Domain)
  4. Set the limit for number of results

  ### Find Competitor Link Opportunities

  Use Link Intersect to find domains that link to your competitors but not to you:

  1. Select **Link Intersect** as the resource
  2. Enter competitor URLs (comma-separated)
  3. Optionally set an exclude target (your domain)
  4. Get a list of potential link building opportunities

  ## API Documentation

  For detailed API documentation, visit the [Moz Links API Help](https://moz.com/help/links-api).

  ## License

  [MIT](LICENSE)

  ## Author

  Jaime Neto - [@jaimeflneto](https://github.com/jaimeflneto)

ai_documentation_summary:
  {"purpose":"The MozApi node enables integration with Moz's Links API to retrieve SEO-related data such as domain authority, backlinks, anchor text, and link metrics, allowing users to analyze website performance and competition within n8n workflows.","capabilities":["Retrieve URL metrics (Domain Authority, Page Authority, Spam Score, link counts)","Get anchor text data for links pointing to a target","Fetch linking domains (by page, subdomain, or root domain)","Retrieve top pages for a domain","Get individual links pointing to a target","Access global top pages and root domains","Find domains linking to multiple competitors (Link Intersect)","Determine final URLs after redirects","Retrieve index metadata","Get API usage statistics"],"authentication":"API key required; the node uses the `x-moz-token` header with a Moz API token obtained from the Moz API dashboard","commonUseCases":["Analyzing SEO performance of a website using domain and page authority metrics","Identifying backlink sources and competitor link opportunities","Finding potential link-building targets via link intersect analysis","Monitoring website indexing and spam scores","Tracking API usage and performance over time"],"limitations":[],"relatedNodes":["Webhooks","HTTP Request","Set","Function"]}


node_type: n8n-nodes-jmap.Jmap
package_name: n8n-nodes-jmap
display_name: Jmap
category: Community
development_style: declarative
version: 0.2.7
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mmaudet
author_github_url: git+https://github.com/mmaudet/n8n-nodes-jmap.git
npm_package_name: n8n-nodes-jmap
npm_version: 0.2.7
community_fetched_at: 2026-01-07T20:08:17.719Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n community node for JMAP email protocol (RFC 8620/8621) - Works with Apache James, Twake Mail, Fastmail, and other JMAP-compatible servers

npm_readme:
  # n8n-nodes-jmap

  Community node for [n8n](https://n8n.io/) to interact with JMAP email servers ([RFC 8620](https://datatracker.ietf.org/doc/html/rfc8620)/[RFC 8621](https://datatracker.ietf.org/doc/html/rfc8621)).

  Compatible with:
  - [Apache James](https://james.apache.org/)
  - [Twake Mail](https://twake.app/) by [LINAGORA](https://linagora.com/)
  - [Stalwart Mail Server](https://stalw.art/)
  - [Fastmail](https://www.fastmail.com/)
  - Any JMAP-compliant email server

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-jmap`
  4. Agree to the risks and click **Install**

  ### Manual Installation

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

  Then restart n8n.

  ---

  ## Authentication

  This node supports **three authentication methods** to connect to JMAP servers.

  ### Method 1: Basic Authentication

  The simplest method using email and password directly.

  **Configuration:**
  1. Create a new **JMAP API** credential
  2. Set **Authentication Method** to `Basic Auth`
  3. Fill in:
     - **JMAP Server URL**: `https://jmap.example.com/jmap`
     - **Email**: `user@example.com`
     - **Password**: Your password

  **Use case:** Development, testing, or servers without OAuth2 support.

  ---

  ### Method 2: Bearer Token

  Use a pre-obtained access token (e.g., from an external OAuth2 flow).

  **Configuration:**
  1. Create a new **JMAP API** credential
  2. Set **Authentication Method** to `Bearer Token`
  3. Fill in:
     - **JMAP Server URL**: `https://jmap.example.com/jmap`
     - **Access Token**: Your JWT or access token

  **Use case:** Integration with existing authentication systems, tokens obtained via scripts or other workflows.

  ---

  ### Method 3: OAuth2 / OIDC with PKCE

  Full OAuth2 Authorization Code flow with PKCE (Proof Key for Code Exchange). This is the **recommended method for production** as it provides:
  - Automatic token refresh
  - No password storage in n8n
  - Secure SSO integration

  **Configuration:**
  1. Create a new **JMAP OAuth2 API** credential
  2. Fill in:
     - **Client ID**: Your OIDC client ID
     - **Client Secret**: Leave empty for public clients (PKCE)
     - **Authorization URL**: `https://sso.example.com/oauth2/authorize`
     - **Access Token URL**: `https://sso.example.com/oauth2/token`
     - **JMAP Server URL**: `https://jmap.example.com/jmap`
  3. Click **Connect** to initiate the OAuth2 flow
  4. Log in with your SSO credentials

  **Compatible Identity Providers:**
  - [LemonLDAP::NG](https://lemonldap-ng.org/)
  - [Keycloak](https://www.keycloak.org/)
  - [Auth0](https://auth0.com/)
  - Any OAuth2/OIDC compliant provider

  #### Example: LemonLDAP::NG Configuration

  ```
  Authorization URL: https://sso.example.com/oauth2/authorize
  Access Token URL:  https://sso.example.com/oauth2/token
  Client ID:         my-n8n-client
  Scope:             openid email profile offline_access
  ```

  #### Example: Keycloak Configuration

  ```
  Authorization URL: https://keycloak.example.com/realms/myrealm/protocol/openid-connect/auth
  Access Token URL:  https://keycloak.example.com/realms/myrealm/protocol/openid-connect/token
  Client ID:         n8n-jmap-client
  Scope:             openid email profile offline_access
  ```

  ---

  ## Nodes

  ### JMAP Node

  Main node for email operations.

  | Resource | Operation | Description |
  |----------|-----------|-------------|
  | Email | Send | Send a new email |
  | Email | Reply | Reply to an existing email |
  | Email | Get | Retrieve an email by ID |
  | Email | Get Many | List emails with advanced search filters |
  | Email | Get Attachments | Download attachments as binary data |
  | Email | Create Draft | Create a draft without sending |
  | Email | Delete | Delete an email |
  | Email | Mark as Read | Mark email as read |
  | Email | Mark as Unread | Mark email as unread |
  | Email | Move | Move email to another mailbox |
  | Email | Add Label | Add a mailbox label to an email |
  | Email | Remove Label | Remove a mailbox label from an email |
  | Email | Get Labels | Get all labels for an email |
  | Mailbox | Get | Get mailbox details by ID |
  | Mailbox | Get Many | List all mailboxes |
  | Thread | Get | Get thread details by ID |
  | Thread | Get Many | Get all emails in a thread |

  ### JMAP Trigger Node

  Polling-based trigger for new emails.

  | Event | Description |
  |-------|-------------|
  | New Email | Triggers on any new email |
  | New Email in Mailbox | Triggers on new email in a specific mailbox |

  **Options:**
  - **Simple Output**: Return simplified email data
  - **Include Attachments Info**: Include attachment metadata
  - **Mark as Read**: Automatically mark fetched emails as read

  ---

  ## Features

  ### Advanced Email Search

  The **Get Many** operation supports powerful search filters based on JMAP RFC 8621:

  | Filter | Description |
  |--------|-------------|
  | **Received After** | Emails received after a specific date |
  | **Received Before** | Emails received before a specific date |
  | **From Contains** | Filter by sender address |
  | **To Contains** | Filter by recipient address |
  | **Subject Contains** | Filter by subject line |
  | **Full Text Search** | Search in subject, body, and addresses |
  | **Has Attachment** | Only emails with attachments |
  | **Unread Only** | Only unread emails |
  | **Flagged Only** | Only starred/flagged emails |

  Combine multiple filters for precise email retrieval.

  ### Attachment Handling

  The **Get Attachments** operation downloads email attachments as binary data, ready to use with other n8n nodes:

  - **Inline image filtering**: Exclude embedded images (signatures, logos) by default
  - **MIME type filtering**: Filter by file type (e.g., `application/pdf`, `image/*`)
  - **Native compatibility**: Works seamlessly with n8n's Compression, Google Drive, S3, and other nodes

  Example workflow: `JMAP Trigger` > `Get Attachments` > `Compression` (extract ZIP) > `Google Drive` (upload)

  ---

  ## AI Agent Integration

  This node can be used as a tool by n8n AI Agents, enabling autonomous email operations.

  ### Setup

  1. Ensure you're using n8n version 1.x or later
  2. The node will automatically appear in the AI Agent's tool list

  ### Example Use Cases

  - **Email assistant**: Let the AI read, search, and respond to emails
  - **Automated triage**: AI categorizes and labels incoming emails
  - **Smart notifications**: AI analyzes email content and triggers actions

  ### Supported Operations as AI Tool

  The AI Agent can use all JMAP operations:
  - Search emails with natural language queries
  - Read and analyze email content
  - Send replies based on context
  - Organize emails (labels, folders, flags)
  - Download and process attachments

  ---

  ## Contributing

  Contributions are welcome! This project is open source and we encourage the community to help improve it.

  ### How to Contribute

  1. **Fork** the repository
  2. **Create a branch** for your feature or fix: `git checkout -b feature/my-feature`
  3. **Make your changes** and test them locally
  4. **Run linting**: `npm run lint`
  5. **Commit** with a clear message
  6. **Push** to your fork and open a **Pull Request**

  ### Ideas for Contributions

  - Support for additional JMAP capabilities (Calendar, Contacts)
  - Improved error handling and messages
  - Additional search filters
  - Documentation improvements
  - Bug fixes and optimizations

  ### Local Development

  ```bash
  # Clone your fork
  git clone https://github.com/YOUR_USERNAME/n8n-nodes-jmap.git
  cd n8n-nodes-jmap

  # Install dependencies
  npm install

  # Build
  npm run build

  # Development mode (watch)
  npm run dev

  # Lint
  npm run lint

  # Format code
  npm run format
  ```

  ### Testing Locally with n8n

  ```bash
  # Start n8n with the local node
  N8N_CUSTOM_EXTENSIONS="/path/to/n8n-nodes-jmap" n8n start
  ```

  ---

  ## JMAP Protocol

  JMAP (JSON Meta Application Protocol) is a modern, efficient alternative to IMAP for email access:

  - **Stateless**: No persistent connections required
  - **JSON-based**: Easy to parse and debug
  - **Efficient**: Batched requests, delta sync
  - **Standardized**: RFC 8620 (Core) and RFC 8621 (Mail)

  Learn more: [jmap.io](https://jmap.io/)

  ---

  ## License

  MIT

  ---

  ## Author

  [Michel-Marie MAUDET](https://github.com/mmaudet)

  This project is developed with the support of [LINAGORA](https://linagora.com/) and [Twake](https://twake.app/).

ai_documentation_summary:
  {"purpose":"The JMAP node enables n8n users to interact with JMAP-compliant email servers (like Apache James, Fastmail, and Keycloak-integrated mail servers) by performing email operations such as sending, retrieving, filtering, and managing attachments and labels via the JMAP protocol (RFC 8620/8621).","capabilities":["Send emails","Reply to emails","Retrieve individual or multiple emails with advanced search filters","Download email attachments as binary data","Create, delete, mark as read/unread, or move emails","Manage email labels and mailboxes","Poll for new emails in specific mailboxes or globally","Support for advanced search (by sender, subject, date, attachments, etc.)","OAuth2/PKCE authentication with SSO providers (e.g., Keycloak, Auth0, LemonLDAP::NG)","Bearer token and basic authentication options"],"authentication":"Three authentication methods: Basic Auth (email/password), Bearer Token (pre-obtained access token), and OAuth2/OIDC with PKCE (recommended for production, supports SSO and automatic token refresh)","commonUseCases":["Automated email retrieval and processing workflows","Integration with email servers like Fastmail, Apache James, or Twake Mail","Email filtering by subject, sender, date, or attachment presence","Automated replies or draft creation","Attachment extraction and upload to cloud storage (e.g., Google Drive, S3)"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-storage","n8n-nodes-compression","n8n-nodes-google-drive","n8n-nodes-s3"]}


node_type: n8n-nodes-ms-dataverse.MsDataverse
package_name: n8n-nodes-ms-dataverse
display_name: MsDataverse
description: n8n community node for Microsoft Dataverse (Power Platform)
category: Community
development_style: declarative
version: 0.3.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: wtyeung
author_github_url: git+https://github.com/wtyeung/n8n-nodes-ms-dataverse.git
npm_package_name: n8n-nodes-ms-dataverse
npm_version: 0.3.2
community_fetched_at: 2026-01-07T20:08:17.719Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-ms-dataverse

  This is an n8n community node that lets you interact with Microsoft Dataverse (Power Platform) in your n8n workflows.

  Microsoft Dataverse is a cloud-based data storage service that provides a secure and scalable way to store and manage business data. It's the underlying data platform for Power Apps, Power Automate, and Dynamics 365.

  [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)  
  [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 Node Installation

  1. Go to **Settings > Community Nodes** in your n8n instance
  2. Select **Install**
  3. Enter `n8n-nodes-ms-dataverse` in the **Enter npm package name** field
  4. Agree to the risks and select **Install**

  ## Operations

  This node supports the following operations on Dataverse records:

  ### Record Operations

  - **Create**: Create a new record in a table
  - **Delete**: Delete a record by ID
  - **Get**: Retrieve a single record by ID or alternate key
  - **Get Many**: Retrieve multiple records using OData queries or FetchXML
  - **Update**: Update an existing record

  ### SQL Query via TDS (Read-Only)

  - **Execute Query**: Run SQL queries directly against Dataverse using the Tabular Data Stream (TDS) endpoint
    - Supports standard SQL SELECT statements
    - Read-only access (no INSERT, UPDATE, DELETE)
    - Requires TDS endpoint to be enabled in your Dataverse environment

  ### Features

  - **Dynamic Table Discovery**: Automatically loads available tables from your Dataverse environment using the OData metadata endpoint
  - **Field Schema Viewer**: Browse all available fields with their logical names, types, and permissions (Create/Update/Read)
  - **Image & File Downloads**: Automatically detect and download image and file fields as binary data
  - **OData Support**: Use OData query syntax for filtering, sorting, and selecting fields
  - **FetchXML Support**: Execute complex queries using FetchXML
  - **TDS/SQL Support**: Execute SQL queries for complex data retrieval and analysis
  - **Alternate Keys**: Retrieve records using alternate keys instead of GUIDs
  - **Field Selection**: Choose specific fields to return in queries
  - **Custom Authentication**: Use custom environment URL and access token for environments without OAuth2 setup

  ## Credentials

  This node uses Microsoft OAuth2 authentication to connect to Dataverse.

  ### Prerequisites

  1. A Microsoft Dataverse environment (part of Power Platform or Dynamics 365)
  2. An Azure AD app registration with appropriate permissions

  ### Setting up Azure AD App Registration

  1. Go to the [Azure Portal](https://portal.azure.com)
  2. Navigate to **Azure Active Directory > App registrations**
  3. Click **New registration**
  4. Enter a name (e.g., "n8n Dataverse Integration")
  5. Set **Redirect URI** to: `https://your-n8n-instance.com/rest/oauth2-credential/callback`
  6. Click **Register**
  7. Note the **Application (client) ID**
  8. Go to **Certificates & secrets** and create a new client secret
  9. Note the secret value (you won't be able to see it again)
  10. Go to **API permissions** and add:
      - **Dynamics CRM > user_impersonation** (Delegated)
  11. Grant admin consent if required

  ### Configuring Authentication in n8n

  #### Option 1: OAuth2 (Default - Recommended)

  1. In n8n, create new credentials of type **Microsoft Dataverse OAuth2 API**
  2. Enter your **Environment URL** (e.g., `https://yourorg.crm.dynamics.com`)
  3. Enter the **Client ID** from your Azure app registration
  4. Enter the **Client Secret** from your Azure app registration
  5. Click **Connect my account** and authorize the application
  6. Test the connection

  #### Option 2: Custom Authentication (For test/sandbox environments)

  Use this option when you have an access token but don't have OAuth2 configured in the target environment (e.g., test/sandbox environments).

  1. In the node, scroll to **Options** section at the bottom
  2. Click **Add Option** and enable **Use Custom Authentication**
  3. Enter your **Environment URL** (e.g., `https://yourorg.crm.dynamics.com`)
  4. In the **Access Token** field, provide the token:
     - From webhook header: `={{$json.headers.authorization.replace("Bearer ", "")}}`
     - From previous node: `={{$node["PreviousNode"].json["access_token"]}}`
     - Or paste a token directly (for testing)

  **Note:** 
  - Access tokens typically expire after 1 hour. For production use with automatic token refresh, use OAuth2 method instead.
  - No OAuth2 credentials are required when using custom authentication.

  **Example Use Case:** 
  - Copy an access token from a production environment (with OAuth2 configured)
  - Use it to test against a sandbox environment (without OAuth2 setup)
  - Receive a webhook from Power Automate with an Authorization header and use that token

  ## Compatibility

  - Minimum n8n version: 1.0.0
  - Tested with n8n version: 1.0.0+
  - Dataverse API version: 9.2

  ## Usage

  ### Creating a Record

  1. Select **Create** operation
  2. Choose your table from the dropdown (or enter manually)
  3. Add fields and their values
  4. Execute the workflow

  ### Retrieving Records with OData

  1. Select **Get Many** operation
  2. Choose **OData** as query type
  3. Use the filter field to add OData filters (e.g., `name eq 'Contoso'`)
  4. Optionally add ordering and field selection
  5. Set the limit for maximum records to return

  ### Retrieving Records with FetchXML

  1. Select **Get Many** operation
  2. Choose **FetchXML** as query type
  3. Enter your complete FetchXML query
  4. Execute the workflow

  ### Using Alternate Keys

  1. Select **Get** operation
  2. Choose **Alternate Key** as Record ID Type
  3. Add your alternate key name-value pairs
  4. Execute the workflow

  ### Example: Get Account by Email

  ```
  Operation: Get
  Table: accounts
  Record ID Type: Alternate Key
  Alternate Keys:
    - Key Name: emailaddress1
    - Key Value: contact@example.com
  ```

  ### Executing SQL Queries via TDS

  #### Prerequisites

  1. **Enable TDS Endpoint** in your Dataverse environment:
     - Go to [Power Platform Admin Center](https://admin.powerplatform.microsoft.com/)
     - Select your environment
     - Go to **Settings** → **Product** → **Features**
     - Enable **"Tabular Data Stream (TDS) endpoint"**
     - Save changes

  2. **Configure IP Firewall** (if applicable):
     - Ensure your n8n instance IP is allowed in Dataverse firewall rules

  3. **OAuth2 Scope**: Ensure your OAuth2 token includes the scope: `https://yourorg.crm.dynamics.com/.default`

  #### Using SQL Queries

  1. Select **SQL Query via TDS (Read-Only)** as the resource
  2. Select **Execute Query** operation
  3. Enter your SQL query (e.g., `SELECT TOP 10 name, emailaddress1 FROM account`)
  4. Execute the workflow

  #### Example SQL Queries

  **Get top 10 accounts:**
  ```sql
  SELECT TOP 10 accountid, name, emailaddress1, createdon 
  FROM account 
  ORDER BY createdon DESC
  ```

  **Filter with WHERE clause:**
  ```sql
  SELECT name, revenue, industrycode 
  FROM account 
  WHERE revenue > 1000000 
  AND statecode = 0
  ```

  **Join tables:**
  ```sql
  SELECT a.name, c.fullname, c.emailaddress1
  FROM account a
  INNER JOIN contact c ON a.accountid = c.parentcustomerid
  WHERE a.statecode = 0
  ```

  **Note:** TDS endpoint is read-only. INSERT, UPDATE, and DELETE operations are not supported.

  ### Viewing Table Field Schemas

  To discover available fields and their logical names for a table:

  1. Select any operation (Create, Get, Update, Get Many, or SQL Query)
  2. Choose a table from the dropdown
  3. Look for the **View Table Fields (Reference Only)** dropdown
  4. Click to load and browse all available fields
  5. Each field shows:
     - Display Name (e.g., "Account Name")
     - Logical Name (e.g., "name") - use this in your queries
     - Field Type (e.g., "String", "Lookup", "DateTime")
     - Permissions: [C] = Create, [U] = Update, [R] = Read

  **Note:** This field is for reference only and doesn't affect the operation. Use the logical names you discover here in your field mappings and queries.

  ### Downloading Images and Files

  The **Get** operation can automatically download image and file fields as binary data, making them available for further processing in your workflow.

  #### Downloading Images

  1. Select **Get** operation
  2. In **Options**, find **Download Images** and choose:
     - **None**: Don't download images (default)
     - **Thumbnails Only**: Download base64-encoded thumbnails from the response
     - **Full Images (Download via API)**: Download full-resolution images via separate API calls

  3. **Auto-detect** (recommended): Leave **Image Field Names** empty to automatically detect all image fields using metadata
  4. **Manual specification**: Enter comma-separated field names (e.g., `crb1b_img,entityimage`)

  **Example:**
  ```
  Operation: Get
  Table: contacts
  Record ID: abc123...
  Options:
    - Download Images: Full Images (Download via API)
    - Image Field Names: (leave empty for auto-detect)
  ```

  Binary data will be available as `$binary.entityimage`, `$binary.crb1b_img`, etc.

  #### Downloading Files

  1. Select **Get** operation
  2. In **Options**, enable **Download Files**
  3. **Auto-detect** (recommended): Leave **File Field Names** empty to automatically detect all file fields using metadata
  4. **Manual specification**: Enter comma-separated field names (e.g., `crb1b_document,attachment`)

  **Example:**
  ```
  Operation: Get
  Table: crb1b_academicprograms
  Record ID: def456...
  Options:
    - Download Files: true
    - File Field Names: (leave empty for auto-detect)
  ```

  Binary data will be available as `$binary.document`, `$binary.attachment`, etc.

  #### How It Works

  - **Metadata-based detection**: The node queries the EntityDefinitions API to identify Virtual attributes that are images (have `_url` and `_timestamp` fields) or files (have `_name` field)
  - **Empty field handling**: Null or empty fields are automatically skipped
  - **Filename preservation**: Original filenames are preserved when available (e.g., from `fieldname_name`)
  - **Binary property naming**: Clean property names are generated (e.g., `crb1b_document` becomes `document`)
  - **Multiple fields**: Download multiple image and file fields from a single record

  #### Technical Details

  - **Images**: Downloaded via PowerApps Image endpoint (`/Image/download.aspx?Full=true`)
  - **Files**: Downloaded via Web API endpoint (`/[entity]([id])/[field]/$value`)
  - **Format**: Binary data is properly formatted for n8n's binary data system
  - **Error handling**: Download failures are logged but don't stop the workflow

  ### Using Custom Authentication

  See the [Custom Authentication section](#option-2-custom-authentication-for-testsandbox-environments) under Credentials for detailed instructions on using custom environment URLs and access tokens.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Microsoft Dataverse Web API Reference](https://docs.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview)
  - [OData Query Options](https://docs.microsoft.com/en-us/power-apps/developer/data-platform/webapi/query-data-web-api)
  - [FetchXML Reference](https://docs.microsoft.com/en-us/power-apps/developer/data-platform/fetchxml/overview)
  - [Authenticate with OAuth](https://docs.microsoft.com/en-us/power-apps/developer/data-platform/authenticate-oauth)

ai_documentation_summary:
  {"purpose":"The MsDataverse node enables n8n workflows to interact with Microsoft Dataverse (Power Platform) by performing CRUD operations on records, executing SQL queries via TDS, and retrieving data using OData or FetchXML queries.","capabilities":["Create records in Dataverse tables","Delete records by ID","Retrieve a single record by ID or alternate key","Retrieve multiple records using OData queries or FetchXML","Update existing records","Execute read-only SQL queries via TDS endpoint","Dynamic table discovery using OData metadata","Field schema viewing with logical names, types, and permissions","Download image and file fields as binary data","Support for alternate keys instead of GUIDs"],"authentication":"OAuth2 via Azure AD app registration (recommended), or custom authentication using a bearer token (for test/sandbox environments without OAuth2 setup)","commonUseCases":["Automating data entry into Power Apps or Dynamics 365 via record creation","Pulling customer or sales data using OData or FetchXML queries","Syncing data between n8n and Power Automate or Power Apps","Testing workflows in sandbox environments using access tokens","Retrieving and processing image or file data stored in Dataverse"],"limitations":["TDS/SQL queries are read-only and do not support INSERT, UPDATE, or DELETE operations","Custom authentication does not support automatic token refresh; tokens expire after 1 hour","Requires proper Azure AD permissions (e.g., user_impersonation) for OAuth2 setup","Limited support for complex nested queries without FetchXML or advanced OData syntax"],"relatedNodes":["Power Automate","Power Apps","Dynamics 365","OData","FetchXML"]}


node_type: n8n-nodes-searxng.Searxng
package_name: n8n-nodes-searxng
display_name: Searxng
description: n8n community node for SearXNG search engine with AI agent support
category: Community
development_style: declarative
version: 0.2.6
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: sammcj
author_github_url: git+https://github.com/sammcj/n8n-nodes-searxng.git
npm_package_name: n8n-nodes-searxng
npm_version: 0.2.6
community_fetched_at: 2026-01-07T20:08:17.720Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-searxng

  This is an n8n community node for integrating with SearXNG. It allows you to perform web searches using SearXNG instances in your n8n workflows.

  [SearXNG](https://github.com/searxng/searxng) is a privacy-respecting, self-hosted metasearch engine that aggregates results from various search services and databases. Users are neither tracked nor profiled.

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

  ## Prerequisites

  - A running SearXNG instance with API access

  ## Installation

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

  ```bash
  pnpm i n8n-nodes-searxng
  ```

  ## Operations

  ### Search

  The node supports performing web searches with the following features:

  - **Query**: Enter your search terms
  - **Categories**: Choose from multiple search categories:
    - General
    - Images
    - News
    - Videos
    - Files
    - IT
    - Maps
    - Music
    - Science
    - Social Media

  ### Additional Options

  - **Language**: Filter results by language (English, German, French, Spanish, Italian, or All Languages)
  - **Time Range**: Filter results by time (Day, Week, Month, Year, or Any Time)
  - **Safe Search**: Set safety level (Off, Moderate, or Strict)
  - **Page Number**: Specify which page of results to retrieve
  - **Format**: Choose output format (JSON, HTML, or RSS)

  ## Credentials

  To use this node, you need to configure credentials for your SearXNG instance:

  1. **API URL**: The URL of your SearXNG instance (e.g., `http://searxng:8080`)
  2. **API Key**: Your SearXNG API key (if required by your instance)

  ## Example Usage

  1. Add the SearXNG node to your workflow
  2. Configure your SearXNG credentials
  3. Set up your search parameters:
     ```json
     {
       "query": "your search terms",
       "categories": ["general"],
       "additionalFields": {
         "language": "en",
         "time_range": "month",
         "safesearch": "1"
       }
     }
     ```

  ## Compatibility

  - Requires Node.js version 18.10 or later but 22.x is recommended

  ## Contributing

  Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  Please make sure to update tests as appropriate.

  ## License

  [Apache 2.0](LICENSE)

  ## Support

  - Create an [issue](https://github.com/sammcj/n8n-nodes-searxng/issues)
  - Review the [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)

  ## Author

  Sam McLeod

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [SearXNG Documentation](https://docs.searxng.org/)
  - [SearXNG API Documentation](https://docs.searxng.org/dev/search_api.html)

ai_documentation_summary:
  {"purpose":"The SearXNG node enables web searches through a self-hosted, privacy-respecting metasearch engine, allowing users to query multiple search sources with customizable filters and retrieve results in various formats.","capabilities":["Perform web searches with customizable query parameters","Filter results by category (e.g., general, images, news, videos, files, IT, maps, music, science, social media)","Filter by language (English, German, French, Spanish, Italian, or All Languages)","Filter by time range (Day, Week, Month, Year, or Any Time)","Set safety level (Off, Moderate, or Strict)","Specify page number for pagination","Choose output format (JSON, HTML, or RSS)"],"authentication":"API key required; credentials include API URL and API key for the SearXNG instance","commonUseCases":["Conduct privacy-conscious searches in automated workflows","Aggregate search results across multiple sources for data enrichment","Retrieve recent or safe-search filtered results for content moderation or research","Integrate with AI agents to generate search-driven insights"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-web","AI Agent nodes"]}


node_type: n8n-nodes-youtube-transcription-kasha.YoutubeTranscriptionKasha
package_name: n8n-nodes-youtube-transcription-kasha
display_name: YoutubeTranscriptionKasha
description: A custom n8n node for fetching YouTube video transcripts using the youtube-transcript library.
category: Community
development_style: declarative
version: 1.0.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: briananderson2793
author_github_url: git+https://github.com/leonardogrig/n8n-nodes-youtube-transcript.git
npm_package_name: n8n-nodes-youtube-transcription-kasha
npm_version: 1.0.1
community_fetched_at: 2026-01-07T20:08:17.720Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # YouTube Transcript Node for n8n

  This is a custom node for n8n that retrieves the transcript of a YouTube video using its video ID. It integrates the functionality provided by the `youtube-transcription` library.

  ## Disclaimers

  This project is intended **solely for local use** and should be utilized for **testing, learning, or educational purposes only**. By using this project, you agree that all usage is entirely at your own risk, and the author holds **no responsibility** for any outcomes, issues, or liabilities resulting from its use.

  It is your responsibility to ensure that your use of this project complies with all applicable laws, regulations, and platform guidelines, including but not limited to YouTube's Terms of Service and Community Guidelines. Use responsibly and ethically.

  ## Features
  - Fetches the transcript of a YouTube video.
  - Outputs the transcript in a structured JSON format, including offset, duration, language, and text.
  - Supports error handling with an option to continue on failure.

  ## Installation
  You can install this node into your n8n instance using the community node feature:

  1. Open your n8n project.
  2. Navigate to **Settings** > **Community Nodes**.
  3. Search for the custom node repository and install it into your project.
  4. Restart your n8n instance if necessary.

  Alternatively, you can clone this repository into your n8n custom nodes folder and build the project.

  ## Node Parameters
  - **Video ID**: The ID of the YouTube video for which you want to fetch the transcript. This parameter is required.

  ## Example Usage
  1. Add the **YouTube Transcript** node to your n8n workflow.
  2. Provide the `Video ID` parameter with the ID of the YouTube video you want to process.
  3. Execute the workflow.

  ### Example Output
  Below is an example of the JSON output:

  ```json
  {
    "youtubeId": "fdsadas3",
    "transcript": [
      {
        "text": "Hey guys, welcome to leonardo grigorio channel",
        "duration": 6.12,
        "offset": 1,
        "lang": "pt"
      },
      {
        "text": "we will be talking a lot on AI development",
        "duration": 6.601,
        "offset": 3.719,
        "lang": "pt"
      },
      {
        "text": "and langchain",
        "duration": 5.12,
        "offset": 7.12,
        "lang": "pt"
      }
    ]
  }
  ```

  ## Acknowledgments
  This node integrates the [`youtube-transcript`](https://github.com/Kakulukian/youtube-transcript) library created by Kakulukian. The library performs the actual job of fetching the transcript from YouTube. Full credit for the transcript functionality belongs to its creator.

  ## License
  This project is licensed under the MIT License. See the LICENSE file for details.

  ---

  Enjoy using the YouTube Transcript Node in your n8n workflows! If you encounter any issues, feel free to contribute or report them in the project's repository.

ai_documentation_summary:
  {"purpose":"A custom n8n node that retrieves the transcript of a YouTube video using its video ID and outputs the transcript in a structured JSON format with details like text, offset, duration, and language.","capabilities":["Fetches transcript from a YouTube video by video ID","Outputs structured JSON with transcript entries including text, offset, duration, and language","Supports error handling with an option to continue on failure"],"authentication":"None required; the node uses the public `youtube-transcript` library to fetch data without authentication.","commonUseCases":["Extracting video transcripts for content analysis","Automating transcription for AI training or processing","Building workflows that analyze spoken content from YouTube videos"],"limitations":["Intended solely for local use and educational purposes only","Use at your own risk; no liability is assumed by the author","Compliance with YouTube's Terms of Service is the user's responsibility","No support for private or restricted videos; functionality depends on YouTube's public availability of transcripts"],"relatedNodes":["n8n-nodes-base.Function","n8n-nodes-base.HttpRequest","n8n-nodes-base.Set","n8n-nodes-base.JSON"]}


node_type: n8n-nodes-tiktok-custom.TiktokCustom
package_name: n8n-nodes-tiktok-custom
display_name: TiktokCustom
category: Community
development_style: declarative
version: 1.0.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: cherry2401
author_github_url: git+https://github.com/yourusername/n8n-nodes-tiktok-custom.git
npm_package_name: n8n-nodes-tiktok-custom
npm_version: 1.0.9
community_fetched_at: 2026-01-07T20:08:17.723Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Custom TikTok nodes for n8n - upload videos, manage products without usage limits. Session-based authentication for free unlimited access.

npm_readme:
  # n8n-nodes-tiktok-custom

  Custom TikTok nodes for n8n - Upload videos, manage products, and more without usage limits!

  ## Features

  - 🎥 **TikTok Upload**: Upload videos with product anchors, captions, and scheduling
  - 🛍️ **TikTok Products**: Manage your TikTok Shop products and showcase
  - 🔒 **Session-based authentication**: Use your own TikTok account without API limits
  - 💰 **Completely FREE**: No credits, no subscriptions, unlimited usage

  ## Installation

  ### Option 1: Via n8n Community Nodes (Recommended - Easiest! ✨)

  1. Open your n8n instance
  2. Go to **Settings** → **Community Nodes**
  3. Click **Install a community node**
  4. Enter: `n8n-nodes-tiktok-custom`
  5. Click **Install**
  6. Restart n8n
  7. Done! The nodes will appear in your node panel

  ### Option 2: Manual Installation (For development)

  #### Prerequisites
  - n8n installed (self-hosted or Docker)
  - Node.js and npm
  - TypeScript compiler

  #### Steps

  1. **Clone or download this repository**
     ```bash
     cd path/to/n8n-nodes-tiktok-custom
     ```

  2. **Install dependencies**
     ```bash
     npm install
     ```

  3. **Build the project**
     ```bash
     npm run build
     ```

  4. **Link to your n8n installation**
     ```bash
     npm link
     ```

  5. **In your n8n directory, link the package**
     ```bash
     cd /path/to/your/n8n
     npm link n8n-nodes-tiktok-custom
     ```

  6. **Restart n8n**
     ```bash
     n8n start
     ```

  ### Option 3: Via npm (Direct)

  ```bash
  cd ~/.n8n
  npm install n8n-nodes-tiktok-custom
  # Restart n8n
  ```

  ## Getting TikTok Session Credentials

  ⚠️ **IMPORTANT**: This package uses session-based authentication from TikTok web. You need to extract cookies from your browser.

  ### How to get your session cookies:

  1. **Login to TikTok**
     - Open https://www.tiktok.com in your browser
     - Login to your account

  2. **Open DevTools**
     - Press `F12` or right-click → Inspect

  3. **Navigate to Cookies**
     - Go to `Application` tab (Chrome) or `Storage` tab (Firefox)
     - Click on `Cookies` → `https://www.tiktok.com`

  4. **Copy the required cookies**:
     - **sessionid** (required)
     - **msToken** (required)
     - **odin_tt** (optional, for some operations)

  5. **In n8n, create TikTok Session credentials**
     - Paste the cookie values
     - Optionally customize User-Agent

  ## ⚠️ CRITICAL: Capturing Real TikTok Endpoints

  **The endpoints in this code are PLACEHOLDERS!** Before using these nodes, you MUST capture the actual TikTok API endpoints using browser DevTools:

  ### How to capture endpoints:

  1. **Open TikTok web** (https://www.tiktok.com)
  2. **Open DevTools** (F12) → Network tab
  3. **Filter by XHR/Fetch** requests
  4. **Perform the action** you want to automate:
     - For upload: Go to upload page, start uploading a video
     - For products: Navigate to your shop/showcase
  5. **Find the API requests** in the Network tab
  6. **Right-click on the request** → Copy as cURL
  7. **Analyze**:
     - URL endpoint
     - Request method (GET, POST, PUT)
     - Headers
     - Request body structure
  8. **Update the code** in the corresponding node file with the real endpoints

  ### Example endpoints to capture:

  - **Upload Video**:
    - Init: `POST /api/v1/web/project/create/`
    - Upload: `PUT <upload_url>`
    - Publish: `POST /api/v1/item/create/`

  - **Get Products**:
    - `GET /api/commerce/v1/creator/products`

  - **Product with Anchor**:
    - `POST /api/v1/item/create/` with `anchors` in body

  ## Usage

  ### TikTok Products Node

  Get a list of products from your showcase:

  ```json
  {
    "operation": "getProducts",
    "count": 10,
    "offset": 0
  }
  ```

  ### TikTok Upload Node

  Upload a video with product anchor:

  ```json
  {
    "videoSource": "binaryData",
    "binaryProperty": "data",
    "caption": "Check out this amazing product!",
    "visibility": 0,
    "allowComment": true,
    "productAnchors": {
      "anchor": [
        {
          "productId": "1234567890",
          "displayName": "My Product"
        }
      ]
    }
  }
  ```

  ## Example Workflow

  Replace your existing `@dlir2404/n8n-nodes-tiktok` workflow with:

  1. **Manual Trigger** or any trigger
  2. **TikTok Products** (Get Products) - Get your products
  3. **HTTP Request** - Download video
  4. **TikTok Upload** - Upload with product anchor

  ## Limitations & Important Notes

  ⚠️ **Session-based limitations**:
  - Cookies expire periodically - you'll need to refresh them
  - TikTok may change their internal API without notice
  - This is an unofficial method - use at your own risk
  - Rate limiting may apply

  ⚠️ **Endpoints**:
  - You MUST capture real endpoints from browser before use
  - The code contains placeholder URLs that won't work without modification

  ## Development

  ### Project Structure

  ```
  n8n-nodes-tiktok-custom/
  ├── credentials/
  │   └── TikTokSession.credentials.ts
  ├── nodes/
  │   └── TikTok/
  │       ├── TikTokUpload.node.ts
  │       └── TikTokProducts.node.ts
  ├── package.json
  ├── tsconfig.json
  └── README.md
  ```

  ### Build

  ```bash
  npm run build
  ```

  ### Watch mode (for development)

  ```bash
  npm run dev
  ```

  ## Troubleshooting

  ### "Authentication failed" error
  - Your session cookies have expired
  - Re-extract cookies from browser and update credentials

  ### "Rate limit exceeded"
  - TikTok is temporarily blocking your requests
  - Wait a few minutes before retrying
  - Consider adding delays between operations

  ### Node doesn't appear in n8n
  - Make sure you ran `npm run build`
  - Verify the link with `npm link` and in n8n directory
  - Restart n8n completely
  - Check n8n logs for errors

  ## Contributing

  This is an educational project to demonstrate how to create custom n8n nodes. Feel free to:
  - Capture and share real TikTok endpoints
  - Add more operations (analytics, account management, etc.)
  - Improve error handling
  - Add tests

  ## License

  MIT

  ## Disclaimer

  This package is for educational purposes. It uses unofficial TikTok web APIs through session authentication. Use responsibly and in accordance with TikTok's Terms of Service.

ai_documentation_summary:
  {"purpose":"The TikTokCustom node allows users to upload videos to TikTok with product anchors and manage products in TikTok Shop using session-based authentication, without API usage limits or subscriptions.","capabilities":["Upload videos with captions, scheduling, and product anchors","Retrieve a list of products from TikTok Shop showcase","Manage products with product-specific anchors in posts","Session-based authentication via browser cookies (sessionid, msToken, odin_tt)"],"authentication":"Session-based authentication using browser cookies (sessionid, msToken, odin_tt). Requires manual extraction from TikTok web browser DevTools.","commonUseCases":["Automating video uploads with product tags and anchors","Fetching product inventory for TikTok Shop integration","Creating product showcases with linked content","Building workflows that combine product data with media uploads"],"limitations":["Cookies expire periodically and must be refreshed","TikTok may change internal API endpoints without notice","Endpoints are placeholders and must be manually captured and updated using browser DevTools","Unofficial and not officially supported by TikTok; use at your own risk","Rate limiting may apply; delays may be required between requests"],"relatedNodes":["HTTP Request","Manual Trigger","Data Transformation"]}


node_type: n8n-nodes-ryze-pixel-sender.RyzePixelSender
package_name: n8n-nodes-ryze-pixel-sender
display_name: RyzePixelSender
category: Community
development_style: declarative
version: 0.1.11
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: ohadcohen
author_github_url: git+https://github.com/ohadcohen11/n8n-nodes-ryze-pixel-sender.git
npm_package_name: n8n-nodes-ryze-pixel-sender
npm_version: 0.1.11
community_fetched_at: 2026-01-07T20:08:17.724Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Custom n8n node for handling deduplication and sending affiliate events to TrafficPoint pixel service

npm_readme:
  # n8n-nodes-ryze-pixel-sender

  [![NPM Version](https://img.shields.io/npm/v/n8n-nodes-ryze-pixel-sender)](https://www.npmjs.com/package/n8n-nodes-ryze-pixel-sender)

  A custom n8n node that handles deduplication and sending affiliate events to TrafficPoint pixel service.

  ## ⚠️ Important: Self-Hosted Only

  **This node requires a self-hosted n8n installation and will NOT work in n8n Cloud** due to the `mysql2` dependency. n8n Cloud does not support community nodes with external dependencies.

  ## Features

  - **Automatic Deduplication**: Checks MySQL database to prevent duplicate event submissions
  - **Batch Processing**: Efficiently processes multiple events in a single execution
  - **Smart Updates**: Detects and resends events with updated amounts or commissions
  - **TrafficPoint Integration**: Direct pixel tracking with proper authentication
  - **Comprehensive Logging**: Detailed execution reports with metrics
  - **Dry Run Mode**: Test mode for validating workflows without sending data

  ## Installation

  ### For Self-Hosted n8n:

  ```bash
  npm install n8n-nodes-ryze-pixel-sender
  ```

  Then restart your n8n instance.

  ### For n8n Docker:

  Add to your Dockerfile or docker-compose.yml:

  ```dockerfile
  RUN npm install -g n8n-nodes-ryze-pixel-sender
  ```

  ## Requirements

  - Self-hosted n8n instance (v1.0.0 or higher)
  - MySQL database (for deduplication tracking)
  - TrafficPoint API access (cookie authentication)

  ## Configuration

  ### Credentials

  1. **MySQL Account**
     - Host: Your MySQL server hostname
     - Port: MySQL port (default: 3306)
     - Database: Database name (default: cms)
     - User: MySQL username
     - Password: MySQL password

  2. **TrafficPoint API**
     - Cookie Header: Full cookie string (e.g., `SES_TOKEN=...; VIEWER_TOKEN=...`)
     - Pixel URL: TrafficPoint endpoint (default: `https://pixel.trafficpointltd.com/scraper`)

  ### Node Parameters

  - **Script ID** (required): Your scraper script ID for tracking
  - **Pixel URL** (optional): Override default TrafficPoint endpoint
  - **Options:**
    - **Dry Run Mode**: Test without sending to pixel or database
    - **Skip Deduplication**: Force send all items
    - **MySQL Database**: Override database name
    - **Verbose Logging**: Enable detailed debug output

  ## Input Schema

  Each input item must contain these exact 9 fields:

  ```json
  {
    "date": "2025-12-07T12:00:00",
    "token": "abc123",
    "event": "sale",
    "trx_id": "brand-sale-abc123",
    "io_id": "545f8472fe0af42e7bbb6903",
    "commission_amount": 100,
    "amount": 500,
    "currency": "USD",
    "parent_api_call": "Empty"
  }
  ```

  ## Output Schema

  The node outputs a comprehensive execution summary:

  ```json
  {
    "execution": {
      "mode": "regular",
      "dry_run": false,
      "script_id": "3000",
      "timestamp": "2025-12-07T15:30:45.123Z",
      "duration_ms": 2341
    },
    "summary": {
      "total_input": 50,
      "new_items": 35,
      "exact_duplicates": 8,
      "updated_items": 7,
      "sent_to_pixel": 42,
      "pixel_success": 40,
      "pixel_failed": 2,
      "db_inserted": 35,
      "db_updated": 5
    },
    "details": {
      "exact_duplicates": [...],
      "updated_items": [...],
      "failed_sends": [...],
      "new_items_sample": [...]
    },
    "metrics": {
      "mysql_check_ms": 120,
      "pixel_send_ms": 2100,
      "db_write_ms": 121
    }
  }
  ```

  ## Database Schema

  The node requires a `scraper_tokens` table:

  ```sql
  CREATE TABLE scraper_tokens (
    id INT AUTO_INCREMENT PRIMARY KEY,
    trx_id VARCHAR(255) UNIQUE NOT NULL,
    amount DECIMAL(10,2) NOT NULL,
    commission_amount DECIMAL(10,2) NOT NULL,
    stream VARCHAR(50) DEFAULT 'scraper',
    created_at DATETIME NOT NULL,
    INDEX idx_trx_id (trx_id),
    INDEX idx_created_at (created_at)
  );
  ```

  ## Deduplication Logic

  The node identifies three types of items:

  1. **New**: `trx_id` doesn't exist in database → Send to pixel
  2. **Exact Duplicate**: `trx_id`, `amount`, and `commission_amount` all match → Skip
  3. **Updated**: `trx_id` exists but `amount` or `commission_amount` changed → Resend

  ## Use Cases

  ### Standard Deduplication
  Process affiliate events and automatically skip duplicates while catching updated commissions.

  ### Corrected Commissions
  Automatically detect and resend events when partner sends commission corrections.

  ### Dry Run Testing
  Test workflow configuration without affecting production data or database.

  ### Re-processing Data
  Use "Skip Deduplication" mode to resend historical data after system outages.

  ## Workflow Example

  Replace this 6-8 node deduplication block:

  ```
  Before:
  Filter → MySQL Check → Merge → Send to Pixel → Merge → IF OK → MySQL Insert → Done

  After:
  Ryze Pixel Sender → Done
  ```

  ## Performance

  - 50 items: ~2-3 seconds
  - 200 items: ~8-10 seconds
  - 500 items: ~20-25 seconds

  ## Troubleshooting

  ### Items sent but not in database
  - Check MySQL connection credentials
  - Verify `scraper_tokens` table exists
  - Check TrafficPoint response status

  ### Too many duplicates detected
  - Verify `trx_id` uniqueness across workflows
  - Check date format ends with `T12:00:00`
  - Review MySQL query performance

  ### TrafficPoint returns errors
  - Verify cookie header is current and valid
  - Check payload format matches specification
  - Confirm `io_id` exists in TrafficPoint system

  ## Support

  For issues and questions:
  - Email: ohad.cohen@ryzebeyond.com
  - GitHub: [Report an issue](https://github.com/ohadcohen11/n8n-nodes-ryze-pixel-sender/issues)

  ## License

  MIT

  ## Version History

  ### v0.1.0 (Initial Release)
  - Basic deduplication with MySQL
  - TrafficPoint pixel integration
  - Dry run mode
  - Comprehensive logging and metrics

ai_documentation_summary:
  {"purpose":"The RyzePixelSender node automates the deduplication and sending of affiliate events to TrafficPoint's pixel service using MySQL for tracking duplicates, supporting batch processing, smart updates for commission changes, and dry run testing.","capabilities":["Automatic deduplication based on trx_id, amount, and commission_amount","Batch processing of multiple affiliate events","Detection and resending of updated commission events","Integration with TrafficPoint pixel via cookie authentication","Dry run mode for testing workflows without data submission","Comprehensive logging with execution metrics and detailed summaries","Flexible configuration with optional overrides for pixel URL and database"],"authentication":"API authentication via cookie header (e.g., SES_TOKEN and VIEWER_TOKEN) for TrafficPoint; MySQL credentials for database access","commonUseCases":["Standard affiliate event deduplication in real-time workflows","Handling commission corrections and updated payouts","Testing workflows in dry run mode before production deployment","Re-processing historical data by skipping deduplication"],"limitations":["Only works in self-hosted n8n installations; incompatible with n8n Cloud due to mysql2 dependency","Requires a pre-existing MySQL database with the scraper_tokens table schema","Strict input schema must be followed; missing or incorrect fields will cause failures","Performance degrades with large datasets (e.g., 500+ items takes ~20-25 seconds)","Dependent on TrafficPoint's cookie validity and payload format"],"relatedNodes":["MySQL nodes","Filter nodes","Merge nodes","HTTP Request nodes"]}


node_type: n8n-nodes-hubstaff2.Hubstaff2
package_name: n8n-nodes-hubstaff2
display_name: Hubstaff2
category: Community
development_style: declarative
version: 0.3.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: prasadsb24
author_github_url: git+https://github.com/your-username/n8n-nodes-hubstaff2.git
npm_package_name: n8n-nodes-hubstaff2
npm_version: 0.3.10
community_fetched_at: 2026-01-07T20:08:17.724Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Powerful Hubstaff API v2 integration for n8n with automatic token refresh, member management, and comprehensive workflow automation

npm_readme:
  # n8n-nodes-hubstaff1

  <div align="center">

  ![npm version](https://img.shields.io/npm/v/n8n-nodes-hubstaff1?style=for-the-badge)
  ![npm downloads](https://img.shields.io/npm/dm/n8n-nodes-hubstaff1?style=for-the-badge)
  ![License](https://img.shields.io/npm/l/n8n-nodes-hubstaff1?style=for-the-badge)

  **Powerful Hubstaff API v2 integration for n8n workflows**

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

  </div>

  ---

  ## 🚀 Features

  ### ✨ Complete Hubstaff API v2 Support
  - **🔐 Secure Authentication**: Automatic token refresh with intelligent caching
  - **👥 User Management**: Get current user info and retrieve users by ID
  - **📁 Project Management**: List, create, and manage projects
  - **✅ Task Management**: Create, update, and retrieve tasks across projects
  - **👤 Member Management**: Get all organization members with email addresses
  - **⏱️ Time Tracking**: Create, update, and retrieve time entries

  ### 🎯 Key Advantages

  - ✅ **Token Caching**: Smart caching system reduces API calls and improves performance
  - ✅ **OpenID Connect**: Uses industry-standard OAuth2 with automatic token refresh
  - ✅ **Error Handling**: Comprehensive error messages for better debugging
  - ✅ **Pagination Support**: Built-in pagination for large datasets
  - ✅ **Type Safety**: Full TypeScript support with proper type definitions

  ## 📦 Installation

  ### Via n8n UI (Recommended)

  1. Open your n8n instance
  2. Go to **Settings** → **Community Nodes**
  3. Search for `n8n-nodes-hubstaff1`
  4. Click **Install**

  ### Via npm

  ```bash
  npm install n8n-nodes-hubstaff1
  ```

  ## 🎬 Quick Start

  ### 1. Get Your Hubstaff Credentials

  1. Visit [Hubstaff Developer Portal](https://developer.hubstaff.com/personal_access_tokens)
  2. Create a **Personal Access Token (Refresh Token)**
  3. Get your **Organization ID** from your Hubstaff account settings

  ### 2. Configure Credentials in n8n

  1. In your n8n workflow, add the **Hubstaff 1** node
  2. Click **Create New Credential**
  3. Enter:
     - **Personal Access Token (Refresh Token)**: Your refresh token from Hubstaff
     - **Organization ID**: Your organization ID (optional but required for some operations)

  ### 3. Use the Node

  Select your resource and operation:
  - **User**: Get current user or get user by ID
  - **Project**: Get all projects, get specific project, or create new project
  - **Task**: Get all tasks, create, or update tasks
  - **Member**: Get all organization members (includes emails!)
  - **Time Entry**: Get, create, or update time entries

  ## 📚 Documentation

  ### Available Resources

  #### 👤 User
  - **Get current user (me)**: Returns authenticated user information
  - **Get User**: Retrieve user details by User ID (includes email)

  #### 📁 Project
  - **Get All Projects**: List all projects in your organization
  - **Get Project**: Retrieve specific project by ID
  - **Create Project**: Create a new project with full parameter support:
    - Basic fields: name, description, billable, client_id, pay_rate, bill_rate
    - Metadata: Custom key-value pairs
    - Members: Add members with roles and rates
    - Budget: Configure budget limits (cost or hours)

  ### 🔄 Dynamic Project Members (`members_payload`)

  When using the **Hubstaff 2** project resource (create or update), you can pass a **dynamic members array** built in previous nodes:

  - **Prepare the array** in a Function node (for example `Prepare Member Payload (Add/Remove)`) as:

  ```javascript
  return {
    ...$json,
    members_payload: [
      {
        user_id: 123,
        role: 'user',
        pay_rate: 1,
        bill_rate: 1,
      },
      {
        user_id: 456,
        role: 'remove',
        pay_rate: null,
        bill_rate: null,
      },
    ],
  };
  ```

  - In the **Hubstaff 2 → Project → Update Project** (or **Create Project**) node you can either:
    - Leave **Additional Fields → Members** empty and the node will automatically read `members_payload` from the incoming item, **or**
    - Set **Additional Fields → Members → Member → memberValues** to the expression `={{ $json.members_payload }}`.

  Internally, the node normalizes this data and sends it to Hubstaff using the dedicated members update handling, so you are no longer limited to a single static member like `{{$json.assignee_mappings[0].hubstaff_user_id}}`.

  #### ✅ Task
  - **Get All Tasks**: List tasks (optionally filtered by project)
  - **Create Task**: Create a new task in a project
  - **Update Task**: Update existing task details

  #### 👥 Member
  - **Get All Members**: List all organization members with:
    - Email addresses
    - Membership roles
    - Project memberships
    - Profile information

  #### ⏱️ Time Entry
  - **Get Time Entries**: Retrieve time entries (with date filters)
  - **Create Time Entry**: Log new time entry
  - **Update Time Entry**: Modify existing time entry

  ### Authentication

  This node uses Hubstaff's Personal Access Token (Refresh Token) system with automatic token exchange. The refresh token is securely cached and automatically exchanged for short-lived access tokens, ensuring reliable authentication without manual token management.

  **Token Features:**
  - ✅ Automatic refresh token exchange
  - ✅ Intelligent caching (tokens cached until expiration)
  - ✅ OpenID Connect discovery endpoint support
  - ✅ Secure token storage

  ## 🔧 Configuration

  ### Required Fields

  - **Personal Access Token (Refresh Token)**: Required for all operations
  - **Organization ID**: Required for:
    - Project operations
    - Task operations (when not using Project ID)
    - Member operations

  ### Optional Fields

  - **Organization ID**: Can be left empty if you only use user-specific operations

  ## 📖 Example Workflows

  ### Get All Members with Emails

  ```yaml
  1. Add Hubstaff 1 node
  2. Select Resource: Member
  3. Select Operation: Get All Members
  4. Enable "Return All" to get complete list
  5. Output includes user.email for each member
  ```

  **Output Example:**
  ```json
  {
    "json": {
      "user_id": 12345,
      "user": {
        "id": 12345,
        "name": "John Doe",
        "email": "john@example.com",
        "first_name": "John",
        "last_name": "Doe"
      },
      "membership_role": "user",
      "effective_role": "project_user"
    }
  }
  ```

  ### Create a Project

  ```yaml
  1. Add Hubstaff 1 node
  2. Select Resource: Project
  3. Select Operation: Create Project
  4. Enter:
     - Project Name: Your project name (required)
     - Description: Project description (optional)
     - Billable: Whether project is billable (default: true)
     - Client ID: Associate with a client (optional)
     - Pay Rate: Default pay rate (optional)
     - Bill Rate: Default bill rate (optional)
  5. Additional Fields (optional):
     - Metadata: Key-value pairs for custom metadata
     - Members: Add members with roles and rates
     - Budget: Set budget type (cost/hours) with limits
  6. Project is created and returned
  ```

  **Available Parameters:**
  - **Required**: Project Name
  - **Basic Fields**: Description, Billable, Client ID, Pay Rate, Bill Rate
  - **Additional Fields**:
    - **Metadata**: Custom key-value pairs
    - **Members**: Array of members with user_id, role (viewer/user/manager), pay_rate, bill_rate
    - **Budget**: 
      - Type: `cost` or `hours`
      - For `cost`: rate, cost limit
      - For `hours`: hours limit

  ### Create a Task

  ```yaml
  1. Add Hubstaff 1 node
  2. Select Resource: Task
  3. Select Operation: Create Task
  4. Enter:
     - Project ID: Your project ID
     - Name: Task name
  5. Task is created and returned
  ```

  ### Get User by ID

  ```yaml
  1. Add Hubstaff 1 node
  2. Select Resource: User
  3. Select Operation: Get User
  4. Enter User ID
  5. Returns user details including email
  ```

  ## 🆚 Why Choose This Package?

  | Feature | n8n-nodes-hubstaff1 | Other Packages |
  |---------|---------------------|----------------|
  | **Token Caching** | ✅ Intelligent caching | ❌ No caching |
  | **OpenID Connect** | ✅ Full OAuth2 support | ❌ Basic auth |
  | **Member Emails** | ✅ Full access | ⚠️ Limited |
  | **Error Messages** | ✅ Detailed & helpful | ⚠️ Basic |
  | **TypeScript** | ✅ Full support | ⚠️ Partial |
  | **Active Maintenance** | ✅ Regularly updated | ⚠️ Varies |
  | **API Coverage** | ✅ Complete v2 API | ⚠️ Partial |
  | **Performance** | ✅ Optimized | ⚠️ Standard |

  ## 🐛 Troubleshooting

  ### 401 Invalid Token Error
  - **Solution**: Ensure your Personal Access Token (Refresh Token) is valid and not expired
  - The node automatically handles token refresh, but the refresh token itself must be valid

  ### 404 Not Found Error
  - **Solution**: Make sure Organization ID is configured in credentials for:
    - Project operations
    - Task operations (when Project ID is not provided)
    - Member operations

  ### Missing Email in Member Response
  - **Note**: Email addresses are only visible to organization owners and managers
  - Ensure your account has appropriate permissions

  ## 📊 API Coverage

  This package provides comprehensive coverage of the Hubstaff API v2:

  - ✅ **Users**: Current user info, user lookup by ID
  - ✅ **Projects**: List, retrieve, create projects
  - ✅ **Tasks**: Full CRUD operations
  - ✅ **Members**: Complete member management with profile data
  - ✅ **Time Entries**: Create, read, update time tracking data

  ## 📝 License

  MIT License - feel free to use in your projects!

  ## 🙏 Acknowledgments

  Built with ❤️ for the n8n community. Special thanks to Hubstaff for providing a robust API.

  ## 🤝 Contributing

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

  ## 🔗 Links

  - [Hubstaff API Documentation](https://developer.hubstaff.com/)
  - [Hubstaff Developer Portal](https://developer.hubstaff.com/personal_access_tokens)
  - [n8n Documentation](https://docs.n8n.io/)
  - [n8n Community Nodes Guide](https://docs.n8n.io/integrations/community-nodes/)
  - [Report Issues](https://github.com/your-repo/n8n-nodes-hubstaff1/issues)

  ## 📋 Requirements

  - n8n version 0.150.0 or higher
  - Hubstaff account with API access
  - Personal Access Token (Refresh Token) from Hubstaff

  ## 🔄 Changelog

  ### v0.2.1
  - ➕ Added Create Project operation with full parameter support
  - 📝 Added support for metadata, members, budget, and all API parameters
  - 🔧 Enhanced project creation with client_id, pay_rate, bill_rate fields

  ### v0.2.0
  - ✨ Added professional icon
  - 📚 Enhanced README with comprehensive documentation
  - 🎨 Improved marketing and discoverability
  - 🔧 Better package metadata

  ### v0.1.8
  - ✅ Added Get User by ID operation
  - 🔧 Fixed user operations to match API v2

  ### v0.1.7
  - 👥 Added Member resource with Get All Members operation
  - 📧 Member responses include email addresses

  ### v0.1.6
  - 🔐 Implemented token caching for better performance
  - 🌐 Added OpenID Connect discovery support
  - 🐛 Fixed 404 errors with proper endpoint structure

  ## ⭐ Support

  If you find this package useful, please consider giving it a star on GitHub!

  ## 💡 Tips

  - **Organization ID**: You can find your Organization ID by using the Organization → Get All operation (if available) or in your Hubstaff account settings
  - **Token Refresh**: The node automatically handles token refresh - no manual intervention needed
  - **Pagination**: Use "Return All" for complete datasets, or set a limit for faster responses
  - **Member Emails**: Email addresses are only visible to organization owners and managers

  ---

  <div align="center">

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

  [Install Now](#-installation) • [Documentation](#-documentation) • [Report Issue](https://github.com/your-repo/n8n-nodes-hubstaff1/issues)

  </div>

ai_documentation_summary:
  {"purpose":"The Hubstaff2 node provides a comprehensive integration with Hubstaff API v2, enabling automation of user, project, task, member, and time entry management within n8n workflows with secure authentication and automatic token refresh.","capabilities":["Retrieve current user or user by ID","List, create, and manage projects with metadata, members, and budget settings","Create, update, and retrieve tasks across projects","Get all organization members with email addresses and roles","Create, retrieve, and update time entries with date filtering","Dynamic member management via `members_payload` in project operations"],"authentication":"API key required: Personal Access Token (Refresh Token) with automatic token refresh and caching via OpenID Connect. Organization ID is required for most operations.","commonUseCases":["Automatically fetching team member details with emails for HR or onboarding workflows","Creating and managing projects with assigned members and billing rates","Logging time entries based on scheduled tasks or project milestones","Updating task assignments or statuses in response to workflow triggers","Syncing project data across systems using paginated API calls"],"limitations":[],"relatedNodes":["Function node (for preparing dynamic payloads like members_payload)","n8n-nodes-base (for general workflow logic and data transformation)"]}


node_type: n8n-nodes-zalo-stephen.ZaloStephen
package_name: n8n-nodes-zalo-stephen
display_name: ZaloStephen
description: Các node hỗ trợ Zalo cho n8n
category: Community
development_style: declarative
version: 0.9.19
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: pmtuan0206
author_github_url: git+https://github.com/stephenpham68/n8n-nodes-zalo.git
npm_package_name: n8n-nodes-zalo-stephen
npm_version: 0.9.19
community_fetched_at: 2026-01-07T20:08:17.724Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-zalo

  A comprehensive n8n community node package for automating Zalo (Vietnamese messaging platform) workflows. This package enables seamless integration between n8n and Zalo, allowing you to automate messaging, group management, user interactions, and more—all within your own n8n instance with complete data privacy and security.

  ## 🔑 Key Features

  - **🔐 Secure Cookie-Based Authentication** - Login using JSON cookies with IMEI for secure authentication
  - **💬 Message Automation** - Send messages to users or groups programmatically
  - **👥 Group Management** - Full control over Zalo groups (create, manage members, change settings)
  - **👤 User Management** - Manage friends, block/unblock users, search users
  - **📊 Poll Management** - Create and manage polls in groups
  - **🏷️ Tag Management** - Organize contacts with tags
  - **⚡ Real-time Triggers** - Listen to incoming messages and friend requests
  - **🔒 Privacy-First** - All operations run within your n8n instance, no third-party API dependencies
  - **🌐 Proxy Support** - Optional proxy configuration for international VPS deployments

  ## 📦 Available Nodes

  ### 1. **Zalo Login** 🔐
  Authenticate with Zalo using Cookie JSON and IMEI.

  **Features:**
  - Cookie JSON-based authentication
  - Automatic credential creation via n8n API
  - Proxy support for international IPs
  - IP location detection with recommendations

  ### 2. **Zalo Send Message** 💬
  Send messages to Zalo users or groups.

  **Features:**
  - Send text messages to users or groups
  - Support for message urgency levels (Default, Important, Urgent)
  - Quote/reply to existing messages
  - File attachments support

  ### 3. **Zalo Message Trigger** 📨
  Real-time webhook trigger for incoming Zalo messages.

  **Event Types:**
  - User messages
  - Group messages
  - Self-message listening (optional)

  ### 4. **Zalo Group** 👥
  Complete group management operations.

  **Operations:**
  - `createGroup` - Create a new group
  - `getGroupInfo` - Get group information
  - `getAllGroups` - List all groups
  - `getGroupMembers` - Get group member list
  - `addUserToGroup` - Add members to group
  - `removeUserFromGroup` - Remove members from group
  - `addGroupDeputy` - Add group deputy/admin
  - `changeGroupName` - Change group name
  - `changeGroupAvatar` - Change group avatar
  - `createNote` - Create notes in group

  ### 5. **Zalo User** 👤
  Manage user profiles and friend relationships.

  **Operations:**
  - `getUserInfo` - Get user information
  - `getAllFriends` - Get all friends list
  - `findUser` - Search users by phone number
  - `sendFriendRequest` - Send friend request
  - `acceptFriendRequest` - Accept friend request
  - `blockUser` - Block a user
  - `unblockUser` - Unblock a user
  - `changeAccountSetting` - Change account settings
  - `changeAliasName` - Change friend alias name

  ### 6. **Zalo Poll** 📊
  Create and manage polls in groups.

  **Operations:**
  - `createPoll` - Create a new poll
  - `getPollInfo` - Get poll information
  - `getPollVoters` - Get poll voters list
  - `votePoll` - Vote on a poll
  - `closePoll` - Close a poll

  ### 7. **Zalo Tag** 🏷️
  Organize contacts with tags.

  **Operations:**
  - Create, update, and manage contact tags

  ### 8. **Zalo Friend Trigger** 👥
  Webhook trigger for friend request events.

  **Events:**
  - New friend requests
  - Friend request accepted

  ## 🚀 Installation

  ### Community Nodes (Recommended)

  For n8n v0.187+ users, you can install this package directly from the Community Nodes panel:

  1. Open your n8n editor
  2. Go to **Settings > Community Nodes**
  3. Search for `n8n-nodes-zalo-stephen`
  4. Click **Install**
  5. Reload the n8n editor

  ### Manual Installation

  You can also install this package manually:

  ```bash
  cd YOUR_N8N_INSTALLATION_DIRECTORY
  npm install n8n-nodes-zalo-stephen
  ```

  **Note:** There's also an **Update** button available within Community Nodes for easy updates.

  ## 📖 Login Guide - Cookie JSON Authentication

  This package uses **Cookie JSON** authentication with **IMEI** (required). The IMEI must be retrieved from browser `localStorage`, not from cookies. Follow these detailed steps to get your credentials.

  ### ⚠️ Important: Understanding IMEI

  **IMEI is Required and Must be Provided Manually**

  - IMEI is stored in browser `localStorage` with key `z_uuid`
  - IMEI is **NOT** stored in cookies
  - You must retrieve IMEI separately from cookies
  - IMEI is mandatory for authentication

  ### Method 1: Using Zalo Cookies Extension (Recommended) ⭐

  The easiest way to get both Cookies and IMEI.

  #### Step 1: Install Zalo Cookies Extension

  1. Open Chrome Web Store: [Zalo Cookies Extension](https://chromewebstore.google.com/detail/zalo-cookies/ncieaodaagbiemjpallkhhelkjkbkpmj)
  2. Click **Add to Chrome** to install
  3. Pin the extension to your toolbar for easy access

  #### Step 2: Login to Zalo Web

  1. Open [Zalo Web](https://chat.zalo.me) in your browser
  2. Login with your Zalo account credentials
  3. Wait until you're fully logged in (you should see your chat list)

  #### Step 3: Extract Cookies and IMEI

  1. Click the **Zalo Cookies** extension icon in your browser toolbar
  2. The extension will automatically display:
     - **Cookies JSON** - A JSON array in a text area
     - **IMEI** - A separate field showing the `z_uuid` value
  3. **Copy both values**:
     - Click **Copy** button next to Cookies JSON (or select all and copy)
     - Copy the IMEI value

  **What the extension shows:**
  ```
  ┌─────────────────────────────────────┐
  │  Zalo Cookies Extension            │
  ├─────────────────────────────────────┤
  │  Cookies JSON:                      │
  │  [{"name":"...","value":"..."},...] │
  │  [Copy Button]                      │
  ├─────────────────────────────────────┤
  │  IMEI:                              │
  │  abc123xyz789...                    │
  │  [Copy Button]                      │
  └─────────────────────────────────────┘
  ```

  ### Method 2: Using Cookie Editor Extension (Alternative)

  If you prefer Cookie Editor or Zalo Cookies Extension is not available:

  #### Step 1: Install Cookie Editor Extension

  1. Install [Cookie Editor Extension](https://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm)
  2. Login to [Zalo Web](https://chat.zalo.me)

  #### Step 2: Export Cookies

  1. Click the **Cookie Editor** extension icon
  2. Navigate to **Export** tab
  3. Select format: **JSON**
  4. Copy the exported JSON array

  #### Step 3: Get IMEI from Browser Console

  **Important:** IMEI must be retrieved separately from `localStorage`!

  1. On the Zalo Web page, press `F12` (or right-click → Inspect) to open Developer Tools
  2. Click the **Console** tab
  3. Type or paste this command and press Enter:
     ```javascript
     localStorage.getItem('z_uuid')
     ```
  4. The console will display a string value like: `"abc123xyz789..."`
  5. Copy this value - **this is your IMEI**

  **Console Example:**
  ```javascript
  > localStorage.getItem('z_uuid')
  < "550e8400-e29b-41d4-a716-446655440000"
  ```

  ### Method 3: Manual Export (Advanced Users)

  For users who want complete control:

  #### Step 1: Export Cookies Manually

  1. Open Zalo Web and login
  2. Press `F12` → Go to **Application** tab (Chrome) or **Storage** tab (Firefox)
  3. In the left sidebar: **Cookies** → `https://chat.zalo.me`
  4. Select all cookies visible in the list
  5. Manually format as JSON array:
     ```json
     [
       {
         "name": "cookie_name_1",
         "value": "cookie_value_1",
         "domain": ".zalo.me",
         "path": "/"
       },
       {
         "name": "cookie_name_2",
         "value": "cookie_value_2",
         "domain": "chat.zalo.me",
         "path": "/"
       }
     ]
     ```

  #### Step 2: Get IMEI from Console

  Follow the same steps as Method 2, Step 3 above.

  ### Step 4: Configure the Login Node in n8n

  Now that you have both Cookies JSON and IMEI, configure the Zalo Login node:

  #### Basic Configuration

  1. **Add Zalo Login Node** to your workflow
  2. **Fill in required fields:**
     - **Cookie JSON**: Paste the entire cookies JSON array you copied
     - **IMEI**: Paste the IMEI value (the `z_uuid` from localStorage)
     - **User Agent**: Leave empty (will be extracted automatically) OR paste from browser DevTools
     - **Proxy**: Leave empty unless using international VPS

  **Node Configuration Example:**
  ```
  ┌─────────────────────────────────────┐
  │  Zalo Login                        │
  ├─────────────────────────────────────┤
  │  Cookie JSON:                       │
  │  [{"name":"c_user","value":"123"}   │
  │   ,{"name":"xs","value":"abc"}]     │
  │                                     │
  │  IMEI:                              │
  │  550e8400-e29b-41d4-a716-...        │
  │                                     │
  │  User Agent: (optional)             │
  │  [empty - auto extract]             │
  │                                     │
  │  Proxy: (optional)                  │
  │  [empty]                            │
  └─────────────────────────────────────┘
  ```

  #### Advanced: Auto Credential Creation

  Enable automatic credential creation via n8n API:

  1. **Enable Auto Create Credential**: Toggle ON
  2. **Set Credential Name**: Default is "Zalo API Credentials"
  3. **Configure n8n Account Credential**:
     - **URL**: Your n8n instance URL (default: `http://localhost:5678`)
     - **API Key**: Found in n8n Settings → API → Generate API Key
  4. **Execute the node** - Credentials will be created automatically!

  **Note:** If auto-creation fails, the node output will show manual creation instructions with all required values.

  ### 📋 Cookie JSON Format Reference

  Your Cookie JSON must follow this exact format:

  ```json
  [
    {
      "name": "cookie_name_1",
      "value": "cookie_value_1",
      "domain": ".zalo.me",
      "path": "/"
    },
    {
      "name": "cookie_name_2",
      "value": "cookie_value_2",
      "domain": "chat.zalo.me",
      "path": "/"
    }
  ]
  ```

  **Format Requirements:**
  - Must be a valid JSON **array** (starts with `[` and ends with `]`)
  - Each cookie is an **object** with `name`, `value`, `domain`, and `path`
  - Domain should be `.zalo.me` or `chat.zalo.me`
  - Path is typically `/`
  - All cookies should be from the same Zalo session

  ### ✅ Quick Reference Checklist

  Before executing the Login node, ensure you have:

  - [ ] **Cookie JSON**: Valid JSON array with all cookies from Zalo Web session
  - [ ] **IMEI**: Copied from `localStorage.getItem('z_uuid')` (required!)
  - [ ] Cookies exported while **actively logged in** to Zalo Web
  - [ ] All cookies have domain `.zalo.me` or `chat.zalo.me`
  - [ ] (Optional) User Agent - can be auto-extracted
  - [ ] (Optional) Proxy - only if VPS has non-Vietnamese IP

  ### ⚠️ Important Notes & Troubleshooting

  #### IMEI Requirements
  - ✅ **IMEI is MANDATORY** - Login will fail without it
  - ✅ IMEI is stored in `localStorage`, **NOT in cookies**
  - ✅ Use `localStorage.getItem('z_uuid')` in browser console
  - ❌ Don't try to extract IMEI from cookie values

  #### Cookie Requirements
  - ✅ Export cookies **while you're logged in** (active session)
  - ✅ Cookies must include all session cookies (typically 10-20 cookies)
  - ✅ Domain must be `.zalo.me` or `chat.zalo.me`
  - ❌ Expired cookies will cause authentication failure
  - ❌ Missing important cookies (like session tokens) will fail

  #### Common Errors and Solutions

  **Error: "Missing required params: IMEI"**
  - **Solution**: Make sure you copied the IMEI from `localStorage.getItem('z_uuid')`, not from cookies

  **Error: "Cookie validation failed"**
  - **Solution**: Re-export cookies while actively logged in to Zalo Web. Ensure all cookies are included.

  **Error: "Login failed: Missing required params"**
  - **Solution**: Check that Cookie JSON is a valid JSON array format, and IMEI is not empty

  **Login works but messages fail**
  - **Solution**: Cookies may be expired. Re-export fresh cookies and update credentials.

  #### Proxy Configuration

  **When to use Proxy:**
  - Your VPS/server is located outside Vietnam
  - Zalo requires additional verification for non-Vietnamese IPs
  - You're experiencing connection timeouts

  **Proxy Format:**
  ```
  https://username:password@proxy-host:port
  ```

  **Example:**
  ```
  https://user:pass123@vietnam-proxy.example.com:8080
  ```

  The Login node will detect your IP location and recommend proxy usage if needed.

  ## 🔄 Common Workflows

  ### Workflow 1: Auto-Reply to Messages

  ```
  Zalo Message Trigger → Function (Process Message) → Zalo Send Message
  ```

  **Use Case:** Automatically reply to incoming messages with predefined responses.

  ### Workflow 2: Group Member Management

  ```
  Schedule Trigger → Zalo Group (getGroupMembers) → Process Data → Zalo Group (addUserToGroup/removeUserFromGroup)
  ```

  **Use Case:** Automatically manage group members based on conditions.

  ### Workflow 3: Message Forwarding

  ```
  Zalo Message Trigger → Filter (Check Conditions) → Zalo Send Message (Forward to Another User/Group)
  ```

  **Use Case:** Forward messages from one user/group to another.

  ### Workflow 4: Friend Request Automation

  ```
  Zalo Friend Trigger → Function (Check User Info) → Zalo User (acceptFriendRequest)
  ```

  **Use Case:** Automatically accept friend requests based on criteria.

  ### Workflow 5: Poll Management

  ```
  Schedule Trigger → Zalo Poll (createPoll) → Zalo Send Message (Notify Group)
  ```

  **Use Case:** Create and manage polls on a schedule.

  ### Workflow 6: Bulk Message Sending

  ```
  Google Sheets (Get Contacts) → Loop → Zalo Send Message
  ```

  **Use Case:** Send messages to multiple contacts from a spreadsheet.

  ## ⚠️ Warning and Disclaimer

  **Please read this carefully before using the Zalo nodes:**

  ⚠️ **Important Disclaimer:** The use of this library may violate Zalo's Terms of Service. Using automation tools with Zalo could result in your account being disabled or banned. **We are not responsible for any consequences** that may arise from using this package. Please use at your own risk and discretion.

  ## 🙏 Credits

  We would like to extend our gratitude to:
  - **[ZCA-JS](https://github.com/zalo-js/zca-js)** - The underlying library that makes Zalo automation possible

  ## 📝 License

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

  ## 👨‍💻 Author

  - **Stephen** - [GitHub](https://github.com/stephenpham68)

  ## 🤝 Contributing

  Contributions, issues, and feature requests are welcome! Feel free to check the [GitHub repository](https://github.com/stephenpham68/n8n-nodes-zalo).

  ---

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

ai_documentation_summary:
  {"purpose":"The ZaloStephen node package enables seamless automation of Zalo (Vietnamese messaging platform) workflows within n8n, supporting message sending, group and user management, poll creation, tagging, and real-time triggers—all with secure, privacy-first, cookie-based authentication.","capabilities":["Send text messages to users or groups with urgency levels (Default, Important, Urgent)","Quote or reply to existing messages and attach files","Create, manage, and modify Zalo groups (including members, name, avatar, deputies, notes)","Manage users (search, block/unblock, send/accept friend requests, change alias)","Create and manage polls in groups (create, vote, get voters, close poll)","Organize contacts using tags","Listen to real-time incoming messages and friend requests via webhooks","Authenticate using secure cookie JSON and IMEI (stored in browser localStorage)"],"authentication":"Cookie JSON-based authentication with mandatory IMEI (stored in browser localStorage under key 'z_uuid')","commonUseCases":["Automating customer support messages in Zalo groups","Managing user lists and friend requests in bulk","Creating interactive polls for group engagement","Setting up real-time message triggers for automated responses","Organizing contacts with tags for better segmentation"],"limitations":["IMEI must be manually retrieved from browser localStorage and is not stored in cookies","Requires manual setup of cookies and IMEI via browser extensions (no automated credential generation)","No OAuth2 or password-based login support","Limited to users with access to Zalo web interface and browser-based cookie extraction"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.trigger","n8n-nodes-base.httpRequest"]}


