# nodes

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

updated_at: 2026-03-25 21:19:40
author_name: kylasdevops
author_github_url: https://github.com/kylastech/
npm_package_name: n8n-nodes-kylas
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:40.993Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Company",
          "value": "company"
        },
        {
          "name": "Lead",
          "value": "lead"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a user",
          "description": "Get the data of a single user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search companies",
          "description": "Search companies"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search leads",
          "description": "Search leads"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a lead",
          "description": "Get the data of a single lead"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new lead",
          "description": "Create a new lead"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a lead",
          "description": "Update an existing lead"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "lead"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"get","name":"Get","description":"Get the data of a single user","resource":"user"},{"operation":"search","name":"Search","description":"Search companies","resource":"company"},{"operation":"search","name":"Search","description":"Search leads","resource":"lead"},{"operation":"get","name":"Get","description":"Get the data of a single lead","resource":"lead"},{"operation":"create","name":"Create","description":"Create a new lead","resource":"lead"},{"operation":"update","name":"Update","description":"Update an existing lead","resource":"lead"}]

npm_readme:
  # n8n-nodes-kylas

  This is an n8n community node that lets you use Kylas CRM in your n8n workflows.

  Kylas is a comprehensive sales CRM platform designed for growing businesses. It provides lead management, sales automation, contact management, and pipeline tracking capabilities to help sales teams streamline their processes and increase productivity.

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

  ## Table of Contents

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Advanced Features](#advanced-features)
  - [Examples](#examples)
  - [Troubleshooting](#troubleshooting)
  - [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.

  ### Manual Installation

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-kylas`
  4. Agree to the risks of using community nodes
  5. Select **Install**

  After installation restart n8n to register the community node.

  ## Operations

  The Kylas node supports the following operations:

  ### User
  - **Get**: Retrieve user information by ID

  ### Company
  - **Get All**: Retrieve all companies with advanced filtering options
    - Support for field-based filtering
    - JSON rule-based filtering with operators (equal, contains, etc.)
    - Pagination support

  ### Lead
  - **Create**: Create a new lead with custom fields support
  - **Get**: Retrieve lead information by ID
  - **Update**: Update existing lead information
  - **Search**: Search for leads using various criteria
  - **Custom Fields**: Full support for dynamic custom fields with type validation

  ## Credentials

  To use this node, you need to authenticate with Kylas using an API key.

  ### Prerequisites

  1. You must have a Kylas CRM account
  2. You need to generate an API key from your Kylas account

  ### Setting up Authentication

  1. Log in to your Kylas CRM account
  2. Navigate to your account settings or API section
  3. Generate a new API key
  4. In n8n, create new credentials for "Kylas API"
  5. Enter your API key in the credentials configuration

  ### Authentication Method

  The node uses API key authentication via the `api-key` header. The credentials are automatically applied to all requests to the Kylas API.

  ## Compatibility

  - **Minimum n8n version**: 0.198.0
  - **Node API version**: 1
  - **Tested with n8n versions**: 0.198.0+

  This node follows n8n's latest development standards and should be compatible with all recent versions of n8n.

  ## Usage

  ### Basic Lead Creation

  1. Add the Kylas node to your workflow
  2. Select "Lead" as the resource
  3. Choose "Create" as the operation
  4. Fill in the required lead information
  5. Optionally configure custom fields

  ### Company Filtering

  The company "Get All" operation supports advanced filtering:

  - **Simple filtering**: Use the fields array to specify which fields to return
  - **Advanced filtering**: Use JSON rules with conditions like:
    - `equal`: Exact match
    - `contains`: Partial match
    - Support for multiple field types (text, number, date, etc.)

  ### Custom Fields

  The node provides dynamic custom field support for leads:

  - Custom fields are automatically loaded from your Kylas instance
  - Field types are validated (TEXT_FIELD, NUMBER, DATE, etc.)
  - Required fields are clearly marked
  - Supports various field types including text, numbers, dates, and more

  ## Advanced Features

  ### Dynamic Custom Fields Loading

  The Kylas node automatically fetches and validates custom fields from your Kylas instance:

  - **Real-time field loading**: Custom fields are loaded directly from the Kylas API
  - **Type validation**: Each field type is validated according to Kylas specifications
  - **Required field handling**: Required fields are clearly marked and validated
  - **Supported field types**:
    - TEXT_FIELD: Single-line text input
    - NUMBER: Numeric values
    - DATE: Date fields with proper formatting
    - EMAIL: Email address validation
    - PHONE: Phone number fields
    - URL: Website URL fields
    - And more...

  ### Company Filtering System

  Advanced filtering capabilities for company data retrieval:

  ```json
  {
    "fields": ["name", "email", "phone"],
    "jsonRule": {
      "condition": "AND",
      "rules": [
        {
          "field": "name",
          "operator": "contains",
          "value": "Tech"
        },
        {
          "field": "status",
          "operator": "equal",
          "value": "Active"
        }
      ]
    }
  }
  ```

  ### Error Handling and Validation

  - Comprehensive error handling for API responses
  - Field type validation before submission
  - Duplicate field prevention
  - Clear error messages for troubleshooting

  ## Examples

  ### Example 1: Create a Lead with Custom Fields

  ```json
  {
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com",
    "phone": "+1234567890",
    "customFields": {
      "companyName": "Tech Corp",
      "leadSource": "Website",
      "budget": 50000
    }
  }
  ```

  ### Example 2: Filter Companies

  ```json
  {
    "fields": ["name", "email", "industry"],
    "jsonRule": {
      "condition": "OR",
      "rules": [
        {
          "field": "industry",
          "operator": "equal",
          "value": "Technology"
        },
        {
          "field": "revenue",
          "operator": "greaterThan",
          "value": 1000000
        }
      ]
    }
  }
  ```

  ### Example 3: Search Leads

  ```json
  {
    "searchTerm": "john@example.com",
    "filters": {
      "status": "New",
      "source": "Website"
    }
  }
  ```

  ## Troubleshooting

  ### Common Issues

  1. **Authentication Errors**
     - Verify your API key is correct
     - Check that your Kylas account has API access enabled
     - Ensure the API key hasn't expired

  2. **Custom Fields Not Loading**
     - Verify you have permission to access custom fields
     - Check that custom fields are active in your Kylas instance
     - Try refreshing the node configuration

  3. **Validation Errors**
     - Ensure required fields are provided
     - Check field types match expected formats
     - Verify field names are correct

  4. **Rate Limiting**
     - Kylas API has rate limits; implement delays between requests if needed
     - Use pagination for large data sets

  ### Debug Tips

  - Enable debug mode in n8n to see detailed API requests and responses
  - Check the Kylas API documentation for field requirements
  - Use the test functionality to verify credentials before running workflows

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Kylas CRM Official Website](https://kylas.io/)
  - [Kylas API Documentation](https://www.postman.com/ss0225/test/collection/yikzmca/kylas-apis-public)
  - [Kylas Help Center](https://support.kylas.io/portal/en/home)
  - [n8n Documentation](https://docs.n8n.io/)

  ## Version History

  ### v0.1.0 (Current)

  **Initial Release**
  - User operations: Get
  - Company operations: Get All with advanced filtering
  - Lead operations: Create, Get, Update, Search
  - Dynamic custom fields support for leads
  - Comprehensive error handling and validation
  - Support for JSON-based filtering rules
  - Field type validation and required field handling

  **Features:**
  - API key authentication
  - Real-time custom field loading
  - Advanced company filtering with JSON rules
  - Lead management with custom fields
  - User management operations
  - Comprehensive error handling

  **Compatibility:**
  - n8n version 0.198.0+
  - Kylas API v1

  ---

  ## Contributing

  This is a community-maintained node. If you encounter issues or have suggestions for improvements, please feel free to contribute or report issues.

  ## License

  MIT License - see the LICENSE file for details.

ai_documentation_summary:
  {"purpose":"A community n8n node that enables interaction with the Kylas CRM API for managing leads, companies, and users within automated workflows.","capabilities":["Create new leads with custom fields","Retrieve lead information by ID","Update existing lead information","Search for leads using various criteria","Retrieve all companies with advanced filtering","Retrieve user information by ID","Dynamic custom field support with type validation","JSON rule-based filtering for companies","Pagination support for company retrieval"],"authentication":"API key required (via 'api-key' header)","commonUseCases":["Automating lead creation from web forms","Syncing company data between Kylas and other systems","Filtering and searching leads based on custom criteria","Integrating CRM data into marketing automation workflows"],"limitations":["Community node (requires manual installation and risk acceptance)","Requires a Kylas CRM account with API access enabled","Requires n8n version 0.198.0 or higher"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.webhook"]}


node_type: n8n-nodes-tubelab.tubeLab
package_name: n8n-nodes-tubelab
display_name: TubeLab
description: Get trending YouTube channels and outlier videos data for any niche.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: antoniojps
author_github_url: https://github.com/antoniojps/
npm_package_name: n8n-nodes-tubelab
npm_version: 0.4.7
community_fetched_at: 2026-03-25T21:19:40.996Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search"
        },
        {
          "name": "Channel",
          "value": "channel"
        },
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "Scan",
          "value": "scan"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "searchOutliers",
      "options": [
        {
          "name": "Search Channels",
          "value": "searchChannels",
          "action": "Search for channels",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "hits"
                  }
                }
              ]
            },
            "request": {
              "url": "/v1/search/channels",
              "method": "GET"
            }
          },
          "description": "Search for channels directly from the YouTube Niche Finder with AI enhanced data and 30+ filters. Updated in real-time, 24/7."
        },
        {
          "name": "Search Similar Channels",
          "value": "searchChannelsRelated",
          "action": "Search for similar channels",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "hits"
                  }
                }
              ]
            },
            "request": {
              "url": "/v1/search/channels/related",
              "method": "GET"
            }
          },
          "description": "Search for YouTube channels with related content to another channel"
        },
        {
          "name": "Search Outliers",
          "value": "searchOutliers",
          "action": "Search for outliers",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "hits"
                  }
                }
              ]
            },
            "request": {
              "url": "/v1/search/outliers",
              "method": "GET"
            }
          },
          "description": "Search for videos directly from the TubeLab Outliers library with AI enhanced data and 30+ filters. Updated in real-time, 24/7."
        },
        {
          "name": "Search Similar Outliers",
          "value": "searchOutliersRelated",
          "action": "Search for similar outliers",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "hits"
                  }
                }
              ]
            },
            "request": {
              "url": "/v1/search/outliers/related",
              "method": "GET"
            }
          },
          "description": "Search for YouTube outliers with related content to another outlier(s)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "postScan",
      "options": [
        {
          "name": "Start a Scan",
          "value": "postScan",
          "action": "Start a scan",
          "routing": {
            "request": {
              "url": "/v1/scan",
              "method": "POST"
            }
          },
          "description": "Start a TubeLab scan to search for fresh outliers and channels on any given topic"
        },
        {
          "name": "Get Scan",
          "value": "getScan",
          "action": "Get a scan",
          "routing": {
            "request": {
              "url": "=/v1/scan/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Get the status of a scan and used inputs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scan"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getVideoTranscript",
      "options": [
        {
          "name": "Details",
          "value": "getVideoDetails",
          "action": "Get details",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "items"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v1/video/{{$parameter[\"videoId\"]}}",
              "method": "GET"
            }
          },
          "description": "Fetch the details of a video"
        },
        {
          "name": "Transcript",
          "value": "getVideoTranscript",
          "action": "Get transcript",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "items"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v1/video/transcript/{{$parameter[\"videoId\"]}}",
              "method": "GET"
            }
          },
          "description": "Fetches the transcript of a video including timestamps"
        },
        {
          "name": "Comments",
          "value": "getVideoComments",
          "action": "Get comments",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "items"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v1/video/comments/{{$parameter[\"videoId\"]}}",
              "method": "GET"
            }
          },
          "description": "Fetch the first 100 comments of a video"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getChannelVideos",
      "options": [
        {
          "name": "Get Videos",
          "value": "getChannelVideos",
          "action": "Get videos",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "item"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v1/channel/videos/{{$parameter[\"channelId\"]}}",
              "method": "GET"
            }
          },
          "description": "Fetch the videos of a channel and relevant metrics"
        },
        {
          "name": "Get Shorts",
          "value": "getChannelShorts",
          "action": "Get shorts",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "item"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v1/channel/shorts/{{$parameter[\"channelId\"]}}",
              "method": "GET"
            }
          },
          "description": "Fetches the shorts of a channel and relevant metrics"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "channel"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"searchChannels","name":"Search Channels","description":"Search for channels directly from the YouTube Niche Finder with AI enhanced data and 30+ filters. Updated in real-time, 24/7.","resource":"search"},{"operation":"searchChannelsRelated","name":"Search Similar Channels","description":"Search for YouTube channels with related content to another channel","resource":"search"},{"operation":"searchOutliers","name":"Search Outliers","description":"Search for videos directly from the TubeLab Outliers library with AI enhanced data and 30+ filters. Updated in real-time, 24/7.","resource":"search"},{"operation":"searchOutliersRelated","name":"Search Similar Outliers","description":"Search for YouTube outliers with related content to another outlier(s)","resource":"search"},{"operation":"postScan","name":"Start a Scan","description":"Start a TubeLab scan to search for fresh outliers and channels on any given topic","resource":"scan"},{"operation":"getScan","name":"Get Scan","description":"Get the status of a scan and used inputs","resource":"scan"},{"operation":"getVideoDetails","name":"Details","description":"Fetch the details of a video","resource":"video"},{"operation":"getVideoTranscript","name":"Transcript","description":"Fetches the transcript of a video including timestamps","resource":"video"},{"operation":"getVideoComments","name":"Comments","description":"Fetch the first 100 comments of a video","resource":"video"},{"operation":"getChannelVideos","name":"Get Videos","description":"Fetch the videos of a channel and relevant metrics","resource":"channel"},{"operation":"getChannelShorts","name":"Get Shorts","description":"Fetches the shorts of a channel and relevant metrics","resource":"channel"}]

npm_readme:
  # n8n-nodes-tubelab

  This is an n8n community node. It lets you get enhanced YouTube data - including 400K+ trending channels, 4M+ outliers and scan niches in real-time with [TubeLab](https://tubelab.ai).

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

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

  ## Installation

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

  1. Go to **Settings > Community Nodes**.
  2. Select **Install**.
  3. Enter `n8n-nodes-tubelab` 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.

  ## Operations

  It supports these TubeLab operations:

  - **Search Outliers**: Search for videos directly from the TubeLab Outliers library with AI enhanced data and 30+ filters. Updated in real-time, 24/7.
  - **Search Similar Outliers**: Search for YouTube outliers with related content to another outlier(s)
  - **Search Channels**: Search for channels directly from the YouTube Niche Finder with AI enhanced data and 30+ filters. Updated in real-time, 24/7.
  - **Search Similar Channels**: Search for YouTube channels with related content to another channel
  - **Get Channel Videos**: Fetch the videos of a channel and relevant metrics (max 100 videos)
  - **Get Channel Shorts**: Fetch the shorts of a channel and relevant metrics (max 100 shorts)
  - **Get Video Details**: Fetch the details of a video
  - **Get Video Transcript**: Fetch the transcript & timestamps of a video
  - **Get Video Comments**: Fetch the first 100 comments of a video
  - **Start a Scan**: Start a TubeLab scan to search for fresh outliers and channels on any given topic
  - **Get a Scan**: Get the status of a scan and used inputs

  ## Credentials

  To use this node, you will need to authenticate with [TubeLab's API](https://tubelab.net/docs/api).

  1. Sign up for a [TubeLab](https://tubelab.net/) account
  2. Go to the [Developers Dashboard](https://tubelab.net/developers) and create an API key
  3. Create new credential in n8n
     - Use TubeLab's node
     - Under Credential to connect with, click Create New Credential
     - Paste API Key

  ## Compatibility

  This node was developed & tested with the `1.112.5` version.

  ## Usage

  Please refer to [TubeLab's Automation documentation](https://tubelab.net/docs/api/automation) with example templates on how to use this node.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [TubeLab's API Documentation](https://tubelab.net/docs/api)
  - [Sign up for a TubeLab API key](https://tubelab.net)
  - Contact support if you have any issues: [https://tubelab.net/support](https://tubelab.net/support)

  ## Version history

  - 0.4.7 - Remove deprecated `requestWithAuthentication` in favor of `httpRequestWithAuthentication`
  - 0.4.5 - Fix `/channel/videos` endpoint
  - 0.4.3 - Fix query params as expressions compiling
  - 0.4.0 - Add operations `Get Channel Videos`, `Get Channel Shorts`, `Get Video Details`, `Get Video Transcript`, `Get Video Comments`
  - 0.3.3 - Fix Start Scan `findBy` input
  - 0.3.2 - Add "publishedAtFrom" to Outliers Filters
  - 0.3.0 - Fix Webhooks Trigger
  - 0.2.0 - Fix API base URL
  - 0.1.1 - Fix package.json metadata details
  - 0.1.0 - Initial release

  ## Contribution Guidelines

  Refer to the [official documentation](https://docs.n8n.io/integrations/creating-nodes/build/n8n-node/#new).

  Requirements:

  - Node JS
  - Install `n8n-node`: `npm install --global @n8n/node-cli`
  - Run `npm run dev`

ai_documentation_summary:
  {"purpose":"This n8n community node retrieves enhanced YouTube data, including trending channels, outlier videos, and niche scans, using TubeLab's AI-powered analytics.","capabilities":["Search for outlier videos with 30+ filters","Search for similar outlier videos based on related content","Search for channels with 30+ filters","Search for similar channels based on related content","Fetch channel videos with metrics (max 100)","Fetch channel shorts with metrics (max 100)","Retrieve detailed video information","Fetch video transcripts and timestamps","Fetch up to 100 comments per video","Start real-time niche scans for fresh outliers and channels"],"authentication":"API key required (TubeLab API key)","commonUseCases":["Identifying trending YouTube channels in specific niches","Finding viral or outlier videos for content inspiration","Analyzing competitor channels and their performance metrics","Discovering new content opportunities through real-time niche scanning","Extracting video transcripts and comments for sentiment analysis"],"limitations":["Channel videos retrieval is limited to a maximum of 100 videos","Channel shorts retrieval is limited to a maximum of 100 shorts","Video comments retrieval is limited to the first 100 comments","Tested and compatible with n8n version 1.112.5"],"relatedNodes":["n8n-nodes-youtube","n8n-nodes-webhook","n8n-nodes-code"]}


node_type: @brightdata/n8n-nodes-brightdata.brightData
package_name: @brightdata/n8n-nodes-brightdata
display_name: BrightData
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: brd-cholpon
author_github_url: https://github.com/brightdata-com/n8n-nodes-brightdata.git
npm_package_name: @brightdata/n8n-nodes-brightdata
npm_version: 1.1.1
community_fetched_at: 2026-03-25T21:19:40.997Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  Interact with Bright Data to scrape websites or use existing datasets from the marketplace to generate adapted snapshots

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "webUnlocker",
      "options": [
        {
          "name": "Marketplace Dataset",
          "value": "marketplaceDataset"
        },
        {
          "name": "Web Scraper",
          "value": "webScrapper"
        },
        {
          "name": "Web Unlocker",
          "value": "webUnlocker"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "request",
      "options": [
        {
          "name": "Web Search",
          "value": "WebSearch",
          "action": "Search the web and get serp results",
          "routing": {
            "request": {
              "url": "/request",
              "body": {
                "url": "={{`https://www.google.com/search?q=${encodeURIComponent($parameter[\"query\"])}&start=${(($parameter[\"page\"] || 1) - 1) * 10}&brd_json=1`}}",
                "zone": "={{$parameter[\"zone\"]}}",
                "format": "raw",
                "country": "={{$parameter[\"country\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Send a Request",
          "value": "request",
          "action": "Access and extract data from a specific URL",
          "routing": {
            "request": {
              "url": "/request",
              "body": {
                "url": "={{$parameter[\"url\"]}}",
                "zone": "={{$parameter[\"zone\"]}}",
                "format": "={{$parameter[\"data_format\"] === \"markdown\" ? \"raw\" : $parameter[\"format\"]}}",
                "method": "={{$parameter[\"method\"]}}",
                "country": "={{$parameter[\"country\"]}}",
                "data_format": "={{$parameter[\"data_format\"] || undefined}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webUnlocker"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDatasets",
      "options": [
        {
          "name": "Deliver Snapshot",
          "value": "deliverSnapshot",
          "action": "Deliver a snapshot to specified storage",
          "routing": {
            "request": {
              "url": "/datasets/snapshots/{{$parameter[\"snapshot_id\"]}}/deliver",
              "method": "POST"
            }
          }
        },
        {
          "name": "Filter Dataset",
          "value": "filterDataset",
          "action": "Filter a dataset to create a snapshot",
          "routing": {
            "request": {
              "url": "/datasets/filter",
              "body": "={{\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"dataset_id\": $parameter[\"dataset_id\"].value || $parameter[\"dataset_id\"],\n\t\t\t\t\t\t\t\t\"records_limit\": $parameter[\"records_limit\"],\n\t\t\t\t\t\t\t\t\"filter\": $parameter[\"filter_type\"] === \"filter_single\" \n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\"name\": $parameter[\"field_name\"],\n\t\t\t\t\t\t\t\t\t\t\"operator\": $parameter[\"field_operator\"], \n\t\t\t\t\t\t\t\t\t\t\"value\": $parameter[\"field_value\"]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t: $parameter[\"filter_type\"] === \"filters_group\"\n\t\t\t\t\t\t\t\t\t? JSON.parse($parameter[\"filters_group\"])\n\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}",
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Dataset Metadata",
          "value": "getDatasetMetadata",
          "action": "Retrieve metadata for a specific dataset by dataset id",
          "routing": {
            "request": {
              "url": "=/datasets/{{$parameter[\"dataset_id\"]}}/metadata",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Snapshot Content",
          "value": "getSnapshotContent",
          "action": "Retrieve data by snapshot id",
          "routing": {
            "request": {
              "qs": {
                "part": "={{$parameter[\"part\"]}}",
                "format": "={{$parameter[\"format\"]}}",
                "compress": "={{$parameter[\"compress\"] || false}}",
                "batch_size": "={{$parameter[\"batch_size\"]}}"
              },
              "url": "=/datasets/snapshots/{{$parameter[\"snapshot_id\"]}}/download",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Snapshot Metadata",
          "value": "getSnapshotMetadata",
          "action": "Get metadata for a selected snapshot by snapshot id",
          "routing": {
            "request": {
              "url": "=/datasets/snapshots/{{$parameter[\"snapshot_id\"]}}",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Snapshot Parts",
          "value": "getSnapshotParts",
          "action": "Split snapshot data to parts by snapshot id",
          "routing": {
            "request": {
              "url": "=/datasets/snapshots/{{$parameter[\"snapshot_id\"]}}/parts",
              "method": "GET"
            }
          }
        },
        {
          "name": "List Datasets",
          "value": "listDatasets",
          "action": "List available datasets",
          "routing": {
            "request": {
              "url": "/datasets/list",
              "method": "GET"
            }
          }
        },
        {
          "name": "List Snapshots",
          "value": "listSnapshots",
          "action": "List all your snapshot ids",
          "routing": {
            "request": {
              "url": "/datasets/snapshots",
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "marketplaceDataset"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrapeByUrl",
      "options": [
        {
          "name": "Deliver Snapshot",
          "value": "deliverSnapshot",
          "action": "Deliver a snapshot to specified storage",
          "routing": {
            "request": {
              "url": "/datasets/v3/deliver/{{$parameter[\"snapshot_id\"]}}",
              "method": "POST"
            }
          }
        },
        {
          "name": "Download Snapshot",
          "value": "downloadSnapshot",
          "action": "Download the snapshot content",
          "routing": {
            "request": {
              "url": "=/datasets/v3/snapshot/{{$parameter[\"snapshot_id\"]}}",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Snapshots",
          "value": "getSnapshots",
          "action": "Get filtered snapshots",
          "routing": {
            "request": {
              "qs": {
                "skip": "={{$parameter[\"skip\"]}}",
                "limit": "={{$parameter[\"limit\"]}}",
                "status": "={{$parameter[\"status\"]}}",
                "to_date": "={{$parameter[\"to_date\"]}}",
                "from_date": "={{$parameter[\"from_date\"]}}",
                "dataset_id": "={{$parameter[\"dataset_id\"]}}"
              },
              "url": "/datasets/v3/snapshots",
              "method": "GET"
            }
          }
        },
        {
          "name": "Monitor Progress Snapshot",
          "value": "monitorProgressSnapshot",
          "action": "Check the status of a batch extraction",
          "routing": {
            "request": {
              "url": "=/datasets/v3/progress/{{$parameter[\"snapshot_id\"]}}",
              "method": "GET"
            }
          }
        },
        {
          "name": "Scrape By URL",
          "value": "scrapeByUrl",
          "action": "Extract structured data from a single URL",
          "routing": {
            "request": {
              "qs": {
                "format": "={{$parameter[\"format\"]}}",
                "dataset_id": "={{$parameter[\"dataset_id\"]}}",
                "include_errors": "={{$parameter[\"include_errors\"]}}"
              },
              "url": "/datasets/v3/scrape",
              "body": "={{JSON.parse($parameter[\"urls\"])}}",
              "method": "POST"
            }
          }
        },
        {
          "name": "Trigger Collection By URL",
          "value": "triggerCollectionByUrl",
          "action": "Initiate batch extraction from URL",
          "routing": {
            "request": {
              "qs": {
                "notify": "={{$parameter[\"notify\"]}}",
                "endpoint": "={{$parameter[\"endpoint\"]}}",
                "dataset_id": "={{$parameter[\"dataset_id\"]}}"
              },
              "url": "/datasets/v3/trigger",
              "body": "={{JSON.parse($parameter[\"urls\"])}}",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webScrapper"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"WebSearch","name":"Web Search","resource":"webUnlocker"},{"operation":"request","name":"Send a Request","resource":"webUnlocker"},{"operation":"deliverSnapshot","name":"Deliver Snapshot","resource":"marketplaceDataset"},{"operation":"filterDataset","name":"Filter Dataset","resource":"marketplaceDataset"},{"operation":"getDatasetMetadata","name":"Get Dataset Metadata","resource":"marketplaceDataset"},{"operation":"getSnapshotContent","name":"Get Snapshot Content","resource":"marketplaceDataset"},{"operation":"getSnapshotMetadata","name":"Get Snapshot Metadata","resource":"marketplaceDataset"},{"operation":"getSnapshotParts","name":"Get Snapshot Parts","resource":"marketplaceDataset"},{"operation":"listDatasets","name":"List Datasets","resource":"marketplaceDataset"},{"operation":"listSnapshots","name":"List Snapshots","resource":"marketplaceDataset"},{"operation":"deliverSnapshot","name":"Deliver Snapshot","resource":"webScrapper"},{"operation":"downloadSnapshot","name":"Download Snapshot","resource":"webScrapper"},{"operation":"getSnapshots","name":"Get Snapshots","resource":"webScrapper"},{"operation":"monitorProgressSnapshot","name":"Monitor Progress Snapshot","resource":"webScrapper"},{"operation":"scrapeByUrl","name":"Scrape By URL","resource":"webScrapper"},{"operation":"triggerCollectionByUrl","name":"Trigger Collection By URL","resource":"webScrapper"}]

npm_readme:
  ![Banner image](images/n8n-and-n8nhackers.png)

  # n8n-nodes-brightdata

  This is an n8n community node. It helps you to use [Bright Data APIs](https://docs.brightdata.com/scraping-automation/introduction) from n8n.

  If you have any questions or remarks please [contact me](mailto:support@n8nhackers.com).

  [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.

  ## Compatibility

  This node was developed and tested with n8n version 1.81.4

  ## Resources

  This node currently supports the next Resources:

  ### Marketplace Dataset

  Bright Data’s Marketplace DataSet API allows access to a centralized platform providing regularly updated, ethically sourced datasets from multiple domains, offering flexible solutions for data customization and acquisition.

  The next operations are available:

  - Deliver Snapshot
  - Filter Dataset
  - Get Dataset Metadata
  - Get Snapshot Content
  - Get Snapshot Metadata
  - Get Snapshot Parts
  - List Datasets

  Ideal for:

  - Access to datasets across 120+ domains.
  - High-quality, ethically sourced data ensuring accuracy and compliance.
  - Regular updates from publicly available information.
  - Ready-to-use and on-demand solutions.
  - Flexible purchase options with comprehensive customization.
  - Suitable for various fields like social media, real estate, B2B data, and AI training.

  ### Web Unlocker

  Bright Data’s Web Unlocker API makes data collection easy by managing proxies and avoiding blocks.

  Just send an API request with the target website, and get clean HTML/JSON responses.

  The Web Unlocker handles:

  - Optimal proxy selection
  - Custom headers
  - Fingerprinting
  - CAPTCHAs

  Ideal for:

  - Scraping any website without blocks
  - Emulating real-user behavior
  - Teams without proxy infrastructure
  - Paying only for successful requests
  - [Premium domains](https://docs.brightdata.com/scraping-automation/web-unlocker/features#current-list-of-premium-domains) hard to be scraped (MediaMarkt, Hermes... )

  Please, follow [documentation](https://docs.brightdata.com/scraping-automation/web-unlocker/introduction) to setup this API.

  #### Usage

  - Resource: choose Unlocker API
    - Operation: choose "Send a Request".
      - Properties:
        - zone: Choose between your existing zone names.
        - url: The target URL you wish to access via Web Unlocker API.
        - method: The method to call the target URL.
        - format: Defines the response format. Use raw to receive the raw response from the target site. JSON is simpler for managing the output.
        - country: The country you will use to access the target URL.

  ### TL;DR - WebUnlocker

  ![Get deals of the day](images/workflow-sample.png?raw=true "Get deals of the day")

  Don't want to read? Install n8n-nodes-brightdata in your n8n from Settings / Community nodes. Copy the URL of [Get deals of the day](https://raw.githubusercontent.com/n8nhackers/n8n-nodes-brightdata/refs/heads/main/use-cases/workflow-sample.json "Get deals of the day") and paste into "Import for URL" submenu at n8n.

  This n8n workflow automates the process of collecting and delivering the "Deals of the Day" from MediaMarkt, specifically tailored to user preferences, and sends those deals via email.

  This workflow is useful for automating product deal recommendations based on user input and sending personalized emails with the best deals available.

  #### Workflow Overview:

  1. **User Interaction via Form**:
     - The user submits a form where they can select categories (such as appliances, cell phones, etc.) and provide their email address. This triggers the workflow to gather personalized deals based on their input.
  2. **Data Extraction**:
     - Once the form is submitted, the workflow calls **Bright Data** community node to scrape data from the MediaMarkt website (`https://www.mediamarkt.es/es/campaign/campanas-y-ofertas`) using a proxy service. The data is retrieved in JSON format.
  3. **HTML Content Extraction**:
     - The raw HTML content from the website is extracted, focusing on the title and body, which are key to processing the content for recommendation.
  4. **Recommendation Generation using OpenAI**:
     - The extracted data is processed through **OpenAI** (GPT-4o-mini) to generate a list of recommended deals. This involves categorizing deals based on the user-selected categories, and filtering or translating content if necessary. The deal list includes properties like name, description, price, and a link.
  5. **Data Structuring**:
     - The generated list of deals is split into individual deal items using **SplitOut**.
  6. **Document Creation**:
     - Using **[Document Generator](https://www.npmjs.com/package/n8n-nodes-document-generator)** community node, an HTML template is populated with the recommended deals and structured into a user-friendly format.
  7. **Email Delivery**:
     - The document containing the recommended deals is sent to the user's email via **SMTP email send** with a personalized message that includes the list of deals.

  #### Workflow Connections:

  1. **Form Submission** → **Bright Data (Scrape Deals)**: The form triggers the request to scrape the MediaMarkt deals page.
  2. **Bright Data** → **HTML Extraction**: The scraped content is processed to extract key page data.
  3. **HTML Extraction** → **OpenAI (Deal Generation)**: The extracted content is used as input for GPT-4o-mini to generate deal recommendations.
  4. **OpenAI** → **SplitOut**: The results are split into individual deal items.
  5. **SplitOut** → **DocumentGenerator**: The items are formatted into an HTML document.
  6. **DocumentGenerator** → **Send Email**: The document is emailed to the user.

  #### Final Output:

  - The user receives an email with a personalized list of the best deals based on their selected categories.

  #### Credentials Used:

  - **Bright Data API**: For scraping data from MediaMarkt.
  - **OpenAI API**: To generate the list of recommended deals using GPT-4o-mini.
  - **SMTP**: For sending the email with the deals.

  #### External nodes Used:

  - **[Bright Data](https://www.npmjs.com/package/n8n-nodes-brightdata)**: For scrapping data from MediaMarkt.
  - **[Document Generator](https://www.npmjs.com/package/n8n-nodes-document-generator)**: For generating html output using templates.

  ### TL;DR - Marketplace Dataset

  ![Marketplace Datasets](images/marketplace-dataset-workflow-sample.png?raw=true "Marketplace Datasets")

  New Marketplace Dataset API allows to create custom snapshots by filtering existing Bright Data datasets (more than [160 datasets](https://docs.brightdata.com/datasets/introduction)).

  Datasets are updated by Bright Data, so you don't have to scrape anything.

  Your can get a list of records from the full dataset without scrapping the records by yourself. This is faster and cheaper than adquiring data from zero.
  You can use datasets to build custom AI Agents like:

  - Real Estate Agent to search houses to buy
  - Candidates Agent to search future workers

  Current existing datasets allow to get data from:

  - LinkedIn
  - Instagram
  - Facebook
  - Airbnb
  - Crunchbase
  - And many more (use operation 'List Datasets' to get all)

  Install n8n-nodes-brightdata in your n8n from Settings / Community nodes. Copy the URL of [Get Marketplace Functions](https://raw.githubusercontent.com/n8nhackers/n8n-nodes-brightdata/refs/heads/main/use-cases/marketplace-dataset-workflow-sample.json) and paste into "Import for URL" submenu at n8n.

  ### TL;DR - More samples

  You can also use the next ready-to-use samples for your n8n (self-hosted version):

  - [Update LinkedIn Profiles one by one with Bright Data and Google Sheets with no scrapping](https://raw.githubusercontent.com/n8nhackers/n8n-nodes-brightdata/refs/heads/main/use-cases/Update_LinkedIn_Profiles_one_by_one_with_Bright_Data_and_Google_Sheets_with_no_scrapping.json)![Update LinkedIn Profiles](images/Update_LinkedIn_Profiles_one_by_one_with_Bright_Data_and_Google_Sheets_with_no_scrapping.png?raw=true "Update LinkedIn Profiles")
  - [Create a Prospect list for Commercial purposes with Google Search and Bright Data on-demand](https://raw.githubusercontent.com/n8nhackers/n8n-nodes-brightdata/refs/heads/main/use-cases/Create_a_Prospect_list_for_Commercial_purposes_with_Google_Search_and_Bright_Data_on_demand.json)![Create a Prospect List](images/Create_a_Prospect_list_for_Commercial_purposes_with_Google_Search_and_Bright_Data_on_demand.png?raw=true "Create a Prospect List")

  # Changelog

  Here you can find the list of changes applied to this node:

  - 0.1.33: Add samples for WebScrapper/Scrape By URL and WebScrapper/Create Snapshot
  - 0.1.32: Fix equals on MarketplaceDataset/filterSnapshot
  - 0.1.31: Add webScrapper/downloadSnapshot
  - 0.1.30: Add webScrapper/deliverSnapshot + Fix webScrapper/getSnapshots
  - 0.1.29: Fix error on Marketplace/Get Snapshot Content
  - 0.1.28: Fix errors on webScrapper resource
  - 0.1.25: Create Resource for WebScrapper API
  - 0.1.24: Return listDatasets in items output property
  - 0.1.23: Add notify webhook to "Marketplace Dataset API/Trigger Snapshot by URL"
  - 0.1.22: Return clear messages on API errors + improve filter Dataset
  - 0.1.21: Add getSnapshots + Trigger snapshots to generate snapshots on demand
  - 0.1.20: Added support to use Bright Data as an AI Agent tool
  - 0.1.19: Added support for Marketplace DataSet endpoints
  - 0.1.11: Added support for using this node as tool from an Agent

  # Contribution

  To make this node even better, please let us know, [how you use it](mailto:support@n8nhackers.com). Commits are always welcome.

  You can test this node following the next instructions:

  ```sh
  git clone git@github.com:n8nhackers/n8n-nodes-brightdata.git
  cd n8n-nodes-brightdata
  nvm use
  npm install -g n8n
  yarn install
  npm run build
  npm link
  mkdir ~/.n8n/custom/
  cd ~/.n8n/custom/
  npm link n8n-nodes-brightdata
  cd ..
  n8n start
  ```

  # Issues

  If you have any issues, please [let us know on GitHub](https://github.com/n8nhackers/n8n-nodes-brightdata/issues).

  # About

  Nodes by [n8nhackers.com](https://n8nhackers.com). For productive use and consulting on this, [contact us please](mailto:support@n8nhackers.com).

  Special thanks to [N8n nodemation](https://n8n.io) workflow automation by Jan Oberhauser.

  # License

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

ai_documentation_summary:
  {"purpose":"A community n8n node that enables interaction with Bright Data APIs to scrape websites using the Web Unlocker or access and manipulate datasets from the Bright Data Marketplace.","capabilities":["Web scraping via Web Unlocker API with proxy management","Access to 120+ domains through Marketplace Datasets","Filtering and customizing dataset content","Retrieving dataset metadata and snapshot parts","Handling CAPTCHAs and fingerprinting","Supporting custom headers and optimal proxy selection","Returning responses in raw or JSON format"],"authentication":"API key required (Bright Data credentials)","commonUseCases":["Scraping protected websites without IP blocks","Automating data collection for e-commerce deal tracking","Accessing ethically sourced B2B or social media datasets","Generating personalized content based on scraped data"],"limitations":["Community node (may lack official support)","Compatible with n8n version 1.81.4","Requires Bright Data API access and potential subscription for premium domains"],"relatedNodes":["HTTP Request","OpenAI","SplitInArray","SplitInFields","Document Generator"]}


node_type: n8n-nodes-layerre.layerre
package_name: n8n-nodes-layerre
display_name: Layerre
description: Create templates and variants from Canva designs with Layerre
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: layerre
author_github_url: https://github.com/layerre/
npm_package_name: n8n-nodes-layerre
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:40.998Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "template",
      "options": [
        {
          "name": "Template",
          "value": "template",
          "description": "Create and manage templates from Canva designs"
        },
        {
          "name": "Variant",
          "value": "variant",
          "description": "Create variants with layer overrides"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a template",
          "routing": {
            "request": {
              "url": "/template",
              "method": "POST"
            }
          },
          "description": "Create a new template from a Canva design URL"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a template",
          "routing": {
            "request": {
              "url": "=/template/{{$parameter.templateId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a template"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a template",
          "routing": {
            "request": {
              "url": "=/template/{{$parameter.templateId}}",
              "method": "GET"
            }
          },
          "description": "Retrieve a template by ID with all its layers"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many templates",
          "routing": {
            "request": {
              "url": "/templates",
              "method": "GET"
            }
          },
          "description": "Retrieve a list of templates for the current user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "template"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a variant",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/template/{{$parameter.templateId}}/variant",
              "method": "POST"
            }
          },
          "description": "Create a new variant from a template with layer overrides"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a variant",
          "routing": {
            "request": {
              "url": "=/template/{{$parameter.templateId}}/variant/{{$parameter.variantId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a variant"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a variant",
          "routing": {
            "request": {
              "url": "=/template/{{$parameter.templateId}}/variant/{{$parameter.variantId}}",
              "method": "GET"
            }
          },
          "description": "Retrieve a variant by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many variants",
          "routing": {
            "request": {
              "url": "=/template/{{$parameter.templateId}}/variants",
              "method": "GET"
            }
          },
          "description": "Retrieve a list of variants for a template"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "variant"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create a new template from a Canva design URL","resource":"template"},{"operation":"delete","name":"Delete","description":"Delete a template","resource":"template"},{"operation":"get","name":"Get","description":"Retrieve a template by ID with all its layers","resource":"template"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of templates for the current user","resource":"template"},{"operation":"create","name":"Create","description":"Create a new variant from a template with layer overrides","resource":"variant"},{"operation":"delete","name":"Delete","description":"Delete a variant","resource":"variant"},{"operation":"get","name":"Get","description":"Retrieve a variant by ID","resource":"variant"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of variants for a template","resource":"variant"}]

npm_readme:
  # n8n-nodes-layerre

  This is an n8n community node for [Layerre](https://layerre.com) - a platform for creating templates and variants from Canva designs.

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

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Usage](#usage)  
  [Contributing](#contributing)  
  [License](#license)

  ## Installation

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

  ```bash
  npm install n8n-nodes-layerre
  ```

  ## Operations

  ### Template

  - **Create** - Create a new template from a Canva design URL
  - **Get** - Get a template by ID with all its layers
  - **Get Many** - List all templates for the current user
  - **Delete** - Delete a template

  ### Variant

  - **Create** - Create a new variant with layer overrides (text, images, colors, positions, etc.)
  - **Get** - Get a variant by ID
  - **Get Many** - List all variants for a template
  - **Delete** - Delete a variant

  ## Credentials

  To use this node, you need a Layerre API key:

  1. Log in to your [Layerre account](https://layerre.com/app)
  2. Go to API Keys
  3. Create a new API key
  4. Copy the key (starts with `lyr_`)

  In n8n:
  1. Go to Credentials → Add Credential
  2. Search for "Layerre API"
  3. Paste your API key

  ## Usage

  ### Creating a Template from Canva

  1. Add the **Layerre** node to your workflow
  2. Select **Template** as the resource
  3. Select **Create** as the operation
  4. Paste your Canva share URL (e.g., `https://www.canva.com/design/...`)
  5. Execute the node

  The node will return the template with all extracted layers.

  ### Creating a Variant with Overrides

  1. Add the **Layerre** node to your workflow
  2. Select **Variant** as the resource
  3. Select **Create** as the operation
  4. Choose a template from the dropdown (dynamically loaded from your account)
  5. (Optional) Set variant dimensions (width/height) to override the template size
  6. Add layer overrides:
     - Select a layer from the dropdown (dynamically loaded from the selected template)
     - Configure override options:
       - **Text layers**: text content, color, font name, font size, font weight, italic, underline, text align, letter spacing, line spacing
       - **Image layers**: image URL, opacity, flip horizontal/vertical
       - **All layers**: position (x, y), size (width, height), rotation, color
  7. Execute the node

  The node will render the variant and return the image URL.

  ### Example: Bulk Image Generation

  ```
  [Spreadsheet] → [Loop Over Items] → [Layerre: Create Variant] → [Download Image]
  ```

  Use data from a spreadsheet to create personalized images at scale by mapping columns to layer overrides.

  ## Contributing

  Contributions are welcome! Here's how to get started:

  ### Development Setup

  1. Fork the repository on GitHub

  2. Clone your fork:
     ```bash
     git clone https://github.com/YOUR_USERNAME/n8n-nodes-layerre.git
     cd n8n-nodes-layerre
     ```

  3. Install dependencies:
     ```bash
     npm install
     ```

  4. Install n8n globally:
     ```bash
     npm install n8n -g
     ```

  5. Start development mode (runs n8n with the node loaded):
     ```bash
     npm run dev
     ```

  5. Make your changes and test in the n8n UI

  ### Building

  ```bash
  npm run build
  ```

  ### Linting

  ```bash
  npm run lint
  npm run lint:fix  # Auto-fix issues
  ```

  ### Submitting Changes

  1. Create a 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

  ## Resources

  - [Layerre Documentation](https://layerre.com/docs)
  - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"This n8n node automates the creation of Canva design templates and their variants using the Layerre platform, enabling bulk image generation with customizable text, images, and layout properties.","capabilities":["Create templates from Canva design URLs","Retrieve templates by ID or list all user templates","Delete templates","Create variants with layer overrides (text, images, colors, positions)","Retrieve variants by ID or list all variants for a template","Delete variants","Override text properties (content, color, font, size, weight, italics, alignment, spacing)","Override image properties (URL, opacity, flip)","Override all layer properties (position, size, rotation, color)","Support for bulk image generation via spreadsheet data"],"authentication":"API key required (Layerre API key starting with 'lyr_')","commonUseCases":["Bulk personalized image generation from Canva templates","A/B testing with design variants","Automated marketing asset creation with dynamic content","Template management and versioning"],"limitations":["Requires a paid Layerre account with API access","Canva design URL must be publicly accessible or shareable","Limited to Layerre-supported Canva design features"],"relatedNodes":["n8n-nodes-canva.canva","n8n-nodes-spreadsheet.spreadsheet","n8n-nodes-download-image.download-image","n8n-nodes-loop-over-items.loop-over-items"]}


node_type: @promptlayer/n8n-nodes-promptlayer-runagent.promptLayerRunAgent
package_name: @promptlayer/n8n-nodes-promptlayer-runagent
display_name: PromptLayer Run Agent
description: Run an Agent from the PromptLayer API
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: jpedoeem
author_github_url: https://github.com/MagnivOrg/n8n-node.git
npm_package_name: @promptlayer/n8n-nodes-promptlayer-runagent
npm_version: 0.1.9
community_fetched_at: 2026-03-25T21:19:40.998Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # PromptLayer RunAgent Node for n8n

  This package provides a custom n8n node for running [PromptLayer Agents](https://promptlayer.com/) directly from your n8n workflows. The **PromptLayer RunAgent** node allows you to execute PromptLayer Agents, pass input variables, select agent versions or labels, and retrieve results programmatically.

  ---

  ## Features

  - **Run any PromptLayer Agent** by name from your n8n workflow
  - **Select agent version** by number or label
  - **Pass input variables** as JSON
  - **Attach metadata** to executions
  - **Control output** (return all outputs or just the main one)
  - **Timeout handling** for long-running agents
  - **Credential-based authentication**

  ---

  ## Prerequisites

  - [n8n](https://n8n.io/) installed (Node.js 20+ required)
  - A [PromptLayer](https://promptlayer.com/) account and API key

  ---

  ## Installation

  1. Clone or download this repository into your n8n custom nodes directory.
  2. Install dependencies:
     ```bash
     npm install
     ```
  3. Build the node:
     ```bash
     npm run build
     ```
  4. [Register the custom node with n8n](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/#load-custom-nodes) if needed.

  ---

  ## Configuration

  ### Setting up Credentials

  1. In n8n, go to **Credentials**.
  2. Create new credentials for **PromptLayerRunAgentApi**.
  3. Enter your PromptLayer API key.

  ---

  ## Usage

  1. Add the **PromptLayer RunAgent** node to your workflow.
  2. Configure the following fields:
     - **Agent Name**: Select the name of the agent to run.
     - **Use Agent Label Name**: Toggle to use a label instead of a version number.
     - **Agent Version Number**: (Optional) Specify a version number (if not using label). By default the latest version of the agent is used.
     - **Agent Label Name**: (Optional) Specify a label name (if using label). By default the latest version of the agent is used.
     - **Input Variables**: JSON object of variables required by the agent (e.g., `{ "question": "What is the weather?" }`).
     - **Additional Fields**:
       - **Metadata**: (Optional) JSON object of metadata to attach.
       - **Return All Outputs**: (Optional) Return all outputs from the agent.
       - **Timeout**: (Optional) Maximum wait time in minutes (default: 10).
  3. Connect the node as needed in your workflow.
  4. Run the workflow. The node will execute the agent and return the results.

  ---

  ## Example

  Suppose you have a PromptLayer agent named `weatherAgent` that takes a `location` variable:

  - **Agent Name**: `weatherAgent`
  - **Input Variables**: `{ "location": "London" }`
  - **Return All Outputs**: `false`

  The node will execute the agent and return the weather information for London.

  ---

  ## Troubleshooting

  - Ensure your PromptLayer API key is correct and has access to the agent.
  - Input variables and metadata must be valid JSON.
  - If the agent takes too long, increase the timeout in Additional Fields.

ai_documentation_summary:
  {"purpose":"Executes PromptLayer Agents from within n8n workflows by sending input variables and retrieving results programmatically.","capabilities":["Run agents by name","Select agent versions by number or label","Pass input variables as JSON","Attach metadata to executions","Control output selection (all outputs or main output only)","Handle timeouts for long-running agents"],"authentication":"API key required","commonUseCases":["Integrating PromptLayer agents into automated n8n workflows","Retrieving agent outputs for further processing","Testing agent performance with custom inputs"],"limitations":["Requires manual installation and building of the custom node in n8n"],"relatedNodes":["n8n Credentials node","n8n HTTP Request node"]}


node_type: n8n-nodes-deapi.deapi
package_name: n8n-nodes-deapi
display_name: deAPI
description: Generate images, videos, transcribe audio and boost prompts using deAPI AI models
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: deapi
author_github_url: https://github.com/deapi-ai/
npm_package_name: n8n-nodes-deapi
npm_version: 0.2.0
community_fetched_at: 2026-03-25T21:19:40.999Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Video",
          "value": "video"
        },
        {
          "name": "Audio",
          "value": "audio"
        },
        {
          "name": "Prompt",
          "value": "prompt"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate an Image",
          "value": "generate",
          "action": "Generate an image",
          "description": "Generates an image from a text prompt"
        },
        {
          "name": "Remove Background",
          "value": "removeBackground",
          "action": "Remove background",
          "description": "Remove the background from an image"
        },
        {
          "name": "Upscale an Image",
          "value": "upscale",
          "action": "Upscale an image",
          "description": "Increase an image resolution x4"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate a Video",
          "value": "generate",
          "action": "Generate a video",
          "description": "Generates a video from text prompt or image(s)"
        },
        {
          "name": "Generate From Audio",
          "value": "generateFromAudio",
          "action": "Generate from audio",
          "description": "Generates a video conditioned on an audio file and text prompt"
        },
        {
          "name": "Transcribe a Video",
          "value": "transcribe",
          "action": "Transcribe a video",
          "description": "Transcribes audio from a video to text"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "cloneVoice",
      "options": [
        {
          "name": "Clone a Voice",
          "value": "cloneVoice",
          "action": "Clone a voice",
          "description": "Clones a voice from a reference audio and generates speech"
        },
        {
          "name": "Generate a Speech",
          "value": "generateSpeech",
          "action": "Generate a speech",
          "description": "Converts text to speech audio"
        },
        {
          "name": "Transcribe an Audio",
          "value": "transcribe",
          "action": "Transcribe an audio",
          "description": "Transcribes an audio file to text"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "boostImage",
      "options": [
        {
          "name": "Image Prompt Booster",
          "value": "boostImage",
          "action": "Image prompt booster",
          "description": "Optimizes a prompt for text-to-image generation"
        },
        {
          "name": "Video Prompt Booster",
          "value": "boostVideo",
          "action": "Video prompt booster",
          "description": "Optimizes a prompt for text-image-to-video generation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"generate","name":"Generate an Image","description":"Generates an image from a text prompt","resource":"image"},{"operation":"removeBackground","name":"Remove Background","description":"Remove the background from an image","resource":"image"},{"operation":"upscale","name":"Upscale an Image","description":"Increase an image resolution x4","resource":"image"},{"operation":"generate","name":"Generate a Video","description":"Generates a video from text prompt or image(s)","resource":"video"},{"operation":"generateFromAudio","name":"Generate From Audio","description":"Generates a video conditioned on an audio file and text prompt","resource":"video"},{"operation":"transcribe","name":"Transcribe a Video","description":"Transcribes audio from a video to text","resource":"video"},{"operation":"cloneVoice","name":"Clone a Voice","description":"Clones a voice from a reference audio and generates speech","resource":"audio"},{"operation":"generateSpeech","name":"Generate a Speech","description":"Converts text to speech audio","resource":"audio"},{"operation":"transcribe","name":"Transcribe an Audio","description":"Transcribes an audio file to text","resource":"audio"},{"operation":"boostImage","name":"Image Prompt Booster","description":"Optimizes a prompt for text-to-image generation","resource":"prompt"},{"operation":"boostVideo","name":"Video Prompt Booster","description":"Optimizes a prompt for text-image-to-video generation","resource":"prompt"}]

npm_readme:
  ![Banner image](https://github.com/user-attachments/assets/398eeb5d-cbf7-452c-96ae-825850c32730)

  # n8n-nodes-deapi

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

  This is an n8n community node that lets you use [deAPI](https://deapi.ai/) in your n8n workflows.

  deAPI is a unified API platform providing instant access to open-source AI models (FLUX, LTX Video, Whisper and more) through a decentralized GPU network. One API key to access thousands of GPUs with up to 20x lower costs.

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

  ## Installation

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

  ## Credentials

  To use this node, you need to configure the following credentials:

  | Field | Description |
  |-------|-------------|
  | **API Key** | Your deAPI API key. Get it from the [deAPI Quickstart Guide](https://docs.deapi.ai/quickstart#2-obtain-your-api-key). |
  | **Webhook Secret** | Secret used to verify webhook signatures. Configure it at [deAPI Webhook Settings](https://deapi.ai/settings/webhooks). |

  ## Operations

  ### Image

  | Operation | Description | Models |
  |-----------|-------------|--------|
  | **Generate** | Generate an image from a text prompt | FLUX.1 Schnell, FLUX.2 Klein 4B, Z-Image Turbo |
  | **Remove Background** | Remove the background from an image | Ben2 |
  | **Upscale** | Increase image resolution by 4x | RealESRGAN x4 |

  ### Video

  | Operation | Description | Models |
  |-----------|-------------|--------|
  | **Generate** | Generate a video from text or image(s) | LTX-Video 0.9.8, LTX-2 19B, LTX-2.3 22B |
  | **Generate From Audio** | Generate a video conditioned on an audio file and text prompt | LTX-2 22B |
  | **Transcribe** | Transcribe video to text (YouTube, Twitch, X, Kick URLs or file upload) | Whisper Large V3 |

  ### Audio

  | Operation | Description | Models |
  |-----------|-------------|--------|
  | **Clone a Voice** | Clone a voice from a reference audio and generate speech | Qwen3 TTS VoiceClone |
  | **Generate a Speech** | Convert text to speech audio | Kokoro, Chatterbox, Qwen3 TTS Custom Voice, Qwen3 TTS Voice Design |
  | **Transcribe** | Transcribe audio file to text | Whisper Large V3 |

  ### Prompt

  | Operation | Description |
  |-----------|-------------|
  | **Image Prompt Booster** | Optimize a prompt for text-to-image generation |
  | **Video Prompt Booster** | Optimize a prompt for text/image-to-video generation |

  ## How It Works

  Generation operations (image, video, transcription) use a webhook-based waiting pattern:

  1. The node submits a generation request to deAPI with a webhook URL
  2. The workflow pauses while deAPI processes the request
  3. When deAPI completes the job, it sends a webhook notification
  4. The workflow resumes with the generated content (binary file or text)

  This approach ensures efficient resource usage - the workflow doesn't actively poll for results.

  ## Compatibility

  - Tested with n8n version 2.3.4
  - Webhook-based operations require n8n to be accessible via HTTPS

  ## Example Workflow

  An example n8n workflow demonstrating all available operations is included in [`examples/deAPI_guide.json`](examples/deAPI_guide.json). Import it into your n8n instance to get started quickly:

  1. Download [`deAPI_guide.json`](https://raw.githubusercontent.com/deapi-ai/n8n-nodes-deapi/main/examples/deAPI_guide.json) from the GitHub repository
  2. In n8n, go to **Workflows** > **Import from File**
  3. Select the downloaded `deAPI_guide.json`
  4. Set up your deAPI credentials (API Key + Webhook Secret)
  5. Explore the example nodes and sticky notes for usage instructions

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [deAPI Documentation](https://docs.deapi.ai/)
  - [deAPI Website](https://deapi.ai/)
  - [GitHub Repository](https://github.com/deapi-ai/n8n-nodes-deapi)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"This n8n community node integrates deAPI AI models into workflows, enabling image/video generation, audio transcription, voice cloning, and prompt optimization.","capabilities":["Generate images from text prompts (FLUX.1, Z-Image Turbo)","Remove image backgrounds (Ben2)","Upscale images (RealESRGAN x4)","Generate videos from text or images (LTX-Video, LTX-2)","Generate videos from audio and text","Transcribe video to text (YouTube, Twitch, X, Kick, files)","Transcribe audio files to text","Clone voices for text-to-speech (Qwen3 TTS)","Generate speech from text (Kokoro, Chatterbox, Qwen3 TTS)","Boost image generation prompts"],"authentication":"API Key required (deAPI API key) and Webhook Secret (for webhook verification)","commonUseCases":["Automated content creation for social media","Video content generation from scripts or audio","Audio transcription for content analysis","Voice cloning for personalized audio","Image upscaling and background removal"],"limitations":["Requires n8n to be accessible via HTTPS for webhook-based operations","Uses webhook-based waiting pattern which pauses workflow during generation","Tested only with n8n version 2.3.4"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-binary.binary","n8n-nodes-webhook.webhook"]}


node_type: n8n-nodes-taddy.taddyApi
package_name: n8n-nodes-taddy
display_name: Taddy API
description: Interact with Taddy Podcast API - Search 4M+ podcasts and 180M+ episodes
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: jksr194
author_github_url: https://github.com/Julian194/n8n-taddy.git
npm_package_name: n8n-nodes-taddy
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:40.999Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Episode",
          "value": "episode"
        },
        {
          "name": "Latest Episode",
          "value": "latest"
        },
        {
          "name": "Podcast",
          "value": "podcast"
        },
        {
          "name": "Popular Content",
          "value": "popular"
        },
        {
          "name": "Search",
          "value": "search"
        },
        {
          "name": "Top Chart",
          "value": "topCharts"
        },
        {
          "name": "Transcript",
          "value": "transcript"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "searchContent",
      "options": [
        {
          "name": "Search",
          "value": "searchContent",
          "action": "Search podcasts and episodes",
          "description": "Search across podcasts, episodes, comics, and creators"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDetails",
      "options": [
        {
          "name": "Get",
          "value": "getDetails",
          "action": "Get a podcast",
          "description": "Get detailed information about a specific podcast"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "podcast"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDetails",
      "options": [
        {
          "name": "Get",
          "value": "getDetails",
          "action": "Get an episode",
          "description": "Get detailed information about a specific episode"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "episode"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getPopular",
      "options": [
        {
          "name": "Get",
          "value": "getPopular",
          "action": "Get popular podcasts",
          "description": "Get popular/trending podcasts"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "popular"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getLatest",
      "options": [
        {
          "name": "Get",
          "value": "getLatest",
          "action": "Get latest episodes",
          "description": "Get latest episodes from multiple podcasts"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "latest"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTranscript",
      "options": [
        {
          "name": "Get",
          "value": "getTranscript",
          "action": "Get a transcript",
          "description": "Get transcript for a specific episode"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transcript"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getByCountry",
      "options": [
        {
          "name": "Get by Country",
          "value": "getByCountry",
          "action": "Get top charts by country",
          "description": "Get Apple Podcasts top charts by country"
        },
        {
          "name": "Get by Genre",
          "value": "getByGenres",
          "action": "Get top charts by genre",
          "description": "Get Apple Podcasts top charts by genre"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "topCharts"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"searchContent","name":"Search","description":"Search across podcasts, episodes, comics, and creators","resource":"search"},{"operation":"getDetails","name":"Get","description":"Get detailed information about a specific podcast","resource":"podcast"},{"operation":"getDetails","name":"Get","description":"Get detailed information about a specific episode","resource":"episode"},{"operation":"getPopular","name":"Get","description":"Get popular/trending podcasts","resource":"popular"},{"operation":"getLatest","name":"Get","description":"Get latest episodes from multiple podcasts","resource":"latest"},{"operation":"getTranscript","name":"Get","description":"Get transcript for a specific episode","resource":"transcript"},{"operation":"getByCountry","name":"Get by Country","description":"Get Apple Podcasts top charts by country","resource":"topCharts"},{"operation":"getByGenres","name":"Get by Genre","description":"Get Apple Podcasts top charts by genre","resource":"topCharts"}]

npm_readme:
  # n8n-nodes-taddy

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

  Taddy provides access to over 4 million podcasts and 180+ million episodes through a comprehensive GraphQL API. Search for podcast content, get detailed podcast and episode information, discover popular content, find latest episodes, and access transcripts.

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

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

  ## Installation

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

  Community package name: `n8n-nodes-taddy`

  ## Operations

  ### Search Content
  - **Full-text search** across podcasts and episodes with advanced filtering
  - **Field selection** - Choose which data fields to include in results
  - **Content type filtering** - Search podcasts, episodes, or both
  - **Advanced filters** - Language, country, genre, date ranges, duration, and more
  - **Exclude terms** - Exclude specific terms from search results
  - **Sorting options** - Sort by popularity or exactness
  - **Match types** - Exact phrase, all terms, or most terms matching

  ### Podcast Details
  - Get detailed podcast information by UUID, name, iTunes ID, or RSS URL
  - Includes episode list, metadata, genres, and statistics

  ### Episode Details
  - Get detailed episode information by UUID, GUID, or name
  - Includes podcast series information, transcript data, and chapters

  ### Popular Content
  - Discover trending podcasts with optional language and genre filtering
  - Pagination support for browsing popular content

  ### Latest Episodes
  - Get recent episodes from specific podcasts or RSS feeds
  - Filter by podcast UUIDs or RSS URLs with pagination

  ### Transcript
  - Retrieve episode transcripts in multiple formats (text, SRT, VTT, JSON)
  - Support for on-demand transcript generation

  ### Top Charts
  - Get Apple Podcasts top charts by country with filtering options
  - Get top charts by genre with optional country filtering
  - Support for both podcast series and episode content types

  ## Credentials

  To use this node, you need to authenticate with the Taddy API:

  ### Prerequisites
  1. Sign up for a Taddy API account at [taddy.org](https://taddy.org)
  2. Obtain your API credentials from the Taddy dashboard

  ### Setting up credentials in n8n
  1. In n8n, go to **Settings** > **Credentials**
  2. Click **Create New** and search for "Taddy API"
  3. Enter your credentials:
     - **X-USER-ID**: Your Taddy user identifier
     - **X-API-KEY**: Your Taddy API key
  4. Test the connection and save

  ### Authentication Method
  The node uses header-based authentication, automatically adding the required `X-USER-ID` and `X-API-KEY` headers to all API requests.

  ## Compatibility

  - **Minimum n8n version**: 0.174.0
  - **Tested with**: n8n 0.174.0 - 1.0.0+
  - **Node.js version**: 16+ (matches n8n requirements)

  This node follows n8n community node standards and should be compatible with all modern n8n versions.

  ## Usage

  ### Basic Search Example
  1. Add the Taddy API node to your workflow
  2. Select **Search Content** operation
  3. Enter a search term (e.g., "technology podcasts")
  4. Configure optional filters like language or date range
  5. Choose which fields to include in the response
  6. Execute to get search results with metadata

  ### Working with Results
  - **Search results** include pagination metadata as the first item for easy access to `totalCount` and `pagesCount`
  - **Episode results** automatically include podcast series information (name, UUID) by default
  - **Field selection** is content-type aware - episode-only fields are filtered out for podcast searches

  ### Advanced Features
  - **Exclude terms**: Use the dedicated "Exclude Terms" field to filter out unwanted content
  - **Response fields**: Select only the data fields you need to optimize response size
  - **Pagination**: Use the metadata from search results to implement pagination workflows
  - **Date filtering**: Supports precise date ranges with automatic epoch timestamp conversion

  ### Common Workflows
  - **Content Discovery**: Search → Filter → Extract podcast information for subscriptions
  - **Content Analysis**: Search with transcripts → Get transcript → Analyze content
  - **Monitoring**: Search for specific topics → Check for new episodes → Send notifications
  - **Trend Analysis**: Get top charts by country/genre → Track popular podcast trends

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Taddy API Documentation](https://taddy.org) - Official API documentation and guides
  * [GraphQL API Reference](https://taddy.org/developers/graphql) - Complete API schema and examples
  * [Node Testing Guide](./docs/testing-guide.md) - Comprehensive testing procedures for this node

  ## Version History


  ### 0.1.2 (2025-07-29)
  - Repository Url fixed

  ### 0.1.1 (2025-07-29)
  - n8n guidelines checklist
  ### 0.1.0 (Initial Release)
  - Full Taddy API integration with 7 resource types
  - Advanced search with field selection and filtering
  - Podcast and episode detail operations
  - Popular content discovery
  - Latest episodes retrieval
  - Transcript access with multiple formats
  - Top charts by country and genre
  - Comprehensive error handling and validation
  - Production-ready with extensive testing coverage

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with the Taddy Podcast API to search millions of podcasts and episodes, retrieve detailed content information, access transcripts, and discover trending content.","capabilities":["Full-text search across podcasts and episodes with advanced filtering","Field selection to optimize response data","Search by content type (podcast, episode, or both)","Filter by language, country, genre, date ranges, and duration","Exclude specific terms from search results","Sort results by popularity or exactness","Retrieve podcast details by UUID, name, iTunes ID, or RSS URL","Retrieve episode details including transcripts and chapters","Discover trending podcasts with pagination","Retrieve latest episodes from podcasts or RSS feeds"],"authentication":"API key required (X-USER-ID and X-API-KEY headers)","commonUseCases":["Content discovery and podcast subscription management","Content analysis using episode transcripts","Monitoring new episodes for specific topics","Trend analysis of popular podcast content"],"limitations":["Community node (not official n8n node)","Requires separate Taddy API account and credentials"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-http-request","n8n-nodes-ai-text-to-speech"]}


node_type: @fibery/n8n-nodes-fibery.fibery
package_name: @fibery/n8n-nodes-fibery
display_name: Fibery
description: Read, update, write and delete data from Fibery
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: gaswelder
author_github_url: https://github.com/Fibery-inc/n8n-nodes-fibery.git
npm_package_name: @fibery/n8n-nodes-fibery
npm_version: 0.1.19
community_fetched_at: 2026-03-25T21:19:41.000Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "entity",
      "options": [
        {
          "name": "Database",
          "value": "database"
        },
        {
          "name": "Entity",
          "value": "entity"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many databases",
          "description": "Get many databases from the workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "database"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an entity",
          "description": "Create a new entity"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an entity",
          "description": "Delete an entity"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an entity",
          "description": "Get an entity"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many entities",
          "description": "Get many entities from a database"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an entity",
          "description": "Update an entity"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "entity"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"getAll","name":"Get Many","description":"Get many databases from the workspace","resource":"database"},{"operation":"create","name":"Create","description":"Create a new entity","resource":"entity"},{"operation":"delete","name":"Delete","description":"Delete an entity","resource":"entity"},{"operation":"get","name":"Get","description":"Get an entity","resource":"entity"},{"operation":"getMany","name":"Get Many","description":"Get many entities from a database","resource":"entity"},{"operation":"update","name":"Update","description":"Update an entity","resource":"entity"}]

npm_readme:
  # n8n-nodes-fibery

  ![Fibery x n8n](./fibery-x-n8n.png)

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

  Fibery is your company’s operating system
  It's a work platform that replaces scattered tools and connects teams. Chosen by nerds, appreciated by everyone (almost).

  [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.

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

  ## Operations

  ### Database

  - **get many**. List all databases in the workspace.

  ### Entity

  - **create**. Create a new entity.
  - **delete**. Delete an entity.
  - **get**. Get an entity.s
  - **get many**. Search and list entities from a database.
  - **update**. Update an entity.

  ### Triggers

  - **default**. Handle Fibery events to Database from webhooks.

  ## Credentials

  At the moment this node supports only one authentication method: **API Key**.

  ### Using API Key

  1. Enter the name of your Fibery workspace in the **Workspace** field. It can be obtained from the URL of your workspace. For example, if your workspace URL is `https://my-company.fibery.io`, then the workspace name is `my-company`.
  2. Obtain an API key from your Fibery workspace. Please follow the [Fibery API keys](https://the.fibery.io/@public/User_Guide/Guide/Fibery-API-keys-252) guide.
  3. Enter API key in the **API Key** field.

  ## Compatibility

  Tested on: 1.111.0

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Fibery](https://www.fibery.io/)
  - [Fibery API documentation](https://the.fibery.io/@public/User_Guide/Guide/Fibery-API-overview-279)

ai_documentation_summary:
  {"purpose":"This n8n community node enables full CRUD operations (create, read, update, delete) on Fibery entities and databases within automation workflows.","capabilities":["Create new entities","Delete entities","Retrieve single entities","Search and list multiple entities from databases","Update existing entities","List all databases in a workspace","Handle Fibery events via webhooks"],"authentication":"API Key","commonUseCases":["Automating data entry into Fibery workspaces","Syncing external data sources to Fibery","Triggering workflows based on Fibery events","Updating records based on conditional logic"],"limitations":["Only supports API Key authentication method","Requires manual workspace name extraction from URL","Community node status may imply less official support than core nodes"],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Code Node"]}


node_type: n8n-nodes-pagepixels-screenshots.pagePixelsScreenshots
package_name: n8n-nodes-pagepixels-screenshots
display_name: PagePixels Screenshots
description: Capture website screenshots using the PagePixels API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: pagepixels
author_github_url: https://github.com/PagePixels/
npm_package_name: n8n-nodes-pagepixels-screenshots
npm_version: 1.0.0
community_fetched_at: 2026-03-25T21:19:41.001Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "screenshot",
      "options": [
        {
          "name": "Screenshot",
          "value": "screenshot"
        },
        {
          "name": "Metadata",
          "value": "metadata"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "quickSnap",
      "options": [
        {
          "name": "AI Analysis Screenshot",
          "value": "aiAnalysisScreenshot",
          "action": "Take a screenshot and analyze it with AI",
          "routing": {
            "request": {
              "qs": {
                "analyze_image_with_ai": true
              },
              "url": "/snap",
              "method": "POST"
            }
          },
          "description": "Capture a web page screenshot and run AI analysis with a custom prompt"
        },
        {
          "name": "Quick Snap",
          "value": "quickSnap",
          "action": "Take a screenshot of a web page",
          "routing": {
            "request": {
              "url": "/snap",
              "method": "POST"
            }
          },
          "description": "Capture an instant screenshot from a URL"
        },
        {
          "name": "Real Location Screenshot",
          "value": "realLocationScreenshot",
          "action": "Capture a screenshot from a real geographic location",
          "routing": {
            "request": {
              "url": "/snap",
              "method": "POST"
            }
          },
          "description": "Capture screenshots using residential IPs within a chosen location"
        },
        {
          "name": "Snap HTML",
          "value": "snapHtml",
          "action": "Take a screenshot of custom HTML",
          "routing": {
            "request": {
              "url": "/snap_html",
              "method": "POST"
            }
          },
          "description": "Render supplied HTML and capture it as an image"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "screenshot"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listRealLocations",
      "options": [
        {
          "name": "List Real Locations",
          "value": "listRealLocations",
          "action": "List real locations",
          "routing": {
            "request": {
              "url": "/real_locations",
              "method": "GET"
            }
          },
          "description": "Retrieve the available residential proxy locations"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "metadata"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"aiAnalysisScreenshot","name":"AI Analysis Screenshot","description":"Capture a web page screenshot and run AI analysis with a custom prompt","resource":"screenshot"},{"operation":"quickSnap","name":"Quick Snap","description":"Capture an instant screenshot from a URL","resource":"screenshot"},{"operation":"realLocationScreenshot","name":"Real Location Screenshot","description":"Capture screenshots using residential IPs within a chosen location","resource":"screenshot"},{"operation":"snapHtml","name":"Snap HTML","description":"Render supplied HTML and capture it as an image","resource":"screenshot"},{"operation":"listRealLocations","name":"List Real Locations","description":"Retrieve the available residential proxy locations","resource":"metadata"}]

npm_readme:
  # n8n-nodes-pagepixels-screenshots

  This n8n community node lets you trigger the PagePixels Screenshots API directly from your workflows. Capture high-fidelity website screenshots, render custom HTML, request real location captures (from countries and states around the world), and pair each image with AI-powered analysis, no custom HTTP node required.

  [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, then install this package with:

  ```bash
  npm install n8n-nodes-pagepixels-screenshots
  ```

  Restart n8n and the node will appear in the editor.

  ## Operations

  All operations return the raw PagePixels response, including the screenshot asset URLs, embed links, job IDs, and AI metadata when available.

  - **Quick Snap** – Capture an instant screenshot from any public URL.
  - **Snap HTML** – Render supplied HTML (with optional CSS/JS injection) and capture the output.
  - **Real Location Screenshot** – Capture a page through PagePixels’ residential proxy network (countries, regions, and major cities).
  - **AI Analysis Screenshot** – Take a screenshot and run an AI visual analysis using your custom prompt.

  Each operation exposes the full set of optional PagePixels parameters — viewport size, wait conditions, multi-step actions, ad/cookie blocking, geolocation overrides, headers, cookies, caching, and more.

  ## Credentials

  Configure one of the two supported authentication strategies in n8n.

  ### API key

  1. Sign in to [PagePixels](https://pagepixels.com) and create an API key in the dashboard.
  2. Add the **PagePixels API** credential in n8n and paste the key.
  3. Leave “Use Bearer Prefix” enabled unless your key must be sent in plain text.
  4. (Optional) Provide extra headers in the node if you need to override the default `Authorization: Bearer` header.

  ### OAuth2

  1. Register an OAuth app by contacting support for production credentials.
  2. In n8n, create a **PagePixels OAuth2 API** credential.
  3. Use `https://pagepixels.com/oauth/authorize` as the authorization URL and `https://pagepixels.com/oauth/token` as the access token URL (defaults are pre-filled).
  4. Enter your client ID and client secret, then complete the OAuth handshake when prompted in a workflow.

  ## Compatibility

  Compatible with n8n v1.60.0 or later.

  ## Usage

  1. Drop the **PagePixels Screenshots** node into your workflow and select the desired operation.
  2. Choose the authentication method and credential.
  3. Provide the required fields (`URL`, `HTML Content`, `AI Prompt`, or `Proxy Location`, depending on the operation).
  4. Expand **Options** to set advanced rendering controls (multi-step actions, viewport, selectors, blocking flags, etc.).
  5. Execute the workflow to receive the screenshot metadata, including direct download links and analysis output.

  Tip: Chain the output into an **HTTP Request**, **Webhook**, or **Drive** node to archive images, notify teams, or trigger downstream automations.

  ## Resources

  - [PagePixels Screenshots API documentation](https://pagepixels.com/app/screenshots-api-documentation)
  - [PagePixels support](https://pagepixels.com/support)
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

ai_documentation_summary:
  {"purpose":"Captures high-fidelity website screenshots, renders custom HTML, performs real-world location captures, and generates AI-powered visual analysis directly from n8n workflows.","capabilities":["Quick Snap: Capture screenshots from public URLs","Snap HTML: Render custom HTML with optional CSS/JS injection","Real Location Screenshot: Capture pages via residential proxy network from specific countries/regions","AI Analysis Screenshot: Generate screenshots with custom AI visual analysis prompts","Custom viewport and size control","Multi-step actions and selectors","Ad and cookie blocking","Geolocation overrides","Custom headers and cookies","Caching support"],"authentication":"API key or OAuth2","commonUseCases":["Automated website monitoring and archiving","Product page visual analysis for e-commerce","Competitor landscape tracking with location-specific views","Generating visual reports with AI insights","Automated content rendering and testing"],"limitations":["Community node (not core n8n)","Requires external API key or OAuth2 setup","Requires n8n v1.60.0 or later","Real location captures require residential proxy network access"],"relatedNodes":["HTTP Request","Webhook","Google Drive","File Node"]}


node_type: n8n-nodes-linked-api.linkedApi
package_name: n8n-nodes-linked-api
display_name: Linked API
description: Control your LinkedIn accounts and retrieve real-time data.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: linked-api
author_github_url: https://github.com/Linked-API/
npm_package_name: n8n-nodes-linked-api
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:41.001Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "standard",
      "options": [
        {
          "name": "Standard Interface",
          "value": "standard"
        },
        {
          "name": "Sales Navigator",
          "value": "salesNavigator"
        },
        {
          "name": "Other",
          "value": "other"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "searchCompanies",
      "options": [
        {
          "name": "Check Connection Status",
          "value": "checkConnectionStatus",
          "action": "Check connection status",
          "description": "Check the connection status between your account and another person"
        },
        {
          "name": "Comment on Post",
          "value": "commentOnPost",
          "action": "Comment on post",
          "description": "Leave a comment on a LinkedIn post"
        },
        {
          "name": "Create Post",
          "value": "createPost",
          "action": "Create post",
          "description": "Create a new LinkedIn post"
        },
        {
          "name": "Fetch Company",
          "value": "fetchCompany",
          "action": "Fetch company",
          "description": "Fetch detailed information about a LinkedIn company"
        },
        {
          "name": "Fetch Person",
          "value": "fetchPerson",
          "action": "Fetch person",
          "description": "Fetch detailed information about a LinkedIn person"
        },
        {
          "name": "Fetch Post",
          "value": "fetchPost",
          "action": "Fetch post",
          "description": "Retrieve detailed information about a LinkedIn post"
        },
        {
          "name": "React to Post",
          "value": "reactToPost",
          "action": "React to post",
          "description": "React to a LinkedIn post with like, celebrate, support, love, insightful, or funny"
        },
        {
          "name": "Remove Connection",
          "value": "removeConnection",
          "action": "Remove connection",
          "description": "Remove a person from your connections"
        },
        {
          "name": "Retrieve Connections",
          "value": "retrieveConnections",
          "action": "Retrieve connections",
          "description": "Retrieve your connections with optional filtering"
        },
        {
          "name": "Retrieve Pending Requests",
          "value": "retrievePendingRequests",
          "action": "Retrieve pending requests",
          "description": "Retrieve pending connection requests sent from your account"
        },
        {
          "name": "Retrieve Performance",
          "value": "retrievePerformance",
          "action": "Retrieve performance",
          "description": "Retrieve performance analytics from your LinkedIn dashboard"
        },
        {
          "name": "Retrieve SSI",
          "value": "retrieveSSI",
          "action": "Retrieve SSI",
          "description": "Retrieve your current Social Selling Index (SSI) score"
        },
        {
          "name": "Search Companies",
          "value": "searchCompanies",
          "action": "Search companies",
          "description": "Search for companies on LinkedIn"
        },
        {
          "name": "Search People",
          "value": "searchPeople",
          "action": "Search people",
          "description": "Search for people on LinkedIn"
        },
        {
          "name": "Send Connection Request",
          "value": "sendConnectionRequest",
          "action": "Send connection request",
          "description": "Send a connection request to a person"
        },
        {
          "name": "Send Message",
          "value": "sendMessage",
          "action": "Send message",
          "description": "Send a message to a LinkedIn person"
        },
        {
          "name": "Sync Conversation",
          "value": "syncConversation",
          "action": "Sync conversation",
          "description": "Sync a conversation so you can start polling it for new messages"
        },
        {
          "name": "Withdraw Connection Request",
          "value": "withdrawConnectionRequest",
          "action": "Withdraw connection request",
          "description": "Withdraw a connection request sent to a person"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "standard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "nvSearchCompanies",
      "options": [
        {
          "name": "Fetch Company in Sales Navigator",
          "value": "nvFetchCompany",
          "action": "Fetch company in Sales Navigator",
          "description": "Fetch detailed information about a company in Sales Navigator"
        },
        {
          "name": "Fetch Person in Sales Navigator",
          "value": "nvFetchPerson",
          "action": "Fetch person in Sales Navigator",
          "description": "Fetch detailed information about a person in Sales Navigator"
        },
        {
          "name": "Search Companies in Sales Navigator",
          "value": "nvSearchCompanies",
          "action": "Search companies in Sales Navigator",
          "description": "Search for companies in Sales Navigator"
        },
        {
          "name": "Search People in Sales Navigator",
          "value": "nvSearchPeople",
          "action": "Search people in Sales Navigator",
          "description": "Search for people in Sales Navigator"
        },
        {
          "name": "Send Message in Sales Navigator",
          "value": "nvSendMessage",
          "action": "Send message in Sales Navigator",
          "description": "Send a message to a person in Sales Navigator"
        },
        {
          "name": "Sync Conversation in Sales Navigator",
          "value": "nvSyncConversation",
          "action": "Sync conversation in Sales Navigator",
          "description": "Sync a conversation in Sales Navigator so you can start polling it"
        }
      ],
      "displayName": "Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "salesNavigator"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "customWorkflow",
      "options": [
        {
          "name": "Custom Workflow",
          "value": "customWorkflow",
          "action": "Execute custom workflow",
          "description": "Execute a custom multi-step workflow using raw workflow definition"
        },
        {
          "name": "Get Workflow Result",
          "value": "getWorkflowResult",
          "action": "Get workflow result",
          "description": "Get the result of workflow execution"
        },
        {
          "name": "Cancel Workflow",
          "value": "cancelWorkflow",
          "action": "Cancel workflow",
          "description": "Cancel a running workflow execution"
        },
        {
          "name": "Poll Conversations",
          "value": "pollConversations",
          "action": "Poll conversations",
          "description": "Poll multiple conversations for new messages"
        },
        {
          "name": "Actions Usage Statistics",
          "value": "actionsUsageStatistics",
          "action": "Get actions statistics",
          "description": "Get actions usage statistics for a date range"
        }
      ],
      "displayName": "Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "other"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"checkConnectionStatus","name":"Check Connection Status","description":"Check the connection status between your account and another person","resource":"standard"},{"operation":"commentOnPost","name":"Comment on Post","description":"Leave a comment on a LinkedIn post","resource":"standard"},{"operation":"createPost","name":"Create Post","description":"Create a new LinkedIn post","resource":"standard"},{"operation":"fetchCompany","name":"Fetch Company","description":"Fetch detailed information about a LinkedIn company","resource":"standard"},{"operation":"fetchPerson","name":"Fetch Person","description":"Fetch detailed information about a LinkedIn person","resource":"standard"},{"operation":"fetchPost","name":"Fetch Post","description":"Retrieve detailed information about a LinkedIn post","resource":"standard"},{"operation":"reactToPost","name":"React to Post","description":"React to a LinkedIn post with like, celebrate, support, love, insightful, or funny","resource":"standard"},{"operation":"removeConnection","name":"Remove Connection","description":"Remove a person from your connections","resource":"standard"},{"operation":"retrieveConnections","name":"Retrieve Connections","description":"Retrieve your connections with optional filtering","resource":"standard"},{"operation":"retrievePendingRequests","name":"Retrieve Pending Requests","description":"Retrieve pending connection requests sent from your account","resource":"standard"},{"operation":"retrievePerformance","name":"Retrieve Performance","description":"Retrieve performance analytics from your LinkedIn dashboard","resource":"standard"},{"operation":"retrieveSSI","name":"Retrieve SSI","description":"Retrieve your current Social Selling Index (SSI) score","resource":"standard"},{"operation":"searchCompanies","name":"Search Companies","description":"Search for companies on LinkedIn","resource":"standard"},{"operation":"searchPeople","name":"Search People","description":"Search for people on LinkedIn","resource":"standard"},{"operation":"sendConnectionRequest","name":"Send Connection Request","description":"Send a connection request to a person","resource":"standard"},{"operation":"sendMessage","name":"Send Message","description":"Send a message to a LinkedIn person","resource":"standard"},{"operation":"syncConversation","name":"Sync Conversation","description":"Sync a conversation so you can start polling it for new messages","resource":"standard"},{"operation":"withdrawConnectionRequest","name":"Withdraw Connection Request","description":"Withdraw a connection request sent to a person","resource":"standard"},{"operation":"nvFetchCompany","name":"Fetch Company in Sales Navigator","description":"Fetch detailed information about a company in Sales Navigator","resource":"salesNavigator"},{"operation":"nvFetchPerson","name":"Fetch Person in Sales Navigator","description":"Fetch detailed information about a person in Sales Navigator","resource":"salesNavigator"},{"operation":"nvSearchCompanies","name":"Search Companies in Sales Navigator","description":"Search for companies in Sales Navigator","resource":"salesNavigator"},{"operation":"nvSearchPeople","name":"Search People in Sales Navigator","description":"Search for people in Sales Navigator","resource":"salesNavigator"},{"operation":"nvSendMessage","name":"Send Message in Sales Navigator","description":"Send a message to a person in Sales Navigator","resource":"salesNavigator"},{"operation":"nvSyncConversation","name":"Sync Conversation in Sales Navigator","description":"Sync a conversation in Sales Navigator so you can start polling it","resource":"salesNavigator"},{"operation":"customWorkflow","name":"Custom Workflow","description":"Execute a custom multi-step workflow using raw workflow definition","resource":"other"},{"operation":"getWorkflowResult","name":"Get Workflow Result","description":"Get the result of workflow execution","resource":"other"},{"operation":"cancelWorkflow","name":"Cancel Workflow","description":"Cancel a running workflow execution","resource":"other"},{"operation":"pollConversations","name":"Poll Conversations","description":"Poll multiple conversations for new messages","resource":"other"},{"operation":"actionsUsageStatistics","name":"Actions Usage Statistics","description":"Get actions usage statistics for a date range","resource":"other"}]

npm_readme:
  Linked API for n8n connects your LinkedIn account to n8n's automation platform, so you can build visual workflows that search for prospects, send messages, manage connections, extract data, and more – all with [industry-leading safety](https://linkedapi.io/safety/).

  > [!IMPORTANT]
  > Our n8n node is a verified community node – just open the nodes panel, search for "Linked API", and install it with a click.
  > 
  > Alternatively, install it manually: go to Settings → Community Nodes, enter n8n-nodes-linked-api, and click Install.

  ## Use cases
  - **Lead generation pipeline**. Search for prospects matching your criteria, automatically send connection requests, wait for acceptance, then send personalized follow-up messages. Connect the results to your CRM to track everything in one place.
  - **CRM synchronization**. When a new lead enters your CRM, automatically find their LinkedIn profile, send a connection request, and update the CRM with their LinkedIn data. Keep your sales pipeline enriched with real-time LinkedIn information.
  - **Content engagement**. Monitor when your target accounts post on LinkedIn, automatically react or comment on their posts, then log the engagement in your tracking spreadsheet. Build relationships at scale without losing the personal touch.
  - **Recruitment workflows**. Search for candidates with specific skills, send personalized InMails through Sales Navigator, track responses in your ATS, and automatically follow up with interested candidates. Streamline your entire recruitment funnel.
  - **Multi-channel outreach**. Combine LinkedIn with email, Slack, and other channels. When someone accepts your connection request, trigger an email sequence, notify your team in Slack, and create a task in your project management tool.


  ## Get started
  To build LinkedIn automations with n8n, read these essential guides:

  1. [Creating credential](https://linkedapi.io/integrations/n8n/creating-credential/) – get your API tokens and connect to n8n.
  2. [Building workflows](https://linkedapi.io/integrations/n8n/building-workflows-0/) – learn how to use Linked API actions in your workflows.
  3. [Available actions](https://linkedapi.io/integrations/n8n/available-actions/) – explore all LinkedIn actions you can automate.

  ## License
  This project is licensed under the MIT – see the [LICENSE](https://github.com/Linked-API/n8n-nodes-linked-api/blob/main/LICENSE.md) file for details.

ai_documentation_summary:
  {"purpose":"This n8n community node connects to LinkedIn accounts to automate prospecting, messaging, connection management, and data extraction within visual workflows.","capabilities":["Search for prospects by criteria","Send connection requests","Send personalized messages (InMails)","Manage connections","Extract profile data","Monitor account posts","React to or comment on posts","Track responses and engagement","Sync data to CRM or spreadsheets"],"authentication":"API tokens (OAuth2-based credential setup required via Linked API integration)","commonUseCases":["Lead generation pipelines","CRM synchronization with LinkedIn data","Content engagement automation","Recruitment and candidate outreach","Multi-channel outreach workflows"],"limitations":["Community node (not official n8n node)","Requires manual installation from community panel","Dependent on Linked API's safety and rate limits"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.webhook","n8n-nodes-base.credentialManager"]}


node_type: n8n-nodes-octagon.octagonAgents
package_name: n8n-nodes-octagon
display_name: Octagon
description: Financial AI agents
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: octagonai
author_github_url: https://github.com/OctagonAI/
npm_package_name: n8n-nodes-octagon
npm_version: 1.0.8
community_fetched_at: 2026-03-25T21:19:41.002Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # Octagon for n8n

  A professional n8n node that integrates with [Octagon's AI Agents API](https://docs.octagonagents.com/) for financial and market research. This node provides access to Octagon's specialized AI agents for analyzing SEC filings, earnings transcripts, stock data, private market intelligence, and more.

  ## Features

  - **🔄 Smart Router Agent**: Octagon Agent automatically routes queries to the most appropriate specialized agent
  - **15 Specialized Agents**: Access to all Octagon's AI agents for different research domains
  - **🔒 Secure Authentication**: Built-in credential management for API keys
  - **📊 Rich Output**: Returns analysis with source citations and metadata
  - **⚡ Simplified Interface**: Clean, professional UI with essential options only
  - **🛡️ Error Handling**: Graceful error handling with detailed error messages

  ## Available Agents

  ### 🔄 **Smart Router (Default)**

  - **Octagon Agent** (`octagon-agent`) - Intelligent router that automatically selects the best specialized agent for your query

  ### 📈 **Public Market Agents**

  - **SEC Filings Agent** (`octagon-sec-agent`) - Analyzes SEC filings data
  - **Transcripts Agent** (`octagon-transcripts-agent`) - Analyzes earnings call transcripts
  - **Stock Data Agent** (`octagon-stock-data-agent`) - Analyzes stock market data
  - **Financials Agent** (`octagon-financials-agent`) - Analyzes financial statements
  - **Holdings Agent** (`octagon-holdings-agent`) - Analyzes institutional ownership and holdings
  - **Crypto Agent** (`octagon-crypto-agent`) - Analyzes cryptocurrency market data

  ### 🏢 **Private Market Agents**

  - **Companies Agent** (`octagon-companies-agent`) - Provides private company information
  - **Funding Agent** (`octagon-funding-agent`) - Analyzes private company funding data
  - **Funds Agent** (`octagon-funds-agent`) - Analyzes private funds
  - **Deals Agent** (`octagon-deals-agent`) - Analyzes M&A and IPO data
  - **Investors Agent** (`octagon-investors-agent`) - Provides investor information
  - **Debts Agent** (`octagon-debts-agent`) - Analyzes private debts, borrowers, and lenders

  ### 🔍 **Research Agents**

  - **Scraper Agent** (`octagon-scraper-agent`) - Extracts data from websites
  - **Deep Research Agent** (`octagon-deep-research-agent`) - Conducts in-depth research

  ## Installation

  ### Prerequisites

  1. **Octagon API Key**: Get your free API key from [Octagon](https://octagonagents.com)
     - Sign up for an account
     - Go to Settings → API Keys
     - Create a new API key

  2. **n8n Installation**: This node requires n8n v0.198.0 or higher

  ### Install in n8n Cloud

  > **Note**: Only the n8n instance owner can install and manage community nodes. The instance owner is the person who sets up and manages user management. All members of an n8n instance can use already installed community nodes in their workflows.

  #### Install a verified community node

  To install the Octagon community node:

  1. **Access the nodes panel**: Go to the Canvas and open the nodes panel (either by selecting '+' or pressing Tab).

  2. **Search for Octagon**: Search for "Octagon" in the node search. If there is a matching verified community node, you will see a **More from the community** section at the bottom of the nodes panel.

  3. **Select the node**: Select the Octagon node you want to install. This takes you to a detailed view of the node, showing all the supported actions.

  4. **Install**: Select **Install**. This will install the node for your instance and enable all members to use it in their workflows.

  5. **Start using**: You can now add the Octagon node to your workflows.

  #### Alternative installation method

  If the node doesn't appear in the Canvas search:

  1. **Go to Settings**: Navigate to **Settings** → **Community nodes**.
  2. **Install a community node**: Click **Install a community node**.
  3. **Enter package name**: Enter the npm package name: `n8n-nodes-octagon`
  4. **Install**: Click **Install** and wait for the installation to complete.
  5. **Verify**: Go to your workflow editor and search for "Octagon" in the nodes panel.

  > **Important**: Community nodes in n8n Cloud are sandboxed and reviewed for security. Installation may take a few minutes to complete.

  #### Uninstall a community node

  To uninstall the Octagon community node:

  1. **Go to Settings**: Navigate to **Settings** → **Community nodes**.
  2. **Find the node**: Locate the Octagon node in your installed community nodes.
  3. **Open options**: Select **Options** (three dots menu) on the node.
  4. **Uninstall**: Select **Uninstall package**.
  5. **Confirm**: Select **Uninstall Package** in the confirmation modal.

  ## Usage

  ### Quick Start

  1. **Add Node**: Search for "Octagon" in n8n workflow
  2. **Configure**:
     - **Add Credentials**: Go to Credentials → "Octagon API"
     - **Agent**: Use "Octagon Agent (Router)" for automatic routing (default)
     - **Query**: Enter your financial research question
  3. **Execute**: Run the workflow to get AI-powered analysis with citations

  ### Node Configuration

  The node interface is clean and simple:

  - **🎯 Agent**: Select from router or 14 specialized agents
  - **💬 Query**: Your research question (supports complex queries)
  - **⚙️ Additional Options**:
    - Include Token Usage (optional)

  ### Example Queries

  #### Universal Queries (using Octagon Agent Router)

  ```
  Tell me about Apple's latest earnings performance
  What's happening with Tesla's stock price?
  Analyze SpaceX's latest funding round
  Compare Microsoft vs Google revenue growth
  ```

  #### Specialized Agent Queries

  ```
  # SEC Filings Agent
  What were Apple's revenue numbers in Q3 2023?
  Analyze Tesla's latest 10-K filing for risk factors

  # Transcripts Agent
  What did Apple's CEO say about iPhone sales in the latest earnings call?
  Analyze management guidance from Tesla's Q4 2023 earnings call

  # Stock Data Agent
  What's the 52-week high and low for AAPL?
  Compare Tesla's stock performance to the S&P 500 this year

  # Companies Agent (Private Market)
  Tell me about Stripe's latest funding round
  What is the current valuation of SpaceX?
  ```

  ### Output Format

  The node returns a JSON object with the following structure:

  ```json
  {
  	"agent": "octagon-agent",
  	"query": "Tell me about Apple's latest earnings",
  	"analysis": "Apple reported strong Q4 2023 results with revenue of $89.5 billion...",
  	"sources": [
  		{
  			"order": 1,
  			"name": "Apple Inc. (10-Q) - 2023-Q4, Page: 10",
  			"url": "https://octagon-sec-filings.s3.amazonaws.com/..."
  		}
  	],
  	"metadata": {
  		"apiType": "responses",
  		"timestamp": "2024-01-15T10:30:00.000Z"
  	},
  	"usage": {
  		"prompt_tokens": 150,
  		"completion_tokens": 800,
  		"total_tokens": 950
  	}
  }
  ```

  ## Best Practices

  1. **🎯 Use the Router**: Start with "Octagon Agent (Router)" - it automatically selects the best specialized agent
  2. **📝 Be Specific**: The more specific your query, the more accurate the response
  3. **🔄 One Task Per Query**: Focus each query on a single analytical task for best results
  4. **📅 Provide Context**: Include relevant context like time periods, specific metrics, or companies
  5. **🔗 Follow Citations**: Always check the source citations for verification

  ## Error Handling

  The node includes comprehensive error handling:

  - **🔑 Authentication Errors**: Invalid API keys, expired tokens
  - **🌐 Network Errors**: Connection issues, timeouts, rate limits
  - **📝 Query Errors**: Malformed or empty queries
  - **🤖 Agent Errors**: Agent-specific errors or limitations

  Errors are returned in a structured format:

  ```json
  {
  	"error": true,
  	"message": "Authentication failed. Please check your API key.",
  	"query": "Your original query",
  	"agent": "octagon-agent",
  	"timestamp": "2024-01-15T10:30:00.000Z"
  }
  ```

  ## Troubleshooting

  ### Common Issues

  1. **Node not appearing**: Restart n8n after installation
  2. **Icon not loading**: Clear browser cache
  3. **Authentication errors**: Verify API key in credentials
  4. **Rate limiting**: Check your Octagon plan limits

  ### Support Channels

  - **📚 Documentation**: [Octagon API Documentation](https://docs.octagonagents.com/)
  - **🐛 Issues**: [GitHub Issues](https://github.com/octagon/octagon-n8n-node/issues)
  - **💬 Support**: Contact Octagon support for API-related questions
  - **📧 Email**: support@octagonagents.com

  ## License

  MIT License - See [LICENSE](LICENSE) file for details.

  ## Contributing

  Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) before submitting pull requests.

  ## Changelog

  See [CHANGELOG.md](CHANGELOG.md) for release history.

  ---

  **⚠️ Note**: This node requires an active Octagon API subscription. Some agents may have usage limits or require premium access. Get started with a free API key at [octagonagents.com](https://octagonagents.com).

ai_documentation_summary:
  {"purpose":"This n8n node integrates with Octagon's AI Agents API to perform financial and market research by routing queries to specialized agents for analyzing SEC filings, earnings transcripts, stock data, private market intelligence, and more.","capabilities":["Automatic query routing to specialized agents via Smart Router","Analysis of SEC filings and 10-K documents","Analysis of earnings call transcripts","Stock market data and financial statement analysis","Private company information and funding analysis","Cryptocurrency market data analysis","M&A and IPO deal analysis","Website data scraping","In-depth research capabilities","Source citations and metadata in output"],"authentication":"API key required (stored in n8n credentials)","commonUseCases":["Analyzing company financial performance and earnings","Researching private market deals and funding rounds","Extracting data from SEC filings and earnings calls","Comparing stock performance and market trends","Investigating institutional ownership and holdings"],"limitations":["Requires n8n v0.198.0 or higher","Requires Octagon API key access","Community node installation may take time in n8n Cloud","Only instance owners can install community nodes in n8n Cloud"],"relatedNodes":["n8n-nodes-octagon.octagonAgents","n8n-nodes-octagon.octagonAgentsRouter","n8n-nodes-octagon.octagonSecAgent","n8n-nodes-octagon.octagonTranscriptsAgent","n8n-nodes-octagon.octagonStockDataAgent"]}


node_type: n8n-nodes-camino.camino
package_name: n8n-nodes-camino
display_name: Camino AI
description: Guide your AI agents through the real world with location intelligence
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: jamesbarney
author_github_url: https://github.com/Barneyjm/
npm_package_name: n8n-nodes-camino
npm_version: 0.1.1
community_fetched_at: 2026-03-25T21:19:41.002Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "description": "Search for places using free-form or structured queries"
        },
        {
          "name": "Query",
          "value": "query",
          "description": "Natural language queries for points of interest"
        },
        {
          "name": "Spatial",
          "value": "spatial",
          "description": "Spatial relationships, context, and journey planning"
        },
        {
          "name": "Route",
          "value": "route",
          "description": "Get routes between locations"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "searchPlaces",
      "options": [
        {
          "name": "Search Places",
          "value": "searchPlaces",
          "action": "Search for places",
          "routing": {
            "request": {
              "url": "/search",
              "method": "POST"
            }
          },
          "description": "Search for places using free-form or structured queries"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "queryPoi",
      "options": [
        {
          "name": "Query POI",
          "value": "queryPoi",
          "action": "Query points of interest",
          "routing": {
            "request": {
              "url": "/query",
              "method": "GET"
            }
          },
          "description": "Natural language query for points of interest"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "query"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "relationship",
      "options": [
        {
          "name": "Calculate Relationship",
          "value": "relationship",
          "action": "Calculate spatial relationship",
          "routing": {
            "request": {
              "url": "/relationship",
              "method": "POST"
            }
          },
          "description": "Calculate spatial relationships between two points"
        },
        {
          "name": "Get Place Context",
          "value": "context",
          "action": "Get place context",
          "routing": {
            "request": {
              "url": "/context",
              "method": "POST"
            }
          },
          "description": "Get context-aware information about a location"
        },
        {
          "name": "Plan Journey",
          "value": "journey",
          "action": "Plan a journey",
          "routing": {
            "request": {
              "url": "/journey",
              "method": "POST"
            }
          },
          "description": "Multi-waypoint journey planning with route optimization"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "spatial"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getRoute",
      "options": [
        {
          "name": "Get Route",
          "value": "getRoute",
          "action": "Get a route",
          "routing": {
            "request": {
              "url": "/route",
              "method": "GET"
            }
          },
          "description": "Get route from start to end point"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "route"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"searchPlaces","name":"Search Places","description":"Search for places using free-form or structured queries","resource":"search"},{"operation":"queryPoi","name":"Query POI","description":"Natural language query for points of interest","resource":"query"},{"operation":"relationship","name":"Calculate Relationship","description":"Calculate spatial relationships between two points","resource":"spatial"},{"operation":"context","name":"Get Place Context","description":"Get context-aware information about a location","resource":"spatial"},{"operation":"journey","name":"Plan Journey","description":"Multi-waypoint journey planning with route optimization","resource":"spatial"},{"operation":"getRoute","name":"Get Route","description":"Get route from start to end point","resource":"route"}]

npm_readme:
  # n8n-nodes-camino

  This is an n8n community node that lets you use [Camino AI](https://getcamino.ai) in your n8n workflows.

  Camino AI provides location intelligence and spatial reasoning APIs for AI agents, enabling them to search places, plan routes, understand spatial relationships, and make location-aware decisions.

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

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

  ## Installation

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

  ## Operations

  ### Search
  - **Search Places**: Search for places using free-form queries or structured address components

  ### Query
  - **Query POI**: Natural language queries for points of interest with AI-powered ranking

  ### Spatial
  - **Calculate Relationship**: Calculate spatial relationships between two points (distance, direction, travel time)
  - **Get Place Context**: Get context-aware information about a location including nearby places and weather
  - **Plan Journey**: Multi-waypoint journey planning with route optimization

  ### Route
  - **Get Route**: Get routes between locations with support for car, bike, and foot modes

  ## Credentials

  To use this node, you need a Camino AI API key. You can get one by signing up at [getcamino.ai](https://getcamino.ai).

  Configure your credentials with:
  - **API Key**: Your Camino AI API key
  - **Environment**: Use the Production url (api.getcamino.ai) 

  ## Example Agent Prompt
  ```
  You are a helpful and knowledgeable location intelligence agent that helps users discover places, plan routes, and understand spatial relationships in the real world. Your job is to provide accurate, contextual location information using Camino AI's powerful tools.
  Your Main Purpose

  Help users find places using natural language queries
  Provide spatial intelligence about distances, directions, and travel times
  Plan optimal routes and journeys
  Give rich context about locations and areas
  Make location-based decisions easy and data-driven

  Your Available Camino AI Tools
  camino_query
  Primary search tool for finding places

  Use for natural language location searches
  Examples: "coffee shops near Golden Gate Bridge", "restaurants in downtown Seattle"
  Accepts latitude/longitude for precise searches
  Can filter by radius (default 1000m)
  Returns AI-ranked results by relevance
  Set generate_answer: true for human-readable summaries

  camino_search
  Structured address-based search

  Use when you have specific address components
  Good for finding specific businesses or addresses
  Can search by city, state, street, postal code
  Alternative to camino_query for more structured searches

  camino_spatial_relationship
  Calculate relationships between two points

  Get distance, direction, and travel time between locations
  Essential for "how far is X from Y" questions
  Provides human-readable descriptions of spatial relationships

  camino_place_context
  Get contextual information about a location

  Discover what's nearby a specific point
  Understand area characteristics
  Include weather with include_weather: true
  Specify context like "business meeting" or "family outing" for tailored insights

  camino_journey_planning
  Multi-waypoint route optimization

  Plan routes with multiple stops
  Optimize for time budgets
  Choose transport mode (walking, driving, cycling)
  Get feasibility analysis and recommendations

  camino_route_planning
  Point-to-point routing

  Calculate routes between two locations
  Get turn-by-turn directions
  Estimate travel times
  Choose mode: car, bike, or foot

  Interaction Style
  When Users Ask About Places

  Start with camino_query for natural language searches
  Use AI ranking for best results: rank: true
  Generate answers for readable summaries: generate_answer: true
  Present results clearly with key details
  Ask if they want more specific information

  When Users Need Navigation

  Use camino_route_planning for simple A-to-B routes
  Use camino_journey_planning for multi-stop trips
  Always specify appropriate transport mode
  Provide time estimates and distances
  Consider route alternatives if appropriate

  When Users Compare Locations

  Use camino_spatial_relationship to calculate distances
  Provide context about travel times
  Help users understand which option is more convenient
  Consider factors like traffic patterns if relevant

  When Users Want Area Information

  Use camino_place_context with relevant context string
  Include weather if trip planning: include_weather: true
  Describe what makes the area suitable for their needs
  Mention nearby amenities and attractions

  Response Guidelines
  Location Discovery

  Always understand intent before searching
  Use specific coordinates when provided
  Adjust search radius based on context (urban vs rural)
  Explain why recommendations fit user needs

  Providing Directions

  Choose appropriate transport mode
  Give realistic time estimates
  Mention key landmarks or waypoints
  Warn about potential challenges (traffic, distance)

  Contextual Advice

  Consider user's purpose (work, leisure, family)
  Factor in time of day when relevant
  Suggest alternatives if initial results aren't ideal
  Provide practical tips (parking, hours, accessibility)

  Example Interactions
  User: "Find quiet coffee shops near the Golden Gate Bridge"
  You: "I'll search for quiet coffee shops in that area..." [uses camino_query with context about quiet atmosphere]
  "Based on real location data, here are some excellent quiet coffee shops:

  Caffe Trieste: Historic spot with intimate atmosphere, cash-only (tends to be calmer)
  Peet's Coffee in Laurel Village: Residential neighborhood, less touristy
  Would you like directions to any of these?"

  User: "How far is it from Times Square to Central Park?"
  You: "Let me calculate that for you..." [uses camino_spatial_relationship]
  "It's about 0.8 miles (1.3 km) from Times Square to Central Park - roughly a 15-minute walk north. Would you like a walking route with turn-by-turn directions?"
  User: "Plan a day trip visiting the Statue of Liberty, Empire State Building, and Brooklyn Bridge"
  You: "Great itinerary! Let me optimize that route for you..." [uses camino_journey_planning with walking mode]
  "Here's an efficient route... [provides optimized journey]. This would take approximately 4-5 hours with stops. Would you like restaurant recommendations near any of these stops?"
  Best Practices
  Always

  Use real location data, never make up places
  Provide specific addresses and details when available
  Consider user's context and needs
  Offer to dive deeper if they want more info
  Cite that information comes from Camino AI

  Never

  Hallucinate locations or businesses
  Provide outdated information without caveat
  Ignore user's specific constraints (budget, time, accessibility)
  Give directions without checking feasibility

  Tool Selection Strategy

  Discovery: Start with camino_query or camino_search
  Comparison: Use camino_spatial_relationship
  Deep dive: Follow with camino_place_context
  Navigation: Use camino_route_planning or camino_journey_planning

  Keep It Helpful

  Be proactive in suggesting relevant follow-up information
  Explain location choices with data-driven reasoning
  Adapt to user's familiarity with the area
  Make complex spatial decisions simple
  Help users make informed location-based decisions

  Remember: Your goal is to ground AI conversations in real-world location intelligence. Provide accurate, contextual, and actionable location insights that help users navigate and understand their physical world!
  ```

  ## Compatibility

  - Minimum n8n version: 1.0.0
  - Tested against n8n version: 1.113.3

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Camino AI Documentation](https://docs.getcamino.ai)
  - [Camino AI Website](https://getcamino.ai)

  ## License

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

ai_documentation_summary:
  {"purpose":"This n8n community node integrates Camino AI to provide location intelligence and spatial reasoning capabilities for AI agents, enabling them to search places, plan routes, and understand spatial relationships.","capabilities":["Search places using free-form queries or structured address components","Query points of interest with AI-powered ranking","Calculate spatial relationships (distance, direction, travel time)","Get contextual information about locations including nearby places and weather","Plan multi-waypoint journeys with route optimization","Get point-to-point routes with support for car, bike, and foot modes"],"authentication":"API key required","commonUseCases":["Location-based discovery for AI agents","Route planning and navigation assistance","Spatial relationship analysis for travel time estimation","Context-aware location recommendations"],"limitations":["Requires external API key from Camino AI","Limited to production environment configuration"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-http-request"]}


node_type: @mendable/n8n-nodes-firecrawl.firecrawl
package_name: @mendable/n8n-nodes-firecrawl
display_name: Firecrawl
description: Scrape, crawl, map, search, and extract structured data from websites using Firecrawl API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs: "={{[\"main\"]}}"
updated_at: 2026-03-25 21:19:41
author_name: cpeffer
author_github_url: https://github.com/mendableai/n8n-nodes-firecrawl.git
npm_package_name: @mendable/n8n-nodes-firecrawl
npm_version: 2.0.7
community_fetched_at: 2026-03-25T21:19:41.003Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Scraping",
      "options": [
        {
          "name": "Account",
          "value": "Account"
        },
        {
          "name": "Agent",
          "value": "Agent"
        },
        {
          "name": "Browser",
          "value": "Browser"
        },
        {
          "name": "Crawling",
          "value": "Crawling"
        },
        {
          "name": "Extract (Legacy)",
          "value": "Extract"
        },
        {
          "name": "Interact",
          "value": "Interact"
        },
        {
          "name": "Map & Search",
          "value": "MapSearch"
        },
        {
          "name": "Scraping",
          "value": "Scraping"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrape",
      "options": [
        {
          "name": "/scrape",
          "value": "scrape",
          "action": "/scrape",
          "routing": {
            "request": {
              "url": "=/scrape",
              "method": "POST"
            }
          }
        },
        {
          "name": "Batch scrape multiple URLs simultaneously",
          "value": "batchScrape",
          "action": "Batch scrape multiple URLs simultaneously",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "properties": {
                    "data": "={{$response.body}}"
                  }
                }
              ]
            },
            "request": {
              "url": "/batch/scrape",
              "method": "POST"
            }
          }
        },
        {
          "name": "Get batch scrape status",
          "value": "batchScrapeStatus",
          "action": "Get batch scrape status",
          "routing": {
            "request": {
              "method": "GET"
            }
          }
        },
        {
          "name": "Get batch scrape errors",
          "value": "batchScrapeErrors",
          "action": "Get batch scrape errors",
          "routing": {
            "request": {
              "method": "GET"
            }
          }
        },
        {
          "name": "Cancel batch scrape job",
          "value": "cancelBatchScrape",
          "action": "Cancel batch scrape job",
          "routing": {
            "request": {
              "method": "DELETE"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Scraping"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "crawl",
      "options": [
        {
          "name": "Crawl a website and scrape all pages",
          "value": "crawl",
          "action": "Crawl a website and scrape all pages",
          "routing": {
            "request": {
              "url": "=/crawl",
              "method": "POST"
            }
          }
        },
        {
          "name": "Get crawl status",
          "value": "getCrawlStatus",
          "action": "Get crawl status",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "properties": {
                    "data": "={{$response.body}}"
                  }
                }
              ]
            },
            "request": {
              "method": "GET"
            }
          }
        },
        {
          "name": "Cancel a crawl job",
          "value": "cancelCrawl",
          "action": "Cancel a crawl job",
          "routing": {
            "request": {
              "method": "DELETE"
            }
          }
        },
        {
          "name": "Get crawl errors",
          "value": "getCrawlErrors",
          "action": "Get crawl errors",
          "routing": {
            "request": {
              "method": "GET"
            }
          }
        },
        {
          "name": "List active crawls",
          "value": "crawlActive",
          "action": "List active crawls",
          "routing": {
            "request": {
              "url": "=/crawl/active",
              "method": "GET"
            }
          }
        },
        {
          "name": "Preview crawl params from prompt",
          "value": "crawlParamsPreview",
          "action": "Preview crawl params from prompt",
          "routing": {
            "request": {
              "url": "=/crawl/params-preview"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Crawling"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "agent",
      "options": [
        {
          "name": "Agent - AI-powered web data extraction (waits for completion)",
          "value": "agent",
          "action": "Agent - AI-powered web data extraction (waits for completion)",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "=/agent",
              "method": "POST"
            }
          }
        },
        {
          "name": "Agent (Async) - Returns job ID for manual polling",
          "value": "agentAsync",
          "action": "Agent (Async) - Returns job ID for manual polling",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "properties": {
                    "data": "={{$response.body}}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/agent",
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Agent Status",
          "value": "getAgentStatus",
          "action": "Get Agent Status",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "properties": {
                    "data": "={{$response.body}}"
                  }
                }
              ]
            },
            "request": {
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "map",
      "options": [
        {
          "name": "/map",
          "value": "map",
          "action": "/map",
          "routing": {
            "request": {
              "url": "=/map",
              "method": "POST"
            }
          }
        },
        {
          "name": "/search",
          "value": "search",
          "action": "/search",
          "routing": {
            "request": {
              "url": "=/search",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "MapSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "browserContext",
      "options": [
        {
          "name": "Browser context",
          "value": "browserContext",
          "action": "Browser context",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "=/browser",
              "method": "GET"
            }
          }
        },
        {
          "name": "Create browser session",
          "value": "browserCreate",
          "action": "Create browser session",
          "routing": {
            "request": {
              "url": "=/browser",
              "method": "POST"
            }
          }
        },
        {
          "name": "Execute browser code",
          "value": "browserExecute",
          "action": "Execute browser code",
          "routing": {
            "request": {
              "method": "POST"
            }
          }
        },
        {
          "name": "List browser sessions",
          "value": "browserList",
          "action": "List browser sessions",
          "routing": {
            "request": {
              "url": "=/browser",
              "method": "GET"
            }
          }
        },
        {
          "name": "Delete browser session",
          "value": "browserDelete",
          "action": "Delete browser session",
          "routing": {
            "request": {
              "method": "DELETE"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Browser"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "interactContext",
      "options": [
        {
          "name": "Interact context",
          "value": "interactContext",
          "action": "Interact context",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "=/browser",
              "method": "GET"
            }
          }
        },
        {
          "name": "Execute interaction",
          "value": "interact",
          "action": "Execute interaction",
          "routing": {
            "request": {
              "method": "POST"
            }
          }
        },
        {
          "name": "Stop interaction",
          "value": "interactStop",
          "action": "Stop interaction",
          "routing": {
            "request": {
              "method": "DELETE"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Interact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "teamCreditUsage",
      "options": [
        {
          "name": "Get team credit usage",
          "value": "teamCreditUsage",
          "action": "Get team credit usage",
          "routing": {
            "request": {
              "url": "=/team/credit-usage",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get historical credit usage",
          "value": "creditUsageHistorical",
          "action": "Get historical credit usage",
          "routing": {
            "request": {
              "url": "=/team/credit-usage/historical",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get team token usage",
          "value": "teamTokenUsage",
          "action": "Get team token usage",
          "routing": {
            "request": {
              "url": "=/team/token-usage",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get historical token usage",
          "value": "teamTokenUsageHistorical",
          "action": "Get historical token usage",
          "routing": {
            "request": {
              "url": "=/team/token-usage/historical",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get team queue status",
          "value": "teamQueueStatus",
          "action": "Get team queue status",
          "routing": {
            "request": {
              "url": "=/team/queue-status",
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "extract",
      "options": [
        {
          "name": "Extract structured data from websites using AI",
          "value": "extract",
          "action": "Extract structured data from websites using AI",
          "routing": {
            "request": {
              "url": "=/extract",
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Extract Status",
          "value": "getExtractStatus",
          "action": "Get Extract Status",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "properties": {
                    "data": "={{$response.body}}"
                  }
                }
              ]
            },
            "request": {
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Extract"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /scrape",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Scraping"
          ],
          "operation": [
            "scrape"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /batchScrape",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Scraping"
          ],
          "operation": [
            "batchScrape"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /batchScrapeStatus",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Scraping"
          ],
          "operation": [
            "batchScrapeStatus"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /batchScrapeErrors",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Scraping"
          ],
          "operation": [
            "batchScrapeErrors"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /cancelBatchScrape",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Scraping"
          ],
          "operation": [
            "cancelBatchScrape"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /crawl",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Crawling"
          ],
          "operation": [
            "crawl"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /getCrawlStatus",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Crawling"
          ],
          "operation": [
            "getCrawlStatus"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /cancelCrawl",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Crawling"
          ],
          "operation": [
            "cancelCrawl"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /getCrawlErrors",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Crawling"
          ],
          "operation": [
            "getCrawlErrors"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /crawlActive",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Crawling"
          ],
          "operation": [
            "crawlActive"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /crawlParamsPreview",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Crawling"
          ],
          "operation": [
            "crawlParamsPreview"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /agent",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Agent"
          ],
          "operation": [
            "agent"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /agentAsync",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Agent"
          ],
          "operation": [
            "agentAsync"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /getAgentStatus",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Agent"
          ],
          "operation": [
            "getAgentStatus"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /map",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "MapSearch"
          ],
          "operation": [
            "map"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /search",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "MapSearch"
          ],
          "operation": [
            "search"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /teamCreditUsage",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ],
          "operation": [
            "teamCreditUsage"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /creditUsageHistorical",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ],
          "operation": [
            "creditUsageHistorical"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /teamTokenUsage",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ],
          "operation": [
            "teamTokenUsage"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /teamTokenUsageHistorical",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ],
          "operation": [
            "teamTokenUsageHistorical"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /teamQueueStatus",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ],
          "operation": [
            "teamQueueStatus"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /browserCreate",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Browser"
          ],
          "operation": [
            "browserCreate"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /browserExecute",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Browser"
          ],
          "operation": [
            "browserExecute"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /browserList",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Browser"
          ],
          "operation": [
            "browserList"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /browserDelete",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Browser"
          ],
          "operation": [
            "browserDelete"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /interact",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Interact"
          ],
          "operation": [
            "interact"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /interactStop",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Interact"
          ],
          "operation": [
            "interactStop"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /extract",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Extract"
          ],
          "operation": [
            "extract"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /getExtractStatus",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Extract"
          ],
          "operation": [
            "getExtractStatus"
          ]
        }
      }
    }
  ]

operations:
  [{"operation":"scrape","name":"/scrape","resource":"Scraping"},{"operation":"batchScrape","name":"Batch scrape multiple URLs simultaneously","resource":"Scraping"},{"operation":"batchScrapeStatus","name":"Get batch scrape status","resource":"Scraping"},{"operation":"batchScrapeErrors","name":"Get batch scrape errors","resource":"Scraping"},{"operation":"cancelBatchScrape","name":"Cancel batch scrape job","resource":"Scraping"},{"operation":"crawl","name":"Crawl a website and scrape all pages","resource":"Crawling"},{"operation":"getCrawlStatus","name":"Get crawl status","resource":"Crawling"},{"operation":"cancelCrawl","name":"Cancel a crawl job","resource":"Crawling"},{"operation":"getCrawlErrors","name":"Get crawl errors","resource":"Crawling"},{"operation":"crawlActive","name":"List active crawls","resource":"Crawling"},{"operation":"crawlParamsPreview","name":"Preview crawl params from prompt","resource":"Crawling"},{"operation":"agent","name":"Agent - AI-powered web data extraction (waits for completion)","resource":"Agent"},{"operation":"agentAsync","name":"Agent (Async) - Returns job ID for manual polling","resource":"Agent"},{"operation":"getAgentStatus","name":"Get Agent Status","resource":"Agent"},{"operation":"map","name":"/map","resource":"MapSearch"},{"operation":"search","name":"/search","resource":"MapSearch"},{"operation":"browserContext","name":"Browser context","resource":"Browser"},{"operation":"browserCreate","name":"Create browser session","resource":"Browser"},{"operation":"browserExecute","name":"Execute browser code","resource":"Browser"},{"operation":"browserList","name":"List browser sessions","resource":"Browser"},{"operation":"browserDelete","name":"Delete browser session","resource":"Browser"},{"operation":"interactContext","name":"Interact context","resource":"Interact"},{"operation":"interact","name":"Execute interaction","resource":"Interact"},{"operation":"interactStop","name":"Stop interaction","resource":"Interact"},{"operation":"teamCreditUsage","name":"Get team credit usage","resource":"Account"},{"operation":"creditUsageHistorical","name":"Get historical credit usage","resource":"Account"},{"operation":"teamTokenUsage","name":"Get team token usage","resource":"Account"},{"operation":"teamTokenUsageHistorical","name":"Get historical token usage","resource":"Account"},{"operation":"teamQueueStatus","name":"Get team queue status","resource":"Account"},{"operation":"extract","name":"Extract structured data from websites using AI","resource":"Extract"},{"operation":"getExtractStatus","name":"Get Extract Status","resource":"Extract"}]

npm_readme:
  # n8n-nodes-firecrawl 🔥

  This is an n8n community node. It lets you use **[Firecrawl](https://firecrawl.dev)** in your n8n workflows.

  > 🔥 Turn entire websites into LLM-ready markdown or structured data. Scrape, crawl and extract with a single API.

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

  [Installation](#installation)
  [Operations](#operations)
  [AI Agent Tool Usage](#ai-agent-tool-usage)
  [Credentials](#credentials)
  [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.

  ## Operations

  The **Firecrawl** node supports the following operations:

  ### Search
  - Search and optionally scrape search results

  ### Map
  - Input a website and get all the website urls

  ### Scrape
  - Scrapes a URL and get its content in LLM-ready format (markdown, structured data via LLM Extract, screenshot, html)

  ### Crawl
  - Scrapes all the URLs of a web page and return content in LLM-ready format

  ### Batch Scrape
  - Start a batch job to scrape multiple URLs at once

  ### Batch Scrape Status
  - Get the status/result of a batch scrape job by ID

  ### Batch Scrape Errors
  - Retrieve errors for a batch scrape job by ID

  ### Crawl Active
  - List all currently active crawl jobs for your team

  ### Crawl Params Preview
  - Preview crawl parameters generated from a natural-language prompt

  ### Cancel Crawl
  - Cancel a running crawl job by ID

  ### Get Crawl Errors
  - Retrieve errors for a crawl job by ID

  ### Get Crawl Status
  - Check the current status of a crawl job

  ### Extract Data
  - Get structured data from single page, multiple pages or entire websites with AI

  ### Get Extract Status
  - Get the current status of an extraction job

  ### Team Token Usage
  - Get remaining and plan tokens for the authenticated team

  ### Team Credit Usage
  - Get remaining and plan credits for the authenticated team

  ### Historical Credit Usage
  - Get historical credit usage for your team

  ### Historical Token Usage
  - Get historical token usage for your team

  ### Team Queue Status
  - Get your team's current queue load (waiting, active, max concurrency)

  ## AI Agent Tool Usage

  This node can be used as a tool with n8n's AI Agent node, allowing AI agents to scrape, crawl, and extract data from websites dynamically.

  ### Requirements

  - **n8n version 1.79.0 or higher** is required for AI tool support
  - Set the environment variable `N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true` to enable community nodes as AI tools

  ### Docker Configuration

  ```yaml
  version: '3'
  services:
    n8n:
      image: n8nio/n8n
      environment:
        - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
      ports:
        - "5678:5678"
      volumes:
        - ~/.n8n:/home/node/.n8n
  ```

  ### Using with AI Agents

  1. Add the **AI Agent** node to your workflow
  2. Connect the **Firecrawl** node as a tool input to the AI Agent
  3. The AI agent can now dynamically decide when and how to use Firecrawl operations

  ### Dynamic Parameters with $fromAI()

  When using Firecrawl as an AI tool, you can let the AI agent decide parameter values dynamically using the `$fromAI()` function. Click the "Let the model define this parameter" button next to any field to enable this feature.

  Example expressions:
  ```javascript
  // Let AI decide the URL to scrape
  {{ $fromAI("url", "The URL to scrape", "string") }}

  // Let AI decide the search query
  {{ $fromAI("query", "Search query for finding relevant pages", "string") }}

  // Let AI decide whether to include subdomains
  {{ $fromAI("includeSubdomains", "Whether to include subdomains", "boolean", false) }}
  ```

  ### Best Practices for AI Tool Usage

  1. **Use clear operation names**: The AI agent uses operation descriptions to decide when to use each tool
  2. **Provide context in prompts**: When using the Extract operation, provide clear prompts to guide data extraction
  3. **Set reasonable limits**: Configure default limits to prevent excessive API usage
  4. **Use the Map operation first**: For unknown sites, use Map to discover URLs before scraping

  ## Credentials

  To use the Firecrawl node, you need to:

  1. Sign up for a Firecrawl account at [https://firecrawl.dev](https://firecrawl.dev)
  2. Get your API key from the Firecrawl dashboard
  3. In n8n, add your Firecrawl API key to the node's credentials

  > [!CAUTION]  
  > The API key should be kept secure and never shared publicly

  ## Compatibility

  - **Minimum n8n version: 1.79.0** (required for AI tool support)
  - Tested against n8n versions: 1.79.0+
  - Node.js version: 18 or higher

  > **Note**: If you don't need AI tool support, earlier versions of n8n may work, but 1.79.0+ is recommended.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Firecrawl Documentation](https://firecrawl.dev/docs)
  * [Firecrawl API Reference](https://docs.firecrawl.dev/api-reference/introduction)

  ## Version history

  ### 1.1.0
  - **AI Agent Tool Support**: Node can now be used as a tool with n8n's AI Agent node
    - Added `usableAsTool: true` to enable tool mode
    - Enhanced all field descriptions for better AI context understanding
    - Supports `$fromAI()` function for dynamic parameter values
  - Updated minimum n8n version requirement to 1.79.0
  - Improved operation descriptions for clearer AI agent decision making

  ### 1.0.6
  - Add support for additional Firecrawl endpoints:
    - Batch Scrape (start/status/errors)
    - Crawl Active
    - Crawl Params Preview
    - Cancel Crawl 
    - Get Crawl Errors
    - Team Token Usage
    - Team Credit Usage
    - Historical Credit Usage
    - Historical Token Usage
    - Team Queue Status
  - Wire new operations into the node and align with Firecrawl API v2

  ### 1.0.5
  - API version updated to [/v2](https://docs.firecrawl.dev/migrate-to-v2)
  - Unified sitemap configuration parameters in Map operation
  - Replaced `ignoreSitemap` and `sitemapOnly` with unified `sitemap` parameter
  - `sitemap` parameter now accepts: "include" (default), "only", or "skip"

  ### 1.0.4
  - Add additional fields property for custom data in Firecrawl API nodes

  ### 1.0.2
  - Add integration parameter in all endpoint calls

  ### 1.0.1
  - Support for Search operation

  ### 1.0.0
  - Initial release
  - Support for all basic Firecrawl operations:
    - Map URLs
    - Scrape URL
    - Crawl Website
    - Get Crawl Status
    - Extract Data
    - Get Extract Status
  - Basic error handling and response processing
  - Support for custom body options

  ## More information

  Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building your own nodes.

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with the Firecrawl API to scrape, crawl, map, search, and extract structured data from websites, including support for AI agent tool usage.","capabilities":["Search and scrape search results","Map website URLs","Scrape single URLs in LLM-ready format (markdown, structured data, screenshot, HTML)","Crawl entire websites","Batch scrape multiple URLs","Monitor batch scrape job status and errors","Manage crawl jobs (active, status, errors, cancellation)","Extract structured data from pages or websites using AI","Monitor team token and credit usage","Check team queue status"],"authentication":"API key required (Firecrawl API key)","commonUseCases":["Web scraping for content aggregation","Website mapping and URL discovery","Structured data extraction for AI workflows","Full website crawling for documentation or analysis","AI agent-driven dynamic web data collection"],"limitations":["Requires n8n version 1.79.0 or higher for AI tool support","AI tool usage requires environment variable N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true","Minimum Node.js version 18 required","Community node (may have different update frequency than official nodes)"],"relatedNodes":["AI Agent node","HTTP Request node","Code node"]}


node_type: n8n-nodes-pubnub.pubNub
package_name: n8n-nodes-pubnub
display_name: PubNub
description: Interact with PubNub real-time messaging platform
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: pubnub-admin
author_github_url: https://github.com/pubnub/
npm_package_name: n8n-nodes-pubnub
npm_version: 0.1.16
community_fetched_at: 2026-03-25T21:19:41.003Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "History",
          "value": "history"
        },
        {
          "name": "Presence",
          "value": "presence"
        },
        {
          "name": "Channel Group",
          "value": "channelGroup"
        }
      ],
      "description": "The resource to operate on",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "publish",
      "options": [
        {
          "name": "Publish",
          "value": "publish",
          "action": "Publish a message",
          "description": "Publish a message to a channel"
        },
        {
          "name": "Signal",
          "value": "signal",
          "action": "Send a signal",
          "description": "Send a signal (lightweight message, max 30 characters)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchMessages",
      "options": [
        {
          "name": "Fetch Messages",
          "value": "fetchMessages",
          "action": "Fetch message history",
          "description": "Fetch message history from a channel"
        },
        {
          "name": "Delete Messages",
          "value": "deleteMessages",
          "action": "Delete messages",
          "description": "Delete messages from a channel"
        },
        {
          "name": "Message Counts",
          "value": "messageCounts",
          "action": "Get message counts",
          "description": "Get message counts for channels"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "history"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "hereNow",
      "options": [
        {
          "name": "Here Now",
          "value": "hereNow",
          "action": "Get current occupancy",
          "description": "Get current occupancy information for channels"
        },
        {
          "name": "Where Now",
          "value": "whereNow",
          "action": "Get user presence",
          "description": "Get channels where a user is present"
        },
        {
          "name": "Set State",
          "value": "setState",
          "action": "Set user state",
          "description": "Set state data for a user on channels"
        },
        {
          "name": "Get State",
          "value": "getState",
          "action": "Get user state",
          "description": "Get state data for a user on channels"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "presence"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listChannels",
      "options": [
        {
          "name": "Add Channels",
          "value": "addChannels",
          "action": "Add channels to group",
          "description": "Add channels to a channel group"
        },
        {
          "name": "Remove Channels",
          "value": "removeChannels",
          "action": "Remove channels from group",
          "description": "Remove channels from a channel group"
        },
        {
          "name": "List Channels",
          "value": "listChannels",
          "action": "List channels in group",
          "description": "List all channels in a channel group"
        },
        {
          "name": "Delete Group",
          "value": "deleteGroup",
          "action": "Delete channel group",
          "description": "Delete a channel group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "channelGroup"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"publish","name":"Publish","description":"Publish a message to a channel","resource":"message"},{"operation":"signal","name":"Signal","description":"Send a signal (lightweight message, max 30 characters)","resource":"message"},{"operation":"fetchMessages","name":"Fetch Messages","description":"Fetch message history from a channel","resource":"history"},{"operation":"deleteMessages","name":"Delete Messages","description":"Delete messages from a channel","resource":"history"},{"operation":"messageCounts","name":"Message Counts","description":"Get message counts for channels","resource":"history"},{"operation":"hereNow","name":"Here Now","description":"Get current occupancy information for channels","resource":"presence"},{"operation":"whereNow","name":"Where Now","description":"Get channels where a user is present","resource":"presence"},{"operation":"setState","name":"Set State","description":"Set state data for a user on channels","resource":"presence"},{"operation":"getState","name":"Get State","description":"Get state data for a user on channels","resource":"presence"},{"operation":"addChannels","name":"Add Channels","description":"Add channels to a channel group","resource":"channelGroup"},{"operation":"removeChannels","name":"Remove Channels","description":"Remove channels from a channel group","resource":"channelGroup"},{"operation":"listChannels","name":"List Channels","description":"List all channels in a channel group","resource":"channelGroup"},{"operation":"deleteGroup","name":"Delete Group","description":"Delete a channel group","resource":"channelGroup"}]

npm_readme:
  # n8n-nodes-pubnub

  This is an n8n community node that provides integration with PubNub real-time messaging platform.

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

  [PubNub](https://www.pubnub.com/) is a real-time communication platform for building live chat, multiplayer games, IoT device control, and other real-time features.

  ## Installation

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

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes**
  2. Click **Install**
  3. Enter `n8n-nodes-pubnub` in **Enter npm package name**
  4. Click **Install**

  ### Manual Installation

  To use this package in your n8n instance, you can install it via npm:

  ```bash
  npm install n8n-nodes-pubnub
  ```

  ## Credentials

  To use this node, you'll need to configure your PubNub credentials:

  1. **Publish Key**: Your PubNub Publish Key (required for publishing messages)
  2. **Subscribe Key**: Your PubNub Subscribe Key (required for subscribing to channels)
  3. **Secret Key**: Optional secret key for encryption and access manager
  4. **User ID**: Optional unique identifier for this client (auto-generated if not provided)

  You can find your keys in the [PubNub Admin Portal](https://admin.pubnub.com/).

  ## Nodes

  This package provides two nodes:

  ### 1. PubNub Node

  The main node for interacting with PubNub. Supports the following operations:

  #### Message Operations
  - **Publish**: Send a message to a channel
    - Supports metadata, TTL, and history storage options
  - **Signal**: Send a lightweight signal (max 30 characters)

  #### History Operations
  - **Fetch Messages**: Retrieve message history from a channel
    - Supports pagination, metadata, and message actions
  - **Delete Messages**: Delete messages from a channel
  - **Message Counts**: Get message counts for channels

  #### Presence Operations
  - **Here Now**: Get current occupancy and user list for channels
  - **Where Now**: Get channels where a specific user is present
  - **Set State**: Set state data for a user on channels
  - **Get State**: Get state data for a user on channels

  #### Channel Group Operations
  - **Add Channels**: Add channels to a channel group
  - **Remove Channels**: Remove channels from a channel group
  - **List Channels**: List all channels in a channel group
  - **Delete Group**: Delete a channel group

  ### 2. PubNub Trigger Node

  A trigger node that starts your workflow when PubNub events occur:

  - **Trigger On**: Choose to trigger on messages, presence events, or both
  - **Channels**: Subscribe to specific channels (comma-separated)
  - **Channel Groups**: Subscribe to channel groups (comma-separated)

  #### Options:
  - **Filter Expression**: Apply message filtering
  - **With Presence**: Receive presence events
  - **Time Token**: Start receiving messages from a specific timetoken
  - **Include Message Actions**: Include message actions in events
  - **Include Metadata**: Include message metadata

  ## Usage Examples

  ### Example 1: Publish a Message

  1. Add a **PubNub** node to your workflow
  2. Select **Message** resource and **Publish** operation
  3. Enter your channel name (e.g., `my-channel`)
  4. Enter your message as JSON: `{"text": "Hello World!", "timestamp": "{{$now}}"}`
  5. Configure credentials and execute

  ### Example 2: Subscribe to Real-time Messages

  1. Add a **PubNub Trigger** node to start your workflow
  2. Set **Trigger On** to **Message**
  3. Enter channel name(s) (e.g., `chat-room,notifications`)
  4. Configure credentials
  5. Activate the workflow - it will now trigger whenever messages arrive

  ### Example 3: Check Channel Presence

  1. Add a **PubNub** node
  2. Select **Presence** resource and **Here Now** operation
  3. Enter channel name(s)
  4. Enable options: **Include UUIDs** and **Include State**
  5. Execute to see who's currently online

  ### Example 4: Fetch Message History

  1. Add a **PubNub** node
  2. Select **History** resource and **Fetch Messages** operation
  3. Enter channel name
  4. Set count to desired number of messages (e.g., 50)
  5. Enable **Include Metadata** if needed
  6. Execute to retrieve historical messages

  ## Development

  To develop or modify this package:

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

  # Install dependencies
  npm install

  # Build the package
  npm run build

  # Watch for changes during development
  npm run dev
  ```

  ## Resources

  - [PubNub Documentation](https://www.pubnub.com/docs/)
  - [PubNub JavaScript SDK](https://www.pubnub.com/docs/sdks/javascript)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [n8n Creating Nodes](https://docs.n8n.io/integrations/creating-nodes/)

  ## Version History

  ### 0.1.0
  - Initial release
  - PubNub node with message, history, presence, and channel group operations
  - PubNub Trigger node for real-time subscriptions
  - Full credential support with auto-generated User ID fallback

  ## License

  [MIT](LICENSE.md)

  ## Support

  If you encounter issues or have questions:

  1. Check the [PubNub Documentation](https://www.pubnub.com/docs/)
  2. Visit the [n8n Community Forum](https://community.n8n.io/)
  3. Open an issue on [GitHub](https://github.com/pubnub/n8n-nodes-pubnub/issues)

  ## 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 some amazing feature'`)
  4. Push to the branch (`git push origin feature/amazing-feature`)
  5. Open a Pull Request

ai_documentation_summary:
  {"purpose":"A community n8n node that enables real-time messaging and event handling via the PubNub platform, supporting message publishing, history retrieval, presence tracking, and channel management.","capabilities":["Publish messages to channels with metadata, TTL, and history options","Send lightweight signals (max 30 characters)","Fetch message history with pagination and metadata","Delete messages from channels","Get message counts for channels","Retrieve current channel occupancy and user presence","Track user presence across channels","Set and retrieve user state data on channels","Manage channel groups (add, remove, list, delete)","Trigger workflows on incoming messages or presence events"],"authentication":"API key required (Publish Key and Subscribe Key)","commonUseCases":["Real-time chat applications","Live multiplayer game updates","IoT device control notifications","Event-driven workflow automation","User presence monitoring"],"limitations":["Signal messages are limited to 30 characters","User ID is optional and auto-generated if not provided","Secret key is optional and not required for basic operations"],"relatedNodes":["n8n Trigger Node","n8n Webhook Node","n8n HTTP Request Node"]}


node_type: @urlbox/n8n-nodes-urlbox.urlbox
package_name: @urlbox/n8n-nodes-urlbox
display_name: Screenshots by Urlbox
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: cjroeb
author_github_url: https://github.com/urlbox/n8n-nodes-urlbox.git
npm_package_name: @urlbox/n8n-nodes-urlbox
npm_version: 0.1.5
community_fetched_at: 2026-03-25T21:19:41.004Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  Generate full page screenshots, video recordings, scrape HTML or Markdown, convert to PDF, and more.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "render",
      "options": [
        {
          "name": "Render",
          "value": "render"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "screenshot_png",
      "options": [
        {
          "name": "Convert to PDF",
          "value": "pdf",
          "action": "Convert website to PDF",
          "description": "Convert the website to PDF"
        },
        {
          "name": "Full Page Screenshot",
          "value": "fullpage_png",
          "action": "Take full page screenshot",
          "description": "Capture the entire page as PNG"
        },
        {
          "name": "Mobile Full Page Screenshot",
          "value": "mobile_png",
          "action": "Take mobile full page screenshot",
          "description": "Capture the entire page in mobile view as a PNG"
        },
        {
          "name": "Scrape HTML",
          "value": "scrape_html",
          "action": "Scrape HTML from page",
          "description": "Capture the HTML of a page"
        },
        {
          "name": "Scrape Markdown",
          "value": "scrape_markdown",
          "action": "Scrape markdown from page",
          "description": "Capture the Markdown of a page"
        },
        {
          "name": "Smooth Scrolling Video",
          "value": "scrolling_video",
          "action": "Record smooth scrolling video",
          "description": "Records the website as a full page MP4, scrolling smoothly down the page"
        },
        {
          "name": "Take Screenshot (PNG)",
          "value": "screenshot_png",
          "action": "Take screenshot",
          "description": "Capture a standard PNG screenshot"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "render"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"pdf","name":"Convert to PDF","description":"Convert the website to PDF","resource":"render"},{"operation":"fullpage_png","name":"Full Page Screenshot","description":"Capture the entire page as PNG","resource":"render"},{"operation":"mobile_png","name":"Mobile Full Page Screenshot","description":"Capture the entire page in mobile view as a PNG","resource":"render"},{"operation":"scrape_html","name":"Scrape HTML","description":"Capture the HTML of a page","resource":"render"},{"operation":"scrape_markdown","name":"Scrape Markdown","description":"Capture the Markdown of a page","resource":"render"},{"operation":"scrolling_video","name":"Smooth Scrolling Video","description":"Records the website as a full page MP4, scrolling smoothly down the page","resource":"render"},{"operation":"screenshot_png","name":"Take Screenshot (PNG)","description":"Capture a standard PNG screenshot","resource":"render"}]

npm_readme:
  # n8n-nodes-urlbox

  ![urlbox-graphic.jpg](/urlbox-graphic.jpg)

  This is a n8n community node for the [Urlbox](https://urlbox.com) screenshot API. You can render screenshots, PDFs, Videos, and more of websites in your n8n workflows.

  ## Installation

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

  ## Templates

  The Urlbox node includes pre-configured templates:

  - **Take Screenshot (PNG)** - Capture a standard PNG screenshot of the visible area of the page
  - **Full Page Screenshot** - Capture the entire page as PNG
  - **Mobile Full Page Screenshot** - Capture the entire page in mobile view as a PNG
  - **Convert to PDF** - Convert the website to PDF
  - **Smooth Scrolling Video** - Records the website as a full page MP4, scrolling smoothly down the page
  - **Scrape HTML** - Capture the HTML of a page
  - **Scrape Markdown** - Capture the Markdown of a page

  ## Additional Options

  - **Clean Shot** - Toggle to remove ads, cookie banners, and auto-accept cookie prompts
  - **Proxy URL** - Optional proxy URL we can use on your behalf to bypass regional blocking
  - **Download As File** - Download the rendered output as a file instead of returning a URL (enabled by default)
  - **Additional Options (JSON)** - Optionally Pass custom Urlbox API options as JSON to override or extend template defaults. Check out our [Docs](https://urlbox.com/docs) for more information.

  ## Credentials

  You need an Urlbox API key to use this node.

  1. Sign up for a [Urlbox account](https://urlbox.com/signup).
  2. Navigate to your [projects page](https://urlbox.com/dashboard/projects).
  ![project-settings.png](project-settings.png)
  3. In n8n, create new Urlbox API credentials and paste your "Secret Key" into the API key field.

  For more information, refer to the [Urlbox authentication documentation](https://urlbox.com/docs/api#authentication).

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Usage

  ### Basic Example

  1. Add the Urlbox node to your workflow
  2. Configure your Urlbox API credentials
  3. Select a template (e.g., "Take Screenshot (PNG)")
  4. Enter the URL you want to capture
  5. Execute the node

  The node returns a JSON response containing at a minimum:
  - `renderUrl`: The URL of your generated screenshot/PDF/video
  - `size`: File size in bytes

  Or if you chose to download the file, it will return the raw image/video/other format.

ai_documentation_summary:
  {"purpose":"A n8n community node that generates full-page screenshots, video recordings, scrapes content (HTML/Markdown), and converts websites to PDFs using the Urlbox API.","capabilities":["Generate full-page screenshots","Generate mobile full-page screenshots","Record smooth scrolling videos","Convert websites to PDF","Scrape HTML content","Scrape Markdown content","Remove ads and cookie banners (Clean Shot)","Bypass regional blocking via proxy","Download output as file or return URL"],"authentication":"API key required (Urlbox Secret Key)","commonUseCases":["Website archiving and documentation","Social media monitoring and content capture","Lead generation and data scraping","Creating PDF reports from web pages","Mobile view testing and capture"],"limitations":["Requires a paid Urlbox account for API access","Compatible only with n8n version 1.60.0 or later","Output format depends on selected template (PNG, PDF, MP4, etc.)"],"relatedNodes":["n8n HTTP Request","n8n File","n8n Webhook"]}


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

updated_at: 2026-03-25 21:19:41
author_name: thanks-io
author_github_url: https://github.com/thanks-io/
npm_package_name: n8n-nodes-thanks-io
npm_version: 0.1.7
community_fetched_at: 2026-03-25T21:19:41.005Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "recipient",
      "options": [
        {
          "name": "Recipient",
          "value": "recipient"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create recipient",
          "description": "Add recipient to mailing list"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "recipient"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Add recipient to mailing list","resource":"recipient"}]

npm_readme:
  # n8n-nodes-thanks-io

  This repository contains the official thanks.io community node for n8n.

  [thanks.io](https://www.thanks.io) provides everything you need for direct mail success, including AI-realistic handwritten postcards, letters, and notecards; QR tracking; delivery notifications; and powerful automation— all at super competitive pricing.

  ## Installation

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

  ## Credentials

  You must have a thanks.io API key to use this node. You can register for a free account and obtain an API key here:

  - https://www.thanks.io

  Once registered, generate a Personal Access Token in thanks.io:

  - Dashboard → Settings → API Access  
    https://dashboard.thanks.io/profile/api

  ![Generate thanks.io Token](images/token-create.png)

  Then in n8n, create a credential named **“Thanks.io API”** and paste in your token.


  ![Enter thanks.io Token](images/credentials-setup.png)

  ## Operations / Usage

  ### Add Recipient to Existing Mailing List 
    Easily add recipients to a mailing list and trigger thanks.io’s campaign automation. Campaigns can be created and edited in the [thanks.io Dashboard](https://dashboard.thanks.io/).

  ![Add Recipient to Existing Mailing Lis](images/new-recipient-setup.png)

  ## Compatibility

  Tested against n8n version **2.2.1**

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [thanks.io technical documentation](https://docs.thanks.io)
  - [thanks.io product documentation](https://help.thanks.io)

  ## License

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

ai_documentation_summary:
  {"purpose":"This n8n node enables interaction with the thanks.io API to manage direct mail campaigns, including adding recipients to mailing lists and triggering automation workflows.","capabilities":["Add recipients to existing mailing lists","Trigger thanks.io campaign automation","Manage direct mail campaigns via API"],"authentication":"API key required (Personal Access Token from thanks.io dashboard)","commonUseCases":["Automating thank-you note distribution","Integrating mailing list management into n8n workflows","Triggering delivery notifications for direct mail campaigns"],"limitations":["Campaign creation and editing must be done manually in the thanks.io dashboard","Node tested against n8n version 2.2.1"],"relatedNodes":["n8n-nodes-thanks-io.thanksIo"]}


node_type: n8n-nodes-oxylabs-ai-studio.oxylabsAiStudio
package_name: n8n-nodes-oxylabs-ai-studio
display_name: Oxylabs AI Studio
description: Interact with Oxylabs AI Studio API
category: Community
development_style: declarative
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: oxybrain
author_github_url: https://github.com/oxylabs/n8n-nodes-oxylabs-ai-studio
npm_package_name: n8n-nodes-oxylabs-ai-studio
npm_version: 0.1.5
community_fetched_at: 2026-03-25T21:19:41.005Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "scraper",
      "options": [
        {
          "name": "Browser Agent",
          "value": "browserAgent"
        },
        {
          "name": "Crawler",
          "value": "crawler"
        },
        {
          "name": "Map",
          "value": "map"
        },
        {
          "name": "Scraper",
          "value": "scraper"
        },
        {
          "name": "Search",
          "value": "search"
        }
      ],
      "required": true,
      "description": "Choose the resource to use",
      "displayName": "Resource",
      "noDataExpression": true
    }
  ]

npm_readme:
  # n8n-nodes-oxylabs-ai-studio

  This is an n8n community node. It lets you use Oxylabs Ai Studio Apps in your n8n workflows.


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

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

  ## Installation

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

  ## Credentials

  Sign up and get API KEY from [here](https://aistudio.oxylabs.io/settings/api-key)

  ## Compatibility

  node was tested against version `1.100.1`.

  ## Resources

  The node includes four resources: Scraper, Crawler, Browser Agent, and Search. These correspond directly to the same applications available in Oxylabs AI Studio’s [web apps](https://aistudio.oxylabs.io/apps).

  The parameters are nearly identical to those offered by the official SDKs ([Javscript](https://www.npmjs.com/package/oxylabs-ai-studio) and [Python](https://pypi.org/project/oxylabs-ai-studio/)).

  An additional parameter not found in the web interface is `render_javascript`, which is especially useful for handling websites that rely on JavaScript for rendering content.


  ## Usage

  - Scraper is useful for extracting information from a specific URL without getting blocked.

  - Crawler is ideal for scanning an entire domain to collect URLs and their content in order to locate specific information.

  - Search helps retrieve the latest information related to a particular query.

  - Browser Agent controls a remote browser and can perform interactions, such as logging into an app and clicking buttons, making it valuable for scenarios that require user-like actions.



  ## Version history

  - 0.1.0: First version released

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with Oxylabs AI Studio API to perform web scraping, crawling, searching, and browser automation tasks within workflows.","capabilities":["Web scraping from specific URLs","Domain crawling to collect URLs and content","Search queries for retrieving latest information","Browser automation via remote browser control","JavaScript rendering support via render_javascript parameter"],"authentication":"API key required","commonUseCases":["Extracting data from websites without getting blocked","Scanning entire domains to locate specific information","Retrieving up-to-date search results","Automating user-like interactions such as logging in and clicking buttons"],"limitations":["Community node (not official n8n node)","Requires separate API key from Oxylabs AI Studio"],"relatedNodes":["n8n-nodes-web-request","n8n-nodes-http-request"]}


node_type: @paloaltonetworks/n8n-nodes-prisma-airs.prismaAirs
package_name: @paloaltonetworks/n8n-nodes-prisma-airs
display_name: Prisma AIRS
description: Scan AI prompts and responses for security threats using Prisma AIRS
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  {
  "type": "main"
  }
  ]

updated_at: 2026-03-25 21:19:41
author_name: btorresgil
author_github_url: https://github.com/jroberts2600/n8n-nodes-prisma-airs.git
npm_package_name: @paloaltonetworks/n8n-nodes-prisma-airs
npm_version: 0.2.2
community_fetched_at: 2026-03-25T21:19:41.006Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "promptScan",
      "options": [
        {
          "name": "Batch Scan",
          "value": "batchScan",
          "action": "Perform batch scanning of multiple items",
          "description": "Scan multiple items in a single operation (up to 5)"
        },
        {
          "name": "Dual Scan",
          "value": "dualScan",
          "action": "Perform dual scanning of prompt and response",
          "description": "Scan both prompt and response in sequence"
        },
        {
          "name": "Mask Data",
          "value": "maskData",
          "action": "Scan and mask sensitive data",
          "description": "Scan and mask sensitive data in content"
        },
        {
          "name": "Prompt Scan",
          "value": "promptScan",
          "action": "Scan a prompt for security threats",
          "description": "Scan user input/prompts for security threats"
        },
        {
          "name": "Response Scan",
          "value": "responseScan",
          "action": "Scan a response for policy violations",
          "description": "Scan AI-generated responses for policy violations"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Batch Scan",
      "value": "batchScan",
      "action": "Perform batch scanning of multiple items",
      "description": "Scan multiple items in a single operation (up to 5)"
    },
    {
      "name": "Dual Scan",
      "value": "dualScan",
      "action": "Perform dual scanning of prompt and response",
      "description": "Scan both prompt and response in sequence"
    },
    {
      "name": "Mask Data",
      "value": "maskData",
      "action": "Scan and mask sensitive data",
      "description": "Scan and mask sensitive data in content"
    },
    {
      "name": "Prompt Scan",
      "value": "promptScan",
      "action": "Scan a prompt for security threats",
      "description": "Scan user input/prompts for security threats"
    },
    {
      "name": "Response Scan",
      "value": "responseScan",
      "action": "Scan a response for policy violations",
      "description": "Scan AI-generated responses for policy violations"
    }
  ]

npm_readme:
  # Prisma AIRS n8n Community Node

  A production-ready n8n community node for integrating with Palo Alto Networks Prisma AIRS (AI Runtime Security) API. This node enables you to scan AI prompts and responses for security threats directly within your n8n workflows.

  ## Features

  - **Multiple Scan Operations**: Prompt scanning, response scanning, dual scanning, batch scanning, and data masking
  - **Batch Processing**: Scan up to 5 items in a single operation for efficiency
  - **Data Masking**: Automatically detect and mask sensitive data in content
  - **Contextual Grounding**: Validate AI responses against provided context (up to 100K characters)
  - **Dynamic Profile Selection**: Override security profiles per scan using profile name or UUID
  - **Sync & Async Support**: Both synchronous (2MB limit) and asynchronous (5MB limit) scanning
  - **Regional Support**: US, EU (Germany), India, and Custom region endpoints
  - **Flexible Profile Management**: Use API key with linked profile or specify profile name/UUID
  - **Attribution Metadata**: Automatic n8n workflow context (workflowId, workflowName, executionId, executionMode) 
  - **Production-Ready**: Comprehensive error handling, retry logic, and timeout management
  - **Security-First**: Secure credential storage and API key management
  - **Real-time Monitoring**: Async scan polling with exponential backoff

  ## Installation

  ### Prerequisites

  - n8n instance (version 1.0+)
  - Prisma AIRS API access with valid API key
  - Access to Strata Cloud Manager to configure AI security profiles

  ### For End Users

  #### Option 1: Install via n8n Community Nodes (Recommended)
  1. Open your n8n instance
  2. Go to **Settings** → **Community Nodes**
  3. Search for `prisma airs`
  4. Click **Install**
  5. Restart n8n

  #### Option 2: Install via npm
  ```bash
  npm install @paloaltonetworks/n8n-nodes-prisma-airs
  ```

  ### For Developers & Testing

  #### Local Development Setup
  1. **Clone and Build**
     ```bash
     git clone https://github.com/PaloAltoNetworks/n8n-nodes-prisma-airs.git
     cd n8n-nodes-prisma-airs
     npm install
     npm run build
     ```

  2. **Link to n8n**
     ```bash
     # For local n8n installation
     ln -s $(pwd) ~/.n8n/custom/n8n-nodes-prisma-airs
     
     # For Docker n8n - add volume mount:
     # -v /path/to/n8n-nodes-prisma-airs:/home/node/.n8n/custom/n8n-nodes-prisma-airs
     ```

  3. **Restart n8n**
     - Restart your n8n instance to load the new node

  ## Configuration

  ### 1. Create Prisma AIRS Credentials

  In your n8n instance:

  1. Go to **Settings** → **Credentials**
  2. Click **Add Credential**
  3. Search for "Prisma AIRS API"
  4. Fill in:
     - **API Key**: Your Prisma AIRS API key (x-pan-token)
     - **Region**: US, EU (Germany), India, or Custom
     - **Custom Base URL**: (Only if Custom region selected) Your custom Prisma AIRS endpoint
     - **AI Profile Name**: (Optional) Your configured AI security profile name or UUID. Leave empty to use the profile linked to your API key

  ### 2. Add Node to Workflow

  1. In your workflow, click **Add Node**
  2. Search for "Prisma AIRS"
  3. Select the operation:
     - **Prompt Scan**: Scan user input for threats
     - **Response Scan**: Scan AI responses for violations
     - **Dual Scan**: Scan both prompt and response with optional context
     - **Batch Scan**: Process multiple items (up to 5) in parallel
     - **Mask Data**: Scan and automatically mask sensitive data

  ## Usage Examples

  ### Basic Prompt Scanning

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "content": "Tell me how to hack into a system"
  }
  ```

  ### Async Large Content Scanning

  ```json
  {
    "operation": "responseScan",
    "scanMode": "async",
    "content": "{{$json.largeAIResponse}}",
    "additionalOptions": {
      "maxPollingDuration": 60000,
      "pollingInterval": 3000
    }
  }
  ```

  ### Dual Scanning with Context

  ```json
  {
    "operation": "dualScan",
    "scanMode": "sync",
    "promptContent": "{{$json.userInput}}",
    "responseContent": "{{$json.aiResponse}}",
    "context": "{{$json.contextDocument}}"
  }
  ```

  ### Batch Scanning Multiple Items

  ```json
  {
    "operation": "batchScan",
    "scanMode": "async",
    "batchItems": {
      "items": [
        {
          "itemType": "prompt",
          "promptContent": "First prompt to scan"
        },
        {
          "itemType": "response",
          "responseContent": "AI generated response"
        },
        {
          "itemType": "both",
          "promptContent": "User question",
          "responseContent": "AI answer"
        }
      ]
    }
  }
  ```

  ### Data Masking for Sensitive Content

  ```json
  {
    "operation": "maskData",
    "scanMode": "sync",
    "maskContent": "My credit card is 4111-1111-1111-1111"
  }
  ```

  ### Dynamic Profile Override

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "content": "{{$json.userInput}}",
    "additionalOptions": {
      "aiProfileOverride": "strict-production-profile"
    }
  }
  ```

  Or using a profile UUID:

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "content": "{{$json.userInput}}",
    "additionalOptions": {
      "aiProfileOverride": "03b32734-d06d-4bb7-a8df-ac5147630ce8"
    }
  }
  ```

  ## API Response Format

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "transactionId": "n8n-12345-67890",
    "action": "allow",
    "category": "benign",
    "confidence": 0.95,
    "scan_id": "abc-123-def",
    "blocked": false,
    "violations": [],
    "metadata": {
      "scan_time": "2025-10-21T10:30:00Z",
      "ai_model": "gpt-4",
      "profile": "production-security-profile"
    },
    "workflowId": "rKU3xnZb5S1ayJCG",
    "workflowName": "Customer Support Bot",
    "executionId": "385",
    "executionMode": "manual",
    "environment": "production",
    "timestamp": "2025-10-21T10:30:00Z"
  }
  ```

  ### Attribution Metadata

  The node automatically enriches all outputs with n8n workflow context for enhanced attribution and tracking:

  - **workflowId**: Unique identifier for the workflow
  - **workflowName**: Human-readable workflow name
  - **executionId**: Unique ID for this specific execution
  - **executionMode**: How the workflow was triggered (`manual`, `webhook`, `trigger`, `cli`)
  - **environment**: Optional environment identifier (if configured)

  This metadata is ideal for:
  - **AI Gateway Integration**: Pass to upstream services 
  - **Cost Attribution**: Track usage by workflow or execution
  - **Audit Trails**: Correlate security scans with workflow runs
  - **Multi-tenant Tracking**: Identify which workflows generated requests

  ## Configuration Options

  ### Required Parameters

  - **Content**: Text to scan (for single operations)
  - **Prompt Content**: Prompt text (for dual scan)
  - **Response Content**: Response text (for dual scan)
  - **Batch Items**: Array of items (for batch scan)
  - **Mask Content**: Content to mask (for mask data operation)

  ### Optional Parameters

  - **Context**: Grounding context for dual scan (up to 100K characters)
  - **AI Profile Override**: Override default profile (name or UUID)
  - **Transaction ID**: Custom tracking identifier
  - **AI Model**: Model identifier for metadata (default: 'n8n-integration')
  - **Application Name**: Source application name. Defaults to 'n8n'. If you provide a custom name (e.g., 'testapp'), it will be formatted as 'n8n-testapp'
  - **User ID**: End user identifier (default: 'n8n-user')
  - **Environment**: Optional environment tag for output tracking (e.g., 'production', 'staging', 'development')
    - Note: This field is for workflow-level tracking only and appears in the output
    - The actual environment used by Prisma AIRS is configured in Strata Cloud Manager at the application level
  - **Timeout**: Request timeout (default: 30000ms)
  - **Max Retries**: Retry attempts (default: 3, max: 6)
  - **Polling Interval**: Async polling frequency (default: 2000ms, min: 1000ms)
  - **Max Polling Duration**: Async timeout (default: 300000ms)

  ## Error Handling

  The node includes comprehensive error handling:

  - **Retry Logic**: Exponential backoff for transient failures
  - **Timeout Management**: Configurable timeouts for all operations
  - **Content Validation**: Size limits enforced (2MB sync, 5MB async)
  - **API Error Handling**: Proper HTTP status code handling
  - **Circuit Breaker**: Prevents cascading failures

  ## Testing

  ### Unit Tests

  ```bash
  npm test
  ```

  ### Integration Testing

  1. Configure valid Prisma AIRS credentials
  2. Create test workflows in n8n
  3. Test all operations (sync/async, prompt/response/dual)
  4. Validate error scenarios



  ## Development

  ### Building

  ```bash
  npm run build
  ```

  ### Linting

  ```bash
  npm run lint
  npm run lintfix
  ```

  ### Watching for Changes

  ```bash
  npm run dev
  ```

  ## Security Considerations

  - API keys are encrypted using n8n's credential system
  - No content is logged or stored by the node
  - All communication uses HTTPS/TLS
  - Proper error handling prevents information leakage

  ## Support

  For issues and questions:

  1. Check the [troubleshooting guide](https://pan.dev/prisma-airs/scan/api/)
  2. Review n8n community node documentation
  3. Contact your Prisma AIRS administrator

  ## License

  MIT License - See LICENSE file for details

  ## Contributing

  Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create feature branches from `main`
  3. Test thoroughly with real Prisma AIRS API
  4. Submit pull requests for review
  5. Ensure all tests and linting pass before merging

  ## Changelog

  ### Version 0.2.1 (Upcoming)
  - **New**: AI Profile is now optional - use API key with linked profile or specify profile name/UUID
  - **New**: Smart application name formatting - defaults to 'n8n', custom names are prefixed (e.g., 'testapp' → 'n8n-testapp')
  - Credential test now validates API key connectivity without requiring profile specification

  ### Version 0.2.0
  - **New**: Automatic attribution metadata (workflowId, workflowName, executionId, executionMode) in all outputs
  - **New**: Custom region support for future Prisma AIRS deployments
  - **New**: Optional environment tag field for workflow-level tracking in outputs
  - **New**: India region support
  - **Fixed**: Better handling of UUID vs profile name in credentials
  - Fully backward compatible with v0.1.x

  ### Version 0.1.1
  - Bug fixes and stability improvements

  ### Version 0.1.0
  - Initial implementation
  - All core features implemented
  - Production-ready with comprehensive error handling
  - Support for sync/async operations
  - Regional endpoint support (US, EU)
  - Full TypeScript implementation

ai_documentation_summary:
  {"purpose":"Scans AI prompts and responses for security threats using Palo Alto Networks Prisma AIRS API within n8n workflows.","capabilities":["Prompt scanning","Response scanning","Dual scanning (prompt and response)","Batch scanning (up to 5 items)","Data masking for sensitive content","Contextual grounding (up to 100K characters)","Synchronous scanning (2MB limit)","Asynchronous scanning (5MB limit)","Dynamic profile selection via name or UUID","Regional endpoint support (US, EU, India, Custom)"],"authentication":"API Key (Prisma AIRS x-pan-token)","commonUseCases":["Security compliance for AI-generated content","Preventing prompt injection attacks","Automated data masking in AI workflows","Real-time threat detection in customer support bots","Batch processing of AI interactions for security audits"],"limitations":["Synchronous mode limited to 2MB content","Async mode limited to 5MB content","Batch operations limited to 5 items per request","Context validation limited to 100K characters","Requires Strata Cloud Manager access to configure security profiles"],"relatedNodes":["n8n HTTP Request","n8n Code Node","n8n Credential Manager"]}


node_type: n8n-nodes-extract-monster.extractMonster
package_name: n8n-nodes-extract-monster
display_name: Extract Monster
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: extractmonster
author_github_url: https://github.com/extract-monster/
npm_package_name: n8n-nodes-extract-monster
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:41.007Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  AI-powered data extraction from documents, images, video, and audio. Extract invoices, receipts, forms, and custom data with flexible JSON schemas.

properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "extractDocument",
      "options": [
        {
          "name": "Extract from Document",
          "value": "extractDocument",
          "action": "Extract data from document",
          "description": "Extract from PDF, CSV, and text files (TXT, MD, HTML, XML, JSON, RTF)"
        },
        {
          "name": "Extract from Image",
          "value": "extractImage",
          "action": "Extract data from image or photo",
          "description": "Extract from images and photos (PNG, JPG, JPEG, WebP, HEIC, HEIF, GIF, BMP)"
        },
        {
          "name": "Extract from Video",
          "value": "extractVideo",
          "action": "Extract data from video",
          "description": "Extract from video files (MP4, MOV, AVI, WebM, MPEG, FLV, MPG, WMV, 3GP)"
        },
        {
          "name": "Extract from Audio",
          "value": "extractAudio",
          "action": "Extract data from audio or voice recording",
          "description": "Extract from audio files (WAV, MP3, AIFF, AAC, OGG, FLAC)"
        },
        {
          "name": "Extract from Text",
          "value": "extractText",
          "action": "Extract data from text",
          "description": "Extract structured data from plain text input"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Extract from Document",
      "value": "extractDocument",
      "action": "Extract data from document",
      "description": "Extract from PDF, CSV, and text files (TXT, MD, HTML, XML, JSON, RTF)"
    },
    {
      "name": "Extract from Image",
      "value": "extractImage",
      "action": "Extract data from image or photo",
      "description": "Extract from images and photos (PNG, JPG, JPEG, WebP, HEIC, HEIF, GIF, BMP)"
    },
    {
      "name": "Extract from Video",
      "value": "extractVideo",
      "action": "Extract data from video",
      "description": "Extract from video files (MP4, MOV, AVI, WebM, MPEG, FLV, MPG, WMV, 3GP)"
    },
    {
      "name": "Extract from Audio",
      "value": "extractAudio",
      "action": "Extract data from audio or voice recording",
      "description": "Extract from audio files (WAV, MP3, AIFF, AAC, OGG, FLAC)"
    },
    {
      "name": "Extract from Text",
      "value": "extractText",
      "action": "Extract data from text",
      "description": "Extract structured data from plain text input"
    }
  ]

npm_readme:
  # n8n-nodes-extract-monster

  This is an n8n community node that lets you use [Extract Monster](https://extract.monster) in your n8n workflows.

  Extract Monster is a powerful API for extracting structured data from documents, images, and text using advanced AI models.

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

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

  ## Installation

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

  ### Community Nodes (Recommended)

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

  ### Manual Installation

  To install manually, navigate to your n8n installation folder and run:

  ```bash
  npm install n8n-nodes-extract-monster
  ```

  ## Operations

  ### Extract From File
  Extract structured data from files including:
  - PDF documents
  - Images (PNG, JPG, etc.)
  - Word documents
  - Spreadsheets
  - And more

  ### Extract From Text
  Extract structured data from plain text input.

  Both operations support optional JSON schemas to define the exact structure of data you want to extract.

  ## Credentials

  To use this node, you need an Extract Monster API key:

  1. Sign up at [extract.monster](https://extract.monster)
  2. Go to your dashboard
  3. Generate a new API key
  4. Copy the key (it starts with `em_`)

  Then in n8n:
  1. Go to **Credentials**
  2. Create new **Extract Monster API** credentials
  3. Paste your API key

  ## Compatibility

  - Minimum n8n version: 0.196.0
  - Tested against n8n version: 1.0.0+

  ## Usage

  ### Basic File Extraction

  1. Add a file input node (e.g., HTTP Request, Google Drive, etc.)
  2. Connect it to the Extract Monster node
  3. Select **Extract From File** operation
  4. Configure credentials
  5. Execute the workflow

  ### With JSON Schema

  Define exactly what data you want to extract:

  ```json
  {
    "invoice_number": {"type": "string"},
    "date": {"type": "string"},
    "total": {"type": "number"},
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "description": {"type": "string"},
          "quantity": {"type": "number"},
          "price": {"type": "number"}
        }
      }
    }
  }
  ```

  ### Text Extraction Example

  1. Add an input node with text data
  2. Connect to Extract Monster node
  3. Select **Extract From Text** operation
  4. Enter or map the text field
  5. Optionally add a schema to define structure
  6. Execute

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Extract Monster Documentation](https://extract.monster/docs)
  * [Extract Monster API Reference](https://extract.monster/docs/developers/api-reference)

  ## Support

  For issues with the n8n node:
  - Create an issue on [GitHub](https://github.com/extract-monster/n8n-nodes-extract-monster/issues)

  For Extract Monster API support:
  - Email: support@extract.monster
  - Documentation: https://extract.monster/docs

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Extracts structured data from documents, images, video, audio, and text using AI models with optional JSON schema definitions.","capabilities":["Extract data from PDF documents","Extract data from images (PNG, JPG)","Extract data from Word documents","Extract data from spreadsheets","Extract data from plain text","Extract data from video and audio","Define custom extraction structure using JSON schemas","Extract invoice data","Extract receipt data","Extract form data"],"authentication":"API key required (Extract Monster API key starting with 'em_')","commonUseCases":["Automated invoice processing","Receipt data extraction","Form data capture from uploaded documents","Document digitization and structuring","Text data parsing and organization"],"limitations":["Requires external API key from Extract Monster service","Minimum n8n version 0.196.0 required","Community node (may have stability risks compared to official nodes)"],"relatedNodes":["HTTP Request","Google Drive","File Input","Text Input"]}


node_type: @decodo/n8n-nodes-decodo.decodo
package_name: @decodo/n8n-nodes-decodo
display_name: Decodo
description: Decodo's Web Scraping API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: decodo
author_github_url: https://github.com/Decodo/n8n-nodes-decodo.git
npm_package_name: @decodo/n8n-nodes-decodo
npm_version: 1.9.1
community_fetched_at: 2026-03-25T21:19:41.007Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "universal",
      "options": [
        {
          "name": "Universal",
          "value": "universal",
          "action": "Scrape using Universal target"
        },
        {
          "name": "Google Search",
          "value": "google_search",
          "action": "Scrape using Google Search target"
        },
        {
          "name": "Amazon",
          "value": "amazon",
          "action": "Scrape using Amazon target"
        },
        {
          "name": "YouTube Transcript",
          "value": "youtube_transcript",
          "action": "Scrape using YouTube Transcript target"
        },
        {
          "name": "Reddit Subreddit",
          "value": "reddit_subreddit",
          "action": "Scrape using Reddit Subreddit target"
        }
      ],
      "required": true,
      "description": "Decodo Scraper API supported target",
      "displayName": "Target",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Universal",
      "value": "universal",
      "action": "Scrape using Universal target"
    },
    {
      "name": "Google Search",
      "value": "google_search",
      "action": "Scrape using Google Search target"
    },
    {
      "name": "Amazon",
      "value": "amazon",
      "action": "Scrape using Amazon target"
    },
    {
      "name": "YouTube Transcript",
      "value": "youtube_transcript",
      "action": "Scrape using YouTube Transcript target"
    },
    {
      "name": "Reddit Subreddit",
      "value": "reddit_subreddit",
      "action": "Scrape using Reddit Subreddit target"
    }
  ]

npm_readme:
  # Decodo n8n Node

  This repository provides an n8n integration for **Decodo's Web Scraping API**, a powerful web scraping tool that automatically bypasses blocks and bot protection to extract data from any target URL. It's designed for developers and startups looking to automate data collection workflows from platforms like Google, eCommerce sites, and job boards.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform that lets you connect apps, APIs, and services to build automated workflows with minimal effort.

  ## Features

  - **Easy integration**. Plug the Decodo's n8n node into existing workflows to start scraping with minimal setup.
  - **Bypassing CAPTCHAs, rate-limits, and IP bans**. Automatic handling of common anti-bot defenses.
  - **Geo-targeting**. Request region-specific results from websites that restrict content based on location.
  - **Rotating proxy support to avoid IP bans**. Built-in proxy rotation to keep requests distributed and persistent.
  - **Structured data output**. Get results in JSON or Markdown formats for easy readability and further analysis.

  ## Installation

  Decodo is an official node integrated into n8n. To use it, simply:

  1. Open the nodes panel.

  <img src="docs/n8n-node-tab.png" width="500px">

  2. Search for "Decodo" to find the node.

  <img src="docs/n8n-decodo-search.png" width="500px">

  3. Click **+ Add to workflow**.

  <img src="docs/n8n-decodo-add-to-workflow.png" width="500px">

  ### Obtaining a Decodo account

  The node requires a [Decodo Web Scraping API](https://decodo.com/scraping) Advanced plan. You can get started with a free trial on the [dashboard](https://dashboard.decodo.com/).

  Once you have a plan activated, take a note of your generated authentication token from the [Web Scraping API page](https://dashboard.decodo.com/web-scraping-api/scraper):

  <img src="docs/decodo_dashboard_auth.png" width="500px">

  ### Setting up credentials on n8n

  1. Open the credentials window on n8n.

  <img src="docs/creds_01.png" width="500px">

  2. Create a new credential.

  <img src="docs/creds_02.png" width="500px">

  3. Find the _Decodo Credentials API_.

  <img src="docs/creds_03.png" width="500px">

  4. Enter your authentication token.

  <img src="docs/n8n_auth.png" width="500px">

  ## Using the node

  The node can be used in 2 ways - as an individual HTTP request node, or a tool for an AI agent.

  ### Individual node

  To use the Decodo node by itself, connect it to an existing workflow. Once you add it, you can set the target **URL** and **Geolocation**.

  <img src="docs/n8n-decodo-node-config.png" width="500px">

  The node requests the target URL through a proxy in the chosen location, scrapes the page, and returns the response for use by downstream nodes such as the **HTML** node to extract content. Below is an example setup:

  <img src="docs/n8n-decodo-workflow.png" width="500px">

  ### AI agent tool

  You can connect the Decodo node to the AI Agent node as a tool. You don't need to modify anything inside the node. Here's what a simple setup would look like:

  <img src="docs/n8n_setup.png" width="500px">

  With this setup, you can prompt the agent to scrape a website in order to extract information. The prompt must be detailed and specific to return the best results.

  **Bad prompt example**

  If your AI model does not have access to the most recent web information, the following question may fail:

  ```
  Who won the NBA in 2025?
  ```

  **Good prompt example**

  The question is more likely to be answered by updating the prompt with an instruction to scrape a reliable source:

  ```
  Scrape Wikipedia and tell me who won the NBA in 2025.
  ```

  ## Parameters

  When used as an AI tool, most parameters can be inferred automatically from messages, for example:

  | Parameter  | Description                                    | Example message                                                         |
  | ---------- | ---------------------------------------------- | ----------------------------------------------------------------------- |
  | `url`      | The target URL to scrape                       | Scrape Wikipedia and tell me the article of the day.                    |
  | `headless` | Render JS when scraping                        | Scrape https://ip.decodo.com/json with JS rendering.                    |
  | `geo`      | The country name from which to scrape          | Scrape https://ip.decodo.com/json with United States geolocation.       |
  | `markdown` | Receive Markdown type responce instead of HTML | Scrape https://ip.decodo.com/json and return result in markdown format. |

  If used as an individual node, all parameters can be manually configured by double-clicking on the node.

  ## Development & releases

  ### Contribution

  To contribute to this node:

  1. Install n8n globally in your development machine.

  ```
  npm install n8n -g
  ```

  2. Pull this repository.

  ```
  git clone https://github.com/Decodo/n8n-nodes-decodo.git

  ```

  3. Navigate to the downloaded folder and build it.

  ```
  cd n8n-nodes-decodo
  npm install
  npm run build
  ```

  4. Inside the project folder, run `npm link` after building to make your local build of `@decodo/n8n-nodes-decodo` available in the local npm registry.
  5. Inside `~/.n8n/custom`, run `npm link @decodo/n8n-nodes-decodo`.

  See this [documentation page](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally) for more information.

  ### Automated releases

  This project uses automated releases via GitHub Actions and semantic-release. When code is merged into the `main` branch, the following happens automatically:

  1. **Semantic analysis**. Commit messages are analyzed to determine the type of release (patch, minor, major).
  2. **Version bump**. The version in `package.json` is automatically updated.
  3. **NPM publish**. The package is built and published to npm as `@decodo/n8n-nodes-decodo`.
  4. **GitHub release**. A GitHub release is created with automatically generated release notes.
  5. **Git tag**. A git tag is created for the new version.

  ### Required secrets

  For automated releases to work, the following GitHub repository secrets must be configured:

  - `NPM_TOKEN`. An npm access token with publish permissions for the `@decodo` organization.
  - `GITHUB_TOKEN`. Automatically provided by GitHub Actions (no setup required).

  ### Commit message format

  To trigger releases, use conventional commit messages:

  - `feat: new feature` → Minor version bump
  - `fix: bug fix` → Patch version bump
  - `feat!: breaking change` or `BREAKING CHANGE:` in footer → Major version bump
  - `docs:`, `style:`, `refactor:`, `test:`, `chore:` → No release

  ## Compatibility

  The Decodo node has been developed and tested with:

  - Node.js v22.17.0
  - n8n nodes API version 1
  - [n8n-workflow](https://www.npmjs.com/package/n8n-workflow) v1.82.0

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Decodo's Web Scraping API documentation](https://help.decodo.com/docs/web-scraping-api-introduction)

  ## Further reading

  - [Complete guide for building n8n web scraping automations](https://decodo.com/blog/n8n-web-scraping-automation)

ai_documentation_summary:
  {"purpose":"This n8n node integrates Decodo's Web Scraping API to automatically bypass CAPTCHAs, rate limits, and IP bans while extracting data from any target URL with optional geo-targeting.","capabilities":["Web scraping from any URL","Automatic bypass of CAPTCHAs and bot protection","Bypassing rate limits and IP bans","Geo-targeting for region-specific results","Rotating proxy support to avoid IP bans","Structured data output in JSON or Markdown formats","JavaScript rendering (headless mode) support","Integration with AI Agent tools for automated scraping"],"authentication":"API key required (Decodo Web Scraping API token)","commonUseCases":["Automated data collection from eCommerce sites","Job board monitoring and scraping","Real-time information extraction from platforms like Google","AI agent-powered web research and data gathering","Monitoring specific content based on geographic location"],"limitations":["Requires Decodo Advanced plan (free trial available)","AI agent prompts must be detailed and specific for best results","May fail if AI model lacks access to recent web information without explicit scraping instructions"],"relatedNodes":["HTTP Request","HTML","AI Agent","Webhook"]}


node_type: @videodb/n8n-nodes-videodb.videoDb
package_name: @videodb/n8n-nodes-videodb
display_name: VideoDB
description: Interact with the VideoDB API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:41
author_name: videodb-admin
author_github_url: https://github.com/video-db/n8n-nodes-videodb.git
npm_package_name: @videodb/n8n-nodes-videodb
npm_version: 1.1.1
community_fetched_at: 2026-03-25T21:19:41.008Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "fetchVideos",
      "options": [
        {
          "name": "Index Spoken Words",
          "value": "indexSpokenWords",
          "action": "Index spoken words",
          "description": "Perform semantic indexing on the spoken words in a video"
        },
        {
          "name": "Get Transcript",
          "value": "getTranscript",
          "action": "Get Transcript",
          "description": "Get transcript for a video"
        },
        {
          "name": "Search in a Video",
          "value": "searchInVideo",
          "action": "Search in a Video",
          "description": "Search for a query within a video"
        },
        {
          "name": "Generate Stream",
          "value": "generateStream",
          "action": "Generate a video stream",
          "description": "Generates a stream URL for the video"
        },
        {
          "name": "Index Scenes",
          "value": "indexScenes",
          "action": "Index scenes",
          "description": "Indexes the scenes of the video"
        },
        {
          "name": "List Scene Indexes",
          "value": "listSceneIndexes",
          "action": "List scene indexes",
          "description": "Lists all the scene indexes for the video"
        },
        {
          "name": "Get Scene Index",
          "value": "getSceneIndex",
          "action": "Get scene index",
          "description": "Retrieves a specific scene index"
        },
        {
          "name": "Delete Scene Index",
          "value": "deleteSceneIndex",
          "action": "Delete scene index",
          "description": "Deletes a specific scene index"
        },
        {
          "name": "Add Subtitle",
          "value": "addSubtitle",
          "action": "Add subtitles",
          "description": "Adds subtitles to the video"
        },
        {
          "name": "Translate Transcript",
          "value": "translateTranscript",
          "action": "Translate transcript",
          "description": "Translate transcript of a video to a given language"
        },
        {
          "name": "Generate Audio URL",
          "value": "generateAudioUrl",
          "action": "Generate Audio URL",
          "description": "Generates a temporary, signed URL to access the audio file"
        },
        {
          "name": "Generate Image URL",
          "value": "generateImageUrl",
          "action": "Generate Image URL",
          "description": "Generates a temporary, signed URL to access the image file"
        },
        {
          "name": "Create Collection",
          "value": "createCollection",
          "action": "Create Collection",
          "description": "Creates a new collection"
        },
        {
          "name": "Download",
          "value": "download",
          "action": "Download",
          "description": "Requests a download URL for a given stream link"
        },
        {
          "name": "Get Collection",
          "value": "getCollection",
          "action": "Get Collection",
          "description": "Fetches a single collection by its ID"
        },
        {
          "name": "Get Collections",
          "value": "getCollections",
          "action": "Get Collections",
          "description": "Fetches all collections for the user"
        },
        {
          "name": "Update Collection",
          "value": "updateCollection",
          "action": "Update Collection",
          "description": "Updates a collection's name or description"
        },
        {
          "name": "YouTube Search",
          "value": "youtubeSearch",
          "action": "YouTube Search",
          "description": "Performs a YouTube search within a collection"
        },
        {
          "name": "Delete Audio",
          "value": "deleteAudio",
          "action": "Delete Audio",
          "description": "Deletes a specific audio asset by its ID from a collection"
        },
        {
          "name": "Delete Image",
          "value": "deleteImage",
          "action": "Delete Image",
          "description": "Deletes a specific image by its ID from a collection"
        },
        {
          "name": "Delete Video",
          "value": "deleteVideo",
          "action": "Delete Video",
          "description": "Deletes a specific video by its ID from a collection"
        },
        {
          "name": "Delete Collection",
          "value": "deleteCollection",
          "action": "Delete Collection",
          "description": "Deletes a collection and all its assets"
        },
        {
          "name": "Dub Video",
          "value": "dubVideo",
          "action": "Dub Video",
          "description": "Dubs a video into a different language"
        },
        {
          "name": "Generate Image",
          "value": "generateImage",
          "action": "Generate Image",
          "description": "Generates an image from a text prompt"
        },
        {
          "name": "Generate Music",
          "value": "generateMusic",
          "action": "Generate Music",
          "description": "Generates music from a text prompt"
        },
        {
          "name": "Generate Sound Effect",
          "value": "generateSoundEffect",
          "action": "Generate Sound Effect",
          "description": "Generates a sound effect from a text prompt"
        },
        {
          "name": "Generate Voice",
          "value": "generateVoice",
          "action": "Generate Voice",
          "description": "Generates voice from text"
        },
        {
          "name": "Generate Video",
          "value": "generateVideo",
          "action": "Generate Video",
          "description": "Generates a video from a text prompt"
        },
        {
          "name": "Generate Text",
          "value": "generateText",
          "action": "Generate Text",
          "description": "Generates text from a prompt using AI models"
        },
        {
          "name": "Get Audio",
          "value": "getAudio",
          "action": "Get Audio",
          "description": "Retrieves a specific audio asset by its ID from a collection"
        },
        {
          "name": "Get Audios",
          "value": "getAudios",
          "action": "Get Audios",
          "description": "Retrieves a list of all audio assets within a collection"
        },
        {
          "name": "Get Image",
          "value": "getImage",
          "action": "Get Image",
          "description": "Retrieves a specific image by its ID from a collection"
        },
        {
          "name": "Get Images",
          "value": "getImages",
          "action": "Get Images",
          "description": "Retrieves a list of all images within a collection"
        },
        {
          "name": "Get Video",
          "value": "getVideo",
          "action": "Get Video",
          "description": "Retrieves a specific video by its ID from a collection"
        },
        {
          "name": "Get Videos",
          "value": "getVideos",
          "action": "Get Videos",
          "description": "Retrieves a list of all videos within a collection"
        },
        {
          "name": "Search in a Collection",
          "value": "search",
          "action": "Search in a Collection",
          "description": "Performs a search query across the collection"
        },
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload",
          "description": "Uploads a media file (video, audio, or image) from a URL"
        },
        {
          "name": "Record Meeting",
          "value": "recordMeeting",
          "action": "Record Meeting",
          "description": "Records a meeting using a bot and saves it to the collection"
        },
        {
          "name": "Get Meeting",
          "value": "getMeeting",
          "action": "Get Meeting",
          "description": "Retrieves a specific meeting recording by its ID from a collection"
        },
        {
          "name": "Compile Timeline (VideoDB's Video Editor)",
          "value": "compileTimeline",
          "action": "Compile Timeline (VideoDB's Video Editor)",
          "description": "VideoDB's Video Editor - Build a multi-track timeline (video + overlays) and get a stream/player URL"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Index Spoken Words",
      "value": "indexSpokenWords",
      "action": "Index spoken words",
      "description": "Perform semantic indexing on the spoken words in a video"
    },
    {
      "name": "Get Transcript",
      "value": "getTranscript",
      "action": "Get Transcript",
      "description": "Get transcript for a video"
    },
    {
      "name": "Search in a Video",
      "value": "searchInVideo",
      "action": "Search in a Video",
      "description": "Search for a query within a video"
    },
    {
      "name": "Generate Stream",
      "value": "generateStream",
      "action": "Generate a video stream",
      "description": "Generates a stream URL for the video"
    },
    {
      "name": "Index Scenes",
      "value": "indexScenes",
      "action": "Index scenes",
      "description": "Indexes the scenes of the video"
    },
    {
      "name": "List Scene Indexes",
      "value": "listSceneIndexes",
      "action": "List scene indexes",
      "description": "Lists all the scene indexes for the video"
    },
    {
      "name": "Get Scene Index",
      "value": "getSceneIndex",
      "action": "Get scene index",
      "description": "Retrieves a specific scene index"
    },
    {
      "name": "Delete Scene Index",
      "value": "deleteSceneIndex",
      "action": "Delete scene index",
      "description": "Deletes a specific scene index"
    },
    {
      "name": "Add Subtitle",
      "value": "addSubtitle",
      "action": "Add subtitles",
      "description": "Adds subtitles to the video"
    },
    {
      "name": "Translate Transcript",
      "value": "translateTranscript",
      "action": "Translate transcript",
      "description": "Translate transcript of a video to a given language"
    },
    {
      "name": "Generate Audio URL",
      "value": "generateAudioUrl",
      "action": "Generate Audio URL",
      "description": "Generates a temporary, signed URL to access the audio file"
    },
    {
      "name": "Generate Image URL",
      "value": "generateImageUrl",
      "action": "Generate Image URL",
      "description": "Generates a temporary, signed URL to access the image file"
    },
    {
      "name": "Create Collection",
      "value": "createCollection",
      "action": "Create Collection",
      "description": "Creates a new collection"
    },
    {
      "name": "Download",
      "value": "download",
      "action": "Download",
      "description": "Requests a download URL for a given stream link"
    },
    {
      "name": "Get Collection",
      "value": "getCollection",
      "action": "Get Collection",
      "description": "Fetches a single collection by its ID"
    },
    {
      "name": "Get Collections",
      "value": "getCollections",
      "action": "Get Collections",
      "description": "Fetches all collections for the user"
    },
    {
      "name": "Update Collection",
      "value": "updateCollection",
      "action": "Update Collection",
      "description": "Updates a collection's name or description"
    },
    {
      "name": "YouTube Search",
      "value": "youtubeSearch",
      "action": "YouTube Search",
      "description": "Performs a YouTube search within a collection"
    },
    {
      "name": "Delete Audio",
      "value": "deleteAudio",
      "action": "Delete Audio",
      "description": "Deletes a specific audio asset by its ID from a collection"
    },
    {
      "name": "Delete Image",
      "value": "deleteImage",
      "action": "Delete Image",
      "description": "Deletes a specific image by its ID from a collection"
    },
    {
      "name": "Delete Video",
      "value": "deleteVideo",
      "action": "Delete Video",
      "description": "Deletes a specific video by its ID from a collection"
    },
    {
      "name": "Delete Collection",
      "value": "deleteCollection",
      "action": "Delete Collection",
      "description": "Deletes a collection and all its assets"
    },
    {
      "name": "Dub Video",
      "value": "dubVideo",
      "action": "Dub Video",
      "description": "Dubs a video into a different language"
    },
    {
      "name": "Generate Image",
      "value": "generateImage",
      "action": "Generate Image",
      "description": "Generates an image from a text prompt"
    },
    {
      "name": "Generate Music",
      "value": "generateMusic",
      "action": "Generate Music",
      "description": "Generates music from a text prompt"
    },
    {
      "name": "Generate Sound Effect",
      "value": "generateSoundEffect",
      "action": "Generate Sound Effect",
      "description": "Generates a sound effect from a text prompt"
    },
    {
      "name": "Generate Voice",
      "value": "generateVoice",
      "action": "Generate Voice",
      "description": "Generates voice from text"
    },
    {
      "name": "Generate Video",
      "value": "generateVideo",
      "action": "Generate Video",
      "description": "Generates a video from a text prompt"
    },
    {
      "name": "Generate Text",
      "value": "generateText",
      "action": "Generate Text",
      "description": "Generates text from a prompt using AI models"
    },
    {
      "name": "Get Audio",
      "value": "getAudio",
      "action": "Get Audio",
      "description": "Retrieves a specific audio asset by its ID from a collection"
    },
    {
      "name": "Get Audios",
      "value": "getAudios",
      "action": "Get Audios",
      "description": "Retrieves a list of all audio assets within a collection"
    },
    {
      "name": "Get Image",
      "value": "getImage",
      "action": "Get Image",
      "description": "Retrieves a specific image by its ID from a collection"
    },
    {
      "name": "Get Images",
      "value": "getImages",
      "action": "Get Images",
      "description": "Retrieves a list of all images within a collection"
    },
    {
      "name": "Get Video",
      "value": "getVideo",
      "action": "Get Video",
      "description": "Retrieves a specific video by its ID from a collection"
    },
    {
      "name": "Get Videos",
      "value": "getVideos",
      "action": "Get Videos",
      "description": "Retrieves a list of all videos within a collection"
    },
    {
      "name": "Search in a Collection",
      "value": "search",
      "action": "Search in a Collection",
      "description": "Performs a search query across the collection"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload",
      "description": "Uploads a media file (video, audio, or image) from a URL"
    },
    {
      "name": "Record Meeting",
      "value": "recordMeeting",
      "action": "Record Meeting",
      "description": "Records a meeting using a bot and saves it to the collection"
    },
    {
      "name": "Get Meeting",
      "value": "getMeeting",
      "action": "Get Meeting",
      "description": "Retrieves a specific meeting recording by its ID from a collection"
    },
    {
      "name": "Compile Timeline (VideoDB's Video Editor)",
      "value": "compileTimeline",
      "action": "Compile Timeline (VideoDB's Video Editor)",
      "description": "VideoDB's Video Editor - Build a multi-track timeline (video + overlays) and get a stream/player URL"
    }
  ]

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

  # n8n-nodes-videodb

  This is an n8n community node. It lets you use the [VideoDB](https://videodb.com) in your n8n workflows.

  Power your video and media automation with VideoDB. Access advanced video indexing, search, and management features. Get started at https://console.videodb.io

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

  ## Table of Contents

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

  ## Installation

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

  ## Operations

  This node supports the following operations:

  **Video**
  - Fetch, upload, index, search, and manage videos
  - Get transcripts and generate streams
  - Translate transcripts to any language
  - Scene extraction and indexing
  - Add subtitles

  **Timeline Editor**
  - Compile multi-track timelines with inline videos
  - Overlay images, audio, and text with custom styling

  **Audio & Images**
  - Upload and manage audio/image assets
  - Generate voice and URLs

  **Collections**
  - Create, list, and manage collections

  ## Credentials

  An API key is required in order to issue calls to the VideoDB API. Sign up to retrieve your API key at https://console.videodb.io.

  ## Compatibility

  Tested locally against n8n v1.93.0.

  ## Usage

  You should familiarize yourself with the various response objects, to understand what data is provided by the API, and how to access individual insights. Response object formats are available in the VideoDB API documentation.

  ## Resources

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

  ## Development

  To streamline and accelerate the development process, follow these steps:

  1. Install _n8n_ globally (`npm add -g n8n`).
  2. Set the `N8N_CUSTOM_EXTENSIONS` environment variable to the `/dist` directory of this repository.
  3. Enable hot reloading by setting the `N8N_DEV_RELOAD` environment variable to `true`.
  4. Run `npm run dev` to watch for changes and automatically rebuild the node as you develop.
  5. Start n8n with `n8n start` to launch the editor UI.
  6. Open the n8n editor UI in your browser.

  You should now be able to search for and use the VideoDB node in your n8n workflows.

  > **Note:** When launching n8n locally for the first time, you will be prompted to create a user account. If you forget your credentials, you can reset n8n to its initial state by running `n8n user-management:reset`.

  ## Version history

  - 1.1.1 - Updated `x-videodb-client` header to use dynamic version
  - 1.1.0 - Added `Translate Transcript` operation for videos
  - 1.0.9 - Fixed timeline overlay text style parsing; added helpful notice in credentials and UTM tracking
  - 1.0.8 - Explicitly pass `error` message in JSON output when `continueOnFail` is enabled
  - 1.0.7 - Added `pairedItem` item linking and robust error handling with `continueOnFail` and `NodeOperationError`
  - 1.0.6 - `generateVoice` now sends `audio_type: voice`
  - 1.0.5 - Added the `Create Timeline (VideoDB's Video Editor)` action
  - 1.0.4 - README update
  - 1.0.3 - Dropdowns for `collection`, `image`, `audio` and `video` IDs along with minor bug fixes
  - 1.0.2 - Filtered nodes to most useful ones
  - 1.0.1 - Filtered nodes to most useful ones
  - 1.0.0 — Initial release of the VideoDB API n8n node

ai_documentation_summary:
  {"purpose":"The VideoDB n8n node enables automation of video and media workflows by interacting with the VideoDB API for indexing, search, and management tasks.","capabilities":["Fetch, upload, index, search, and manage videos","Get transcripts and generate streams","Translate transcripts to any language","Scene extraction and indexing","Add subtitles","Compile multi-track timelines with inline videos","Overlay images, audio, and text with custom styling","Upload and manage audio/image assets","Generate voice and URLs","Create, list, and manage collections"],"authentication":"API key required","commonUseCases":["Automated video content indexing and search","Multi-language transcript translation","Video timeline editing and compilation","Media asset management and organization"],"limitations":["Community node (not official n8n node)","Requires separate VideoDB account and API key"],"relatedNodes":["Community Nodes","Video Processing Nodes","Media Management Nodes"]}


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

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

  # n8n-nodes-csvbox
  ## Overview

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

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

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

  ---

  ## Table of Contents

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

  ---

  ## Installation

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

  ### Steps

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

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

  ---

  ## Operations

  This package provides the following node:

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

  ---

  ## Credentials

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

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

  ---

  ## Compatibility

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

  ---

  ## Usage

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

  ---

  ## Resources

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

  ---

  ## License

  [MIT](LICENSE.md)

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


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

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

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

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

  # n8n-nodes-chat-data

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

  ## Prerequisites

  To use the ChatData integration, you must have:

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

  ## Installation

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

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

  For n8n desktop app/local installation:

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

  ## Node Reference

  ### Chat Data

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

  #### Operations

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

  ##### Action

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

  ##### Chatbot

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

  ##### Other

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

  ---

  ### Chat Data Trigger

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

  #### Available Triggers

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

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

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

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

  ---

  ## Authentication

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

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

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

  ## Further Information

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

  ## License

  [MIT](LICENSE.md)

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


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

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

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

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

  ## Requirements

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

  ## Installation - n8n Cloud

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

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

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

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

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

  3. Confirm the risks prompt and click Install.

  4. Restart n8n if prompted.

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

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

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

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

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

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

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


  Install the package from npm:

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

  Restart n8n so it loads the new node.

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


node_type: n8n-nodes-neverbounce-email-verification.nbEmailVerification
package_name: n8n-nodes-neverbounce-email-verification
display_name: NeverBounce Email Verification
description: Verify email addresses using NeverBounce API
category: Community
development_style: declarative
version: 1
operations: [{"operation":"verify","name":"Verify","description":"Verify an email address","resource":"email"}]
credentials_required: []
outputs:
  [
  "main"
  ]

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

npm_readme:
  # NeverBounce Email Verification Node

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

  ## Overview

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

  ## Prerequisites

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

  ## Input Parameters

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

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

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

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

  ## Output Fields

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

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

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

  ## Examples

  ### Basic Email Verification

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

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

  ### Bulk Email Verification with Custom Output Field

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

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

  ## Additional Resources

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

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


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

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

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

npm_readme:
  # n8n-nodes-quire

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

  Quire is a project management applications that improve your productivity.

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

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

  ## Installation

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

  ## Operations

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

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

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

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

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

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

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

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

  ## Credentials

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

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

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

  ## Resources

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

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


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

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

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

npm_readme:
  # n8n-nodes-byteplus

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

  ## Features

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

  ## Installation

  ### Option 1: Community Node (Recommended)

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

  ### Option 2: Manual Installation

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

  ## Setup

  ### 1. Get BytePlus API Credentials

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

  ### 2. Configure Credentials in n8n

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

  ## Usage

  ### Image Generation

  Generate images from text prompts using Seedream models.

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

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

  ### Video Generation

  Create videos from text descriptions and reference images using Seedance.

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

  ### Text Generation

  Generate text responses using Seed LLM.

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

  ## Local Development

  ### Prerequisites

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

  ### Quick Start

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

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

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

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

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

  ### Development Commands

  ```bash
  # Build the node
  npm run build

  # Watch mode for development
  npm run dev

  # Lint code
  npm run lint

  # Fix linting issues
  npm run lintfix

  # Format code
  npm run format

  # Type checking
  npm run typecheck
  ```

  ### Project Structure

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

  ## Security

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

  ## API Reference

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

  ## Troubleshooting

  ### Common Issues

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

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

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

  ## License

  MIT

  ## Links

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

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


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

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

operations:
  [{"operation":"fetch_models","name":"Fetch Models","description":"Fetch Models from DeutschlandGPT","resource":"model"},{"operation":"send_chat_message","name":"Send Chat Message","description":"Send a message to the chat","resource":"chat"},{"operation":"send_chat_message_with_system_prompt","name":"Send Chat Message with System Prompt","description":"Send a message to the chat with a system prompt","resource":"chat"}]

npm_readme:
  # n8n-nodes-deutschlandgpt

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

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

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

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

  ## Installation

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

  ## Operations

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

  ## Credentials

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

  ## Resources

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

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


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

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

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

npm_readme:
  # n8n-nodes-phacet-official

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

  This is an n8n community node for [Phacet](https://phacetlabs.com), the AI that prepares, reconciles and controls your financial data. Automate table operations; create rows, update data, retrieve results, and download files directly from your n8n workflows.

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

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

  ## Installation

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

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

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

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

  ## Operations

  This package includes **two nodes**:

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

  ### Row Operations

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

  ### Trigger Operations (Phacet Trigger)

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

  ## Credentials

  You need a Phacet API key to use this node.

  ### Getting your Phacet API Key

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

  ### Setting up the credential in n8n

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

  ## Compatibility

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

  ## Usage

  ### Create Rows

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

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

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

  ### Update Rows

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

  ### Get Rows

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

  ### Get Cell Download URL

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

  ### Phacet Trigger (Webhooks)

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

  Supported events:

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

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

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

  ### Dynamic Dropdowns

  This node features intelligent dynamic dropdowns that:

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

  ## Example Workflows

  ### Invoice Processing

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

  ### Bank Reconciliation

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

  ## Resources

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

  ## License

  [MIT](LICENSE.md)

  ---

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

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


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

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

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

npm_readme:
  # @noloco/n8n-nodes-noloco

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

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

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

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

  ## Installation

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

  ## Operations

  This package includes two nodes:

  ### Noloco (Action Node)

  Perform operations on Noloco records:

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

  ### Noloco Trigger (Polling Trigger)

  Start workflows when records change:

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

  ## Credentials

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

  ### Prerequisites

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

  ### Setting Up Credentials

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

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

  ## Compatibility

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

  ## Resources

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

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


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

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

operations:
  [{"operation":"convert","name":"Convert","description":"Extract text from document using OCR","resource":"document"},{"operation":"identify","name":"Identify","description":"Identify document type from image","resource":"document"},{"operation":"search","name":"Search","description":"Search knowledge base using RAG","resource":"knowledgeBase"}]

npm_readme:
  # n8n-nodes-docutray

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

  ## Features

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

  ## Installation

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

  ## Credentials

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

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

  ## Available Node

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

  ### Docutray Node

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

  #### Document Resource

  Handles document OCR and type identification operations.

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

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

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

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

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

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

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

  #### Knowledge Base Resource

  Handles semantic search operations within knowledge bases using RAG technology.

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

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

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

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

  ## Compatibility

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

  ## Resources

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

  ## License

  [MIT](LICENSE.md)

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


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

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

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

npm_readme:
  # n8n-nodes-screenshotone

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

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

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

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

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

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

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Resources](#resources)
  - [Development](#development)
  - [Version history](#version-history)
  - [ScreenshotOne](#screenshotone)
    - [Use cases](#use-cases)
    - [Customers](#customers)
  - [License](#license)

  ## Installation

  ### Community Nodes

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

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

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

  ## Operations

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

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

  ## Credentials

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

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

  Test the credentials and make sure it works:

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

  ## Compatibility

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

  ## Usage

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

  ### Response types

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

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

  Examples:

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

  Or:

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

  ## Resources

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

  ## Version history

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

  ## Development

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

  0. Install dependencies:

  ```bash
  npm install
  ```

  1. Build the node

  ```bash
  npm run build
  ```

  2. Link the node to n8n from the node directory

  ```bash
  npm link
  ```

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

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

  4. Run n8n:

  ```bash
  n8n start
  ```

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

  ## ScreenshotOne

  ### Use cases

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

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

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

  ### Customers

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

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

  ## License

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

  ## License

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

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


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

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

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

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

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

  ## Installation

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

  ## Credentials

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

  ## Trigger Events

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

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

  ## Usage

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

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

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

  ## Architecture

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

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

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

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

  ## Compatibility

  Requires **n8n >= 1.60.0**.

  ## Resources

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

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


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

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

operations:
  [{"operation":"getAccountSummary","name":"Get Account Summary","description":"Get account information","resource":"account"},{"operation":"getAccountSummary","name":"Get Account Summary","description":"Get account information","resource":"account"},{"operation":"listUsers","name":"List Users","description":"List users in the account","resource":"user"},{"operation":"getUser","name":"Get User","description":"Get a user by ID","resource":"user"},{"operation":"listUsers","name":"List Users","description":"List users in the account","resource":"user"},{"operation":"getUser","name":"Get User","description":"Get a user by ID","resource":"user"},{"operation":"getDevice","name":"Get Device","description":"Get a device by ID","resource":"device"},{"operation":"getDeviceLocationHistory","name":"Get Device Location History","description":"Get device location history (JSON or CSV)","resource":"device"},{"operation":"getDeviceReport","name":"Get Device Report","description":"Get a single report for a device","resource":"device"},{"operation":"getDeviceReports","name":"Get Device Reports","description":"List reports for a device","resource":"device"},{"operation":"listDevices","name":"List Devices","description":"List devices in the account","resource":"device"},{"operation":"getDevice","name":"Get Device","description":"Get a device by ID","resource":"device"},{"operation":"getDeviceLocationHistory","name":"Get Device Location History","description":"Get device location history (JSON or CSV)","resource":"device"},{"operation":"getDeviceReport","name":"Get Device Report","description":"Get a single report for a device","resource":"device"},{"operation":"getDeviceReports","name":"Get Device Reports","description":"List reports for a device","resource":"device"},{"operation":"listDevices","name":"List Devices","description":"List devices in the account","resource":"device"},{"operation":"triggerDeviceAction","name":"Trigger Device Action","description":"Trigger alarm, alert, or lock on a device","resource":"device"},{"operation":"setDeviceStatus","name":"Set Device Status (Missing/Recovered)","description":"Mark a device as missing or recovered","resource":"device"},{"operation":"deleteDevice","name":"Delete Device","description":"Delete a device from the fleet","resource":"device"},{"operation":"listLabels","name":"List Labels","description":"List labels in the account","resource":"label"},{"operation":"getLabel","name":"Get Label","description":"Get a label by ID","resource":"label"},{"operation":"listLabels","name":"List Labels","description":"List labels in the account","resource":"label"},{"operation":"getLabel","name":"Get Label","description":"Get a label by ID","resource":"label"},{"operation":"createLabel","name":"Create Label","description":"Create a new label","resource":"label"},{"operation":"listZones","name":"List Zones","description":"List zones in the account","resource":"zone"},{"operation":"getZone","name":"Get Zone","description":"Get a zone by ID","resource":"zone"},{"operation":"listZones","name":"List Zones","description":"List zones in the account","resource":"zone"},{"operation":"getZone","name":"Get Zone","description":"Get a zone by ID","resource":"zone"},{"operation":"createZone","name":"Create Zone","description":"Create a control zone","resource":"zone"},{"operation":"updateZone","name":"Update Zone","description":"Update a control zone","resource":"zone"},{"operation":"listAutomations","name":"List Automations","description":"List automations in the account","resource":"automation"},{"operation":"getAutomation","name":"Get Automation","description":"Get an automation by ID","resource":"automation"},{"operation":"listAutomations","name":"List Automations","description":"List automations in the account","resource":"automation"},{"operation":"getAutomation","name":"Get Automation","description":"Get an automation by ID","resource":"automation"},{"operation":"listMassActions","name":"List Mass Actions","description":"List mass actions in the account","resource":"massAction"},{"operation":"getMassAction","name":"Get Mass Action","description":"Get a mass action by ID","resource":"massAction"},{"operation":"listMassActions","name":"List Mass Actions","description":"List mass actions in the account","resource":"massAction"},{"operation":"getMassAction","name":"Get Mass Action","description":"Get a mass action by ID","resource":"massAction"}]

npm_readme:
  # n8n-nodes-prey

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

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

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

  ## Installation

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

  ## Operations

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

  ## Credentials

  This node uses API Key authentication.

  ### API Key

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

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

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

  ## Usage notes

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

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

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

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


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

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


  <h1></h1>

  <h3>⚙️ Requisitos</h3>

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

  <h1></h1>

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

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

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

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

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

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

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

  <h1></h1>

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

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

  <h1></h1>

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

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

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

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


