# 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-01-07 20:08:16
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-01-07T20:08:16.059Z
ai_summary_generated_at: 2026-01-08 10:45:32
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 whenever a new row is imported into a specified CSVBox sheet.","capabilities":["Monitors a CSVBox sheet for new row imports","Triggers workflows on new data arrivals","Fetches and previews sample data for testing"],"authentication":"API Key and API Secret Key required from CSVBox dashboard","commonUseCases":["Automatically processing new customer data imported via CSVBox","Syncing imported CSV data to databases or CRM systems","Monitoring and reacting to new entries in a data sheet"],"limitations":[],"relatedNodes":["CSVBox Action","HTTP Request","Database","Webhook"]}


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

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

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

npm_readme:
  # n8n-nodes-klicktipp

  ## KlickTipp API Integration for n8n

  What is the KlickTipp Marketing Suite?

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

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

  ---

  ## Table of Contents

  - [Installation](#installation)
  - [Nodes Overview](#nodes-overview)
    - [Contact](#contact)
    - [Contact Tagging](#contact-tagging)
    - [Data Field](#data-field)
    - [Opt-In Process](#opt-in-process)
    - [Tag](#tag)
    - [Triggers](#triggers)
  - [Credentials](#credentials)
  - [License](#license)
  - [Example Workflows](#example-workflows)

  ---

  ## Installation

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

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

  ## Nodes Overview

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

  ### Contact

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

  ### Contact Tagging

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

  ### Data Field

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

  ### Opt-in Process

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

  ### Tag

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

  ### Triggers

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

  ---

  ## Credentials

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

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

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

  ---

  ## License

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

  ---

  ## Example Workflows

  Refer to the `examples/n8n-nodes-klicktipp.json` file for sample workflows showcasing the integration.

ai_documentation_summary:
  {"purpose":"The KlickTipp node package enables n8n users to interact with the KlickTipp Marketing Suite API, allowing management of contacts, tags, data fields, opt-in processes, and real-time event triggers via webhooks.","capabilities":["Add or update contacts","Delete contacts","Search for contacts by ID or tags","List all contacts or tagged contacts","Tag and untag contacts","Manage data fields (list and get)","Create, update, delete, and retrieve tags","Manage opt-in processes (list, get details, retrieve redirect URLs)","Trigger workflows on KlickTipp events (e.g., email opens, link clicks, SMS sends)"],"authentication":"API credentials required: Username and Password","commonUseCases":["Automatically adding new leads to KlickTipp contact lists","Tagging contacts based on behavior or demographics","Setting up automated opt-in processes for lead capture","Monitoring user engagement via webhook triggers (e.g., email opens)","Syncing contact data between systems and KlickTipp"],"limitations":[],"relatedNodes":["Contact Management Nodes","Tag Management Nodes","Webhook Triggers","Marketing Automation Nodes"]}


node_type: n8n-nodes-swiftgum-trigger.swiftgumTrigger
package_name: n8n-nodes-swiftgum-trigger
display_name: Swiftgum Trigger
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  {
  "type": "main"
  }
  ]

updated_at: 2026-01-07 20:08:16
author_name: arthurbk
author_github_url: https://github.com/Swiftgum/n8n-nodes-swiftgum.git
npm_package_name: n8n-nodes-swiftgum-trigger
npm_version: 0.1.7
community_fetched_at: 2026-01-07T20:08:16.061Z
ai_summary_generated_at: 2026-01-08 10:45:32
description:
  Listen for Swiftgum PDF extraction webhooks, filtered by schema. To test, upload a PDF in your Swiftgum workspace — this node will emit the extracted data once processed.

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

  # n8n-nodes-swiftgum-trigger

  A custom [n8n](https://n8n.io) trigger node built by Swiftgum.

  This node allows you to trigger workflows from Swiftgum-related events or integrations.

  ---

  ## 🚀 Features

  - Custom trigger node for Swiftgum-specific events
  - Built for compatibility with the latest n8n versions
  - Ready to use in your local or cloud-hosted n8n instance

  ---

  ## 📚 How to Use the Swiftgum Trigger Node

  ### 1. Add the Swiftgum Trigger to Your Workflow
  - Search for `Swiftgum Trigger` in the n8n node selector.
  - Add it as the starting node of your workflow.

  ### 2. Set Up Credentials  
  - Go to **Credentials** in n8n and create new credentials with your Swiftgum API Key.  
  - Click **Test Credentials** to ensure your API key is valid (it performs a call to `/schemas`).

  ### 3. (Optional) Filter by Schemas  
  - In the node configuration, select one or more **Schema Names or IDs** to only trigger on events matching these schemas.
  - Leave it blank to receive all events (`job.processed`).

  ### 4. Trigger Events
  - Upload a PDF document in your Swiftgum workspace.
  - Once the document is processed, the node will emit structured data extracted from the document.

  ---

  ### 📦 Example Event Payload

  ```json
  {
    "id": "file-123",
    "name": "document.pdf",
    "createdAt": "2024-06-01T12:00:00.000Z",
    "receivedAt": "2024-06-01T12:00:00.000Z",
    "updatedAt": "2024-06-01T12:05:00.000Z",
    "job": {
      "id": "job-123",
      "status": "completed",
      "schema": {
        "type": "object",
        "properties": {
          "fieldA": { "type": "number", "title": "Surface" }
        }
      },
      "result": { "fieldA": 350 }
    }
  }
  ```

  ---

  ### 🔐 Webhook Security

  - Each webhook subscription generates a **signing secret** (`secret`) when created.
  - Verify the authenticity of incoming events using the `X-Swiftgum-Signature` header.
  - The signature is an HMAC-SHA256 hash of the raw body using your secret.

  Example verification (in Node.js):

  ```ts
  const crypto = require('crypto');
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(rawBody)
    .digest('hex');

  if (receivedSignature !== expectedSignature) {
    throw new Error('Invalid signature');
  }
  ```

  ---

  ## 🧰 Installation

  You can install this package directly via the n8n UI or CLI.

  ### Via n8n UI

  Paste this URL into the **Install from npm** input:

  ```
  https://www.npmjs.com/package/n8n-nodes-swiftgum-trigger
  ```

  ### Via CLI (inside your custom n8n setup)

  ```bash
  pnpm add n8n-nodes-swiftgum-trigger
  ```

  ---

  ## 🧪 Local Development

  To test this node locally:

  ```bash
  pnpm install
  pnpm build
  ```

  You can also use our internal dev environment with Docker:

  ```bash
  ./fetch-node.sh
  docker compose up --build
  ```

  ---

  ## 🗂 File Structure

  ```
  n8n-nodes-swiftgum-trigger/
  ├── credentials/           # Custom credential classes
  ├── nodes/                 # Swiftgum Trigger node definition
  ├── dist/                  # Compiled output
  ├── gulpfile.js            # Icon handling
  ├── tsconfig.json
  ├── package.json
  └── README.md
  ```

  ---

  ## 🧑‍💻 Contributing

  Pull requests and contributions are welcome! Please:
  - Follow the code structure in `nodes/` and `credentials/`
  - Run `pnpm lint` before submitting
  - Build locally and test in a running n8n instance

  ---

  ## 🚀 Publishing

  If you're making changes to this node and want to publish them to npm:

  1. Bump the version:
     ```bash
     pnpm version patch   # or minor / major
     ```

  2. Publish to npm:
     ```bash
     pnpm publish --access public
     ```

  > 📦 npm does not allow publishing the same version twice. Always increment the version before running `pnpm publish`.

  ---

  ## 📄 License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Swiftgum Trigger node listens for PDF extraction events from Swiftgum and emits structured data when a document is processed, allowing workflows to respond to document processing events.","capabilities":["Triggers on Swiftgum PDF processing events","Filters events by specific schema names or IDs","Emits structured JSON payload with document and extraction metadata","Verifies webhook authenticity using HMAC-SHA256 signature","Works with both local and cloud-hosted n8n instances"],"authentication":"API key required; credentials must be created in n8n and tested against the `/schemas` endpoint","commonUseCases":["Automatically process and route extracted data from PDFs in Swiftgum","Trigger downstream actions (e.g., database updates, notifications) when a document is processed","Filter workflows to only respond to specific document types or schemas"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-base.trigger"]}


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

updated_at: 2026-01-07 20:08:16
author_name: richswier
author_github_url: https://github.com/raia-ai/n8n-node.git
npm_package_name: n8n-nodes-raia
npm_version: 1.0.12
community_fetched_at: 2026-01-07T20:08:16.061Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # 📡 n8n-nodes-raia

  **Custom n8n Node** to interact with the **Raia** platform for managing AI-powered and human-led conversations via SMS, Email, or Voice.

  ## 🚀 Features

  This node allows you to:
  - Start new conversations (SMS, Email)
  - Chat or prompt an agent
  - Use Raia's platform in a single, unified node

  ## 🔧 Node Actions

  | Action                     | Description                                                  |
  |---------------------------|--------------------------------------------------------------|
  | Start SMS Conversation    | Initiate a conversation via SMS                              |
  | Start Email Conversation  | Initiate a conversation via Email                            |
  | Prompt an Agent           | Send a prompt to an agent                                    |

  ## 🧩 Node Parameters

  ### Common Parameters (used in most actions)
  - **First Name**
  - **Last Name**
  - **Context** (e.g., "Support")
  - **Source** (e.g., "crm")
  - **fkId**
  - **fkUserId**

  ### Channel-Specific Parameters

  #### SMS
  - **Phone Number**
  - **SMS Introduction** (for SMS)

  #### Email
  - **Email Address**
  - **Email Subject**
  - **Email Introduction**
  - **Include Signature in Email** (boolean)

  ### Prompt Agent
  - **Prompt**

  ```json
  {
    "conversationId": "string",
    "messageId": "string",
    "userId": "string",
    "message": "string",
    "timestamp": "ISODate"
  }
  ```

  ## Installation

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

  1. Open n8n.
  2. Go to **Settings** > **Community Nodes**.
  3. Click **Install Community Node**.
  4. Enter the name of this package: `n8n-nodes-raia`
  5. Click **Install**.

  For more details, see the [official n8n documentation](https://docs.n8n.io/integrations/community-nodes/installation/verified-install/).

  ## License

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

ai_documentation_summary:
  {"purpose":"The raia node enables users to initiate and manage AI-powered and human-led conversations via SMS, Email, or Voice using the Raia platform, all within a single unified node.","capabilities":["Start a new SMS conversation","Start a new email conversation","Prompt an agent with a message"],"authentication":"None mentioned in the README; likely requires API key or authentication via Raia platform separately (not specified in documentation)","commonUseCases":["Initiating customer support conversations via SMS or email","Engaging users with AI agents using predefined prompts","Integrating Raia's conversational AI into n8n workflows for automated customer interactions"],"limitations":[],"relatedNodes":["n8n-nodes-base.email","n8n-nodes-base.sms","n8n-nodes-base.agent"]}


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-01-07 20:08:16
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-01-07T20:08:16.062Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Document",
          "value": "document",
          "description": "Process documents with OCR and identification"
        },
        {
          "name": "Knowledge Base",
          "value": "knowledgeBase",
          "description": "Search knowledge bases using RAG technology"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "convert",
      "options": [
        {
          "name": "Convert",
          "value": "convert",
          "action": "Convert document to JSON",
          "routing": {
            "request": {
              "url": "/convert",
              "method": "POST"
            }
          },
          "description": "Extract text from document using OCR"
        },
        {
          "name": "Identify",
          "value": "identify",
          "action": "Identify document type",
          "routing": {
            "request": {
              "url": "/identify",
              "method": "POST"
            }
          },
          "description": "Identify document type from image"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search knowledge base",
          "routing": {
            "request": {
              "method": "POST"
            }
          },
          "description": "Search knowledge base using RAG"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "knowledgeBase"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

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

npm_readme:
  # n8n-nodes-docutray

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

  ## Features

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

  ## Installation

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

  ## Credentials

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

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

  ## Available Node

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

  ### Docutray Node

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

  #### Document Resource

  Handles document OCR and type identification operations.

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

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

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

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

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

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

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

  #### Knowledge Base Resource

  Handles semantic search operations within knowledge bases using RAG technology.

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

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

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

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

  ## Compatibility

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

  ## Resources

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

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Docutray node enables automation of document processing and knowledge base search workflows by extracting text from images and PDFs using OCR, identifying document types, and performing semantic search in knowledge bases via RAG technology.","capabilities":["Extract text from images and PDFs using advanced OCR","Identify document types with confidence scores","Perform semantic search in knowledge bases using RAG","Select knowledge bases dynamically via dropdown with metadata","Support multiple input methods: file uploads, Base64 images, and image URLs","Support for JPEG, PNG, GIF, BMP, WebP, and PDF files up to 100MB"],"authentication":"API key required","commonUseCases":["Automating document digitization and text extraction from scanned forms or images","Classifying incoming documents by type for routing or categorization","Searching knowledge bases for relevant content using natural language queries","Building intelligent document processing pipelines with AI-powered search and classification"],"limitations":[],"relatedNodes":["OCR nodes","Document classification nodes","Knowledge base search nodes","RAG-based retrieval nodes"]}


node_type: n8n-nodes-scrapeless.scrapeless
package_name: n8n-nodes-scrapeless
display_name: Scrapeless Official
description: Official Scrapeless nodes for n8n
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: scrapeless_team
author_github_url: https://github.com/scrapeless-ai/
npm_package_name: n8n-nodes-scrapeless
npm_version: 0.4.1
community_fetched_at: 2026-01-07T20:08:16.063Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "scrapingApi",
      "options": [
        {
          "name": "Deep SerpApi",
          "value": "scrapingApi"
        },
        {
          "name": "Universal Scraping API",
          "value": "universalScrapingApi"
        },
        {
          "name": "Crawler",
          "value": "crawler"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrape",
      "options": [
        {
          "name": "Scrape",
          "value": "scrape",
          "action": "Scrape"
        },
        {
          "name": "Crawl",
          "value": "crawl",
          "action": "Crawl"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "crawler"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "webUnlocker",
      "options": [
        {
          "name": "Web Unlocker",
          "value": "webUnlocker",
          "action": "Web Unlocker"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "universalScrapingApi"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "googleSearch",
      "options": [
        {
          "name": "Google Search",
          "value": "googleSearch",
          "action": "Google Search"
        },
        {
          "name": "Google Trends",
          "value": "googleTrends",
          "action": "Google Trends"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scrapingApi"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Scrape",
      "value": "scrape",
      "action": "Scrape"
    },
    {
      "name": "Crawl",
      "value": "crawl",
      "action": "Crawl"
    },
    {
      "name": "Web Unlocker",
      "value": "webUnlocker",
      "action": "Web Unlocker"
    },
    {
      "name": "Google Search",
      "value": "googleSearch",
      "action": "Google Search"
    },
    {
      "name": "Google Trends",
      "value": "googleTrends",
      "action": "Google Trends"
    }
  ]

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

  # n8n-node-scrapeless

  This repo contains Scrapeless's community node for n8n.

  ## Installation

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

  ## Credentials

  You must have a Scrapeless API key to use this node. You can register for a free account to get an API key here:

  https://app.scrapeless.com/passport/register

  Once registered, you can find your API key here:


  Then you'll need to create a credential in n8n for Scrapeless.

  ![Add Credentials](images/add-credentials.png)

  ## Usage

  Add the Scrapeless node to your workflow.

  ![Add Scrapeless to Workflow](images/workflow.png)

  Configure a basic query and hit "Test step" to try a search.

  ![Test a Crawler through Scrapeless](images/test-crawler.png)

  ## License

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

ai_documentation_summary:
  {"purpose":"The Scrapeless Official node enables users to scrape data from websites using Scrapeless' AI-powered crawling technology directly within n8n workflows.","capabilities":["Perform web scraping with AI-powered crawling","Configure basic search queries","Test crawlers within the workflow","Integrate with n8n workflows using a dedicated Scrapeless credential"],"authentication":"API key required","commonUseCases":["Extracting product data from e-commerce websites","Gathering news or blog content from public websites","Automating data collection from dynamic or JavaScript-heavy pages"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-web"]}


node_type: n8n-nodes-kargo-entegrator.kargoEntegrator
package_name: n8n-nodes-kargo-entegrator
display_name: Kargo Entegratör
description: Interact with Kargo Entegratör API for shipment management
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: gurmesoftcom
author_github_url: https://github.com/gurmesoft/
npm_package_name: n8n-nodes-kargo-entegrator
npm_version: 0.1.1
community_fetched_at: 2026-01-07T20:08:16.064Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "shipment",
      "options": [
        {
          "name": "Cargo",
          "value": "cargo",
          "description": "Get cargo companies information"
        },
        {
          "name": "Return",
          "value": "return",
          "description": "Manage return shipments"
        },
        {
          "name": "Setting",
          "value": "settings",
          "description": "Get system settings"
        },
        {
          "name": "Shipment",
          "value": "shipment",
          "description": "Manage shipments"
        },
        {
          "name": "Warehouse",
          "value": "warehouse",
          "description": "Manage warehouses"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a shipment",
          "description": "Create a new shipment"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a shipment",
          "description": "Get shipment details"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many shipments",
          "description": "Get many shipments with pagination"
        },
        {
          "name": "Print Shipment PDF",
          "value": "printPdf",
          "action": "Print shipment PDF",
          "description": "Generate PDF document for shipments"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "shipment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a return shipment",
          "description": "Create a return shipment"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a return shipment",
          "description": "Get a return shipment by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many return shipments",
          "description": "Get many return shipments"
        },
        {
          "name": "Print Returned PDF",
          "value": "printReturnedPdf",
          "action": "Print returned PDF",
          "description": "Generate PDF output for a returned shipment"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "return"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many cargo companies",
          "description": "Get many cargo companies"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a cargo company",
          "description": "Get specific cargo company"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "cargo"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many warehouses",
          "description": "Get many warehouses"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a warehouse",
          "description": "Get specific warehouse"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "warehouse"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getShipmentSettings",
      "options": [
        {
          "name": "Get Shipment Settings",
          "value": "getShipmentSettings",
          "action": "Get shipment settings"
        },
        {
          "name": "Get Return Settings",
          "value": "getReturnSettings",
          "action": "Get return settings"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "settings"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a shipment",
      "description": "Create a new shipment"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a shipment",
      "description": "Get shipment details"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many shipments",
      "description": "Get many shipments with pagination"
    },
    {
      "name": "Print Shipment PDF",
      "value": "printPdf",
      "action": "Print shipment PDF",
      "description": "Generate PDF document for shipments"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a return shipment",
      "description": "Create a return shipment"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a return shipment",
      "description": "Get a return shipment by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many return shipments",
      "description": "Get many return shipments"
    },
    {
      "name": "Print Returned PDF",
      "value": "printReturnedPdf",
      "action": "Print returned PDF",
      "description": "Generate PDF output for a returned shipment"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many cargo companies",
      "description": "Get many cargo companies"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a cargo company",
      "description": "Get specific cargo company"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many warehouses",
      "description": "Get many warehouses"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a warehouse",
      "description": "Get specific warehouse"
    },
    {
      "name": "Get Shipment Settings",
      "value": "getShipmentSettings",
      "action": "Get shipment settings"
    },
    {
      "name": "Get Return Settings",
      "value": "getReturnSettings",
      "action": "Get return settings"
    }
  ]

npm_readme:
  # n8n-nodes-kargo-entegrator

  This is an n8n community node. It lets you use Kargo Entegratör API in your n8n workflows.

  Kargo Entegratör is a Turkish cargo integration platform that allows you to manage shipments across multiple cargo companies from a single interface.

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

  ## Table of Contents

  - [Quick Start](#quick-start)
  - [Development Setup](#development-setup)
  - [Docker Environment](#docker-environment)
  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Scripts](#scripts)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Resources](#resources)
  - [Version History](#version-history)
  - [License](#license)

  ## Quick Start

  ### Prerequisites
  - Node.js >= 20.15
  - npm or yarn
  - Docker (optional, for containerized development)

  ### Local Development

  1. **Clone and Install**
     ```bash
     git clone https://github.com/gurmesoft/n8n-nodes-kargo-entegrator.git
     cd n8n-nodes-kargo-entegrator
     npm install
     ```

  2. **Build the Project**
     ```bash
     npm run build
     ```

  3. **Start Development**
     ```bash
     npm run dev
     ```

  ### Docker Development (Recommended)

  1. **Quick Start with Docker**
     ```bash
     # Build and start development environment
     npm run dev:docker
     
     # Access N8N at http://localhost:5678
     # Username: admin
     # Password: admin123
     ```

  2. **View Logs**
     ```bash
     npm run dev:docker:logs
     ```

  3. **Stop Environment**
     ```bash
     npm run dev:docker:stop
     ```

  ## Development Setup

  ### Environment Requirements
  - **Node.js**: >= 20.15
  - **TypeScript**: ^5.8.2
  - **n8n-workflow**: Latest (peer dependency)

  ### Project Structure
  ```
  n8n-nodes-kargo-entegrator/
  ├── credentials/           # API credentials configuration
  ├── nodes/                # Node implementations
  │   └── KargoEntegrator/
  │       ├── *.node.ts     # Node logic
  │       ├── actions/      # Node actions
  │       └── resources/    # Node resources
  ├── dist/                 # Built files (generated)
  ├── docker-compose*.yml   # Docker configurations
  └── package.json          # Project configuration
  ```

  ### Development Workflow

  1. **Make Changes**: Edit TypeScript files in `nodes/` or `credentials/`
  2. **Build**: Run `npm run build` to compile TypeScript
  3. **Test**: Use Docker environment or local N8N instance
  4. **Format**: Run `npm run format` to format code
  5. **Lint**: Run `npm run lint` to check code quality

  ## Docker Environment

  Three Docker configurations are available:

  ### 1. Development Environment (Recommended)
  ```bash
  npm run dev:docker
  # or
  docker-compose -f docker-compose.dev.yml up -d
  ```
  - **Services**: N8N + PostgreSQL + Node development container
  - **Features**: Hot reload, debugging, persistent data
  - **Access**: http://localhost:5678

  ### 2. Simple Environment
  ```bash
  docker-compose -f docker-compose.simple.yml up -d
  ```
  - **Services**: N8N only (SQLite database)
  - **Use Case**: Quick testing
  - **Access**: http://localhost:5678

  ### 3. Production Environment
  ```bash
  docker-compose up -d
  ```
  - **Services**: N8N + PostgreSQL
  - **Use Case**: Production deployment
  - **Access**: http://localhost:5678

  ### Docker Commands
  ```bash
  # Start development environment
  npm run dev:docker

  # View logs
  npm run dev:docker:logs

  # Restart services
  npm run dev:docker:restart

  # Stop environment
  npm run dev:docker:stop

  # Build and restart with live reload
  npm run dev:live
  ```

  ### Access Information
  - **N8N Web Interface**: http://localhost:5678
  - **Username**: admin
  - **Password**: admin123
  - **PostgreSQL**: localhost:5432 (production) / localhost:5433 (development)
    - User: n8n
    - Password: n8n123
    - Database: n8n

  ## Scripts

  | Script | Description |
  |--------|-------------|
  | `npm run build` | Build TypeScript and copy icons |
  | `npm run dev` | Watch TypeScript files for changes |
  | `npm run dev:live` | Development with auto-restart |
  | `npm run dev:docker` | Start Docker development environment |
  | `npm run dev:docker:logs` | View Docker logs |
  | `npm run dev:docker:stop` | Stop Docker environment |
  | `npm run dev:docker:restart` | Restart Docker services |
  | `npm run format` | Format code with Prettier |
  | `npm run lint` | Lint code with ESLint |
  | `npm run lintfix` | Fix linting issues automatically |  

  ## 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-kargo-entegrator`
  4. Agree to the risks of using community nodes
  5. Select **Install**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-kargo-entegrator
  ```

  ## Operations

  ### Shipment
  - **Create**: Create a new shipment
  - **Get**: Retrieve shipment details
  - **Create Return**: Create a return shipment

  ### Customer
  - **Update**: Update customer information

  ### Cargo
  - **Get All**: Get all available cargo companies
  - **Get**: Get specific cargo company details

  ## Credentials

  To use this node, you need:

  1. Sign up for an account at [https://app.kargoentegrator.com](https://app.kargoentegrator.com)
  2. Get your API key from the dashboard
  3. Configure the credentials in n8n:
     - **API Key**: Your Kargo Entegratör API key
     - **Base URL**: https://app.kargoentegrator.com/api (default)

  ## Compatibility

  Tested against n8n version 1.0+.

  ## Usage

  ### Creating a Shipment

  1. Select "Shipment" as the resource
  2. Choose "Create" as the operation
  3. Fill in the required fields:
     - Receiver name, phone, and address
     - City and district
     - Cargo company ID
     - Package details (weight, count, description)

  ### Managing Returns

  Use the "Create Return" operation to create return shipments with the same interface as regular shipments.

  ### Getting Cargo Companies

  Use the "Cargo" resource to get information about available cargo companies and their IDs for use in shipment creation.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Kargo Entegratör API Documentation](https://documenter.getpostman.com/view/25047990/2sAY4vg2RR)
  * [Kargo Entegratör Website](https://kargoentegrator.com/)

  ## Version History

  ### 0.1.0
  - Initial release
  - Support for shipment creation, retrieval, and PDF generation
  - Support for return shipment management
  - Cargo company and warehouse information retrieval
  - Webhook trigger for shipment status changes
  - System settings access

  ## Contributing

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

  ## Support

  For support, please contact [destek@kargoentegrator.com](mailto:destek@kargoentegrator.com) or visit our [website](https://kargoentegrator.com/).

  ## License

  [MIT](https://github.com/gurmesoft/n8n-nodes-kargo-entegrator/blob/main/LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Kargo Entegratör node enables n8n users to manage shipments and customer data via the Kargo Entegratör API, allowing integration with multiple Turkish cargo companies from a single interface.","capabilities":["Create a new shipment","Retrieve shipment details","Create a return shipment","Update customer information","Get all available cargo companies","Get details of a specific cargo company"],"authentication":"API key required; obtain it from the Kargo Entegratör dashboard at https://app.kargoentegrator.com","commonUseCases":["Managing outbound shipments across multiple cargo providers","Handling return shipments with the same workflow as regular shipments","Updating customer information in a logistics system","Fetching available cargo companies for dynamic shipment routing"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-http-request"]}


node_type: @meistrari/n8n-nodes-tela.tela
package_name: @meistrari/n8n-nodes-tela
display_name: Tela
description: Integrates with Tela to run AI-driven workflows and automation tasks
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: 0xthierry
author_github_url: https://github.com/meistrari/n8n-nodes-tela.git
npm_package_name: @meistrari/n8n-nodes-tela
npm_version: 1.4.0
community_fetched_at: 2026-01-07T20:08:16.065Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "canvas",
      "options": [
        {
          "name": "Canvas",
          "value": "canvas"
        }
      ],
      "description": "The resource to operate on",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "execute",
      "options": [
        {
          "name": "Execute",
          "value": "execute",
          "action": "Execute a canvas",
          "description": "Execute a canvas with variables"
        },
        {
          "name": "Execute Workstation",
          "value": "executeWorkstation",
          "action": "Execute workstation task",
          "description": "Create a task in the workstation dashboard"
        },
        {
          "name": "Get Completion",
          "value": "getCompletion",
          "action": "Get completion status",
          "description": "Get the result of an async completion"
        }
      ],
      "description": "The operation to perform",
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "canvas"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Execute",
      "value": "execute",
      "action": "Execute a canvas",
      "description": "Execute a canvas with variables"
    },
    {
      "name": "Execute Workstation",
      "value": "executeWorkstation",
      "action": "Execute workstation task",
      "description": "Create a task in the workstation dashboard"
    },
    {
      "name": "Get Completion",
      "value": "getCompletion",
      "action": "Get completion status",
      "description": "Get the result of an async completion"
    }
  ]

npm_readme:
  # n8n-nodes-tela

  This is an n8n community node that provides seamless integration with the Tela API. It allows you to interact with Tela projects and canvases in your n8n workflows, enabling dynamic content generation and workflow automation.

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

  ## TL;DR

  Don't want to read? Import the sample workflow **"Tela Canvas Execution with Dynamic Variables"** to test this node with real Tela API integration.

  ## What This Node Does

  The Tela node enables you to:

  - **Execute Tela Canvases**: Run AI-powered canvases with dynamic variables and get results
  - **Dynamic Variable Handling**: Automatically detect and configure canvas variables
  - **File Upload Support**: Handle file uploads for canvas processing
  - **Project Management**: List and manage Tela projects and their canvases
  - **Workflow Integration**: Seamlessly integrate Tela AI workflows into your n8n automation

  ## Installation

  ### Community Nodes (Recommended)

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

  ### Manual Installation

  For self-hosted n8n instances:

  ```bash
  npm install @meistrari/n8n-nodes-tela
  ```

  For Docker installations, follow the [custom nodes guide](https://docs.n8n.io/integrations/creating-nodes/deploy/install-private-nodes/).

  ## Configuration

  ### 1. Create Tela API Credentials

  1. Create a new credential of type **"Tela API"**
  2. Enter your Tela API key (find this in your [Tela dashboard](https://app.tela.com))
  3. Test the connection to verify it works

  ### 2. Configure the Node

  1. **Project**: Select the project containing your canvas
  2. **Canvas**: Choose the specific canvas to execute
  3. **Variables**: Configure dynamic fields based on your canvas configuration

  ## Operations

  ### Execute Canvas

  The main operation that runs your Tela canvas with the specified variables and returns the AI-generated results.

  **Parameters:**

  | Field              | Type    | Required | Description                                                                 |
  | ------------------ | ------- | -------- | --------------------------------------------------------------------------- |
  | **Project**        | Options | Yes      | Select the project containing your canvas                                   |
  | **Canvas**         | Options | Yes      | Select the canvas to execute                                                |
  | **Variables**      | Collection | No    | Dynamic fields based on your canvas configuration                           |
  | **Async Execution** | Boolean | No      | When enabled, returns immediately with completion ID instead of waiting     |

  **Use Cases:**

  - Generate dynamic content for emails
  - Create personalized marketing materials
  - Process documents with AI assistance
  - Generate reports based on input data

  ### Execute Workstation

  Create a task in the Tela Workstation dashboard. Tasks are visible in the Tela web interface and can be reviewed, approved, or processed manually.

  **Parameters:**

  | Field         | Type       | Required | Description                                       |
  | ------------- | ---------- | -------- | ------------------------------------------------- |
  | **Project**   | Options    | Yes      | Select the project containing your canvas         |
  | **Canvas**    | Options    | Yes      | Select the canvas to execute                      |
  | **Label**     | String     | No       | Optional label for the workstation task           |
  | **Variables** | Collection | No       | Dynamic fields based on your canvas configuration |

  **Response:**

  - Returns the full API response object

  **Use Cases:**

  - Create tasks for human review in Tela dashboard
  - Queue AI-generated content for approval workflows
  - Build hybrid human-AI pipelines with manual checkpoints

  ### Get Completion

  Retrieve the result of an async canvas execution. Use this operation to poll for completion status when using async execution.

  **Parameters:**

  | Field            | Type   | Required | Description                              |
  | ---------------- | ------ | -------- | ---------------------------------------- |
  | **Completion ID** | String | Yes      | The ID returned from async execution     |

  **Response:**

  - Returns the full API response object with `id`, `status`, and `outputContent`

  **Use Cases:**

  - Poll for long-running canvas executions
  - Build async workflows with wait loops
  - Handle high-latency AI processing without timeouts

  ## Node Reference

  ### Credentials

  | Field       | Description                           |
  | ----------- | ------------------------------------- |
  | **API Key** | Your Tela API key from your dashboard |

  ### Parameters

  | Field         | Type       | Required | Description                                       |
  | ------------- | ---------- | -------- | ------------------------------------------------- |
  | **Project**   | Options    | Yes      | Select the project containing your canvas         |
  | **Canvas**    | Options    | Yes      | Select the canvas to execute                      |
  | **Variables** | Collection | No       | Dynamic fields based on your canvas configuration |

  ## Usage Examples

  ### Example 1: Basic Canvas Execution

  **Input Data:**

  ```json
  {
    "customerName": "John Doe",
    "productType": "Premium Subscription",
    "monthlyAmount": 99.99
  }
  ```

  **Canvas Variables:**

  - `customer_name`: John Doe
  - `product_type`: Premium Subscription
  - `monthly_amount`: 99.99

  **Result:** AI-generated personalized content based on your canvas configuration.

  ### Example 2: File Processing

  **Input Data:**

  ```json
  {
    "document": "binary_file_data",
    "processingType": "summarize"
  }
  ```

  **Canvas Variables:**

  - `document`: [File upload]
  - `processing_type`: summarize

  **Result:** AI-processed document with summary or analysis.

  ### Example 3: Dynamic Content Generation

  **Input Data:**

  ```json
  {
    "industry": "Technology",
    "companySize": "100-500 employees",
    "challenge": "Digital transformation"
  }
  ```

  **Canvas Variables:**

  - `industry`: Technology
  - `company_size`: 100-500 employees
  - `challenge`: Digital transformation

  **Result:** Tailored content addressing specific business challenges.

  ## Sample Workflows

  ### Workflow 1: Automated Customer Onboarding

  1. **Webhook** receives new customer signup
  2. **Tela** generates personalized welcome email
  3. **Send Email** delivers the generated content

  ### Workflow 2: Document Processing Pipeline

  1. **File Upload** receives document
  2. **Tela** processes and analyzes document
  3. **Database** stores processed results
  4. **Notification** sends completion alert

  ### Workflow 3: Marketing Campaign Generator

  1. **CRM** provides customer segments
  2. **Tela** generates personalized campaigns
  3. **Marketing Platform** deploys campaigns
  4. **Analytics** tracks performance

  ## Advanced Features

  ### Dynamic Variable Detection

  The node automatically detects canvas variables and their types:

  - **Text variables**: Standard string inputs
  - **File variables**: Automatic file upload handling
  - **Required fields**: Clearly marked in the interface

  ### Smart File Handling

  - Supports multiple file formats
  - Automatic MIME type detection
  - Secure file upload to Tela servers
  - Binary data processing from n8n workflows

  ### Load Options

  - **Projects**: Dynamically loads available projects
  - **Canvases**: Loads canvases based on selected project
  - **Variables**: Auto-populates variable fields based on canvas

  ## Compatibility

  - **n8n Version**: 0.174.0 or later
  - **Node.js**: 18.0.0 or later
  - **npm**: 8.0.0 or later
  - **Platforms**: n8n Cloud, Self-hosted instances

  ## Troubleshooting

  ### Common Issues

  1. **API Key Invalid**

     - Verify your Tela API key is correct
     - Check if the key has expired
     - Ensure proper permissions

  2. **Project Not Loading**

     - Verify API key has access to projects
     - Check Tela API status
     - Refresh credentials

  3. **Canvas Execution Fails**
     - Verify all required variables are set
     - Check canvas configuration in Tela
     - Review API response for error details

  ### Error Messages

  - `Failed to load projects`: Check API key and permissions
  - `Failed to load canvases`: Verify project ID and access
  - `Failed to execute canvas`: Review variable configuration

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Tela API Documentation](https://docs.tela.com)
  - [n8n Workflow Automation](https://n8n.io)
  - [Community Support](https://community.n8n.io)

  ## Support

  ### Getting Help

  - **GitHub Issues**: [Report bugs and request features](https://github.com/meistrari/n8n-nodes-tela/issues)
  - **n8n Community**: [Ask questions in the community](https://community.n8n.io)
  - **Documentation**: [Check the comprehensive docs](https://docs.n8n.io)

  ## Development

  ### Local Development

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

  # Install dependencies
  npm install

  # Build the project
  npm run build

  # Link locally for testing
  npm link
  ```

  ### Testing

  ```bash
  # Run tests
  npm test

  # Build and test
  npm run build && npm test
  ```

  ## Changelog

  ### Version 1.4.0

  **BREAKING CHANGE: Simplified API Response Handling**

  All operations now return the raw API response directly instead of formatted/transformed data.

  #### Breaking Changes

  - **Execute Canvas**: Now returns the full `CompletionResponse` object from the API
    - Before: `data.choices[0].message?.content` (sync) or `{ id, status }` (async)
    - After: Full API response object

  - **Execute Workstation**: Now returns the full API response
    - Before: `{ status: "created" }`
    - After: Full `CompletionResponse` object from the API

  - **Get Completion**: Now returns the full API response
    - Before: `{ status, ...outputContent }` (succeeded) or `{ status }` (pending)
    - After: Full `GetCompletionResponse` object with `id`, `status`, and `outputContent`

  #### Migration Guide

  If your workflows depend on the previous response format, you'll need to update your expressions:

  ```
  # Execute Canvas (sync) - accessing content
  Before: {{ $json.fieldName }}
  After:  {{ $json.choices[0].message.content.fieldName }}

  # Execute Canvas (async) - accessing id/status
  Before: {{ $json.id }}
  After:  {{ $json.id }}  (no change needed)

  # Get Completion - accessing output content
  Before: {{ $json.fieldName }}
  After:  {{ $json.outputContent.content.fieldName }}
  ```

  #### Why This Change?

  - Provides full API response data for advanced use cases
  - Eliminates data loss from response transformation
  - Gives users complete control over how to process the response
  - Simplifies codebase maintenance

  ### Version 1.2.0

  **New Features: Async Execution, Completion Polling & Workstation Integration**

  #### New Operations
  - **Execute Workstation**: Create tasks in the Tela Workstation dashboard
    - Tasks are visible in the Tela web interface for review and approval
    - Supports optional `label` field for task identification
    - Automatically fetches `application_id` from the canvas
    - Returns `{ status: "created" }` on success

  - **Get Completion**: Retrieve the result of an async canvas execution
    - Accepts a `completionId` parameter
    - Returns `{ status, ...content }` when succeeded
    - Returns `{ status }` when still processing (for polling workflows)

  #### Execute Canvas Enhancements
  - **Async Execution**: New toggle to execute canvases asynchronously
    - When enabled, returns immediately with `{ id, status }` instead of waiting for completion
    - Ideal for long-running AI tasks that may exceed timeout limits
    - Enables building polling workflows with Wait + If nodes

  #### Use Case: Async Workflow Pattern
  ```
  1. [Tela: Execute Canvas] (Async: ON) → { id: "abc-123", status: "pending" }
  2. [Wait] → 5 seconds
  3. [Tela: Get Completion] (ID: {{ $json.id }}) → { status: "pending" } or { status: "succeeded", ...content }
  4. [If] status !== "succeeded" → Loop back to step 2
  5. [Continue] → Process the completed result
  ```

  #### Use Case: Workstation Task Creation
  ```
  1. [Webhook] → Receive data from external system
  2. [Tela: Execute Workstation] → Create task with label "{{ $json.customer }} - {{ $json.orderId }}"
  3. [Task appears in Tela dashboard for human review]
  ```

  #### Technical Details
  - Added `async` parameter to completion request body
  - Added `status` field to completion response types
  - New `GetCompletionResponse` type for get completion endpoint
  - New `PromptApplication` and `WorkstationRequest` types
  - New `/prompt-application` endpoint integration
  - Graceful error handling for polling requests

  ### Version 1.1.2

  **UX Pattern compliance for n8n verification:**

  #### n8n Verification Requirements
  - **Implemented Resources and Operations pattern**: Added standard n8n UX pattern with Resource and Operation dropdowns
    - Resource: Canvas (single option, extensible for future resources)
    - Operation: Execute (executes a canvas with variables)
    - All existing functionality preserved and unchanged
    - No breaking changes - workflows continue to work seamlessly

  #### User Experience Improvements
  - **Better discoverability**: Users can now see available resources and operations in dropdown menus
  - **Consistent with n8n ecosystem**: Follows the same UX pattern as official n8n nodes
  - **Future-proof architecture**: Easy to extend with additional operations (Get Details, List, etc.)

  #### Technical Details
  - Added `resource` property with 'canvas' option
  - Added `operation` property with 'execute' action
  - Updated all existing properties with `displayOptions` to show conditionally
  - Maintains backwards compatibility with existing workflows

  #### Breaking Changes
  - None - all changes are backwards compatible

  ### Version 1.1.0

  **Major improvements for n8n Cloud verification compliance:**

  #### Critical Fixes
  - **Removed dependency overrides**: Eliminated `overrides` section from package.json to prevent masking security vulnerabilities
  - **Replaced native fetch() with n8n HTTP helpers**: All API requests now use n8n's `httpRequest` helper for proper proxy support, retry logic, and request logging
  - **Added pairedItem linking**: Implemented proper data flow tracking with `pairedItem` metadata on all outputs

  #### High Priority Improvements
  - **Enhanced error logging**: Replaced `console.error` with n8n's logger service for better debugging in production
  - **Added continueOnFail support**: Workflows can now handle errors gracefully and continue processing remaining items
  - **Multi-item processing**: Refactored execute() method to properly process multiple input items in batch

  #### Quality Improvements
  - **Converted icon to SVG format**: Replaced PNG icon with SVG for better scalability and 70% smaller file size
    - Updated both node and credential files to use `tela.svg`
    - Removed legacy PNG icon from build output
    - Consistent icon format across entire package
  - **Improved error handling**: Added `NodeOperationError` with detailed metadata including itemIndex
  - **Better type safety**: Enhanced TypeScript types for HTTP request methods

  #### Breaking Changes
  - None - all changes are backwards compatible

  #### Developer Experience
  - Enhanced logging visibility in n8n execution logs
  - Better error messages with actionable descriptions
  - Improved workflow debugging with proper data flow tracking

  ### Version 1.0.16

  - Replace get prompts call (includeLastVersion=true) for /promoted-version endpoint (the old one was deprecated internally)

  ### Version 1.0.15

  - Fixed critical security vulnerabilities in transitive dependencies
  - Updated axios from vulnerable version to 1.12.2 (fixes CVE-2025-58754)
  - Updated form-data from vulnerable version to 4.0.4 (fixes CVE-2025-7783)
  - Added npm overrides to ensure secure dependency versions across all packages
  - Zero vulnerabilities reported by npm audit

  ### Version 1.0.14

  - Added credential test method to fix n8n verification pre-checks
  - Fixed n8n verification pre-checks by restructuring project to match n8n-nodes-starter template
  - Moved credentials and nodes to proper directories as required by n8n
  - Enhanced README documentation for n8n verification compliance
  - Added comprehensive usage examples and sample workflows
  - Improved installation and configuration instructions
  - Added troubleshooting guide and development documentation

  ### Version 1.0.1

  - Enhanced error handling
  - Improved file upload support
  - Better variable validation

  ### Version 1.0.0

  - Initial release
  - Basic Tela API integration
  - Dynamic variable support

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Tela node integrates with Tela's AI platform to execute AI-driven canvases, manage projects, and automate workflows using dynamic variables and file uploads, enabling content generation and human-AI collaboration in n8n.","capabilities":["Execute Tela Canvases with dynamic variables","Handle file uploads for AI processing","Manage Tela projects and canvases","Create and manage workstation tasks for human review","Poll async canvas completions via completion ID"],"authentication":"API key required (found in Tela dashboard)","commonUseCases":["Generate personalized email content","Create marketing materials with AI","Process documents using AI summarization or analysis","Queue AI-generated content for human approval","Build hybrid human-AI workflows with manual checkpoints"],"limitations":[],"relatedNodes":["n8n nodes for file handling","n8n nodes for workflow control (e.g., wait, loop)","n8n nodes for data transformation"]}


node_type: @datafix/n8n-nodes-anthias.anthias
package_name: @datafix/n8n-nodes-anthias
display_name: Anthias
description: Node for controlling Anthias deployments with the Anthias API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: bramknuever
author_github_url: https://github.com/DataFix-B-V/n8n-nodes-anthias.git
npm_package_name: @datafix/n8n-nodes-anthias
npm_version: 0.1.3
community_fetched_at: 2026-01-07T20:08:16.067Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "asset",
      "options": [
        {
          "name": "Asset",
          "value": "asset"
        },
        {
          "name": "Device",
          "value": "device"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllAssets",
      "options": [
        {
          "name": "Control Asset Playback",
          "value": "controlAssetPlayback",
          "action": "Control asset playback"
        },
        {
          "name": "Create Asset",
          "value": "createAsset",
          "action": "Create an asset"
        },
        {
          "name": "Delete Asset",
          "value": "deleteAsset",
          "action": "Delete an asset"
        },
        {
          "name": "Get All Assets",
          "value": "getAllAssets",
          "action": "Get all assets"
        },
        {
          "name": "Get Asset",
          "value": "getAsset",
          "action": "Get an asset"
        },
        {
          "name": "Get Asset Content",
          "value": "getAssetContent",
          "action": "Get asset content"
        },
        {
          "name": "Update Asset",
          "value": "updateAsset",
          "action": "Update an asset"
        },
        {
          "name": "Update Playlist Order",
          "value": "updatePlaylistOrder",
          "action": "Update playlist order"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "asset"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDeviceSettings",
      "options": [
        {
          "name": "Get Device Settings",
          "value": "getDeviceSettings",
          "action": "Get device settings"
        },
        {
          "name": "Get Integrations Information",
          "value": "getIntegrationsInformation",
          "action": "Get integrations information"
        },
        {
          "name": "Get System Information",
          "value": "getSystemInfo",
          "action": "Get system information"
        },
        {
          "name": "Reboot Device",
          "value": "rebootDevice",
          "action": "Reboot device"
        },
        {
          "name": "Shutdown Device",
          "value": "shutdownDevice",
          "action": "Shutdown device"
        },
        {
          "name": "Update Device Settings",
          "value": "updateDeviceSettings",
          "action": "Update device settings"
        }
      ],
      "displayName": "Operation",
      "placeholder": "Select operation",
      "displayOptions": {
        "show": {
          "resource": [
            "device"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Control Asset Playback",
      "value": "controlAssetPlayback",
      "action": "Control asset playback"
    },
    {
      "name": "Create Asset",
      "value": "createAsset",
      "action": "Create an asset"
    },
    {
      "name": "Delete Asset",
      "value": "deleteAsset",
      "action": "Delete an asset"
    },
    {
      "name": "Get All Assets",
      "value": "getAllAssets",
      "action": "Get all assets"
    },
    {
      "name": "Get Asset",
      "value": "getAsset",
      "action": "Get an asset"
    },
    {
      "name": "Get Asset Content",
      "value": "getAssetContent",
      "action": "Get asset content"
    },
    {
      "name": "Update Asset",
      "value": "updateAsset",
      "action": "Update an asset"
    },
    {
      "name": "Update Playlist Order",
      "value": "updatePlaylistOrder",
      "action": "Update playlist order"
    },
    {
      "name": "Get Device Settings",
      "value": "getDeviceSettings",
      "action": "Get device settings"
    },
    {
      "name": "Get Integrations Information",
      "value": "getIntegrationsInformation",
      "action": "Get integrations information"
    },
    {
      "name": "Get System Information",
      "value": "getSystemInfo",
      "action": "Get system information"
    },
    {
      "name": "Reboot Device",
      "value": "rebootDevice",
      "action": "Reboot device"
    },
    {
      "name": "Shutdown Device",
      "value": "shutdownDevice",
      "action": "Shutdown device"
    },
    {
      "name": "Update Device Settings",
      "value": "updateDeviceSettings",
      "action": "Update device settings"
    }
  ]

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

  # n8n-nodes-anthias

  This is a custom node for n8n, a powerful workflow automation tool. It provides a simple way to connect your n8n workflows with the Anthias, a digital signage platform. By using this node, you can automate tasks related to your digital displays, content management, and player controls.

  ## What can you do with this node?
  The n8n-nodes-anthias node acts as a bridge between n8n and the Anthias API. It includes features like:

  - Retrieve information about your screens and players.
  - Update content on a display.
  - Change the schedule for a screen.
  - Trigger actions on a player, such as a reboot or a content refresh.

  ## Developer
  ![logo](https://github.com/datafix-b-v/n8n-nodes-anthias/blob/master/images/logoDataFix.png)

  This node was created by [DataFix B.V.](https://datafix.nl), a n8n expert partner from the Netherlands.

  DataFix supports companies with their implementation of n8n, including node development. If you want to use our services, feel free to reach out. You can contact us through our [site](https://datafix.nl) or by emailing hi@datafix.nl

  ## More information

  Refer to the [documentation on installing nodes](https://docs.n8n.io/integrations/community-nodes/installation/) for detailed information on installing custom nodes.

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

  ## License

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

ai_documentation_summary:
  {"purpose":"The Anthias node enables automation of digital signage tasks by connecting n8n workflows with the Anthias API, allowing control over screens, players, content, and schedules.","capabilities":["Retrieve information about screens and players","Update content on a display","Change the schedule for a screen","Trigger actions on a player (e.g., reboot, content refresh)"],"authentication":"API key required (implied by Anthias API usage)","commonUseCases":["Automating content updates on digital displays","Scheduling content changes based on time or events","Managing player status and triggering maintenance actions"],"limitations":[],"relatedNodes":["n8n core nodes for data handling and workflow control"]}


node_type: n8n-nodes-outgrow.outgrowTrigger
package_name: n8n-nodes-outgrow
display_name: Outgrow Trigger
description: Fetch leads from Outgrow calculators at regular intervals
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: himanshudevgan
author_github_url: https://github.com/deepgaganventurepact/outgrow-n8n.git
npm_package_name: n8n-nodes-outgrow
npm_version: 0.1.10
community_fetched_at: 2026-01-07T20:08:16.068Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # Outgrow Trigger Node for n8n

  [![n8n Community Node](https://img.shields.io/badge/n8n-Community%20Node-green.svg)](https://n8n.io/integrations)

  Trigger node that fetches leads from Outgrow calculators at configurable intervals.


  ## Features

  - 🕒 **Polling API**: Checks for new leads at customizable intervals (default: 5 minutes)
  - 📋 **Calculator Selection**: Dynamic dropdown of available calculators
  - 🔔 **Smart Notifications**: Clear "no leads" messages in the UI
  - ⚙️ **Manual Trigger**: Instant API calls for testing

  ## Prerequisites

  - Outgrow account with API access
  - API key from [Outgrow Settings](https://app.outgrow.co/settings/api)

  ## Installation

  1. Add the node to your n8n instance
  2. Configure Outgrow API credentials:
     - Navigate to **Credentials > Add New > Outgrow API**
     - Enter your API key

  ## Node Configuration

  ### Parameters
  | Field               | Required | Description                                                                 |
  |---------------------|----------|-----------------------------------------------------------------------------|
  | **Calculator**      | Yes      | Select which Outgrow calculator to monitor                                  |
  | **Polling Interval**| No       | Frequency (in minutes) to check for new leads (default: 5)                  |




  ## API Documentation
  [Outgrow API Reference](https://support.outgrow.co/docs)

ai_documentation_summary:
  {"purpose":"The Outgrow Trigger node periodically fetches new leads from specified Outgrow calculators by polling the Outgrow API at configurable intervals.","capabilities":["Polls for new leads from selected Outgrow calculators","Supports manual triggering for immediate API calls","Provides a dynamic dropdown to select available calculators","Displays clear 'no leads' notifications when no new data is found"],"authentication":"API key required from Outgrow Settings","commonUseCases":["Monitoring lead generation from Outgrow calculators in real-time","Setting up automated workflows to process new leads as they appear","Testing lead data flow with manual triggers"],"limitations":[],"relatedNodes":["Outgrow Action","n8n core trigger nodes"]}


node_type: n8n-nodes-aimlapi.aimlApi
package_name: n8n-nodes-aimlapi
display_name: AI/ML API
description: Choose from 300+ AI models from Gemini and ChatGPT to DeepSeek and Llama.
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: d1m7asis
author_github_url: https://github.com/D1m7asis/
npm_package_name: n8n-nodes-aimlapi
npm_version: 1.0.3
community_fetched_at: 2026-01-07T20:08:16.069Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # n8n-nodes-aimlapi

  This is an n8n community node for [AI/ML API](https://aimlapi.com/?utm_source=n8n&utm_medium=github&utm_campaign=integration) integration.  
  It allows you to interact with large language models (LLMs) and multimodal models directly from your n8n workflows.

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

  [AI/ML API](https://aimlapi.com/app/?utm_source=n8n&utm_medium=github&utm_campaign=integration) provides access to **300+ AI models**, including Deepseek, Gemini, ChatGPT, and many others — all with **enterprise-grade rate limits and uptimes**.

  ---

  ## Features

  - Chat with any LLM available on AI/ML API
  - Generate AI images with supported diffusion and vision models
  - Create AI music and sound effects with audio-generation models
  - Render text-to-video or image-to-video clips
  - Convert text to speech and speech to text via TTS/STT models
  - Produce text embeddings for search and retrieval workflows
  - Dynamic model selection per modality with shared authentication
  - Parameter tuning (temperature, max tokens, top-p, penalties, etc.)
  - Multiple output formats: raw payloads or curated fields for each modality
  - Credential-based authentication

  ---

  ## Installation

  ### Community Node (Recommended)

  1. Open your n8n instance
  2. Go to **Settings → Community Nodes**
  3. Click **Install**
  4. Enter `n8n-nodes-aimlapi`
  5. Accept the prompt to install the node
  6. After installation, the node will appear under **AI/ML API** in the node palette

  ### Manual Installation (Advanced)

  ```bash
  npm install n8n-nodes-aimlapi
  ```

  Then restart your `n8n` instance.

  ---

  ## Configuration

  ### Credentials

  To use this node, you must configure **AI/ML API** credentials:

  1. Sign up at [https://aimlapi.com/](https://aimlapi.com/?utm_source=n8n&utm_medium=github&utm_campaign=integration)
  2. Go to your [dashboard](https://aimlapi.com/app/?utm_source=n8n&utm_medium=github&utm_campaign=integration) and generate an API key
  3. In n8n, create new credentials of type **AI/ML API**
  4. Paste your API key
  5. Save and use in the node

  📚 You can also refer to the [provider documentation](https://docs.aimlapi.com/?utm_source=n8n&utm_medium=github&utm_campaign=integration) for detailed API specs.

  ### Node Parameters

  - **Operation** – Select the modality (`Chat Completion`, `Image Generation`, `Audio Generation`, `Video Generation`, `Speech Synthesis`, `Speech Transcription`, or `Embedding Generation`).
  - **Model** – Pick a model from the filtered list (dependent on operation) or provide an ID via expression.

  #### Chat Completion

  - **Use Message List** – Switch between a single prompt and a structured list of chat messages.
  - **Prompt/Messages** – Provide either one prompt or multiple messages. Each structured message selects a **Role** (`assistant`, `system`, or `user`) from the dropdown, or choose **Custom…** to enter another role such as `tool`, plus the text **Content**. When using the `tool` role, fill in the required **Tool Call ID** with the identifier returned alongside the assistant tool invocation so the API can pair the response correctly.
  - **Extract From Response** – Decide what to return (`Text Only`, `Assistant Messages`, `Choices Array`, or `Full Raw JSON`).
  - **Options** – Fine-tune completions with **Temperature**, **Top P**, **Max Tokens**, **Presence Penalty**, **Frequency Penalty**, and **Response Format**.

  #### Image Generation

  - **Prompt** – Describe the image you want the model to create.
  - **Extract From Response** – Return the first/all URLs, first/all base64 images, or the raw payload.
  - **Image Options** – Configure **Background**, **Image Count**, **Negative Prompt**, **Quality**, **Response Format**, **Size**, and **Style**.

  #### Audio Generation

  - **Prompt** – Describe the audio clip you want to generate.
  - **Extract From Response** – Return audio URLs, base64 blobs, or the raw payload.
  - **Audio Options** – Adjust **Audio Format**, **Duration**, **Mode**, **Negative Prompt**, **Prompt Strength**, **Seed**, **Reference Audio URL**, **Instrument**, and **CFG Scale**.

  #### Video Generation

  - **Prompt** – Describe the scene for the generated video.
  - **Extract From Response** – Return the first/all video URLs or the raw payload.
  - **Video Options** – Control **Aspect Ratio/Ratio**, **Duration**, **Kling Types & Image Lists**, **Google Veo Tail Images & Prompt Enhancement**, **Alibaba Resolution/Watermark/Prompt Expansion**, **MiniMax Prompt Optimizer & First Frame**, **Runway Last Image**, plus legacy toggles like **Negative Prompt**, **Prompt Strength**, **Reference Media**, **Background Audio**, **CFG Scale**, and **Seed**.

  #### Speech Synthesis

  - **Text** – Content that should be spoken aloud.
  - **Extract From Response** – Return an audio URL, base64 payload, or the raw response.
  - **Speech Options** – Configure **Voice**, **Audio Format**, **Sample Rate**, **Speaking Rate**, and **Style**.

  #### Speech Transcription

  - **Binary Property** – Name of the binary property that contains the audio file.
  - **Extract From Response** – Return transcript text, segment breakdowns, or the raw payload.
  - **Transcription Options** – Provide **Language**, **Prompt**, **Response Format**, and **Temperature**.

  #### Embedding Generation

  - **Input Text** – Text that should be converted into an embedding vector.
  - **Extract From Response** – Return the first vector, all vectors, or the raw payload.
  - **Embedding Options** – Configure **Encoding Format** and **User Identifier** metadata.

  ---

  ## Usage Example

  1. Add a **Manual Trigger**
  2. Add the **AI/ML API** node
  3. Configure credentials
  4. Set a model (e.g. `gpt-3.5-turbo`)
  5. Enter prompt: `What is the capital of France?`
  6. Select `Extract: Text Only`
  7. Execute — you’ll get `Paris`

  ---

  ## Troubleshooting

  - If the node doesn't show up, try restarting your instance
  - If the icon or name doesn't render, make sure you ran `npm run build && gulp build:icons`
  - To debug model list: ensure credentials and `/models` endpoint return valid JSON

  ---

  ## Support

  Please open an issue or pull request in the [GitHub repository](https://github.com/D1m7asis/n8n-nodes-aimlapi) if you encounter problems.

ai_documentation_summary:
  {"purpose":"The AI/ML API node enables users to integrate 300+ large language models (LLMs) and multimodal AI models (such as image, audio, video, speech, and text embedding generation) directly into n8n workflows via a single, credential-based interface.","capabilities":["Chat with LLMs using supported models like Gemini, ChatGPT, DeepSeek, and Llama","Generate AI images with diffusion and vision models","Create AI music and sound effects using audio generation models","Render text-to-video or image-to-video clips","Convert text to speech (TTS) and speech to text (STT)","Generate text embeddings for search and retrieval","Dynamic model selection per modality","Fine-tune model responses with parameters like temperature, max tokens, top-p, and penalties","Support for multiple output formats (raw payloads or curated fields)","Shared authentication across all modalities"],"authentication":"API key required via credential configuration on the AI/ML API platform","commonUseCases":["Automated customer support with AI chatbots","Content generation (e.g., product descriptions, social media posts)","AI-powered image and audio creation for marketing","Speech-to-text transcription for call center automation","Text embedding for semantic search and document retrieval"],"limitations":[],"relatedNodes":["Manual Trigger","Function","Set","Function (for post-processing responses)"]}


node_type: n8n-nodes-htmlcsstoimage.htmlCssToImage
package_name: n8n-nodes-htmlcsstoimage
display_name: HTML/CSS to Image
description: Convert HTML/CSS or a URL to an image
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: htmlcsstoimage
author_github_url: https://github.com/HtmlCssToImg/
npm_package_name: n8n-nodes-htmlcsstoimage
npm_version: 0.2.5
community_fetched_at: 2026-01-07T20:08:16.069Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "htmlToImage",
      "options": [
        {
          "name": "HTML to Image",
          "value": "htmlToImage",
          "action": "Convert HTML and CSS to an image",
          "description": "Convert HTML and CSS to an image"
        },
        {
          "name": "URL to Image",
          "value": "urlToImage",
          "action": "Capture a screenshot of a website",
          "description": "Capture a screenshot of a website"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "HTML to Image",
      "value": "htmlToImage",
      "action": "Convert HTML and CSS to an image",
      "description": "Convert HTML and CSS to an image"
    },
    {
      "name": "URL to Image",
      "value": "urlToImage",
      "action": "Capture a screenshot of a website",
      "description": "Capture a screenshot of a website"
    }
  ]

npm_readme:
  # n8n-nodes-htmlcsstoimage

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

  htmlcsstoimg.com is a service that allows you to convert HTML and CSS into images and screenshots of websites.

  [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

  *   **HTML to Image**: Convert HTML and CSS to an image.
  *   **Capture Website Screenshot**: Capture a screenshot of a website from a URL.

  ## Credentials

  You will need to sign up for an account at [htmlcsstoimg.com](https://htmlcsstoimg.com/) to get an API key.

  ## Compatibility

  This node is tested against n8n version 1.0.0 and above.

  ## Resources

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

ai_documentation_summary:
  {"purpose":"Converts HTML and CSS code into images or captures screenshots of websites from URLs using the htmlcsstoimg.com service.","capabilities":["Convert HTML and CSS to an image","Capture a website screenshot from a URL"],"authentication":"API key required (must sign up at htmlcsstoimg.com)","commonUseCases":["Generating images from styled HTML content","Creating website screenshots for documentation or monitoring"],"limitations":[],"relatedNodes":["Webhooks","HTTP Request","URL Fetch"]}


node_type: n8n-nodes-linkupapi.linkup
package_name: n8n-nodes-linkupapi
display_name: Linkup API for LinkedIn
description: Connect your AI agent to LinkedIn and other B2B channels
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: linkup_eliott
author_github_url: https://github.com/Eliott-89/
npm_package_name: n8n-nodes-linkupapi
npm_version: 4.0.65
community_fetched_at: 2026-01-07T20:08:16.070Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "profile",
      "options": [
        {
          "name": "Profiles",
          "value": "profile"
        },
        {
          "name": "Companies",
          "value": "company"
        },
        {
          "name": "Network",
          "value": "network"
        },
        {
          "name": "Messages",
          "value": "message"
        },
        {
          "name": "Posts",
          "value": "post"
        },
        {
          "name": "Recruiter",
          "value": "recruiter"
        },
        {
          "name": "Company API",
          "value": "company api"
        },
        {
          "name": "Person API",
          "value": "person api"
        },
        {
          "name": "Mail API",
          "value": "mail api"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get my profile",
      "options": [
        {
          "name": "Get My Profile",
          "value": "get my profile",
          "action": "Get my LinkedIn profile",
          "description": "Get your LinkedIn profile information"
        },
        {
          "name": "Get Profile Information",
          "value": "get profile info",
          "action": "Get a profile's information",
          "description": "Get profile information (profile/info)"
        },
        {
          "name": "Search Profile",
          "value": "search profile",
          "action": "Search for profiles",
          "description": "Search LinkedIn profiles"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "profile"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search companies",
      "options": [
        {
          "name": "Search Companies",
          "value": "search companies",
          "action": "Search for companies",
          "description": "Search for companies on LinkedIn"
        },
        {
          "name": "Get Company Information",
          "value": "get company info",
          "action": "Get company information",
          "description": "Get detailed information about a company"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send connection request",
      "options": [
        {
          "name": "Send Connection Request",
          "value": "send connection request",
          "action": "Send a connection request",
          "description": "Send a connection request to a profile"
        },
        {
          "name": "Get Connections",
          "value": "get connections",
          "action": "Get connections",
          "description": "Get your LinkedIn connections"
        },
        {
          "name": "Accept Connection Invitation",
          "value": "accept connection invitation",
          "action": "Accept connection invitation",
          "description": "Accept a received connection invitation"
        },
        {
          "name": "Get Received Invitations",
          "value": "get received invitations",
          "action": "Get received invitations",
          "description": "Get received connection invitations"
        },
        {
          "name": "Get Sent Invitations",
          "value": "get sent invitations",
          "action": "Get sent invitations",
          "description": "Get sent connection invitations"
        },
        {
          "name": "Withdraw Invitation",
          "value": "withdraw invitation",
          "action": "Withdraw an invitation",
          "description": "Withdraw a sent invitation"
        },
        {
          "name": "Get Network Recommendations",
          "value": "get network recommendations",
          "action": "Get network recommendations",
          "description": "Get network recommendations"
        },
        {
          "name": "Get Invitation Status",
          "value": "get invitation status",
          "action": "Check invitation status",
          "description": "Check invitation status for a profile"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "network"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send message",
      "options": [
        {
          "name": "Send Message",
          "value": "send message",
          "action": "Send a message",
          "description": "Send a message to a connection"
        },
        {
          "name": "Get Message Inbox",
          "value": "get message inbox",
          "action": "Get message inbox",
          "description": "Get your message inbox"
        },
        {
          "name": "Get Conversation Messages",
          "value": "get conversation messages",
          "action": "Get conversation messages",
          "description": "Get messages from a conversation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get post reactions",
      "options": [
        {
          "name": "Get Post Reactions",
          "value": "get post reactions",
          "action": "Get post reactions",
          "description": "Get reactions on a post"
        },
        {
          "name": "React To Post",
          "value": "react to post",
          "action": "React to a post",
          "description": "React to a post"
        },
        {
          "name": "Repost Content",
          "value": "repost content",
          "action": "Repost content",
          "description": "Repost content"
        },
        {
          "name": "Add Comment To Post",
          "value": "add comment to post",
          "action": "Add comment to post",
          "description": "Add a comment to a post"
        },
        {
          "name": "Get Comments",
          "value": "get comments",
          "action": "Get post comments",
          "description": "Get comments on a post"
        },
        {
          "name": "Answer Comment",
          "value": "answer comment",
          "action": "Answer a comment",
          "description": "Answer a comment"
        },
        {
          "name": "Search Posts",
          "value": "search posts",
          "action": "Search for posts",
          "description": "Search for posts"
        },
        {
          "name": "Create Post",
          "value": "create post",
          "action": "Create a post",
          "description": "Create a new post"
        },
        {
          "name": "Get LinkedIn Feed",
          "value": "get linkedin feed",
          "action": "Get LinkedIn feed",
          "description": "Get your LinkedIn feed"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get candidates",
      "options": [
        {
          "name": "Get Candidates",
          "value": "get candidates",
          "action": "Get candidates",
          "description": "Get candidate list"
        },
        {
          "name": "Get Candidate CV",
          "value": "get candidate cv",
          "action": "Get candidate CV",
          "description": "Get candidate CV"
        },
        {
          "name": "Get Job Posts",
          "value": "get job posts",
          "action": "Get job posts",
          "description": "Get job posts"
        },
        {
          "name": "Publish Job",
          "value": "publish job",
          "action": "Publish a job",
          "description": "Publish a job"
        },
        {
          "name": "Close Job",
          "value": "close job",
          "action": "Close a job",
          "description": "Close a job"
        },
        {
          "name": "Create Job",
          "value": "create job",
          "action": "Create a job",
          "description": "Create a new job"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "recruiter"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search companies",
      "options": [
        {
          "name": "Search Companies",
          "value": "search companies",
          "action": "Search for companies",
          "description": "Search for companies"
        },
        {
          "name": "Get Company Information",
          "value": "get company info",
          "action": "Get company information",
          "description": "Get company information"
        },
        {
          "name": "Get Company Information By Domain",
          "value": "get company info by domain",
          "action": "Get company information by domain",
          "description": "Get company information by domain"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company api"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search profiles",
      "options": [
        {
          "name": "Search Profiles",
          "value": "search profiles",
          "action": "Search for profiles",
          "description": "Search for profiles"
        },
        {
          "name": "Extract Profile Information",
          "value": "extract profile info",
          "action": "Extract profile information",
          "description": "Extract profile information (data/profil/info)"
        },
        {
          "name": "Profile Enrichment",
          "value": "profile enrichment",
          "action": "Enrich profile information",
          "description": "Enrich profile information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "person api"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "email finder",
      "options": [
        {
          "name": "Email Finder",
          "value": "email finder",
          "action": "Find email addresses",
          "description": "Find email addresses from LinkedIn profiles"
        },
        {
          "name": "Email Reverse",
          "value": "email reverse",
          "action": "Reverse lookup email",
          "description": "Reverse lookup email to get LinkedIn profile information"
        },
        {
          "name": "Email Validate",
          "value": "email validate",
          "action": "Validate email address",
          "description": "Validate if an email address is valid and deliverable"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "mail api"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get My Profile",
      "value": "get my profile",
      "action": "Get my LinkedIn profile",
      "description": "Get your LinkedIn profile information"
    },
    {
      "name": "Get Profile Information",
      "value": "get profile info",
      "action": "Get a profile's information",
      "description": "Get profile information (profile/info)"
    },
    {
      "name": "Search Profile",
      "value": "search profile",
      "action": "Search for profiles",
      "description": "Search LinkedIn profiles"
    },
    {
      "name": "Search Companies",
      "value": "search companies",
      "action": "Search for companies",
      "description": "Search for companies on LinkedIn"
    },
    {
      "name": "Get Company Information",
      "value": "get company info",
      "action": "Get company information",
      "description": "Get detailed information about a company"
    },
    {
      "name": "Send Connection Request",
      "value": "send connection request",
      "action": "Send a connection request",
      "description": "Send a connection request to a profile"
    },
    {
      "name": "Get Connections",
      "value": "get connections",
      "action": "Get connections",
      "description": "Get your LinkedIn connections"
    },
    {
      "name": "Accept Connection Invitation",
      "value": "accept connection invitation",
      "action": "Accept connection invitation",
      "description": "Accept a received connection invitation"
    },
    {
      "name": "Get Received Invitations",
      "value": "get received invitations",
      "action": "Get received invitations",
      "description": "Get received connection invitations"
    },
    {
      "name": "Get Sent Invitations",
      "value": "get sent invitations",
      "action": "Get sent invitations",
      "description": "Get sent connection invitations"
    },
    {
      "name": "Withdraw Invitation",
      "value": "withdraw invitation",
      "action": "Withdraw an invitation",
      "description": "Withdraw a sent invitation"
    },
    {
      "name": "Get Network Recommendations",
      "value": "get network recommendations",
      "action": "Get network recommendations",
      "description": "Get network recommendations"
    },
    {
      "name": "Get Invitation Status",
      "value": "get invitation status",
      "action": "Check invitation status",
      "description": "Check invitation status for a profile"
    },
    {
      "name": "Send Message",
      "value": "send message",
      "action": "Send a message",
      "description": "Send a message to a connection"
    },
    {
      "name": "Get Message Inbox",
      "value": "get message inbox",
      "action": "Get message inbox",
      "description": "Get your message inbox"
    },
    {
      "name": "Get Conversation Messages",
      "value": "get conversation messages",
      "action": "Get conversation messages",
      "description": "Get messages from a conversation"
    },
    {
      "name": "Get Post Reactions",
      "value": "get post reactions",
      "action": "Get post reactions",
      "description": "Get reactions on a post"
    },
    {
      "name": "React To Post",
      "value": "react to post",
      "action": "React to a post",
      "description": "React to a post"
    },
    {
      "name": "Repost Content",
      "value": "repost content",
      "action": "Repost content",
      "description": "Repost content"
    },
    {
      "name": "Add Comment To Post",
      "value": "add comment to post",
      "action": "Add comment to post",
      "description": "Add a comment to a post"
    },
    {
      "name": "Get Comments",
      "value": "get comments",
      "action": "Get post comments",
      "description": "Get comments on a post"
    },
    {
      "name": "Answer Comment",
      "value": "answer comment",
      "action": "Answer a comment",
      "description": "Answer a comment"
    },
    {
      "name": "Search Posts",
      "value": "search posts",
      "action": "Search for posts",
      "description": "Search for posts"
    },
    {
      "name": "Create Post",
      "value": "create post",
      "action": "Create a post",
      "description": "Create a new post"
    },
    {
      "name": "Get LinkedIn Feed",
      "value": "get linkedin feed",
      "action": "Get LinkedIn feed",
      "description": "Get your LinkedIn feed"
    },
    {
      "name": "Get Candidates",
      "value": "get candidates",
      "action": "Get candidates",
      "description": "Get candidate list"
    },
    {
      "name": "Get Candidate CV",
      "value": "get candidate cv",
      "action": "Get candidate CV",
      "description": "Get candidate CV"
    },
    {
      "name": "Get Job Posts",
      "value": "get job posts",
      "action": "Get job posts",
      "description": "Get job posts"
    },
    {
      "name": "Publish Job",
      "value": "publish job",
      "action": "Publish a job",
      "description": "Publish a job"
    },
    {
      "name": "Close Job",
      "value": "close job",
      "action": "Close a job",
      "description": "Close a job"
    },
    {
      "name": "Create Job",
      "value": "create job",
      "action": "Create a job",
      "description": "Create a new job"
    },
    {
      "name": "Search Companies",
      "value": "search companies",
      "action": "Search for companies",
      "description": "Search for companies"
    },
    {
      "name": "Get Company Information",
      "value": "get company info",
      "action": "Get company information",
      "description": "Get company information"
    },
    {
      "name": "Get Company Information By Domain",
      "value": "get company info by domain",
      "action": "Get company information by domain",
      "description": "Get company information by domain"
    },
    {
      "name": "Search Profiles",
      "value": "search profiles",
      "action": "Search for profiles",
      "description": "Search for profiles"
    },
    {
      "name": "Extract Profile Information",
      "value": "extract profile info",
      "action": "Extract profile information",
      "description": "Extract profile information (data/profil/info)"
    },
    {
      "name": "Profile Enrichment",
      "value": "profile enrichment",
      "action": "Enrich profile information",
      "description": "Enrich profile information"
    },
    {
      "name": "Email Finder",
      "value": "email finder",
      "action": "Find email addresses",
      "description": "Find email addresses from LinkedIn profiles"
    },
    {
      "name": "Email Reverse",
      "value": "email reverse",
      "action": "Reverse lookup email",
      "description": "Reverse lookup email to get LinkedIn profile information"
    },
    {
      "name": "Email Validate",
      "value": "email validate",
      "action": "Validate email address",
      "description": "Validate if an email address is valid and deliverable"
    }
  ]

npm_readme:
  # @linkupapi/n8n-nodes

  Official n8n integration for LinkupAPI - Give your AI agents access to LinkedIn, WhatsApp, and real-time web data through a single powerful API


  ## Installation
  ```bash
  npm install n8n-nodes-linkupapi
  ```

  ## Quick Start

  ### 1. Get API Credentials

  Sign up at [linkupapi.com](https://www.linkupapi.com) and get your API key.

  ### 2. Configure in n8n

  Add your LinkupAPI credentials in n8n:
  - **Credential Type**: LinkupAPI
  - **API Key**: Your API key from the dashboard

  ### 3. Use in Workflows

  Drag and drop LinkupAPI nodes into your workflow and start automating.



  ## Features

  ### LinkedIn Automation
  - **Connection Requests**: Send personalized invitations programmatically
  - **Messaging**: Automate DM campaigns with text and media
  - **Engagement**: Post comments and interact with content at scale

  ### WhatsApp Integration
  - **Messaging**: Send WhatsApp messages
  - **Automation**: Build conversational workflows

  ### Email Intelligence
  - **Email Finder**: Discover professional email addresses
  - **Email Verifier**: Validate deliverability in real-time
  - **Reverse Lookup**: Get profile data from email addresses

  ### Web Crawler API
  - **People Search**: Find professionals with advanced filters (title, company, location, skills)
  - **Company Intelligence**: Get complete company data from any domain
  - **Company Search**: Filter companies by industry, size, funding, and location
  - **Hiring Signals**: Track companies actively recruiting
  - **Funding Data**: Source companies raising capital
  - **Sales Automation**: Prospect on LinkedIn, find emails, track hiring signals
  - **Recruitment**: Source candidates, monitor job postings, enrich profiles
  - **Lead Generation**: Search companies, enrich data, detect buying intent
  - **AI Agents**: Build autonomous workflows for outreach and intelligence

  ## API Endpoints

  | Category | Endpoints | Description |
  |----------|-----------|-------------|
  | **LinkedIn** | Invitations, Messages, Comments and more | Automate LinkedIn outreach |
  | **WhatsApp** | Messages | Send WhatsApp messages |
  | **Email** | Finder, Verifier, Reverse | Email intelligence tools |
  | **Web Crawler** | People Search, Company Search, Job Postings, Funding | Real-time B2B intelligence |

  ## Documentation

  - **Full API Docs**: [docs.linkupapi.com](https://docs.linkupapi.com/api-reference/introduction)
  - **Support**: support@linkupapi.com

  ## Compliance & Security

  - ✅ GDPR & CCPA compliant
  - ✅ Zero-storage architecture
  - ✅ Real-time processing only
  - ✅ Enterprise-grade security

  ## Requirements

  - Node.js: >= 18.10
  - n8n: Latest version
  - Valid Linkup API credentials

  ## License

  Proprietary - See [terms of use](https://www.linkupapi.com/legal/terms-of-use)


  ## Support

  - Website: [linkupapi.com](https://www.linkupapi.com)
  - Email: support@linkupapi.com
  - Documentation: [docs.linkupapi.com](https://docs.linkupapi.com/api-reference/introduction)

ai_documentation_summary:
  {"purpose":"The Linkup API for LinkedIn node enables AI agents to automate B2B outreach by connecting to LinkedIn, WhatsApp, and real-time web data sources, facilitating tasks like sending connection requests, messaging, email discovery, and lead generation.","capabilities":["Send personalized LinkedIn connection requests","Automate LinkedIn messaging and comments","Send WhatsApp messages","Discover and verify professional email addresses","Search professionals by title, company, location, and skills","Retrieve company data including funding, hiring signals, and industry details","Track hiring activity and sales signals","Generate leads through targeted searches and profile enrichment","Integrate with AI agents for autonomous outreach and intelligence workflows"],"authentication":"API key required","commonUseCases":["Automated B2B lead generation","Cold outreach via LinkedIn and WhatsApp","Email address discovery and validation","Company and talent intelligence for sales teams","AI-powered autonomous outreach workflows"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-database"]}


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-01-07 20:08:16
author_name: linked-api
author_github_url: https://github.com/Linked-API/
npm_package_name: n8n-nodes-linked-api
npm_version: 1.0.0
community_fetched_at: 2026-01-07T20:08:16.071Z
ai_summary_generated_at: 2026-01-08 10:45:32
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": "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:
  [
    {
      "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": "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"
    },
    {
      "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"
    },
    {
      "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"
    }
  ]

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":"The Linked API node enables users to connect their LinkedIn accounts to n8n, allowing automation of tasks such as searching for prospects, sending connection requests, managing connections, extracting data, and engaging with content—all within secure, real-time workflows.","capabilities":["Search for prospects based on criteria","Send connection requests and follow-up messages","Monitor and react to LinkedIn posts","Extract real-time LinkedIn profile data","Integrate with CRM systems and other tools (e.g., email, Slack, ATS)","Track connection acceptance and engagement"],"authentication":"API key or OAuth2 authentication required via credential setup","commonUseCases":["Lead generation pipeline","CRM synchronization","Content engagement and monitoring","Recruitment workflows","Multi-channel outreach"],"limitations":[],"relatedNodes":["CRM nodes","Email nodes","Slack nodes","Task management nodes"]}


node_type: n8n-nodes-understandtechchat.understandTechChat
package_name: n8n-nodes-understandtechchat
display_name: Understand Tech Chat
description: Chat with a model in UnderstandTech
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: understandtech
author_github_url: https://github.com/LavaxMaster/n8n-nodes-starter.git
npm_package_name: n8n-nodes-understandtechchat
npm_version: 0.1.5
community_fetched_at: 2026-01-07T20:08:16.071Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "chat",
      "options": [
        {
          "name": "Chat",
          "value": "chat"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send Message",
          "value": "sendMessage",
          "action": "Send message a chat",
          "description": "Send a message to the chat model"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chat"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send Message",
      "value": "sendMessage",
      "action": "Send message a chat",
      "description": "Send a message to the chat model"
    }
  ]

npm_readme:
  <p align="center">
    <img src="https://raw.githubusercontent.com/LavaxMaster/n8n-nodes-starter/master/nodes/UnderstandTechChat/understandtech_logo.svg" width="400"/>
  </p>

  # n8n-nodes-understandtechchat

  Custom n8n integration nodes for **UnderstandTechChat**, enabling seamless interaction with your platform via authenticated API requests. Built using the [n8n community node starter template](https://github.com/n8n-io/n8n-nodes-starter).

  ## 🧠 What is UnderstandTechChat?

  UnderstandTechChat is a powerful platform that connects users to their own customly trained model and allows you to chat with your model. This custom n8n node allows you to directly integrate and automate your UnderstandTechChat workflows within n8n.

  ---

  ## 🚀 Features

  - Send messages and interact with the UnderstandTechChat API
  - Use custom credentials and authentication
  - Easily plug into any n8n workflow
  - Includes support for multiple HTTP verbs and custom actions

  ---

  ## 📦 Installation

  To install this node in your local or self-hosted n8n instance:

  ```bash
  npm install n8n-nodes-understandtechchat
  ```

  If you’re using Docker:

  ```Dockerfile
  RUN npm install n8n-nodes-understandtechchat
  ```

  Then restart your n8n instance.

  ---

  ## 📋 Prerequisites

  You’ll need:

  - [Git](https://git-scm.com/downloads)
  - Node.js (v20 or later) and [pnpm](https://pnpm.io/)
  - [n8n installed](https://docs.n8n.io/)
    
  Install globally:
  ```bash
  npm install -g n8n
  ```

  ---

  ## 🛠 Development Setup

  1. Clone this repo:
     ```bash
     git clone https://github.com/LavaxMaster/n8n-nodes-starter.git
     cd n8n-nodes-starter
     ```

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

  3. Build and lint:
     ```bash
     npm run build
     npm run lint
     ```

  4. Customize your logic inside:
     - `nodes/UnderstandTechChat/UnderstandTechChat.node.ts`
     - `credentials/UnderstandTechApiCredentials.credentials.ts`

  ---

  ## 🧪 Testing

  You can run and test the node locally within n8n using:
  ```bash
  n8n
  ```

  Then, open the UI and test the `UnderstandTechChat` node in your workflow.

  Refer to the [official guide](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for running custom nodes locally.

  ---

  ## 🌍 Publishing to npm

  When you're ready to share:

  1. Update `package.json` fields:
     - `name`
     - `version`
     - `description`
     - `repository`

  2. Build and lint:
     ```bash
     npm run build
     npm run lint
     ```

  3. Publish:
     ```bash
     npm publish --access public
     ```

  ---

  ## 📄 License

  [MIT License](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Understand Tech Chat node enables users to interact with the UnderstandTechChat platform by sending messages to a custom-trained AI model through an authenticated API, allowing seamless integration into n8n workflows for automated chat interactions.","capabilities":["Send messages to the UnderstandTechChat model","Authenticate using custom credentials","Support for multiple HTTP verbs","Integration into any n8n workflow"],"authentication":"Custom credentials required (specific authentication method not detailed in README)","commonUseCases":["Automated customer support via AI model responses","Internal knowledge base querying using custom-trained models","Dynamic content generation based on user input"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-http"]}


node_type: n8n-nodes-olostep.olostepScrape
package_name: n8n-nodes-olostep
display_name: Olostep Web Scraper
description: Search, extract, and structure web data using Olostep's Web search, scraping, and crawling API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: olostep
author_github_url: https://github.com/olostep/
npm_package_name: n8n-nodes-olostep
npm_version: 0.2.7
community_fetched_at: 2026-01-07T20:08:16.072Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "scrape",
      "options": [
        {
          "name": "Answer",
          "value": "answer"
        },
        {
          "name": "Batch",
          "value": "batch"
        },
        {
          "name": "Crawl",
          "value": "crawl"
        },
        {
          "name": "Map",
          "value": "map"
        },
        {
          "name": "Scrape",
          "value": "scrape"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Scrape Website",
          "value": "create",
          "action": "Scrape a URL",
          "description": "Extract content from a single URL"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search",
          "description": "Search the Web and get structured results"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scrape"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Batch Scrape URLs",
          "value": "create",
          "action": "Batch scrape urls",
          "description": "Scrape up to 10k URLs at the same time"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "batch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Crawl",
          "value": "create",
          "action": "Create a crawl",
          "description": "Get the content of subpages of a URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "crawl"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Map",
          "value": "create",
          "action": "Create a map",
          "description": "Get all URLs on a website"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "map"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Answer",
          "value": "create",
          "action": "Create answer",
          "description": "Search the web and return AI-powered answers with sources"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "answer"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Scrape Website",
      "value": "create",
      "action": "Scrape a URL",
      "description": "Extract content from a single URL"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search",
      "description": "Search the Web and get structured results"
    },
    {
      "name": "Batch Scrape URLs",
      "value": "create",
      "action": "Batch scrape urls",
      "description": "Scrape up to 10k URLs at the same time"
    },
    {
      "name": "Create Crawl",
      "value": "create",
      "action": "Create a crawl",
      "description": "Get the content of subpages of a URL"
    },
    {
      "name": "Create Map",
      "value": "create",
      "action": "Create a map",
      "description": "Get all URLs on a website"
    },
    {
      "name": "Create Answer",
      "value": "create",
      "action": "Create answer",
      "description": "Search the web and return AI-powered answers with sources"
    }
  ]

npm_readme:
  # n8n-nodes-olostep

  The Olostep n8n integration brings powerful web search, scraping, and crawling capabilities to n8n workflows. Build automated workflows that search, extract, and structure web data from any website without writing code.

  Olostep is a web search, scraping, and crawling API that extracts structured web data from any website in real time. Perfect for automating research workflows, monitoring competitors, and collecting data at scale.

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

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)  
  [Workflow Template](#workflow-template)  
  [Testing Locally](#testing-locally)  
  [Publishing to npm](#publishing-to-npm)  
  [Compatibility](#compatibility)  
  [Resources](#resources)

  ## Installation

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

  Or install directly via npm:

  ```bash
  npm install n8n-nodes-olostep
  ```

  Then restart n8n to load the new node.

  ## Operations

  ### Scrape Website

  Extract content from a single URL. Supports multiple formats and JavaScript rendering.

  **Use Cases:**
  - Monitor specific pages for changes
  - Extract product information from e-commerce sites
  - Gather data from news articles or blog posts
  - Pull content for content aggregation

  **Parameters:**
  - **URL to Scrape** (required): The URL of the website you want to scrape
  - **Output Format**: Choose format (HTML, Markdown, JSON, or Plain Text) - default: Markdown
  - **Country Code**: Optional country code (e.g., US, GB, CA) for location-specific scraping
  - **Wait Before Scraping**: Wait time in milliseconds before scraping (0-10000) - useful for dynamic content
  - **Parser**: Optional parser ID for specialized extraction (e.g., @olostep/amazon-product)

  **Output Fields:**
  - `id`: Scrape ID
  - `url`: Scraped URL
  - `markdown_content`: Markdown formatted content
  - `html_content`: HTML formatted content
  - `json_content`: JSON formatted content
  - `text_content`: Plain text content
  - `status`: Status of the scrape
  - `timestamp`: Timestamp of the scrape
  - `screenshot_hosted_url`: URL to screenshot (if available)
  - `page_metadata`: Page metadata

  ### Search

  Search the Web for a given query and get structured results (non-AI, parser-based search results).

  **Use Cases:**
  - Automated research workflows
  - Lead discovery and enrichment
  - Competitive analysis
  - Content research

  **Parameters:**
  - **Query** (required): Search query

  **Output:** Returns structured search results as JSON.

  ### Answers (AI)

  Search the web and return AI-powered answers in the JSON structure you want, with sources and citations.

  **Use Cases:**
  - Enrich spreadsheets or records with web-sourced facts
  - Ground AI applications on real-world data and sources
  - Research tasks that require verified outputs with citations

  **Parameters:**
  - **Task** (required): Question or task to answer using web data
  - **JSON Schema (Optional)**: JSON schema/object or a short description of the desired output shape

    Examples:
    - Object schema: `{ "book_title": "", "author": "", "release_date": "" }`
    - Description string: `"Return a list of the top 5 competitors with name and homepage URL"`

  **Output Fields:**
  - `answer_id`: Answer ID
  - `object`: Object type
  - `task`: Original task
  - `result`: Parsed JSON if `json` was provided; otherwise the answer object
  - `sources`: Array of source URLs used
  - `created`: Creation timestamp

  ### Batch Scrape URLs

  Scrape up to 10k urls at the same time. Perfect for large-scale data extraction.

  **Use Cases:**
  - Scrape entire product catalogs
  - Extract data from multiple search results
  - Process lists of URLs from spreadsheets
  - Bulk content extraction

  **Parameters:**
  - **URLs to Scrape** (required): JSON array of objects with `url` and `custom_id` fields
    - Example: `[{"url":"https://example.com","custom_id":"site1"}]`
  - **Output Format**: Choose format for all URLs - default: Markdown
  - **Country Code**: Optional country code for location-specific scraping
  - **Wait Before Scraping**: Wait time in milliseconds before scraping each URL
  - **Parser**: Optional parser ID for specialized extraction

  **Output Fields:**
  - `batch_id`: Batch ID (use this to retrieve results later)
  - `status`: Status of the batch
  - `total_urls`: Total number of URLs in the batch
  - `created_at`: Creation timestamp
  - `formats`: Requested format
  - `country`: Country code used
  - `parser`: Parser used
  - `urls`: Array of URLs in the batch

  ### Create Crawl

  Get the content of subpages of a URL. Autonomously discover and scrape entire websites by following links. Perfect for documentation sites, blogs, and content repositories.

  **Use Cases:**
  - Crawl and archive entire documentation sites
  - Extract all blog posts from a website
  - Build knowledge bases from web content
  - Monitor website structure changes

  **Parameters:**
  - **Start URL** (required): Starting URL for the crawl
  - **Maximum Pages**: Maximum number of pages to crawl (default: 10)
  - **Follow Links**: Whether to follow links found on pages (default: true)
  - **Output Format**: Format for scraped content - default: Markdown
  - **Country Code**: Optional country code for location-specific crawling
  - **Parser**: Optional parser ID for specialized content extraction

  **Output Fields:**
  - `crawl_id`: Crawl ID (use this to retrieve results later)
  - `object`: Object type
  - `status`: Status of the crawl
  - `start_url`: Starting URL
  - `max_pages`: Maximum pages
  - `follow_links`: Whether links are followed
  - `created`: Creation timestamp
  - `formats`: Formats requested
  - `country`: Country code used
  - `parser`: Parser used

  ### Create Map

  Get all URLs on a website. Extract all URLs from a website for content discovery and site structure analysis.

  **Use Cases:**
  - Build sitemaps and site structure diagrams
  - Discover all pages before batch scraping
  - Find broken or missing pages
  - SEO audits and analysis

  **Parameters:**
  - **Website URL** (required): Website URL to extract links from
  - **Search Query**: Optional search query to filter URLs (e.g., "blog")
  - **Top N URLs**: Limit the number of URLs returned
  - **Include URL Patterns**: Glob patterns to include specific paths (e.g., "/blog/**")
  - **Exclude URL Patterns**: Glob patterns to exclude specific paths (e.g., "/admin/**")

  **Output Fields:**
  - `map_id`: Map ID
  - `object`: Object type
  - `url`: Website URL
  - `total_urls`: Total URLs found
  - `urls`: Array of discovered URLs
  - `search_query`: Search query used
  - `top_n`: Top N limit

  ## Credentials

  To use this node, you need to authenticate with the Olostep Scrape API.

  1. Sign up for an account on [olostep.com](https://www.olostep.com) to get an API key.
  2. Get your API key from the [Olostep Dashboard](https://olostep.com/dashboard).
  3. Add a new credential in n8n for the Olostep Scrape API.
  4. Enter your API key in the 'API Key' field.

  ## Workflow Template

  A sample workflow template is included in `workflow-template.json`. To use it:

  1. Open n8n
  2. Click on "Workflows" in the sidebar
  3. Click the three dots menu and select "Import from File"
  4. Select the `workflow-template.json` file
  5. Configure the Olostep credentials
  6. Customize the workflow as needed

  The template includes a basic workflow that scrapes a website using the Olostep Scrape Website operation.

  ## Testing Locally

  To test your node locally before publishing:

  ### Prerequisites

  - Node.js version 20.15 or higher
  - npm installed

  ### Steps

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

  2. **Link the node locally:**
     ```bash
     npm link
     ```

  3. **Install n8n globally (if not already installed):**
     ```bash
     npm install n8n -g
     ```

  4. **Link the node to n8n:**
     ```bash
     # Find your n8n custom nodes directory (usually ~/.n8n/custom/)
     # Or if using n8n locally, navigate to the n8n installation directory
     cd ~/.n8n/custom
     npm link n8n-nodes-olostep
     ```

  5. **Start n8n:**
     ```bash
     n8n start
     ```

  6. **Test the node:**
     - Open n8n in your browser (usually http://localhost:5678)
     - Create a new workflow
     - Add the "Olostep Scrape" node
     - Configure it with your API credentials
     - Test each operation to ensure they work correctly

  ### Running Linter

  Before publishing, make sure your code passes linting:

  ```bash
  npm run lint
  ```

  If there are any issues, fix them:

  ```bash
  npm run lintfix
  ```

  ## Publishing to npm

  Once your node is tested and ready:

  ### Prerequisites

  - npm account (create one at [npmjs.com](https://www.npmjs.com/signup) if needed)
  - Node.js version 20.15 or higher

  ### Steps

  1. **Ensure package.json is correct:**
     - Verify version number
     - Check that all required fields are filled
     - Ensure the package name is `n8n-nodes-olostep`

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

  3. **Run prepublish checks:**
     ```bash
     npm run prepublishOnly
     ```
     This will build and lint your code.

  4. **Login to npm:**
     ```bash
     npm login
     ```
     Enter your npm username, password, and email when prompted.

  5. **Publish to npm:**
     ```bash
     npm publish
     ```

  6. **Verify publication:**
     - Visit https://www.npmjs.com/package/n8n-nodes-olostep
     - Check that your latest version is published

  ### Version Management

  When making updates:

  1. Update the version in `package.json` following [semantic versioning](https://semver.org/):
     - **Patch** (1.0.0 → 1.0.1): Bug fixes
     - **Minor** (1.0.0 → 1.1.0): New features, backward compatible
     - **Major** (1.0.0 → 2.0.0): Breaking changes

  2. Update the CHANGELOG.md (if you have one)

  3. Build and publish:
     ```bash
     npm run build
     npm publish
     ```

  ## Compatibility

  This node is tested against n8n version 1.x and requires Node.js version 20.15 or higher.

  ## Specialized Parsers

  Olostep provides pre-built parsers for popular websites and tasks. Use them with the `Parser` parameter:

  - **@olostep/amazon-product** - Extract product details, prices, reviews, images, variants
  - **@olostep/google-search** - Extract search results, titles, snippets, URLs
  - **@olostep/google-maps** - Extract business info, reviews, ratings, location
  - **@olostep/extract-emails** - Extract emails from pages and contact sections
  - **@olostep/extract-socials** - Extract social profile links (X/Twitter, GitHub, etc.)
  - **@olostep/extract-calendars** - Extract calendar links (Google Calendar, ICS)

  ## Resources

  * [Olostep API Documentation](https://docs.olostep.com)
  * [Olostep Dashboard](https://olostep.com/dashboard) - Get your API key and manage usage
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [n8n Node Development Guide](https://docs.n8n.io/integrations/creating-nodes/)

  ## Support

  Need help with the n8n integration?

  * **Documentation:** [docs.olostep.com](https://docs.olostep.com)
  * **Support Email:** info@olostep.com
  * **Website:** [olostep.com](https://www.olostep.com)

ai_documentation_summary:
  {"purpose":"The Olostep Web Scraper node enables automated extraction and structuring of web data through search, scraping, crawling, and AI-powered answering, allowing users to gather structured data from websites without writing code.","capabilities":["Scrape a single URL with support for multiple output formats and JavaScript rendering","Perform web searches to retrieve structured results using parser-based, non-AI methods","Generate AI-powered answers with sources and citations based on web data","Batch scrape up to 10,000 URLs simultaneously for large-scale data collection","Crawl websites to discover and extract content from subpages automatically","Extract all URLs from a website for structural analysis and content discovery"],"authentication":"No authentication mentioned in the README; likely requires no API key or OAuth, relying on Olostep's API access via configuration.","commonUseCases":["Monitor competitor websites for product or pricing changes","Automate research workflows with structured web data","Extract product information from e-commerce sites","Build content repositories or knowledge bases from websites","Enrich spreadsheets with verified web-based facts and citations"],"limitations":["Batch scrape limit of 10,000 URLs","No mention of rate limits, error handling, or retry mechanisms","AI Answers feature depends on web data availability and parser accuracy","Crawling may be limited by site structure or anti-scraping measures","Truncated README suggests incomplete documentation on 'Create Map' functionality"],"relatedNodes":["Web Scraper","Search Node","Crawler","Data Enrichment","Competitor Analysis"]}


node_type: n8n-nodes-tomba.tomba
package_name: n8n-nodes-tomba
display_name: Tomba
description: Consume Tomba API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: mohamed_ben
author_github_url: https://github.com/tomba-io/
npm_package_name: n8n-nodes-tomba
npm_version: 0.1.4
community_fetched_at: 2026-01-07T20:08:16.073Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "domainSearch",
      "options": [
        {
          "name": "Author Finder",
          "value": "authorFinder",
          "action": "Generate or retrieve the most likely email address from a blog post url",
          "description": "Generate or retrieve the most likely email address from a blog post URL"
        },
        {
          "name": "Autocomplete",
          "value": "Autocomplete",
          "action": "Find company names and retrieve logo and domain information",
          "description": "Find company names and retrieve logo and domain information"
        },
        {
          "name": "Domain Search",
          "value": "domainSearch",
          "action": "Get every email address found on the internet using a given domain name with sources",
          "description": "Get every email address found on the internet using a given domain name, with sources"
        },
        {
          "name": "Domain Status",
          "value": "DomainStatus",
          "action": "Find domain status if is webmail or disposable",
          "description": "Find domain status if is webmail or disposable"
        },
        {
          "name": "Email Count",
          "value": "EmailCount",
          "action": "Find total email addresses we have for one domain",
          "description": "Find total email addresses we have for one domain"
        },
        {
          "name": "Email Enrichment",
          "value": "emailEnrichment",
          "action": "Look up person and company data based on an email",
          "description": "Look up person and company data based on an email"
        },
        {
          "name": "Email Finder",
          "value": "emailFinder",
          "action": "Generate or retrieve the most likely email address from a domain name a first name and a last name",
          "description": "Generate or retrieve the most likely email address from a domain name, a first name and a last name"
        },
        {
          "name": "Email Format",
          "value": "emailFormat",
          "action": "Retrieve the email format patterns used by a specific domain",
          "description": "Retrieve the email format patterns used by a specific domain"
        },
        {
          "name": "Email Sources",
          "value": "emailSources",
          "action": "Find email address source somewhere on the web",
          "description": "Find email address source somewhere on the web"
        },
        {
          "name": "Email Verifier",
          "value": "emailVerifier",
          "action": "Verify the deliverability of an email address",
          "description": "Verify the deliverability of an email address"
        },
        {
          "name": "LinkedIn Finder",
          "value": "linkedinFinder",
          "action": "Generate or retrieve the most likely email address from a linkedin url",
          "description": "Generate or retrieve the most likely email address from a LinkedIn URL"
        },
        {
          "name": "Location",
          "value": "location",
          "action": "Get employees location based on the domain name",
          "description": "Get employees location based on the domain name"
        },
        {
          "name": "Phone Finder",
          "value": "phoneFinder",
          "action": "Search for phone numbers based on an email domain or linkedin url",
          "description": "Search for phone numbers based on an email, domain, or LinkedIn URL"
        },
        {
          "name": "Phone Validator",
          "value": "phoneValidator",
          "action": "Validate a phone number and retrieve its associated information",
          "description": "Validate a phone number and retrieve its associated information"
        },
        {
          "name": "Similar",
          "value": "similar",
          "action": "Retrieve similar domains based on a specific domain",
          "description": "Retrieve similar domains based on a specific domain"
        },
        {
          "name": "Technology",
          "value": "technology",
          "action": "Retrieve the technologies used by a specific domain",
          "description": "Retrieve the technologies used by a specific domain"
        }
      ],
      "description": "Operation to consume",
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Author Finder",
      "value": "authorFinder",
      "action": "Generate or retrieve the most likely email address from a blog post url",
      "description": "Generate or retrieve the most likely email address from a blog post URL"
    },
    {
      "name": "Autocomplete",
      "value": "Autocomplete",
      "action": "Find company names and retrieve logo and domain information",
      "description": "Find company names and retrieve logo and domain information"
    },
    {
      "name": "Domain Search",
      "value": "domainSearch",
      "action": "Get every email address found on the internet using a given domain name with sources",
      "description": "Get every email address found on the internet using a given domain name, with sources"
    },
    {
      "name": "Domain Status",
      "value": "DomainStatus",
      "action": "Find domain status if is webmail or disposable",
      "description": "Find domain status if is webmail or disposable"
    },
    {
      "name": "Email Count",
      "value": "EmailCount",
      "action": "Find total email addresses we have for one domain",
      "description": "Find total email addresses we have for one domain"
    },
    {
      "name": "Email Enrichment",
      "value": "emailEnrichment",
      "action": "Look up person and company data based on an email",
      "description": "Look up person and company data based on an email"
    },
    {
      "name": "Email Finder",
      "value": "emailFinder",
      "action": "Generate or retrieve the most likely email address from a domain name a first name and a last name",
      "description": "Generate or retrieve the most likely email address from a domain name, a first name and a last name"
    },
    {
      "name": "Email Format",
      "value": "emailFormat",
      "action": "Retrieve the email format patterns used by a specific domain",
      "description": "Retrieve the email format patterns used by a specific domain"
    },
    {
      "name": "Email Sources",
      "value": "emailSources",
      "action": "Find email address source somewhere on the web",
      "description": "Find email address source somewhere on the web"
    },
    {
      "name": "Email Verifier",
      "value": "emailVerifier",
      "action": "Verify the deliverability of an email address",
      "description": "Verify the deliverability of an email address"
    },
    {
      "name": "LinkedIn Finder",
      "value": "linkedinFinder",
      "action": "Generate or retrieve the most likely email address from a linkedin url",
      "description": "Generate or retrieve the most likely email address from a LinkedIn URL"
    },
    {
      "name": "Location",
      "value": "location",
      "action": "Get employees location based on the domain name",
      "description": "Get employees location based on the domain name"
    },
    {
      "name": "Phone Finder",
      "value": "phoneFinder",
      "action": "Search for phone numbers based on an email domain or linkedin url",
      "description": "Search for phone numbers based on an email, domain, or LinkedIn URL"
    },
    {
      "name": "Phone Validator",
      "value": "phoneValidator",
      "action": "Validate a phone number and retrieve its associated information",
      "description": "Validate a phone number and retrieve its associated information"
    },
    {
      "name": "Similar",
      "value": "similar",
      "action": "Retrieve similar domains based on a specific domain",
      "description": "Retrieve similar domains based on a specific domain"
    },
    {
      "name": "Technology",
      "value": "technology",
      "action": "Retrieve the technologies used by a specific domain",
      "description": "Retrieve the technologies used by a specific domain"
    }
  ]

npm_readme:
  # [<img src="https://tomba.io/logo.svg" alt="Tomba" width="25"/>](https://tomba.io/) Tomba.io n8n Nodes

  This is an n8n community node. It lets you use Tomba.io 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.

  1. Go to Settings (Cogwheel)
  2. Click on "Community Nodes"
  3. Enter "n8n-nodes-tomba" into the text box
  4. Click on "I understand the risk ..."
  5. Click on "Install"

  ## Operations

  - **[Author Finder](https://docs.tomba.io/api/finder#author-finder)** - Generate or retrieve the most likely email address from a blog post URL
  - **[Autocomplete](https://docs.tomba.io/api/domain-suggestions#get-domain-suggestions)** - Find company names and retrieve logo and domain information
  - **[Domain Search](https://docs.tomba.io/api/finder#domain-search)** - Get every email address found on the internet using a given domain name, with sources
  - **[Domain Status](https://docs.tomba.io/api/~endpoints#domain-status)** - Find domain status if is webmail or disposable
  - **[Email Count](https://docs.tomba.io/api/finder#email-count)** - Find total email addresses we have for one domain
  - **[Email Enrichment](https://docs.tomba.io/api/finder#email-enrichment)** - Look up person and company data based on an email
  - **[Email Finder](https://docs.tomba.io/api/finder#email-finder)** - Generate or retrieve the most likely email address from a domain name, a first name and a last name
  - **[Email Format](https://docs.tomba.io/api/finder#email-format)** - Retrieve the email format patterns used by a specific domain
  - **[Email Sources](https://docs.tomba.io/api/~endpoints#email-sources)** - Find email address source somewhere on the web
  - **[Email Verifier](https://docs.tomba.io/api/verifier#email-verifier)** - Verify the deliverability of an email address
  - **[LinkedIn Finder](https://docs.tomba.io/api/finder#linkedin-finder)** - Generate or retrieve the most likely email address from a LinkedIn URL
  - **[Location](https://docs.tomba.io/api/finder#location)** - Get employees location based on the domain name
  - **[Phone Finder](https://docs.tomba.io/api/phone#phone-finder)** - Search for phone numbers based on an email, domain, or LinkedIn URL
  - **[Phone Validator](https://docs.tomba.io/api/phone#phone-validator)** - Validate a phone number and retrieve its associated information
  - **[Similar](https://docs.tomba.io/api/~endpoints#similar)** - Retrieve similar domains based on a specific domain
  - **[Technology](https://docs.tomba.io/api/~endpoints#technology)** - Retrieve the technologies used by a specific domain

  ## Credentials

  To use the Tomba node, you need to authenticate with your Tomba API credentials. Follow these steps to set up authentication:

  ### Getting Your API Credentials

  1. Sign up for a free account at [Tomba.io](https://tomba.io)
  2. Navigate to your [API Settings](https://app.tomba.io/api) in your Tomba dashboard
  3. Copy your **API Key** and **Secret Key**

  ### Setting Up Credentials in n8n

  1. In your n8n workflow, add a Tomba node
  2. Click on the **Credential to connect with** dropdown
  3. Select **Create New** and choose **Tomba API**
  4. Enter your credentials:
     - **API Key**: Your Tomba API key
     - **Secret**: Your Tomba secret key
  5. Click **Save** to store your credentials securely

  The Tomba node supports all Tomba API features, including email finding, verification, enrichment, phone finding, and domain analysis. Your credentials will be used to authenticate all requests to the Tomba API.

  ## Usage

  The Tomba node provides powerful email intelligence capabilities for your n8n workflows. Here are some common usage examples:

  ### Example 1: Email Verification Workflow

  This workflow verifies the deliverability of email addresses:

  **Nodes needed:**

  - **Manual Trigger** (or any trigger node)
  - **Tomba** node

  **Setup:**

  1. Add a Manual Trigger node to start your workflow
  2. Add a Tomba node and connect it to the trigger
  3. Configure the Tomba node:
     - **Operation**: Email Verifier
     - **Email**: Enter the email address to verify (e.g., `test@example.com`)
  4. Execute the workflow to get verification results

  ### Example 2: Domain Email Discovery

  Find all email addresses associated with a company domain:

  **Setup:**

  1. Add a trigger node
  2. Add a Tomba node with these settings:
     - **Operation**: Domain Search
     - **Domain**: Company domain (e.g., `stripe.com`)
     - **Limit**: Number of results to return
     - **Filters**: Optional filters for department, type, etc.

  ### Example 3: Email Finder for Lead Generation

  Generate email addresses using names and company domains:

  **Setup:**

  1. Add a trigger node
  2. Add a Tomba node with:
     - **Operation**: Email Finder
     - **Domain**: Target company domain
     - **First Name**: Contact's first name
     - **Last Name**: Contact's last name

  ### Example 4: Phone Number Discovery

  Find phone numbers associated with emails or domains:

  **Setup:**

  1. Add a trigger node
  2. Add a Tomba node with:
     - **Operation**: Phone Finder
     - **Search Type**: Choose Email, Domain, or LinkedIn
     - Configure the relevant field based on your search type

  ### Example 5: Company Intelligence Workflow

  Gather comprehensive company data:

  **Setup:**

  1. **Domain Search**: Find all emails for a domain
  2. **Location**: Get company location data
  3. **Technology**: Discover technologies used
  4. **Similar**: Find similar companies

  ### Pro Tips

  - Use the **Return All** option in Domain Search for comprehensive results
  - Combine multiple operations in sequence for enriched data
  - Use filters in Domain Search to target specific departments
  - Cache results using n8n's built-in functionality to avoid duplicate API calls
  - Set up error handling for rate limits and invalid inputs

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Tomba Email Finder](https://tomba.io)
  - [Tomba API docs](https://docs.tomba.io/introduction)
  - [Tomba knowledge base](https://help.tomba.io/en/)

  ## Test the node

  You can test your node as you build it by running it in a local n8n instance.

  ### Install n8n using npm

  ```bash
  npm install n8n -g
  ```

  ### Clone git repository

  ```bash
  git clone https://github.com/tomba-io/n8n-nodes-tomba.git
  cd n8n-nodes-tomba/
  ```

  ### Publish it locally

  ```bash
  # In the node directory
  npm run build
  npm link
  ```

  ### Install the node into your local n8n instance

  ```bash
  # In the nodes directory within your n8n installation
  npm link n8n-nodes-tomba
  ```

  > Make sure you run <b>npm link n8n-nodes-tomba</b> in the nodes directory within your n8n installation. This is probably something like <b>~/.n8n/nodes/</b>

  ## More information

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

  ## License

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

ai_documentation_summary:
  {"purpose":"The Tomba node enables integration with the Tomba API to discover, verify, and enrich email addresses, phone numbers, and company data such as domain status, location, and technologies within n8n workflows.","capabilities":["Generate or retrieve email addresses from domain names, first/last names, or blog/LinkedIn URLs","Verify email deliverability","Find and retrieve phone numbers associated with emails, domains, or LinkedIn profiles","Search for all email addresses linked to a domain with source details","Retrieve company location, technologies, and domain status","Find similar domains based on a given domain","Enrich email data with person and company information","Autocomplete company names with logo and domain details"],"authentication":"API key and secret key required; credentials must be obtained from the Tomba dashboard and stored in n8n under 'Tomba API' credential type","commonUseCases":["Verify email deliverability","Discover email addresses for lead generation","Find phone numbers associated with contacts","Gather comprehensive company intelligence (location, tech stack, domain status)","Identify similar domains for market research"],"limitations":[],"relatedNodes":["Manual Trigger","Email Enrichment","Domain Search","Phone Finder","Email Verifier"]}


node_type: n8n-nodes-documentero.documentero
package_name: n8n-nodes-documentero
display_name: Documentero
description: Generate Word, Excel or PDF Document based on Document Template. Get API Key from Documentero APP
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: documentero
author_github_url: https://github.com/documentero/
npm_package_name: n8n-nodes-documentero
npm_version: 1.0.4
community_fetched_at: 2026-01-07T20:08:16.073Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate Document",
          "value": "generate",
          "action": "Generate document"
        },
        {
          "name": "Generate Document and Send as Email Attachment",
          "value": "generateAndEmail",
          "action": "Generate document and send as email attachment"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Document",
      "value": "generate",
      "action": "Generate document"
    },
    {
      "name": "Generate Document and Send as Email Attachment",
      "value": "generateAndEmail",
      "action": "Generate document and send as email attachment"
    }
  ]

npm_readme:
  # n8n-nodes-documentero

  An n8n community node that integrates the **Documentero API - Document Generation** into your workflows.

  [Documentero – Document Generation](https://documentero.com) is a cloud-based document generation service. Generate Word, Excel, and PDF documents from ****.docx/.xlsx templates** via API. Templates support dynamic fields, tables, formulas, conditional sections, images, HTML, Markdown, and QR codes.

  [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)
  - [Usage](#usage)
  - [Resources](#resources)
  - [License](#license)

  ## Installation

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

  ## Operations

  Supported operations:

  - **Generate Document** — Populate a .xlsx or .docx template and generate a document.
  - **Generate and Email Document** — Populate a .xlsx or .docx template and send the generated document as an email attachment.

  Response fields:

  - **data (binary)** — The generated document as a binary file (.docx / .pdf / .xlsx). JSON metadata from the API response is returned alongside the binary; base64 content is removed.

  ## Credentials

  Obtain your API key for Documentero:

  1. Log in: https://app.documentero.com/login
  2. Open Account Settings: https://app.documentero.com/admin/account
  3. Copy the API key assigned to your account.
     
  	![Documentero API Key Location](assets/documenteroapikey.png)

  4. Use this API key when creating the n8n credentials for the node.
     
  	![Documentero n8n Connection](assets/n8napikey.png)

  ## Usage

  - Create or upload template(s) (.docx/.xlsx) in your Documentero account: https://app.documentero.com
    
  	![Documentero Sample Template](assets/documenterosample.png)

  - Optional: After adding the template, set the output format and default filename on the template overview page in Documentero.
  - Add a Documentero node to your workflow.
    
  	![Documentero Workflow](assets/n8nflow.png)

  - Choose an operation:
  	- Generate Document — pass the generated file to downstream nodes (e.g., OneDrive, Google Drive, Outlook).
  	- Generate and Email Document — let Documentero email the generated file for you.
  - Select the template to use from the “Document Template” dropdown.
  - In Documentero (Template Overview → API/JSON), copy the JSON structure and paste it into the node’s Data (JSON) field, then fill in values.
    
  	![Documentero Template Overview](assets/documenterodef.png)

  - Run the workflow.
  - The node outputs the generated file under binary > data for further processing (.docx / .pdf / .xlsx).

  	![Documentero Flow](assets/n8nnodesample.png)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Documentero Homepage](https://documentero.com)
  * [Documentero App](https://app.documentero.com)
  * [Documentero Docs](https://docs.documentero.com)

  ## License

  MIT © Documentero

ai_documentation_summary:
  {"purpose":"The Documentero node generates Word, Excel, or PDF documents from templates via the Documentero API, supporting dynamic content, conditional sections, and various formatting options like tables, formulas, images, HTML, Markdown, and QR codes.","capabilities":["Generate documents from .docx or .xlsx templates","Generate and email documents automatically","Support for dynamic fields, tables, formulas, conditional sections, images, HTML, Markdown, and QR codes","Output as binary file (base64-encoded) with JSON metadata"],"authentication":"API key required","commonUseCases":["Automatically generate personalized contracts or invoices","Create dynamic reports in Excel format","Send generated documents via email to clients or stakeholders","Store generated documents in cloud storage (e.g., Google Drive, OneDrive)"],"limitations":[],"relatedNodes":["Google Drive","OneDrive","Outlook","Email nodes"]}


node_type: @brave/n8n-nodes-brave-search.braveSearch
package_name: @brave/n8n-nodes-brave-search
display_name: Brave Search
description: Search the web using Brave Search
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: bcrypt
author_github_url: https://github.com/brave/n8n-nodes-brave-search.git
npm_package_name: @brave/n8n-nodes-brave-search
npm_version: 1.0.25
community_fetched_at: 2026-01-07T20:08:16.074Z
ai_summary_generated_at: 2026-01-08 10:45:31
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "web",
      "options": [
        {
          "name": "Web Search",
          "value": "web",
          "action": "Search the Web",
          "description": "Search the Web"
        },
        {
          "name": "News Search",
          "value": "news",
          "action": "Search for News",
          "description": "Search for News"
        },
        {
          "name": "Image Search",
          "value": "images",
          "action": "Search for Images",
          "description": "Search for Images"
        },
        {
          "name": "Video Search",
          "value": "videos",
          "action": "Search for Videos",
          "description": "Search for Videos"
        },
        {
          "name": "Spellcheck",
          "value": "spellcheck",
          "action": "Check Spelling of a Query",
          "description": "Check spelling of a query"
        },
        {
          "name": "Suggest",
          "value": "suggest",
          "action": "Get Suggestions for a Query",
          "description": "Get suggestions for a query"
        }
      ],
      "required": true,
      "description": "The operation to use for the Brave Search API",
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Web Search",
      "value": "web",
      "action": "Search the Web",
      "description": "Search the Web"
    },
    {
      "name": "News Search",
      "value": "news",
      "action": "Search for News",
      "description": "Search for News"
    },
    {
      "name": "Image Search",
      "value": "images",
      "action": "Search for Images",
      "description": "Search for Images"
    },
    {
      "name": "Video Search",
      "value": "videos",
      "action": "Search for Videos",
      "description": "Search for Videos"
    },
    {
      "name": "Spellcheck",
      "value": "spellcheck",
      "action": "Check Spelling of a Query",
      "description": "Check spelling of a query"
    },
    {
      "name": "Suggest",
      "value": "suggest",
      "action": "Get Suggestions for a Query",
      "description": "Get suggestions for a query"
    }
  ]

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

  This is an n8n community node. It lets you use the [Brave Search API](https://brave.com/search/api/) in your n8n workflows.

  Power your search and AI apps with the fastest growing independent search engine since Bing. Access an index of billions of pages with a single call. Get started for free at https://brave.com/search/api/.

  [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 presently supports search operations for general _web_ results, as well as _images_, _news_, and _videos_.

  ## Credentials

  An API key is required in order to issue calls to the Brave Search API. Get started for FREE with 1 query/second, and 2,000 queries/month. Sign up to retrieve your API key at https://brave.com/search/api/.

  ## Compatibility

  Tested locally against n8n v1.93.0.

  ## Usage

  You should familarize 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 Brave Search API documentation. For example, to understand how a standard Web Search response looks, you can visit https://api-dashboard.search.brave.com/app/documentation/web-search/responses.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Brave Search API documentation](https://api-dashboard.search.brave.com/app/documentation/)

  ## Development

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

  ### Quick Start (Recommended)

  1. Install _n8n_ globally (`pnpm add -g n8n`).
  2. Install dependencies: `pnpm install`
  3. Run the full development environment: `pnpm run dev:full`
  4. Open the n8n editor UI in your browser (typically at http://localhost:5678).

  The `dev:full` script automatically:
  - Builds the project
  - Starts TypeScript compilation in watch mode
  - Launches n8n with the proper environment variables set
  - Enables hot reloading for development

  ### Manual Development Setup

  If you prefer to run commands separately:

  1. Install _n8n_ globally (`pnpm add -g n8n`).
  2. Install dependencies: `pnpm install`
  3. Build the project: `pnpm build`
  4. Start TypeScript watch mode: `pnpm dev`
  5. In a separate terminal, start n8n: `pnpm run dev:n8n`

  ### Alternative: System Environment Variables

  You can also set environment variables manually if preferred:
  - Set `N8N_CUSTOM_EXTENSIONS` to the `/dist` directory of this repository
  - Set `N8N_DEV_RELOAD` to `true`
  - Run `pnpm run dev` and `n8n start` separately

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

  ### First-Time Setup Notes

  > **Important:** When launching n8n locally for the first time, the startup process may take 1-2 minutes to initialize. Wait for the "Editor is now accessible via web browser" message in the terminal before opening your browser.
  > 
  > On first access to http://localhost:5678, you'll be prompted to create an admin user account for your local n8n instance. 
  > 
  > **Remember:** You'll need to configure your Brave Search API credentials in the n8n interface before the node will function. See the [Credentials](#credentials) section above for API key information.
  > 
  > If you encounter issues or need to start fresh, you can reset n8n to its initial state by running `n8n user-management:reset`.

ai_documentation_summary:
  {"purpose":"The Brave Search node allows users to perform web searches using the Brave Search API, supporting queries for web results, images, news, and videos within n8n workflows.","capabilities":["Web search","Image search","News search","Video search"],"authentication":"API key required. Obtain a free API key from https://brave.com/search/api/","commonUseCases":["Integrating real-time search functionality into automation workflows","Fetching up-to-date news or image content for content aggregation","Powering AI applications with reliable, privacy-focused search results"],"limitations":[],"relatedNodes":["Search nodes","Web scraping nodes","AI content generation nodes"]}


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

updated_at: 2026-01-07 20:08:16
author_name: bcharleson
author_github_url: https://github.com/Instantly-ai/
npm_package_name: n8n-nodes-instantly
npm_version: 0.1.7543
community_fetched_at: 2026-01-07T20:08:16.075Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "campaign",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Analytics",
          "value": "analytics"
        },
        {
          "name": "Campaign",
          "value": "campaign"
        },
        {
          "name": "Lead",
          "value": "lead"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a campaign",
          "description": "Create a campaign"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a campaign",
          "description": "Delete a campaign"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a campaign",
          "description": "Get a campaign"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many campaigns",
          "description": "Get many campaigns"
        },
        {
          "name": "Launch",
          "value": "launch",
          "action": "Launch a campaign",
          "description": "Launch (activate) a campaign"
        },
        {
          "name": "Pause",
          "value": "pause",
          "action": "Pause a campaign",
          "description": "Pause a campaign"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a campaign",
          "description": "Update a campaign"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "campaign"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Add Lead to Campaign",
          "value": "addToCampaign",
          "action": "Add lead to campaign",
          "description": "Create a lead and add to campaign"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a lead",
          "description": "Create a lead"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a lead",
          "description": "Delete a lead"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a lead",
          "description": "Get a lead"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many leads",
          "description": "Get many leads"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a lead",
          "description": "Update a lead"
        },
        {
          "name": "Update Interest Status",
          "value": "updateInterestStatus",
          "action": "Update lead interest status",
          "description": "Update lead interest status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "lead"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many Accounts",
          "value": "getMany",
          "action": "Get many email accounts",
          "description": "Get many email accounts"
        },
        {
          "name": "Get Single Account",
          "value": "get",
          "action": "Get a single email account",
          "description": "Get a single email account by email address"
        },
        {
          "name": "Pause Account",
          "value": "pause",
          "action": "Pause an email account",
          "description": "Pause an email account to stop sending"
        },
        {
          "name": "Resume Account",
          "value": "resume",
          "action": "Resume an email account",
          "description": "Resume a paused email account"
        },
        {
          "name": "Create Account",
          "value": "create",
          "action": "Create an email account",
          "description": "Create a new email account"
        },
        {
          "name": "Delete Account",
          "value": "deleteAccount",
          "action": "Delete an email account",
          "description": "Delete an email account"
        },
        {
          "name": "Enable Warmup",
          "value": "enableWarmup",
          "action": "Enable account warmup",
          "description": "Enable warmup for an email account"
        },
        {
          "name": "Disable Warmup",
          "value": "disableWarmup",
          "action": "Disable account warmup",
          "description": "Disable warmup for an email account"
        },
        {
          "name": "Update Account",
          "value": "update",
          "action": "Update an email account",
          "description": "Update account settings and details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCampaignAnalytics",
      "options": [
        {
          "name": "Get Campaign Analytics",
          "value": "getCampaignAnalytics",
          "action": "Get campaign analytics",
          "description": "Get analytics for a campaign"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "analytics"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a campaign",
      "description": "Create a campaign"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a campaign",
      "description": "Delete a campaign"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a campaign",
      "description": "Get a campaign"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many campaigns",
      "description": "Get many campaigns"
    },
    {
      "name": "Launch",
      "value": "launch",
      "action": "Launch a campaign",
      "description": "Launch (activate) a campaign"
    },
    {
      "name": "Pause",
      "value": "pause",
      "action": "Pause a campaign",
      "description": "Pause a campaign"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a campaign",
      "description": "Update a campaign"
    },
    {
      "name": "Add Lead to Campaign",
      "value": "addToCampaign",
      "action": "Add lead to campaign",
      "description": "Create a lead and add to campaign"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a lead",
      "description": "Create a lead"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a lead",
      "description": "Delete a lead"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a lead",
      "description": "Get a lead"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many leads",
      "description": "Get many leads"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a lead",
      "description": "Update a lead"
    },
    {
      "name": "Update Interest Status",
      "value": "updateInterestStatus",
      "action": "Update lead interest status",
      "description": "Update lead interest status"
    },
    {
      "name": "Get Many Accounts",
      "value": "getMany",
      "action": "Get many email accounts",
      "description": "Get many email accounts"
    },
    {
      "name": "Get Single Account",
      "value": "get",
      "action": "Get a single email account",
      "description": "Get a single email account by email address"
    },
    {
      "name": "Pause Account",
      "value": "pause",
      "action": "Pause an email account",
      "description": "Pause an email account to stop sending"
    },
    {
      "name": "Resume Account",
      "value": "resume",
      "action": "Resume an email account",
      "description": "Resume a paused email account"
    },
    {
      "name": "Create Account",
      "value": "create",
      "action": "Create an email account",
      "description": "Create a new email account"
    },
    {
      "name": "Delete Account",
      "value": "deleteAccount",
      "action": "Delete an email account",
      "description": "Delete an email account"
    },
    {
      "name": "Enable Warmup",
      "value": "enableWarmup",
      "action": "Enable account warmup",
      "description": "Enable warmup for an email account"
    },
    {
      "name": "Disable Warmup",
      "value": "disableWarmup",
      "action": "Disable account warmup",
      "description": "Disable warmup for an email account"
    },
    {
      "name": "Update Account",
      "value": "update",
      "action": "Update an email account",
      "description": "Update account settings and details"
    },
    {
      "name": "Get Campaign Analytics",
      "value": "getCampaignAnalytics",
      "action": "Get campaign analytics",
      "description": "Get analytics for a campaign"
    }
  ]

npm_readme:
  # n8n-nodes-instantly

  This is an n8n community node for integrating with the [Instantly](https://instantly.ai) API v2. It provides comprehensive access to Instantly's email outreach platform, allowing you to manage campaigns, accounts, leads, and analytics directly from n8n workflows.

  ## Installation

  ### Community Nodes (Recommended)

  For users on n8n v0.187.0+, install directly through the n8n interface:

  1. Go to **Settings > Community Nodes**
  2. Click **Install**
  3. Enter `n8n-nodes-instantly`
  4. Click **Download**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-instantly
  ```

  ## Quick Setup

  1. **Get API Key**: Go to [Instantly Dashboard](https://app.instantly.ai) → Settings → Integrations → API
  2. **Add Node**: In n8n, search for "Instantly" in the node palette
  3. **Configure Credentials**: Enter your Instantly API key
  4. **Select Operation**: Choose from the available resources and operations below

  ## Usage Examples

  ### Create and Launch a Campaign
  1. **Create Campaign**: Set up your email sequences and targeting
  2. **Add Leads**: Import or create leads for your campaign
  3. **Launch Campaign**: Activate your campaign to start sending emails

  ### Account Management Workflow
  1. **Create Account**: Add new email accounts with SMTP settings
  2. **Enable Warmup**: Start the warmup process for new accounts
  3. **Monitor Status**: Check account health and sending limits
  4. **Pause/Resume**: Control account activity as needed

  ### Lead Management Process
  1. **Import Leads**: Create leads with custom variables
  2. **Assign to Campaigns**: Add leads to specific email campaigns
  3. **Track Engagement**: Monitor lead responses and interest levels
  4. **Update Status**: Manage lead lifecycle and follow-up actions

  ## Supported Operations

  ### 📧 **Campaign Management**
  - **Create Campaign**: Create new email campaigns with sequences and variants
  - **Get Campaign**: Retrieve campaign details by ID
  - **Get Many Campaigns**: List all campaigns with pagination
  - **Update Campaign**: Modify campaign settings and content
  - **Delete Campaign**: Remove campaigns
  - **Launch Campaign**: Start campaign execution
  - **Pause Campaign**: Pause running campaigns

  ### 👤 **Account Management**
  - **Create Account**: Add new email accounts with SMTP configuration
  - **Get Account**: Retrieve account details by email
  - **Get Many Accounts**: List all email accounts
  - **Update Account**: Modify account settings and limits
  - **Delete Account**: Remove email accounts
  - **Pause Account**: Stop account from sending emails
  - **Resume Account**: Reactivate paused accounts
  - **Enable Warmup**: Start email warmup process ✨
  - **Disable Warmup**: Stop email warmup process ✨

  ### 🎯 **Lead Management**
  - **Create Lead**: Add new leads with custom variables and data
  - **Get Lead**: Retrieve detailed lead information by ID
  - **Get Many Leads**: List leads with advanced filtering and pagination
  - **Update Lead**: Modify lead details, status, and custom variables
  - **Delete Lead**: Remove leads from your database
  - **Add Lead to Campaign**: Create and assign leads to specific campaigns
  - **Update Interest Status**: Manage lead engagement and interest levels

  ### 📊 **Analytics & Reporting**
  - **Get Campaign Analytics**: Retrieve comprehensive campaign performance metrics and statistics

  ### 📬 **Unibox Email Management**
  - **Get Many Unibox Messages**: List inbox messages with advanced filtering (search, campaign, account, read status, email type, lead, sort)
  - **Get Unibox Message**: Retrieve single message details by ID
  - **Update Unibox Message**: Modify message properties and metadata
  - **Delete Unibox Message**: Remove messages from inbox
  - **Get Unread Count**: Count unread messages in inbox
  - **Mark Thread as Read**: Mark entire email thread as read
  - **Reply to Unibox Message**: Send email replies directly from n8n

  ## Key Features

  🚀 **Full API v2 Support**: Complete integration with Instantly's latest API
  📊 **Comprehensive Operations**: 31 operations across campaigns, accounts, leads, analytics, and email management
  ⚡ **Advanced Account Management**: Full warmup control and SMTP configuration
  🎯 **Campaign Control**: Launch, pause, and manage email campaigns with precision
  📈 **Lead Management**: Complete lead lifecycle management and campaign assignment
  📬 **Email Management**: Unified inbox with thread management, filtering, and reply capabilities
  🔄 **Pagination Support**: Handle large datasets efficiently with built-in pagination
  ⚡ **Robust Error Handling**: Detailed error feedback and validation
  🎯 **Resource Locators**: Intuitive account and campaign selection interface
  📊 **Bulk Operations**: Manage multiple accounts and leads simultaneously
  🔒 **Secure Integration**: API key-based authentication with proper credential management

  ## Requirements

  - n8n v0.187.0 or higher
  - Instantly account with API access (Hypergrowth plan or above)
  - Valid Instantly API key

  ## Resources

  - [Instantly API Documentation](https://developer.instantly.ai/api/v2)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [GitHub Repository](https://github.com/Instantly-ai/n8n-nodes-instantly)

  ## Support

  - **GitHub Issues**: [Report bugs or request features](https://github.com/Instantly-ai/n8n-nodes-instantly/issues)
  - **Email**: brandon@instantly.ai

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Instantly n8n node enables seamless integration with Instantly's email outreach platform, allowing users to manage campaigns, accounts, leads, analytics, and inbox messages directly within n8n workflows.","capabilities":["Create, retrieve, update, and delete campaigns with full sequence and variant control","Manage email accounts with SMTP configuration, warmup enable/disable, and pause/resume functionality","Import, assign, track, and update leads with custom variables and engagement status","Access campaign analytics and performance metrics","Manage Unibox inbox messages including filtering, reading, replying, and deletion","Support for bulk operations and pagination to handle large datasets efficiently","Launch, pause, and control campaign execution with precision"],"authentication":"API key required (obtained from Instantly Dashboard under Settings > Integrations > API)","commonUseCases":["Automated email campaign creation and launch","Lead assignment and lifecycle management","Account warmup automation and monitoring","Inbox message tracking and automated replies","Performance reporting and campaign optimization"],"limitations":[],"relatedNodes":["Email nodes","CRM integration nodes","Data management nodes","Workflow automation nodes"]}


node_type: n8n-nodes-skyvern.skyvern
package_name: n8n-nodes-skyvern
display_name: Skyvern
description: Node to interact with Skyvern
category: Community
development_style: declarative
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: skyvernnodejs
author_github_url: https://github.com/Skyvern-AI/skyvern-n8n.git
npm_package_name: n8n-nodes-skyvern
npm_version: 0.0.11
community_fetched_at: 2026-01-07T20:08:16.075Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "task",
      "options": [
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "Workflow",
          "value": "workflow"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    }
  ]

npm_readme:
  <!-- START doctoc generated TOC please keep comment here to allow auto update -->
  <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

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

  <!-- END doctoc generated TOC please keep comment here to allow auto update -->

  # n8n-nodes-skyvern

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

  [Skyvern](https://www.skyvern.com/) is an [open-source](https://github.com/Skyvern-AI/skyvern) product. It automates browser-based workflows using LLMs and computer vision. It provides a simple API endpoint to fully automate manual workflows on a large number of websites, replacing brittle or unreliable automation solutions.

  [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: interact with Skyvern task
  - Workflow: interact with Skyvern workflow

  ## Credentials

  - API Token: Skyvern API token. You can get it from the Skyvern UI
  - Base URL: The endpoint for your Skyvern service. Default is Skyvern Cloud Service, you can also set it to your self-host Skyvern.


  ## Resources

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

  * [n8n integration code](https://github.com/Skyvern-AI/skyvern-n8n)

ai_documentation_summary:
  {"purpose":"The Skyvern node enables integration with Skyvern's automation platform to interact with browser-based workflows using LLMs and computer vision, allowing users to automate manual tasks on websites through n8n workflows.","capabilities":["Interact with Skyvern tasks","Interact with Skyvern workflows"],"authentication":"API Token required (obtained from the Skyvern UI); Base URL can be set to either Skyvern Cloud or a self-hosted instance","commonUseCases":["Automating data extraction from websites","Performing interactive browser-based tasks using AI and computer vision","Replacing brittle manual automation with AI-driven workflows"],"limitations":[],"relatedNodes":["n8n core workflow nodes","nodes for API integrations"]}


node_type: n8n-nodes-qdrant.qdrant
package_name: n8n-nodes-qdrant
display_name: Qdrant
description: Official n8n node to interface with Qdrant - https://qdrant.tech
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: qdrant-tech
author_github_url: https://github.com/qdrant/
npm_package_name: n8n-nodes-qdrant
npm_version: 0.2.1
community_fetched_at: 2026-01-07T20:08:16.076Z
ai_summary_generated_at: 2026-01-08 10:45:31
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "collection",
      "options": [
        {
          "name": "Collection",
          "value": "collection"
        },
        {
          "name": "Payload",
          "value": "payload"
        },
        {
          "name": "Point",
          "value": "point"
        },
        {
          "name": "Search",
          "value": "search"
        },
        {
          "name": "Vector",
          "value": "vector"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "List Collections",
          "value": "listCollections",
          "action": "List Collections",
          "routing": {
            "request": {
              "url": "/collections",
              "method": "GET"
            }
          },
          "description": "List all collections in the Qdrant instance"
        },
        {
          "name": "Create Collection",
          "value": "createCollection",
          "action": "Create Collection",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionName}}",
              "body": {
                "vectors": "={{JSON.parse($parameter.vectors)}}",
                "init_from": "={{JSON.parse($parameter.initFrom)}}",
                "wal_config": "={{JSON.parse($parameter.walConfig)}}",
                "hnsw_config": "={{JSON.parse($parameter.hnswConfig)}}",
                "shard_number": "={{$parameter.shardNumber}}",
                "sparse_vectors": "={{JSON.parse($parameter.sparseVectors)}}",
                "on_disk_payload": "={{$parameter.onDiskPayload}}",
                "sharding_method": "={{$parameter.shardingMethod}}",
                "optimizers_config": "={{JSON.parse($parameter.optimizersConfig)}}",
                "replication_factor": "={{$parameter.replicationFactor}}",
                "strict_mode_config": "={{JSON.parse($parameter.strictModeConfig)}}",
                "quantization_config": "={{JSON.parse($parameter.quantizationConfig)}}",
                "write_consistency_factor": "={{$parameter.writeConsistencyFactor}}"
              },
              "method": "PUT"
            }
          },
          "description": "Create a new collection in the Qdrant instance"
        },
        {
          "name": "Update Collection",
          "value": "updateCollection",
          "action": "Update Collection",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionName}}",
              "body": {
                "params": "={{JSON.parse($parameter.params)}}",
                "vectors": "={{JSON.parse($parameter.vectors)}}",
                "hnsw_config": "={{JSON.parse($parameter.hnswConfig)}}",
                "sparse_vectors": "={{JSON.parse($parameter.sparseVectors)}}",
                "optimizers_config": "={{JSON.parse($parameter.optimizersConfig)}}",
                "strict_mode_config": "={{JSON.parse($parameter.strictModeConfig)}}",
                "quantization_config": "={{JSON.parse($parameter.quantizationConfig)}}"
              },
              "method": "PATCH"
            }
          },
          "description": "Update parameters of an existing collection in the Qdrant instance"
        },
        {
          "name": "Get Collection",
          "value": "getCollection",
          "action": "Get Collection",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionName}}",
              "method": "GET"
            }
          },
          "description": "Get details of a specific collection"
        },
        {
          "name": "Check If Collection Exists",
          "value": "collectionExists",
          "action": "Check If Collection Exists",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionName}}/exists",
              "method": "GET"
            }
          },
          "description": "Check if a collection exists in the Qdrant instance"
        },
        {
          "name": "Delete Collection",
          "value": "deleteCollection",
          "action": "Delete Collection",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionName}}",
              "method": "DELETE"
            }
          },
          "description": "Delete the specified collection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "collection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Upsert Points",
          "value": "upsertPoints",
          "action": "Upsert Points",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points",
              "body": {
                "points": "={{JSON.parse($parameter.points)}}"
              },
              "method": "PUT"
            }
          },
          "description": "Insert or update points in a collection"
        },
        {
          "name": "Retrieve Point",
          "value": "retrievePoint",
          "action": "Retrieve Point",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionName}}/points/{{isNaN(Number($parameter.id)) ?  $parameter.id : Number($parameter.id)}}",
              "method": "GET"
            }
          },
          "description": "Retrieves all details from a single point"
        },
        {
          "name": "Retrieve Points",
          "value": "retrievePoints",
          "action": "Retrieve Points",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points",
              "body": {
                "ids": "={{JSON.parse($parameter.points)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}",
                "with_vector": "={{$parameter.withVector}}",
                "with_payload": "={{$parameter.withPayload}}"
              },
              "method": "POST"
            }
          },
          "description": "Retrieve all details from multiple points"
        },
        {
          "name": "Delete Points",
          "value": "deletePoints",
          "action": "Delete Points",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/delete",
              "body": {
                "filter": "={{JSON.parse($parameter.filter)}}",
                "points": "={{JSON.parse($parameter.points)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Delete specified points from the collection"
        },
        {
          "name": "Count Points",
          "value": "countPoints",
          "action": "Count Points",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/count",
              "body": {
                "exact": "={{$parameter.exact}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Counts the number of points that match a specified filtering condition"
        },
        {
          "name": "Scroll Points",
          "value": "scrollPoints",
          "action": "Scroll Points",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/scroll",
              "body": {
                "limit": "={{$parameter.limit}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "offset": "={{isNaN(Number($parameter.offset)) ?  $parameter.offset : Number($parameter.offset)}}",
                "order_by": "={{JSON.parse($parameter.orderBy)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}",
                "with_vector": "={{$parameter.withVector}}",
                "with_payload": "={{$parameter.withPayload}}"
              },
              "method": "POST"
            }
          },
          "description": "Returns all points in a page-by-page manner"
        },
        {
          "name": "Batch Update Points",
          "value": "batchUpdatePoints",
          "action": "Batch Update Points",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/batch",
              "body": {
                "operations": "={{JSON.parse($parameter.operations)}}"
              },
              "method": "POST"
            }
          },
          "description": "Batch update points, including their respective vectors and payloads"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "point"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Update Vectors",
          "value": "updateVectors",
          "action": "Update Vectors",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/vectors",
              "body": {
                "points": "={{JSON.parse($parameter.points)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "PUT"
            }
          },
          "description": "Update specified vectors on points"
        },
        {
          "name": "Delete Vectors",
          "value": "deleteVectors",
          "action": "Delete Vectors",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/vectors/delete",
              "body": {
                "filter": "={{JSON.parse($parameter.filter)}}",
                "points": "={{JSON.parse($parameter.points)}}",
                "vector": "={{JSON.parse($parameter.vector)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Delete specified vectors from points"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vector"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Set Payload",
          "value": "setPayload",
          "action": "Set Payload",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/payload",
              "body": {
                "key": "={{$parameter.key ? $parameter.key : null}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "points": "={{JSON.parse($parameter.points)}}",
                "payload": "={{JSON.parse($parameter.payload)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Sets payload values for specified points"
        },
        {
          "name": "Overwrite Payload",
          "value": "overwritePayload",
          "action": "Overwrite Payload",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/payload",
              "body": {
                "key": "={{$parameter.key ? $parameter.key : null}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "points": "={{JSON.parse($parameter.points)}}",
                "payload": "={{JSON.parse($parameter.payload)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "PUT"
            }
          },
          "description": "Replaces the entire payload of specified points with a new payload"
        },
        {
          "name": "Delete Payload",
          "value": "deletePayload",
          "action": "Delete Payload",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/payload/delete",
              "body": {
                "keys": "={{JSON.parse($parameter.keys)}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "points": "={{JSON.parse($parameter.points)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Deletes specified payload keys from points"
        },
        {
          "name": "Clear Payload",
          "value": "clearPayload",
          "action": "Clear Payload",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/payload/clear",
              "body": {
                "filter": "={{JSON.parse($parameter.filter)}}",
                "points": "={{JSON.parse($parameter.points)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Removes the entire payload for specified points"
        },
        {
          "name": "Payload Facets",
          "value": "payloadFacets",
          "action": "Get Payload Facets",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/facet",
              "body": {
                "key": "={{$parameter.key}}",
                "exact": "={{$parameter.exact}}",
                "limit": "={{$parameter.limit}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Retrieves facets for the specified payload field"
        },
        {
          "name": "Create Payload Index",
          "value": "createPayloadIndex",
          "action": "Create Payload Index",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/index",
              "body": {
                "field_name": "={{$parameter.fieldName}}",
                "field_schema": "={{JSON.parse($parameter.fieldSchema)}}"
              },
              "method": "PUT"
            }
          },
          "description": "Creates a payload index for a field in the specified collection"
        },
        {
          "name": "Delete Payload Index",
          "value": "deletePayloadIndex",
          "action": "Delete Payload Index",
          "routing": {
            "request": {
              "qs": {
                "wait": "={{$parameter.wait}}",
                "ordering": "={{$parameter.ordering}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/index/{{$parameter.fieldName}}",
              "method": "DELETE"
            }
          },
          "description": "Deletes a payload index for a field in the specified collection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "payload"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Query Points",
          "value": "queryPoints",
          "action": "Query Points",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/query",
              "body": {
                "limit": "={{$parameter.limit}}",
                "query": "={{JSON.parse($parameter.query)}}",
                "using": "={{$parameter.using}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "offset": "={{$parameter.offset}}",
                "params": "={{JSON.parse($parameter.params)}}",
                "prefetch": "={{JSON.parse($parameter.prefetch)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}",
                "lookup_from": "={{JSON.parse($parameter.lookupFrom)}}",
                "with_vector": "={{$parameter.withVector}}",
                "with_payload": "={{$parameter.withPayload}}",
                "score_threshold": "={{$parameter.scoreThreshold}}"
              },
              "method": "POST"
            }
          },
          "description": "Query points in a collection using various search methods"
        },
        {
          "name": "Query Batch Points",
          "value": "queryBatchPoints",
          "action": "Query Batch Points",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/query/batch",
              "body": {
                "searches": "={{JSON.parse($parameter.searches)}}"
              },
              "method": "POST"
            }
          },
          "description": "Query multiple points in batch using various search methods"
        },
        {
          "name": "Query Points Groups",
          "value": "queryPointsGroups",
          "action": "Query Points Groups",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/query/groups",
              "body": {
                "limit": "={{$parameter.limit}}",
                "query": "={{JSON.parse($parameter.query)}}",
                "using": "={{$parameter.using}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "params": "={{JSON.parse($parameter.params)}}",
                "group_by": "={{$parameter.groupBy}}",
                "prefetch": "={{JSON.parse($parameter.prefetch)}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}",
                "group_size": "={{$parameter.groupSize}}",
                "lookup_from": "={{JSON.parse($parameter.lookupFrom)}}",
                "with_lookup": "={{JSON.parse($parameter.withLookup)}}",
                "with_vector": "={{$parameter.withVector}}",
                "with_payload": "={{$parameter.withPayload}}",
                "score_threshold": "={{$parameter.scoreThreshold}}"
              },
              "method": "POST"
            }
          },
          "description": "Query points and group results by a specified payload field"
        },
        {
          "name": "Matrix Pairs",
          "value": "matrixPairs",
          "action": "Matrix Pairs",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/search/matrix/pairs",
              "body": {
                "limit": "={{$parameter.limit}}",
                "using": "={{$parameter.using}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "sample": "={{$parameter.sample}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Retrieve sparse matrix of pairwise distances between points sampled from the collection"
        },
        {
          "name": "Matrix Offsets",
          "value": "matrixOffsets",
          "action": "Matrix Offsets",
          "routing": {
            "request": {
              "qs": {
                "timeout": "={{$parameter.timeout}}",
                "consistency": "={{$parameter.consistency}}"
              },
              "url": "=/collections/{{$parameter.collectionName}}/points/search/matrix/offsets",
              "body": {
                "limit": "={{$parameter.limit}}",
                "using": "={{$parameter.using}}",
                "filter": "={{JSON.parse($parameter.filter)}}",
                "sample": "={{$parameter.sample}}",
                "shard_key": "={{JSON.parse($parameter.shardKey)}}"
              },
              "method": "POST"
            }
          },
          "description": "Retrieve sparse matrix of pairwise distances between points sampled from the collection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "List Collections",
      "value": "listCollections",
      "action": "List Collections",
      "routing": {
        "request": {
          "url": "/collections",
          "method": "GET"
        }
      },
      "description": "List all collections in the Qdrant instance"
    },
    {
      "name": "Create Collection",
      "value": "createCollection",
      "action": "Create Collection",
      "routing": {
        "request": {
          "url": "=/collections/{{$parameter.collectionName}}",
          "body": {
            "vectors": "={{JSON.parse($parameter.vectors)}}",
            "init_from": "={{JSON.parse($parameter.initFrom)}}",
            "wal_config": "={{JSON.parse($parameter.walConfig)}}",
            "hnsw_config": "={{JSON.parse($parameter.hnswConfig)}}",
            "shard_number": "={{$parameter.shardNumber}}",
            "sparse_vectors": "={{JSON.parse($parameter.sparseVectors)}}",
            "on_disk_payload": "={{$parameter.onDiskPayload}}",
            "sharding_method": "={{$parameter.shardingMethod}}",
            "optimizers_config": "={{JSON.parse($parameter.optimizersConfig)}}",
            "replication_factor": "={{$parameter.replicationFactor}}",
            "strict_mode_config": "={{JSON.parse($parameter.strictModeConfig)}}",
            "quantization_config": "={{JSON.parse($parameter.quantizationConfig)}}",
            "write_consistency_factor": "={{$parameter.writeConsistencyFactor}}"
          },
          "method": "PUT"
        }
      },
      "description": "Create a new collection in the Qdrant instance"
    },
    {
      "name": "Update Collection",
      "value": "updateCollection",
      "action": "Update Collection",
      "routing": {
        "request": {
          "url": "=/collections/{{$parameter.collectionName}}",
          "body": {
            "params": "={{JSON.parse($parameter.params)}}",
            "vectors": "={{JSON.parse($parameter.vectors)}}",
            "hnsw_config": "={{JSON.parse($parameter.hnswConfig)}}",
            "sparse_vectors": "={{JSON.parse($parameter.sparseVectors)}}",
            "optimizers_config": "={{JSON.parse($parameter.optimizersConfig)}}",
            "strict_mode_config": "={{JSON.parse($parameter.strictModeConfig)}}",
            "quantization_config": "={{JSON.parse($parameter.quantizationConfig)}}"
          },
          "method": "PATCH"
        }
      },
      "description": "Update parameters of an existing collection in the Qdrant instance"
    },
    {
      "name": "Get Collection",
      "value": "getCollection",
      "action": "Get Collection",
      "routing": {
        "request": {
          "url": "=/collections/{{$parameter.collectionName}}",
          "method": "GET"
        }
      },
      "description": "Get details of a specific collection"
    },
    {
      "name": "Check If Collection Exists",
      "value": "collectionExists",
      "action": "Check If Collection Exists",
      "routing": {
        "request": {
          "url": "=/collections/{{$parameter.collectionName}}/exists",
          "method": "GET"
        }
      },
      "description": "Check if a collection exists in the Qdrant instance"
    },
    {
      "name": "Delete Collection",
      "value": "deleteCollection",
      "action": "Delete Collection",
      "routing": {
        "request": {
          "url": "=/collections/{{$parameter.collectionName}}",
          "method": "DELETE"
        }
      },
      "description": "Delete the specified collection"
    },
    {
      "name": "Upsert Points",
      "value": "upsertPoints",
      "action": "Upsert Points",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points",
          "body": {
            "points": "={{JSON.parse($parameter.points)}}"
          },
          "method": "PUT"
        }
      },
      "description": "Insert or update points in a collection"
    },
    {
      "name": "Retrieve Point",
      "value": "retrievePoint",
      "action": "Retrieve Point",
      "routing": {
        "request": {
          "url": "=/collections/{{$parameter.collectionName}}/points/{{isNaN(Number($parameter.id)) ?  $parameter.id : Number($parameter.id)}}",
          "method": "GET"
        }
      },
      "description": "Retrieves all details from a single point"
    },
    {
      "name": "Retrieve Points",
      "value": "retrievePoints",
      "action": "Retrieve Points",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points",
          "body": {
            "ids": "={{JSON.parse($parameter.points)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}",
            "with_vector": "={{$parameter.withVector}}",
            "with_payload": "={{$parameter.withPayload}}"
          },
          "method": "POST"
        }
      },
      "description": "Retrieve all details from multiple points"
    },
    {
      "name": "Delete Points",
      "value": "deletePoints",
      "action": "Delete Points",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/delete",
          "body": {
            "filter": "={{JSON.parse($parameter.filter)}}",
            "points": "={{JSON.parse($parameter.points)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Delete specified points from the collection"
    },
    {
      "name": "Count Points",
      "value": "countPoints",
      "action": "Count Points",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/count",
          "body": {
            "exact": "={{$parameter.exact}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Counts the number of points that match a specified filtering condition"
    },
    {
      "name": "Scroll Points",
      "value": "scrollPoints",
      "action": "Scroll Points",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/scroll",
          "body": {
            "limit": "={{$parameter.limit}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "offset": "={{isNaN(Number($parameter.offset)) ?  $parameter.offset : Number($parameter.offset)}}",
            "order_by": "={{JSON.parse($parameter.orderBy)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}",
            "with_vector": "={{$parameter.withVector}}",
            "with_payload": "={{$parameter.withPayload}}"
          },
          "method": "POST"
        }
      },
      "description": "Returns all points in a page-by-page manner"
    },
    {
      "name": "Batch Update Points",
      "value": "batchUpdatePoints",
      "action": "Batch Update Points",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/batch",
          "body": {
            "operations": "={{JSON.parse($parameter.operations)}}"
          },
          "method": "POST"
        }
      },
      "description": "Batch update points, including their respective vectors and payloads"
    },
    {
      "name": "Update Vectors",
      "value": "updateVectors",
      "action": "Update Vectors",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/vectors",
          "body": {
            "points": "={{JSON.parse($parameter.points)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "PUT"
        }
      },
      "description": "Update specified vectors on points"
    },
    {
      "name": "Delete Vectors",
      "value": "deleteVectors",
      "action": "Delete Vectors",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/vectors/delete",
          "body": {
            "filter": "={{JSON.parse($parameter.filter)}}",
            "points": "={{JSON.parse($parameter.points)}}",
            "vector": "={{JSON.parse($parameter.vector)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Delete specified vectors from points"
    },
    {
      "name": "Set Payload",
      "value": "setPayload",
      "action": "Set Payload",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/payload",
          "body": {
            "key": "={{$parameter.key ? $parameter.key : null}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "points": "={{JSON.parse($parameter.points)}}",
            "payload": "={{JSON.parse($parameter.payload)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Sets payload values for specified points"
    },
    {
      "name": "Overwrite Payload",
      "value": "overwritePayload",
      "action": "Overwrite Payload",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/payload",
          "body": {
            "key": "={{$parameter.key ? $parameter.key : null}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "points": "={{JSON.parse($parameter.points)}}",
            "payload": "={{JSON.parse($parameter.payload)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "PUT"
        }
      },
      "description": "Replaces the entire payload of specified points with a new payload"
    },
    {
      "name": "Delete Payload",
      "value": "deletePayload",
      "action": "Delete Payload",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/payload/delete",
          "body": {
            "keys": "={{JSON.parse($parameter.keys)}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "points": "={{JSON.parse($parameter.points)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Deletes specified payload keys from points"
    },
    {
      "name": "Clear Payload",
      "value": "clearPayload",
      "action": "Clear Payload",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/payload/clear",
          "body": {
            "filter": "={{JSON.parse($parameter.filter)}}",
            "points": "={{JSON.parse($parameter.points)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Removes the entire payload for specified points"
    },
    {
      "name": "Payload Facets",
      "value": "payloadFacets",
      "action": "Get Payload Facets",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/facet",
          "body": {
            "key": "={{$parameter.key}}",
            "exact": "={{$parameter.exact}}",
            "limit": "={{$parameter.limit}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Retrieves facets for the specified payload field"
    },
    {
      "name": "Create Payload Index",
      "value": "createPayloadIndex",
      "action": "Create Payload Index",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/index",
          "body": {
            "field_name": "={{$parameter.fieldName}}",
            "field_schema": "={{JSON.parse($parameter.fieldSchema)}}"
          },
          "method": "PUT"
        }
      },
      "description": "Creates a payload index for a field in the specified collection"
    },
    {
      "name": "Delete Payload Index",
      "value": "deletePayloadIndex",
      "action": "Delete Payload Index",
      "routing": {
        "request": {
          "qs": {
            "wait": "={{$parameter.wait}}",
            "ordering": "={{$parameter.ordering}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/index/{{$parameter.fieldName}}",
          "method": "DELETE"
        }
      },
      "description": "Deletes a payload index for a field in the specified collection"
    },
    {
      "name": "Query Points",
      "value": "queryPoints",
      "action": "Query Points",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/query",
          "body": {
            "limit": "={{$parameter.limit}}",
            "query": "={{JSON.parse($parameter.query)}}",
            "using": "={{$parameter.using}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "offset": "={{$parameter.offset}}",
            "params": "={{JSON.parse($parameter.params)}}",
            "prefetch": "={{JSON.parse($parameter.prefetch)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}",
            "lookup_from": "={{JSON.parse($parameter.lookupFrom)}}",
            "with_vector": "={{$parameter.withVector}}",
            "with_payload": "={{$parameter.withPayload}}",
            "score_threshold": "={{$parameter.scoreThreshold}}"
          },
          "method": "POST"
        }
      },
      "description": "Query points in a collection using various search methods"
    },
    {
      "name": "Query Batch Points",
      "value": "queryBatchPoints",
      "action": "Query Batch Points",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/query/batch",
          "body": {
            "searches": "={{JSON.parse($parameter.searches)}}"
          },
          "method": "POST"
        }
      },
      "description": "Query multiple points in batch using various search methods"
    },
    {
      "name": "Query Points Groups",
      "value": "queryPointsGroups",
      "action": "Query Points Groups",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/query/groups",
          "body": {
            "limit": "={{$parameter.limit}}",
            "query": "={{JSON.parse($parameter.query)}}",
            "using": "={{$parameter.using}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "params": "={{JSON.parse($parameter.params)}}",
            "group_by": "={{$parameter.groupBy}}",
            "prefetch": "={{JSON.parse($parameter.prefetch)}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}",
            "group_size": "={{$parameter.groupSize}}",
            "lookup_from": "={{JSON.parse($parameter.lookupFrom)}}",
            "with_lookup": "={{JSON.parse($parameter.withLookup)}}",
            "with_vector": "={{$parameter.withVector}}",
            "with_payload": "={{$parameter.withPayload}}",
            "score_threshold": "={{$parameter.scoreThreshold}}"
          },
          "method": "POST"
        }
      },
      "description": "Query points and group results by a specified payload field"
    },
    {
      "name": "Matrix Pairs",
      "value": "matrixPairs",
      "action": "Matrix Pairs",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/search/matrix/pairs",
          "body": {
            "limit": "={{$parameter.limit}}",
            "using": "={{$parameter.using}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "sample": "={{$parameter.sample}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Retrieve sparse matrix of pairwise distances between points sampled from the collection"
    },
    {
      "name": "Matrix Offsets",
      "value": "matrixOffsets",
      "action": "Matrix Offsets",
      "routing": {
        "request": {
          "qs": {
            "timeout": "={{$parameter.timeout}}",
            "consistency": "={{$parameter.consistency}}"
          },
          "url": "=/collections/{{$parameter.collectionName}}/points/search/matrix/offsets",
          "body": {
            "limit": "={{$parameter.limit}}",
            "using": "={{$parameter.using}}",
            "filter": "={{JSON.parse($parameter.filter)}}",
            "sample": "={{$parameter.sample}}",
            "shard_key": "={{JSON.parse($parameter.shardKey)}}"
          },
          "method": "POST"
        }
      },
      "description": "Retrieve sparse matrix of pairwise distances between points sampled from the collection"
    }
  ]

npm_readme:
  # n8n-nodes-qdrant

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

  This is the official [n8n](https://n8n.io/) node for interfacing with Qdrant.

  [Qdrant](http://qdrant.tech) is a vector similarity search engine that provides a production-ready service with a convenient API to store, search, and manage vectors.

  ## Installation

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

  ## Operations

  The node supports the following operations:

  ### Collection

  - [List Collections](https://api.qdrant.tech/v-1-14-x/api-reference/collections/get-collections) - List all collections in the Qdrant instance
  - [Create Collection](https://api.qdrant.tech/v-1-14-x/api-reference/collections/create-collection) - Create a new collection with specified vector parameters
  - [Update Collection](https://api.qdrant.tech/v-1-14-x/api-reference/collections/update-collection) - Update parameters of an existing collection
  - [Get Collection](https://api.qdrant.tech/v-1-14-x/api-reference/collections/get-collection) - Get information about a specific collection
  - [Collection Exists](https://api.qdrant.tech/v-1-14-x/api-reference/collections/collection-exists) - Check if a collection exists
  - [Delete Collection](https://api.qdrant.tech/v-1-14-x/api-reference/collections/delete-collection) - Delete a collection

  ### Point

  - [Upsert Points](https://api.qdrant.tech/v-1-14-x/api-reference/points/upsert-points) - Insert or update points in a collection
  - [Retrieve Point](https://api.qdrant.tech/v-1-14-x/api-reference/points/get-point) - Get a single point by ID
  - [Retrieve Points](https://api.qdrant.tech/v-1-14-x/api-reference/points/get-points) - Get multiple points by their IDs
  - [Delete Points](https://api.qdrant.tech/v-1-14-x/api-reference/points/delete-points) - Remove points from a collection
  - [Count Points](https://api.qdrant.tech/v-1-14-x/api-reference/points/count-points) - Count points in a collection with optional filtering
  - [Scroll Points](https://api.qdrant.tech/v-1-14-x/api-reference/points/scroll-points) - Scroll through all points in a collection
  - [Batch Update Points](https://api.qdrant.tech/v-1-14-x/api-reference/points/batch-update) - Perform multiple point operations in a single request

  ### Vector

  - [Update Vectors](https://api.qdrant.tech/v-1-14-x/api-reference/points/update-vectors) - Update vectors for existing points
  - [Delete Vectors](https://api.qdrant.tech/v-1-14-x/api-reference/points/delete-vectors) - Remove vectors from points

  ### Search

  - [Query Points](https://api.qdrant.tech/v-1-14-x/api-reference/search/query-points) - Search for similar vectors
  - [Query Points In Batch](https://api.qdrant.tech/v-1-14-x/api-reference/search/query-batch-points) - Perform multiple vector searches in batch
  - [Query Points Groups](https://api.qdrant.tech/v-1-14-x/api-reference/search/query-points-groups) - Group search results by payload field
  - [Matrix Pairs](https://api.qdrant.tech/v-1-14-x/api-reference/search/matrix-pairs) - Calculate distance matrix between pairs of points
  - [Matrix Offsets](https://api.qdrant.tech/v-1-14-x/api-reference/search/matrix-offsets) - Calculate distance matrix using offsets

  ### Payload

  - [Set Payload](https://api.qdrant.tech/v-1-14-x/api-reference/points/set-payload) - Set payload for points
  - [Overwrite Payload](https://api.qdrant.tech/v-1-14-x/api-reference/points/overwrite-payload) - Replace entire payload for points
  - [Delete Payload](https://api.qdrant.tech/v-1-14-x/api-reference/points/delete-payload) - Remove payload from points
  - [Clear Payload](https://api.qdrant.tech/v-1-14-x/api-reference/points/clear-payload) - Clear all payload fields
  - [Payload Facets](https://api.qdrant.tech/v-1-14-x/api-reference/points/facet) - Get payload field statistics
  - [Create Payload Index](https://api.qdrant.tech/v-1-14-x/api-reference/indexes/create-field-index) - Create an index for payload fields
  - [Delete Payload Index](https://api.qdrant.tech/v-1-14-x/api-reference/indexes/delete-field-index) - Remove a payload field index

  ## Credentials

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

  - URL: The REST URL of your Qdrant instance
  - API Key (optional): Your Qdrant API key if authentication is enabled

  ## Compatibility

  This node is compatible with:

  - Qdrant version 1.14.0 and above

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Qdrant Documentation](https://qdrant.tech/documentation/)
  - [Qdrant GitHub Repository](https://github.com/qdrant/qdrant)

ai_documentation_summary:
  {"purpose":"The Qdrant n8n node enables users to interact with the Qdrant vector similarity search engine by performing operations such as managing collections, storing and retrieving vectors, searching for similar vectors, and managing point payloads.","capabilities":["List all collections","Create, update, get, and delete collections","Upsert, retrieve, delete, count, scroll, and batch-update points","Update or delete vectors for points","Search for similar vectors, perform batch searches, group results by payload, and compute distance matrices","Set, overwrite, delete, or clear point payloads","Create and delete payload field indexes and retrieve payload statistics"],"authentication":"API key (optional); URL is required for authentication","commonUseCases":["Storing and retrieving vector data for AI/ML applications","Performing semantic search using vector similarity","Managing metadata (payload) associated with vectors","Building retrieval-augmented generation (RAG) pipelines","Indexing and querying large-scale vector datasets"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-ai"]}


node_type: n8n-nodes-zigpoll.zigpollTrigger
package_name: n8n-nodes-zigpoll
display_name: Zigpoll Trigger
description: Triggers when a specific Zigpoll survey is completed
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: zigpoll
author_github_url: https://github.com/JasonZigelbaum/
npm_package_name: n8n-nodes-zigpoll
npm_version: 0.1.9
community_fetched_at: 2026-01-07T20:08:16.077Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # n8n-nodes-zigpoll

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

  Zigpoll is a contextual survey platform that lets you understand what customers think & feel about your product by running highly targeted surveys inside and outside of your product at key moments.

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

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

  ## Installation

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

  ## Operations

  Run workflows on new responses you receive for your surveys.

  ## Credentials

  You only need a Zigpoll API Key for this. Please check out the [Zigpoll Docs](https://docs.zigpoll.com/integrations/n8n) for more information.

  ## Compatibility

  This package was developed & tested with n8n > 1.4.0.

  ## Usage

  Please check out the [Zigpoll Docs](https://docs.zigpoll.com/integrations/n8n) for more information on how to use the integration.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Zigpoll Docs](https://docs.zigpoll.com/integrations/n8n)

ai_documentation_summary:
  {"purpose":"Triggers n8n workflows when a specific Zigpoll survey is completed by detecting new survey responses.","capabilities":["Detects new survey responses from Zigpoll","Triggers workflows upon survey completion","Supports specific survey targeting"],"authentication":"API key required","commonUseCases":["Automate follow-up actions after customer feedback collection","Send notifications or update databases when a survey is completed","Integrate survey results into CRM or analytics systems"],"limitations":[],"relatedNodes":["Zigpoll Action Node","Webhook Node","HTTP Request Node"]}


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

updated_at: 2026-01-07 20:08:16
author_name: yepcode
author_github_url: https://github.com/yepcode/
npm_package_name: n8n-nodes-yepcode
npm_version: 1.1.0
community_fetched_at: 2026-01-07T20:08:16.078Z
ai_summary_generated_at: 2026-01-08 10:45:32
description:
  YepCode lets you run full processes or dynamic scripts using Node.js or Python, with support for any NPM or PyPI dependency. All in a secure, sandboxed environment.

properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "run_process",
      "options": [
        {
          "name": "Run Process",
          "value": "run_process",
          "action": "Run process",
          "description": "Move your complex business logic into yep code processes and trigger them from your workflows using dynamic input parameters it s the most flexible way to connect with your ap is and services using real code with zero dev ops overhead"
        },
        {
          "name": "Run Code",
          "value": "run_code",
          "action": "Run code",
          "description": "A lightweight, flexible way to execute Node.js or Python code on demand — directly from your workflows or AI agents. The run_code tool runs in secure cloud sandboxes with full support for NPM and PyPI dependencies (https://yepcode.io/docs/dependencies), access to secrets, APIs, and databases. Perfect for quick scripts, dynamic logic, or AI-generated code."
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Run Process",
      "value": "run_process",
      "action": "Run process",
      "description": "Move your complex business logic into yep code processes and trigger them from your workflows using dynamic input parameters it s the most flexible way to connect with your ap is and services using real code with zero dev ops overhead"
    },
    {
      "name": "Run Code",
      "value": "run_code",
      "action": "Run code",
      "description": "A lightweight, flexible way to execute Node.js or Python code on demand — directly from your workflows or AI agents. The run_code tool runs in secure cloud sandboxes with full support for NPM and PyPI dependencies (https://yepcode.io/docs/dependencies), access to secrets, APIs, and databases. Perfect for quick scripts, dynamic logic, or AI-generated code."
    }
  ]

npm_readme:
  ![YepCode Image](https://cdn.prod.website-files.com/632cd328ed2b485519c3f689/68303b945a8746ed63f24a99_yepcode-cover-dev-tool-ai-solutions.png)

  # n8n-nodes-yepcode

  This is an n8n community node that enables you to use [YepCode](https://yepcode.io) within your n8n workflows.

  Easily execute AI-generated code in a secure, scalable environment with full support for dependencies, secrets, logs, and access to APIs or databases—all on a developer-first platform designed to create any integration or automation without DevOps complexity.

  [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)
  [Resources](#resources)

  ## Installation

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

  ## Operations

  ### 1. Run a YepCode Process

  Execute a specific YepCode process by selecting it from your YepCode workspace. This operation allows you to run pre-built processes with parameter mapping and advanced execution options.

  **Key Features:**
  - **Process Selection**: Choose from your available YepCode processes with searchable dropdown
  - **Parameter Mapping**: Map n8n input data to process parameters using a visual resource mapper
  - **Version Control**: Select specific process versions or use the current version
  - **Execution Modes**: 
    - **Run Once for All Items**: Execute the process once with all input items
    - **Run Once for Each Item**: Execute the process separately for each input item
  - **Synchronous/Asynchronous**: Choose whether to wait for execution completion
  - **n8n Context Integration**: Automatically pass n8n workflow data to your process

  **Advanced Options:**
  - **Version Selection**: Run specific published versions of your process
  - **Synchronous Execution**: Wait for completion and get results immediately
  - **Metadata**: Add execution comments and initiator information
  - **n8n Context**: Include workflow metadata, environment variables, and execution info

  **Example Use Cases:**
  - AI/ML model inference
  - Data transformation processes
  - API integrations with complex logic
  - File processing workflows
  - Database operations

  ### 2. Run Code

  Directly execute custom JavaScript or Python code in YepCode from your n8n workflow. This operation provides maximum flexibility for custom logic execution.

  **Key Features:**
  - **Multi-language Support**: Write code in JavaScript (Node.js) or Python
  - **Auto-dependency Management**: Import any NPM or PyPI package - YepCode installs them automatically
  - **n8n Integration**: Access n8n input items and workflow metadata directly in your code
  - **Execution Modes**:
    - **Run Once for All Items**: Process all input items in a single execution
    - **Run Once for Each Item**: Execute code separately for each input item
  - **Secure Environment**: Code runs in YepCode's isolated, secure environment

  **Advanced Options:**
  - **Language Detection**: Auto-detect code language or specify manually
  - **Code Cleanup**: Option to remove code after execution
  - **Metadata**: Add execution comments and initiator information
  - **n8n Context**: Include workflow data and metadata in your code execution

  **Example Use Cases:**
  - Custom data transformations
  - Complex calculations
  - API aggregations
  - Data validation
  - Custom business logic
  - Integration with external services

  ## Credentials

  Authentication is required to use this node. You'll need your YepCode API token, which you can find in your YepCode workspace under `Settings > API credentials`. For YepCode On-Premise, you may also specify a custom API host.

  1. Sign up for [YepCode Cloud](https://cloud.yepcode.io).
  2. Get your API token from `Settings > API credentials` in your YepCode workspace.
  3. Create your n8n credential using this token.
  4. (Optional) Enter a custom API host if using YepCode On-Premise.

  ## Usage

  ### Setting Up Credentials

  1. In your YepCode workspace, go to `Settings > API credentials`
  2. Copy your API token
  3. In n8n, create a new credential for the YepCode node
  4. Paste your API token
  5. (Optional) Set a custom API host for YepCode On-Premise

  ### Using Run Process Operation

  1. **Add the YepCode node** to your workflow
  2. **Select "Run Process"** as the operation
  3. **Choose your process** from the dropdown (searchable)
  4. **Configure parameters** using the resource mapper to map n8n data to process inputs
  5. **Set execution mode**:
     - **Run Once for All Items**: Process all items together
     - **Run Once for Each Item**: Process each item individually
  6. **Configure advanced options** (optional):
     - Enable/disable n8n context integration
     - Select specific process version
     - Set synchronous/asynchronous execution

  ### Using Run Code Operation

  1. **Add the YepCode node** to your workflow
  2. **Select "Run Code"** as the operation
  3. **Write your code** in the code editor (JavaScript or Python)
  4. **Set execution mode**:
     - **Run Once for All Items**: Process all items together
     - **Run Once for Each Item**: Process each item individually
  5. **Configure advanced options** (optional):
     - Specify language (auto-detected by default)
     - Enable/disable n8n context integration
     - Set code cleanup options

  **Example JavaScript Code:**
  ```javascript
  // Import any npm package - YepCode will install it automatically
  const { DateTime } = require("luxon");

  const { n8n } = yepcode.context.parameters;

  const results = [];
  for (const item of n8n.items) {
    results.push({
      ...item.json,
      processedAt: DateTime.now().toISO(),
      transformed: item.json.data * 2
    });
  }

  // Access n8n metadata
  console.log("Environment:", n8n.metadata);

  return results;
  ```

  **Example Python Code:**
  ```python
  # Import any PyPI package - YepCode will install it automatically
  from datetime import datetime

  # Access n8n context
  n8n = yepcode.context.parameters['n8n']

  results = []
  for item in n8n['items']:
      # Process each item
      processed_item = {
          **item['json'],
          'processed_at': datetime.now().isoformat(),
          'status': 'completed'
      }
      results.append(processed_item)

  # Access n8n metadata
  print("Environment:", n8n['metadata'])
  print("Execution ID:", n8n['metadata']['$execution']['id'])

  return results
  ```

  ### Accessing n8n Context

  Both operations can include n8n context data in your YepCode execution:

  - **Input Items**: All data from previous nodes in your workflow
  - **Workflow Metadata**: Environment variables, execution information, and workflow details
  - **Execution Context**: Current execution ID, resume URLs, and other runtime information

  ### Error Handling

  - **Continue on Fail**: Enable this option to continue workflow execution even if YepCode operations fail
  - **Error Information**: Failed executions return detailed error information in the output
  - **Logs**: Access execution logs through the YepCode dashboard or API

  For more information on using n8n community nodes, see the [n8n documentation](https://docs.n8n.io/integrations/#community-nodes). If you are new to n8n, you can get started with the [Try it out](https://docs.n8n.io/try-it-out/) guide.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [YepCode official docs](https://docs.yepcode.io/)
  * [YepCode Coding Rules](https://yepcode.io/docs/yepcode-coding-rules)

ai_documentation_summary:
  {"purpose":"The YepCode node allows users to execute pre-built processes or custom JavaScript/Python code in a secure, sandboxed environment using n8n, with full support for dependencies, secrets, and integration with n8n workflow data.","capabilities":["Run predefined YepCode processes with parameter mapping and version control","Execute custom JavaScript or Python code with automatic dependency installation","Map n8n input data to process parameters via visual resource mapper","Support for both synchronous and asynchronous execution modes","Access to n8n workflow context, metadata, and environment variables within code","Secure, isolated execution environment with full dependency support (NPM/PyPI)"],"authentication":"API token required; obtained from YepCode workspace under Settings > API credentials. Optional custom API host for On-Premise setups.","commonUseCases":["AI/ML model inference","Complex data transformations","Custom business logic execution","API integrations with dynamic logic","File and database operations"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-database"]}


node_type: @vlm-run/n8n-nodes-vlmrun.vlmRun
package_name: @vlm-run/n8n-nodes-vlmrun
display_name: VLM Run
description: Interact with VLM Run API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: shahrear-vlm
author_github_url: https://github.com/vlm-run/n8n-nodes-vlmrun.git
npm_package_name: @vlm-run/n8n-nodes-vlmrun
npm_version: 2.2.9
community_fetched_at: 2026-01-07T20:08:16.079Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Analyze Audio",
          "value": "audio",
          "action": "Analyze audio",
          "description": "Analyze audio files for transcription, speaker identification, sentiment analysis, and more"
        },
        {
          "name": "Analyze Document",
          "value": "document",
          "action": "Analyze document",
          "description": "Extract structured data from documents such as resumes, invoices, presentations, and more"
        },
        {
          "name": "Analyze Image",
          "value": "image",
          "action": "Analyze image",
          "description": "Extract information or generate captions from images"
        },
        {
          "name": "Analyze Video",
          "value": "video",
          "action": "Analyze video",
          "description": "Extract insights or transcribe content from video files"
        },
        {
          "name": "Execute Agent",
          "value": "executeAgent",
          "action": "Execute agent",
          "description": "Execute an agent"
        },
        {
          "name": "Manage Files",
          "value": "file",
          "action": "Manage files",
          "description": "List uploaded files or upload new files to VLM Run"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Analyze Audio",
      "value": "audio",
      "action": "Analyze audio",
      "description": "Analyze audio files for transcription, speaker identification, sentiment analysis, and more"
    },
    {
      "name": "Analyze Document",
      "value": "document",
      "action": "Analyze document",
      "description": "Extract structured data from documents such as resumes, invoices, presentations, and more"
    },
    {
      "name": "Analyze Image",
      "value": "image",
      "action": "Analyze image",
      "description": "Extract information or generate captions from images"
    },
    {
      "name": "Analyze Video",
      "value": "video",
      "action": "Analyze video",
      "description": "Extract insights or transcribe content from video files"
    },
    {
      "name": "Execute Agent",
      "value": "executeAgent",
      "action": "Execute agent",
      "description": "Execute an agent"
    },
    {
      "name": "Manage Files",
      "value": "file",
      "action": "Manage files",
      "description": "List uploaded files or upload new files to VLM Run"
    }
  ]

npm_readme:
  <div align="center">
  <p align="center" style="width: 100%;">
      <img src="https://raw.githubusercontent.com/vlm-run/.github/refs/heads/main/profile/assets/vlm-black.svg" alt="VLM Run Logo" width="80" style="margin-bottom: -5px; color: #2e3138; vertical-align: middle; padding-right: 5px;"><br>
  </p>
  <h2>n8n-nodes-vlmrun</h2>
  <p align="center">
  <a href="https://vlm.run"><b>Website</b></a> | <a href="https://app.vlm.run/"><b>Platform</b></a> | <a href="https://docs.vlm.run/"><b>Docs</b></a> | <a href="https://docs.vlm.run/blog"><b>Blog</b></a> | <a href="https://discord.gg/4jgyECY4rq"><b>Discord</b></a>
  </p>
  <p align="center">
  <a href="https://www.npmjs.com/package/@vlm-run/n8n-nodes-vlmrun"><img alt="NPM Version" src="https://badge.fury.io/js/%40vlm-run%2Fn8n-nodes-vlmrun.svg"></a>
  <a href="https://github.com/vlm-run/n8n-nodes-vlmrun/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/vlm-run/n8n-nodes-vlmrun.svg"></a>
  <a href="https://discord.gg/4jgyECY4rq"><img alt="Discord" src="https://img.shields.io/badge/discord-chat-purple?color=%235765F2&label=discord&logo=discord"></a>
  <a href="https://twitter.com/vlmrun"><img alt="Twitter Follow" src="https://img.shields.io/twitter/follow/vlmrun.svg?style=social&logo=twitter"></a>
  </p>
  </div>

  This is an n8n community node. It lets you use [VLM Run](https://vlm.run) in your n8n workflows.

  VLM Run is a unified gateway for Visual AI that enables you to extract structured data from unstructured visual content like images, videos, audio, and documents using Vision Language Models (VLMs).


  ## 💾 Installation

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

  ```bash
  npm i @vlm-run/n8n-nodes-vlmrun
  ```

  ## ⚙️ Operations

  - **Analyze Audio**: Analyze audio files for transcription, speaker identification, sentiment analysis, and more.
  - **Analyze Document**: Extract structured data from documents such as resumes, invoices, presentations, and more.
  - **Analyze Image**: Extract information or generate captions from images.
  - **Analyze Video**: Extract insights or transcribe content from video files.
  - **Manage Files**: List uploaded files or upload new files to VLM Run.

  ## 🔑 Credentials

  1. Sign up for a VLM Run account at [vlm.run](https://app.vlm.run/)
  2. Get your API key from the dashboard
  3. Use the API key in the n8n VLM Run node credentials

  ## 📖 Usage

  1. **Configure Credentials**:
     - Add your VLM Run API credentials in n8n
     - Set the API base URL (default: https://api.vlm.run/v1)

  2. **Add VLM Run Node**:
     - Search for "VLM Run" in the n8n nodes panel
     - Add it to your workflow

  3. **Configure Node**:
     - Select the operation (Analyze Audio, Analyze Document, Analyze Image, Analyze Video, or Manage Files)
     - Provide the required input fields (such as file data, model, or domain)
     - Configure any additional parameters as needed

  4. **Run the workflow** to process your visual or audio data with VLM Run's AI models.

  ## 📸 Screenshots

  Here are some screenshots of the n8n-nodes-vlmrun in action:

  ![VLM Run Node Overview](assets/vlmrun-overview.png)
  _Overview of the VLM Run node in n8n_

  ![VLM Run Workflow Example](assets/vlmrun-workflow.png)
  _Example workflow using the VLM Run node_

  ## 🔗 Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [VLM Run Documentation](https://docs.vlm.run/introduction)
  - [VLM Run API Reference](https://docs.vlm.run/api-reference/v1/health)
  - [Example Workflows](https://n8n.io/workflows)

  ## 🛠️ Example Use Cases

  - Extracting structured data from resumes, invoices, or utility bills
  - Cataloging and captioning product images
  - Transcribing and analyzing audio interviews or calls
  - Extracting insights from video content
  - Managing files in your VLM Run account from n8n workflows

  ## 📄 License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"The VLM Run node enables n8n users to interact with the VLM Run API to analyze visual and audio content using Vision Language Models (VLMs), extracting structured data from images, videos, audio files, and documents.","capabilities":["Analyze Audio","Analyze Document","Analyze Image","Analyze Video","Manage Files"],"authentication":"API key required; obtain it from the VLM Run dashboard at https://app.vlm.run/","commonUseCases":["Extracting structured data from resumes, invoices, or utility bills","Cataloging and captioning product images","Transcribing and analyzing audio interviews or calls","Extracting insights from video content","Managing files in VLM Run account via workflows"],"limitations":[],"relatedNodes":["File Input/Output Nodes","Transcription Nodes","Document Processing Nodes"]}


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

updated_at: 2026-01-07 20:08:16
author_name: meetgeek
author_github_url: https://github.com/meetgeekai/meetgeekai-n8n-node.git
npm_package_name: n8n-nodes-meetgeek
npm_version: 0.1.6
community_fetched_at: 2026-01-07T20:08:16.079Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "meeting",
      "options": [
        {
          "name": "Meeting",
          "value": "meeting"
        },
        {
          "name": "Recording",
          "value": "recording"
        },
        {
          "name": "Highlight",
          "value": "highlight"
        },
        {
          "name": "Team",
          "value": "team"
        },
        {
          "name": "Transcript",
          "value": "transcript"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getManyHighlights",
      "options": [
        {
          "name": "Get Many",
          "value": "getManyHighlights",
          "action": "Get many highlights",
          "description": "Get list of highlights for a meeting"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "highlight"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getManyMeetings",
      "options": [
        {
          "name": "Get Many",
          "value": "getManyMeetings",
          "action": "Gets many meetings",
          "description": "Get list of meetings"
        },
        {
          "name": "Get Meeting Details",
          "value": "getMeeting",
          "action": "Gets a meeting by ID",
          "description": "Get a meeting by ID"
        },
        {
          "name": "Get Meeting Summary",
          "value": "getMeetingSummary",
          "action": "Gets meeting summary by ID",
          "description": "Get meeting summary by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "meeting"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "uploadRecording",
      "options": [
        {
          "name": "Upload",
          "value": "uploadRecording",
          "action": "Upload recording",
          "description": "Upload a recording for analysis"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "recording"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getManyTeams",
      "options": [
        {
          "name": "Get Many",
          "value": "getManyTeams",
          "action": "Get many teams",
          "description": "Get list of teams"
        },
        {
          "name": "Get Team Meetings",
          "value": "getTeamMeetings",
          "action": "Gets team meetings"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "team"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getManyTranscripts",
      "options": [
        {
          "name": "Get Many",
          "value": "getManyTranscripts",
          "action": "Get many transcripts",
          "description": "Get list of transcripts for a meeting"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transcript"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Many",
      "value": "getManyHighlights",
      "action": "Get many highlights",
      "description": "Get list of highlights for a meeting"
    },
    {
      "name": "Get Many",
      "value": "getManyMeetings",
      "action": "Gets many meetings",
      "description": "Get list of meetings"
    },
    {
      "name": "Get Meeting Details",
      "value": "getMeeting",
      "action": "Gets a meeting by ID",
      "description": "Get a meeting by ID"
    },
    {
      "name": "Get Meeting Summary",
      "value": "getMeetingSummary",
      "action": "Gets meeting summary by ID",
      "description": "Get meeting summary by ID"
    },
    {
      "name": "Upload",
      "value": "uploadRecording",
      "action": "Upload recording",
      "description": "Upload a recording for analysis"
    },
    {
      "name": "Get Many",
      "value": "getManyTeams",
      "action": "Get many teams",
      "description": "Get list of teams"
    },
    {
      "name": "Get Team Meetings",
      "value": "getTeamMeetings",
      "action": "Gets team meetings"
    },
    {
      "name": "Get Many",
      "value": "getManyTranscripts",
      "action": "Get many transcripts",
      "description": "Get list of transcripts for a meeting"
    }
  ]

npm_readme:
  # n8n-nodes-meetgeek

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

  MeetGeek is an AI-powered meeting assistant that automatically records, transcribes, and summarizes your meetings.

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

  ## Installation

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

  ## Operations

  ### Meeting
  - **Get Details**: Retrieve detailed information about a specific meeting

  ### Recording  
  - **Upload**: Upload a recording file for analysis and transcription

  ### Highlight
  - **Get**: Retrieve highlights from a specific meeting
  - **Listen for New**: Webhook trigger that fires when a new highlight is created

  ## Credentials

  This node uses the MeetGeek API credentials. You'll need to:

  1. Go to your MeetGeek settings
  2. Navigate to the Integration Tab
  3. Copy your API token from Public API
  4. Create new credentials in n8n using this token

  ## Compatibility

  Tested with n8n version 0.220.0 and above.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [MeetGeek API Documentation](https://docs.meetgeek.ai)

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"The MeetGeek node enables integration with the MeetGeek AI-powered meeting assistant to retrieve meeting details, upload recordings for transcription, and fetch meeting highlights, supporting automated meeting analysis and summarization in n8n workflows.","capabilities":["Retrieve detailed information about a specific meeting","Upload recording files for transcription and analysis","Retrieve highlights from a specific meeting","Listen for new highlights via webhook trigger"],"authentication":"API token required; obtain from MeetGeek's Integration Tab under Public API and use it to create credentials in n8n","commonUseCases":["Automatically transcribe and summarize meeting recordings","Monitor new meeting highlights in real-time using webhooks","Fetch meeting details for post-meeting reporting or data logging"],"limitations":[],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest"]}


node_type: @firefliesai/n8n-nodes-fireflies.fireflies
package_name: @firefliesai/n8n-nodes-fireflies
display_name: Fireflies
description: Interact with the Fireflies.ai API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: sudotong
author_github_url: https://github.com/firefliesai/n8n-nodes-fireflies.git
npm_package_name: @firefliesai/n8n-nodes-fireflies
npm_version: 2.1.0
community_fetched_at: 2026-01-07T20:08:16.080Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "transcript",
      "options": [
        {
          "name": "AI App",
          "value": "aiApp"
        },
        {
          "name": "AskFred",
          "value": "askfred"
        },
        {
          "name": "Audio",
          "value": "audio"
        },
        {
          "name": "Transcript",
          "value": "transcript"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAIAppOutputs",
      "options": [
        {
          "name": "Get Outputs",
          "value": "getAIAppOutputs",
          "action": "Get outputs of an AI app",
          "description": "Retrieve AI app outputs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "aiApp"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getThreads",
      "options": [
        {
          "name": "Continue Thread",
          "value": "continueThread",
          "action": "Continue an existing ask fred thread",
          "description": "Continue an existing conversation thread with a follow-up question"
        },
        {
          "name": "Create Thread",
          "value": "createThread",
          "action": "Create a new ask fred thread",
          "description": "Create a new conversation thread with a question about meetings"
        },
        {
          "name": "Delete Thread",
          "value": "deleteThread",
          "action": "Delete an ask fred thread",
          "description": "Delete a conversation thread and all its messages"
        },
        {
          "name": "Get Thread",
          "value": "getThread",
          "action": "Get an ask fred thread",
          "description": "Get a specific thread with all its messages"
        },
        {
          "name": "Get Threads",
          "value": "getThreads",
          "action": "Get ask fred threads",
          "description": "Get a list of all conversation threads"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "askfred"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "uploadAudio",
      "options": [
        {
          "name": "Upload",
          "value": "uploadAudio",
          "action": "Upload audio",
          "description": "Upload an audio file for transcription"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "audio"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTranscript",
      "options": [
        {
          "name": "Get",
          "value": "getTranscript",
          "action": "Get a transcript",
          "description": "Get transcript details"
        },
        {
          "name": "Get Analytics",
          "value": "getTranscriptAnalytics",
          "action": "Get analytics of a transcript",
          "description": "Get analytics for a transcript"
        },
        {
          "name": "Get Audio URL",
          "value": "getTranscriptAudioUrl",
          "action": "Get audio URL of a transcript",
          "description": "Get the audio URL for a transcript"
        },
        {
          "name": "Get List",
          "value": "getTranscriptsList",
          "action": "Get a list of transcripts",
          "description": "Get a list of transcripts with optional filters"
        },
        {
          "name": "Get Summary",
          "value": "getTranscriptSummary",
          "action": "Get a summary of a transcript",
          "description": "Get a summary of a transcript"
        },
        {
          "name": "Get Video URL",
          "value": "getTranscriptVideoUrl",
          "action": "Get video URL of a transcript",
          "description": "Get the video URL for a transcript"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transcript"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCurrentUser",
      "options": [
        {
          "name": "Get Current",
          "value": "getCurrentUser",
          "action": "Get current user",
          "description": "Get information about the current user"
        },
        {
          "name": "Get List",
          "value": "getUsers",
          "action": "Get a list of users",
          "description": "Get a list of users"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Outputs",
      "value": "getAIAppOutputs",
      "action": "Get outputs of an AI app",
      "description": "Retrieve AI app outputs"
    },
    {
      "name": "Continue Thread",
      "value": "continueThread",
      "action": "Continue an existing ask fred thread",
      "description": "Continue an existing conversation thread with a follow-up question"
    },
    {
      "name": "Create Thread",
      "value": "createThread",
      "action": "Create a new ask fred thread",
      "description": "Create a new conversation thread with a question about meetings"
    },
    {
      "name": "Delete Thread",
      "value": "deleteThread",
      "action": "Delete an ask fred thread",
      "description": "Delete a conversation thread and all its messages"
    },
    {
      "name": "Get Thread",
      "value": "getThread",
      "action": "Get an ask fred thread",
      "description": "Get a specific thread with all its messages"
    },
    {
      "name": "Get Threads",
      "value": "getThreads",
      "action": "Get ask fred threads",
      "description": "Get a list of all conversation threads"
    },
    {
      "name": "Upload",
      "value": "uploadAudio",
      "action": "Upload audio",
      "description": "Upload an audio file for transcription"
    },
    {
      "name": "Get",
      "value": "getTranscript",
      "action": "Get a transcript",
      "description": "Get transcript details"
    },
    {
      "name": "Get Analytics",
      "value": "getTranscriptAnalytics",
      "action": "Get analytics of a transcript",
      "description": "Get analytics for a transcript"
    },
    {
      "name": "Get Audio URL",
      "value": "getTranscriptAudioUrl",
      "action": "Get audio URL of a transcript",
      "description": "Get the audio URL for a transcript"
    },
    {
      "name": "Get List",
      "value": "getTranscriptsList",
      "action": "Get a list of transcripts",
      "description": "Get a list of transcripts with optional filters"
    },
    {
      "name": "Get Summary",
      "value": "getTranscriptSummary",
      "action": "Get a summary of a transcript",
      "description": "Get a summary of a transcript"
    },
    {
      "name": "Get Video URL",
      "value": "getTranscriptVideoUrl",
      "action": "Get video URL of a transcript",
      "description": "Get the video URL for a transcript"
    },
    {
      "name": "Get Current",
      "value": "getCurrentUser",
      "action": "Get current user",
      "description": "Get information about the current user"
    },
    {
      "name": "Get List",
      "value": "getUsers",
      "action": "Get a list of users",
      "description": "Get a list of users"
    }
  ]

npm_readme:
  # n8n-nodes-fireflies

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

  Fireflies is an AI meeting assistant that automatically records, transcribes, and analyzes your meetings. It integrates with popular video conferencing platforms to help teams capture and search through important meeting content.

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

  [Installation](#installation)  
  [Operations](#operations)
  [Usage](#usage)
  [Credentials](#credentials)  
  [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 **Fireflies** node supports the following operations for interacting with the [Fireflies.ai API](https://docs.fireflies.ai):

  - **Get AI App Outputs**  
    Retrieve results generated by AI applications installed in your Fireflies workspace.

  - **Get Current User**  
    Fetch the profile details of the user associated with the provided API key.

  - **Get Transcript Analytics**  
    Access AI-driven analytics such as sentiment, topics, and engagement data for a specific meeting transcript.

  - **Get Transcript Summary**  
    Retrieve a concise, AI-generated summary of a meeting, including bullet points, action items, and key highlights.

  - **Get Transcript**  
    Get the full transcript of a specific meeting using its unique identifier.

  - **Get Transcripts List**  
    Fetch a paginated list of available meeting transcripts. Supports advanced filtering by email, date, and user ID.

  - **Get Users**  
    Retrieve a list of users within your Fireflies organization, including metadata like names and emails.

  - **Upload Audio**  
    Upload audio recordings for transcription. This is useful for meetings, interviews, or any spoken content you want transcribed.

  ### AskFred Operations

  AskFred is Fireflies' AI assistant that can answer questions about your meetings using natural language.

  - **Get Threads**  
    Retrieve a list of all AskFred conversation threads. Optionally filter by a specific transcript ID.

  - **Get Thread**  
    Get a specific AskFred thread with all its messages, including questions and AI-generated answers.

  - **Create Thread**  
    Start a new conversation with AskFred by asking a question. You can ask about a specific meeting or query across multiple meetings using filters (date range, participants, organizers, channels).

  - **Continue Thread**  
    Continue an existing AskFred conversation with a follow-up question. The AI maintains context from previous messages in the thread.

  - **Delete Thread**  
    Delete an AskFred thread and all its associated messages.

  ---

  ## Usage

  ### Fetching and Chaining Transcripts

  The **Get Transcripts List** operation retrieves a list of available meeting transcripts based on optional filters such as:

  - `organizer_email`
  - `participant_email`
  - `host_email`
  - `title`
  - `user_id`
  - `from_date` / `to_date`

  This is often the first step in building a workflow, allowing you to dynamically retrieve and iterate over multiple transcript records.

  Once you have the transcript IDs from this operation, you can pass them as inputs to the following operations:

  - **Get Transcript**: Fetch the full transcript content.
  - **Get Transcript Summary**: Retrieve [summary](https://docs.fireflies.ai/schema/summary) and key takeaways.
  - **Get Transcript Analytics**: Access [analytics](https://docs.fireflies.ai/schema/analytics) like sentiment, topic extraction, and more.

  These operations can be chained together to create rich workflows for reporting, insights, or downstream automation.

  📘 For a full reference of transcript fields and response structure, see the [Fireflies Transcript Schema](https://docs.fireflies.ai/schema/transcript).

  ## Credentials

  To use the Fireflies node, you need to authenticate with your Fireflies API key.

  1. Log in to your [Fireflies.ai](https://fireflies.ai) account
  2. Go to Settings > Developer Settings
  3. Generate or copy your existing API key
  4. Use this API key in your n8n credentials for the Fireflies node

  The node uses API Key authentication to securely connect to the Fireflies.ai API.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Fireflies.ai API documentation](https://docs.fireflies.ai)

  ## Version history

  ### 2.1.0

  - ✨ **New Resource**: Added AskFred resource for AI-powered meeting Q&A
  - 🆕 **New Operations**: 
    - `Get Threads`: List all AskFred conversation threads
    - `Get Thread`: Retrieve a specific thread with all messages
    - `Create Thread`: Start a new conversation with AskFred
    - `Continue Thread`: Add follow-up questions to existing threads
    - `Delete Thread`: Remove threads and their messages
  - 🔍 **Meeting Filters**: Create Thread supports filtering by date range, participants, organizers, channels, and transcript IDs
  - 🌐 **Response Options**: Configurable response language and format mode (markdown/plaintext)

  ### 2.0.0

  - ✨ **New Operations**: Added `GetTranscriptVideoUrl` and `GetTranscriptAudioUrl` operations for direct media access
  - 🔧 **Enhanced Error Handling**: Comprehensive GraphQL error detection with detailed error codes and correlation IDs
  - 🏗️ **Architecture Improvements**: Implemented generic error handling system for consistent error responses across all operations
  - 📚 **Code Quality**: Refactored codebase for better maintainability and reduced duplication
  - ⚠️ **Breaking Changes**: Removed `audio_url` and `video_url` from `GetTranscript` operation due to GraphQL API's partial data response behavior

  ### 1.0.7

  - Fixed nodeParameter handling for all operations

  ### 1.0.6

  - Removed unsupported field from getAiAppOutput operation

  ### 1.0.5

  - Fixes bug in handling input data

  ### 1.0.4

  - Major refactor to separate code into resources and operations

  ### 1.0.3

  - Bump version due to inconsistent build

  ### 1.0.2

  - Refactored Fireflies Node implementation
  - Replaced axios with http helper
  - Added test for credentials

  ### 1.0.1

  - Fixed bugs in array responses

  ### 1.0.0

  - Added operations Get AI App Outputs, Get Meeting Analytics, Get Meeting Summary, Get Transcript, Get Transcripts List, Get Users, and Upload Audio
  - Initial release of the Fireflies.ai node for n8n

ai_documentation_summary:
  {"purpose":"The Fireflies n8n node enables automation workflows to interact with Fireflies.ai's AI-powered meeting assistant, allowing users to retrieve meeting transcripts, summaries, analytics, and answer questions using AskFred's natural language capabilities.","capabilities":["Retrieve AI app outputs","Get current user profile","Access transcript analytics (sentiment, topics, engagement)","Generate meeting summaries with action items and highlights","Fetch full meeting transcripts","List meeting transcripts with filtering by date, email, user ID, and more","Retrieve user list in the organization","Upload audio recordings for transcription","Query AskFred threads (list, get, create, continue, delete)","Filter AskFred conversations by date, participants, organizers, or channels"],"authentication":"API key required. Generate the API key from Fireflies.ai Settings > Developer Settings and enter it in the n8n credentials.","commonUseCases":["Automatically extract meeting summaries and action items for follow-up tasks","Analyze meeting sentiment and key topics for reporting","Search meeting content using natural language via AskFred","Fetch and process meeting transcripts based on date or participant filters","Upload audio files for transcription and subsequent analysis"],"limitations":["The `GetTranscript` operation no longer returns `audio_url` and `video_url` due to GraphQL API behavior","AskFred operations require a valid thread context; follow-up questions depend on prior messages","Filtering in AskFred and transcript operations may be limited by API constraints"],"relatedNodes":["n8n nodes for document processing","n8n nodes for data transformation","n8n nodes for email or task automation"]}


node_type: n8n-nodes-supadata.supadata
package_name: n8n-nodes-supadata
display_name: Supadata
description: Access Supadata API to fetch video metadata, transcripts, and web data from multiple platforms
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: rafalzawadzki
author_github_url: https://github.com/supadata-ai/
npm_package_name: n8n-nodes-supadata
npm_version: 0.3.1
community_fetched_at: 2026-01-07T20:08:16.081Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "media",
      "options": [
        {
          "name": "Media",
          "value": "media"
        },
        {
          "name": "YouTube",
          "value": "youtube"
        },
        {
          "name": "Web",
          "value": "webScrape"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMetadata",
      "options": [
        {
          "name": "Get Metadata",
          "value": "getMetadata",
          "action": "Get metadata",
          "description": "Get metadata of a video from multiple platforms (YouTube, TikTok, Instagram, Twitter)"
        },
        {
          "name": "Get Transcript",
          "value": "getTranscript",
          "action": "Get transcript",
          "description": "Get the transcript of a video from multiple platforms (YouTube, TikTok, etc.)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "media"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getChannel",
      "options": [
        {
          "name": "Get Channel",
          "value": "getChannel",
          "action": "Get channel details",
          "description": "Get details of a YouTube channel"
        },
        {
          "name": "Get Channel Videos",
          "value": "getChannelVideos",
          "action": "Get channel videos",
          "description": "Get videos of a YouTube channel"
        },
        {
          "name": "Get Playlist",
          "value": "getPlaylist",
          "action": "Get playlist details",
          "description": "Get details of a YouTube playlist"
        },
        {
          "name": "Get Playlist Videos",
          "value": "getPlaylistVideos",
          "action": "Get playlist videos",
          "description": "Get videos of a YouTube playlist"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtube"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrapeUrl",
      "options": [
        {
          "name": "Scrape URL",
          "value": "scrapeUrl",
          "action": "Scrape data from a URL",
          "description": "Scrape data from a URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webScrape"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Metadata",
      "value": "getMetadata",
      "action": "Get metadata",
      "description": "Get metadata of a video from multiple platforms (YouTube, TikTok, Instagram, Twitter)"
    },
    {
      "name": "Get Transcript",
      "value": "getTranscript",
      "action": "Get transcript",
      "description": "Get the transcript of a video from multiple platforms (YouTube, TikTok, etc.)"
    },
    {
      "name": "Get Channel",
      "value": "getChannel",
      "action": "Get channel details",
      "description": "Get details of a YouTube channel"
    },
    {
      "name": "Get Channel Videos",
      "value": "getChannelVideos",
      "action": "Get channel videos",
      "description": "Get videos of a YouTube channel"
    },
    {
      "name": "Get Playlist",
      "value": "getPlaylist",
      "action": "Get playlist details",
      "description": "Get details of a YouTube playlist"
    },
    {
      "name": "Get Playlist Videos",
      "value": "getPlaylistVideos",
      "action": "Get playlist videos",
      "description": "Get videos of a YouTube playlist"
    },
    {
      "name": "Scrape URL",
      "value": "scrapeUrl",
      "action": "Scrape data from a URL",
      "description": "Scrape data from a URL"
    }
  ]

npm_readme:
  # n8n-nodes-supadata

  This is an n8n community node that allows you to integrate Supadata into your n8n workflows.

  Supadata is a service that provides tools for extracting and analyzing data from YouTube videos, channels, and web pages. With this node, you can easily retrieve video details, transcripts, channel information, and scrape web content directly within your n8n workflows.

  Supadata Website: [https://supadata.ai](https://supadata.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) <!-- delete if no auth needed -->  
  [Usage](#usage) <!-- delete if not using this section -->  
  [Resources](#resources)

  ## Installation

  Community Node Installation

  - Go to Settings > Community Nodes
  - Select Install
  - Enter n8n-nodes-supadata in the input field
  - Click Install

  Manual Installation

  - To install this node manually

  ```bash
  npm install n8n-nodes-supadata
  ```

  ## Operations

  - Get Video Metadata: Retrieve details about a YouTube video.
  - Get Transcript: Fetch the transcript of a YouTube video.
  - Get Channel Metadata: Retrieve information about a YouTube channel.
  - Get Channel Videos: Fetch a list of videos from a specific YouTube channel.
  - Get Playlist Metadata: Retrieve information about a YouTube playlist.
  - Get Playlist Videos: Fetch a list of videos from a specific YouTube playlist.
  - Get URL Content: Extract data from a web page.

  ## Credentials

  To use this node, you need to authenticate with Supadata using an API key. Follow these steps:

  - Sign up for an account with Supadata and obtain your API key.
  - Add the API key to the Supadata node in n8n credentials.

  ## Usage

  1. Create a new workflow in n8n.
  2. Add a Supadata node to your workflow.
  3. Authenticate using your Supadata API key via n8n’s credentials interface.
  4. Select the action you want to perform, and enter the required fields.
  5. Execute the node.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Supadata API Documentation](https://docs.supadata.ai)

  ## License

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

ai_documentation_summary:
  {"purpose":"The Supadata node enables n8n users to extract video metadata, transcripts, channel information, playlist details, and web page content from YouTube and other platforms using Supadata's API.","capabilities":["Get Video Metadata","Get Transcript","Get Channel Metadata","Get Channel Videos","Get Playlist Metadata","Get Playlist Videos","Get URL Content"],"authentication":"API key required","commonUseCases":["Extracting video details and transcripts for content analysis","Monitoring YouTube channels and playlists for updates","Scraping web page content for data collection","Automating data gathering from multiple online sources"],"limitations":[],"relatedNodes":["YouTube integration nodes","Web scraping nodes","Data extraction nodes"]}


node_type: n8n-nodes-tallyforms.tallyTrigger
package_name: n8n-nodes-tallyforms
display_name: Tally Trigger
description: Starts the workflow on a Tally form submission
category: Community
development_style: declarative
version: 1,2
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: wouterds
author_github_url: https://github.com/tallyforms/
npm_package_name: n8n-nodes-tallyforms
npm_version: 1.3.1
community_fetched_at: 2026-01-07T20:08:16.081Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # n8n trigger for Tally submissions

  This is an n8n community node that lets you trigger n8n workflows when your Tally form receives a new submission. You will be able to work with the submission data on trigger.

  ## Installation

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

  ## Usage

  1. Create an API key on https://tally.so/settings/api-keys
  2. Create the Tally Trigger
  3. Create a credential for the Tally Trigger using your API key
  4. Select the form for which you want to trigger workflows on submission

  ## Developers

  For instructions on testing this node on a local n8n instance for development purposes, see https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/

ai_documentation_summary:
  {"purpose":"The Tally Trigger node starts an n8n workflow whenever a new submission is made to a Tally form, allowing users to process the form data within their workflow.","capabilities":["Triggers workflows on new Tally form submissions","Passes form submission data to the workflow","Supports selection of specific forms to monitor"],"authentication":"API key required","commonUseCases":["Automating data collection from Tally forms","Sending form data to CRM or databases","Notifying teams via email or Slack when a form is submitted"],"limitations":[],"relatedNodes":["Tally Action","HTTP Request","Webhook"]}


node_type: n8n-nodes-parallel.parallel
package_name: n8n-nodes-parallel
display_name: Parallel
description: Highest accuracy web search tools for AI agents
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: janwilmake
author_github_url: https://github.com/parallel-web/paralllel-n8n-nodes.git
npm_package_name: n8n-nodes-parallel
npm_version: 0.1.0
community_fetched_at: 2026-01-07T20:08:16.081Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "webEnrichment",
      "options": [
        {
          "name": "Sync Web Enrichment",
          "value": "webEnrichment",
          "action": "Sync Web Enrichment",
          "description": "Execute a Task with the Parallel Task API and retrieve its result."
        },
        {
          "name": "Async Web Enrichment",
          "value": "asyncWebEnrichment",
          "action": "Async Web Enrichment",
          "description": "Create a Task with the Parallel Task API and retrieve its Run ID for async retrieval."
        },
        {
          "name": "Web Search",
          "value": "webSearch",
          "action": "Web Search",
          "description": "Search the web with the Parallel Search API and retrieve a list of results with excerpts."
        },
        {
          "name": "Web Chat",
          "value": "webChat",
          "action": "Web Chat",
          "description": "AI-powered chat completions API with web access (<5 seconds)"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Sync Web Enrichment",
      "value": "webEnrichment",
      "action": "Sync Web Enrichment",
      "description": "Execute a Task with the Parallel Task API and retrieve its result."
    },
    {
      "name": "Async Web Enrichment",
      "value": "asyncWebEnrichment",
      "action": "Async Web Enrichment",
      "description": "Create a Task with the Parallel Task API and retrieve its Run ID for async retrieval."
    },
    {
      "name": "Web Search",
      "value": "webSearch",
      "action": "Web Search",
      "description": "Search the web with the Parallel Search API and retrieve a list of results with excerpts."
    },
    {
      "name": "Web Chat",
      "value": "webChat",
      "action": "Web Chat",
      "description": "AI-powered chat completions API with web access (<5 seconds)"
    }
  ]

npm_readme:
  # n8n-nodes-parallel

  This is an n8n community node for [Parallel Web Systems](https://parallel.ai/) - the AI-powered web research platform. Transform your n8n workflows with intelligent data extraction, competitive analysis, lead enrichment, and automated research capabilities.

  Try Parallel in the [playground](https://platform.parallel.ai/play) before integrating into your workflows.

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

  ## Installation

  Install this community node package in n8n:

  ```bash
  npm install n8n-nodes-parallel
  ```

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

  ### Prerequisites

  1. **Get API Access**: Sign up at [platform.parallel.ai](https://platform.parallel.ai/) and generate an API key
  2. **Add Credentials**: In n8n, create new credentials of type "Parallel API" and enter your API key
  3. **Webhook Secret**: In your Parallel n8n credential, include a webhook secret (created via [Platform Settings](https://platform.parallel.ai/settings)) in order to be notified when an Async Web Enrichment Task is completed

  ## Available Nodes

  This package provides two powerful nodes for your n8n workflows:

  ### 🔍 **Parallel Node** - Multi-Purpose AI Research

  The main Parallel node offers four distinct operations:

  #### **1. Sync Web Enrichment** - [Task API](https://docs.parallel.ai/task-api/task-quickstart.md)

  Execute tasks synchronously and get immediate results (up to 5 minutes):

  - **Lead Enrichment**: Company profiles, contact information, financials
  - **Competitive Analysis**: Product features, pricing, market positioning
  - **Content Research**: Article summaries, fact-checking, data validation
  - **Market Intelligence**: Industry trends, company updates, regulatory changes

  **Available Processors**: `lite`, `base`, `core`

  #### **2. Async Web Enrichment** - [Task API](https://docs.parallel.ai/task-api/task-quickstart.md)

  Start long-running research tasks asynchronously (up to 30 minutes):

  - Complex multi-source research
  - Deep competitive intelligence
  - Comprehensive due diligence
  - Large-scale data enrichment

  **Available Processors**: `lite`, `base`, `core`, `pro`, `ultra`, `ultra2x`, `ultra4x`, `ultra8x`
  Learn about each Parallel Task API Processor [here](https://docs.parallel.ai/task-api/core-concepts/choose-a-processor).

  #### **3. Web Search** - [Search API](https://docs.parallel.ai/search-api/search-quickstart.md)

  Intelligent web search with AI-powered processing:

  - Natural language search objectives
  - Traditional keyword queries
  - Domain filtering for trusted sources
  - Structured results with excerpts and citations

  **Available Processors**: `base`, `pro`
  Learn about each Parallel Search API Processor [here](https://docs.parallel.ai/search-api/processors).

  #### **4. Web Chat**

  AI-powered chat completions with web access (< 5 seconds):

  - Real-time web-informed responses
  - Fact-checking and verification
  - Current events and news queries
  - Research-backed conversations

  Read the Parallel Chat API documentation [here](https://docs.parallel.ai/chat-api/chat-quickstart).

  ### 🔔 **Parallel Task Run Completion Trigger**

  Automatically trigger workflows when Parallel tasks complete, best paired with Async Web Enrichment:

  - **Real-time notifications**: Instant updates when async tasks finish
  - **Automatic result fetching**: Retrieves full task results automatically
  - **Webhook security**: Built-in signature validation for secure webhooks
  - **Flexible filtering**: Option to trigger only on successful completions

  Perfect for long-running research workflows where you want to process results as soon as they're ready.

  ## Key Features

  ### **Flexible Output Schemas**

  - **Text**: Single text output field with evidence and citations
  - **JSON**: [Custom structured schemas](https://docs.parallel.ai/task-api/core-concepts/specify-a-task.md) for precise data extraction
  - **Auto**: AI-optimized JSON output with nested citations (Pro+ processors only)

  ### **Research Quality & Transparency**

  Every result includes [confidence scores and evidence](https://docs.parallel.ai/task-api/core-concepts/access-research-basis.md) with source citations, so you can validate and trust your automated research.

  ### **Source Control**

  Use [source policies](https://docs.parallel.ai/features/source-policy.md) to include trusted domains (like Wikipedia, Reuters) or exclude unreliable ones.

  ### **Smart Polling & Async Support**

  - Automatically handles long-running research tasks with intelligent retry logic
  - Webhook triggers for immediate notification when async tasks complete
  - No manual polling required

  ## Quick Start Examples

  ### Example 1: Company Research Workflow

  ```text
  1. HTTP Request node → Get company domain from CRM
  2. Parallel node (Sync Web Enrichment) → Enrich company data
  3. Set node → Format results  
  4. HTTP Request node → Update CRM with enriched data
  ```

  ### Example 2: Async Research with Webhook

  ```text
  1. Parallel node (Async Web Enrichment) → Start deep research task
  2. Parallel Task Run Completion Trigger → Wait for completion
  3. Code node → Process comprehensive results
  4. Email node → Send research report
  ```

  ### Example 3: Web Search Pipeline

  ```text
  1. Manual Trigger → Input search query
  2. Parallel node (Web Search) → Search with AI processing
  3. Code node → Extract top results
  4. HTTP Request → Post to knowledge base
  ```

  ## Getting Started

  1. **Install**: `npm install n8n-nodes-parallel`
  2. **Get API Access**: Sign up at [platform.parallel.ai](https://platform.parallel.ai/) and generate an API key
  3. **Try the Playground**: Test your research tasks at [platform.parallel.ai/play](https://platform.parallel.ai/play)
  4. **Add Credentials**: Configure your API key in n8n's credential manager  
  5. **Build Workflows**: Start with simple enrichment tasks and scale to complex research pipelines

  ## Processor Selection Guide

  Choose the right processor based on your use case complexity and timing needs:

  | Processor | Latency | Max Fields | Cost | Best For |
  |-----------|---------|------------|------|----------|
  | **Lite** | 5s-60s | 2 | $5/1000 | Basic metadata, quick lookups |
  | **Base** | 15s-100s | 5 | $10/1000 | Standard enrichment, reliable data |
  | **Core** | 1-5min | 10 | $25/1000 | Cross-referenced research |
  | **Pro** | 3-9min | 20 | $100/1000 | Exploratory research, analysis |
  | **Ultra** | 5-25min | 20 | $300/1000 | Advanced multi-source research |
  | **Ultra 2x** | 5-25min | 25 | $600/1000 | Difficult research tasks |
  | **Ultra 4x** | 8-30min | 25 | $1200/1000 | Very difficult research |
  | **Ultra 8x** | 8-30min | 25 | $2400/1000 | Most complex research |

  > **Note**: Sync operations support up to Core level. Async operations support all processor levels.

  ## n8n Workflow Use Cases

  ### **Sales & CRM Automation**

  - **Lead Scoring**: Enrich incoming leads with company data, funding, employee count
  - **Account Research**: Deep dive on prospects before sales calls
  - **Contact Discovery**: Find decision-makers and their contact information
  - **Competitive Intelligence**: Monitor competitor product updates and pricing

  ### **Content & Marketing**

  - **Content Research**: Gather supporting data and citations for articles
  - **Fact-Checking**: Validate claims and statistics in real-time
  - **Trend Analysis**: Monitor industry trends and news for content ideas
  - **SEO Research**: Find trending topics and keyword opportunities

  ### **Operations & Monitoring**

  - **Vendor Research**: Evaluate potential suppliers and partners
  - **Risk Assessment**: Monitor companies for regulatory changes or news
  - **Market Intelligence**: Track industry developments and competitor moves
  - **Due Diligence**: Comprehensive background checks for business decisions

  ### **Customer Support Enhancement**

  - **Real-time Information**: Answer customer questions with current web data
  - **Documentation**: Auto-generate help articles from web research
  - **Competitive Comparisons**: Provide accurate competitor information

  ## Advanced Configuration

  ### Webhook Setup for Async Tasks

  When using async enrichment with the trigger node:

  1. Add a **Parallel Task Run Completion Trigger** to your workflow
  2. Copy the webhook URL from the trigger node
  3. In the **Parallel node** (Async Web Enrichment), paste the URL in the "Webhook URL" field
  4. Enable "Validate Webhook Signatures" for security (recommended)

  ### JSON Schema Examples

  For structured data extraction, use JSON schemas in the output configuration:

  ```json
  {
    "type": "object",
    "properties": {
      "company_name": {
        "type": "string", 
        "description": "Official company name from recent filings or website."
      },
      "ceo_name": {
        "type": "string",
        "description": "Current CEO full name from company website or recent news."
      },
      "employee_count": {
        "type": "string", 
        "description": "Number of employees as range (e.g., '500-1000') or exact number."
      }
    },
    "required": ["company_name", "ceo_name", "employee_count"],
    "additionalProperties": false
  }
  ```

  ### Source Policies

  Control which websites are used for research:

  - **Include domains**: `wikipedia.org, reuters.com, bloomberg.com`
  - **Exclude domains**: `reddit.com, quora.com`

  ## Resources

  - [Parallel Documentation](https://docs.parallel.ai/)
  - [Task API Quickstart](https://docs.parallel.ai/task-api/task-quickstart.md)
  - [Search API Quickstart](https://docs.parallel.ai/search-api/search-quickstart.md)
  - [Processor Selection Guide](https://docs.parallel.ai/task-api/core-concepts/choose-a-processor.md)
  - [Understanding Task Specifications](https://docs.parallel.ai/task-api/core-concepts/specify-a-task.md)
  - [Webhook Configuration](https://docs.parallel.ai/task-api/features/webhooks)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)

  ## Support & Community

  - **Issues**: [GitHub Issues](https://github.com/parallel-web/parallel-n8n-nodes/issues)
  - **Documentation**: [docs.parallel.ai](https://docs.parallel.ai/)
  - **Platform**: [platform.parallel.ai](https://platform.parallel.ai/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Parallel node enables AI-powered web research in n8n workflows, offering intelligent data extraction, competitive analysis, lead enrichment, and real-time web search with source citations and confidence scores.","capabilities":["Sync Web Enrichment for immediate company, competitive, and market intelligence","Async Web Enrichment for long-running, deep research tasks with up to 30-minute execution","Web Search with AI-powered natural language processing and domain filtering","Web Chat for real-time, web-informed AI responses with fact-checking","Task completion triggers via webhook for automatic workflow activation upon async task finish","Flexible output formats including text, JSON, and auto-structured AI-optimized JSON","Source policy control to include or exclude trusted/unreliable domains"],"authentication":"API key required; generated via platform.parallel.ai, added as 'Parallel API' credential in n8n with a webhook secret for secure task completion notifications","commonUseCases":["Enriching company profiles with contact and financial data","Conducting competitive analysis on product features and pricing","Performing market intelligence research on industry trends","Running AI-powered web searches with structured results and citations","Automating research workflows with async tasks and real-time completion triggers"],"limitations":[],"relatedNodes":["HTTP Request","Set","Code","Email","Webhook Trigger"]}


node_type: n8n-nodes-magnetite.magnetite
package_name: n8n-nodes-magnetite
display_name: Magnetite
description: Generate AI-powered lead magnets with Magnetite
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: magnetite
author_github_url: https://github.com/MagnetiteAI/
npm_package_name: n8n-nodes-magnetite
npm_version: 1.0.3
community_fetched_at: 2026-01-07T20:08:16.082Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "leadMagnet",
      "options": [
        {
          "name": "Lead Magnet",
          "value": "leadMagnet"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate a lead magnet",
          "description": "Generate a personalized lead magnet"
        },
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get lead magnet status",
          "description": "Retrieve the status of a lead magnet generation job"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "leadMagnet"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate a lead magnet",
      "description": "Generate a personalized lead magnet"
    },
    {
      "name": "Get Status",
      "value": "getStatus",
      "action": "Get lead magnet status",
      "description": "Retrieve the status of a lead magnet generation job"
    }
  ]

npm_readme:
  # n8n-nodes-magnetite

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

  This is an n8n community node for [Magnetite](https://magnetite.ai). It lets you generate AI-powered, personalized lead magnets directly in your n8n workflows.

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

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

  ## 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-magnetite` in **Enter npm package name**.
  4. Agree to 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 in your workflows.

  ## Operations

  ### Lead Magnet

  - **Generate**: Create a personalized lead magnet for a lead
  - **Get Status**: Retrieve the status of a lead magnet generation job

  ## Credentials

  This node requires a Magnetite API key. You can obtain this from your Magnetite dashboard:

  1. Log in to your [Magnetite dashboard](https://app.magnetite.ai)
  2. Go to **Project Settings** → **API & Integrations**
  3. Copy your API key

  Configure the credentials in n8n:
  - **API Key**: Your Magnetite API key
  - **Base URL**: `https://app.magnetite.ai` (default)

  ## Compatibility

  - Minimum n8n version: 0.198.0
  - Tested up to n8n version: 1.98.1

  ## Usage

  ### Basic Lead Magnet Generation

  1. Add the **Magnetite** node to your workflow
  2. Set **Operation** to **Generate**
  3. Configure the required fields:
     - **Project ID**: Your Magnetite project ID
     - **Email**: Lead's email address
  4. Optionally add lead information:
     - Full Name, Company, Domain, Industry, etc.
  5. Add custom fields as JSON if your project requires them

  ### Checking Generation Status

  1. Use the **Get Status** operation
  2. Provide the **Job ID** from a previous generation request
  3. The node returns the current status and results when complete

  ### Example Workflow

  ```json
  {
    "nodes": [
      {
        "name": "Magnetite",
        "type": "n8n-nodes-magnetite.magnetite",
        "parameters": {
          "operation": "generate",
          "projectId": "proj_abc123",
          "email": "{{$json.email}}",
          "leadData": {
            "fullName": "{{$json.name}}",
            "company": "{{$json.company}}"
          }
        }
      }
    ]
  }
  ```

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Magnetite documentation](https://help.magnetite.ai)
  - [Magnetite API documentation](https://help.magnetite.ai)

  ## Version history

  ### 1.0.2
  - Fixed credential test endpoint
  - Improved connection reliability

  ### 1.0.1
  - Updated GitHub repository URL
  - Documentation improvements

  ### 1.0.0
  - Initial release
  - Generate lead magnets
  - Check generation status
  - Support for all standard lead fields
  - Custom fields support via JSON
  - Webhook notifications support

  ## License

  [MIT](https://github.com/MagnetiteAI/n8n-nodes-magnetite/blob/main/LICENSE)

ai_documentation_summary:
  {"purpose":"The Magnetite node enables AI-powered lead magnet generation within n8n workflows, allowing automation of personalized lead magnets based on lead data such as email, name, company, and industry.","capabilities":["Generate personalized lead magnets using lead data","Retrieve the status of a lead magnet generation job","Support for standard lead fields (e.g., full name, company, domain, industry)","Custom field support via JSON input","Webhook notifications for generation status updates"],"authentication":"API key required; obtain from Magnetite dashboard under Project Settings → API & Integrations","commonUseCases":["Automatically generating personalized lead magnets for new leads in a CRM or email system","Tracking the status of lead magnet generation jobs in real time","Integrating with marketing automation workflows to deliver tailored content"],"limitations":[],"relatedNodes":["n8n-nodes-base.email","n8n-nodes-base.database","n8n-nodes-base.webhook"]}


node_type: n8n-nodes-tazzoai.tazzoAi
package_name: n8n-nodes-tazzoai
display_name: Tazzo.ai
description: Trigger a call via Tazzo.ai voice agent
category: Community
development_style: declarative
version: 1
operations:
  [
  {
  "name": "Trigger",
  "value": "trigger",
  "action": "Start a call"
  }
  ]

credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: np_tazzo
author_github_url: https://github.com/TazzoAI/
npm_package_name: n8n-nodes-tazzoai
npm_version: 0.2.1
community_fetched_at: 2026-01-07T20:08:16.083Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "call",
      "options": [
        {
          "name": "Call",
          "value": "call"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "trigger",
      "options": [
        {
          "name": "Trigger",
          "value": "trigger",
          "action": "Start a call"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

npm_readme:
  # n8n-nodes-tazzoai

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

  Tazzo.ai is a voice agent platform that enables automated outbound voice calls with AI-powered conversational agents.

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

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

  ## Installation

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

  Or install directly via npm:

  ```bash
  npm install n8n-nodes-tazzoai
  ```

  Or via the n8n UI:
  * Go to **Settings > Community Nodes**
  * Click **Install a Community Node**
  * Enter: `n8n-nodes-tazzoai`

  ## Operations

  * **Trigger Outbound Call** - Initiate outbound voice calls using Tazzo.ai's voice agents

  ## Credentials

  Before using the node, set up your Tazzo.ai login credentials:

  * Go to **Credentials > Create New**
  * Select: **Tazzo.ai API**
  * Fill in:
     * **Email** – your Tazzo.ai account email
     * **Password** – your Tazzo.ai account password
  * Click **Save**


  ## Usage

  ### Using the Node in a Workflow

  * Drag the **Tazzo.ai** node into your workflow
  * Select the credentials you just created
  * Provide the required input parameters:
     * **Agent ID** – ID of the agent who will make the call
     * **Contact Number** – the phone number to be dialed
  * (Optional) Connect it with a trigger node like Webhook or Schedule
  * Run the workflow

  ✅ This will trigger an outbound voice call via the Tazzo.ai platform.

  ### Sample Output

  ```json
  [
    {
      "message": "Call originated successfully",
      "data": {
        "channelId": "12345678-abcd-efgh-ijkl-9876543210ab",
        "callType": "Outbound",
        "outboundNumber": "9988776655",
        "extension": "1122334455",
        "agentId": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
        "campaignBody": {
          "contactNumber": "9988776655",
          "agentId": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
          "originateEndpoint": "1122334455"
        }
      }
    }
  ]
  ```

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Source Code](https://github.com/TazzoAI/n8n-nodes-tazzoai)
  * [npm Package](https://www.npmjs.com/package/n8n-nodes-tazzoai)

  **Maintainer**: Legitbytes  
  **License**: MIT © 2025 Legitbytes

ai_documentation_summary:
  {"purpose":"The Tazzo.ai node enables triggering outbound voice calls using AI-powered voice agents from Tazzo.ai within n8n workflows.","capabilities":["Initiate outbound voice calls with AI conversational agents","Supports custom agent and contact number inputs","Returns call status and metadata such as channel ID, call type, and contact details"],"authentication":"API key or login credentials (email and password) required via the Tazzo.ai API credential type","commonUseCases":["Automated customer outreach via voice calls","Lead follow-up with AI-driven conversational agents","Campaign-based outbound calling workflows"],"limitations":[],"relatedNodes":["Webhook","Schedule"]}


node_type: n8n-nodes-emailvalidation.emailValidation
package_name: n8n-nodes-emailvalidation
display_name: EmailValidation
description: Validate email addresses via emailvalidation.io API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: everapi-user
author_github_url: https://github.com/everapihq/
npm_package_name: n8n-nodes-emailvalidation
npm_version: 0.1.2
community_fetched_at: 2026-01-07T20:08:16.083Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "validateEmail",
      "options": [
        {
          "name": "Validate Email",
          "value": "validateEmail",
          "action": "Validate email address",
          "routing": {
            "request": {
              "qs": {
                "email": "={{$parameter[\"email\"]}}",
                "catch_all": "={{$parameter[\"catchAll\"] ? 1 : undefined}}"
              },
              "url": "/info",
              "method": "GET"
            }
          },
          "description": "Retrieve information about an email address"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Validate Email",
      "value": "validateEmail",
      "action": "Validate email address",
      "routing": {
        "request": {
          "qs": {
            "email": "={{$parameter[\"email\"]}}",
            "catch_all": "={{$parameter[\"catchAll\"] ? 1 : undefined}}"
          },
          "url": "/info",
          "method": "GET"
        }
      },
      "description": "Retrieve information about an email address"
    }
  ]

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

  # n8n-nodes-emailvalidation

  This package provides the EmailValidation community node for [n8n](https://n8n.io). It integrates the [emailvalidation.io API](https://emailvalidation.io) to validate and verify email addresses.

  To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).

  If you would like your node to be available on n8n cloud you can also [submit your node for verification](https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/).

  ## Prerequisites

  You need the following installed on your development machine:

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

  ## Using this starter

  These are the basic steps for working with the starter. For detailed guidance on creating and publishing nodes, refer to the [documentation](https://docs.n8n.io/integrations/creating-nodes/).

  1. [Generate a new repository](https://github.com/n8n-io/n8n-nodes-starter/generate) from this template repository.
  2. Clone your new repo:
     ```
     git clone https://github.com/<your organization>/<your-repo-name>.git
     ```
  3. Run `npm i` to install dependencies.
  4. Open the project in your editor.
  5. Browse the examples in `/nodes` and `/credentials`. Modify the examples, or replace them with your own nodes.
  6. Update the `package.json` to match your details.
  7. Run `npm run lint` to check for errors or `npm run lintfix` to automatically fix errors when possible.
  8. Test your node locally. Refer to [Run your node locally](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for guidance.
  9. Replace this README with documentation for your node. Use the [README_TEMPLATE](README_TEMPLATE.md) to get started.
  10. Update the LICENSE file to use your details.
  11. [Publish](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) your package to npm.

  ## More information

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

  ## EmailValidation Node

  Validate and verify email addresses using the `emailvalidation.io` API.

  ### Credentials

  - Create credentials of type `EmailValidation API`.
  - Fields:
    - API Key (stored securely)
    - Base URL: defaults to `https://api.emailvalidation.io/v1`

  Authentication is sent via query parameter `apikey` (the API also supports header-based auth). See docs: [`https://emailvalidation.io/docs/`](https://emailvalidation.io/docs/).

  ### Operation

  - Validate Email
    - Email (required) — the email address to validate
    - Catch All (optional) — when enabled, sets `catch_all=1` to perform catch-all detection (paid plans)

  Per endpoint docs: [`https://emailvalidation.io/docs/info`](https://emailvalidation.io/docs/info)

  The node performs a `GET /v1/info` with `email`, optional `catch_all`, and `apikey` query parameters. Example request:

  ```bash
  curl -G "https://api.emailvalidation.io/v1/info" \
    --data-urlencode "email=support@emailvalidation.io" \
    --data-urlencode "apikey=YOUR-API-KEY"
  ```

  ### Example Output

  ```json
  {
    "email": "[email protected]",
    "user": "support",
    "tag": "",
    "domain": "emailvalidation.io",
    "smtp_check": true,
    "mx_found": true,
    "did_you_mean": "",
    "role": true,
    "disposable": false,
    "score": 0.64,
    "state": "deliverable",
    "reason": "valid_mailbox",
    "free": false,
    "format_valid": true,
    "catch_all": null
  }
  ```

  See documentation for field meanings and state/reason descriptions: [`https://emailvalidation.io/docs/info`](https://emailvalidation.io/docs/info)

  ## License

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

ai_documentation_summary:
  {"purpose":"Validates and verifies email addresses using the emailvalidation.io API, providing detailed information about the email's deliverability, format, and domain status.","capabilities":["Validate email addresses","Perform catch-all detection (optional)","Check domain deliverability (SMTP, MX records)","Determine if email is disposable or role-based","Return a score and validation state (e.g., deliverable, invalid)"],"authentication":"API key required; sent via query parameter `apikey` (also supports header-based auth as per emailvalidation.io docs)","commonUseCases":["Cleaning and validating user input emails in forms or sign-up workflows","Preventing invalid or disposable email submissions","Ensuring deliverability before sending marketing or transactional emails","Automated email quality checks in onboarding or data ingestion processes"],"limitations":["Catch-all detection is only available on paid plans","No support for bulk email validation in the current implementation","Relies on external API which may have rate limits or downtime"],"relatedNodes":["Email Sender","Data Cleaning","Validation Nodes","SMTP Integration"]}


node_type: n8n-nodes-crossmint.crossmintWallets
package_name: n8n-nodes-crossmint
display_name: Crossmint Wallets
description: Interact with Crossmint Wallet APIs
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: manuxmint
author_github_url: https://github.com/crossmint/
npm_package_name: n8n-nodes-crossmint
npm_version: 1.1.0
community_fetched_at: 2026-01-07T20:08:16.084Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "wallet",
      "options": [
        {
          "name": "Wallet",
          "value": "wallet",
          "description": "Crossmint wallet operations"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getOrCreateWallet",
      "options": [
        {
          "name": "Create Transfer",
          "value": "createTransfer",
          "action": "Create transfer",
          "description": "Create Transfer from Crossmint wallet to any address"
        },
        {
          "name": "Get Balance",
          "value": "getBalance",
          "action": "Get balance",
          "description": "Get balance of any wallet"
        },
        {
          "name": "Get or Create Wallet",
          "value": "getOrCreateWallet",
          "action": "Get or create wallet",
          "description": "Get or Create Crossmint wallet for company or user"
        },
        {
          "name": "Get Wallet",
          "value": "getWallet",
          "action": "Get wallet",
          "description": "Retrieve a wallet by its locator"
        },
        {
          "name": "Sign Transaction",
          "value": "signTransaction",
          "action": "Sign transaction",
          "description": "Sign transaction with private key and submit signature in one step"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "wallet"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Transfer",
      "value": "createTransfer",
      "action": "Create transfer",
      "description": "Create Transfer from Crossmint wallet to any address"
    },
    {
      "name": "Get Balance",
      "value": "getBalance",
      "action": "Get balance",
      "description": "Get balance of any wallet"
    },
    {
      "name": "Get or Create Wallet",
      "value": "getOrCreateWallet",
      "action": "Get or create wallet",
      "description": "Get or Create Crossmint wallet for company or user"
    },
    {
      "name": "Get Wallet",
      "value": "getWallet",
      "action": "Get wallet",
      "description": "Retrieve a wallet by its locator"
    },
    {
      "name": "Sign Transaction",
      "value": "signTransaction",
      "action": "Sign transaction",
      "description": "Sign transaction with private key and submit signature in one step"
    }
  ]

npm_readme:
  # n8n Community Node for Crossmint

  ## Table of Contents

  - [Installation](#-installation-local-development-setup)
  - [Your First Workflow Using Crossmint](#️-your-first-workflow-using-crossmint)
    - [Step 1: Add the Crossmint Node to Your Workflow](#step-1-add-the-crossmint-node-to-your-workflow)
    - [Step 2: Set Up Crossmint Project & Credentials](#step-2-set-up-crossmint-project--credentials)
    - [Getting Test USDC for Staging](#getting-test-usdc-for-staging)
  - [Supported Operations](#-supported-operations)
    - [Resource: Wallet](#resource-wallet)
    - [Resource: Checkout](#resource-checkout)
  - [API Reference](#-api-reference)
    - [Wallet Operations](#wallet-operations)
    - [Checkout Operations](#checkout-operations)
    - [Additional Resources](#additional-resources)
  - [Understanding Wallet Locators](#-understanding-wallet-locators)
    - [Locator Types](#locator-types)
    - [Chain Types](#chain-types)
    - [Best Practices](#best-practices)
  - [Admin Signer Private Key](#-admin-signer-private-key)
  - [Example Workflows](#-example-workflows)
  - [License](#-license)

  This community node for n8n provides a complete integration with Crossmint's **Wallet** and **Checkout** APIs. It allows users and AI agents to program digital money inside wallets, and automate the purchase of physical products all within your n8n workflows.

  ### 🏗️ Recent Updates
  - **Modular Architecture**: Refactored codebase into organized modules for better maintainability
  - **Enhanced Error Handling**: Improved error reporting with proper API error propagation
  - **Development Workflow**: Added `npm run dev` for automatic rebuilds during development
  - **Code Quality**: Fixed all linting issues and added comprehensive type safety

  ## 🚀 Installation (Local Development Setup)


  For now you have to run the Crossmint node from source:

  1.  **Clone the repository:** (anywhere in your disk - doesn't need to be inside the n8n folder)
      ```bash
      git clone https://github.com/Crossmint/n8n-nodes-crossmint.git
      cd n8n-nodes-crossmint
      ```
  2.  **Install dependencies and build:**
      ```bash
      npm install
      npm run build
      ```

      **Development Commands:**
      ```bash
      sudo npm run dev          # Run in development mode with auto-reload
      ```


  > **📝 Note**: You must use the self-hosted version of n8n to run Crossmint nodes. Follow [this guide](https://docs.n8n.io/integrations/creating-nodes/build/n8n-node/) to set it up.


  ## ⚙️ Your First Workflow Using Crossmint

  Once you've installed the community node, here's how to add and configure your first Crossmint node:

  ### Step 1: Add the Crossmint Node to Your Workflow

  1. In your n8n workflow editor, click the **"+"** button to add a new node
  2. Search for **"Crossmint"** in the node library
  3. Select the **Crossmint** node from the results

  <div align="center">
  <img src="./images/crossmint-search.png" alt="Crossmint node search" width="50%">
  </div>


  4. For this example, we'll use **"Get or Create Wallet"** operation:

  <div align="center">
  <img src="./images/crossmint-config.png" alt="Crossmint node configuration" width="50%">
  </div>


  ### Step 2: Set Up Crossmint Project & Credentials

  5. First, create a Crossmint project in Staging:
     - Go to [Crossmint Staging Console](https://staging.crossmint.com/console/overview)
     - Create a new project or select an existing one
     - Copy your **server-side API key** from the project settings

  <div align="center">
  <img src="./images/crossmint-staging-console.png" alt="Crossmint staging console" width="75%">
  </div>


  6. Back in n8n, in your Crossmint node, click on **"Credential to connect with"** dropdown
  7. Select **"Create New"** to add your Crossmint credentials (this will be available for all future Crossmint nodes)

  8. In the credential configuration:
     - Enter your Crossmint **API Key** (must be a **server-side** API key)
     - Set **Environment** to **"Staging"** for testing
     - Click **"Save"**

  <div align="center">
  <img src="./images/credential-form.png" alt="Crossmint API credential form" width="75%">
  </div>


  9. Complete the wallet configuration (e.g., set Owner Type to "Email" and enter an email address)

  <div align="center">
  <img src="./images/completed-config.png" alt="Completed node configuration" width="50%">
  </div>


  > **⚠️ Important**: Always use **server-side API keys** from Crossmint. Client-side keys will not work. For initial testing, always use **Staging** environment.

  ### Getting Test USDC for Staging

  To test transactions in staging, you'll need test USDC tokens. You can get them from:

  - **Circle Faucet**: [https://faucet.circle.com/](https://faucet.circle.com/) - Get free testnet USDC
  - **Crossmint Telegram**: [https://t.me/crossmintdevs](https://t.me/crossmintdevs) - Request USDC from Crossmint

  ## 💡 Supported Operations

  The node is organized into two primary resources: **Wallet** and **Checkout**.

  ### Resource: Wallet
  Operations for managing blockchain wallets which can hold and transfer money (in cryptocurrencies like USDC).

  * **Get or Create Wallet**: Creates a non-custodial smart wallet or retrieves an existing one. You maintain full control via a private key that authorizes all transactions. This operation is idempotent.
    - `Chain Type` - Blockchain type (solana)
    - `Owner Type` - Optional owner identifier type (email, userId, phone, twitter, x, none)
    - `Owner Details` - Specific owner information based on selected type
    - `Admin Signer` - Private key that authorizes all transactions from this wallet ([see Admin Signer Private Key](#🔐-admin-signer-private-key))

  * **Get Wallet**: Retrieves wallet details using its wallet locator (address, email, user ID, etc.).
    - `Wallet` - Wallet identifier (address, email, userId, phone, twitter, x)
    - `Chain Type` - Required for non-address locators (solana)

  * **Create Transfer**: Sends tokens (like USDC) between wallets. Requires the wallet's private key to digitally sign and authorize the transfer.
    - `Blockchain Type` - Network type for both wallets (solana)
    - `Origin Wallet` - Source wallet for the transfer
    - `Recipient Wallet` - Destination wallet for the transfer
    - `Token Chain` - Specific blockchain network (e.g., solana, solana-devnet)
    - `Token Name` - Token symbol or identifier (e.g., usdc)
    - `Amount` - Token amount to transfer

  * **Get Balance**: Checks token balances for a wallet across one or more blockchain networks.
    - `Wallet` - Wallet locator to check balance for (address, email, userId, phone, twitter, x)
    - `Chain Type` - Required for non-address locators (solana)
    - `Chains` - Blockchain network to query (e.g., solana, solana-devnet)
    - `Tokens` - Comma-separated list of token symbols to query

  * **Sign Transaction**: Signs a transaction with a private key and submits the signature to complete pending transactions.
    - `Chain` - Blockchain network for transaction signing
    - `Wallet Address` - Wallet address from Create Transfer response
    - `Transaction ID` - Transaction ID that needs approval
    - `Transaction Data` - Hash or message to sign from transfer response
    - `Signer Address` - Address of the external signer
    - `Signer Private Key` - Private key to sign the transaction
    - `Wait for Completion` - Poll until transaction reaches final status

  ### Resource: Checkout
  Operations to automate the purchase of products using digital money (e.g. tokens like USDC). This is a two-step process.

  * **Create Order**: Creates a purchase order for a product from Amazon or Shopify.
    - `Platform` - E-commerce platform (amazon or shopify)
    - `Product Identifier` - Product URL or ASIN/ID from platform (e.g., Amazon URL or ASIN like B01DFSADS2)
    - `Recipient Email` - Email address for order confirmation
    - `Recipient Name` - Full name for shipping address
    - `Address Line 1` - Primary shipping address
    - `Address Line 2` - Secondary address (optional)
    - `City` - Shipping city
    - `State` - Shipping state/province (optional)
    - `Postal Code` - ZIP/postal code
    - `Country` - Shipping country (Amazon: US only, Shopify: varies by store)
    - `Environment` - Environment to use for payment methods (Staging/Testnet or Production/Mainnet)
    - `Payment Method` - Blockchain network for payment
    - `Payment Currency` - Currency for payment (e.g., usdc)
    - `Payer Address` - Wallet address that will pay for the order

  * **Pay Order**: Executes the payment for a previously created order using the serialized transaction from Create Order.
    - `Serialized Transaction` - Transaction data from Create Order response
    - `Payment Chain` - Blockchain network for payment
    - `Payer Wallet Address` - Wallet address making the payment
    - `Private Key` - Private key to authorize the payment


  ## 📖 API Reference

  For detailed information about each operation, parameters, and response formats, refer to the official Crossmint API documentation:

  ### Wallet Operations
  - **Get or Create Wallet**: [Crossmint Wallets API](https://docs.crossmint.com/api-reference/wallets/create-wallet)
  - **Get Wallet**: [Crossmint Wallets API - Get Wallet](https://docs.crossmint.com/api-reference/wallets/get-wallet-by-locator)
  - **Create Transfer**: [Crossmint Wallets API - Transfer Tokens](https://docs.crossmint.com/api-reference/wallets/transfer-token)
  - **Get Balance**: [Crossmint Wallets API - Get Balance](https://docs.crossmint.com/api-reference/wallets/get-wallet-balance)
  - **Sign Transaction**: [Crossmint Wallets API - Submit Approvals](https://docs.crossmint.com/api-reference/wallets/submit-transaction-approvals)

  ### Checkout Operations
  - **Create Order**: [Crossmint Checkout API - Create Order](https://docs.crossmint.com/api-reference/headless/create-order)
  - **Pay Order**: [Crossmint Checkout API - Submit Transaction](https://docs.crossmint.com/api-reference/wallets/create-transaction)


  ### Additional Resources
  - [Supported Chains and Tokens](https://docs.crossmint.com/introduction/supported-chains#supported-chains)

  ## 🔑 Understanding Wallet Locators

  Wallet locators are a key concept used throughout all Crossmint node operations. They provide a flexible way to identify and reference wallets using different types of identifiers.

  ### Locator Types

  | Type | Format | Example | Use Case |
  |------|--------|---------|----------|
  | **Wallet Address** | `1A1z...` | `1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa` | Direct blockchain address reference |
  | **Email** | `email:{email}:{chainType}:smart` | `email:user@example.com:solana:smart` | User identification by email |
  | **User ID** | `userId:{id}:{chainType}:smart` | `userId:user-123:solana:smart` | Custom user identifier |
  | **Phone Number** | `phoneNumber:{phone}:{chainType}:smart` | `phoneNumber:+1234567890:solana:smart` | SMS-based identification |
  | **Twitter Handle** | `twitter:{handle}:{chainType}:smart` | `twitter:username:solana:smart` | Social media identification |
  | **X Handle** | `x:{handle}:{chainType}:smart` | `x:username:solana:smart` | X (formerly Twitter) identification |


  For more detailed information about wallet locator formats and specifications, see: [Crossmint Wallet Locators Documentation](https://docs.crossmint.com/api-reference/wallets/get-wallet-by-locator)

  ### Chain Types

  - **Solana**: Solana blockchain

  ### Best Practices

  1. **Email locators** are ideal for user-friendly identification
  2. **Wallet addresses** provide direct blockchain access
  3. **User ID locators** work well with existing user management systems
  4. Always specify the correct chain type for non-address locators

  ## 🔐 Admin Signer Private Key

  The **Admin Signer Private Key** is a critical security component that gives you full control over your Crossmint wallet. Understanding how it works is essential for secure wallet management.

  ### What is an Admin Signer?

  The Admin Signer is the private key that acts as the "master key" for your smart wallet. It's used to:
  - **Authorize all transactions** from the wallet
  - **Sign transfer approvals** when moving tokens
  - **Control wallet permissions** and operations

  ### Key Requirements by Blockchain

  **For Solana:**
  - Format: Base58 encoded string
  - Example: `5Kb8kLf9CJtPkDCe4jfE9TjC8d7X9e3Jh4F6h8F2K3h7J9F4K6h8F2K3h7J9F4K6h`
  - Typically 64 bytes when decoded

  ### Generating Private Keys

  You can generate secure private keys using:
  - **Crossmint Generator**: [https://www.val.town/x/Crossmint/crypto-address-generator](https://www.val.town/x/Crossmint/crypto-address-generator)
  - **Phantom Wallet**: Export private key from an existing Solana wallet
  - **Solana CLI**: Generate Solana keypairs
  - **Hardware wallets**: Export or derive keys securely

  ### Security Best Practices

  ⚠️ **Critical Security Guidelines:**

  1. **Never share** your private key with anyone
  2. **Store securely** - use environment variables or secure vaults
  3. **Use different keys** for staging vs production
  4. **Backup safely** - store in multiple secure locations
  5. **Test first** - always test with small amounts on testnet
  6. **Rotate regularly** - consider changing keys periodically

  ### How It Works in Crossmint

  1. **Wallet Creation**: Your private key becomes the admin signer for the smart wallet
  2. **Transaction Flow**:
     - Create transaction → Crossmint generates approval request
     - Sign with private key → Submit signature to complete transaction
  3. **Non-Custodial**: You control the key, you control the wallet

  ## 📁 Example Workflows

  Ready-to-use workflow examples are available in the `workflows-examples/` folder:

  - [buy-celsius.json](workflows-examples/buy-celsius.json): Complete flow demonstrating wallet operations (get wallet, check balance) followed by checkout (create order and pay order).

  <div align="center">
  <img src="./images/buy-celsius.png" alt="Buy Celsius workflow" width="100%">
  </div>

  - [buy-items-amazon.json](workflows-examples/buy-items-amazon.json): Advanced workflow with AI-powered order processing that accepts free-form messages via Chat (can be Telegram), extracts order details using OpenAI, and automatically purchases Amazon products.

  <div align="center">
  <img src="./images/buy-items-from-amazon.png" alt="Buy items from Amazon workflow" width="100%">
  </div>

  To use these examples:
  1. Import the JSON file into your n8n instance
  2. Configure your Crossmint API credentials
  3. Update any personal information (email addresses, wallet addresses, etc.)
  4. Execute the workflow

  ## 📄 License

  MIT

  -----

ai_documentation_summary:
  {"purpose":"The Crossmint Wallets node enables integration with Crossmint's Wallet and Checkout APIs, allowing users to create, manage, and interact with blockchain wallets (e.g., holding USDC) and automate digital transactions within n8n workflows.","capabilities":["Create or retrieve a wallet using a wallet locator","Manage wallet details via owner type (email, user ID, phone, etc.)","Support for Solana blockchain","Initiate checkout operations for purchasing physical products","Use of server-side API keys for authentication","Support for staging environment with test USDC tokens"],"authentication":"Server-side API key required; must be used with the Staging environment for testing","commonUseCases":["Automating the creation of digital wallets for users via email or user ID","Testing cryptocurrency transactions using test USDC from Circle or Crossmint Telegram","Integrating wallet management into customer onboarding workflows","Automating product purchases using wallet-based checkout flows"],"limitations":["Must be used with self-hosted n8n; not available in n8n cloud","Only supports Solana chain currently","Client-side API keys are not supported; only server-side keys work","Requires manual setup of credentials and admin signer private key","Test USDC must be manually obtained via faucet or Telegram request"],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-database"]}


node_type: n8n-nodes-contextualai.contextualAi
package_name: n8n-nodes-contextualai
display_name: Contextual AI
description: Access Contextual AI tools for agents, parsing, querying, and reranking.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:16
author_name: jinash_rouniyar1
author_github_url: https://github.com/ContextualAI/
npm_package_name: n8n-nodes-contextualai
npm_version: 0.1.9
community_fetched_at: 2026-01-07T20:08:16.089Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Agent",
      "options": [
        {
          "name": "Agent",
          "value": "Agent"
        },
        {
          "name": "Datastore",
          "value": "Datastore"
        },
        {
          "name": "Query",
          "value": "Query"
        },
        {
          "name": "Reranker",
          "value": "Reranker"
        },
        {
          "name": "LMUnit",
          "value": "LMUnit"
        },
        {
          "name": "Parser",
          "value": "Parser"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Agent",
      "options": [
        {
          "name": "Create Agent",
          "value": "Create Agent",
          "action": "Create Agent",
          "description": "Create agent, datastore, and upload documents"
        },
        {
          "name": "List Agents",
          "value": "List Agents",
          "action": "List Agents",
          "description": "Retrieve a list of all agents"
        },
        {
          "name": "Delete Agent",
          "value": "Delete Agent",
          "action": "Delete Agent",
          "description": "Delete a given agent (irreversible operation)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Parse Document",
      "options": [
        {
          "name": "Parse Document",
          "value": "Parse Document",
          "action": "Parse Document",
          "description": "Parse a document using Contextual AI parser"
        },
        {
          "name": "Parse Status",
          "value": "Parse Status",
          "action": "Parse Status",
          "description": "Get the status of a parse job"
        },
        {
          "name": "Parse Result",
          "value": "Parse Result",
          "action": "Parse Result",
          "description": "Get the results of a parse job"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Parser"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Query agent",
      "options": [
        {
          "name": "Query agent",
          "value": "Query agent",
          "action": "Query agent",
          "description": "Query a Contextual AI agent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Query"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Rerank documents",
      "options": [
        {
          "name": "Rerank documents",
          "value": "Rerank documents",
          "action": "Rerank documents",
          "description": "Rerank documents against a query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Reranker"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Run LMUnit",
      "options": [
        {
          "name": "Run LMUnit",
          "value": "Run LMUnit",
          "action": "Run LMUnit",
          "description": "Evaluate a response with LMUnit"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "LMUnit"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Datastore",
      "options": [
        {
          "name": "Create Datastore",
          "value": "Create Datastore",
          "action": "Create Datastore",
          "description": "Create a new datastore"
        },
        {
          "name": "Ingest Document",
          "value": "Ingest Document",
          "action": "Ingest Document",
          "description": "Ingest a document into a datastore"
        },
        {
          "name": "Get Document Metadata",
          "value": "Get Document Metadata",
          "action": "Get Document Metadata",
          "description": "Get metadata and processing status for a document"
        },
        {
          "name": "List Datastores",
          "value": "List Datastores",
          "action": "List Datastores",
          "description": "Retrieve a list of all datastores"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Datastore"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Agent",
      "value": "Create Agent",
      "action": "Create Agent",
      "description": "Create agent, datastore, and upload documents"
    },
    {
      "name": "List Agents",
      "value": "List Agents",
      "action": "List Agents",
      "description": "Retrieve a list of all agents"
    },
    {
      "name": "Delete Agent",
      "value": "Delete Agent",
      "action": "Delete Agent",
      "description": "Delete a given agent (irreversible operation)"
    },
    {
      "name": "Parse Document",
      "value": "Parse Document",
      "action": "Parse Document",
      "description": "Parse a document using Contextual AI parser"
    },
    {
      "name": "Parse Status",
      "value": "Parse Status",
      "action": "Parse Status",
      "description": "Get the status of a parse job"
    },
    {
      "name": "Parse Result",
      "value": "Parse Result",
      "action": "Parse Result",
      "description": "Get the results of a parse job"
    },
    {
      "name": "Query agent",
      "value": "Query agent",
      "action": "Query agent",
      "description": "Query a Contextual AI agent"
    },
    {
      "name": "Rerank documents",
      "value": "Rerank documents",
      "action": "Rerank documents",
      "description": "Rerank documents against a query"
    },
    {
      "name": "Run LMUnit",
      "value": "Run LMUnit",
      "action": "Run LMUnit",
      "description": "Evaluate a response with LMUnit"
    },
    {
      "name": "Create Datastore",
      "value": "Create Datastore",
      "action": "Create Datastore",
      "description": "Create a new datastore"
    },
    {
      "name": "Ingest Document",
      "value": "Ingest Document",
      "action": "Ingest Document",
      "description": "Ingest a document into a datastore"
    },
    {
      "name": "Get Document Metadata",
      "value": "Get Document Metadata",
      "action": "Get Document Metadata",
      "description": "Get metadata and processing status for a document"
    },
    {
      "name": "List Datastores",
      "value": "List Datastores",
      "action": "List Datastores",
      "description": "Retrieve a list of all datastores"
    }
  ]

npm_readme:
  # n8n-nodes-contextualai

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

  Contextual AI provides enterprise-grade RAG (Retrieval-Augmented Generation) agents, advanced document parsing, intelligent querying, and document reranking capabilities for building sophisticated AI-powered applications.

  [Contextual AI](https://contextual.ai) is a platform for building enterprise-grade AI applications with advanced RAG capabilities, while [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  ## Table of contents

  - [Installation on self hosted instance](#installation-self-hosted)
  - [Installation on n8n cloud](#installation-n8n-cloud)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Resources](#resources)
  - [Troubleshooting](#troubleshooting)  

  ## Installation (self-hosted)

  To install the Contextual AI community node directly from the n8n Editor UI:

  1. Open your n8n instance.
  2. Go to **Settings > Community Nodes**
  3. Select **Install**.
  4. Enter the npm package name: `n8n-nodes-contextualai` to install the latest version.
  5. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/risks/) of using community nodes and select **Install**
  6. The node is now available to use in your workflows.

  ## Installation (n8n Cloud)

  If you're using n8n Cloud, installing community nodes is even simpler:

  1. Go to the **Canvas** and open the **nodes panel**.
  2. Search for **Contextual AI** in the community node registry.
  3. Click **Install node** to add the Contextual AI node to your instance.

  > On n8n cloud users can choose not to show verified community nodes. Instance owners can toggle this in the Cloud Admin Panel. To install the Contextual AI node, make sure the installation of verified community nodes is enabled.


  ## Operations

  This node supports a comprehensive range of Contextual AI operations, organized by resource type:

  ### Agent
  - **Create agent**: Create a new Contextual AI RAG agent with datastore and upload documents
    - Configure agent name, description, and datastore settings
    - Upload multiple documents via binary data
    - Support for various document formats (PDF, DOC/DOCX, PPT/PPTX)
    - Automatic document processing and indexing
  - **List agents**: Retrieve a list of all agents in your Contextual AI account
    - View agent details and metadata
    - Check agent status and configuration
  - **Delete agent**: Remove an agent from your Contextual AI account
    - Permanent deletion of agent and associated data
    - Requires agent ID for confirmation

  ### Datastore
  - **Create datastore**: Create a new datastore for document storage
    - Configure datastore name and settings
    - Set up document storage and indexing
  - **Ingest document**: Upload and process documents into a datastore
    - Support for multiple document formats (PDF, DOC/DOCX, PPT/PPTX, HTML)
    - Optional metadata attachment
    - Batch processing capabilities
  - **Get document metadata**: Retrieve metadata for a specific document
    - Document information and processing status
    - Metadata and indexing details
  - **List datastores**: Retrieve a list of all datastores in your account
    - View datastore details and configuration
    - Check datastore status and document counts

  ### Query
  - **Query agent**: Query existing Contextual AI agents with intelligent retrieval
    - Natural language querying capabilities
    - Optional retrieval-only mode
    - Document readiness checking
    - Contextual response generation
    - Retrieval content inclusion

  ### Parser  
  - **Parse document**: Parse documents using Contextual AI's advanced document parser
    - Support for PDF, DOC/DOCX, PPT/PPTX files
    - Configurable parsing modes (standard)
    - Figure caption extraction (concise/detailed)
    - Document hierarchy preservation
    - Page range selection
    - Returns job ID for status monitoring
  - **Parse status**: Check the status of a document parsing job
    - Monitor parsing progress
    - Retrieve parsed results when completed
    - Track job status and file information
  - **Parse result**: Get the results of a completed parse job
    - Retrieve parsed content in multiple formats (markdown-document, markdown-per-page, blocks-per-page)
    - Access document metadata and hierarchy information
    - Get structured content blocks with confidence levels and bounding boxes

  ### Reranker
  - **Rerank documents**: Rank documents according to their relevance to a query
    - Instruction-following reranker technology
    - Custom instruction support
    - Metadata integration
    - Relevance scoring and ranking

  ### LMUnit
  - **Run LMUnit**: Evaluate model responses using Contextual AI's scoring system
    - Automated response evaluation
    - Custom unit test criteria
    - Scoring from 1-5 scale
    - Quality assessment and validation

  ### AI Tools Integration

  All Contextual AI node operations can be combined with n8n's AI tools to create powerful workflows.
  For example, you can ingest documents into a datastore, create an agent from that information, and then query over the documents for grounded responses and citations.

  ## Credentials

  This node requires a Contextual AI API key for authentication.

  ### Prerequisites
  - Sign up for a free trial of Contextual AI account at [app.contextual.ai](https://app.contextual.ai)
  - Obtain your API key from the Contextual AI dashboard

  ### Setup
  1. In n8n, go to **Credentials**
  2. Add a new **"Contextual AI API"** credential
  3. Enter your API key in the **API Key** field
  4. Optionally add a **Name** for easy identification
  5. Click **Save** to store the credential

  ### Authentication Methods

  The node supports API key authentication:
  - **API Key**: Configure your Contextual AI API key in the n8n credentials section under `ContextualAiApi`
  - **Security**: API keys are securely stored and encrypted in n8n's credential system

  ## Compatibility

  This node has been tested with n8n version 1.57.0 and is compatible with:

  - **n8n version**: 1.0.0 or later
  - **Node.js version**: 20.15 or later
  - **Contextual AI API**: Latest version

  ## Usage

  ### Getting Started

  1. **Set up credentials**: Configure your Contextual AI API key in n8n credentials
  2. **Create a workflow**: Start a new workflow in n8n
  3. **Add the Contextual AI node**: Insert the Contextual AI node into your workflow
  4. **Select an operation**: Choose the desired operation for your use case
  5. **Execute the workflow**: Run the workflow to perform the Contextual AI operation

  ### Creating an Agent with Documents

  1. Add the Contextual AI node to your workflow
  2. Select **"Agent"** as the resource and **"Create agent"** as the operation
  3. Configure your agent settings:
     - **Agent Name**: Give your agent a descriptive name
     - **Description**: Provide a brief description of the agent's purpose
     - **Datastore Name**: Specify the datastore name for document storage
  4. Provide documents via binary data (supports multiple files)
  5. Configure document processing options if needed
  6. Execute to create the agent and upload documents

  ### Datastore Management

  1. **Create a datastore**:
     - Select **"Datastore"** as the resource and **"Create datastore"** as the operation
     - Enter a datastore name
     - Execute to create the datastore and receive the datastore ID

  2. **Upload documents**:
     - Select **"Ingest document"** as the operation
     - Provide the datastore ID and document files via binary data
     - Optionally add metadata as JSON
     - Execute to upload and process documents

  3. **Using data connectors (Optional)**:
     > **Note**: To use source connectors for your datastore, you need to configure them in the [Contextual AI platform](https://app.contextual.ai) first, then use that datastore in your n8n workflow.
     
     - **Step 1**: Configure connectors in the [Contextual AI platform](https://app.contextual.ai)
       - Go to Datastores → Create → Select "Third-Party Connection"
       - Choose your data source (Google Drive, SharePoint)
       - Authorize and select specific folders to sync
       - Wait for initial sync to complete (status shows "Synced" with green checkmark)
     - **Step 2**: Use the connector datastore in your n8n workflow
       - Copy the datastore ID from the platform
       - Use this ID when creating agents or querying in n8n
       - The datastore will automatically stay in sync with your source data
     - **Benefits**: No manual document uploads, automatic permissions enforcement, real-time data updates

  4. **Manage documents**:
     - Use **"List datastores"** to view all datastores
     - Use **"Get document metadata"** to retrieve specific document information

  ### Querying an Agent

  1. Select **"Query"** as the resource and **"Query agent"** as the operation
  2. Enter the **Agent ID** and your **Query**
  3. Configure query options:
     - Enable **retrieval-only mode** for document search without generation
     - Include **retrieval content text** for context
     - Set **document readiness** checking
  4. Execute to get the agent's response

  ### Document Reranking

  1. Select **"Reranker"** as the resource and **"Rerank documents"** as the operation
  2. Provide a **Query** and **comma-separated list of documents**
  3. Configure reranking options:
     - Add **custom instructions** for ranking criteria
     - Include **metadata** for enhanced ranking
  4. Execute to get ranked results with relevance scores

  ### Response Evaluation

  1. Select **"LMUnit"** as the resource and **"Run LMUnit"** as the operation
  2. Provide the required inputs:
     - **Original Query**: The question that was asked
     - **Model Response**: The response to evaluate
     - **Unit Test Criteria**: The criteria for evaluation
  3. Execute to get a score from 1-5 on the unit test

  ### Document Parsing

  1. Select **"Parser"** as the resource and **"Parse document"** as the operation
  2. Provide a document file via binary data
  3. Configure parsing options:
     - **Parse Mode**: Choose parsing mode (standard)
     - **Figure Caption Mode**: Choose caption extraction (concise/detailed)
     - **Enable Document Hierarchy**: Preserve document structure
     - **Page Range**: Specify pages to parse (e.g., "0-5")
  4. Execute to submit the parse job and receive a job ID
  5. Use **"Parse status"** operation with the job ID to monitor progress and retrieve results


  ### Advanced Workflow Examples

  - **Document Processing Pipeline**: Parse documents → Create datastore → Ingest documents → Create agent → Query agent
  - **Quality Assurance**: Query agent → Evaluate response with LMUnit
  - **Content Optimization**: Rerank documents → Parse top results → Create refined agent
  - **Batch Document Processing**: List datastores → Ingest multiple documents → Monitor processing status
  - **Agent Management**: List agents → Delete unused agents → Create new agents with updated documents

  ## Resources

  * [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Contextual AI Documentation](https://docs.contextual.ai)
  * [Contextual AI API Reference](https://docs.contextual.ai/api-reference)

  ## Troubleshooting

  ### Common issues

  1. **Authentication errors**
     - Verify your API key is correct and active
     - Check if your Contextual AI account has sufficient permissions
     - Ensure the API key hasn't expired

  2. **Agent Not Found**
     - Verify the agent ID format is correct
     - Check if the agent exists in your Contextual AI account
     - Ensure you have access to the agent

  3. **Document parsing failures**
     - Verify the document format is supported (PDF, DOC/DOCX, PPT/PPTX)
     - Check file size limits
     - Ensure the document isn't corrupted or password-protected

  4. **Query operation failures**
     - Verify the agent ID is correct
     - Check if the agent is ready (documents processed)
     - Review query format and parameters

  5. **Reranking errors**
     - Ensure documents are provided in the correct format
     - Check query and document content validity
     - Verify custom instructions are properly formatted

  6. **Parse job failures**
     - Verify the job ID format is correct (should be a UUID)
     - Check if the parse job exists and hasn't expired
     - Ensure the original document was valid and supported

  7. **Datastore operation failures**
     - Verify datastore ID format is correct (should be a UUID)
     - Check if the datastore exists in your account
     - Ensure you have proper permissions for the datastore

  ### Getting help

  If you encounter issues:
  1. Check the [Contextual AI API documentation](https://docs.contextual.ai/api-reference)
  2. Review the [n8n Community Nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  3. Open an issue in the [GitHub repository](https://github.com/contextual-ai/n8n-nodes-contextualai)

ai_documentation_summary:
  {"purpose":"The Contextual AI node enables integration with Contextual AI's enterprise-grade AI tools, allowing users to build AI-powered workflows with capabilities such as document parsing, intelligent querying, agent creation, document reranking, and response evaluation using RAG and advanced NLP features.","capabilities":["Create and manage RAG agents with document ingestion and indexing","Upload and process documents in multiple formats (PDF, DOC/DOCX, PPT/PPTX, HTML)","Query agents with natural language input and retrieval capabilities","Parse documents with configurable options and extract structured content","Monitor parsing job status and retrieve parsed results","Rerank documents based on query relevance using instruction-following models","Evaluate model responses using LMUnit with custom scoring criteria","Access document metadata and hierarchical structure","Integrate with n8n's AI tools for end-to-end AI workflows"],"authentication":"API key required; configure via 'Contextual AI API' credential in n8n with API key from Contextual AI dashboard","commonUseCases":["Building document-based RAG agents for enterprise knowledge bases","Automating document ingestion and parsing for content processing","Creating intelligent query systems with retrieval and citation support","Evaluating AI-generated responses using automated scoring","Reranking search results for improved relevance in AI applications"],"limitations":[],"relatedNodes":["n8n AI Tools","Document Processing Nodes","RAG Agents","Query Nodes","Data Storage Nodes"]}


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

updated_at: 2026-01-07 20:08:16
author_name: gmrchk
author_github_url: https://github.com/elevenlabs/elevenlabs-n8n.git
npm_package_name: @elevenlabs/n8n-nodes-elevenlabs
npm_version: 0.2.2
community_fetched_at: 2026-01-07T20:08:16.090Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "voice",
      "options": [
        {
          "name": "Voice",
          "value": "voice"
        },
        {
          "name": "Speech",
          "value": "speech"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a voice",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "enabled": "={{$parameter[\"simplify\"]}}",
                  "properties": {
                    "name": "={{$responseItem.name}}",
                    "labels": "={{$responseItem.labels}}",
                    "category": "={{$responseItem.category}}",
                    "voice_id": "={{$responseItem.voice_id}}",
                    "description": "={{$responseItem.description}}",
                    "preview_url": "={{$responseItem.preview_url}}"
                  }
                }
              ]
            },
            "request": {
              "url": "={{\"/voices/\"  + $parameter[\"voice\"] }}",
              "method": "GET"
            }
          },
          "description": "Returns metadata about a specific voice"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many voices",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "voices"
                  }
                },
                {
                  "type": "setKeyValue",
                  "enabled": "={{$parameter[\"simplify\"]}}",
                  "properties": {
                    "name": "={{$responseItem.name}}",
                    "labels": "={{$responseItem.labels}}",
                    "category": "={{$responseItem.category}}",
                    "voice_id": "={{$responseItem.voice_id}}",
                    "description": "={{$responseItem.description}}",
                    "preview_url": "={{$responseItem.preview_url}}"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page_size": "={{$parameter[\"limit\"]}}"
              },
              "url": "/voices",
              "method": "GET"
            }
          },
          "description": "Returns metadata about all voices"
        },
        {
          "name": "Create Clone",
          "value": "createClone",
          "action": "Create a voice clone",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/voices/add",
              "method": "POST",
              "headers": {
                "Content-Type": "multipart/form-data"
              },
              "returnFullResponse": true
            }
          },
          "description": "Create a voice clone from audio files"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a voice",
          "routing": {
            "request": {
              "url": "={{\"/voices/\" + $parameter[\"voice\"]}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a specific voice"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "voice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "textToSpeech",
      "options": [
        {
          "name": "Text to Speech",
          "value": "textToSpeech",
          "action": "Convert text to speech",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/text-to-speech/\"+$parameter[\"voice\"]}}",
              "encoding": "arraybuffer",
              "returnFullResponse": true
            }
          },
          "description": "Converts text into speech and returns audio"
        },
        {
          "name": "Speech to Text",
          "value": "speechToText",
          "action": "Transcribe audio or video",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/speech-to-text",
              "method": "POST",
              "headers": {
                "Content-Type": "multipart/form-data"
              }
            }
          },
          "description": "Transcribe an audio or video file"
        },
        {
          "name": "Speech to Speech",
          "value": "speechToSpeech",
          "action": "Change a voice",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/speech-to-speech/\"+$parameter[\"voice\"]}}",
              "headers": {
                "Content-Type": "multipart/form-data"
              },
              "encoding": "arraybuffer",
              "returnFullResponse": true
            }
          },
          "description": "Transform audio from one voice to another"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "speech"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get a voice",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "setKeyValue",
              "enabled": "={{$parameter[\"simplify\"]}}",
              "properties": {
                "name": "={{$responseItem.name}}",
                "labels": "={{$responseItem.labels}}",
                "category": "={{$responseItem.category}}",
                "voice_id": "={{$responseItem.voice_id}}",
                "description": "={{$responseItem.description}}",
                "preview_url": "={{$responseItem.preview_url}}"
              }
            }
          ]
        },
        "request": {
          "url": "={{\"/voices/\"  + $parameter[\"voice\"] }}",
          "method": "GET"
        }
      },
      "description": "Returns metadata about a specific voice"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many voices",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "voices"
              }
            },
            {
              "type": "setKeyValue",
              "enabled": "={{$parameter[\"simplify\"]}}",
              "properties": {
                "name": "={{$responseItem.name}}",
                "labels": "={{$responseItem.labels}}",
                "category": "={{$responseItem.category}}",
                "voice_id": "={{$responseItem.voice_id}}",
                "description": "={{$responseItem.description}}",
                "preview_url": "={{$responseItem.preview_url}}"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page_size": "={{$parameter[\"limit\"]}}"
          },
          "url": "/voices",
          "method": "GET"
        }
      },
      "description": "Returns metadata about all voices"
    },
    {
      "name": "Create Clone",
      "value": "createClone",
      "action": "Create a voice clone",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/voices/add",
          "method": "POST",
          "headers": {
            "Content-Type": "multipart/form-data"
          },
          "returnFullResponse": true
        }
      },
      "description": "Create a voice clone from audio files"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a voice",
      "routing": {
        "request": {
          "url": "={{\"/voices/\" + $parameter[\"voice\"]}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a specific voice"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Text to Speech",
      "value": "textToSpeech",
      "action": "Convert text to speech",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/text-to-speech/\"+$parameter[\"voice\"]}}",
          "encoding": "arraybuffer",
          "returnFullResponse": true
        }
      },
      "description": "Converts text into speech and returns audio"
    },
    {
      "name": "Speech to Text",
      "value": "speechToText",
      "action": "Transcribe audio or video",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/speech-to-text",
          "method": "POST",
          "headers": {
            "Content-Type": "multipart/form-data"
          }
        }
      },
      "description": "Transcribe an audio or video file"
    },
    {
      "name": "Speech to Speech",
      "value": "speechToSpeech",
      "action": "Change a voice",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/speech-to-speech/\"+$parameter[\"voice\"]}}",
          "headers": {
            "Content-Type": "multipart/form-data"
          },
          "encoding": "arraybuffer",
          "returnFullResponse": true
        }
      },
      "description": "Transform audio from one voice to another"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    }
  ]

npm_readme:
  # @elevenlabs/n8n-nodes-elevenlabs

  This is the official ElevenLabs n8n community node.

  [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)  <!-- delete if not using this section -->  
  [Resources](#resources)  

  ## Installation

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

  ## Operations

  ### Speech
  - Text to Speech
  - Speech to Text
  - Speech to Speech

  ### Voice
  - Get
  - Get Many
  - Create Clone
  - Delete

  ## Credentials

  This node requires an API Key from ElevenLabs, You can generate one by going to your [Dashboard](https://elevenlabs.io/app/settings/api-keys).

  ## Compatibility

  This node has been tested with n8n 1.94.0

  ## Usage

  [To be completed]

  ## Resources

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

ai_documentation_summary:
  {"purpose":"The ElevenLabs node enables integration with the ElevenLabs API to perform text-to-speech, speech-to-text, speech-to-speech conversions, and voice management operations such as retrieving, cloning, and deleting voices.","capabilities":["Text to Speech","Speech to Text","Speech to Speech","Get Voice","Get Many Voices","Create Voice Clone","Delete Voice"],"authentication":"API key required; obtain from https://elevenlabs.io/app/settings/api-keys","commonUseCases":["Generating natural-sounding voiceovers from text","Converting audio files to text for transcription","Translating speech between different voice models","Managing and cloning voice profiles for consistent audio output"],"limitations":[],"relatedNodes":["Text to Speech","Speech to Text","Voice Management"]}


