# nodes

node_type: n8n-nodes-reachinbox.reachInbox
package_name: n8n-nodes-reachinbox
display_name: ReachInbox
description: Interact with ReachInbox leads
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: lokesh1403
author_github_url: https://github.com/dsouzaalan/n8n-reachinbox.git
npm_package_name: n8n-nodes-reachinbox
npm_version: 0.1.12
community_fetched_at: 2026-03-25T21:19:40.624Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "lead",
      "options": [
        {
          "name": "Campaign",
          "value": "campaign",
          "description": "Interact with campaigns"
        },
        {
          "name": "Lead",
          "value": "lead",
          "description": "Interact with leads"
        },
        {
          "name": "Leads List",
          "value": "leadsList",
          "description": "Interact with leads lists"
        },
        {
          "name": "Blocklist",
          "value": "blocklist",
          "description": "Interact with blocklists"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createCampaign",
      "options": [
        {
          "name": "Add Email Sequences to a Campaign",
          "value": "addSequences",
          "action": "Add sequences to campaign"
        },
        {
          "name": "Add Sending Email Accounts to a Campaign",
          "value": "addEmailToCampaign",
          "action": "Add email to campaign"
        },
        {
          "name": "Create a New Campaign",
          "value": "createCampaign",
          "action": "Create a new campaign"
        },
        {
          "name": "Get the Current Status of a Campaign",
          "value": "getCampaignStatus",
          "action": "Get campaign status"
        },
        {
          "name": "Pause a Campaign",
          "value": "pauseCampaign",
          "action": "Pause a campaign"
        },
        {
          "name": "Start a Campaign",
          "value": "startCampaign",
          "action": "Start a campaign"
        },
        {
          "name": "Update Campaign Details",
          "value": "updateCampaignDetails",
          "action": "Update campaign details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "campaign"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add a Lead to a Campaign",
          "value": "add",
          "action": "Add a lead to a campaign"
        },
        {
          "name": "Update a Specific Lead's Data",
          "value": "update",
          "action": "Update a specific lead data"
        },
        {
          "name": "Delete a Lead From a Campaign",
          "value": "delete",
          "action": "Delete a lead from a campaign"
        },
        {
          "name": "Pause or Resume Leads in a Campaign",
          "value": "changeLeadsState",
          "action": "Pause or resume leads"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "lead"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "addLeadToList",
      "options": [
        {
          "name": "Add a Lead to a Leads List",
          "value": "addLeadToList",
          "action": "Add a lead to a leads list"
        },
        {
          "name": "Remove a Lead From a Leads List",
          "value": "removeLeadFromList",
          "action": "Remove a lead from a leads list"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "leadsList"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "addToBlocklist",
      "options": [
        {
          "name": "Add Emails, Domains or Keywords to the Blocklist",
          "value": "addToBlocklist",
          "action": "Add to blocklist"
        },
        {
          "name": "Remove Emails, Domains or Keywords From the Blocklist",
          "value": "removeFromBlocklist",
          "action": "Remove from blocklist"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "blocklist"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"addSequences","name":"Add Email Sequences to a Campaign","resource":"campaign"},{"operation":"addEmailToCampaign","name":"Add Sending Email Accounts to a Campaign","resource":"campaign"},{"operation":"createCampaign","name":"Create a New Campaign","resource":"campaign"},{"operation":"getCampaignStatus","name":"Get the Current Status of a Campaign","resource":"campaign"},{"operation":"pauseCampaign","name":"Pause a Campaign","resource":"campaign"},{"operation":"startCampaign","name":"Start a Campaign","resource":"campaign"},{"operation":"updateCampaignDetails","name":"Update Campaign Details","resource":"campaign"},{"operation":"add","name":"Add a Lead to a Campaign","resource":"lead"},{"operation":"update","name":"Update a Specific Lead's Data","resource":"lead"},{"operation":"delete","name":"Delete a Lead From a Campaign","resource":"lead"},{"operation":"changeLeadsState","name":"Pause or Resume Leads in a Campaign","resource":"lead"},{"operation":"addLeadToList","name":"Add a Lead to a Leads List","resource":"leadsList"},{"operation":"removeLeadFromList","name":"Remove a Lead From a Leads List","resource":"leadsList"},{"operation":"addToBlocklist","name":"Add Emails, Domains or Keywords to the Blocklist","resource":"blocklist"},{"operation":"removeFromBlocklist","name":"Remove Emails, Domains or Keywords From the Blocklist","resource":"blocklist"}]

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

  # n8n-nodes-reachinbox

  This custom node allows users to connect [ReachInbox.ai](https://reachinbox.ai) with n8n, enabling workflows to be triggered by email events (e.g. email sent, reply received) and perform powerful actions like adding leads, updating their statuses, starting campaigns, and more.

  n8n is a fair-code licensed workflow automation platform.

  ---

  ## 📦 Installation

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

  ```bash
  npm install n8n-nodes-reachinbox
  ```

  Or for local development:

  ```bash
  git clone https://github.com/dsouzaalan/n8n-nodes-reachinbox.git
  cd n8n-reachinbox
  npm install
  npm run build
  npm link
  ```

  Then link it in your local `~/.n8n/custom/` folder:

  ```bash
  cd ~/.n8n/custom
  npm init -y
  npm link n8n-nodes-reachinbox
  ```

  ---

  ## 🤖 ReachInbox Setup

  To use this integration, you’ll need an **API Key** from ReachInbox:

  1. Log in to [ReachInbox.ai](https://app.reachinbox.ai).
  2. Go to **Settings** > **Integrations** > **n8n**.
  3. Copy your API Key and Base URL (typically `https://api.reachinbox.ai`).

  ---

  ## 🔧 Credentials

  This node requires the following credentials:

  * **API Key**: Your ReachInbox API key.
  * **Base URL**: API base URL (`https://api.reachinbox.ai`).

  Set these up once in the **Credentials** section in n8n.

  ---

  ## ⚡ Operations

  ### 🟢 Triggers

  You can use this node to trigger workflows on events like:

  * Email Sent
  * Email Opened
  * Email Link Clicked
  * Reply Received
  * Email Bounced
  * Lead Interested
  * Lead Not Interested
  * Campaign Completed
  * Or trigger on **All Events**

  These are dynamically fetched from ReachInbox’s API.
  After setting up, a webhook URL will be generated which you must add in ReachInbox → **Integrations** → **Webhooks**.

  ### 🛠️ Actions

  * **Add Lead to Campaign**
  * **Update Lead to Campaign**
  * **Remove Lead to Campaign**

  All actions require selecting a campaign and passing necessary data (email, first name, last name, etc.), which can be mapped from previous steps.

  ---

  ## ✅ Usage

  1. **Install the node** as described in the installation section.
  2. **Drag the ReachInbox Trigger or Action node** into your workflow.
  3. **Set up your credentials** by entering your API key and base URL.
  4. **Choose a trigger event** or action.
  5. **Map the required fields**, test the workflow, and activate.

  You can now fully automate your cold outreach operations.

  ---

  ## 🧪 Testing Locally

  To run locally:

  ```bash
  n8n
  ```

  Then open [http://localhost:5678](http://localhost:5678) and search for **ReachInbox** in the node list.

  ---

  ## 📎 Compatibility

  * Tested on **n8n v1.75.2**
  * Node.js **v20+**

  ---

  ## 🕓 Version History

  | Version | Description                                          |
  | ------- | ---------------------------------------------------- |
  | 0.1.0   | Initial release with full trigger and action support |

  ---

  ## 🧩 Resources

  * [ReachInbox API Docs](https://docs.reachinbox.ai)
  * [n8n Community Nodes Guide](https://docs.n8n.io/integrations/community-nodes/)

ai_documentation_summary:
  {"purpose":"This n8n node enables automation of ReachInbox workflows by triggering on email events (sent, opened, clicked, replied, bounced) and performing actions like adding or updating leads in campaigns.","capabilities":["Trigger on Email Sent","Trigger on Email Opened","Trigger on Email Link Clicked","Trigger on Reply Received","Trigger on Email Bounced","Trigger on Lead Interested","Trigger on Lead Not Interested","Trigger on Campaign Completed","Trigger on All Events","Add Lead to Campaign"],"authentication":"API Key and Base URL required","commonUseCases":["Automate cold outreach follow-ups based on email engagement","Segment leads into campaigns based on email interactions","Update lead status automatically after email events","Monitor campaign performance and lead interest"],"limitations":["Requires manual setup of webhook URL in ReachInbox integrations","Limited to specific campaign actions (add, update, remove)","Requires ReachInbox API access"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.set","n8n-nodes-base.if"]}


node_type: @ionos-cloud/n8n-nodes-ionos-cloud.ionosCloudAiModelHub
package_name: @ionos-cloud/n8n-nodes-ionos-cloud
display_name: IONOS Cloud (AI Model Hub)
description: Interact with IONOS Cloud AI Model Hub API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: rijeshharidas
author_github_url: https://github.com/ionos-cloud/n8n-nodes-ionos-cloud.git
npm_package_name: @ionos-cloud/n8n-nodes-ionos-cloud
npm_version: 1.0.8
community_fetched_at: 2026-03-25T21:19:40.624Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "collection",
      "options": [
        {
          "name": "Collection",
          "value": "collection",
          "description": "Manage document collections in a vector database"
        },
        {
          "name": "Document",
          "value": "document",
          "description": "Manage documents in collections"
        },
        {
          "name": "Model",
          "value": "model",
          "description": "Browse and call foundation models"
        },
        {
          "name": "OpenAI Compatible",
          "value": "openai",
          "description": "Use OpenAI-compatible API endpoints"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a collection",
          "description": "Create a new document collection"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a collection",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/collections/{{$parameter.collectionId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a collection and all its documents"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a collection",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionId}}",
              "method": "GET"
            }
          },
          "description": "Get a collection by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many collections",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "items"
                  }
                }
              ]
            },
            "request": {
              "url": "/collections",
              "method": "GET"
            }
          },
          "description": "Retrieve many stored document collections"
        },
        {
          "name": "Query",
          "value": "query",
          "action": "Query a collection",
          "description": "Search a collection for related content"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a collection",
          "description": "Update collection details and metadata"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "collection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "action": "Add documents to collection",
          "description": "Add documents to a collection"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a document",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/collections/{{$parameter.collectionId}}/documents/{{$parameter.documentId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a document from a collection"
        },
        {
          "name": "Delete All",
          "value": "deleteAll",
          "action": "Delete all documents",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"success\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/collections/{{$parameter.collectionId}}/documents",
              "method": "DELETE"
            }
          },
          "description": "Delete all documents from a collection"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a document",
          "routing": {
            "request": {
              "url": "=/collections/{{$parameter.collectionId}}/documents/{{$parameter.documentId}}",
              "method": "GET"
            }
          },
          "description": "Get document details"
        },
        {
          "name": "Get Chunks",
          "value": "getChunks",
          "action": "Get document chunks",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "items"
                  }
                }
              ]
            },
            "request": {
              "url": "=/collections/{{$parameter.collectionId}}/documents/{{$parameter.documentId}}/chunks",
              "method": "GET"
            }
          },
          "description": "Get document chunks details"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many documents",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "items"
                  }
                }
              ]
            },
            "request": {
              "url": "=/collections/{{$parameter.collectionId}}/documents",
              "method": "GET"
            }
          },
          "description": "Get the list of documents stored in a collection"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a document",
          "description": "Update a document"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many models",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "items"
                  }
                }
              ]
            },
            "request": {
              "url": "/models",
              "method": "GET"
            }
          },
          "description": "Retrieve available AI models"
        },
        {
          "name": "Predict",
          "value": "predict",
          "action": "Predict with model",
          "description": "Send a request to an AI model and receive the result"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "model"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "chatCompletion",
      "options": [
        {
          "name": "Chat Completion",
          "value": "chatCompletion",
          "action": "Create chat completion",
          "routing": {
            "request": {
              "url": "=/v1/chat/completions",
              "method": "POST",
              "baseURL": "https://openai.inference.de-txl.ionos.com"
            }
          },
          "description": "Create chat completions using OpenAI-compatible API"
        },
        {
          "name": "Completion",
          "value": "completion",
          "action": "Create completion",
          "routing": {
            "request": {
              "url": "=/v1/completions",
              "method": "POST",
              "baseURL": "https://openai.inference.de-txl.ionos.com"
            }
          },
          "description": "Create text completions using OpenAI-compatible API"
        },
        {
          "name": "Create Embeddings",
          "value": "embeddings",
          "action": "Create embeddings",
          "routing": {
            "request": {
              "url": "=/v1/embeddings",
              "method": "POST",
              "baseURL": "https://openai.inference.de-txl.ionos.com"
            }
          },
          "description": "Create embedding vectors from text"
        },
        {
          "name": "Generate Image",
          "value": "generateImage",
          "action": "Generate image",
          "routing": {
            "request": {
              "url": "=/v1/images/generations",
              "method": "POST",
              "baseURL": "https://openai.inference.de-txl.ionos.com"
            }
          },
          "description": "Generate images from text prompts"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many models",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v1/models",
              "method": "GET",
              "baseURL": "https://openai.inference.de-txl.ionos.com"
            }
          },
          "description": "List available models in OpenAI-compatible format"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "openai"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create a new document collection","resource":"collection"},{"operation":"delete","name":"Delete","description":"Delete a collection and all its documents","resource":"collection"},{"operation":"get","name":"Get","description":"Get a collection by ID","resource":"collection"},{"operation":"getAll","name":"Get Many","description":"Retrieve many stored document collections","resource":"collection"},{"operation":"query","name":"Query","description":"Search a collection for related content","resource":"collection"},{"operation":"update","name":"Update","description":"Update collection details and metadata","resource":"collection"},{"operation":"add","name":"Add","description":"Add documents to a collection","resource":"document"},{"operation":"delete","name":"Delete","description":"Delete a document from a collection","resource":"document"},{"operation":"deleteAll","name":"Delete All","description":"Delete all documents from a collection","resource":"document"},{"operation":"get","name":"Get","description":"Get document details","resource":"document"},{"operation":"getChunks","name":"Get Chunks","description":"Get document chunks details","resource":"document"},{"operation":"getAll","name":"Get Many","description":"Get the list of documents stored in a collection","resource":"document"},{"operation":"update","name":"Update","description":"Update a document","resource":"document"},{"operation":"getAll","name":"Get Many","description":"Retrieve available AI models","resource":"model"},{"operation":"predict","name":"Predict","description":"Send a request to an AI model and receive the result","resource":"model"},{"operation":"chatCompletion","name":"Chat Completion","description":"Create chat completions using OpenAI-compatible API","resource":"openai"},{"operation":"completion","name":"Completion","description":"Create text completions using OpenAI-compatible API","resource":"openai"},{"operation":"embeddings","name":"Create Embeddings","description":"Create embedding vectors from text","resource":"openai"},{"operation":"generateImage","name":"Generate Image","description":"Generate images from text prompts","resource":"openai"},{"operation":"getAll","name":"Get Many","description":"List available models in OpenAI-compatible format","resource":"openai"}]

npm_readme:
[cell repeats an earlier one in this file: 19360 characters]

ai_documentation_summary:
  {"purpose":"The IONOS Cloud (AI Model Hub) node enables interaction with the IONOS Cloud AI Model Hub API for foundation model inference, RAG capabilities, and OpenAI-compatible API operations.","capabilities":["Foundation model inference","RAG (Retrieval-Augmented Generation) capabilities","OpenAI-compatible API interface","AI model management","Text generation and completion","Model parameter configuration"],"authentication":"API key required (Cloud API Bearer token)","commonUseCases":["Integrating IONOS AI models into n8n workflows","Building RAG-based applications with IONOS models","Automating AI-powered content generation","Connecting n8n AI agents to IONOS model inference"],"limitations":["Requires IONOS Cloud account and API Bearer token setup","Requires n8n version 2.1.5 or higher","Limited to IONOS Cloud AI Model Hub services only"],"relatedNodes":["IONOS Cloud (Infrastructure)","IONOS Cloud (Certificate Manager)","IONOS Cloud (Cloud DNS)","IONOS Cloud (CDN)","IONOS Cloud Chat Model"]}


node_type: @klardaten/n8n-nodes-datevconnect.masterData
package_name: @klardaten/n8n-nodes-datevconnect
display_name: Klardaten DATEVconnect: Master Data
description: Interact with master data resources
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: johannespfeiffer
author_github_url: https://github.com/Klardaten/n8n-nodes-datevconnect.git
npm_package_name: @klardaten/n8n-nodes-datevconnect
npm_version: 1.0.12
community_fetched_at: 2026-03-25T21:19:40.625Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "client",
      "options": [
        {
          "name": "Addressee",
          "value": "addressee"
        },
        {
          "name": "Area of Responsibility",
          "value": "areaOfResponsibility"
        },
        {
          "name": "Bank",
          "value": "bank"
        },
        {
          "name": "Client",
          "value": "client"
        },
        {
          "name": "Client Category Type",
          "value": "clientCategoryType"
        },
        {
          "name": "Client Group Type",
          "value": "clientGroupType"
        },
        {
          "name": "Corporate Structure",
          "value": "corporateStructure"
        },
        {
          "name": "Country Code",
          "value": "countryCode"
        },
        {
          "name": "Employee",
          "value": "employee"
        },
        {
          "name": "Legal Form",
          "value": "legalForm"
        },
        {
          "name": "Relationship",
          "value": "relationship"
        },
        {
          "name": "Tax Authority",
          "value": "taxAuthority"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a client",
          "description": "Create a new client"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a client",
          "description": "Retrieve a specific client"
        },
        {
          "name": "Get Categories",
          "value": "getClientCategories",
          "action": "Get client categories",
          "description": "Retrieve client categories"
        },
        {
          "name": "Get Deletion Log",
          "value": "getDeletionLog",
          "action": "Get client deletion log",
          "description": "Retrieve deleted clients"
        },
        {
          "name": "Get Groups",
          "value": "getClientGroups",
          "action": "Get client groups",
          "description": "Retrieve client groups"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many clients",
          "description": "Retrieve a list of clients"
        },
        {
          "name": "Get Next Free Number",
          "value": "getNextFreeNumber",
          "action": "Get next free client number",
          "description": "Retrieve the next available client number"
        },
        {
          "name": "Get Responsibilities",
          "value": "getResponsibilities",
          "action": "Get client responsibilities",
          "description": "Retrieve responsibilities for a client"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a client",
          "description": "Update a specific client"
        },
        {
          "name": "Update Categories",
          "value": "updateClientCategories",
          "action": "Update client categories",
          "description": "Replace a client's category assignments"
        },
        {
          "name": "Update Groups",
          "value": "updateClientGroups",
          "action": "Update client groups",
          "description": "Replace a client's group assignments"
        },
        {
          "name": "Update Responsibilities",
          "value": "updateResponsibilities",
          "action": "Update client responsibilities",
          "description": "Replace a client's responsibilities"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "client"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many tax authorities",
          "description": "Retrieve a list of tax authorities"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "taxAuthority"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many relationships",
          "description": "Retrieve a list of relationships"
        },
        {
          "name": "Get Types",
          "value": "getTypes",
          "action": "Get relationship types",
          "description": "Retrieve a list of relationship types"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "relationship"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many legal forms",
          "description": "Retrieve a list of legal forms"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "legalForm"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many corporate structures",
          "description": "Retrieve a list of corporate structures"
        },
        {
          "name": "Get Organization",
          "value": "get",
          "action": "Get an organization",
          "description": "Retrieve a specific organization"
        },
        {
          "name": "Get Establishment",
          "value": "getEstablishment",
          "action": "Get an establishment",
          "description": "Retrieve a specific establishment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "corporateStructure"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many employees",
          "description": "Retrieve a list of employees"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an employee",
          "description": "Retrieve a specific employee"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create an employee",
          "description": "Create a new employee"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an employee",
          "description": "Update a specific employee"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "employee"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many countries",
          "description": "Retrieve a list of countries"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "countryCode"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many client group types",
          "description": "Retrieve a list of client group types"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a client group type",
          "description": "Retrieve a specific client group type"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a client group type",
          "description": "Create a new client group type"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a client group type",
          "description": "Update a specific client group type"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "clientGroupType"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many client category types",
          "description": "Retrieve a list of client category types"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a client category type",
          "description": "Retrieve a specific client category type"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a client category type",
          "description": "Create a new client category type"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a client category type",
          "description": "Update a specific client category type"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "clientCategoryType"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many banks",
          "description": "Retrieve a list of banks"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "bank"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many areas of responsibility",
          "description": "Retrieve a list of areas of responsibility"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "areaOfResponsibility"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an addressee",
          "description": "Create a new addressee"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an addressee",
          "description": "Retrieve a specific addressee"
        },
        {
          "name": "Get Deletion Log",
          "value": "getDeletionLog",
          "action": "Get addressee deletion log",
          "description": "Retrieve a list of deleted addressees"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many addressees",
          "description": "Retrieve a list of addressees"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an addressee",
          "description": "Update a specific addressee"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "addressee"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create a new client","resource":"client"},{"operation":"get","name":"Get","description":"Retrieve a specific client","resource":"client"},{"operation":"getClientCategories","name":"Get Categories","description":"Retrieve client categories","resource":"client"},{"operation":"getDeletionLog","name":"Get Deletion Log","description":"Retrieve deleted clients","resource":"client"},{"operation":"getClientGroups","name":"Get Groups","description":"Retrieve client groups","resource":"client"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of clients","resource":"client"},{"operation":"getNextFreeNumber","name":"Get Next Free Number","description":"Retrieve the next available client number","resource":"client"},{"operation":"getResponsibilities","name":"Get Responsibilities","description":"Retrieve responsibilities for a client","resource":"client"},{"operation":"update","name":"Update","description":"Update a specific client","resource":"client"},{"operation":"updateClientCategories","name":"Update Categories","description":"Replace a client's category assignments","resource":"client"},{"operation":"updateClientGroups","name":"Update Groups","description":"Replace a client's group assignments","resource":"client"},{"operation":"updateResponsibilities","name":"Update Responsibilities","description":"Replace a client's responsibilities","resource":"client"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of tax authorities","resource":"taxAuthority"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of relationships","resource":"relationship"},{"operation":"getTypes","name":"Get Types","description":"Retrieve a list of relationship types","resource":"relationship"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of legal forms","resource":"legalForm"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of corporate structures","resource":"corporateStructure"},{"operation":"get","name":"Get Organization","description":"Retrieve a specific organization","resource":"corporateStructure"},{"operation":"getEstablishment","name":"Get Establishment","description":"Retrieve a specific establishment","resource":"corporateStructure"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of employees","resource":"employee"},{"operation":"get","name":"Get","description":"Retrieve a specific employee","resource":"employee"},{"operation":"create","name":"Create","description":"Create a new employee","resource":"employee"},{"operation":"update","name":"Update","description":"Update a specific employee","resource":"employee"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of countries","resource":"countryCode"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of client group types","resource":"clientGroupType"},{"operation":"get","name":"Get","description":"Retrieve a specific client group type","resource":"clientGroupType"},{"operation":"create","name":"Create","description":"Create a new client group type","resource":"clientGroupType"},{"operation":"update","name":"Update","description":"Update a specific client group type","resource":"clientGroupType"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of client category types","resource":"clientCategoryType"},{"operation":"get","name":"Get","description":"Retrieve a specific client category type","resource":"clientCategoryType"},{"operation":"create","name":"Create","description":"Create a new client category type","resource":"clientCategoryType"},{"operation":"update","name":"Update","description":"Update a specific client category type","resource":"clientCategoryType"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of banks","resource":"bank"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of areas of responsibility","resource":"areaOfResponsibility"},{"operation":"create","name":"Create","description":"Create a new addressee","resource":"addressee"},{"operation":"get","name":"Get","description":"Retrieve a specific addressee","resource":"addressee"},{"operation":"getDeletionLog","name":"Get Deletion Log","description":"Retrieve a list of deleted addressees","resource":"addressee"},{"operation":"getAll","name":"Get Many","description":"Retrieve a list of addressees","resource":"addressee"},{"operation":"update","name":"Update","description":"Update a specific addressee","resource":"addressee"}]

npm_readme:
[cell repeats an earlier one in this file: 3558 characters]

ai_documentation_summary:
  {"purpose":"The Klardaten DATEVconnect: Master Data node allows users to fetch and manage master data entities from DATEV systems via the DATEVconnect API.","capabilities":["Fetch master data entities from DATEV","Access DATEV client information","Retrieve fiscal year data","Access account receivable records","Access account postings","Access accounting sequences"],"authentication":"OAuth2 (via email, password, and clientInstanceId credentials)","commonUseCases":["Automating client master data retrieval","Synchronizing accounting data with external systems","Managing DATEV-based business entity records"],"limitations":["Requires a Klardaten DATEVconnect Gateway setup","Requires a Klardaten account and valid DATEV instance ID","Requires n8n restart after installation"],"relatedNodes":["Klardaten DATEVconnect: Accounting","Klardaten DATEVconnect: Document Management","Klardaten DATEVconnect: Order Management","Klardaten DATEVconnect: Identity & Access Management"]}


node_type: n8n-nodes-peliqan.peliqan
package_name: n8n-nodes-peliqan
display_name: Peliqan
description: Get data from Peliqan
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: peliqan-dev
author_github_url: https://github.com/Peliqan-io/
npm_package_name: n8n-nodes-peliqan
npm_version: 0.0.6
community_fetched_at: 2026-03-25T21:19:40.626Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "table",
      "options": [
        {
          "name": "Endpoint",
          "value": "endpoint"
        },
        {
          "name": "Pipeline",
          "value": "pipeline"
        },
        {
          "name": "Query",
          "value": "query"
        },
        {
          "name": "Script",
          "value": "script"
        },
        {
          "name": "Table",
          "value": "table"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "exec",
      "options": [
        {
          "name": "Execute",
          "value": "exec",
          "action": "Execute endpoint",
          "description": "Execute selected endpoint"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "endpoint"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "action": "Run a pipeline",
          "description": "Start pipeline sync on server"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pipeline"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create SQL Query",
          "value": "create",
          "action": "Create sql view",
          "description": "Create sql view in Peliqan"
        },
        {
          "name": "Execute SQL Query",
          "value": "exec",
          "action": "Execute sql query",
          "description": "Create sql view in Peliqan"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "query"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "action": "Run script",
          "description": "Run a script"
        },
        {
          "name": "Logs",
          "value": "logs",
          "action": "Return logs of script",
          "description": "Return logs of script"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "script"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get records",
          "description": "Get data from a Peliqan table"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List tables",
          "description": "List all available tables"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "table"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"exec","name":"Execute","description":"Execute selected endpoint","resource":"endpoint"},{"operation":"run","name":"Run","description":"Start pipeline sync on server","resource":"pipeline"},{"operation":"create","name":"Create SQL Query","description":"Create sql view in Peliqan","resource":"query"},{"operation":"exec","name":"Execute SQL Query","description":"Create sql view in Peliqan","resource":"query"},{"operation":"run","name":"Run","description":"Run a script","resource":"script"},{"operation":"logs","name":"Logs","description":"Return logs of script","resource":"script"},{"operation":"get","name":"Get","description":"Get data from a Peliqan table","resource":"table"},{"operation":"list","name":"List","description":"List all available tables","resource":"table"}]

npm_readme:
  # n8n-nodes-peliqan

  This is an **n8n community node** that lets you use [Peliqan](https://peliqan.io) in your [n8n](https://n8n.io) workflows.  

  Peliqan.io is an all-in-one data platform with **ELT**, a **built-in data warehouse**, **data transformations**, and a **data cockpit**.  

  ## Table of contents

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


  ## Installation

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


  ## Operations

  The node currently supports:

  - **List tables** – Retrieve available tables  
  - **Get data from table** – Query records from a Peliqan table  
  - **Run pipeline** – Trigger an existing pipeline  
  - **Execute endpoint** – Call an API endpoint defined in Peliqan  
  - **Create SQL query** – Create a new SQL query in Peliqan  
  - **Execute SQL query** – Run a query against Peliqan’s data warehouse  
  - **Run script** – Execute a script stored in Peliqan  
  - **Get script logs** – Retrieve execution logs of a script  

  ## Credentials

  1. Log in to [Peliqan.io](https://peliqan.io).  
  2. Go to **Settings → API Token**.  
  3. Copy your API Token.  
  4. In n8n, go to **Credentials → New → Peliqan API** and paste your Token.  

  🔑 More details here: [Configure credentials in n8n](https://help.peliqan.io/build-ai-agents-with-n8n-and-peliqan#2401aa9b38798047ad22e353042f5d74).  


  ## Usage

  - Visit the [Peliqan Documentation](https://help.peliqan.io) for guides and tutorials:
      - To set up **AI Agents in n8n** with RAG and SQL: [step-by-step guide](https://help.peliqan.io/build-ai-agents-with-n8n-and-peliqan).  

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)  
  - [Peliqan.io](https://peliqan.io)  
  - [Peliqan Documentation](https://help.peliqan.io)  


  ## Version history

  - **May 2025** – `v0.0.1` initial implementation  
  - **June 2025** – `v0.0.3` add table list operation  
  - **June 2025** – `v0.0.4` enable tool usage of node  
  - **September 2025** – `v0.0.5` UX fixes and code overhaul
  - **October 2025** – `v0.0.6` replace deprecated functions

ai_documentation_summary:
  {"purpose":"This n8n community node enables integration with Peliqan.io, an all-in-one data platform, allowing users to query data, execute pipelines, and manage scripts within n8n workflows.","capabilities":["List available tables in Peliqan","Query records from specific tables","Trigger existing data pipelines","Call custom API endpoints","Create new SQL queries","Execute SQL queries against the data warehouse","Run stored scripts","Retrieve script execution logs"],"authentication":"API Token required (obtained from Peliqan.io Settings → API Token)","commonUseCases":["Building AI agents with RAG and SQL capabilities","Automating data extraction and transformation workflows","Connecting n8n to Peliqan's built-in data warehouse","Executing scheduled data pipelines via n8n"],"limitations":["Community node (may have fewer updates than official nodes)","Initial implementation status (v0.0.6) suggests potential for future feature additions"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code","n8n-nodes-base.sql"]}


node_type: n8n-nodes-tiiny-host.tiiny
package_name: n8n-nodes-tiiny-host
display_name: Tiiny Host
description: Manage sites on Tiiny Host
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: tiinyhost
author_github_url: https://github.com/Tiiny-Host/n8n-node.git
npm_package_name: n8n-nodes-tiiny-host
npm_version: 0.1.15
community_fetched_at: 2026-03-25T21:19:40.627Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Site",
          "value": "create",
          "action": "Create a site",
          "description": "Upload a new file to create a site on Tiiny"
        },
        {
          "name": "Create Site from HTML",
          "value": "createHtml",
          "action": "Create a site from HTML",
          "description": "Create a new site from raw HTML content"
        },
        {
          "name": "Update Site",
          "value": "update",
          "action": "Update a site",
          "description": "Update an existing site on Tiiny"
        },
        {
          "name": "Update Site from HTML",
          "value": "updateHtml",
          "action": "Update a site from HTML",
          "description": "Update an existing site using raw HTML content"
        },
        {
          "name": "Delete Site",
          "value": "delete",
          "action": "Delete a site",
          "description": "Delete a site from Tiiny"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Site",
      "value": "create",
      "action": "Create a site",
      "description": "Upload a new file to create a site on Tiiny"
    },
    {
      "name": "Create Site from HTML",
      "value": "createHtml",
      "action": "Create a site from HTML",
      "description": "Create a new site from raw HTML content"
    },
    {
      "name": "Update Site",
      "value": "update",
      "action": "Update a site",
      "description": "Update an existing site on Tiiny"
    },
    {
      "name": "Update Site from HTML",
      "value": "updateHtml",
      "action": "Update a site from HTML",
      "description": "Update an existing site using raw HTML content"
    },
    {
      "name": "Delete Site",
      "value": "delete",
      "action": "Delete a site",
      "description": "Delete a site from Tiiny"
    }
  ]

npm_readme:
  # n8n-nodes-tiiny-host

  This is an n8n community node that lets you use [Tiiny Host](https://tiiny.host) in your n8n workflows.

  Tiiny Host is the simplest way to share your static website. Upload your HTML, PDF, or ZIP files and get an instant live link in seconds!

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

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

  ## Installation

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

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes** in n8n
  2. Select **Install a community node**
  3. Enter `n8n-nodes-tiiny-host` in the npm Package Name
  4. Agree to the risks and select **Install**

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

  ### Manual Installation

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

  ```bash
  npm install n8n-nodes-tiiny-host
  ```

  For Docker-based deployments, add the following line before the font installation command in your [n8n Dockerfile](https://github.com/n8n-io/n8n/blob/master/docker/images/n8n/Dockerfile):

  ```dockerfile
  RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-tiiny-host
  ```

  ## Operations

  The Tiiny Host node supports the following operations:

  ### Create Site

  - Upload HTML, PDF, or ZIP files to create a new site
  - Optionally set a custom subdomain
  - Enable password protection for your site
  - Choose from available domain suffixes

  ### Update Site

  - Update an existing site with new files
  - Maintains the same URL while replacing the content
  - Automatically removes old files before uploading new ones
  - Update password protection settings

  ### Delete Site

  - Permanently delete a site from Tiiny Host
  - Removes all associated files and data

  ## Credentials

  To use this node, you need a Tiiny Host API key. You can obtain your API key from your [Tiiny Host account settings](https://tiiny.host/manage/accoun).

  ### Setting up credentials in n8n:

  1. Go to **Credentials** in n8n
  2. Click **Create New** and select **Tiiny API**
  3. Enter your API key from Tiiny Host
  4. Click **Save**

  ## Compatibility

  - Minimum n8n version: **1.0.0**
  - Tested against n8n version: **1.68.0**

  ## Usage

  ### Example: Upload a Website

  1. Add a **Read Binary File** node to read your HTML file or ZIP archive
  2. Add the **Tiiny** node
  3. Select the **Create Site** operation
  4. Configure:
     - **Binary Property**: `data` (or your binary property name)
     - **Subdomain** (optional): Your desired subdomain
     - **Domain Suffix**: Select from available options
     - **Password Protected**: Enable if needed
  5. Execute the workflow
  6. The node will return the live URL of your site

  ### Example: Update an Existing Site

  1. Get the binary file you want to upload (using **Read Binary File** or **HTTP Request** node)
  2. Add the **Tiiny** node
  3. Select the **Update Site** operation
  4. Configure:
     - **Site Link**: The full URL of the site to update (e.g., `my-site.tiiny.site`)
     - **Binary Property**: The name of the binary property containing your file
     - **Password Protected**: Update protection settings if needed
  5. Execute the workflow
  6. Your site will be updated with the new content

  ### Example: Delete a Site

  1. Add the **Tiiny** node
  2. Select the **Delete Site** operation
  3. Configure:
     - **Site Link**: The full URL of the site to delete (e.g., `my-site.tiiny.site`)
  4. Execute the workflow
  5. The site will be permanently deleted

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Tiiny Host](https://tiiny.host)
  - [Tiiny Host Documentation](https://tiiny.host/docs)
  - [Tiiny Host API Documentation](https://tiiny.host/api)

  ## Support

  If you have any issues or questions:

  - Check the [n8n forum](https://community.n8n.io/)
  - Visit [Tiiny Host support](https://tiiny.host/support)
  - Open an issue on [GitHub](https://github.com/Tiiny-Host/n8n-node/issues)

  ## License

  [MIT](LICENSE.md)

  ## Version History

  ### 0.1.0

  - Initial release
  - Create, Update, and Delete site operations
  - API key authentication
  - Password protection support
  - Custom subdomain and domain suffix support

ai_documentation_summary:
  {"purpose":"A community n8n node that manages static website hosting on Tiiny Host, allowing users to create, update, and delete hosted sites with instant live links.","capabilities":["Create new sites by uploading HTML, PDF, or ZIP files","Update existing sites with new file content","Permanently delete hosted sites","Set custom subdomains","Enable password protection for sites","Select from available domain suffixes","Maintain existing URLs during updates"],"authentication":"API key required (Tiiny Host API key)","commonUseCases":["Quickly share static websites or documents via a live link","Automate website deployment workflows","Manage temporary project hosting","Securely share sensitive documents with password protection"],"limitations":["Requires a Tiiny Host account and API key","Limited to static file hosting (HTML, PDF, ZIP)","Community node (may have less support than official nodes)","Minimum n8n version 1.0.0 required"],"relatedNodes":["Read Binary File","HTTP Request","Wait","If","Set"]}


node_type: n8n-nodes-paubox.paubox
package_name: n8n-nodes-paubox
display_name: Paubox
description: Send HIPAA-compliant email via Paubox Email API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: paubox_engineering
author_github_url: https://github.com/Paubox/
npm_package_name: n8n-nodes-paubox
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:40.627Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "action": "Send a message",
          "description": "Send an email message"
        },
        {
          "name": "Get Disposition",
          "value": "getDisposition",
          "action": "Get message disposition",
          "description": "Get email delivery status and tracking information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"send","name":"Send","description":"Send an email message","resource":"message"},{"operation":"getDisposition","name":"Get Disposition","description":"Get email delivery status and tracking information","resource":"message"}]

npm_readme:
  # n8n-nodes-paubox

  This is an n8n community node that lets you send HIPAA-compliant email using the [Paubox Email API](https://www.paubox.com/) in your n8n workflows.

  Paubox enables healthcare organizations to send secure, encrypted email without requiring recipients to use portals or passwords.

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

  ## Table of Contents

  - [Installation](#installation)
  - [Prerequisites](#prerequisites)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [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.

  ### For n8n Cloud or Self-Hosted:

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

  ### For Local Development:

  ```bash
  # Navigate to your n8n installation's node_modules directory
  cd ~/.n8n/nodes

  # Clone or install the package
  npm install n8n-nodes-paubox

  # Restart n8n
  ```

  ### Manual Installation for Testing:

  ```bash
  # Clone this repository
  git clone https://github.com/yourusername/n8n-nodes-paubox.git
  cd n8n-nodes-paubox

  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Link for local testing
  npm link

  # In your n8n installation directory
  cd ~/.n8n
  npm link n8n-nodes-paubox

  # Restart n8n
  ```

  ## Prerequisites

  To use this node, you need:

  1. **A Paubox Account**: Sign up at [paubox.com](https://www.paubox.com/)
  2. **API Credentials**:
     - API Username (your API endpoint username)
     - API Key (your authentication token)
  3. **Verified Domain**: Your sending email domain must be verified with Paubox
  4. **n8n Installation**: Version 0.187.0 or later

  ## Operations

  The Paubox node supports the following operations:

  ### Message

  #### Send

  Send a HIPAA-compliant email message.

  **Required Fields:**

  - **From**: Sender email address (must match your verified domain)
  - **To**: Recipient email address(es) - comma-separated for multiple recipients
  - **Subject**: Email subject line
  - **Content**: Either plain text, HTML, or both

  **Optional Fields:**

  - **CC**: Carbon copy recipients
  - **BCC**: Blind carbon copy recipients
  - **Reply To**: Reply-to email address
  - **Attachments**: File attachments (base64-encoded)
  - **Allow Non-TLS**: Allow delivery over non-TLS (not HIPAA-compliant for PHI)
  - **Force Secure Notification**: Force Paubox Secure Message delivery
  - **Override Open Tracking**: Enable open tracking for this message
  - **Override Link Tracking**: Enable click tracking (up to 1000 links)
  - **Unsubscribe URL**: URL for unsubscribe tracking
  - **List-Unsubscribe Header**: Standard unsubscribe header
  - **Custom Headers**: Additional email headers (must start with X-)

  **Returns:**

  - `sourceTrackingId`: Unique identifier for tracking the message
  - `data`: Status message
  - `customHeaders`: Any custom headers that were set

  #### Get Disposition

  Retrieve delivery status and tracking information for a sent message.

  **Required Fields:**

  - **Source Tracking ID**: The tracking ID returned when the message was sent

  **Returns:**

  - Delivery status (delivered, bounced, processing, etc.)
  - Open tracking information (if enabled)
  - Click tracking information (if enabled)
  - Unsubscribe status
  - Delivery timestamps

  ## Credentials

  The Paubox node requires the following credentials:

  ### Paubox API Credentials

  1. In n8n, go to **Credentials** > **New**
  2. Search for **Paubox API**
  3. Enter your credentials:
     - **API Username**: Your Paubox Email API endpoint username
     - **API Key**: Your Paubox authentication token

  To obtain these credentials:

  1. Log in to your [Paubox account](https://paubox.com/login)
  2. Navigate to your API settings
  3. Copy your API Username and API Key

  **Note**: The Paubox API uses a custom authentication format with the prefix `Token token=`. This is handled automatically by the node.

  ## Compatibility

  - **n8n Version**: 0.187.0 or later
  - **Tested With**: n8n 1.0.0+
  - **Node Version**: Requires Node.js 16.x or later

  ## Usage

  ### Example 1: Send a Simple Email

  ```
  1. Add a Paubox node to your workflow
  2. Select Operation: Send
  3. Configure:
     - From: doctor@yourhospital.com
     - To: patient@email.com
     - Subject: Your Lab Results
     - Content Type: HTML
     - HTML Content: <h1>Your results are ready</h1><p>Please log in to view them.</p>
  4. Execute the node
  ```

  ### Example 2: Send Email with Attachment

  ```
  1. Use a "Read Binary File" node to read your file
  2. Use a "Function" node to convert to base64:
     return items.map(item => ({
       json: {
         fileContent: item.binary.data.toString('base64'),
         fileName: 'results.pdf'
       }
     }));
  3. Add Paubox node with:
     - Basic fields (From, To, Subject, Content)
     - In Additional Fields > Attachments:
       - File Name: {{ $json.fileName }}
       - Content Type: application/pdf
       - Content (Base64): {{ $json.fileContent }}
  ```

  ### Example 3: Check Message Status

  ```
  1. After sending a message, save the sourceTrackingId
  2. Add another Paubox node
  3. Select Operation: Get Disposition
  4. Source Tracking ID: {{ $json.sourceTrackingId }}
  5. Execute to see delivery status
  ```

  ### Example 4: Send Secure Email to Multiple Recipients

  ```
  1. Add Paubox node
  2. Configure:
     - From: admin@clinic.com
     - To: patient1@email.com, patient2@email.com
     - Subject: Monthly Health Newsletter
     - CC: doctor@clinic.com
     - Force Secure Notification: true (recipients get secure pickup link)
     - Override Open Tracking: true
  ```

  ## API Notes and Limitations

  - **Base URL**: The API endpoint includes your username: `https://api.paubox.net/v1/{api_username}`
  - **Authentication**: Custom format `Authorization: Token token={api_key}`
  - **Content Requirement**: At least one of `text/plain` or `text/html` must be provided
  - **Attachments**: Must be base64-encoded
  - **Batch Sending**: For bulk messages, use multiple executions or implement bulk endpoint
  - **Tracking**: The `sourceTrackingId` from send operation is needed for disposition checks
  - **Rate Limits**: Check Paubox documentation for current API rate limits
  - **HIPAA Compliance**: Setting `allowNonTLS` to `true` is not HIPAA-compliant if the message contains PHI

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Paubox Email API Documentation](https://docs.paubox.com/)
  - [Paubox Support](https://www.paubox.com/support/)

  ## Development

  ```bash
  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Watch mode for development
  npm run dev

  # Lint code
  npm run lint

  # Format code
  npm run format
  ```

  ## Version History

  - **1.0.0**: Initial release
    - Send Message operation
    - Get Message Disposition operation
    - Full support for attachments, custom headers, and tracking

  ## Contributing

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

  ## License

  [MIT](LICENSE)

  ## Support

  If you encounter any issues or have questions:

  1. Check the [n8n community forum](https://community.n8n.io/)
  2. Review [Paubox API documentation](https://docs.paubox.com/)
  3. Open an issue in this repository

  ## Disclaimer

  This is a community-created node and is not officially supported by Paubox or n8n. Use at your own discretion.

ai_documentation_summary:
  {"purpose":"Sends HIPAA-compliant, encrypted emails via the Paubox Email API, enabling secure healthcare communication without requiring recipients to use portals or passwords.","capabilities":["Send encrypted emails with plain text, HTML, or both content types","Support for multiple recipients (To, CC, BCC)","Attach files (base64-encoded)","Track message delivery status","Track email opens and clicks","Manage unsubscribe links","Custom email headers","Force secure notification delivery"],"authentication":"API key required (API Username and API Key)","commonUseCases":["Sending lab results to patients","Healthcare provider notifications","Secure patient communications","HIPAA-compliant email campaigns","Monitoring email delivery and engagement"],"limitations":["Requires n8n version 0.187.0 or later","Requires Node.js 16.x or later","Requires a verified domain with Paubox","Allows non-TLS delivery which is not HIPAA-compliant for PHI","Custom headers must start with X-"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.binaryFile","n8n-nodes-base.function"]}


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

updated_at: 2026-03-25 21:19:40
author_name: legnext
author_github_url: https://github.com/legnext-ai/
npm_package_name: n8n-nodes-legnext
npm_version: 0.1.0
community_fetched_at: 2026-03-25T21:19:40.628Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "image",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Job",
          "value": "job"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getBalance",
      "options": [
        {
          "name": "Get Balance",
          "value": "getBalance",
          "action": "Get account balance",
          "routing": {
            "request": {
              "url": "../account/balance",
              "method": "GET"
            }
          },
          "description": "Retrieve account balance information including credits and points"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "imagine",
      "options": [
        {
          "name": "Blend",
          "value": "blend",
          "action": "Blend",
          "routing": {
            "request": {
              "url": "/blend",
              "method": "POST"
            }
          },
          "description": "Blend 2-5 images together. Returns a new Job ID."
        },
        {
          "name": "Describe",
          "value": "describe",
          "action": "Describe",
          "routing": {
            "request": {
              "url": "/describe",
              "method": "POST"
            }
          },
          "description": "Generate text descriptions and prompts from an image. Returns a new Job ID."
        },
        {
          "name": "Imagine",
          "value": "imagine",
          "action": "Imagine",
          "routing": {
            "request": {
              "url": "/diffusion",
              "method": "POST"
            }
          },
          "description": "Generates a 2x2 image grid from a prompt. Returns the Job ID."
        },
        {
          "name": "Outpaint",
          "value": "outpaint",
          "action": "Outpaint",
          "routing": {
            "request": {
              "url": "/outpaint",
              "method": "POST"
            }
          },
          "description": "Generate an image in a specified direction with a scale ratio. Returns a new Job ID."
        },
        {
          "name": "Pan",
          "value": "pan",
          "action": "Pan extend canvas",
          "routing": {
            "request": {
              "url": "/pan",
              "method": "POST"
            }
          },
          "description": "Extend the image canvas in a specified direction with a scale ratio. Returns a new Job ID."
        },
        {
          "name": "Reroll",
          "value": "reroll",
          "action": "Reroll",
          "routing": {
            "request": {
              "url": "/reroll",
              "method": "POST"
            }
          },
          "description": "Regenerate images using the same prompt from a previous job. Returns a new Job ID."
        },
        {
          "name": "Shorten",
          "value": "shorten",
          "action": "Shorten",
          "routing": {
            "request": {
              "url": "/shorten",
              "method": "POST"
            }
          },
          "description": "Analyze and shorten a prompt to its key elements. Returns a new Job ID."
        },
        {
          "name": "Upscale",
          "value": "upscale",
          "action": "Upscale",
          "routing": {
            "request": {
              "url": "/upscale",
              "method": "POST"
            }
          },
          "description": "Upscale one of the grid images from a previous job. Returns a new Job ID."
        },
        {
          "name": "Variation",
          "value": "variation",
          "action": "Variation",
          "routing": {
            "request": {
              "url": "/variation",
              "method": "POST"
            }
          },
          "description": "Create variations of a selected image, optionally with a remix prompt. Returns a new Job ID."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get job status",
          "routing": {
            "request": {
              "url": "=/job/{{$parameter.jobId}}",
              "method": "GET"
            }
          },
          "description": "Fetch the status and result of a job by its ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "job"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "videoDiffusion",
      "options": [
        {
          "name": "Extend Video",
          "value": "extendVideo",
          "action": "Extend video",
          "routing": {
            "request": {
              "url": "/extend-video",
              "method": "POST"
            }
          },
          "description": "Extend existing videos with seamless continuation and motion. Returns a new Job ID."
        },
        {
          "name": "Upscale Video",
          "value": "upscaleVideo",
          "action": "Upscale video",
          "routing": {
            "request": {
              "url": "/video-upscale",
              "method": "POST"
            }
          },
          "description": "Enhance video resolution and quality using AI upscaling technology. Returns a new Job ID."
        },
        {
          "name": "Video Diffusion",
          "value": "videoDiffusion",
          "action": "Video diffusion",
          "routing": {
            "request": {
              "url": "/video-diffusion",
              "method": "POST"
            }
          },
          "description": "Generate dynamic videos from text prompts or existing images. Returns a new Job ID."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"getBalance","name":"Get Balance","description":"Retrieve account balance information including credits and points","resource":"account"},{"operation":"blend","name":"Blend","description":"Blend 2-5 images together. Returns a new Job ID.","resource":"image"},{"operation":"describe","name":"Describe","description":"Generate text descriptions and prompts from an image. Returns a new Job ID.","resource":"image"},{"operation":"imagine","name":"Imagine","description":"Generates a 2x2 image grid from a prompt. Returns the Job ID.","resource":"image"},{"operation":"outpaint","name":"Outpaint","description":"Generate an image in a specified direction with a scale ratio. Returns a new Job ID.","resource":"image"},{"operation":"pan","name":"Pan","description":"Extend the image canvas in a specified direction with a scale ratio. Returns a new Job ID.","resource":"image"},{"operation":"reroll","name":"Reroll","description":"Regenerate images using the same prompt from a previous job. Returns a new Job ID.","resource":"image"},{"operation":"shorten","name":"Shorten","description":"Analyze and shorten a prompt to its key elements. Returns a new Job ID.","resource":"image"},{"operation":"upscale","name":"Upscale","description":"Upscale one of the grid images from a previous job. Returns a new Job ID.","resource":"image"},{"operation":"variation","name":"Variation","description":"Create variations of a selected image, optionally with a remix prompt. Returns a new Job ID.","resource":"image"},{"operation":"get","name":"Get","description":"Fetch the status and result of a job by its ID","resource":"job"},{"operation":"extendVideo","name":"Extend Video","description":"Extend existing videos with seamless continuation and motion. Returns a new Job ID.","resource":"video"},{"operation":"upscaleVideo","name":"Upscale Video","description":"Enhance video resolution and quality using AI upscaling technology. Returns a new Job ID.","resource":"video"},{"operation":"videoDiffusion","name":"Video Diffusion","description":"Generate dynamic videos from text prompts or existing images. Returns a new Job ID.","resource":"video"}]

npm_readme:
  # n8n-nodes-legnext

  ![Legnext](https://i.ibb.co/Lzgsg5dY/image.png)

  This is an n8n community node that integrates [Legnext AI](https://legnext.ai) into your n8n workflows. Legnext AI is a powerful API service for AI-powered image and video generation using Midjourney models, enabling you to create stunning visuals and dynamic videos directly from your automation workflows.

  With the Legnext node, you can generate images from text prompts, create variations, upscale images, blend multiple images together, generate videos, and much more—all through a simple, declarative API interface.

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

  To install the Legnext node:
  1. Go to **Settings** → **Community nodes** in your n8n instance
  2. Search for `n8n-nodes-legnext`
  3. Click **Install**

  ## Operations

  The Legnext node provides four main resources with comprehensive operations:

  ### 🖼️ Image Resource
  Generate and manipulate images using Midjourney models:
  - **Blend** - Blend 2-5 images together seamlessly
  - **Describe** - Generate text descriptions and prompts from images
  - **Imagine** - Generate a 2x2 image grid from text prompts
  - **Outpaint** - Extend images in specified directions
  - **Pan** - Extend the image canvas with scale ratio
  - **Reroll** - Regenerate images using the same prompt
  - **Shorten** - Analyze and shorten prompts to key elements
  - **Upscale** - Upscale images from generated grids
  - **Variation** - Create variations of selected images with optional remix prompts

  ### 🎬 Video Resource
  Create and enhance dynamic videos:
  - **Extend Video** - Extend existing videos with seamless continuation
  - **Upscale Video** - Enhance video resolution and quality using AI
  - **Video Diffusion** - Generate dynamic videos from text prompts or images

  ### 📋 Job Resource
  Monitor and manage your generation tasks:
  - **Get Job** - Retrieve the status and results of any generation job

  ### 💰 Account Resource
  Manage your Legnext account:
  - **Get Balance** - Check your account balance and usage

  ## Credentials

  To use the Legnext node, you need to authenticate with your Legnext API key:

  1. Create a free account at [Legnext AI](https://legnext.ai)
  2. Navigate to your API settings to generate an API key
  3. In n8n, add new credentials for **Legnext API**
  4. Enter your API key
  5. Test the connection to ensure it works

  ## Usage

  ### Basic Workflow Example

  Here's a simple example of generating an image and upscaling it:

  1. **Imagine Operation**: Generate a 2x2 grid of images
     - Resource: `Image`
     - Operation: `Imagine`
     - Text Prompt: `"A beautiful sunset over snow mountains"`

  2. **Get Job Operation**: Wait for the job to complete
     - Resource: `Job`
     - Operation: `Get Job`
     - Job ID: `{{ $json.job_id }}`

  3. **Upscale Operation**: Upscale your favorite image
     - Resource: `Image`
     - Operation: `Upscale`
     - Job ID: `{{ $json.job_id }}`
     - Image Number: `0` (first image in the grid)

  ### Webhook Integration

  All operations support optional webhook callbacks. Add a callback URL to receive notifications when tasks complete:

  ```
  callback: https://your-webhook-endpoint.com/notify
  ```

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Legnext API Documentation](https://docs.legnext.ai)
  * [Legnext Website](https://legnext.ai)
  * [GitHub Repository](https://github.com/legnext-ai/n8n-nodes-legnext)

  ## License

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

  ## Support

  For support, please:
  - Open an issue on [GitHub](https://github.com/legnext-ai/n8n-nodes-legnext/issues)
  - Contact Legnext support at [Legnext AI](https://legnext.ai)
  - Join the n8n community forum for general n8n questions

  ---

  Made with ❤️ by the Legnext team

ai_documentation_summary:
  {"purpose":"The Legnext n8n node integrates with the Legnext AI API to generate and manipulate images and videos using Midjourney models directly within n8n workflows.","capabilities":["Generate images from text prompts (Imagine)","Create image variations (Variation)","Blend multiple images together (Blend)","Upscale images and videos (Upscale)","Extend video content (Extend Video)","Generate dynamic videos from text or images (Video Diffusion)","Analyze images to generate text descriptions (Describe)","Extend images in specified directions (Outpaint)","Regenerate images with same prompt (Reroll)","Shorten text prompts to key elements (Shorten)"],"authentication":"API key required","commonUseCases":["Automated content creation for social media","Workflow-based image generation and editing","Video production automation","Prompt optimization and analysis","Account management and monitoring"],"limitations":["Requires a separate Legnext AI account and API key","Depends on external Legnext API availability and rate limits","Webhook support is optional and requires external endpoint configuration"],"relatedNodes":["n8n-nodes-core.webhook","n8n-nodes-core.httpRequest","n8n-nodes-core.waitUntil"]}


node_type: @openhab/n8n-nodes-openhab.openHab
package_name: @openhab/n8n-nodes-openhab
display_name: openHAB
category: Community
development_style: declarative
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: openhabfoundation
author_github_url: https://github.com/openhab/openhab-n8n.git
npm_package_name: @openhab/n8n-nodes-openhab
npm_version: 0.4.7
community_fetched_at: 2026-03-25T21:19:40.628Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  Interact with openHAB through its REST API, including remote access via myopenHAB.org. Inline docs explain typical flows (send commands, query states, trigger rules, etc.).

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "item",
      "options": [
        {
          "name": "Item",
          "value": "item",
          "description": "Work with items: list, read state, send command, or update state. Great for toggling lights, reading sensors, or writing virtual switches."
        },
        {
          "name": "Thing",
          "value": "thing",
          "description": "Inspect things and their status."
        },
        {
          "name": "Rule",
          "value": "rule",
          "description": "List or trigger automation rules."
        },
        {
          "name": "System",
          "value": "system",
          "description": "Check system info for quick health checks."
        }
      ],
      "displayName": "Resource"
    }
  ]

npm_readme:
  # n8n openHAB Community Node

  <img align="right" width="220" src="./nodes/openHAB/openhab.svg" type="image/svg+xml"/>

  [![GitHub Actions Build Status](https://github.com/openhab/openhab-n8n/actions/workflows/ci-build.yml/badge.svg?branch=main)](https://github.com/openhab/openhab-n8n/actions/workflows/ci-build.yml)
  [![MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  Custom n8n node for interacting with the openHAB REST API, with optional myopenHAB cloud access.

  ## Features

  - Send commands or update state for items (lights, sensors, virtual switches, etc.).
  - Read item state, metadata, and list/filter items by tags.
  - Inspect things and their status.
  - List, trigger, enable/disable rules.
  - Fetch system info for quick health checks.
  - Works against local openHAB or remotely through `myopenhab.org`.

  ## Requirements

  - openHAB with REST API enabled (default on openHAB 3+).
  - For local: openHAB API token (Settings → API Security → Create Token).
  - For remote via myopenHAB: myopenHAB account email + password. Optionally add an openHAB API token for admin-level endpoints.
  - n8n 1.0+ with custom nodes enabled.

  ## Installation

  1. Install from npm in n8n:
     - **n8n UI**: Settings -> Community Nodes -> Install and enter `@openhab/n8n-nodes-openhab`
     - **CLI (in your n8n deployment)**: `npm install @openhab/n8n-nodes-openhab`
  2. Restart n8n so it discovers the new node.

  ### Local development install

  1. Build the node:
     ```bash
     npm install
     npm run build
     ```
  2. Point n8n custom extensions to this project path with `N8N_CUSTOM_EXTENSIONS` (or copy `dist` into your custom nodes directory).
  3. Restart n8n.

  ## Usage

  1. Add the **openHAB** node to a workflow.
  2. Set credentials:
     - **Local**: Base URL (e.g., `http://localhost:8080`) + API token.
     - **Cloud (myopenHAB)**: Choose “myopenHAB Account” in credentials and enter your myopenHAB login. If needed, set optional **openHAB API Token (optional)** to send `X-OPENHAB-TOKEN`.
  3. Choose a resource:
     - **Item**: list/get/state/command/update/metadata.
     - **Thing**: list/get/status.
     - **Rule**: list/run/enable/disable.
     - **System**: system info.
  4. Execute the node; outputs are JSON objects ready for downstream n8n steps.

  ### Usage examples

  1. Read a light state:
     - Resource: `Item`
     - Operation: `Get State`
     - Item Name: `LivingRoomLight`
  2. Turn a switch on:
     - Resource: `Item`
     - Operation: `Send Command`
     - Item Name: `KitchenSwitch`
     - Command: `ON`
  3. Run a rule:
     - Resource: `Rule`
     - Operation: `Run`
     - Rule UID: `evening_scene`

  ### Notes

  - Authentication is applied through the credential type (used by `httpRequestWithAuthentication`), so each request automatically uses the selected auth mode.
  - In myopenHAB cloud mode, you can add an optional openHAB API token for endpoints that require elevated permissions.
  - Self-signed certificates are supported only for local openHAB HTTPS, not for myopenHAB cloud authentication.
  - When sending commands, use values your item accepts (e.g., `ON`, `OFF`, `22`, `50%`, `UP`, `DOWN`).

  ## Development

  - Lint: `npm run lint`
  - Build: `npm run build`
  - TypeScript config targets Node 18+.

  ## License

  MIT. See [LICENSE](LICENSE).

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation workflows to interact with openHAB systems via its REST API, supporting both local installations and remote access through myopenHAB cloud services.","capabilities":["Send commands to update item states (lights, sensors, virtual switches)","Read item state, metadata, and list/filter items by tags","Inspect things and their current status","List, trigger, enable, and disable automation rules","Fetch system information for health checks","Support for local openHAB instances and myopenHAB cloud","Authentication via API tokens or myopenHAB account credentials"],"authentication":"API token (local) or myopenHAB account credentials (cloud); optional openHAB API token for elevated permissions","commonUseCases":["Automate smart home device control (turn on/off lights, adjust thermostats)","Monitor sensor states and trigger actions based on thresholds","Execute automation rules remotely from n8n workflows","Perform system health checks on openHAB instances"],"limitations":["Self-signed certificates are only supported for local openHAB HTTPS, not for myopenHAB cloud","Requires openHAB with REST API enabled (default on openHAB 3+)","Requires n8n 1.0+ with custom nodes enabled"],"relatedNodes":["httpRequest","if","delay","trigger"]}


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

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

operations:
  [{"operation":"generate","name":"Generate","description":"Generate documentation from source code","resource":"codeDocumentation"},{"operation":"generate","name":"Generate","description":"Generate test cases from source code","resource":"codeTests"},{"operation":"generate","name":"Generate","description":"Generate comments for source code","resource":"codeComments"},{"operation":"generate","name":"Generate","description":"Generate UML diagram from source code","resource":"umlDiagram"},{"operation":"optimize","name":"Optimize","description":"Optimize and refactor source code","resource":"codeOptimization"},{"operation":"getAll","name":"Get All","description":"Get all generations","resource":"generations"},{"operation":"get","name":"Get","description":"Get a specific generation","resource":"generations"},{"operation":"getAll","name":"Get All","description":"Get all generations","resource":"generations"},{"operation":"get","name":"Get","description":"Get a specific generation","resource":"generations"},{"operation":"get","name":"Get","description":"Get user account information","resource":"userInfo"}]

npm_readme:
  # n8n-nodes-docuwriter-ai

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

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

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

  ## Features

  ### 🔧 Core Capabilities

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

  ### 📚 Use Cases

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

  ## Installation

  ### Prerequisites

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

  ### Installation Methods

  #### Community Nodes (Recommended)

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

  #### Manual Installation

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

  ## Configuration

  ### 1. Get Your API Token

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

  ### 2. Configure Credentials in n8n

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

  ## How It Works

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

  ### Integration Architecture

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

  ### Action Node Workflow

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

  ### Trigger Node Workflow

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

  ## Usage

  The DocuWriter.ai integration provides two main node types:

  ## Action Node

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

  ### Resources

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

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

  #### Code Tests
  Generate automated test suites.

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

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

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

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

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

  #### Generations
  Retrieve previously generated content.

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

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

  ## Trigger Node

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

  ### Supported Events

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

  ### Event Filtering

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

  ### Webhook Payload Structure

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

  ## Examples

  ### Basic Code Documentation

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

  ### Generate Tests

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

  ### Create UML Class Diagram

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

  ## Workflow Examples

  ### Example: Automated Code Quality Pipeline

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

  ### Example: Real-time Generation Processing

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

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

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

  ## API Reference

  ### Response Format

  All DocuWriter.ai API responses follow this format:

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

  ### Error Handling

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

  ## Troubleshooting

  ### Common Issues

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

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

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

  ### Debug Mode

  Enable debug logging in n8n to troubleshoot issues:

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

  ## Support

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

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

  ## Contributing

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

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

  ## License

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

  ## Changelog

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

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

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

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

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

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

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

  ---

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

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with DocuWriter.ai to automate code documentation, test generation, UML diagram creation, and code optimization using AI.","capabilities":["Generate comprehensive code documentation from source code","Create automated test suites with framework auto-detection","Generate UML diagrams (class, sequence, use case, activity, component, state, object)","Provide AI-powered code optimization suggestions","Retrieve previously generated content by ID or list all generations","Check account status and credit balance","Support webhook triggers for real-time event responses"],"authentication":"API key required (DocuWriter.ai API token)","commonUseCases":["Automatically generate documentation on code commits in CI/CD pipelines","Create test suites for new features during development","Generate architectural diagrams and optimization suggestions for code reviews","Maintain project documentation automatically"],"limitations":["Requires n8n version 0.198.0 or later","Requires a separate DocuWriter.ai account and API token","Documentation mode is always set to 'Accurate' and cannot be changed"],"relatedNodes":["GitHub Webhook","GitLab Webhook","Google Drive","Slack","Discord"]}


node_type: @reportei/n8n-nodes-reportei.reportei
package_name: @reportei/n8n-nodes-reportei
display_name: Reportei
description: Perform actions with Reportei API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: pgabriel20
author_github_url: https://github.com/reportei/reportei-n8n-node.git
npm_package_name: @reportei/n8n-nodes-reportei
npm_version: 0.1.5
community_fetched_at: 2026-03-25T21:19:40.630Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "report",
      "options": [
        {
          "name": "Report",
          "value": "report"
        },
        {
          "name": "Dashboard",
          "value": "dashboard"
        },
        {
          "name": "Timeline",
          "value": "timeline"
        }
      ],
      "required": true,
      "description": "Choose which resource you want to operate on",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create a Report",
          "value": "create",
          "action": "Create a report",
          "description": "Creates a new report in Reportei"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a dashboard",
          "description": "Create a new dashboard in Reportei"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Add event to timeline",
          "description": "Add an event (milestone) to the timeline in Reportei"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "timeline"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create a Report","description":"Creates a new report in Reportei","resource":"report"},{"operation":"create","name":"Create","description":"Create a new dashboard in Reportei","resource":"dashboard"},{"operation":"create","name":"Create","description":"Add an event (milestone) to the timeline in Reportei","resource":"timeline"}]

npm_readme:
  # n8n-nodes-reportei

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

  **Reportei** is a reporting and dashboard platform that helps you generate marketing reports, track timelines, and automate analytics. With this node, you can create reports, dashboards, and timeline events, as well as trigger workflows on various events happening in your Reportei account.

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

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

  ## Installation

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

  Once installed, you can select **Reportei** and **Reportei Trigger** in your n8n workflows to interact with the Reportei API.

  ## Operations

  The **Reportei** node offers the following _actions_ (operations):

  - **Create Report**: Create a marketing report, specifying the project, integrations, date ranges, titles, and optionally select a template.  
  - **Create Dashboard**: Create a custom dashboard linked to a project, with selected integrations, date ranges, and optionally select a template.  
  - **Add Event to Timeline**: Insert a milestone or note into a project’s report timeline.

  The **Reportei Trigger** node supports these _events_ (webhooks):

  - **Report Created**  
  - **Report Viewed**  
  - **Dashboard Created**  
  - **Automation Executed**  
  - **Control Goal Met**  
  - **Control Goal Not Met**  
  - **Timeline Milestone Added**

  ## Credentials

  To use this node, you need a **Reportei API** token (Bearer token).  
  1. **Get your token** from the Reportei account page.  
  2. In n8n, create a new credential called **Reportei API** and paste your token.  
  3. Use this credential in the **Reportei** or **Reportei Trigger** node.

  For webhooks, the node will automatically register or unregister a webhook subscription in your Reportei account if you use the **Reportei Trigger** node. You only need to provide valid credentials and set the correct event type.

  ## Compatibility

  - **Minimum n8n version**: 1.85.0 (or whichever you have tested).  
  - The node is developed and tested against **Reportei**’s [API v1](https://app.reportei.com/docs/api).  
  - No known incompatibilities, but you must enable **community nodes** in n8n’s settings for installation.

  ## Usage

  1. In your n8n instance, install the node via one of the methods described in the community nodes [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).  
  2. Create or select a credential for **Reportei API**.  
  3. **Actions** node (Reportei):
     - Drag the **Reportei** node into your workflow.  
     - Select your resource (Report, Dashboard, or Timeline) and the operation (create).  
     - Fill the required fields, such as “Project ID”, “Integrations”, “Title”, etc.  
     - Execute the workflow to see the results.
  4. **Trigger** node (Reportei Trigger):
     - Drag the **Reportei Trigger** node into your workflow.  
     - Choose an event type (e.g., “report_created”).  
     - (Optional) If you are running n8n locally or behind a tunnel, fill **Custom Webhook Base URL** with your public domain (for example, `https://your-domain.tld`). This replaces the default localhost address in the webhook registration, ensuring external services (Reportei) can reach your n8n instance.  
     - Activate the workflow. The node will register a webhook at Reportei.  
     - Once the event occurs, n8n will receive a POST request at your specified domain and trigger your workflow.

  If you need more help with n8n basics, check out the [Try it out](https://docs.n8n.io/try-it-out/) documentation.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)  
  - [Reportei API documentation](https://app.reportei.com/docs/api)  
  - [n8n official docs](https://docs.n8n.io/)

  ## Version history

  - **0.1.0**  
    - Initial release of the **n8n-nodes-reportei** package.  
    - Added actions: Create Report, Create Dashboard, Add Timeline Event.  
    - Added triggers for 6 events: `report_created`, `dashboard_created`, `automation_executed`, `control_goal_met`, `control_goal_not_met`, `timeline_milestone`.

  - **0.1.1**  
    - Fixed minor bugs in the existing operations and triggers.

  - **0.1.2**  
    - Added the optional **Custom Webhook Base URL** input in the trigger node.  
    - Users can now specify a public domain (such as a tunnel URL) to replace localhost, making it easier to receive events behind NAT or local environments.

  - **0.1.3**  
    - **NEW**: Added optional **Template Selection** for Reports and Dashboards.  
    - Templates are now loaded dynamically based on the selected project.  
    - Enhanced API endpoint handling with multiple fallback URLs for better reliability.  
    - Improved error handling for template loading operations.

  - **0.1.4**  
    - **FIXED**: Added credential test functionality to validate API tokens.  
    - The node now includes automatic credential validation using the `/me` endpoint.  
    - This resolves the "Missing credential test" error during n8n community node verification.  
    - Improved user experience with immediate feedback on invalid credentials.

  - **0.1.5**  
    - **NEW**: Added 'Report Viewed' trigger event (`report_viewed`).  
    - **IMPROVED**: Made 'Project Name or ID' field optional in trigger configuration. Users can now create triggers without specifying a specific project, allowing for more flexible webhook configurations.  

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with the Reportei API to create marketing reports, dashboards, and timeline events, or to trigger workflows based on specific events within a Reportei account.","capabilities":["Create marketing reports with project and template selection","Create custom dashboards linked to projects","Add milestones or notes to project timelines","Trigger workflows on report creation","Trigger workflows on dashboard creation","Trigger workflows on automation execution","Trigger workflows when control goals are met or not met","Trigger workflows on timeline milestone addition","Trigger workflows when reports are viewed","Register and unregister webhook subscriptions"],"authentication":"API key required (Reportei API Bearer token)","commonUseCases":["Automating marketing report generation based on project milestones","Creating dynamic dashboards for project tracking","Receiving notifications when reports are viewed or automation runs","Integrating Reportei analytics into external n8n workflows"],"limitations":["Community node (requires enabling in n8n settings)","Requires Reportei API v1 compatibility","Minimum n8n version 1.85.0"],"relatedNodes":["Reportei Trigger","Community Nodes"]}


node_type: n8n-nodes-opnform.opnformTrigger
package_name: n8n-nodes-opnform
display_name: OpnForm Trigger
description: Triggers when a new submission is created in OpnForm
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: jhumanj
author_github_url: https://github.com/OpnForm/
npm_package_name: n8n-nodes-opnform
npm_version: 0.1.7
community_fetched_at: 2026-03-25T21:19:40.631Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # OpnForm n8n Trigger (Community Node)

  A custom n8n node that triggers workflows when new form submissions are received in OpnForm.

  ## What is OpnForm?

  OpnForm is an open-source form builder that allows you to create and manage forms, collect submissions, and integrate with various tools. This n8n integration enables you to automate workflows based on form submissions.

  **API Documentation**: [https://docs.opnform.com/api-reference/introduction](https://docs.opnform.com/api-reference/introduction)

  ## What this integration does

  This n8n trigger node automatically receives OpnForm submissions as webhook events in your n8n workflows. When a form is submitted in OpnForm, the integration sends the submission data to your n8n workflow, allowing you to:

  - Process form submissions automatically
  - Integrate with other services and tools
  - Transform and route submission data
  - Trigger complex multi-step workflows

  ## API Endpoints Used

  This integration uses the following OpnForm API endpoints:

  - `GET /open/workspaces` - Lists available workspaces for dropdown selection
  - `GET /open/workspaces/{workspaceId}/forms` - Lists forms in a workspace for dropdown selection
  - `GET /open/forms/{formId}/integrations` - Checks if an integration already exists
  - `POST /open/forms/{formId}/integrations` - Creates a webhook integration subscription
  - `DELETE /open/forms/{formId}/integrations/{integrationId}` - Removes the webhook integration

  ## Install (local development)

  ```bash
  # From this directory
  npm install
  npm run build
  ```

  Then in your n8n instance, install this package or load it as a local custom node per n8n docs.

  ## Release your node

  To publish your node to npm, run the `release` command in your project directory:

  ```bash
  n8n-node release
  ```

  Or using npm:

  ```bash
  npm run release
  ```

  Before running the release command, you must be logged into npm:

  ```bash
  npm login
  ```

  When you run the `release` command, `n8n-node` will perform the following actions:

  - Build the node
  - Run lint checks against your files
  - Update the changelog
  - Create git tags
  - Create a GitHub release
  - Publish the package to npm

  For more details, see the [n8n-node release documentation](https://docs.n8n.io/integrations/creating-nodes/build/n8n-node/#release-your-node).

  ## Authentication

  ### Creating a Personal Access Token

  To use this integration, you need a Personal Access Token from OpnForm with the `manage-integrations` ability.

  1. Sign in to your OpnForm account at [https://opnform.com](https://opnform.com)
  2. Navigate to **Settings → Access Tokens** (`/home?user-settings=access-tokens`)
  3. Click **Create new token**
  4. Enter a descriptive name (e.g., "n8n Integration")
  5. Select the `manage-integrations` ability (and any other abilities you need)
  6. Click **Create** and **copy the token immediately** - you won't be able to see it again

  For detailed instructions, see the [OpnForm API Keys documentation](https://docs.opnform.com/api-reference/api-keys).

  ### Required Abilities

  | Ability               | Required For                                              |
  | --------------------- | --------------------------------------------------------- |
  | `manage-integrations` | **Required** - Creating and managing webhook integrations |
  | `workspaces-read`     | **Required** - Listing workspaces for dropdown selection  |
  | `forms-read`          | **Required** - Listing forms for dropdown selection       |

  ### Configuring Credentials in n8n

  1. In your n8n workflow, add the OpnForm Trigger node
  2. Click on **Credentials** and select **Create New**
  3. Enter:
     - **Name**: `OpnForm API` (or any descriptive name)
     - **Base URL**: `https://api.opnform.com` (or your self-hosted OpnForm instance URL)
     - **API Key**: Your Personal Access Token
  4. Click **Save** and select this credential in the OpnForm Trigger node

  ## Usage Instructions

  ### Setting Up the Trigger

  1. **Add the OpnForm Trigger node** to your n8n workflow
  2. **Select your credentials** (or create new ones as described above)
  3. **Choose a Workspace** from the dropdown menu
  4. **Choose a Form** from the dropdown menu (forms will load after selecting a workspace)
  5. **Activate the workflow** - The node will automatically:
     - Create a webhook integration in OpnForm
     - Configure the webhook URL to receive submissions
     - Start listening for new form submissions

  ### Workflow Activation

  When you activate your n8n workflow:

  - The OpnForm Trigger node will create a webhook integration subscription
  - OpnForm will send a POST request to your n8n webhook URL whenever the form receives a submission
  - The submission data will be available in subsequent workflow nodes

  ### Workflow Deactivation

  When you deactivate your n8n workflow:

  - The OpnForm Trigger node will automatically delete the webhook integration
  - No further submissions will be sent to your workflow

  ## Example Workflows

  ### Example 1: Send Form Submission to Slack

  ```
  OpnForm Trigger → Set Node (format message) → Slack Node (send message)
  ```

  **Workflow Steps:**

  1. **OpnForm Trigger** - Receives form submission
  2. **Set Node** - Format the submission data into a Slack-friendly message:
     ```json
     {
     	"text": "New form submission received!",
     	"fields": [
     		{
     			"title": "From",
     			"value": "{{ $json.submitter_email }}",
     			"short": true
     		},
     		{
     			"title": "Submission ID",
     			"value": "{{ $json.id }}",
     			"short": true
     		}
     	]
     }
     ```
  3. **Slack Node** - Send the formatted message to a Slack channel

  ### Example 2: Save Submissions to Google Sheets

  ```
  OpnForm Trigger → Transform Data → Google Sheets Node (append row)
  ```

  **Workflow Steps:**

  1. **OpnForm Trigger** - Receives form submission
  2. **Code Node** - Transform submission data to match your Google Sheets columns:
     ```javascript
     const submission = $input.item.json;
     return {
     	json: {
     		timestamp: submission.created_at,
     		email: submission.data.email || '',
     		name: submission.data.name || '',
     		message: submission.data.message || '',
     	},
     };
     ```
  3. **Google Sheets Node** - Append the transformed data as a new row

  ### Example 3: Conditional Email Notifications

  ```
  OpnForm Trigger → IF Node (check condition) → Email Node (send notification)
  ```

  **Workflow Steps:**

  1. **OpnForm Trigger** - Receives form submission
  2. **IF Node** - Check if submission meets certain criteria (e.g., `{{ $json.data.urgency }} === 'high'`)
  3. **Email Node** - Send an email notification only for high-priority submissions

  ## How it works

  1. **Load Options**: When configuring the node, it fetches Workspaces and Forms via `/open/workspaces` and `/open/workspaces/{workspaceId}/forms` to populate dropdown menus.
  2. **On Enable**: The node subscribes by creating a form integration with `integration_id: 'n8n'` and your n8n webhook URL via `POST /open/forms/{formId}/integrations`.
  3. **On Disable**: The node automatically deletes the created integration via `DELETE /open/forms/{formId}/integrations/{integrationId}`.
  4. **Webhook Receipt**: When a form submission occurs, OpnForm sends the submission data to your n8n webhook URL, and the payload is forwarded as JSON to the workflow.

  ## License

  Licensed under the MIT License. See [LICENSE](./LICENSE) for details.

ai_documentation_summary:
  {"purpose":"Triggers n8n workflows automatically when new form submissions are received in an OpnForm instance by creating and managing webhook integrations.","capabilities":["Receive real-time form submission data via webhooks","Automatically process form submissions","Integrate with other services and tools","Transform and route submission data","Trigger complex multi-step workflows","Create webhook integration subscriptions","Delete webhook integration subscriptions when workflow is deactivated","List available workspaces and forms for configuration"],"authentication":"Personal Access Token (API Key) with specific abilities required","commonUseCases":["Send form submission data to Slack or other messaging platforms","Save form submissions to Google Sheets or databases","Automate follow-up emails based on form responses","Route submissions to different internal systems based on form fields","Create automated reports from form data"],"limitations":["Requires OpnForm Personal Access Token with 'manage-integrations', 'workspaces-read', and 'forms-read' abilities","Webhook integration is created/destroyed based on workflow activation state","Requires OpnForm instance access (self-hosted or cloud)","Community node status (may not be officially maintained)"],"relatedNodes":["OpnForm Form","OpnForm Form Fields","OpnForm Form Actions","OpnForm Form Templates","OpnForm Form Submissions"]}


node_type: @docuseal/n8n-nodes-docuseal.docuseal
package_name: @docuseal/n8n-nodes-docuseal
display_name: DocuSeal
description: Create, send, and sign documents
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: petem
author_github_url: https://github.com/docusealco/n8n-nodes-docuseal.git
npm_package_name: @docuseal/n8n-nodes-docuseal
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:40.631Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "createSubmission",
      "options": [
        {
          "name": "Create Submission",
          "value": "createSubmission",
          "action": "Create submission",
          "description": "Create a signature request from template"
        },
        {
          "name": "Create Submission From DOCX",
          "value": "createSubmissionFromDocx",
          "action": "Create submission from DOCX",
          "description": "Create a signature request from DOCX file with dynamic variables"
        },
        {
          "name": "Create Submission From HTML",
          "value": "createSubmissionFromHtml",
          "action": "Create submission from HTML",
          "description": "Create a signature request from HTML content"
        },
        {
          "name": "Create Submission From PDF",
          "value": "createSubmissionFromPdf",
          "action": "Create submission from PDF",
          "description": "Create a signature request from PDF document"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Submission",
      "value": "createSubmission",
      "action": "Create submission",
      "description": "Create a signature request from template"
    },
    {
      "name": "Create Submission From DOCX",
      "value": "createSubmissionFromDocx",
      "action": "Create submission from DOCX",
      "description": "Create a signature request from DOCX file with dynamic variables"
    },
    {
      "name": "Create Submission From HTML",
      "value": "createSubmissionFromHtml",
      "action": "Create submission from HTML",
      "description": "Create a signature request from HTML content"
    },
    {
      "name": "Create Submission From PDF",
      "value": "createSubmissionFromPdf",
      "action": "Create submission from PDF",
      "description": "Create a signature request from PDF document"
    }
  ]

npm_readme:
  # n8n-nodes-docuseal

  This is an **n8n community node** that allows you to integrate [DocuSeal](https://www.docuseal.com) with your n8n workflows.

  [DocuSeal](https://www.docuseal.com) is a modern document signing platform that lets you securely collect legally binding electronic signatures online. You can create templates, send signature requests, and automate your signing process with ease.

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

  ## Installation

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

  ### Community Nodes (Recommended)

  For n8n cloud or instances with UI access:

  1. Go to **Settings → Community Nodes** in your n8n dashboard.
  2. Click **Install**.
  3. Enter `@docuseal/n8n-nodes-docuseal` in the **Enter npm package name** field.
  4. Accept the [community node usage risks](https://docs.n8n.io/integrations/community-nodes/risks/).
  5. Click **Install** to complete setup.

  ### npm Installation

  To install manually in your n8n root directory:

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

  ### Docker Installation

  For Docker users, add the package to your setup using environment variables:

  **docker-compose.yml:**
  ```yaml
  services:
    n8n:
      image: docker.n8n.io/n8nio/n8n
      environment:
        - N8N_COMMUNITY_PACKAGES=@docuseal/n8n-nodes-docuseal
      ports:
        - "5678:5678"
      volumes:
        - ~/.n8n:/home/node/.n8n
  ```

  **Docker run command:**
  ```bash
  docker run -it --rm \
    --name n8n \
    -p 5678:5678 \
    -e N8N_COMMUNITY_PACKAGES="@docuseal/n8n-nodes-docuseal" \
    -v ~/.n8n:/home/node/.n8n \
    docker.n8n.io/n8nio/n8n
  ```

  ## Operations

  This package includes two nodes:

  ### DocuSeal Node

  The main node for creating and managing signature requests.

  #### Create Submission
  Create a signature request from an existing template.

  **Features:**
  - Select from your existing templates
  - Define multiple signers with their details
  - Pre-fill form fields
  - Customize email notifications
  - Set expiration dates
  - Configure signing order (sequential or random)

  #### Create Submission From DOCX
  Create a signature request from DOCX files with dynamic content.

  **Features:**
  - Upload DOCX or PDF files
  - Use dynamic variables for content replacement
  - Merge multiple documents
  - Define signers with roles
  - Support for template merging

  #### Create Submission From HTML
  Generate signature requests from HTML content.

  **Features:**
  - HTML document content with field tags
  - Custom headers and footers
  - Multiple page sizes (Letter, A4, Legal, etc.)
  - Merge with existing templates
  - Convert HTML to PDF automatically

  #### Create Submission From PDF
  Create signature requests from PDF documents.

  **Features:**
  - Upload PDF files (Base64 or URL)
  - Flatten PDF form fields
  - Remove or preserve text tags
  - Merge multiple PDFs
  - Template integration

  ### DocuSeal Trigger Node

  Webhook-based trigger for DocuSeal events.

  #### Signing Form Completed
  Triggers when a single signer completes their signing form.

  **Use cases:**
  - Send notifications to internal teams
  - Update CRM records
  - Trigger follow-up workflows

  #### Submission Completed
  Triggers when all parties complete the signing process.

  **Use cases:**
  - Archive completed documents
  - Send completion notifications
  - Update databases with signed document URLs
  - Generate invoices or contracts

  ## Credentials

  You'll need your **DocuSeal API key** to connect n8n to your account.

  ### Getting Your API Key

  1. Create an account at [DocuSeal Global](https://docuseal.com/sign_in) or [DocuSeal Europe](https://docuseal.eu/sign_in)
  2. Go to **Settings → Console → API**
  3. Copy an API key for your account

  ### Setting Up Credentials in n8n

  1. In n8n, click on **Credentials** in the left sidebar
  2. Click **Add Credential**
  3. Search for "DocuSeal" and select **DocuSeal API**
  4. Fill in the following fields:
     - **API Key** – your generated API key
     - **Server** – choose between *Global Server* or *Europe Server*
  5. Click **Save**

  ### Authentication Methods

  This node supports two authentication methods:

  - **Access Token** (recommended) - Use your API key directly
  - **OAuth2** - For more secure integrations (requires app setup)

  ## Compatibility

  - **n8n** version `0.187.0` or later
  - **Node.js** version `18.10` or later

  ## Usage Examples

  ### Example 1: Automated Contract Signing

  Send contracts for signing whenever a new deal is created in your CRM:

  1. **Trigger**: CRM Trigger (e.g., HubSpot, Salesforce)
  2. **DocuSeal Node**: Create Submission
     - Template: "Sales Contract"
     - Signer Email: `{{$json.contact_email}}`
     - Pre-fill fields with deal data
  3. **Slack Node**: Notify sales team

  ### Example 2: Onboarding Automation

  Automatically send onboarding documents to new employees:

  1. **Trigger**: HR System Webhook
  2. **DocuSeal Node**: Create Submission From DOCX
     - Upload employee handbook
     - Variables: Employee name, start date, department
     - Signers: New employee + HR manager
  3. **Email Node**: Send welcome email with signing link

  ### Example 3: Document Archive Workflow

  Archive completed documents automatically:

  1. **DocuSeal Trigger**: Submission Completed
  2. **HTTP Request Node**: Download signed PDF
  3. **Google Drive Node**: Upload to archive folder
  4. **Database Node**: Update records with document URL

  ### Example 4: Multi-Party Signing

  Send documents requiring multiple signatures in sequence:

  1. **Google Sheets Trigger**: New row in contracts sheet
  2. **DocuSeal Node**: Create Submission
     - Signers Order: "Preserved"
     - Signer 1: Client
     - Signer 2: Account Manager
     - Signer 3: Legal Team
  3. **Slack Node**: Notify when all parties sign

  ## Advanced Features

  ### Pre-filling Form Fields

  You can pre-fill form fields in your templates using the `Values` parameter in submitters:

  ```json
  {
    "field": "Company Name",
    "value": "{{$json.company}}"
  }
  ```

  ### Custom Email Notifications

  Customize the email sent to signers:

  - **Email Subject**: Your custom subject line
  - **Email Body**: Your custom message (supports plain text)
  - **Reply-To**: Set a custom reply-to address
  - **BCC**: Add BCC recipients for completed documents

  ### Metadata and External IDs

  Track your documents by adding:

  - **External ID**: Your internal reference ID
  - **Metadata**: Custom key-value pairs for additional data

  ### Expiration Dates

  Set expiration dates for signature requests:
  - After expiration, the signing link becomes unavailable
  - Use ISO 8601 format: `2025-12-31T23:59:59Z`

  ## Troubleshooting

  ### 🧩 Common Issues

  #### 🔑 Invalid API Key error
  **Solution:** Verify your API key is correct and matches the selected server (Global/Europe)

  #### 📄 Template not found
  **Solution:** Ensure the template exists in your DocuSeal account and is not archived

  #### 🌐 Webhook not triggering
  **Solution:** Check that your n8n instance is publicly accessible and the webhook is properly registered

  #### 📚 Documents not merging
  **Solution:** Verify that all documents are valid PDFs or DOCX files and properly encoded

  ### Getting Help

  If you encounter issues:

  1. Check the [DocuSeal API documentation](https://www.docuseal.com/docs/api)
  2. Visit the [n8n community forum](https://community.n8n.io/)
  3. Open an issue on [GitHub](https://github.com/docusealco/n8n-nodes-docuseal/issues)

  ## Resources

  - [DocuSeal Website](https://www.docuseal.com)
  - [DocuSeal API Reference](https://www.docuseal.com/docs/api)
  - [DocuSeal Webhooks Documentation](https://www.docuseal.com/docs/api#form-webhook)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [n8n Community Forum](https://community.n8n.io/)

  ## Support

  - 📧 Email: support@docuseal.com
  - 💬 Community: [n8n Community Forum](https://community.n8n.io/)
  - 🐛 Issues: [GitHub Issues](https://github.com/docusealco/n8n-nodes-docuseal/issues)

  ## License

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

ai_documentation_summary:
  {"purpose":"This n8n community node integrates DocuSeal, a document signing platform, to create, send, and manage legally binding electronic signature requests within automated workflows.","capabilities":["Create signature requests from existing templates","Create signature requests from DOCX files with dynamic content","Create signature requests from HTML content","Create signature requests from PDF files","Define multiple signers with roles and signing order (sequential or random)","Pre-fill form fields with dynamic variables","Configure email notifications and expiration dates","Merge multiple documents","Webhook triggers for signing form completion","Webhook triggers for full submission completion"],"authentication":"API Key (Access Token) or OAuth2","commonUseCases":["Automated contract signing for sales deals","Employee onboarding document collection","Multi-party document signing workflows","Document archiving after signing completion","CRM integration for signature status updates"],"limitations":["Community node (may have fewer updates or support than official nodes)","Requires separate DocuSeal account and API key setup","Minimum n8n version 0.187.0 required","Minimum Node.js version 18.10 required"],"relatedNodes":["HTTP Request Node","Email Node","Google Drive Node","Database Node","Slack Node"]}


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

updated_at: 2026-03-25 21:19:40
author_name: craftmypdf
author_github_url: https://github.com/craftmypdf/
npm_package_name: n8n-nodes-craftmypdf
npm_version: 0.2.1
community_fetched_at: 2026-03-25T21:19:40.632Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  Create beautiful PDF documents with ease using our drag-and-drop template editor. Start from ready-made templates for invoices, certificates, receipts, contracts, and more.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "account",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "PDF",
          "value": "pdf"
        },
        {
          "name": "Transaction",
          "value": "transaction"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get account information",
          "description": "Get account information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an image",
          "description": "Creates an image file with JSON data and your template"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a PDF",
          "description": "Creates a PDF file with JSON data and your template"
        },
        {
          "name": "Create Async",
          "value": "createAsync",
          "action": "Create a PDF asynchronously",
          "description": "Creates a PDF file asynchronously with JSON data and your template. The API returns immediately and once the PDF document is generated, it will make a HTTP/HTTPS GET to your URL (will retry for 3 times before giving up)."
        },
        {
          "name": "Merge",
          "value": "merge",
          "action": "Merge multiple PDF files",
          "description": "Merges multiple PDF URLs"
        },
        {
          "name": "Add Watermark",
          "value": "addWatermark",
          "action": "Add watermark",
          "description": "Add watermark to a PDF"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List transactions",
          "description": "List transactions"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transaction"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"get","name":"Get","description":"Get account information","resource":"account"},{"operation":"create","name":"Create","description":"Creates an image file with JSON data and your template","resource":"image"},{"operation":"create","name":"Create","description":"Creates a PDF file with JSON data and your template","resource":"pdf"},{"operation":"createAsync","name":"Create Async","description":"Creates a PDF file asynchronously with JSON data and your template. The API returns immediately and once the PDF document is generated, it will make a HTTP/HTTPS GET to your URL (will retry for 3 times before giving up).","resource":"pdf"},{"operation":"merge","name":"Merge","description":"Merges multiple PDF URLs","resource":"pdf"},{"operation":"addWatermark","name":"Add Watermark","description":"Add watermark to a PDF","resource":"pdf"},{"operation":"list","name":"List","description":"List transactions","resource":"transaction"}]

npm_readme:
  # n8n-nodes-craftmypdf

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

  [CraftMyPDF](https://craftmypdf.com) offers PDF generation API and image generation API. CraftMyPDF's advanced drag & drop editor lets you design PDF templates in any browser and generate pixel-perfect PDF documents from reusable templates and data with no-code platforms such as N8n, Zapier, Make, Bubble.io or REST API.

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

  The sections:

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

  ## Installation

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

  ## Operations

  The following are the options:

  | Name          | Operation      | Description                                                                                                                  | Action                      | Documentation Link                                                                              |
  | ------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------- |
  | Create        | `create`       | Creates a PDF file with JSON data and your template.                                                                         | Create a PDF                | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Generation-API/operation/create)          |
  | Create Image  | `create-image` | Creates an image file with JSON data and your template.                                                                      | Create an image             | [Link](https://craftmypdf.com/docs/index.html#tag/Image-Generation-API/operation/create-image)  |
  | Create Async  | `createAsync`  | Creates a PDF file asynchronously with JSON data and your template. The API returns immediately, and will retry for 3 times. | Create a PDF asynchronously | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Generation-API/operation/create-async)    |
  | Merge         | `merge`        | Merges multiple PDF URLs.                                                                                                    | Merge multiple PDF files    | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Manipulation-API/operation/merge-pdfs)    |
  | Add Watermark | `addWatermark` | Adds a watermark to a PDF.                                                                                                   | Add watermark               | [Link](https://craftmypdf.com/docs/index.html#tag/PDF-Manipulation-API/operation/add-watermark) |

  ## Credentials

  You only need a CraftMyPDF API Key for this, you can get it in the API Integration tab in the web portal.

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Usage

  Please check out the [CraftMyPDF API Reference](https://craftmypdf.com/docs/index.html) for more information on how to use the integration.

  Please check out the [N8n integration tutorial](https://craftmypdf.com/blog/automate-pdf-generation-with-n8n-and-craftmypdf/) for more information.

  ## License

  CraftMyPDF/n8n-nodes-craftmypdf is licensed under the [MIT License](LICENSE.md).

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [CraftMyPDF API Reference](https://craftmypdf.com/docs/index.html)

ai_documentation_summary:
  {"purpose":"Generates PDF documents and images from reusable templates using the CraftMyPDF API, supporting both synchronous and asynchronous operations.","capabilities":["Create PDF files from JSON data and templates","Create image files from JSON data and templates","Generate PDFs asynchronously with automatic retry logic","Merge multiple PDF files","Add watermarks to PDFs","Access drag-and-drop template editor for invoice, certificate, receipt, and contract templates"],"authentication":"API key required","commonUseCases":["Automated invoice generation","Certificate creation and distribution","Receipt generation for e-commerce","Contract document assembly","Bulk document processing with retry logic"],"limitations":["Requires valid CraftMyPDF API key","Compatible only with n8n version 1.60.0 or later"],"relatedNodes":["n8n-nodes-craftmypdf.craftMyPdf"]}


node_type: n8n-nodes-sinergiacrm.sinergiaCrm
package_name: n8n-nodes-sinergiacrm
display_name: SinergiaCRM
description: Perform operations on any module in SinergiaCRM (SuiteCRM API).
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: tecnologia-solidaria
author_github_url: https://github.com/Tecnologia-Solidaria/
npm_package_name: n8n-nodes-sinergiacrm
npm_version: 2.0.0
community_fetched_at: 2026-03-25T21:19:40.632Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all records"
        },
        {
          "name": "Get One",
          "value": "getOne",
          "action": "Get a single record"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new record"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a record"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a record"
        },
        {
          "name": "Get Relationships",
          "value": "getRelationships",
          "action": "Get related records"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all records"
    },
    {
      "name": "Get One",
      "value": "getOne",
      "action": "Get a single record"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new record"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a record"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a record"
    },
    {
      "name": "Get Relationships",
      "value": "getRelationships",
      "action": "Get related records"
    }
  ]

npm_readme:
  # n8n-nodes-sinergiacrm

  A generic n8n node to operate with any SinergiaCRM (SuiteCRM 7.x+) module via the official JSON API.

  Supports CRUD operations, dynamic module and field discovery (including custom fields), advanced filtering, pagination, and relationship retrieval.

  ---

  ## Features

  - **Full CRUD** – Create, read, update, and delete any SuiteCRM module
  - **Dynamic discovery** – Auto-lists modules and fields, including custom fields
  - **Advanced filtering** – Filter records using operators, custom fields, pagination
  - **Relationship handling** – Retrieve related records from any entity
  - **OAuth2 authentication** – Native SuiteCRM client credentials flow
  - **Robust error handling** – Clear errors and maintainable structure

  ---

  ## Installation

  ```bash
  pnpm add n8n-nodes-sinergiacrm
  ```

  Or with npm:

  ```bash
  npm install n8n-nodes-sinergiacrm
  ```

  Add to your instance following [n8n's custom node guide](https://docs.n8n.io/integrations/creating-nodes/code/create-node/).

  ---

  ## Usage

  ### 1. Credentials

  - Create credentials in n8n of type **SinergiaCRM API**
  - Fill in your SuiteCRM domain, Client ID, and Client Secret  
    *(see SuiteCRM → Admin → OAuth2 Clients)*

  ### 2. Node Configuration

  - **Module:** Auto-discovered list from your API
  - **Operation:** Choose from Get All, Get One, Create, Update, Delete, Get Relationships
  - **Parameters:** Filters, IDs, pagination, or JSON payloads depending on operation

  ### 3. Example – Create a Contact

  Input data:
  ```json
  {
    "first_name": "John",
    "last_name": "Doe",
    "email1": "john.doe@example.com"
  }
  ```

  ---

  ## Supported Operations

  | Operation         | Description                                   |
  |------------------|-----------------------------------------------|
  | Get All          | Fetch records with optional filters & paging  |
  | Get One          | Retrieve a single record by ID                |
  | Create           | Add a new record (JSON fields)                |
  | Update           | Modify a record (PATCH with JSON)             |
  | Delete           | Remove a record by ID                         |
  | Get Relationships| Fetch related records of a module by ID       |

  ---

  ## Requirements

  - SuiteCRM 7.x+ with API and OAuth2 enabled
  - All modules and fields are fetched dynamically
  - For 1:N relations, set the "parent" ID on the child (SuiteCRM logic)
  - Tested against SuiteCRM v7+ JSON API

  ---

  ## Troubleshooting

  - `access_token` missing → Check credentials or OAuth2 setup
  - `405 Method Not Allowed` → PATCH may not be enabled in your SuiteCRM
  - Any API error is returned as node output for transparency

  ---

  ## Contributing

  Contributions welcome!  
  Feel free to open issues or PRs.

  ---

  ## License

  MIT

  ---

  **Maintainer:** Javier Quilez Cabello / [tecnologiasolidaria.org](https://tecnologiasolidaria.org)  
  **Support:** [SuiteCRM Forums](https://community.suitecrm.com/)  
  **Source:** [GitHub](https://github.com/tecnologiasolidaria/n8n-nodes-sinergiacrm)  
  **Docs:** [SuiteCRM JSON API](https://docs.suitecrm.com/developer/api/developer-setup-guide/json-api/)

ai_documentation_summary:
  {"purpose":"A generic n8n node that performs CRUD operations and data retrieval on any module in SinergiaCRM (SuiteCRM 7.x+) using the official JSON API.","capabilities":["Create new records","Read all records with filtering","Read single record by ID","Update existing records","Delete records","Retrieve related records","Dynamic module and field discovery","Advanced filtering with operators","Pagination support","OAuth2 client credentials authentication"],"authentication":"OAuth2 (Client Credentials Flow)","commonUseCases":["Automating data entry into SuiteCRM","Syncing customer data between systems","Retrieving contact lists with custom filters","Updating records based on external triggers","Fetching related records for relationship management"],"limitations":["Requires SuiteCRM 7.x+ with API and OAuth2 enabled","PATCH method may not be enabled in all SuiteCRM configurations","1:N relations require setting the 'parent' ID on the child record according to SuiteCRM logic","Custom node installation required via n8n's custom node guide"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.oauth2","n8n-nodes-base.credentialManager"]}


node_type: @optimizely-campaign/n8n-nodes-optimizely-campaign.optimizelyCampaign
package_name: @optimizely-campaign/n8n-nodes-optimizely-campaign
display_name: Optimizely Campaign
description: Optimizely Campaign
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: optimizely-campaign
author_github_url: https://github.com/optimizely-campaign/campaign-n8n-nodes.git
npm_package_name: @optimizely-campaign/n8n-nodes-optimizely-campaign
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:40.633Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "recipient",
      "options": [
        {
          "name": "Recipient",
          "value": "recipient"
        },
        {
          "name": "Transactional Mail",
          "value": "transactionalMail"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a recipient",
          "description": "Create a recipient"
        },
        {
          "name": "Get Recipient",
          "value": "getRecipient",
          "action": "Get a recipient",
          "description": "Get a recipient with selected attributes"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a recipient",
          "description": "Update a recipient"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "recipient"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "action": "Send a transactional mail"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transactionalMail"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create a recipient","resource":"recipient"},{"operation":"getRecipient","name":"Get Recipient","description":"Get a recipient with selected attributes","resource":"recipient"},{"operation":"update","name":"Update","description":"Update a recipient","resource":"recipient"},{"operation":"send","name":"Send","resource":"transactionalMail"}]

npm_readme:
  # n8n-nodes-optimizely-campaign

  This package provides **n8n community nodes** for interacting with the **Optimizely Campaign API**.

  It enables you to process response data in real time using webhooks, manage recipients, and send transactional emails directly from your n8n workflows.

  ## Features

  - 📡 **Webhook Trigger**
    - Receive and process response data from Optimizely Campaign in real time
    - Ideal for event-driven and reactive workflows

  - 👥 **Recipient Management**
    - Create new recipients
    - Update existing recipients
    - Manage recipient data programmatically

  - ✉️ **Transactional Emails**
    - Send transactional emails via Optimizely Campaign
    - Integrate email delivery into automated workflows


  ## Installation

  ### Community Nodes (self-hosted)

  1. Open **Settings → Community Nodes**
  2. Click **Install**
  3. Enter the package name: `@optimizely-campaign/n8n-nodes-optimizely-campaign`
  4. Click **Install**

  ### Manual Installation (self-hosted)

  ```bash
  npm install @optimizely-campaign/n8n-nodes-optimizely-campaign
  ```

  After installation, restart your n8n instance to load the new nodes.

  ## Credentials

  To use this node, you need **Optimizely Campaign API credentials**. These must be requested from Optimizely Campaign Support.

  ### How to obtain API credentials:

  1. Contact **Optimizely Campaign Support** at [campaignsupport@optimizely.com](mailto:campaignsupport@optimizely.com)
  2. Request an **API user** for your Optimizely Campaign account
  3. You will receive:
     - **API Username** (API-User)
     - **API Password**
     - **Client ID** (mandator ID)

  ### Setting up credentials in n8n:

  1. In n8n, go to **Credentials** → **New**
  2. Search for **Optimizely Campaign API**
  3. Enter your credentials:
     - **API-User**: Your API username
     - **Password**: Your API password
     - **Client**: Your Client/Mandator ID
  4. Click **Save**

  The credentials will be automatically tested by calling the `/users/authenticated` endpoint.

  ## Compatibility

  Tested with:
  - n8n version **1.112.0** and later
  - Optimizely Campaign API (REST API v1)

  ## Usage

  ### Example 1: Create a Recipient

  1. Add the **Optimizely Campaign** node to your workflow
  2. Select **Recipient** as the resource
  3. Select **Create** as the operation
  4. Choose your recipient list
  5. Select the recipient ID field (usually email)
  6. Map your data fields using the Resource Mapper
  7. Optionally trigger an opt-in process

  ### Example 2: Send Transactional Email

  1. Add the **Optimizely Campaign** node
  2. Select **Transactional Mail** as the resource
  3. Choose your transactional mailing
  4. Select the recipient list
  5. Map recipient data including the ID field
  6. Execute to send the email

  ### Example 3: Webhook Trigger for Campaign Events

  1. Add the **Optimizely Campaign Trigger** node
  2. Select the event type (e.g., Click, Open, Bounce)
  3. The webhook URL will be automatically registered with Optimizely Campaign
  4. Process incoming webhook data in your workflow

  ## Operations

  ### Recipient Resource

  - **Create**: Create a new recipient in a recipient list
  - **Get Recipient**: Retrieve recipient data with selected attributes  
  - **Update**: Update an existing recipient's data

  ### Transactional Mail Resource

  - **Send**: Send a transactional email to a recipient

  ### Webhook Trigger

  Available events:
  - Archive, Blocklist, Bounce, Click, Confirmed Opt-In, Double Opt-In
  - Filtered by Blocklist, Open, Sent, Single Opt-In, Spam Complaint, Unsubscribe

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Optimizely Campaign API Documentation](https://support.optimizely.com/hc/en-us/articles/4413200461197)
  - [Optimizely Campaign](https://www.optimizely.com/products/campaign/)
  - [GitHub Repository](https://github.com/optimizely-campaign/campaign-n8n-nodes)

  ## Support

  For issues or questions:
  - **API Access & Credentials**: Contact [campaignsupport@optimizely.com](mailto:campaignsupport@optimizely.com)
  - **General Questions**: Refer to the [Optimizely Campaign Support](https://support.optimizely.com/hc/en-us/categories/4413188107405-Optimizely-Campaign)


  ## License

  [MIT](LICENSE.md)

  ---

  **Developed by:** Optimizely Campaign Integration Management Team

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with the Optimizely Campaign API to manage recipients, send transactional emails, and process real-time campaign events via webhooks.","capabilities":["Create new recipients in a recipient list","Update existing recipient data","Retrieve recipient data with selected attributes","Send transactional emails via Optimizely Campaign","Receive real-time campaign events (e.g., Click, Open, Bounce) via webhooks","Manage opt-in processes (Single Opt-In, Double Opt-In, Confirmed Opt-In)"],"authentication":"API key required (API Username, Password, and Client/Mandator ID)","commonUseCases":["Automated email marketing campaigns","Real-time processing of campaign engagement events","Managing subscriber lists and opt-in workflows","Sending transactional notifications through Optimizely"],"limitations":["Requires manual API credentials obtained from Optimizely Campaign Support","Compatible with Optimizely Campaign API REST v1 only","Requires n8n version 1.112.0 or later"],"relatedNodes":["Optimizely Campaign Trigger","Optimizely Campaign API"]}


node_type: n8n-nodes-ikas.ikas
package_name: n8n-nodes-ikas
display_name: IKAS
description: Consume IKAS e-commerce platform API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: actuallyzefe
author_github_url: https://github.com/actuallyzefe/n8n-ikas.git
npm_package_name: n8n-nodes-ikas
npm_version: 2.0.5
community_fetched_at: 2026-03-25T21:19:40.634Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "product",
      "options": [
        {
          "name": "Order",
          "value": "order",
          "description": "Work with orders in your IKAS store"
        },
        {
          "name": "Product",
          "value": "product",
          "description": "Work with products in your IKAS store"
        },
        {
          "name": "Webhook",
          "value": "webhook",
          "description": "Manage webhooks for your IKAS store"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a product",
          "description": "Create a new product"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete products",
          "description": "Delete multiple products"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many products",
          "description": "Get multiple products"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search products",
          "description": "Search products with filters"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a product",
          "description": "Update an existing product"
        },
        {
          "name": "Upload Image",
          "value": "uploadImage",
          "action": "Upload image to product",
          "description": "Upload image to product variants"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "product"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many orders",
          "description": "Get multiple orders"
        },
        {
          "name": "Fulfill",
          "value": "fulfill",
          "action": "Fulfill an order",
          "description": "Fulfill order lines"
        },
        {
          "name": "Update Package Status",
          "value": "updatePackageStatus",
          "action": "Update package status",
          "description": "Update order package status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "order"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a webhook",
          "description": "Create a new webhook"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete webhooks",
          "description": "Delete webhooks by scope"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many webhooks",
          "description": "List all webhooks"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webhook"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create a new product","resource":"product"},{"operation":"delete","name":"Delete","description":"Delete multiple products","resource":"product"},{"operation":"getMany","name":"Get Many","description":"Get multiple products","resource":"product"},{"operation":"search","name":"Search","description":"Search products with filters","resource":"product"},{"operation":"update","name":"Update","description":"Update an existing product","resource":"product"},{"operation":"uploadImage","name":"Upload Image","description":"Upload image to product variants","resource":"product"},{"operation":"getMany","name":"Get Many","description":"Get multiple orders","resource":"order"},{"operation":"fulfill","name":"Fulfill","description":"Fulfill order lines","resource":"order"},{"operation":"updatePackageStatus","name":"Update Package Status","description":"Update order package status","resource":"order"},{"operation":"create","name":"Create","description":"Create a new webhook","resource":"webhook"},{"operation":"delete","name":"Delete","description":"Delete webhooks by scope","resource":"webhook"},{"operation":"getMany","name":"Get Many","description":"List all webhooks","resource":"webhook"}]

npm_readme:
  # n8n-nodes-ikas

  <div align="center">
    <img src="https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png" alt="n8n" width="120" height="120">
    <span style="font-size: 50px; margin: 0 20px;">+</span>
    <img src="https://ikas.com/favicon.ico" alt="IKAS" width="120" height="120">
  </div>

  <div align="center">
    
  ![n8n.io - IKAS](https://img.shields.io/badge/n8n.io-IKAS-blue.svg)
  ![Version](https://img.shields.io/npm/v/n8n-nodes-ikas.svg)
  ![Downloads](https://img.shields.io/npm/dt/n8n-nodes-ikas.svg)
  ![License](https://img.shields.io/npm/l/n8n-nodes-ikas.svg)

  </div>

  This is an n8n community node that lets you integrate the [IKAS e-commerce platform](https://ikas.com) into your n8n workflows. Automate your e-commerce operations with comprehensive product management, order processing, and inventory control.

  ## What is IKAS?

  IKAS is a comprehensive e-commerce platform that provides merchants with tools to create, manage, and grow their online stores. This node enables seamless integration with IKAS's GraphQL API for automating e-commerce operations including:

  - Product catalog management
  - Order processing and fulfillment
  - Inventory and stock management
  - Customer data handling
  - Sales analytics and reporting

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

  ## Table of Contents

  - [Installation](#installation)
  - [Credentials](#credentials)
  - [Operations](#operations)
  - [Usage Examples](#usage-examples)
  - [Compatibility](#compatibility)
  - [Contributing](#contributing)
  - [Development Setup](#development-setup)
  - [Resources](#resources)
  - [Version History](#version-history)
  - [License](#license)

  ## Installation

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

  Use the package name: `n8n-nodes-ikas`

  ## Operations

  This node supports the following operations:

  ### Products

  - **Get Many**: Retrieve multiple products from your IKAS store
  - **Search**: Search products with advanced filters and pagination including:
    - Search by name, description, or other text fields
    - Filter by product IDs, SKUs, or barcodes
    - Pagination support with customizable page size
  - **Create**: Create new products in your store with:
    - Simple product structure support
    - Automatic variant creation
    - Stock location assignment
    - Pricing configuration (sell price, buy price, discount price)
  - **Update**: Update existing product information including all product fields

  ### Orders

  - **Get Many**: Retrieve orders from your IKAS store with advanced filtering:
    - Filter by customer email or customer ID
    - Filter by order number or sales channel
    - Filter by order status (Created, Confirmed, Fulfilled, etc.)
    - Filter by payment status (Paid, Pending, Refunded, etc.)
    - Filter by package status (Preparing, Shipped, Delivered, etc.)
  - **Fulfill**: Fulfill order line items with:
    - Multiple line item fulfillment
    - Quantity specification per line item
    - Optional marking as ready for shipment
    - Customer notification settings
    - Tracking information (tracking number, cargo company, barcode, etc.)
  - **Update Package Status**: Update order package statuses with:
    - Multiple package status updates in one operation
    - Comprehensive status options (Fulfilled, Shipped, Delivered, Cancelled, etc.)
    - Tracking information updates
    - Error message handling

  ### Stock Management

  - **Stock Location Retrieval**: Get stock locations by name or filters
  - **Stock Assignment**: Automatically assign stock to locations during product creation

  ### Available GraphQL Operations

  - **Queries**:
    - `GetProducts` - Fetch product data with full product information
    - `SearchProducts` - Advanced product search with filters and pagination
    - `GetOrders` - Retrieve order information with comprehensive filtering
  - **Mutations**:
    - `SaveProduct` - Create or update products with full product structure
    - `FulfillOrder` - Fulfill order line items with tracking
    - `UpdateOrderPackageStatus` - Update package statuses with tracking info

  ## Credentials

  To use this node, you need to authenticate with IKAS using OAuth2 credentials. Here's how to set it up:

  ### Prerequisites

  1. You must have an IKAS store
  2. Create a Private App in your IKAS admin panel to get API credentials

  ### Authentication Setup

  1. In your IKAS admin panel, navigate to Apps & Integrations
  2. Create a new Private App
  3. Note down your:
     - **Store Name** (your store subdomain without .myikas.com)
     - **Client ID**
     - **Client Secret**

  ### Credential Configuration

  When setting up the IKAS API credentials in n8n:

  - **Store Name**: Your IKAS store name (e.g., "mystore" for mystore.myikas.com)
  - **Client ID**: The Client ID from your Private App
  - **Client Secret**: The Client Secret from your Private App

  The node will automatically handle OAuth2 authentication and session token management.

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Node version**: 1.0
  - **Tested with**: n8n 1.x
  - **Node.js**: >=22.16

  This node uses the IKAS GraphQL API v1 and should be compatible with all current IKAS store configurations.

  ## Usage Examples

  ### Quick Start

  1. Install the node using n8n's community node installation process
  2. Set up your IKAS API credentials
  3. Create a new workflow and add the IKAS node
  4. Configure your desired operation (Product or Order management)

  ### Workflow Examples

  #### Example 1: Sync Products from External Source

  ```
  Webhook → Data Processing → IKAS (Create Product) → Email Notification
  ```

  This workflow listens for new product data, processes it, creates the product in IKAS, and sends a confirmation email.

  #### Example 2: Order Fulfillment Automation

  ```
  IKAS (Get Orders) → Filter (Paid Orders) → IKAS (Fulfill Order) → Send Tracking Email
  ```

  This workflow automatically fulfills paid orders and sends tracking information to customers.

  #### Example 3: Inventory Management

  ```
  Schedule Trigger → IKAS (Get Products) → Check Stock Levels → IKAS (Update Product) → Slack Notification
  ```

  This workflow runs daily to check stock levels and update products with low inventory alerts.

  ### Product Operations

  **Get Products**: Select "Product" as resource and "Get Many" as operation to fetch all products from your store with complete product information.

  **Search Products**: Use advanced filtering to find specific products:

  - Search by text query across product names and descriptions
  - Filter by specific product IDs, SKUs, or barcodes (comma-separated lists)
  - Use pagination controls to manage large result sets
  - Return all results or limit to specific page sizes

  **Create Products**: Create new products with comprehensive configuration:

  - Set product name, type (Physical, Digital, Bundle, Membership), and structure
  - Configure pricing (sell price, buy price, discount price)
  - Add descriptions, weight, and quantity limits
  - Assign to sales channels
  - Set initial stock counts and assign to stock locations
  - Add additional attributes, translations, and metadata

  **Update Products**: Modify existing products using the same configuration options as creation, plus the ability to update all product fields.

  ### Order Management

  **Get Orders**: Retrieve orders with powerful filtering capabilities:

  - Filter by customer information (email, customer ID)
  - Filter by order details (order number, sales channel)
  - Filter by order status (Created, Confirmed, Fulfilled, Cancelled, etc.)
  - Filter by payment status (Paid, Pending, Refunded, Partially Paid, etc.)
  - Filter by package status (Preparing, Shipped, Delivered, Returned, etc.)

  **Fulfill Orders**: Process order fulfillment with detailed control:

  - Fulfill specific line items with custom quantities
  - Add tracking information (tracking number, cargo company, barcode)
  - Configure shipment notifications to customers
  - Mark orders as ready for shipment
  - Link to source packages for inventory tracking

  **Update Package Status**: Manage package lifecycle with comprehensive status updates:

  - Update multiple packages in a single operation
  - Set detailed package statuses (Fulfilled, Ready for Shipment, Shipped, Delivered, Cancelled, Error, etc.)
  - Add or update tracking information per package
  - Handle error states with custom error messages
  - Include source IDs for external system integration

  ## Contributing

  We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

  ### How to Contribute

  1. **Fork the Repository**: Click the "Fork" button on GitHub to create your own copy
  2. **Clone Your Fork**: `git clone https://github.com/YOUR_USERNAME/n8n-ikas.git`
  3. **Create a Branch**: `git checkout -b feature/your-feature-name`
  4. **Make Your Changes**: Implement your feature or fix
  5. **Test Your Changes**: Ensure everything works correctly
  6. **Commit Your Changes**: `git commit -am 'Add some feature'`
  7. **Push to Your Branch**: `git push origin feature/your-feature-name`
  8. **Create a Pull Request**: Submit your changes for review

  ### Code Standards

  - Follow the existing TypeScript code style
  - Use meaningful variable and function names
  - Add JSDoc comments for new functions
  - Ensure all new code is properly typed

  ### Reporting Issues

  Found a bug or have a feature request? Please check existing issues first, then create a new issue with:

  - Clear description of the problem or request
  - Steps to reproduce (for bugs)
  - Expected vs actual behavior
  - Your environment details (n8n version, Node.js version, etc.)

  ## Development Setup

  ### Prerequisites

  - Node.js >=22.16
  - n8n (for testing)
  - Ikas Credentials (Client ID - Client Secret)

  ### Setup Instructions

  1. **Clone the Repository**

     ```bash
     git clone https://github.com/actuallyzefe/n8n-ikas.git
     cd n8n-ikas
     ```

  2. **Install Dependencies**

     ```bash
     npm install
     ```

  3. **Build the Project**

     ```bash
     npm run build
     ```

  4. **Linting and Formatting**
     ```bash
     npm run lint        # Check for linting issues
     npm run lintfix     # Fix auto-fixable issues
     npm run format      # Format code with prettier
     ```

  ### Project Structure

  ```
  ├── credentials/           # Authentication credential definitions
  ├── nodes/
  │   └── Ikas/
  │       ├── Ikas.node.ts  # Main node implementation
  │       ├── GenericFunctions.ts # Shared utilities
  │       ├── graphql/      # GraphQL queries and mutations
  │       ├── node-definition/ # Node property definitions
  │       ├── operations/   # Operation implementations
  │       └── types/        # TypeScript type definitions
  ├── gulpfile.js          # Build configuration
  └── package.json         # Project configuration
  ```

  ### Testing Your Changes

  1. Build the project: `npm run build`
  2. Link to n8n: Follow [n8n's community node development guide](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally//)
  3. Test your changes in n8n workflows
  4. Verify all operations work as expected

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [n8n Node Development Guide](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally//)
  - [IKAS API Documentation](https://ikas.dev/docs/intro)
  - [IKAS Authentication Guide](https://ikas.dev/docs/api/getting-started/authentication)
  - [IKAS Developer Portal](https://ikas.dev/)
  - [GraphQL Best Practices](https://graphql.org/learn/best-practices/)

  ## License

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

  ## Acknowledgments

  - Thanks to the [n8n team](https://n8n.io/) for creating an amazing workflow automation platform
  - Thanks to [IKAS](https://ikas.com) for providing a comprehensive e-commerce platform
  - Thanks to all contributors who help improve this node

  ---

  **Need Help?**

  - Check out the [Issues](https://github.com/actuallyzefe/n8n-ikas/issues) for common problems
  - Create a new issue if you can't find a solution
  - Join the [n8n community](https://community.n8n.io/) for general n8n support

ai_documentation_summary:
  {"purpose":"An n8n community node that integrates with the IKAS e-commerce platform's GraphQL API to automate product management, order processing, inventory control, and customer data handling.","capabilities":["Retrieve multiple products with pagination","Search products by name, description, SKU, or barcode with filters","Create new products with variants and pricing configuration","Update existing product information","Retrieve orders with advanced filtering by customer, status, and payment","Fulfill order line items with tracking information","Update order package statuses (Fulfilled, Shipped, Delivered, Cancelled)","Retrieve stock locations by name or filters","Assign stock to locations during product creation","Handle customer data and sales analytics"],"authentication":"OAuth2 (requires IKAS Private App credentials: Store Name, Client ID, Client Secret)","commonUseCases":["Automated product catalog synchronization from external sources","Order fulfillment automation for paid orders","Inventory and stock management workflows","Customer order processing and tracking notifications","Sales analytics and reporting automation"],"limitations":["Requires an existing IKAS store with a Private App configured","Minimum n8n version 1.0.0 required","Requires Node.js >=22.16","Limited to IKAS GraphQL API v1"],"relatedNodes":["n8n-nodes.webhook","n8n-nodes.filter","n8n-nodes.email"]}


node_type: n8n-nodes-influencersclub.influencersClub
package_name: n8n-nodes-influencersclub
display_name: Influencers Club
description: Interact with Influencers Club API for creator enrichment and discovery
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: influencers.club
author_github_url: https://github.com/Influencers-Club/
npm_package_name: n8n-nodes-influencersclub
npm_version: 1.1.6
community_fetched_at: 2026-03-25T21:19:40.634Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "creator",
      "options": [
        {
          "name": "Creator",
          "value": "creator",
          "description": "Enrich creators or find similar ones"
        },
        {
          "name": "Discovery",
          "value": "discovery",
          "description": "Search and discover creators by filters"
        },
        {
          "name": "Batch Enrichment",
          "value": "batchEnrichment",
          "description": "Create, check status, download, or resume batch enrichment jobs"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "enrichByEmail",
      "options": [
        {
          "name": "Enrich by Email",
          "value": "enrichByEmail",
          "action": "Enrich by Email",
          "description": "Enrich a creator using their email address"
        },
        {
          "name": "Enrich by Handle (Full)",
          "value": "enrichByHandle",
          "action": "Enrich by Handle (Full)",
          "description": "Enrich a creator using their handle/username (full profile)"
        },
        {
          "name": "Enrich by Handle (Raw)",
          "value": "enrichByHandleRaw",
          "action": "Enrich by Handle (Raw)",
          "description": "Enrich a creator using their handle/username (raw data)"
        },
        {
          "name": "Find Similar Creators",
          "value": "findLookalikes",
          "action": "Find Similar Creators",
          "description": "This endpoint helps identify creators who are similar to a given influencer based on their social media presence, niche, engagement patterns, and audience characteristics. It allows businesses to discover new potential partners, expand outreach efforts, and optimize influencer marketing campaigns by targeting lookalike creators."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "creator"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "discovery",
      "options": [
        {
          "name": "Discovery",
          "value": "discovery",
          "action": "Discovery",
          "description": "The Discovery API allows you to filter creators based on the filters available on the dashboard, you can use the AI seach and lookalikes search to find profiles relevant to your targeting."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "discovery"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createBatch",
      "options": [
        {
          "name": "Create Batch Enrichment",
          "value": "createBatch",
          "action": "Create Batch Enrichment",
          "description": "Start a new batch enrichment job with a list of emails. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/create-batch-enrichment"
        },
        {
          "name": "Get Batch Enrichment Status",
          "value": "getBatchStatus",
          "action": "Get Batch Enrichment Status",
          "description": "Check the status of an existing batch job. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/get-batch-enrichment-status"
        },
        {
          "name": "Download Batch Enrichment Results",
          "value": "downloadBatchResults",
          "action": "Download Batch Enrichment Results",
          "description": "Download the results of a completed batch job. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/download-batch-enrichment-results"
        },
        {
          "name": "Resume Batch Enrichment",
          "value": "resumeBatch",
          "action": "Resume Batch Enrichment",
          "description": "Resume a failed or paused batch job. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/resume-batch-enrichment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "batchEnrichment"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"enrichByEmail","name":"Enrich by Email","description":"Enrich a creator using their email address","resource":"creator"},{"operation":"enrichByHandle","name":"Enrich by Handle (Full)","description":"Enrich a creator using their handle/username (full profile)","resource":"creator"},{"operation":"enrichByHandleRaw","name":"Enrich by Handle (Raw)","description":"Enrich a creator using their handle/username (raw data)","resource":"creator"},{"operation":"findLookalikes","name":"Find Similar Creators","description":"This endpoint helps identify creators who are similar to a given influencer based on their social media presence, niche, engagement patterns, and audience characteristics. It allows businesses to discover new potential partners, expand outreach efforts, and optimize influencer marketing campaigns by targeting lookalike creators.","resource":"creator"},{"operation":"discovery","name":"Discovery","description":"The Discovery API allows you to filter creators based on the filters available on the dashboard, you can use the AI seach and lookalikes search to find profiles relevant to your targeting.","resource":"discovery"},{"operation":"createBatch","name":"Create Batch Enrichment","description":"Start a new batch enrichment job with a list of emails. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/create-batch-enrichment","resource":"batchEnrichment"},{"operation":"getBatchStatus","name":"Get Batch Enrichment Status","description":"Check the status of an existing batch job. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/get-batch-enrichment-status","resource":"batchEnrichment"},{"operation":"downloadBatchResults","name":"Download Batch Enrichment Results","description":"Download the results of a completed batch job. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/download-batch-enrichment-results","resource":"batchEnrichment"},{"operation":"resumeBatch","name":"Resume Batch Enrichment","description":"Resume a failed or paused batch job. Docs: https://app.theneo.io/influencers-club/influencers-public-api/public-v1-enrichment/public/resume-batch-enrichment","resource":"batchEnrichment"}]

npm_readme:
  # n8n-nodes-influencersclub

  Official n8n node for [Influencers Club enrichment and discovery API](https://influencers.club/influencer-api/).

  ## 🚀 Overview

  This repository provides an official n8n node for Influencers Club with four operations:

  - **Enrich by Email**: Takes an email address and enriches it with public social data, including possible usernames, followers, profile links, bio, and other social metrics. This is useful if you have a list of customer or subscriber emails and want to find their social presence and additional profile information.

  - **Enrich by Handle**: Takes a social media handle (username) and platform, and enriches it with email (if available), followers, bio, links, and additional social metrics. This is useful if you have scraped or collected social handles and want to obtain verified emails or extra data.

  - **Discovery**: Search for creators using advanced filters such as keyword, platform, audience country, follower range, engagement rate, and more. The node provides full flexibility and matches the official API documentation.

  - **Find Lookalikes**: Find similar creators to a given handle on a specified platform. This is useful for building lookalike lists for outreach or audience expansion.

  These operations help marketing and growth teams enrich leads, segment audiences, sync to CRM systems, or prepare personalized outreach workflows.

  ---

  ## 🔑 How to get your API Key

  To use this node, you need an **API Key** from your Influencers Club account.

  ### Steps

  1. **Register** at [Influencers Club Dashboard](https://dashboard.influencers.club/register).
  2. After logging in, open the [API page](https://dashboard.influencers.club/api).
  3. Copy your **API Key** displayed there.

  **All requests require a Bearer token:**

  Paste this key into the "Influencers Club API" credentials in your n8n workflow.

  ---

  ## ⚡ Example workflows

  - Import a list of email addresses from Google Sheets ➜ Influencers Club (Enrich by Email) ➜ Push to CRM or Airtable.
  - Import a list of Instagram handles ➜ Influencers Club (Enrich by Handle) ➜ Get emails ➜ Send personalized outreach via Gmail node.
  - Search for creators in your niche ➜ Influencers Club (Discovery) ➜ Filter and export to spreadsheet.
  - Find similar creators ➜ Influencers Club (Find Lookalikes) ➜ Build outreach lists.

  ---

  ## 🛠️ Installation

  Install via npm:

  ```bash
  npm install n8n-nodes-influencersclub
  ```

  Then, add to your n8n instance as a custom node package.

  ---

  ## 📄 License

  MIT

  ---

  ## 💬 Support

  For questions, contact [Influencers Club Support](https://dashboard.influencers.club) or [open an issue](https://github.com/Influencers-Club/n8n-nodes-influencersclub/issues).

ai_documentation_summary:
  {"purpose":"This n8n node enables interaction with the Influencers Club API to enrich creator data, discover new creators, and find lookalike profiles for marketing and growth workflows.","capabilities":["Enrich email addresses with social media data (username, followers, bio, profile links)","Enrich social media handles with email addresses and social metrics","Search and discover creators using advanced filters (keywords, platform, audience country, follower range, engagement rate)","Find lookalike creators based on a given handle and platform"],"authentication":"API Key (Bearer token required, stored in 'Influencers Club API' credentials)","commonUseCases":["Lead enrichment for customer or subscriber emails","Audience expansion by finding similar creators","Syncing creator data to CRM systems","Preparing personalized outreach lists"],"limitations":["Requires a paid API Key from Influencers Club","Email enrichment only returns email if available for the given handle"],"relatedNodes":["Gmail","Airtable","Google Sheets","Spreadsheet"]}


node_type: @lnkbio/n8n-nodes-lnkbio.lnkBio
package_name: @lnkbio/n8n-nodes-lnkbio
display_name: Lnk.Bio
description: Create and manage links on Lnk.Bio
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: lnkbiodevs
author_github_url: https://github.com/gimucco/n8n-nodes-lnkbio.git
npm_package_name: @lnkbio/n8n-nodes-lnkbio
npm_version: 0.2.2
community_fetched_at: 2026-03-25T21:19:40.635Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Link",
          "value": "create",
          "action": "Create a new link",
          "description": "Create a new Lnk"
        },
        {
          "name": "Delete Link",
          "value": "delete",
          "action": "Delete an existing link",
          "description": "Delete an existing Lnk"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Link",
      "value": "create",
      "action": "Create a new link",
      "description": "Create a new Lnk"
    },
    {
      "name": "Delete Link",
      "value": "delete",
      "action": "Delete an existing link",
      "description": "Delete an existing Lnk"
    }
  ]

npm_readme:
  # n8n-nodes-lnkbio

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

  Lnk.Bio is a linkinbio service used by more than 1.5M creators to manage their social media links.

  [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)  
  [Version history](#version-history)

  ## Installation

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

  ## Operations

  Lnk.Bio only support 2 Actions: Create a Lnk, and Delete a Lnk.

  There are no triggers, as Lnk.Bio is considered output-only when it comes to automation services.

  ## Credentials

  You need a Client ID and Client Secret from Lnk.Bio to correctly authenticate your API calls.

  1. Register a free account from https://lnk.bio/signup
  2. Verify your email
  3. Navigate to Tools => Developers/API
  4. Create a new Public App to retrieve the Client ID and Client Secret.

  Do note that if you're only looking to automate your own Lnk.Bio account, you won't need to go through app review.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Lnk.Bio help site](https://help.lnk.bio)
  * [Lnk.Bio API specs](https://api.lnk.bio)

  ## Version history

  * 0.2.2 - Added scheduled_from and scheduled_to parameters to align with the latest version of the Lnk.Bio APIs. The new parameters allow users to schedule links in advance and/or set an expiration date.

  * 0.1.9 - Add pairedItem to response handling in LnkBio node

  * 0.1.7 - Updated deprecated requestOAuth2 to httpRequestWithAuthentication; Implemented continueOnFail(); Removed includeCredentialsOnAuthorization and bodyFormat;

  * 0.1.5 - Credentials fix

  * 0.1.3 - Credentials fix

  * 0.1.2 - Lint Fixes

  * 0.1.0 - initial version

ai_documentation_summary:
  {"purpose":"A community node for creating and managing social media links on Lnk.Bio within n8n workflows.","capabilities":["Create new Lnk.Bio links","Delete existing Lnk.Bio links","Schedule links in advance","Set expiration dates for links"],"authentication":"OAuth2 (Client ID and Client Secret required)","commonUseCases":["Automating link-in-bio profile updates","Managing creator social media links","Scheduling temporary link campaigns"],"limitations":["Only supports create and delete actions (no triggers)","Output-only integration type","Requires manual app registration for automation"],"relatedNodes":["n8n HTTP Request node","n8n Schedule node"]}


node_type: n8n-nodes-softr.softr
package_name: n8n-nodes-softr
display_name: Softr
description: Softr.io Integration Node
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: dariusz-softr
author_github_url: https://github.com/softr-io/n8n-softr.git
npm_package_name: n8n-nodes-softr
npm_version: 1.0.8
community_fetched_at: 2026-03-25T21:19:40.636Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "database",
      "options": [
        {
          "name": "Database Record",
          "value": "database",
          "action": "Manage database records",
          "description": "Manage database records"
        },
        {
          "name": "Application User",
          "value": "appUser",
          "action": "Manage application users",
          "description": "Manage application users"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create record",
          "description": "Create database record"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete record",
          "description": "Delete database record"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many records",
          "description": "Get many database records"
        },
        {
          "name": "Get One",
          "value": "getOne",
          "action": "Get one record",
          "description": "Get one database record"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update record",
          "description": "Update database record"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "database"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createAppUser",
      "options": [
        {
          "name": "Create Application User",
          "value": "createAppUser",
          "action": "Create application user",
          "description": "Create an application user"
        },
        {
          "name": "Delete Application User",
          "value": "deleteAppUser",
          "action": "Delete application user",
          "description": "Delete an application user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "appUser"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create database record","resource":"database"},{"operation":"delete","name":"Delete","description":"Delete database record","resource":"database"},{"operation":"getMany","name":"Get Many","description":"Get many database records","resource":"database"},{"operation":"getOne","name":"Get One","description":"Get one database record","resource":"database"},{"operation":"update","name":"Update","description":"Update database record","resource":"database"},{"operation":"createAppUser","name":"Create Application User","description":"Create an application user","resource":"appUser"},{"operation":"deleteAppUser","name":"Delete Application User","description":"Delete an application user","resource":"appUser"}]

npm_readme:
  # n8n-nodes-softr

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

  Softr is a no-code platform that allows you to build web applications and websites. It provides a user-friendly interface for creating and managing applications without needing to write code.

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

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

  ## Installation

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

  ## Operations

  ### Softr Databases

  Triggers

  * `On New Record`: Triggered when a new record is created in a Softr database.
  * `On Updated Record`: Triggered when an existing record in a Softr database is updated.

  Actions:

  * `Create Record`: Creates a new record in a specified Softr database.
  * `Update Record`: Updates an existing record in a specified Softr database.
  * `Delete Record`: Deletes a record from a specified Softr database.
  * `Get Record`: Retrieves a specific record from a specified Softr database.
  * `Get All Records`: Retrieves all records from a specified Softr database.
  * `Search Records`: Searches for records in a specified Softr database based on a search query.

  ### Softr Application Users

  * `Create Application User`: Creates a new user in a specified Softr application.
  * `Delete Application User`: Deletes a user from a specified Softr application.

  ## Credentials

  To use Softr, you must authenticate with your API Key. You can find your API Key in your [Softr account settings](https://studio.softr.io/user/apisettings).

  More details on how to find your API Key can be found in the [Softr documentation](https://docs.softr.io/softr-api/tTFQ5vSAUozj5MsKixMH8C/api-setup-and-endpoints/j1PrTZxt7pv3iZCnZ5Fp19).

  ## Compatibility

  Implemented and tested against n8n version 1.103.2.

  ## Usage

  Softr node uses Softr Public API under the hood. You can find more information about the API in the [Softr API documentation](https://docs.softr.io/softr-api/tTFQ5vSAUozj5MsKixMH8C/softr-database-api/5aZs45abxPkQ4dURKFwRGF).

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Softr API documentation](https://docs.softr.io/softr-api/tTFQ5vSAUozj5MsKixMH8C/softr-database-api/5aZs45abxPkQ4dURKFwRGF)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation with Softr, a no-code platform for building web applications and websites, by interacting with Softr databases and application users.","capabilities":["Trigger on new database record creation","Trigger on database record updates","Create new database records","Update existing database records","Delete database records","Retrieve specific database records","Retrieve all database records","Search database records by query","Create application users","Delete application users"],"authentication":"API Key required (found in Softr account settings)","commonUseCases":["Automating data synchronization between Softr and other tools","Creating or managing users in Softr applications via workflow","Triggering workflows when database records change in Softr"],"limitations":["Community node (not official n8n node)","Requires manual API key configuration"],"relatedNodes":["Softr Database","Softr Application User"]}


node_type: n8n-nodes-biron.biron
package_name: n8n-nodes-biron
display_name: Biron
description: Interact with Biron API, for reverse ETL and more
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: pharoz
author_github_url: https://github.com/Biron-BI/n8n-nodes.git
npm_package_name: n8n-nodes-biron
npm_version: 0.2.2
community_fetched_at: 2026-03-25T21:19:40.636Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "nexusQL",
      "options": [
        {
          "name": "Nexus",
          "value": "nexusQL",
          "displayName": "Nexus"
        },
        {
          "name": "Datalake",
          "value": "datalake",
          "displayName": "Datalake"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "queryNexusQL",
      "options": [
        {
          "name": "Query Nexus",
          "value": "queryNexusQL",
          "action": "Execute a nexusql query",
          "description": "Extract qualified data from Biron using NexusQL",
          "displayName": "Query Nexus"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "nexusQL"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "datalakeQuery",
      "options": [
        {
          "name": "Query",
          "value": "datalakeQuery",
          "action": "Execute a clickhouse query",
          "description": "Execute a Clickhouse query on your Biron-built datalake",
          "displayName": "Execute Clickhouse query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "datalake"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"queryNexusQL","name":"Query Nexus","description":"Extract qualified data from Biron using NexusQL","resource":"nexusQL"},{"operation":"datalakeQuery","name":"Query","description":"Execute a Clickhouse query on your Biron-built datalake","resource":"datalake"}]

npm_readme:
  # n8n-nodes-biron

  This is an n8n community node. It lets you interact with the Biron platform in your n8n workflows.

  [Biron Data](https://birondata.com) is an all-in-one data platform.

  [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)  
  [Version history](#version-history) 

  ## Installation

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

  ## Operations

  * Extract metrics and dimensions data using Biron's query language, NexusQL. 
    * The easiest way to write it is to extract it from your existing charts
    * For advanced use cases, [here is the documentation](https://docs.biron-analytics.com/guides/nexus-ql-guide/)
  * Extract data from your data sources extracted by Biron, or from the data warehouse prepared by Biron, by querying the Clickhouse databases
    * [Query documentation](https://docs.biron-analytics.com/guides/connect-datawarehouse/)
    * The parameter node is communicated by Biron upon request

  ## Credentials

  Authenticate with the combo username / password provided when you created either a PAT or an API Key from Biron application. As a reminder:
  * A PAT (Personal Access Token) makes actions on behalf of yourself
  * An API Key makes action on behalf of your organization

  ## Compatibility

  Tested against n8n version 1.123.5

  ## Resources

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

  ## Version history

ai_documentation_summary:
  {"purpose":"A community node that enables interaction with the Biron data platform for reverse ETL, including querying metrics, dimensions, and Clickhouse databases.","capabilities":["Extract metrics and dimensions data using NexusQL","Query data from Biron's Clickhouse databases","Access data sources extracted by Biron","Retrieve data from Biron's prepared data warehouse"],"authentication":"Username and password (PAT or API Key)","commonUseCases":["Reverse ETL workflows","Data extraction from Biron platform","Querying analytics metrics and dimensions"],"limitations":["Community node (not official n8n node)","Requires Biron account with PAT or API Key"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


node_type: @cloudsway-ai/n8n-nodes-cloudsway.smartSearch
package_name: @cloudsway-ai/n8n-nodes-cloudsway
display_name: SmartSearch
description: Performs web searches using SmartSearch API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: cloudsway-ai
author_github_url: https://github.com/Cloudsway-AI/n8n-nodes-cloudsway.git
npm_package_name: @cloudsway-ai/n8n-nodes-cloudsway
npm_version: 0.1.3
community_fetched_at: 2026-03-25T21:19:40.637Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "smartSearch",
      "options": [
        {
          "name": "Smart Search",
          "value": "smartSearch",
          "action": "Perform a web search using smart search",
          "routing": {
            "request": {
              "url": "/smart",
              "method": "GET"
            }
          },
          "description": "Perform a web search using SmartSearch"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Smart Search",
      "value": "smartSearch",
      "action": "Perform a web search using smart search",
      "routing": {
        "request": {
          "url": "/smart",
          "method": "GET"
        }
      },
      "description": "Perform a web search using SmartSearch"
    }
  ]

npm_readme:
  # n8n-nodes-cloudsway

  This is an n8n community node. It lets you use Cloudsway SmartSearch API in your n8n workflows.

  SmartSearch is a web search API service that provides search functionality with options for pagination, language settings, freshness filtering, and site restrictions.

  ## Features

  ### SmartSearch

  This node performs web searches using the Cloudsway SmartSearch API with the following options:

  - **Smart Search**: Performs a web search and returns results in JSON format

  ### Parameters

  - **Query**: (Required) The search query string (cannot be empty)
  - **Count**: (Optional) Number of results to return (default: 10, options: 10, 20, 30, 40, 50, max: 50)
  - **Offset**: (Optional) Zero-based offset for pagination (default: 0)
  - **Language**: (Optional) Language code for results (recommended 4-letter codes like en-US, default: 'en')
  - **Freshness**: (Optional) Time filter for search results (options: Day, Week, Month)
  - **Sites**: (Optional) Restrict results to a specific host (e.g., github.com)

  ## Credentials

  To use the SmartSearch node, you need to authenticate with the Cloudsway API:

  1. Log in to www.cloudsway.ai or contact info@cloudsway.com to get your Endpoint and API Key
  2. In n8n, create new credentials for "SmartSearch API"
  3. Enter your Endpoint and API Key in the respective fields

  The credential configuration requires:
  - **Endpoint**: Your SmartSearch endpoint name
  - **API Key**: Your private API key (stored securely)

  ## Usage

  1. Add the SmartSearch node to your workflow
  2. Configure the credentials
  3. Enter your search query
  4. Optionally configure additional parameters:
     - Adjust the count to control the number of results (10, 20, 30, 40, or 50)
     - Set an offset for pagination
     - Choose a language code (recommended 4-letter codes like en-US)
     - Select a freshness filter (Day, Week, or Month)
     - Restrict results to specific sites (e.g., github.com)

  The node returns search results that can be used in subsequent nodes.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Cloudsway SmartSearch API documentation](https://docs.cloudsway.net/IntelliSearch/api-reference/smartsearch/)
  * For support, contact info@cloudsway.com

ai_documentation_summary:
  {"purpose":"Performs web searches using the Cloudsway SmartSearch API with support for pagination, language filtering, freshness options, and site restrictions.","capabilities":["Web search execution","Pagination support (count and offset)","Language filtering (4-letter codes)","Freshness filtering (Day, Week, Month)","Site restriction filtering","JSON formatted results output"],"authentication":"API Key required (Endpoint and API Key in credentials)","commonUseCases":["Real-time web information retrieval","Multi-language search queries","Time-sensitive search results","Targeted search within specific domains"],"limitations":["Count parameter limited to maximum 50 results","Requires separate credential setup in n8n","Language codes must be 4-letter format"],"relatedNodes":["HTTP Request","JSON Response","Code"]}


node_type: n8n-nodes-seo-content-machine.seoContentMachine
package_name: n8n-nodes-seo-content-machine
display_name: SEO Content Machine
description: SEO Content Machine node
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: seocontentmachine
author_github_url: https://github.com/gitTerebi/
npm_package_name: n8n-nodes-seo-content-machine
npm_version: 0.1.20
community_fetched_at: 2026-03-25T21:19:40.637Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "task",
      "options": [
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "Other",
          "value": "other"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "start",
      "options": [
        {
          "name": "Abort",
          "value": "abort",
          "action": "Abort a task",
          "description": "Abort a running task"
        },
        {
          "name": "Content",
          "value": "content",
          "action": "Get content from task",
          "description": "Gets content created by a task"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a task",
          "description": "Create a new task"
        },
        {
          "name": "Data",
          "value": "data",
          "action": "Get task data",
          "description": "Get task data"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a task",
          "description": "Delete a task"
        },
        {
          "name": "Duplicate",
          "value": "duplicate",
          "action": "Duplicate a task",
          "description": "Duplicate a task"
        },
        {
          "name": "Find",
          "value": "find",
          "action": "Find tasks",
          "description": "Find tasks"
        },
        {
          "name": "Start",
          "value": "start",
          "action": "Start a task",
          "description": "Start a task"
        },
        {
          "name": "Status",
          "value": "status",
          "action": "Get task status",
          "description": "Get task status"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update task data",
          "description": "Update task data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "spin",
      "options": [
        {
          "name": "About Me",
          "value": "about",
          "action": "Generate about me",
          "description": "Generate about me"
        },
        {
          "name": "Spin",
          "value": "spin",
          "action": "Spin text",
          "description": "Spin/Rewrite text"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "other"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"abort","name":"Abort","description":"Abort a running task","resource":"task"},{"operation":"content","name":"Content","description":"Gets content created by a task","resource":"task"},{"operation":"create","name":"Create","description":"Create a new task","resource":"task"},{"operation":"data","name":"Data","description":"Get task data","resource":"task"},{"operation":"delete","name":"Delete","description":"Delete a task","resource":"task"},{"operation":"duplicate","name":"Duplicate","description":"Duplicate a task","resource":"task"},{"operation":"find","name":"Find","description":"Find tasks","resource":"task"},{"operation":"start","name":"Start","description":"Start a task","resource":"task"},{"operation":"status","name":"Status","description":"Get task status","resource":"task"},{"operation":"update","name":"Update","description":"Update task data","resource":"task"},{"operation":"about","name":"About Me","description":"Generate about me","resource":"other"},{"operation":"spin","name":"Spin","description":"Spin/Rewrite text","resource":"other"}]

npm_readme:
  # n8n-nodes-seo-content-machine

  This is a n8n community node. It lets you use SEO Content Machine in your n8n workflows.

  SEO Content Machine (https://seocontentmachine.com)  is a scraper and AI content generator desktop tool.

  [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 [official SCM n8n node install guide](https://forum.seocontentmachine.com/t/how-to-install-and-configure-scm-n8n-node/831) on the SCM forum.

  For generic n8n help check out the [n8n community node guide](https://docs.n8n.io/integrations/community-nodes/installation/).

  ## Operations

  Task, Other

  ## Credentials

  You need the SCM API url and port that is displayed on the SCM desktop app.

  ## Resources

  *	[Official SCM n8n node install guide](https://forum.seocontentmachine.com/t/how-to-install-and-configure-scm-n8n-node/831)
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

ai_documentation_summary:
  {"purpose":"Integrates the SEO Content Machine desktop tool into n8n workflows to perform SEO scraping and AI content generation.","capabilities":["SEO content scraping","AI content generation","Desktop tool integration","Workflow automation"],"authentication":"API URL and port from SCM desktop app","commonUseCases":["Automated SEO content creation","Web scraping for keyword research","Content generation workflows"],"limitations":["Requires separate desktop application installation","Configuration depends on SCM desktop app settings"],"relatedNodes":["n8n-nodes-seo-content-machine.seoContentMachine"]}


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

updated_at: 2026-03-25 21:19:40
author_name: nevodavid10
author_github_url: https://github.com/gitroomhq/postiz-n8n.git
npm_package_name: n8n-nodes-postiz
npm_version: 0.2.17
community_fetched_at: 2026-03-25T21:19:40.638Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "createPost",
      "options": [
        {
          "name": "Create Post",
          "value": "createPost",
          "action": "Schedule a post to postiz",
          "description": "Schedule a post to Postiz"
        },
        {
          "name": "Delete Post",
          "value": "deletePost",
          "action": "Delete a post by id",
          "description": "Delete a post by ID"
        },
        {
          "name": "Generate Video",
          "value": "generateVideo",
          "action": "Generate videos with AI",
          "description": "Generate videos with AI"
        },
        {
          "name": "Get Channels",
          "value": "getIntegrations",
          "action": "Get a list of connected channels",
          "description": "Get a list of connected channels"
        },
        {
          "name": "Get Posts",
          "value": "getPosts",
          "action": "Get a list of posts",
          "description": "Get a list of posts"
        },
        {
          "name": "Upload File",
          "value": "uploadFile",
          "action": "Upload a file to postiz",
          "description": "Upload a file to Postiz"
        },
        {
          "name": "Video Function",
          "value": "videoFunction",
          "action": "Execute video related functions",
          "description": "Execute video-related functions like loading voices"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Post",
      "value": "createPost",
      "action": "Schedule a post to postiz",
      "description": "Schedule a post to Postiz"
    },
    {
      "name": "Delete Post",
      "value": "deletePost",
      "action": "Delete a post by id",
      "description": "Delete a post by ID"
    },
    {
      "name": "Generate Video",
      "value": "generateVideo",
      "action": "Generate videos with AI",
      "description": "Generate videos with AI"
    },
    {
      "name": "Get Channels",
      "value": "getIntegrations",
      "action": "Get a list of connected channels",
      "description": "Get a list of connected channels"
    },
    {
      "name": "Get Posts",
      "value": "getPosts",
      "action": "Get a list of posts",
      "description": "Get a list of posts"
    },
    {
      "name": "Upload File",
      "value": "uploadFile",
      "action": "Upload a file to postiz",
      "description": "Upload a file to Postiz"
    },
    {
      "name": "Video Function",
      "value": "videoFunction",
      "action": "Execute video related functions",
      "description": "Execute video-related functions like loading voices"
    }
  ]

npm_readme:
  # Introduction
  [Postiz](https://postiz.com) is a powerful social media scheduling tool that allows you to manage your social media accounts efficiently.

  You can use n8n to automate your workflow and post to multiple social media platforms at once.

  You can [self-host](https://docs.postiz.com/introduction) Postiz or use our [cloud version](https://platform.postiz.com).
  For example: Load news from Reddit >> Make it a video with AI >> Post it to your social media accounts.

  Postiz supports: X, LinkedIn, BlueSky, Instagram, Facebook, TikTok, YouTube, Pinterest, Dribbble, Telegram, Discord, Slack, Threads, Lemmy, Reddit, Mastodon, Warpcast, Nostr and VK.

  You can learn how to use Postiz + n8n after installation here:
  https://youtu.be/c50u3K3xsCI

  ---

  > Note
  > If you are self-hosting Postiz on port 5000 (reverse proxy),
  > Your host must end with /api for example:
  > http://yourdomain.com/api

  Alternatively, you can use the SDK with curl, check the [Postiz API documentation](https://docs.postiz.com/public-api) for more information.

  ---

  ## Installation (quick installation)

  - Click on settings
  - Click on Community Nodes
  - Click on Install
  - Add "n8n-nodes-postiz" to "npm Package Name"
  - Click on Install

  ![community-node.png](community-node.png)

  ---

  ## Installation (non-docker - manual installation)
  Go to your n8n installation usually located at `~/.n8n`.
  Check if you have the `custom` folder, if not create it and create a new package.json file inside.
  ```bash
  mkdir -p ~/.n8n/custom
  npm init -y
  ```

  Then install the Postiz node package:
  ```
  npm install n8n-nodes-postiz
  ```

  ## For docker users (manual installation)
  Create a new folder on your host machine, for example `~/n8n-custom-nodes`, and create a new package.json file inside:
  ```bash
  mkdir -p ~/n8n-custom-nodes
  npm init -y
  ```

  install the Postiz node package:
  ```bash
  npm install n8n-nodes-postiz
  ```

  When you run the n8n docker container, mount the custom nodes folder to the container:
  Add the following environment variable to your docker run command:
  ```
  N8N_CUSTOM_EXTENSIONS="~/n8n-custom-nodes"
  ```

ai_documentation_summary:
  {"purpose":"The Postiz node allows n8n workflows to interact with the Postiz API for managing and scheduling content across multiple social media platforms.","capabilities":["Post to X (Twitter)","Post to LinkedIn","Post to BlueSky","Post to Instagram","Post to Facebook","Post to TikTok","Post to YouTube","Post to Pinterest","Post to Dribbble","Post to Telegram"],"authentication":"API key required (configured via Postiz settings)","commonUseCases":["Automated social media content scheduling","Cross-platform content distribution","Integrating news aggregation with social posting","AI-driven content creation and posting workflows"],"limitations":["Requires self-hosted Postiz or cloud version to be configured with API credentials","Self-hosted instances on port 5000 require the host URL to end with /api","Authentication details are managed externally in Postiz, not within the n8n node"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


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-03-25 21:19:40
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-03-25T21:19:40.639Z
ai_summary_generated_at: 2026-03-25 22:51:43
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:
  [{"operation":"create","name":"Create","description":"Create a campaign","resource":"campaign"},{"operation":"delete","name":"Delete","description":"Delete a campaign","resource":"campaign"},{"operation":"get","name":"Get","description":"Get a campaign","resource":"campaign"},{"operation":"getMany","name":"Get Many","description":"Get many campaigns","resource":"campaign"},{"operation":"launch","name":"Launch","description":"Launch (activate) a campaign","resource":"campaign"},{"operation":"pause","name":"Pause","description":"Pause a campaign","resource":"campaign"},{"operation":"update","name":"Update","description":"Update a campaign","resource":"campaign"},{"operation":"addToCampaign","name":"Add Lead to Campaign","description":"Create a lead and add to campaign","resource":"lead"},{"operation":"create","name":"Create","description":"Create a lead","resource":"lead"},{"operation":"delete","name":"Delete","description":"Delete a lead","resource":"lead"},{"operation":"get","name":"Get","description":"Get a lead","resource":"lead"},{"operation":"getMany","name":"Get Many","description":"Get many leads","resource":"lead"},{"operation":"update","name":"Update","description":"Update a lead","resource":"lead"},{"operation":"updateInterestStatus","name":"Update Interest Status","description":"Update lead interest status","resource":"lead"},{"operation":"getMany","name":"Get Many Accounts","description":"Get many email accounts","resource":"account"},{"operation":"get","name":"Get Single Account","description":"Get a single email account by email address","resource":"account"},{"operation":"pause","name":"Pause Account","description":"Pause an email account to stop sending","resource":"account"},{"operation":"resume","name":"Resume Account","description":"Resume a paused email account","resource":"account"},{"operation":"create","name":"Create Account","description":"Create a new email account","resource":"account"},{"operation":"deleteAccount","name":"Delete Account","description":"Delete an email account","resource":"account"},{"operation":"enableWarmup","name":"Enable Warmup","description":"Enable warmup for an email account","resource":"account"},{"operation":"disableWarmup","name":"Disable Warmup","description":"Disable warmup for an email account","resource":"account"},{"operation":"update","name":"Update Account","description":"Update account settings and details","resource":"account"},{"operation":"getCampaignAnalytics","name":"Get Campaign Analytics","description":"Get analytics for a campaign","resource":"analytics"}]

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":"This n8n community node enables full integration with the Instantly API v2 to manage email outreach campaigns, accounts, leads, and inbox messages directly from n8n workflows.","capabilities":["Create, retrieve, update, delete, and launch email campaigns","Manage email accounts including SMTP configuration and warmup control","Create, filter, update, and assign leads to campaigns","Track campaign analytics and performance metrics","Access and manage Unibox inbox messages with filtering and reply capabilities","Support for pagination in list operations","Robust error handling and validation"],"authentication":"API key required","commonUseCases":["Automating cold email outreach campaigns","Managing email account warmup processes","Tracking lead engagement and campaign performance","Handling email replies from an automated inbox"],"limitations":["Requires Instantly account with Hypergrowth plan or above","Requires n8n version 0.187.0 or higher","Requires manual installation for versions prior to 0.187.0"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


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

updated_at: 2026-03-25 21:19:40
author_name: superchat-ben
author_github_url: https://github.com/super-chat/
npm_package_name: n8n-nodes-superchat
npm_version: 0.4.0
community_fetched_at: 2026-03-25T21:19:40.639Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  Receive and send messages from WhatsApp, Instagram, Messenger, E-Mail, SMS, via Live Chat and Telegram.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "User",
          "value": "user",
          "description": "A user"
        },
        {
          "name": "Contact",
          "value": "contact",
          "description": "A contact"
        },
        {
          "name": "Message",
          "value": "message",
          "description": "A message"
        },
        {
          "name": "Conversation",
          "value": "conversation",
          "description": "A conversation"
        },
        {
          "name": "Note",
          "value": "note",
          "description": "A note"
        },
        {
          "name": "File",
          "value": "file",
          "description": "A file"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "me",
      "options": [
        {
          "name": "Identify Yourself",
          "value": "me",
          "action": "Retrieve information about yourself as a Superchat user"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search For Contact",
          "value": "search",
          "action": "Search for a contact"
        },
        {
          "name": "Delete Contact",
          "value": "delete",
          "action": "Delete a contact"
        },
        {
          "name": "Create Contact",
          "value": "create",
          "action": "Create a new contact"
        },
        {
          "name": "Update Contact",
          "value": "update",
          "action": "Update an existing contact"
        },
        {
          "name": "Get Many Conversations",
          "value": "listConversations",
          "action": "Get many conversations of a contact"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send Message",
          "value": "sendMessage",
          "action": "Send a message"
        },
        {
          "name": "Send Email",
          "value": "sendMail",
          "action": "Send an email"
        },
        {
          "name": "Send WhatsApp Template",
          "value": "sendWhatsAppTemplate",
          "action": "Send a WhatsApp template"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get Conversation By ID",
          "value": "get",
          "action": "Retrieve a conversation"
        },
        {
          "name": "Update Labels",
          "value": "updateLabels",
          "action": "Update the labels of a conversation"
        },
        {
          "name": "Update Status",
          "value": "updateStatus",
          "action": "Update the status of a conversation"
        },
        {
          "name": "Update Assigned Users",
          "value": "updateAssignees",
          "action": "Update the assignees of a conversation"
        },
        {
          "name": "Delete Conversation",
          "value": "delete",
          "action": "Delete a conversation"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "conversation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Conversation Note",
          "value": "create",
          "action": "Create a conversation note"
        },
        {
          "name": "Get Conversation Note By ID",
          "value": "get",
          "action": "Retrieve a conversation note"
        },
        {
          "name": "Delete Conversation Note",
          "value": "delete",
          "action": "Delete a conversation note"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "note"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create File",
          "value": "create",
          "action": "Create a file"
        },
        {
          "name": "Delete File",
          "value": "delete",
          "action": "Delete a file"
        },
        {
          "name": "Download File",
          "value": "download",
          "action": "Download a file"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"me","name":"Identify Yourself","resource":"user"},{"operation":"search","name":"Search For Contact","resource":"contact"},{"operation":"delete","name":"Delete Contact","resource":"contact"},{"operation":"create","name":"Create Contact","resource":"contact"},{"operation":"update","name":"Update Contact","resource":"contact"},{"operation":"listConversations","name":"Get Many Conversations","resource":"contact"},{"operation":"sendMessage","name":"Send Message","resource":"message"},{"operation":"sendMail","name":"Send Email","resource":"message"},{"operation":"sendWhatsAppTemplate","name":"Send WhatsApp Template","resource":"message"},{"operation":"get","name":"Get Conversation By ID","resource":"conversation"},{"operation":"updateLabels","name":"Update Labels","resource":"conversation"},{"operation":"updateStatus","name":"Update Status","resource":"conversation"},{"operation":"updateAssignees","name":"Update Assigned Users","resource":"conversation"},{"operation":"delete","name":"Delete Conversation","resource":"conversation"},{"operation":"create","name":"Create Conversation Note","resource":"note"},{"operation":"get","name":"Get Conversation Note By ID","resource":"note"},{"operation":"delete","name":"Delete Conversation Note","resource":"note"},{"operation":"create","name":"Create File","resource":"file"},{"operation":"delete","name":"Delete File","resource":"file"},{"operation":"download","name":"Download File","resource":"file"}]

npm_readme:
  # n8n-nodes-superchat
  ![](./superchat.png)

  This is an n8n community node. It lets you integrate **Superchat** into your n8n workflows.

  **Superchat** is a unified messaging platform that enables sending and receiving messages across WhatsApp, Instagram Direct, Facebook Messenger, SMS, email, Live Chat, and more. Our Superchat app in n8n supports managing contacts, conversations, notes, files, channels, labels, and more.

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

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

  ---

  ## Installation

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

  ---

  ## Operations

  This node supports operations on the following six resources:

  ### User
  - **Me** — Retrieve details about the authenticated Superchat user.

  ### Contact
  - **Create** — Create a new contact.
  - **Search** — Search for contacts by email, phone, or Instagram handle.
  - **Update** — Update a contact's information.
  - **Delete** — Delete a contact by its ID.
  - **Get Conversations** — Fetch all conversations associated with a contact.

  ### Message
  - **Send Message** — Send a text or media message to a contact.
  - **Send Mail** — Send an email, with optional attachments, to a contact.
  - **Send WhatsApp Template** — Send a pre-approved WhatsApp template message.

  ### Conversation
  - **Get** — Retrieve a conversation by its ID.
  - **Delete** — Delete a conversation by its ID.
  - **Update Labels** — Update the labels for a conversation.
  - **Update Status** — Update the status of a conversation (e.g., open, done, snoozed).
  - **Update Assignees** — Update the users assigned to a conversation.

  ### Note
  - **Create** — Add a new note to a conversation.
  - **Get** — Retrieve a specific note from a conversation.
  - **Delete** — Delete a specific note from a conversation.

  ### File
  - **Create (upload)** — Upload a binary file to Superchat.
  - **Download** — Download a file by its ID.
  - **Delete** — Delete a file by its ID.

  ---

  ## Credentials

  **Superchat API**

  1. Log into your Superchat Account.
  2. Go to Settings > Explore Integrations > Click the n8n card
  3. Click 'Add' and copy the API key.
  4. Add a n8n action or trigger and enter your Superchat API key in the credentials section.

  ---

  ## Compatibility

  Tested with:
  - **n8n v1.97.1**

  ---

  ## Usage

  1. Install n8n-nodes-superchat via the community nodes installer.
  2. Add the Superchat node to your n8n workflow.
  3. Configure credentials using your Superchat API key.
  4. Select a resource (User, Contact, Message, Conversation, Note, or File).
  5. Choose the desired operation.
  6. Fill in required fields (e.g. recipient info, message content).
  7. Execute the workflow to send messages, manage contacts/conversations, and upload/download files.

  ---

  ## Resources

  - [Superchat API Documentation](https://developers.superchat.com/) 
  - [Getting Started Guide](https://developers.superchat.com/docs/getting-started-send-your-first-message)
  - [Superchat Help Centre](https://help.superchat.com)

ai_documentation_summary:
  {"purpose":"A n8n community node that integrates with Superchat to send and receive messages across WhatsApp, Instagram, Messenger, SMS, email, live chat, and Telegram, while also managing contacts, conversations, notes, and files.","capabilities":["Retrieve authenticated user details","Create, search, update, and delete contacts","Fetch conversations for a contact","Send text or media messages","Send emails with attachments","Send WhatsApp template messages","Retrieve, delete, and update conversation labels and status","Assign users to conversations","Create, retrieve, and delete notes","Upload and download binary files"],"authentication":"API key required (obtained from Superchat account settings under Integrations)","commonUseCases":["Unified messaging across multiple platforms (WhatsApp, Instagram, Messenger, etc.)","Automated customer support via Superchat","Managing contact lists and conversation histories","File sharing and document management within conversations","Workflow automation for multi-channel communication"],"limitations":["Community node (not official n8n node)","Requires Superchat account setup and API key","Tested only with n8n v1.97.1"],"relatedNodes":["n8n-nodes-whatsapp","n8n-nodes-instagram","n8n-nodes-email","n8n-nodes-telegram"]}


node_type: n8n-nodes-simla.simlaTrigger
package_name: n8n-nodes-simla
display_name: Simla Trigger
description: Starts the workflow on a Simla mg event
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: retailcrm
author_github_url: https://github.com/retailcrm/
npm_package_name: n8n-nodes-simla
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:40.640Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # n8n-nodes-simla

  This is a n8n community node. It lets you use Simla API in your n8n workflows.

  Simla is a customer relationship management (CRM) platform that helps businesses manage sales, customer interactions, and messaging.

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

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

  ## Installation

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

  ## Operations

  This node supports the following resources and operations:

  ### Customer
  - **Get**: Get customers by filter
  - **Create**: Create customer
  - **Edit**: Edit customer

  ### Order
  - **Get**: Get orders by filter
  - **Create**: Create order
  - **Edit**: Edit order

  ### Message
  - **Send**: Send a message to chat

  ### Dialog
  - **Assign**: Assign a dialog to a user or bot
  - **Unassign**: Unassign a dialog
  - **Close**: Close a dialog

  ## Credentials

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

  1. You need a Simla account
  2. Create a Simla API key - [documentation](https://docs.simla.com/Users/Integration/APIEditing). Minimal required permissions:
  	- **Orders**: Read and write
  	- **Customers**: Read and write
  	- **Integration**: Read and write
  3. Provide:
  	- **Simla URL**: Your Simla instance URL
  	- **Simla API key**: Your API key for authentication

  The node uses API key authentication with the key sent in the X-Api-Key header.

  ## Compatibility

  This node has been tested with n8n version 1.109.1.

  ## Usage

  ### Customer and order operations:
  Fill in the necessary fields in the filter to search for a customer or order.

  #### Saving an order with a customer
  Select Simla Trigger with Trigger On: _Customer Message_.
  ![img.png](docs/customerOrderCreate.png)
  You can search for a customer by _customerMgId_:
  ![img.png](docs/customerGet.png)
  When creating an order, specify Customer -> ID:
  ![img.png](docs/orderWithCustomer.png)

  Choose the necessary fields from fixedCollection for creating and editing a customer or order.
  #### Order creation example:
  ![img.png](docs/orderCreate.png)

  #### Customer edition example:
  ![img.png](docs/customerEdit.png)

  ### Illustrative example of chat interactions:
  Select Simla Trigger with Trigger On: _Customer Message_.
  When a message is received in Simla, the message is passed to $json.body.payload[0].content. Depending on the message written by the client:
  - a greeting is sent to the client;
  - the dialog is assigned to the appropriate manager;
  - the dialog is unassigned from the responsible person;
  - the dialog is closed.

  ![img.png](docs/chatManipulation.png)

  To send a message, specify the Chat ID from INPUT. To manage the dialog, select dialogId in the corresponding field.

  ![img.png](docs/chatSendMessage.png)


  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Simla API Documentation](https://docs.simla.com/Developers/API/APIVersions/APIv5)

ai_documentation_summary:
  {"purpose":"A n8n community node that triggers workflows based on events from the Simla CRM platform, enabling automation of customer interactions, orders, and messaging.","capabilities":["Trigger workflow on Simla customer message events","Retrieve customers by filter","Create new customers","Edit existing customers","Retrieve orders by filter","Create new orders","Edit existing orders","Send messages to chat","Assign dialogs to users or bots","Unassign dialogs"],"authentication":"API key required (X-Api-Key header)","commonUseCases":["Automate customer onboarding when a new customer message is received","Create orders linked to specific customers","Route chat dialogues to appropriate managers or bots","Close or unassign completed customer dialogues"],"limitations":["Community node (not official n8n node)","Requires separate Simla account and API key setup","Minimum permissions required for Orders, Customers, and Integration resources","Tested only with n8n version 1.109.1"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest"]}


node_type: @scrapeops/n8n-nodes-scrapeops.ScrapeOps
package_name: @scrapeops/n8n-nodes-scrapeops
display_name: ScrapeOps
description: Interact with ScrapeOps Proxy, Parser and Data APIs
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: lucashellison
author_github_url: https://github.com/scrapeops/n8n-community-node.git
npm_package_name: @scrapeops/n8n-nodes-scrapeops
npm_version: 0.2.7
community_fetched_at: 2026-03-25T21:19:40.641Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # ScrapeOps n8n Community Node

  [![npm version](https://badge.fury.io/js/%40scrapeops%2Fn8n-nodes-scrapeops.svg)](https://badge.fury.io/js/%40scrapeops%2Fn8n-nodes-scrapeops)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  The **[ScrapeOps n8n node](https://n8n.io/integrations/scrapeops/)** is a powerful integration that brings ScrapeOps' web scraping capabilities directly into your n8n workflows. This node allows you to leverage ScrapeOps' proxy aggregation, HTML parsing, and structured data extraction services without writing complex code.

  ![ScrapeOps N8N Node](https://scrapeops-assets-2.nyc3.cdn.digitaloceanspaces.com/Docs/n8n/n8n-scrapeops-node-integration.png)

  ## What is ScrapeOps?

  [ScrapeOps](https://scrapeops.io) provides a suite of tools to simplify web scraping operations:

  - **🔀 Proxy API**: Access high-quality proxies through a single endpoint for reliable web scraping
  - **📊 Parser API**: Extract structured data from HTML content of popular websites
  - **💾 Data API**: Retrieve and query data from ScrapeOps datasets

  ## ✨ Key Features

  ### 🔀 Proxy API
  - Smart proxy rotation across multiple providers
  - [JavaScript rendering support](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/headless-browser/) for dynamic sites
  - [Anti-bot bypass capabilities](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/anti-bot-bypass/) (Cloudflare, DataDome, etc.)
  - [Geo-targeting options](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/country-geotargeting/)
  - [Mobile and residential proxy support](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/residential-proxies/)
  - [Session management](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/sticky-sessions/) for multi-step scraping

  ### 📊 Parser API
  - Extract structured data from popular websites without maintaining your own parsers
  - **Supported Sites**: [Amazon](https://scrapeops.io/docs/parser-api/parsers/amazon-product-parser/), [eBay](https://scrapeops.io/docs/parser-api/parsers/ebay-product-parser/), [Walmart](https://scrapeops.io/docs/parser-api/parsers/walmart-product-parser/), [Indeed](https://scrapeops.io/docs/parser-api/parsers/indeed-product-parser/), [Redfin](https://scrapeops.io/docs/parser-api/parsers/redfin-product-parser/)
  - **Page Types**: Product pages, search results, reviews, categories
  - Returns clean, structured JSON data

  ### 💾 Data API
  - Direct access to structured data endpoints
  - **[Amazon Product API](https://scrapeops.io/docs/data-api/amazon-product-api/)**: Get product details by ASIN or URL
  - **[Amazon Search API](https://scrapeops.io/docs/data-api/amazon-product-search-api/)**: Search products and get structured results
  - No HTML scraping required - get data in a single request

  ---

  ## 📦 Installation

  ### Method 1: Install via n8n Cloud UI (Recommended)

  If you're using n8n Cloud, you can easily install the ScrapeOps node directly from the UI:

  1. **Sign in to n8n**, open the editor, and click **+** in the top right to open the Nodes panel

  ![Plus Sign in n8n](https://scrapeops-assets-2.nyc3.cdn.digitaloceanspaces.com/Docs/n8n/click_plus_n8n_scrapeops.png)

  2. **Search for "ScrapeOps"** node using the search bar. Look for the version marked by a badge ☑. Then, select **install**.

  ![Type ScrapeOps](https://scrapeops-assets-2.nyc3.cdn.digitaloceanspaces.com/Docs/n8n/type_scrapeops-n8n.png)

  3. The ScrapeOps node will be installed and appear in your node palette automatically.

  ### Method 2: Install via n8n Settings (Self-Hosted)

  For self-hosted n8n instances:

  1. Open your n8n instance
  2. Navigate to **Settings** → **Community Nodes**
  3. Click **Install a community node**
  4. Enter the package name: `@scrapeops/n8n-nodes-scrapeops`
  5. Click **Install**
  6. Restart your n8n instance when prompted

  ### Method 3: Manual Installation (Self-Hosted)

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

  # Install the ScrapeOps node
  npm install @scrapeops/n8n-nodes-scrapeops

  # Restart n8n
  n8n start
  ```

  ### Method 4: Docker Installation

  For Docker users, add the node to your `docker-compose.yml`:

  ```yaml
  version: '3.8'
  services:
    n8n:
      image: n8nio/n8n
      environment:
        - N8N_COMMUNITY_NODES_ENABLED=true
        - NODE_FUNCTION_ALLOW_EXTERNAL=n8n-nodes-scrapeops
      volumes:
        - ~/.n8n:/home/node/.n8n
  ```

  Then install the node:

  ```bash
  docker exec -it <container_name> npm install @scrapeops/n8n-nodes-scrapeops
  docker restart <container_name>
  ```

  ---

  ## 🔑 Authentication

  ### Getting Your ScrapeOps API Key

  To use the ScrapeOps node, you'll need a **ScrapeOps API key** which you can get by signing up for a [free account here](https://scrapeops.io/app/register/proxy).

  **Steps to get your API key:**

  1. **Sign up for a free account** at [ScrapeOps](https://scrapeops.io/app/register/proxy)
  2. **Verify your email address** (required to activate your API key)
  3. **Visit your dashboard** at [ScrapeOps Dashboard](https://scrapeops.io/app/dashboard)
  4. **Copy your API key** from the dashboard

  ![Get The API Key](./images/scrapeops-dashboard.png)

  > ⚠️ **Important:** You must confirm your email address to activate your API key. Check your inbox for a verification email from ScrapeOps.

  ### Configure Credentials in n8n

  1. In n8n, go to **Credentials** → **Add Credential**.

  ![Create Credentials](https://scrapeops-assets-2.nyc3.cdn.digitaloceanspaces.com/Docs/n8n/create_credential_n8n.png)

  2. Search for **"ScrapeOps API"** and enter your API key.

  ![Enter API Key](https://scrapeops-assets-2.nyc3.cdn.digitaloceanspaces.com/Docs/n8n/add_key_save.png)

  3. Save and test the credentials.

  ---

  ## 🎯 Quick Start

  ### Adding the Node to a Workflow

  1. Create a new workflow in n8n.
  2. Click Add to Workflow **"ScrapeOps"** node from the palette.

  ![Add to Workflow](https://scrapeops-assets-2.nyc3.cdn.digitaloceanspaces.com/Docs/n8n/add%20to%20workflow%20n8n%20scrapeops.png)

  3. Select an API (Proxy, Parser, or Data) and configure parameters.

  ![Choose API Type](https://scrapeops-assets-2.nyc3.cdn.digitaloceanspaces.com/Docs/n8n/3%20types%20of%20API.png)


  You can monitor your usage in the [ScrapeOps Dashboard](https://scrapeops.io/app/dashboard).

  ---

  ## 📚 API Documentation

  ### 🔀 Proxy API

  Route GET/POST requests through proxies to scrape blocked sites.

  **Basic Parameters:**
  - **URL:** Target URL to scrape (required)
  - **Method:** GET or POST (default: GET)  
  - **Return Type:** Default (raw response) or JSON

  **Advanced Options:**

  | Option | Type | Description | Default | Example Values |
  |--------|------|-------------|---------|----------------|
  | **[Follow Redirects](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/follow-redirects/)** | Boolean | Follow HTTP redirects | true | `true`, `false` |
  | **[Keep Headers](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/custom-headers/)** | Boolean | Use your custom headers | false | `true`, `false` |
  | **[Initial Status Code](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/transparent-status-codes/)** | Boolean | Return initial status code | false | `true`, `false` |
  | **[Final Status Code](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/transparent-status-codes/)** | Boolean | Return final status code | false | `true`, `false` |
  | **[Optimize Request](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/optimize-request/)** | Boolean | Auto-optimize settings | false | `true`, `false` |
  | **[Max Request Cost](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/optimize-request/)** | Number | Max credits to use (with optimize) | 0 | `10`, `50`, `100` |
  | **[Render JavaScript](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/headless-browser/)** | Boolean | Enable headless browser | false | `true`, `false` |
  | **[Wait Time](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/wait-time/)** | Number | Wait before capture (ms) | 0 | `3000`, `5000` |
  | **[Wait For](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/wait-for/)** | String | CSS selector to wait for | - | `.product-title`, `#content` |
  | **[Scroll](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/scroll-page/)** | Number | Scroll pixels before capture | 0 | `1000`, `2000` |
  | **[Screenshot](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/screenshot/)** | Boolean | Return base64 screenshot | false | `true`, `false` |
  | **[Device Type](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/device-type/)** | String | Device emulation | desktop | `desktop`, `mobile` |
  | **[Premium Proxies](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/premium-proxies/)** | String | Premium level | level_1 | `level_1`, `level_2` |
  | **[Residential Proxies](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/residential-proxies/)** | Boolean | Use residential IPs | false | `true`, `false` |
  | **[Mobile Proxies](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/mobile-proxies/)** | Boolean | Use mobile IPs | false | `true`, `false` |
  | **[Session Number](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/sticky-sessions/)** | Number | Sticky session ID | 0 | `12345`, `67890` |
  | **[Country](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/country-geotargeting/)** | String | Geo-targeting country | - | `us`, `gb`, `de`, `fr`, `ca`, `au`, `jp`, `in` |
  | **[Bypass](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/anti-bot-bypass/)** | String | Anti-bot bypass level | - | `cloudflare_level_1`, `cloudflare_level_2`, `cloudflare_level_3`, `datadome`, `perimeterx`, `incapsula`, `generic_level_1` to `generic_level_4` |

  **Example Configuration:**
  ```
  API Type: Proxy API
  URL: https://example.com
  Method: GET
  Render JavaScript: true
  Wait Time: 3000
  Country: us
  ```

  ### 📊 Parser API

  Parse HTML into structured JSON for supported domains.

  **Parameters:**
  - **Domain:** [Amazon](https://scrapeops.io/docs/parser-api/parsers/amazon-product-parser/), [eBay](https://scrapeops.io/docs/parser-api/parsers/ebay-product-parser/), [Walmart](https://scrapeops.io/docs/parser-api/parsers/walmart-product-parser/), [Indeed](https://scrapeops.io/docs/parser-api/parsers/indeed-product-parser/), [Redfin](https://scrapeops.io/docs/parser-api/parsers/redfin-product-parser/)
  - **URL:** Page URL (required)
  - **HTML Content:** Raw HTML to parse (required)

  **Example Configuration:**
  ```
  API Type: Parser API
  Domain: Amazon
  URL: https://www.amazon.com/dp/B08N5WRWNW
  HTML Content: {{ $node["Proxy_API"].json.body }}
  ```

  ### 💾 Data API

  Tap into pre-scraped datasets for commerce, jobs, and real estate without maintaining your own crawlers or parsers.

  **Workflow basics**

  - **Domain**: Choose `Amazon`, `eBay`, `Walmart`, `Indeed`, or `Redfin`.
  - **API Type**: Select the dataset endpoint that matches the data you need (product, search, reviews, etc.).
  - **Input Type**: Decide whether you want to identify the record via ID, query, or URL.
  - **Advanced Options**: Provide localization parameters (`country`, `tld`) when available to scope the dataset to a specific market.

  **1. Amazon Product Data (Using URL)**
  ```text
  Domain: Amazon
  API Type: Product API
  Input Type: URL
  Product URL: https://www.amazon.com/dp/B08N5WRWNW
  ```

  **2. Walmart Search Results (Using Query)**
  ```text
  Domain: Walmart
  API Type: Search API
  Input Type: Query
  Search Query: laptop
  Advanced Options: Country = us
  ```

  **Supported Domains:**
  - **Amazon**: Product, Search
  - **eBay**: Product, Search, Feedback, Category, Store
  - **Walmart**: Product, Search, Review, Shop, Browse, Category
  - **Indeed**: Job Search, Job Detail, Company Search/Reviews/Jobs
  - **Redfin**: Sale/Rent Search, Detail, Building, Agent, State



  ---

  ## 🎯 Common Use Cases

  ### 1. **Price Monitoring**
  - Track product prices across multiple e-commerce sites
  - Set up alerts for price drops
  - Generate competitive pricing reports

  ### 2. **Market Research**
  - Collect product reviews and ratings
  - Monitor competitor inventory
  - Track market trends

  ### 3. **Lead Generation**
  - Extract business information from directories
  - Collect job postings from career sites
  - Find real estate listings

  ### 4. **Content Aggregation**
  - Collect news articles
  - Monitor social media mentions
  - Aggregate product descriptions

  ---

  ## 🛠️ Best Practices

  ### 1. Start Simple
  Begin with basic requests and add complexity:
  ```
  1. Basic GET request
  2. Add JavaScript rendering if needed
  3. Add wait conditions
  4. Enable anti-bot bypass if blocked
  ```

  ### 2. Optimize for Cost
  - Use [`optimize_request: true`](https://scrapeops.io/docs/web-scraping-proxy-api-aggregator/advanced-functionality/optimize-request/) for automatic optimization
  - Set `max_request_cost` to control spending
  - Only enable features you need

  ### 3. Handle Dynamic Content
  For JavaScript-heavy sites:
  ```
  Render JavaScript: true
  Wait Time: 3000
  Wait For: .main-content
  Scroll: 1000
  ```

  ### 4. Session Management
  For multi-step scraping:
  ```
  Session Number: 12345
  // Use same number across requests
  ```

  ---

  ## 🐛 Troubleshooting

  ### Node Not Appearing
  **Problem:** ScrapeOps node doesn't show up after installation

  **Solution:**
  1. Ensure n8n was restarted after installation
  2. Check that community nodes are enabled
  3. Verify the installation with: `npm list @scrapeops/n8n-nodes-scrapeops`

  ### Authentication Failures
  **Problem:** "Invalid API Key" error

  **Solution:**
  1. Verify API key is copied correctly (no extra spaces)
  2. Check if API key is active in ScrapeOps dashboard
  3. Ensure you're using the correct credential in the node

  ### Connection Timeouts
  **Problem:** Requests timing out

  **Solution:**
  1. Check your firewall settings
  2. Verify n8n can make external HTTP requests
  3. Test with a simple URL first (like httpbin.org)

  ---

  ## 📖 Resources

  - **[ScrapeOps Documentation](https://scrapeops.io/docs/intro/)** - Complete API documentation
  - **[ScrapeOps n8n Node Documentation](https://scrapeops.io/docs/n8n/overview)** - Complete ScrapeOps n8n Node documentation
  - **[n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)** - n8n integration guide
  - **[ScrapeOps Dashboard](https://scrapeops.io/app/dashboard)** - Monitor usage and performance
  - **[n8n Community Forum](https://community.n8n.io/)** - Get help from the community

  ---

  ## 🤝 Support

  - **ScrapeOps Support:** support@scrapeops.io
  - **n8n Community Forum:** [community.n8n.io](https://community.n8n.io)
  - **GitHub Issues:** [Report bugs or request features](https://github.com/ScrapeOps/n8n-community-node/issues)

  ---

  ## 📄 License

  [MIT](LICENSE.md)

  ---

  **Ready to automate your web scraping?** Get started with the [ScrapeOps n8n integration](https://n8n.io/integrations/scrapeops/) today!

ai_documentation_summary:
  {"purpose":"The ScrapeOps n8n node integrates web scraping capabilities including proxy aggregation, HTML parsing, and structured data extraction directly into n8n workflows.","capabilities":["Proxy API with smart rotation and anti-bot bypass","Headless browser support for dynamic sites","Geo-targeting and mobile/residential proxy support","Session management for multi-step scraping","Parser API for Amazon, eBay, Walmart, Indeed, and Redfin","Data API for direct product and search data retrieval","Structured JSON data extraction"],"authentication":"API Key required (ScrapeOps API key)","commonUseCases":["E-commerce price monitoring","Product data extraction from Amazon/eBay","Web scraping with proxy rotation","Structured data queries without HTML parsing"],"limitations":["Email verification required to activate API key","Free account limits apply (specifics not detailed in README)"],"relatedNodes":["HTTP Request","JSON Data","Code"]}


node_type: n8n-nodes-htmlcsstopdf.htmlcsstopdf
package_name: n8n-nodes-htmlcsstopdf
display_name: HTML to PDF
description: Convert HTML to PDF, Parse PDF, Extract Data, and Manage PDF Security
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: htmlcsstoimage
author_github_url: https://github.com/PdfMunk/n8n-nodes-htmltopdf.git
npm_package_name: n8n-nodes-htmlcsstopdf
npm_version: 3.2.3
community_fetched_at: 2026-03-25T21:19:40.642Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "pdfCreation",
      "options": [
        {
          "name": "PDF Creation",
          "value": "pdfCreation",
          "description": "Create PDF documents from various sources"
        },
        {
          "name": "PDF Manipulation",
          "value": "pdfManipulation",
          "description": "Merge, split, or compress PDF documents"
        },
        {
          "name": "PDF Security",
          "value": "pdfSecurity",
          "description": "Lock and unlock password-protected PDFs"
        },
        {
          "name": "PDF Extraction & Parsing",
          "value": "pdfParsing",
          "description": "Parse PDFs into structured JSON data"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "htmlToPdf",
      "options": [
        {
          "name": "HTML to PDF",
          "value": "htmlToPdf",
          "action": "Convert HTML to PDF",
          "description": "Generate PDF from HTML/CSS"
        },
        {
          "name": "URL to PDF",
          "value": "urlToPdf",
          "action": "Capture a screenshot of a website in PDF format",
          "description": "Capture Website Screenshot to PDF"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdfCreation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "mergePdfs",
      "options": [
        {
          "name": "Compress PDF",
          "value": "compressPdf",
          "action": "Compress PDF",
          "description": "Compress a PDF to reduce file size"
        },
        {
          "name": "Convert Image to PDF",
          "value": "convertImageToPdf",
          "action": "Convert image to PDF",
          "description": "Convert one or more images into a PDF"
        },
        {
          "name": "Convert PDF to Image",
          "value": "convertPdfToImage",
          "action": "Convert PDF to image",
          "description": "Convert PDF pages into image files"
        },
        {
          "name": "Merge PDFs",
          "value": "mergePdfs",
          "action": "Merge multiple PDFS into one",
          "description": "Merge multiple PDF files into one"
        },
        {
          "name": "Split PDF",
          "value": "splitPdf",
          "action": "Split PDF",
          "description": "Split or extract pages from a PDF"
        },
        {
          "name": "Watermark PDF",
          "value": "watermarkPdf",
          "action": "Watermark PDF",
          "description": "Add a text watermark to a PDF"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdfManipulation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "lockPdf",
      "options": [
        {
          "name": "Lock PDF",
          "value": "lockPdf",
          "action": "Lock PDF with password",
          "description": "Add password protection to a PDF"
        },
        {
          "name": "Unlock PDF",
          "value": "unlockPdf",
          "action": "Unlock password protected PDF",
          "description": "Remove password protection from a PDF"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdfSecurity"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "parsePdf",
      "options": [
        {
          "name": "Parse PDF",
          "value": "parsePdf",
          "action": "Parse PDF to JSON",
          "description": "Extract structured data from text-based PDF"
        },
        {
          "name": "Parse PDF with OCR",
          "value": "parsePdfOcr",
          "action": "Parse PDF with OCR",
          "description": "Extract text using ocr from scanned pdf pages"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdfParsing"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"htmlToPdf","name":"HTML to PDF","description":"Generate PDF from HTML/CSS","resource":"pdfCreation"},{"operation":"urlToPdf","name":"URL to PDF","description":"Capture Website Screenshot to PDF","resource":"pdfCreation"},{"operation":"compressPdf","name":"Compress PDF","description":"Compress a PDF to reduce file size","resource":"pdfManipulation"},{"operation":"convertImageToPdf","name":"Convert Image to PDF","description":"Convert one or more images into a PDF","resource":"pdfManipulation"},{"operation":"convertPdfToImage","name":"Convert PDF to Image","description":"Convert PDF pages into image files","resource":"pdfManipulation"},{"operation":"mergePdfs","name":"Merge PDFs","description":"Merge multiple PDF files into one","resource":"pdfManipulation"},{"operation":"splitPdf","name":"Split PDF","description":"Split or extract pages from a PDF","resource":"pdfManipulation"},{"operation":"watermarkPdf","name":"Watermark PDF","description":"Add a text watermark to a PDF","resource":"pdfManipulation"},{"operation":"lockPdf","name":"Lock PDF","description":"Add password protection to a PDF","resource":"pdfSecurity"},{"operation":"unlockPdf","name":"Unlock PDF","description":"Remove password protection from a PDF","resource":"pdfSecurity"},{"operation":"parsePdf","name":"Parse PDF","description":"Extract structured data from text-based PDF","resource":"pdfParsing"},{"operation":"parsePdfOcr","name":"Parse PDF with OCR","description":"Extract text using ocr from scanned pdf pages","resource":"pdfParsing"}]

npm_readme:
  # n8n-nodes-htmlcsstopdf

  [![PDFMunk Banner](images/pdfmunkbanner.png)](https://pdfmunk.com/)

  **Get your api key from** [https://pdfmunk.com](https://pdfmunk.com)

  **For PDF Split/Merge and other powerful PDF features**, try our new product [PDFAPIHub](https://pdfapihub.com)

  An n8n community node for creating PDFs from HTML/CSS or URLs, manipulating PDFs (merge/split/compress), securing PDFs (lock/unlock), and parsing PDFs to structured JSON — powered by the PDFMunk API.

  ## Features

  - **PDF Creation**
    - **HTML to PDF**: Render HTML + optional CSS into a PDF
    - **URL to PDF**: Capture a website as a PDF (full-page support)
    - **Dynamic Params**: Template placeholder replacement for HTML generation
    - **Viewport Control**: Configure viewport width/height
    - **Flexible Output**: Return a direct URL or a binary PDF file
    - **Output Filename**: Set the resulting PDF filename
    - **Configurable Timeout**: Increase timeouts for large/slow renders
  - **PDF Manipulation**
    - **Merge PDFs**: Merge 2–15 PDFs from URLs or multiple binary PDF inputs
    - **Split PDF**: Extract specific pages, split each page, or split into chunks
    - **Compress PDF**: Reduce file size with selectable compression levels
    - **Watermark PDF**: Add text watermark with angle/opacity/font controls
    - **Convert PDF to Image**: Convert selected pages to PNG/JPG/JPEG/WEBP
    - **Convert Image to PDF**: Merge one or multiple images into a PDF
  - **PDF Security**
    - **Lock PDF**: Add password protection (optionally provide input password for already-encrypted PDFs), via URL or file input
    - **Unlock PDF**: Remove password protection, via URL or file input
  - **PDF Extraction & Parsing**
    - **Parse PDF to JSON**: Extract text/layout/tables/full extraction with page selection, via URL or file input
    - **Parse PDF with OCR**: OCR parse scanned PDFs with language/PSM/OEM settings

  ## 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** in your n8n instance
  2. Click **Install a community node**
  3. Enter `n8n-nodes-htmlcsstopdf`
  4. Click **Install**

  ### Manual Installation

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

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

  ### Docker

  Add the package to your n8n Docker container:

  ```dockerfile
  FROM n8nio/n8n:latest
  USER root
  RUN npm install -g n8n-nodes-htmlcsstopdf
  USER node
  ```

  ## Getting Your PDFMunk API Key

  1. **Sign Up**: Visit [PDFMunk.com](https://pdfmunk.com) and create an account
  2. **Verify Email**: Check your email and verify your account
  3. **Access Dashboard**: Log in to your PDFMunk dashboard
  4. **Generate API Key**: 
     - Navigate to the "API Keys" section
     - Click "Generate New API Key"
     - Copy your API key securely
  5. **Choose Plan**: Select a plan based on your usage needs (see PDFMunk pricing for current limits).

  ## Configuration

  ### Setting Up Credentials

  1. In n8n, go to **Credentials**
  2. Click **+ Add Credential**
  3. Search for "HtmlCssToPdf API"
  4. Enter your PDFMunk API key
  5. Test the connection
  6. Save the credential

  ## Operations

  The node exposes operations grouped by **Resource**.

  ### PDF Creation

  #### HTML to PDF
  Generate a PDF from custom HTML and optional CSS.

  **Parameters:**
  - **HTML Content** (`html_content`)
  - **CSS Content** (`css_content`, optional)
  - **Dynamic Params** (`dynamic_params`, optional key/value pairs for templating)
  - **Viewport Width/Height** (`viewPortWidth`, `viewPortHeight`)
  - **Output Format** (`output_format`: `url` or `file`)
  - **Output Filename** (`output_filename`, without `.pdf`)
  - **Timeout (in Seconds)** (`timeout`, default: 300)

  #### URL to PDF
  Generate a PDF from a website URL.

  **Parameters:**
  - **URL** (`url`)
  - **Full Page** (`full_page`, default: `true`)
  - **Wait Till** (`wait_till`, milliseconds to wait before capture)
  - **Viewport Width/Height** (`viewPortWidth`, `viewPortHeight`)
  - **Output Format** (`output_format`: `url` or `file`)
  - **Output Filename** (`output_filename`, without `.pdf`)
  - **Timeout (in Seconds)** (`timeout`, default: 300)

  ### PDF Manipulation

  #### Merge PDFs
  Merge multiple PDFs into one document.

  **Parameters:**
  - **Input Type** (`merge_input_type`: `url` or `file`)
  - **PDF URLs** (`pdf_urls`, comma-separated; minimum 2, maximum 15; URL mode)
  - **File Binary Property Name (CSV)** (`merge_file_binary_properties`, file mode)
  - **Output Type** (`merge_output`: `url`, `file`, or `base64`)

  #### Split PDF
  Split or extract pages from a PDF.

  **Parameters:**
  - **Input Type** (`split_input_type`: `url` or `file`)
  - **PDF URL** (`split_url`, URL mode)
  - **File Binary Property** (`split_file_binary_property`, file mode)
  - **Split Mode** (`split_mode`)
    - `pages`: extract a page range/list via **Page Range** (`pages`)
    - `each`: split each page into its own PDF
    - `chunks`: split into **Number of Chunks** (`chunks`)
  - **Output Type** (`split_output`: `url`, `file`, or `base64`)

  #### Compress PDF
  Compress a PDF to reduce file size.

  **Parameters:**
  - **Input Type** (`compress_input_type`: `url` or `file`)
  - **PDF URL** (`compress_url`, max 10MB, URL mode)
  - **File Binary Property** (`compress_file_binary_property`, file mode)
  - **Compression Level** (`compression`: `low`, `medium`, `high`, `max`)
  - **Output Type** (`compress_output`: `url`, `file`, or `base64`)
  - **Output Filename** (`compress_output_name`, e.g. `compressed.pdf`)

  #### Watermark PDF
  Add text watermark to a PDF.

  **Parameters:**
  - **Input Type** (`watermark_input_type`: `url` or `file`)
  - **PDF URL** (`watermark_file_url`, URL mode)
  - **File Binary Property** (`watermark_file_binary_property`, file mode)
  - **Output Format** (`watermark_output_format`: `file`, `url`, `base64`, or `both`)
  - **Watermark Text** (`watermark_text`)
  - **Opacity** (`watermark_opacity`)
  - **Angle** (`watermark_angle`)
  - **Font Size** (`watermark_font_size`, optional)

  #### Convert PDF to Image
  Convert one or more PDF pages to images.

  **Parameters:**
  - **Input Type** (`convert_pdf_image_input_type`: `url` or `file`)
  - **PDF URL** (`convert_pdf_image_url`, URL mode)
  - **File Binary Property** (`convert_pdf_image_file_binary_property`, file mode)
  - **Page** (`convert_pdf_image_page`, used when `Pages` is empty)
  - **Pages** (`convert_pdf_image_pages`, e.g. `1-3` or `1,3,5`)
  - **Image Format** (`convert_pdf_image_format`: `png`, `jpg`, `jpeg`, `webp`)
  - **DPI** (`convert_pdf_image_dpi`)
  - **Quality** (`convert_pdf_image_quality`)
  - **Output Type** (`convert_pdf_image_output`: `url`, `base64`, `both`, or `file`)

  #### Convert Image to PDF
  Convert one or multiple image URLs into a PDF.

  **Parameters:**
  - **Image URLs** (`convert_image_pdf_urls`, comma-separated)
  - **Output Type** (`convert_image_pdf_output`: `url`, `base64`, `both`, or `file`)
  - **Output Filename** (`convert_image_pdf_filename`)

  ### PDF Security

  #### Lock PDF
  Add password protection to a PDF.

  **Parameters:**
  - **Input Type** (`lock_input_type`: `url` or `file`)
  - **PDF URL** (`lock_url`, max 10MB, URL mode)
  - **File Binary Property** (`lock_file_binary_property`, file mode)
  - **Password** (`lock_password`)
  - **Input Password** (`lock_input_password`, optional)
  - **Output Type** (`lock_output`: `url`, `file`, or `base64`)
  - **Output Filename** (`lock_output_name`, e.g. `locked.pdf`)

  #### Unlock PDF
  Remove password protection from a PDF.

  **Parameters:**
  - **Input Type** (`unlock_input_type`: `url` or `file`)
  - **PDF URL** (`unlock_url`, max 10MB, URL mode)
  - **File Binary Property** (`unlock_file_binary_property`, file mode)
  - **Password** (`unlock_password`)
  - **Output Type** (`unlock_output`: `url`, `file`, or `base64`)
  - **Output Filename** (`unlock_output_name`, e.g. `unlocked.pdf`)

  ### PDF Extraction & Parsing

  #### Parse PDF
  Parse a PDF into structured JSON.

  **Parameters:**
  - **Input Type** (`parse_input_type`: `url` or `file`)
  - **PDF URL** (`parse_url`, URL mode)
  - **File Binary Property** (`parse_file_binary_property`, file mode)
  - **Parse Mode** (`parse_mode`: `text`, `layout`, `tables`, `full`)
  - **Pages** (`parse_pages`: `all` or ranges like `1-3`)

  #### Parse PDF with OCR
  Parse scanned PDFs using OCR.

  **Parameters:**
  - **Input Type** (`parse_input_type`: `url` or `file`)
  - **PDF URL** (`parse_url`, URL mode)
  - **File Binary Property** (`parse_file_binary_property`, file mode)
  - **Language** (`lang`, e.g. `eng` or `eng+hin`)
  - **Pages** (`parse_pages`: `all` or ranges like `1-3`)
  - **DPI** (`dpi`)
  - **PSM** (`psm`)
  - **OEM** (`oem`)

  ## Usage

  ### Basic HTML to PDF Conversion

  ```json
  {
    "operation": "htmlToPdf",
    "html_content": "<h1>Hello World</h1><p>This is a test document.</p>",
    "css_content": "h1 { color: blue; } p { font-size: 14px; }",
    "viewPortWidth": 1080,
    "viewPortHeight": 720,
    "output_format": "file",
    "output_filename": "hello-world",
    "timeout": 300
  }
  ```

  ### Advanced Usage Examples

  #### 1. Invoice Generation
  ```html
  <!DOCTYPE html>
  <html>
  <head>
      <style>
          .invoice { font-family: Arial, sans-serif; }
          .header { background-color: #f0f0f0; padding: 20px; }
          .total { font-weight: bold; font-size: 18px; }
      </style>
  </head>
  <body>
      <div class="invoice">
          <div class="header">
              <h1>Invoice #12345</h1>
          </div>
          <div class="total">Total: $299.99</div>
      </div>
  </body>
  </html>
  ```

  #### 2. Report Generation
  ```html
  <div class="report">
      <h1>Monthly Report</h1>
      <table border="1">
          <tr><th>Metric</th><th>Value</th></tr>
          <tr><td>Sales</td><td>$50,000</td></tr>
          <tr><td>Growth</td><td>15%</td></tr>
      </table>
  </div>
  ```

  #### 3. Certificate Generation
  ```html
  <div class="certificate">
      <h1>Certificate of Completion</h1>
      <p>This certifies that <strong>John Doe</strong> has completed the course.</p>
      <div class="signature">Authorized Signature</div>
  </div>
  ```

  ### PDF Manipulation Examples

  #### Merge PDFs
  ```json
  {
    "resource": "pdfManipulation",
    "operation": "mergePdfs",
    "merge_input_type": "url",
    "pdf_urls": "https://example.com/a.pdf, https://example.com/b.pdf",
    "merge_output": "url"
  }
  ```

  #### Merge PDFs (File input)
  ```json
  {
    "resource": "pdfManipulation",
    "operation": "mergePdfs",
    "merge_input_type": "file",
    "merge_file_binary_properties": "data1,data2",
    "merge_output": "file"
  }
  ```

  #### Split PDF (extract pages)
  ```json
  {
    "resource": "pdfManipulation",
    "operation": "splitPdf",
    "split_input_type": "url",
    "split_url": "https://example.com/document.pdf",
    "split_mode": "pages",
    "pages": "1-3",
    "split_output": "url"
  }
  ```

  #### Compress PDF
  ```json
  {
    "resource": "pdfManipulation",
    "operation": "compressPdf",
    "compress_input_type": "url",
    "compress_url": "https://example.com/document.pdf",
    "compression": "high",
    "compress_output": "file",
    "compress_output_name": "compressed.pdf"
  }
  ```

  #### Watermark PDF
  ```json
  {
    "resource": "pdfManipulation",
    "operation": "watermarkPdf",
    "watermark_input_type": "url",
    "watermark_file_url": "https://example.com/document.pdf",
    "watermark_output_format": "file",
    "watermark_text": "CONFIDENTIAL",
    "watermark_opacity": 0.15,
    "watermark_angle": 30
  }
  ```

  #### Convert PDF to Image
  ```json
  {
    "resource": "pdfManipulation",
    "operation": "convertPdfToImage",
    "convert_pdf_image_input_type": "url",
    "convert_pdf_image_url": "https://example.com/document.pdf",
    "convert_pdf_image_pages": "1-3",
    "convert_pdf_image_format": "png",
    "convert_pdf_image_output": "url"
  }
  ```

  #### Convert Image to PDF
  ```json
  {
    "resource": "pdfManipulation",
    "operation": "convertImageToPdf",
    "convert_image_pdf_urls": "https://example.com/a.png, https://example.com/b.jpg",
    "convert_image_pdf_output": "file",
    "convert_image_pdf_filename": "combined-images.pdf"
  }
  ```

  ### PDF Security Examples

  #### Lock PDF
  ```json
  {
    "resource": "pdfSecurity",
    "operation": "lockPdf",
    "lock_input_type": "url",
    "lock_url": "https://example.com/document.pdf",
    "lock_password": "your-password",
    "lock_output": "file",
    "lock_output_name": "locked.pdf"
  }
  ```

  #### Unlock PDF
  ```json
  {
    "resource": "pdfSecurity",
    "operation": "unlockPdf",
    "unlock_input_type": "url",
    "unlock_url": "https://example.com/locked.pdf",
    "unlock_password": "your-password",
    "unlock_output": "file",
    "unlock_output_name": "unlocked.pdf"
  }
  ```

  ### PDF Parsing Example

  #### Parse PDF to JSON
  ```json
  {
    "resource": "pdfParsing",
    "operation": "parsePdf",
    "parse_input_type": "url",
    "parse_url": "https://example.com/document.pdf",
    "parse_mode": "full",
    "parse_pages": "all"
  }
  ```

  #### Parse PDF with OCR
  ```json
  {
    "resource": "pdfParsing",
    "operation": "parsePdfOcr",
    "parse_input_type": "url",
    "parse_url": "https://example.com/scanned.pdf",
    "lang": "eng",
    "parse_pages": "all",
    "dpi": 200,
    "psm": 3,
    "oem": 3
  }
  ```

  ## Use Cases

  ### Business Applications
  - **Invoice Generation**: Automatically generate invoices from order data
  - **Report Creation**: Convert analytics data into professional PDF reports
  - **Contract Generation**: Create contracts from templates with dynamic data
  - **Certificate Issuance**: Generate certificates for course completions
  - **Receipt Creation**: Convert transaction data into PDF receipts

  ### Content Management
  - **Document Archival**: Convert web pages to PDF for archival purposes
  - **Newsletter PDFs**: Transform HTML newsletters into PDF format
  - **eBook Creation**: Generate PDF books from HTML content
  - **Documentation**: Convert online docs to downloadable PDFs

  ### Marketing & Sales
  - **Proposal Generation**: Create branded proposals from CRM data
  - **Brochure Creation**: Generate marketing materials dynamically
  - **Price Lists**: Convert product catalogs to PDF format
  - **Quotation PDFs**: Transform quotes into professional PDFs

  ## Workflow Examples

  ### Example 1: E-commerce Invoice
  ```json
  {
    "nodes": [
      {
        "name": "Order Webhook",
        "type": "n8n-nodes-base.webhook"
      },
      {
        "name": "Generate Invoice HTML",
        "type": "n8n-nodes-base.function"
      },
      {
        "name": "Convert to PDF",
        "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf"
      },
      {
        "name": "Email PDF",
        "type": "n8n-nodes-base.emailSend"
      }
    ]
  }
  ```

  ### Example 2: Scheduled Reports
  ```json
  {
    "nodes": [
      {
        "name": "Schedule Trigger",
        "type": "n8n-nodes-base.cron"
      },
      {
        "name": "Fetch Analytics Data",
        "type": "n8n-nodes-base.httpRequest"
      },
      {
        "name": "Build Report HTML",
        "type": "n8n-nodes-base.function"
      },
      {
        "name": "Generate PDF Report",
        "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf"
      },
      {
        "name": "Save to Google Drive",
        "type": "n8n-nodes-base.googleDrive"
      }
    ]
  }
  ```

  ## Output

  The node returns:
  - **URL output**: A direct link (or URL(s), depending on operation)
  - **File output**: Binary PDF file data in n8n (usable by "Write Binary File", email attachments, etc.)
  - **Base64 output** (where available): Base64-encoded result in the JSON response

  ## Error Handling

  The node provides detailed error messages for common issues:

  - **Invalid API Key**: Check your PDFMunk credentials
  - **HTML Parse Error**: Validate your HTML syntax
  - **CSS Error**: Check your CSS for syntax errors
  - **Rate Limit**: Upgrade your PDFMunk plan or wait for reset
  - **Network Error**: Check your internet connection
  - **Timeout Error**: Increase the timeout setting for large PDFs (default: 300 seconds)

  ## FAQ

  **Q: Is there a free tier?**  
  A: PDFMunk may offer trial/free usage depending on current plans. Check the PDFMunk dashboard/pricing for the latest limits.

  **Q: What HTML features are supported?**  
  A: Most modern HTML5 and CSS3 features are supported, including flexbox, grid, and media queries.

  **Q: Can I use external images?**  
  A: Yes, images accessible via URL will be included in the PDF.

  **Q: What's the maximum file size?**  
  A: Some operations in this node expect PDFs up to 10MB (as indicated in the node parameters). Check PDFMunk documentation for current limits and plan-specific constraints.

  **Q: How do I generate large PDFs (100+ pages)?**  
  A: Increase the timeout setting in the node configuration. For large PDFs, set timeout to 600-900 seconds (10-15 minutes).

  **Q: What should I do if I get a gateway timeout error?**  
  A: Increase the timeout parameter in the node settings. The default is 300 seconds (5 minutes), but large PDFs may need 600-900 seconds.

  ## Compatibility

  - **n8n version**: 0.187.0+
  - **Node.js**: 18.0.0+
  - **Supported formats**: HTML, CSS, PDF

  ## Resources

  ### PDF Creation

  - [PDFMunk](https://pdfmunk.com/)
  - [PDFMunk API Documentation](https://pdfmunk.com/api-docs)
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [n8n workflow examples](https://n8n.io/workflows)

  ## Support

  For questions or support, please contact us at: **support@pdfmunk.com**

  You can also join the [n8n community forum](https://community.n8n.io/) for general n8n-related discussions.

  ## Contributing

  Contributions are welcome! Please read our contributing guidelines and submit pull requests for any improvements.

  ## License

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

  ## Changelog

  ### v2.1.1
  - Added configurable timeout parameter for large PDF generation
  - Improved error handling for gateway timeouts
  - Updated documentation with timeout troubleshooting

  ### v2.0.2
  - Improved error handling
  - Performance optimizations

  ### v2.0.1
  - Bug fixes and stability improvements

  ### v2.0.0
  - Complete rewrite with new PDFMunk API
  - Enhanced CSS support
  - Better error messages

  ---

  Built with ❤️ for the n8n community

ai_documentation_summary:
  {"purpose":"Converts HTML/CSS or URLs to PDF, manipulates existing PDFs (merge, split, compress, watermark), secures PDFs with passwords, and extracts structured data from PDFs.","capabilities":["HTML to PDF generation with custom CSS","URL to PDF capture with full-page support","Template parameter replacement in HTML","Viewport width and height configuration","PDF merging (2-15 files)","PDF splitting (page range, per-page, or chunks)","PDF compression with adjustable levels","Watermark addition with angle/opacity/font controls","PDF to image conversion (PNG/JPG/WEBP)","Image to PDF conversion"],"authentication":"API key required (via n8n Credentials node)","commonUseCases":["Generating PDF reports from HTML templates","Archiving websites as PDFs","Combining multiple PDF documents","Protecting sensitive PDF documents","Extracting text data from PDFs for analysis"],"limitations":["Requires external PDFMunk API subscription and API key","Merge operation limited to 2-15 PDFs","Compress operation limited to 10MB files in URL mode","Node is a community node and may not be maintained by n8n core team"],"relatedNodes":["Webhook","Binary File","HTTP Request","JSON","Code"]}


node_type: n8n-nodes-terraform-cloud.terraformCloud
package_name: n8n-nodes-terraform-cloud
display_name: Terraform Cloud
description: Interact with the Terraform Cloud API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: valkiriaaquatica
author_github_url: https://github.com/valkiriaaquatica/n8n-terraform-cloud.git
npm_package_name: n8n-nodes-terraform-cloud
npm_version: 1.1.4
community_fetched_at: 2026-03-25T21:19:40.642Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "workspace",
      "options": [
        {
          "name": "Workspace",
          "value": "workspace"
        },
        {
          "name": "Run",
          "value": "run"
        },
        {
          "name": "Project",
          "value": "project"
        },
        {
          "name": "GitHub App Installation",
          "value": "githubAppInstallation"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create Workspace",
          "value": "create",
          "action": "Create a workspace",
          "description": "Create a new workspace in an organization"
        },
        {
          "name": "Delete Workspace",
          "value": "delete",
          "action": "Delete a workspace",
          "description": "Delete a workspace by ID"
        },
        {
          "name": "Get Workspace Details",
          "value": "get",
          "action": "Get workspace details",
          "description": "Fetch workspace info including VCS settings"
        },
        {
          "name": "Get Workspace State",
          "value": "getState",
          "action": "Get workspace state metadata",
          "description": "Fetch the latest state version metadata (and download URL)"
        },
        {
          "name": "List Workspaces",
          "value": "list",
          "action": "List workspaces",
          "description": "List workspaces in an organization"
        },
        {
          "name": "Update Workspace",
          "value": "update",
          "action": "Update a workspace",
          "description": "Update workspace settings by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workspace"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Add Run Comment",
          "value": "addComment",
          "action": "Add a comment to a run",
          "description": "Attach a comment to a run"
        },
        {
          "name": "Apply Run",
          "value": "apply",
          "action": "Apply a run",
          "description": "Apply a run that is pending/approved"
        },
        {
          "name": "Cancel Run",
          "value": "cancel",
          "action": "Cancel a run",
          "description": "Cancel a running plan/apply"
        },
        {
          "name": "Create Plan (Manual Apply)",
          "value": "createPlanManualApply",
          "action": "Create a plan that waits for manual apply",
          "description": "Start a plan and leave it pending for manual apply/discard"
        },
        {
          "name": "Create Plan Run",
          "value": "createPlan",
          "action": "Create plan only run",
          "description": "Start a plan-only run in a workspace (plan-only flag)"
        },
        {
          "name": "Discard Run",
          "value": "discard",
          "action": "Discard a run",
          "description": "Discard a run that is waiting or paused"
        },
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get run status",
          "description": "Get the status/details of a run"
        },
        {
          "name": "List by Workspace",
          "value": "list",
          "action": "List runs",
          "description": "List runs for a workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "run"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List Projects",
          "value": "list",
          "action": "List projects",
          "description": "List projects in an organization"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List Installations",
          "value": "list",
          "action": "List github app installations",
          "description": "List GitHub App installations for an organization"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "githubAppInstallation"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create Workspace","description":"Create a new workspace in an organization","resource":"workspace"},{"operation":"delete","name":"Delete Workspace","description":"Delete a workspace by ID","resource":"workspace"},{"operation":"get","name":"Get Workspace Details","description":"Fetch workspace info including VCS settings","resource":"workspace"},{"operation":"getState","name":"Get Workspace State","description":"Fetch the latest state version metadata (and download URL)","resource":"workspace"},{"operation":"list","name":"List Workspaces","description":"List workspaces in an organization","resource":"workspace"},{"operation":"update","name":"Update Workspace","description":"Update workspace settings by ID","resource":"workspace"},{"operation":"addComment","name":"Add Run Comment","description":"Attach a comment to a run","resource":"run"},{"operation":"apply","name":"Apply Run","description":"Apply a run that is pending/approved","resource":"run"},{"operation":"cancel","name":"Cancel Run","description":"Cancel a running plan/apply","resource":"run"},{"operation":"createPlanManualApply","name":"Create Plan (Manual Apply)","description":"Start a plan and leave it pending for manual apply/discard","resource":"run"},{"operation":"createPlan","name":"Create Plan Run","description":"Start a plan-only run in a workspace (plan-only flag)","resource":"run"},{"operation":"discard","name":"Discard Run","description":"Discard a run that is waiting or paused","resource":"run"},{"operation":"getStatus","name":"Get Status","description":"Get the status/details of a run","resource":"run"},{"operation":"list","name":"List by Workspace","description":"List runs for a workspace","resource":"run"},{"operation":"list","name":"List Projects","description":"List projects in an organization","resource":"project"},{"operation":"list","name":"List Installations","description":"List GitHub App installations for an organization","resource":"githubAppInstallation"}]

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

  # n8n Terraform Cloud Nodes

  Custom n8n nodes to work with HashiCorp Terraform Cloud: manage runs, workspaces, projects, and state metadata.

  ## Nodes included
  - **TerraformCloud**: Run operations (create plan/manual apply, apply, cancel, discard, add comment), list runs by workspace, get run status, list projects, list workspaces, fetch latest workspace state metadata.

  ## What you can do (quick overview)
  ### Runs
  - Create plan-only runs or plans that wait for manual apply in a workspace.
  - Apply, cancel, or discard an existing run.
  - Add comments to a run.
  - List runs per workspace or fetch the status of a specific run.

  ### Workspaces
  - Create workspaces with vcs, variables, executions, directories...
  - List workspaces in an organization.
  - Fetch workspace details (includes current/latest run).
  - Fetch the current workspace state (state version + download URL).

  ### Projects
  - List projects in an organization.

  ## Credentials
  You will need an api token credential to interact with Terraform Cloud.

  ### Credentials for creating Workspace with VCS from Github App

  To create a workspace whose VCS source is a **GitHub App**, you must use a **User API Token**.  
  An **Organization API Token is not sufficient** for this purpose.

  #### How to create a User API Token

  1. Click on your profile picture in the upper-right corner.
  2. Go to **Account Settings**.
  3. Navigate to **Tokens**.
  4. Click **Create API Token**.


  ## Example flows

  ### General Overview
  ![alt text](image-1.png)

  ### Launch a plan and check its status
  1) TerraformCloud node → Resource `Run` → Operation `Create Plan (Manual Apply)` → set Workspace ID + message.  
  ![alt text](image-3.png)

  2) TerraformCloud node → Resource `Run` → Operation `Get Status` → use the `runId` from step 1.  
  ![alt text](image-4.png)

  ### Fetch workspace tf state
  1) TerraformCloud node → Resource `Workspace` → Operation `Get Workspace State`.  
  2) Provide `workspaceId` or enable `Resolve Workspace by Name` with `stateOrganization` + `workspaceName`.  
  ![alt text](image-5.png)

  ### Discard a Run from a Workspace
  1) TerraformCloud node → Resource `Run` → Operation `Discard a run`. 
  ![alt text](image.png)

  ### Create a Workspace
  1) TerraformCloud node → Resource `Run` → Operation `Create a Workspace`.There are a multiple options on the creations: vcs control, auto apply, variables...
  ![alt text](image-2.png)

  ## Requirements
  - Terraform Cloud API token with access to the target organization/workspaces.
  - n8n 1.0+ (tested on 2.0.3).

  ## Quick start
  ```bash
  npm install
  npm run dev   # starts n8n with the custom nodes linked
  ```

  ### Build and lint
  ```bash
  npm run build
  npm run lint
  ```

ai_documentation_summary:
  {"purpose":"This n8n node enables interaction with the HashiCorp Terraform Cloud API to manage runs, workspaces, projects, and state metadata.","capabilities":["Create plan-only runs or manual apply plans","Apply, cancel, or discard existing runs","Add comments to runs","List runs by workspace","Get status of a specific run","List projects in an organization","List workspaces in an organization","Create workspaces with VCS, variables, and executions","Fetch workspace details including current/latest run","Fetch workspace state metadata and download URL"],"authentication":"API token required (User API Token for GitHub App VCS, Organization API Token for general use)","commonUseCases":["Automating Terraform plan and apply workflows","Monitoring run status in CI/CD pipelines","Managing workspace configurations and state","Discarding failed or incomplete runs"],"limitations":["Organization API Token is insufficient for creating workspaces with GitHub App VCS (User API Token required)","Requires n8n 1.0+ (tested on 2.0.3)"],"relatedNodes":[]}


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

updated_at: 2026-03-25 21:19:40
author_name: bilalararou
author_github_url: https://github.com/Nuelink/n8n-nodes-nuelink.git
npm_package_name: @nuelink/n8n-nodes-nuelink
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:40.643Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Post",
          "value": "post"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createPost",
      "options": [
        {
          "name": "Create",
          "value": "createPost",
          "action": "Create post",
          "routing": {
            "request": {
              "url": "/pabbly",
              "method": "POST"
            }
          },
          "description": "Create a new post on Nuelink"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "post"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"createPost","name":"Create","description":"Create a new post on Nuelink","resource":"post"}]

npm_readme:
  # n8n-nodes-nuelink

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

  Nuelink is a social media automation and scheduling platform that helps creators, brands, and businesses streamline their content distribution across multiple social media platforms.

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

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

  ## Installation

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

  ## Operations

  - **Create Post**: Allows you to create a new post on Nuelink, specifying the content and the settings.

  ## Credentials

  Users need to authenticate with Nuelink to use this node. To set up authentication:
  1. Sign up for a Nuelink account at [Nuelink](https://nuelink.com).
  2. Create a new automation in the Nuelink dashboard.
  3. Obtain your API key from the automation settings.
  4. In n8n, add a new credential for Nuelink and enter your API key.

  ## Compatibility

  This node is compatible with n8n version 1.36.0 and above. It has been tested against the latest stable version of n8n.

  ## Usage

  1. Add a **Trigger** node (e.g., Webhook or Cron).
  2. Add the **Nuelink** node and choose an operation (e.g., Create Post).
  3. Select or create your API credentials.
  4. Configure your input data (e.g., post content, categories, image URLs).
  5. Connect additional nodes (e.g., filters, conditions, notifications) as needed.

  > **Note**  
  > This node is intended for users who are already familiar with n8n.  
  > If you're new to n8n, check out the [Try it out guide](https://docs.n8n.io/try-it-out/) to get started quickly.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Nuelink](https://nuelink.com)
  * [Nuelink help center](https://help.nuelink.com)

ai_documentation_summary:
  {"purpose":"This n8n community node enables users to interact with the Nuelink API for social media automation and content scheduling.","capabilities":["Create posts on Nuelink","Specify post content and settings","Schedule content distribution across multiple platforms"],"authentication":"API key required","commonUseCases":["Automating social media content distribution","Scheduling posts for creators and brands","Streamlining multi-platform content management"],"limitations":["Intended for users already familiar with n8n workflow automation","Limited to basic post creation operations as per current documentation"],"relatedNodes":["Webhook","Cron","Filter","Condition","Notification"]}


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

updated_at: 2026-03-25 21:19:40
author_name: bcharleson
author_github_url: https://github.com/r-Howitzer/
npm_package_name: n8n-nodes-heyreach
npm_version: 1.0.5
community_fetched_at: 2026-03-25T21:19:40.644Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "campaign",
      "options": [
        {
          "name": "Campaign",
          "value": "campaign"
        },
        {
          "name": "Inbox",
          "value": "inbox"
        },
        {
          "name": "Lead",
          "value": "lead"
        },
        {
          "name": "LinkedIn Account",
          "value": "linkedInAccount"
        },
        {
          "name": "List",
          "value": "list"
        },
        {
          "name": "My Network",
          "value": "myNetwork"
        },
        {
          "name": "Stat",
          "value": "stats"
        },
        {
          "name": "Webhook",
          "value": "webhook"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getById",
      "options": [
        {
          "name": "Add Leads",
          "value": "addLeads",
          "action": "Add leads to campaign",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/campaign/AddLeadsToCampaign",
              "body": {
                "campaignId": "={{$parameter[\"campaignId\"]}}",
                "accountLeadPairs": "={{$parameter[\"accountLeadPairs\"].pair.map(pair => ({\n                                    linkedInAccountId: parseInt(pair.linkedInAccountId),\n                                    lead: {\n                                        ...pair.lead.details,\n                                        customUserFields: pair.lead.details.customUserFields?.field || []\n                                    }\n                                }))}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get",
          "value": "getById",
          "action": "Retrieve a campaign",
          "routing": {
            "request": {
              "qs": {
                "campaignId": "={{$parameter[\"campaignId\"]}}"
              },
              "url": "/campaign/GetById",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Leads",
          "value": "getLeads",
          "action": "Retrieve leads from campaign",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/campaign/GetLeadsFromCampaign",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "timeTo": "={{$parameter[\"additionalFields\"][\"timeTo\"]}}",
                "timeFrom": "={{$parameter[\"additionalFields\"][\"timeFrom\"]}}",
                "campaignId": "={{$parameter[\"campaignId\"]}}",
                "timeFilter": "={{$parameter[\"additionalFields\"][\"timeFilter\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Retrieve all campaigns",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/campaign/GetAll",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "keyword": "={{$parameter[\"additionalFields\"][\"keyword\"]}}",
                "statuses": "={{$parameter[\"additionalFields\"][\"statuses\"]}}",
                "accountIds": "={{$parameter[\"additionalFields\"][\"accountIds\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Many For Lead",
          "value": "getCampaignsForLead",
          "action": "Retrieve campaigns for a lead",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/campaign/GetCampaignsForLead",
              "body": {
                "email": "={{$parameter[\"additionalFields\"][\"email\"]}}",
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "linkedinId": "={{$parameter[\"additionalFields\"][\"linkedinId\"]}}",
                "profileUrl": "={{$parameter[\"profileUrl\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Pause",
          "value": "pause",
          "action": "Pause a campaign",
          "routing": {
            "request": {
              "qs": {
                "campaignId": "={{$parameter[\"campaignId\"]}}"
              },
              "url": "/campaign/Pause",
              "body": {},
              "method": "POST"
            }
          }
        },
        {
          "name": "Resume",
          "value": "resume",
          "action": "Resume a campaign",
          "routing": {
            "request": {
              "qs": {
                "campaignId": "={{$parameter[\"campaignId\"]}}"
              },
              "url": "/campaign/Resume",
              "body": {},
              "method": "POST"
            }
          }
        },
        {
          "name": "Stop Lead",
          "value": "stopLeadInCampaign",
          "action": "Stop a lead in campaign",
          "routing": {
            "request": {
              "url": "/campaign/StopLeadInCampaign",
              "body": {
                "leadUrl": "={{$parameter[\"leadUrl\"]}}",
                "campaignId": "={{$parameter[\"campaignId\"]}}",
                "leadMemberId": "={{$parameter[\"leadMemberId\"]}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "campaign"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getOverallStats",
      "options": [
        {
          "name": "Get Overall",
          "value": "getOverallStats",
          "action": "Retrieve overall statistics",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/stats/GetOverallStats",
              "body": {
                "endDate": "={{$parameter[\"additionalFields\"][\"endDate\"]}}",
                "startDate": "={{$parameter[\"additionalFields\"][\"startDate\"]}}",
                "accountIds": "={{$parameter[\"accountIds\"]}}",
                "campaignIds": "={{$parameter[\"campaignIds\"]}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "stats"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createWebhook",
      "options": [
        {
          "name": "Create",
          "value": "createWebhook",
          "action": "Create a new webhook",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/webhooks/CreateWebhook",
              "body": {
                "eventType": "={{$parameter[\"eventType\"]}}",
                "webhookUrl": "={{$parameter[\"webhookUrl\"]}}",
                "campaignIds": "={{ $parameter[\"campaignIds\"] ?? [] }}",
                "webhookName": "={{$parameter[\"webhookName\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Delete",
          "value": "deleteWebhook",
          "action": "Delete a webhook",
          "routing": {
            "request": {
              "qs": {
                "webhookId": "={{$parameter[\"webhookId\"]}}"
              },
              "url": "/webhooks/DeleteWebhook",
              "method": "DELETE"
            }
          }
        },
        {
          "name": "Get",
          "value": "getWebhookById",
          "action": "Retrieve a single webhook",
          "routing": {
            "request": {
              "qs": {
                "webhookId": "={{$parameter[\"webhookId\"]}}"
              },
              "url": "/webhooks/GetWebhookById",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Many",
          "value": "getAllWebhooks",
          "action": "Retrieve all webhooks",
          "routing": {
            "request": {
              "url": "/webhooks/GetAllWebhooks",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Update",
          "value": "updateWebhook",
          "action": "Update an existing webhook",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "qs": {
                "webhookId": "={{$parameter[\"webhookId\"]}}"
              },
              "url": "/webhooks/UpdateWebhook",
              "body": {
                "isActive": "={{$parameter[\"additionalFields\"][\"isActive\"]}}",
                "eventType": "={{$parameter[\"additionalFields\"][\"eventType\"]}}",
                "webhookUrl": "={{$parameter[\"additionalFields\"][\"webhookUrl\"]}}",
                "campaignIds": "={{ ($parameter[\"additionalFields\"]?.[\"eventType\"] === \"EVERY_MESSAGE_REPLY_RECEIVED\" || $parameter[\"additionalFields\"]?.[\"eventType\"] === \"LEAD_TAG_UPDATED\") ? [] : $parameter[\"additionalFields\"]?.[\"campaignIds\"] ?? null }}",
                "webhookName": "={{$parameter[\"additionalFields\"][\"webhookName\"]}}"
              },
              "method": "PATCH"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webhook"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMyNetworkForSender",
      "options": [
        {
          "name": "Get",
          "value": "getMyNetworkForSender",
          "action": "Retrieve list of network connections for a sender account",
          "routing": {
            "request": {
              "url": "/MyNetwork/GetMyNetworkForSender",
              "body": {
                "pageSize": "={{$parameter[\"pageSize\"]}}",
                "senderId": "={{$parameter[\"senderId\"]}}",
                "pageNumber": "={{$parameter[\"pageNumber\"]}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "myNetwork"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getListById",
      "options": [
        {
          "name": "Add Leads",
          "value": "addLeadsToList",
          "action": "Add leads to a list",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/list/AddLeadsToList",
              "body": {
                "leads": "={{$parameter[\"wrapperLeads\"][\"leads\"].map(lead => ({\n                                ...lead,\n                                customUserFields: lead.customUserFields?.field || []\n                            }))}}",
                "listId": "={{$parameter[\"listId\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Create Empty",
          "value": "createEmptyList",
          "action": "Create an empty list",
          "routing": {
            "request": {
              "url": "/list/CreateEmptyList",
              "body": {
                "name": "={{$parameter[\"listName\"]}}",
                "type": "={{$parameter[\"listType\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Delete Leads (By LinkedIn ID)",
          "value": "deleteLeadsFromList",
          "action": "Delete leads from a list by LinkedIn ID",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/list/DeleteLeadsFromList",
              "body": {
                "listId": "={{$parameter[\"listId\"]}}",
                "leadMemberIds": "={{$parameter[\"leadMemberIds\"]}}"
              },
              "method": "DELETE"
            }
          }
        },
        {
          "name": "Delete Leads (By Profile URL)",
          "value": "deleteLeadsFromListByProfileUrl",
          "action": "Delete leads from a list by LinkedIn profile URL",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/list/DeleteLeadsFromListByProfileUrl",
              "body": {
                "listId": "={{$parameter[\"listId\"]}}",
                "profileUrls": "={{$parameter[\"leadProfileUrls\"]}}"
              },
              "method": "DELETE"
            }
          }
        },
        {
          "name": "Get",
          "value": "getListById",
          "action": "Retrieve a list",
          "routing": {
            "request": {
              "qs": {
                "listId": "={{$parameter[\"listId\"]}}"
              },
              "url": "/list/GetById",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Companies",
          "value": "getCompaniesFromList",
          "action": "Retrieve companies from a list",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/list/GetCompaniesFromList",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "listId": "={{$parameter[\"listId\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "keyword": "={{$parameter[\"additionalFields\"][\"keyword\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Leads",
          "value": "getLeadsFromList",
          "action": "Retrieve leads from a list",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/list/GetLeadsFromList",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "listId": "={{$parameter[\"listId\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "keyword": "={{$parameter[\"additionalFields\"][\"keyword\"]}}",
                "createdTo": "={{$parameter[\"additionalFields\"][\"createdTo\"]}}",
                "createdFrom": "={{$parameter[\"additionalFields\"][\"createdFrom\"]}}",
                "leadLinkedInId": "={{$parameter[\"additionalFields\"][\"leadLinkedInId\"]}}",
                "leadProfileUrl": "={{$parameter[\"additionalFields\"][\"leadProfileUrl\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Lists",
          "value": "getListsForLead",
          "action": "Retrieve lists associated with a specific lead",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/list/GetListsForLead",
              "body": {
                "email": "={{$parameter[\"additionalFields\"][\"email\"]}}",
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "linkedinId": "={{$parameter[\"additionalFields\"][\"linkedinId\"]}}",
                "profileUrl": "={{$parameter[\"additionalFields\"][\"profileUrl\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Many",
          "value": "getAllLists",
          "action": "Retrieve all lists",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/list/GetAll",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "keyword": "={{$parameter[\"additionalFields\"][\"keyword\"]}}",
                "listType": "={{$parameter[\"additionalFields\"][\"listType\"]}}",
                "campaignIds": "={{$parameter[\"additionalFields\"][\"campaignIds\"]}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "list"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getConversationsV2",
      "options": [
        {
          "name": "Get Many",
          "value": "getConversationsV2",
          "action": "Retrieve all LinkedIn conversations",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/inbox/GetConversations",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "filters": {
                  "seen": "={{$parameter[\"additionalFields\"][\"seen\"]}}",
                  "campaignIds": "={{$parameter[\"additionalFields\"][\"campaignIds\"]}}",
                  "searchString": "={{$parameter[\"additionalFields\"][\"searchString\"]}}",
                  "leadLinkedInId": "={{$parameter[\"additionalFields\"][\"leadLinkedInId\"]}}",
                  "leadProfileUrl": "={{$parameter[\"additionalFields\"][\"leadProfileUrl\"]}}",
                  "linkedInAccountIds": "={{$parameter[\"additionalFields\"][\"linkedInAccountIds\"]}}"
                }
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Chatroom",
          "value": "getChatroom",
          "action": "Retrieve a specific LinkedIn conversation and messages",
          "routing": {
            "request": {
              "url": "=/inbox/GetChatroom/{{$parameter[\"accountId\"]}}/{{$parameter[\"conversationId\"]}}",
              "method": "GET"
            }
          }
        },
        {
          "name": "Send Message",
          "value": "sendMessage",
          "action": "Send a message to a LinkedIn conversation",
          "routing": {
            "request": {
              "url": "/inbox/SendMessage",
              "body": {
                "message": "={{$parameter[\"message\"]}}",
                "subject": "={{$parameter[\"subject\"]}}",
                "conversationId": "={{$parameter[\"conversationId\"]}}",
                "linkedInAccountId": "={{$parameter[\"linkedInAccountId\"]}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "inbox"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllLinkedInAccounts",
      "options": [
        {
          "name": "Get Many",
          "value": "getAllLinkedInAccounts",
          "action": "Retrieve a list of LinkedIn accounts",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/li_account/GetAll",
              "body": {
                "limit": "={{$parameter[\"limit\"]}}",
                "offset": "={{$parameter[\"offset\"]}}",
                "keyword": "={{$parameter[\"additionalFields\"][\"keyword\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get",
          "value": "getLinkedInAccountById",
          "action": "Retrieve a LinkedIn account",
          "routing": {
            "request": {
              "qs": {
                "accountId": "={{$parameter[\"accountId\"]}}"
              },
              "url": "/li_account/GetById",
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "linkedInAccount"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getLead",
      "options": [
        {
          "name": "Get",
          "value": "getLead",
          "action": "Retrieve the details of a specific lead",
          "routing": {
            "request": {
              "url": "/lead/GetLead",
              "body": {
                "profileUrl": "={{$parameter[\"profileUrl\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Add Tags",
          "value": "addTagsToLead",
          "action": "Add tags to a lead",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/lead/AddTags",
              "body": {
                "tags": "={{$parameter[\"tags\"]}}",
                "leadLinkedInId": "={{$parameter[\"additionalFields\"][\"leadLinkedInId\"]}}",
                "leadProfileUrl": "={{$parameter[\"additionalFields\"][\"profileUrl\"]}}",
                "createTagIfNotExisting": "={{$parameter[\"createTagIfNotExisting\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Get Tags",
          "value": "getTagsForLead",
          "action": "Retrieve all tags for a lead",
          "routing": {
            "request": {
              "url": "/lead/GetTags",
              "body": {
                "profileUrl": "={{$parameter[\"profileUrl\"]}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Replace Tags",
          "value": "replaceTags",
          "action": "Replace all existing tags for a lead",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/lead/ReplaceTags",
              "body": {
                "tags": "={{$parameter[\"tags\"]}}",
                "leadLinkedInId": "={{$parameter[\"additionalFields\"][\"leadLinkedInId\"]}}",
                "leadProfileUrl": "={{$parameter[\"additionalFields\"][\"profileUrl\"]}}",
                "createTagIfNotExisting": "={{$parameter[\"createTagIfNotExisting\"]}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "lead"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"addLeads","name":"Add Leads","resource":"campaign"},{"operation":"getById","name":"Get","resource":"campaign"},{"operation":"getLeads","name":"Get Leads","resource":"campaign"},{"operation":"getAll","name":"Get Many","resource":"campaign"},{"operation":"getCampaignsForLead","name":"Get Many For Lead","resource":"campaign"},{"operation":"pause","name":"Pause","resource":"campaign"},{"operation":"resume","name":"Resume","resource":"campaign"},{"operation":"stopLeadInCampaign","name":"Stop Lead","resource":"campaign"},{"operation":"getOverallStats","name":"Get Overall","resource":"stats"},{"operation":"createWebhook","name":"Create","resource":"webhook"},{"operation":"deleteWebhook","name":"Delete","resource":"webhook"},{"operation":"getWebhookById","name":"Get","resource":"webhook"},{"operation":"getAllWebhooks","name":"Get Many","resource":"webhook"},{"operation":"updateWebhook","name":"Update","resource":"webhook"},{"operation":"getMyNetworkForSender","name":"Get","resource":"myNetwork"},{"operation":"addLeadsToList","name":"Add Leads","resource":"list"},{"operation":"createEmptyList","name":"Create Empty","resource":"list"},{"operation":"deleteLeadsFromList","name":"Delete Leads (By LinkedIn ID)","resource":"list"},{"operation":"deleteLeadsFromListByProfileUrl","name":"Delete Leads (By Profile URL)","resource":"list"},{"operation":"getListById","name":"Get","resource":"list"},{"operation":"getCompaniesFromList","name":"Get Companies","resource":"list"},{"operation":"getLeadsFromList","name":"Get Leads","resource":"list"},{"operation":"getListsForLead","name":"Get Lists","resource":"list"},{"operation":"getAllLists","name":"Get Many","resource":"list"},{"operation":"getConversationsV2","name":"Get Many","resource":"inbox"},{"operation":"getChatroom","name":"Get Chatroom","resource":"inbox"},{"operation":"sendMessage","name":"Send Message","resource":"inbox"},{"operation":"getAllLinkedInAccounts","name":"Get Many","resource":"linkedInAccount"},{"operation":"getLinkedInAccountById","name":"Get","resource":"linkedInAccount"},{"operation":"getLead","name":"Get","resource":"lead"},{"operation":"addTagsToLead","name":"Add Tags","resource":"lead"},{"operation":"getTagsForLead","name":"Get Tags","resource":"lead"},{"operation":"replaceTags","name":"Replace Tags","resource":"lead"}]

npm_readme:
  #  n8n-nodes-heyreach
  This is a **HeyReach** Community Node for n8n, enabling seamless integration with **HeyReach** in your workflows.  
  **HeyReach** is a powerful LinkedIn automation platform designed to help you scale and optimize your outreach campaigns.  
  This project make it easy to manage LinkedIn campaigns and automate your outreach directly from your workflows.

  [License](#license)  
  [Installation](#installation)  
  [Available Operations](#available-operations)  
  [Credentials](#credentials)  
  [Resources](#resources)  
  [Folder Structure](#folder-structure)

  ## License
  This project is licensed under the **MIT License**. See the [LICENSE](LICENSE.md) file for details.

  ## Installation
  ### Community Nodes (Recommended)
  1. Navigate to **n8n** and sign in.
  2. Go to Settings > Community Nodes
  3. Click Install
  4. Enter `n8n-nodes-heyreach` and click Download
  5. Restart your n8n instance
  6. The HeyReach node will appear in your node palette
  --- 

  ### Local Setup 
  1. Clone the repository.
  2. Run `npm install` to install dependencies.
  3. Before running locally make sure `baseURL` which can be found in `HeyReach.node.ts` is set to dev or staging endpoints.
  4. Run `npm run build` each time you have change or the for the very first time.
  5. Reference the official [n8n documentation](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for running and testing custom nodes locally

  ## Credentials
  Steps to obtain **API KEY** needed for authentication.
  1. Go to **[HeyReach app](https://app.heyreach.io/)** and sign in.
  2. Navigate to the **Integrations** section.
  3. Find the **n8n** card and click **Connect Now**.
  4. Click **New API Key** to generate an API key.
  5. **Copy** the generated API key.
  6. In **n8n**, create a new **HeyReach connection**.
  7. **Paste** the API key into the connection settings and save it.  

  ✅ That’s it — your HeyReach account is now connected to n8n! 🎉

  ## Available Operations

  ### 🔧 Campaign Management

  - **Retrieve all campaigns** – Get a list of all campaigns.
  - **Retrieve a campaign** – Get details of a specific campaign.
  - **Resume a campaign** – Resume a paused campaign.
  - **Pause a campaign** – Pause an active campaign.
  - **Stop a lead in campaign** – Stop a specific lead within a campaign.
  - **Add leads to campaign** – Add one or multiple leads to a campaign.
  - **Retrieve leads from campaign** – Get leads from a campaign.
  - **Retrieve campaigns for a lead** – Find all campaigns that a specific lead belongs to.
  ---

  ### 💬 Inbox

  - **Retrieve all LinkedIn conversations** - Get a list of all LinkedIn conversations.
  - **Retrieve a specific LinkedIn conversation and messages** - Retrieve details of a particular LinkedIn conversation along with all associated messages.
  - **Send a message to a LinkedIn conversation** - Send a new message to a specific LinkedIn conversation.
  ---

  ### 🧑‍💼 Lead

  - **Retrieve the details of a specific lead** - Get detailed information about a specific lead.
  - **Add tags to a lead** - Add one or more tags to a lead to help categorize or filter.
  - **Retrieve all tags for a lead** - Retrieve all tags associated with a specific lead.
  - **Replace all existing tags for a lead** - Replace the current tags on a lead with a new set of tags.
  ---

  ### 🔗 LinkedIn Account Actions

  - **Retrieve a list of LinkedIn accounts** - Get all LinkedIn accounts connected to the system.
  - **Retrieve a LinkedIn account** - Get details of a specific LinkedIn account.
  ---

  ### 📋 List Actions

  - **Retrieve a list** - Get a specific list of leads.
  - **Retrieve all lists** - Get all available lead lists.
  - **Retrieve leads from a list** - Get all leads within a specific list.
  - **Delete leads from a list by LinkedIn ID** - Remove one or more leads from a list using their LinkedIn IDs.
  - **Delete leads from a list by LinkedIn profile URL** - Remove leads from a list using their LinkedIn profile URLs.
  - **Retrieve companies from a list** - Get all associated companies from a specific list.
  - **Add leads to a list** - Add one or more leads to a given list.
  - **Retrieve lists associated with a specific lead** - Get all lists that include a specific lead.
  - **Create an empty list** - Create a new list with no leads.
  ---

  ### 🌐 My Network Actions

  - **Retrieve list of network connections for a sender account** - Get all network connections associated with a given sender LinkedIn account.

  ---

  ### 📊 Stats Actions

  - **Retrieve overall statistics** - Get general statistics across the system, such as lead or campaign performance.

  ---

  ### 🪝 Webhook Actions

  - **Retrieve all webhooks** - Get a list of all configured webhooks.
  - **Retrieve a single webhook** - Get the details of a specific webhook.

  ## Resources

    [HeyReach API documentation](https://documenter.getpostman.com/view/23808049/2sA2xb5F75#61f5ef5d-5f31-4da9-b6af-ef0a6f128146)    

  ## Folder Structure

  - `nodes/HeyReach/operations/` – Contains folders based on the available features.  
    - Each feature has its own folder.
    - `operations` files specify the category of the endpoints and request params for each API call.
    - `fields` files describe the fields required for each request.
  - The starting point for the integration is `HeyReach.node.ts`.  
    - Any new operations should be registered in this file.

ai_documentation_summary:
  {"purpose":"This n8n community node enables integration with the HeyReach LinkedIn automation platform to manage outreach campaigns, handle conversations, and organize leads directly within n8n workflows.","capabilities":["Retrieve and manage LinkedIn campaigns (list, get details, pause, resume, stop)","Add, retrieve, and remove leads from campaigns","Manage LinkedIn conversations (list, retrieve messages, send messages)","Organize leads into lists (create, add, remove, retrieve)","Tag and categorize leads","Retrieve LinkedIn account details and network connections","Retrieve system statistics and webhook configurations","Retrieve lead details and associated companies"],"authentication":"API Key required (obtained from HeyReach app Integrations section)","commonUseCases":["Automating LinkedIn outreach campaigns from n8n","Managing lead lists and tagging for segmentation","Handling LinkedIn conversations and messaging","Retrieving campaign performance statistics"],"limitations":["Requires manual installation via n8n Community Nodes or local repository setup","Local development requires manual configuration of baseURL to dev or staging endpoints","Community node status may imply less official support compared to official n8n nodes"],"relatedNodes":["HTTP Request","Webhook","Code"]}


node_type: n8n-nodes-blooio.blooioMessaging
package_name: n8n-nodes-blooio
display_name: Blooio Messaging
description: Send messages via the Blooio API (v3)
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: dave_xt
author_github_url: https://github.com/blooio/
npm_package_name: n8n-nodes-blooio
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:40.644Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "action": "Send a message",
          "routing": {
            "request": {
              "url": "=/v1/api/messages",
              "method": "POST",
              "headers": {
                "Idempotency-Key": "={{$parameter[\"idempotencyKey\"]}}"
              }
            }
          },
          "description": "Send a single text or attachment message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"send","name":"Send","description":"Send a single text or attachment message","resource":"message"}]

npm_readme:
  # n8n-nodes-blooio

  This is an n8n community node for [Blooio](https://blooio.com). It lets you send and receive iMessages, RCS, SMS, and more through the Blooio API in your n8n workflows.

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

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

  ## Installation

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

  ## Operations

  ### Messages

  - **Send Message** - Send text messages and attachments via iMessage/SMS/RCS
  - **Get Message** - Retrieve complete message details including delivery status
  - **Get Message Status** - Check the delivery status of a message
  - **Cancel Message** - Cancel a queued or scheduled message

  ### Contacts

  - **Check Capabilities** - Check if a phone number or email supports iMessage, SMS, or RCS

  ### Webhooks

  - **Get Webhook** - Get the currently configured webhook URL
  - **Set Webhook** - Configure webhook URL for receiving inbound messages and delivery notifications

  ## Credentials

  ### API Key Authentication

  1. Sign up for a Blooio account at [https://blooio.com](https://blooio.com)
  2. Navigate to your Dashboard
  3. Go to Settings > API Keys
  4. Create a new API key or copy an existing one
  5. In n8n, create a new Blooio credential:
     - Select "API Key" as the authentication method
     - Paste your API key
     - Save the credential

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Blooio API Documentation](https://docs.blooio.com)
  - [Blooio Dashboard](https://dashboard.blooio.com)
  - [Support](mailto:support@blooio.com)

ai_documentation_summary:
  {"purpose":"A community n8n node that enables sending and receiving iMessages, RCS, and SMS through the Blooio API v3.","capabilities":["Send text messages with attachments via iMessage/SMS/RCS","Retrieve complete message details including delivery status","Check delivery status of specific messages","Cancel queued or scheduled messages","Check phone number or email capabilities for iMessage, SMS, or RCS support","Configure inbound message and delivery notification webhooks"],"authentication":"API Key","commonUseCases":["Automated customer communication via SMS or RCS","Two-way messaging workflows with delivery confirmation","Checking recipient device capabilities before sending","Scheduling and managing message delivery"],"limitations":["Requires a separate Blooio account and API key","Compatible only with n8n version 1.60.0 or later"],"relatedNodes":["HTTP Request","Webhook"]}


node_type: n8n-nodes-veed.veed
package_name: n8n-nodes-veed
display_name: VEED AI Video API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: dmytrobaltak
author_github_url: https://github.com/veedstudio/
npm_package_name: n8n-nodes-veed
npm_version: 1.2.4
community_fetched_at: 2026-03-25T21:19:40.645Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  Generate AI talking videos from an image and audio file using the Veed Fabric API. Automate creation of realistic talking videos, animation videos and ai avatars directly in your n8n workflows.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "fabric",
      "options": [
        {
          "name": "Fabric",
          "value": "fabric",
          "description": "Generate talking head videos"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateVideo",
      "options": [
        {
          "name": "Generate Video",
          "value": "generateVideo",
          "action": "Generate a video using fabric model",
          "description": "Generate a talking head video from image and audio"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "fabric"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"generateVideo","name":"Generate Video","description":"Generate a talking head video from image and audio","resource":"fabric"}]

npm_readme:
  # n8n-nodes-veed

  Generate AI talking videos from images and audio using the Veed Fabric API. Automate creation of realistic talking videos, animation videos and AI avatars directly in your n8n workflows.

  ## Features

  - **Fabric Video Generation**: Create AI-powered talking head videos from images and audio
  - Powered by [fal.ai](https://fal.ai)
  - Support for multiple model versions (Standard & Fast)
  - Real-time progress tracking via streaming status updates
  - Configurable timeouts

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes** in n8n
  2. Search for `veed`
  3. Click **Install**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-veed
  ```

  ## Prerequisites

  - A fal.ai account ([sign up](https://fal.ai))
  - A fal.ai personal API key ([get your key](https://fal.ai/dashboard/keys))
  - n8n version 0.200.0 or higher
  - Node.js 22 or higher

  ## Setup

  1. In n8n, create a new **Fal.ai API** credential
  2. Paste your personal API key
  3. Add the **VEED AI Video API** node to your workflow

  ## Usage

  ### Fabric Video Generation

  Generate realistic talking head videos from a still image and audio file.

  #### Parameters

  **Image URL** (required)

  - Portrait image URL for the talking head
  - Best results: Front-facing photos, clear facial features
  - Supported formats: JPG, PNG, WebP

  **Audio URL** (required)

  - Speech audio URL for lip sync
  - Supported formats: MP3, WAV, M4A, AAC

  **Model Version**

  - **Fabric 1.0**: Lower price
  - **Fabric 1.0 Fast**: Faster generation, higher price

  **Resolution**

  - `480p`: Faster generation
  - `720p`: Higher quality

  **Aspect Ratio**

  - `16:9`: Landscape (YouTube, presentations)
  - `9:16`: Portrait (TikTok, Instagram Stories, Reels)
  - `1:1`: Square (Instagram Feed, LinkedIn)

  #### Options (Advanced)

  **Timeout** (default: 10 minutes)

  - Maximum time to wait for generation
  - Recommended: 10+ minutes for longer videos, 15+ for 720p
  - Range: 1-60 minutes
  - Note: The node uses fal.ai's streaming API for real-time status updates

  ## 🎬 Showcase Workflows

  > **Note:** These workflow examples are available in the repository for local development/testing only. They are not included in the published npm package.

  Ready-to-use workflow templates demonstrating the Veed Fabric node in complete pipelines:

  ### 1. **Simple Text-to-Video** (Beginner-Friendly)

  A minimal workflow to test the Veed Fabric node with pre-made assets.

  **What it does:**

  - Uses demo image and audio URLs
  - Generates a talking head video using Fabric Fast model
  - Shows generation progress and results
  - Formats output with video URL and generation time

  **Import:** `dev-workflow-examples/simple-text-to-video.json`

  ---

  ### 2. **Complete Text-to-Video Ad Generator** (Advanced)

  Full automated pipeline from text prompt to social media post.

  **What it does:**

  ```
  Text Prompt ("animated bear advertising sunglasses")
      ↓
  🤖 OpenAI GPT-4o-mini → Generates ad script + character description
      ↓
  🎨 OpenAI DALL-E 3 → Creates character image
      ↓
  🎙️ StreamElements TTS → Converts script to voice (FREE)
      ↓
  🎬 Veed Fabric → Generates talking head video
      ↓
  🐦 Twitter/X → Posts video with caption
  ```

  **Import:** `dev-workflow-examples/text-to-video-showcase.json`

  **Services used:**

  - 💰 **OpenAI GPT-4o-mini** ($5 free trial, ~$0.01/video) - Script generation
  - 💰 **OpenAI DALL-E 3** ($5 free trial, ~$0.04/image) - Image generation
  - ✅ **StreamElements TTS** (FREE, no API key needed) - Text-to-speech
  - 💰 **fal.ai** (Pay-per-use, ~$0.08-0.20/second) - Video generation
  - ✅ **Twitter/X API** (FREE tier) - Social posting

  ---

  ### 💡 Quick Start with Showcase Workflows

  > **Prerequisites:** These workflows are only available when running the node in development mode. See [Development](#development) section below for setup instructions.

  1. **Import a workflow:**

     ```
     n8n (localhost:5678) → Workflows → Import from File → Select JSON from dev-workflow-examples/
     ```

  2. **Set up credentials:**
     - **Simple workflow:** Only fal.ai API key required
     - **Advanced workflow:** OpenAI API key, Twitter OAuth2 credentials, fal.ai API key

  3. **Customize:**
     - **Simple:** Replace imageUrl and audioUrl in "📝 Set Demo Image & Audio" node
     - **Advanced:** Change adPrompt in "📝 Set Ad Concept" node
     - Adjust video settings (resolution, aspect ratio)

  4. **Execute and wait:**
     - Click "Test Workflow" button
     - Watch progress in execution logs

  5. **Use your video:**
     - Get video URL from output
     - Download and use in your content
     - Automatically posted to Twitter (advanced workflow)

  ## Performance

  - **Generation time**: Depending on audio length and video resolution
  - **Progress updates**: Real-time progress shown in execution logs
  - **Timeout handling**: Configurable timeout with clear error messages

  ## Troubleshooting

  Having issues? See the [Troubleshooting Guide](docs/TROUBLESHOOTING.md) for detailed solutions to common problems:

  - Authentication errors
  - Generation timeouts
  - Invalid URL errors
  - Rate limits
  - Network issues
  - And more...

  ## Compatibility

  - **n8n**: 0.200.0+
  - **Node.js**: 22+
  - **Supported platforms**: Linux, macOS, Windows

  ## Resources

  - [Veed Fabric Model on fal.ai](https://fal.ai/models/veed/fabric-1.0)
  - [Fabric Playground](https://fal.ai/models/veed/fabric-1.0/playground)
  - [fal.ai Documentation](https://docs.fal.ai)
  - [Report Issues](https://github.com/veedstudio/n8n-nodes-veed/issues)
  - [n8n Community Forum](https://community.n8n.io)

  ## Development

  ### Build

  ```bash
  pnpm build
  ```

  ### Test

  ```bash
  pnpm test          # Run all tests
  pnpm test:watch    # Watch mode
  pnpm test:coverage # Coverage report
  ```

  ### Local Development

  ```bash
  pnpm dev  # Starts n8n with your node at localhost:5678
  ```

  For detailed testing instructions, see [docs/TESTING.md](docs/TESTING.md)

  ## Contributing

  Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Run `pnpm lint:fix`
  6. Submit a pull request

  ### n8n Community Node Restrictions

  When contributing, be aware of n8n's community node restrictions:

  - **❌ No `setTimeout` or `setInterval`**: These global timers are not allowed.
  - **✅ Required properties**: All nodes must have `usableAsTool` property
  - **✅ Credentials**: Must have `icon` and `test` properties

  ## License

  MIT

  ## Support

  For issues and questions:

  - [GitHub Issues](https://github.com/veedstudio/n8n-nodes-veed/issues)
  - [n8n Community Forum](https://community.n8n.io)

  ---

ai_documentation_summary:
  {"purpose":"Generates AI-powered talking head videos from images and audio files using the Veed Fabric API, supporting multiple model versions and real-time progress tracking.","capabilities":["Create talking head videos from image and audio","Generate animation videos and AI avatars","Support for Fabric 1.0 and Fabric 1.0 Fast models","Configurable resolution (480p, 720p)","Configurable aspect ratios (16:9, 9:16, 1:1)","Real-time progress tracking via streaming status updates","Configurable timeouts (1-60 minutes)"],"authentication":"API key required (fal.ai personal API key)","commonUseCases":["Text-to-video content creation","Social media video generation (TikTok, Instagram, YouTube)","Automated ad generation pipelines","AI avatar creation for presentations"],"limitations":["Requires fal.ai account and API key","Requires n8n version 0.200.0 or higher","Requires Node.js 22 or higher","Showcase workflows only available in development mode","Generation time depends on audio length and video resolution"],"relatedNodes":["fal.ai API","OpenAI GPT-4o-mini","OpenAI DALL-E 3","StreamElements TTS","Twitter/X API"]}


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-03-25 21:19:40
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-03-25T21:19:40.646Z
ai_summary_generated_at: 2026-03-25 22:51:43
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":"This n8n community node enables interaction with the VLM Run API to process visual and audio content using Vision Language Models.","capabilities":["Analyze audio files for transcription and sentiment analysis","Analyze documents to extract structured data (resumes, invoices, presentations)","Analyze images to extract information or generate captions","Analyze video files for insights or transcription","Manage files (list or upload) in the VLM Run account"],"authentication":"API key required","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"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-campaignkit.campaignKit
package_name: n8n-nodes-campaignkit
display_name: CampaignKit
description: Email validation and verification with CampaignKit
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: campaignkit
author_github_url: https://github.com/campaignkit-cc/
npm_package_name: n8n-nodes-campaignkit
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:40.646Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "validateEmail",
      "options": [
        {
          "name": "Validate Email",
          "value": "validateEmail",
          "action": "Validate a single email address",
          "description": "Validate a single email address"
        },
        {
          "name": "Validate Batch",
          "value": "validateBatch",
          "action": "Validate multiple email addresses",
          "description": "Validate multiple email addresses"
        },
        {
          "name": "Get Job Status",
          "value": "getJobStatus",
          "action": "Get validation job status",
          "description": "Get the status of a validation job"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Validate Email",
      "value": "validateEmail",
      "action": "Validate a single email address",
      "description": "Validate a single email address"
    },
    {
      "name": "Validate Batch",
      "value": "validateBatch",
      "action": "Validate multiple email addresses",
      "description": "Validate multiple email addresses"
    },
    {
      "name": "Get Job Status",
      "value": "getJobStatus",
      "action": "Get validation job status",
      "description": "Get the status of a validation job"
    }
  ]

npm_readme:
  # n8n-nodes-campaignkit

  This is an n8n community node for [CampaignKit Email Validation](https://campaignkit.cc). It lets you validate email addresses and receive notifications when validation jobs complete in your n8n workflows.

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

  ### Community Node Installation

  1. Go to **Settings** > **Community Nodes** in your n8n instance
  2. Select **Install**
  3. Enter `n8n-nodes-campaignkit` in the **Enter npm package name** field
  4. Click **Install**

  ### Manual Installation

  If you're self-hosting n8n, you can install the node manually:

  ```bash
  npm install n8n-nodes-campaignkit
  ```

  For Docker-based installations, add the package to your n8n Docker image or install it in your running container.

  ## Operations

  ### CampaignKit Node

  The main CampaignKit node supports the following operations:

  #### Validate Email
  Validates a single email address and returns detailed verification results.

  **Input:**
  - `email` (string, required): The email address to validate

  **Output:**
  ```json
  {
    "email": "user@example.com",
    "is_valid": true,
    "is_risky": false,
    "is_invalid": false,
    "is_disposable": false,
    "is_role_email": false,
    "is_catchall": false,
    "is_blacklisted": false,
    "is_free_email": true,
    "is_mx_found": true,
    "is_smtp_valid": true,
    "score": 10,
    "classifier": "valid",
    "domain": "example.com",
    "mx_record": "mail.example.com",
    "smtp_provider": "Google",
    "free_email_provider": "Gmail",
    "did_you_mean": ""
  }
  ```

  #### Validate Batch
  Validates multiple email addresses as a batch job.

  **Input:**
  - `emails` (string, required): Email addresses to validate (one per line)
  - `label` (string, optional): Label for the validation job

  **Output:**
  ```json
  {
    "job_id": 12345,
    "email_count": 100,
    "status": "pending",
    "label": "My Email List",
    "created_at": "2025-01-15T10:00:00Z"
  }
  ```

  #### Get Job Status
  Retrieves the status and results of a validation job.

  **Input:**
  - `jobId` (number, required): The ID of the validation job

  **Output:**
  ```json
  {
    "job_id": 12345,
    "account_id": 456,
    "label": "My Email List",
    "state": "done",
    "email_count": 100,
    "valid_count": 85,
    "invalid_count": 10,
    "risky_count": 5,
    "deliverable_count": 85,
    "undeliverable_count": 15,
    "credits_used": 100,
    "progress": 100,
    "created_at": "2025-01-15T10:00:00Z",
    "started_at": "2025-01-15T10:00:05Z",
    "finished_at": "2025-01-15T10:05:00Z"
  }
  ```

  ### CampaignKit Trigger

  The CampaignKit Trigger node responds to events from CampaignKit.

  #### Job Completed
  Triggers when a validation job is completed.

  **Output:**
  ```json
  {
    "event": "validation.job.completed",
    "job_id": 12345,
    "account_id": 456,
    "label": "My Email List",
    "state": "done",
    "email_count": 100,
    "deliverable_count": 85,
    "undeliverable_count": 15,
    "risky_count": 5,
    "credits_used": 100,
    "created_at": "2025-01-15T10:00:00Z",
    "finished_at": "2025-01-15T10:05:00Z"
  }
  ```

  ## Credentials

  To use this node, you need a CampaignKit API key.

  ### Getting Your API Key

  1. Sign up for a [CampaignKit account](https://app.campaignkit.cc)
  2. Navigate to **Settings** > **API Keys**
  3. Create a new API key or copy an existing one

  ### Configuring Credentials in n8n

  1. In your n8n workflow, add a CampaignKit node
  2. Click on **Credentials** > **Create New**
  3. Select **CampaignKit API**
  4. Enter your API key
  5. (Optional) Modify the Base URL if using a custom instance
  6. Click **Save**

  The credential will be automatically tested by making a request to `/v1/account/me`.

  ## Example Workflows

  ### Example 1: Validate Single Email

  ```
  Manual Trigger → CampaignKit (Validate Email) → Filter (is_valid = true) → Send Email
  ```

  1. Trigger workflow manually or via webhook
  2. Use **CampaignKit** node with **Validate Email** operation
  3. Filter results to only include valid emails
  4. Send confirmation email for valid addresses

  ### Example 2: Batch Validation with Notification

  ```
  Schedule Trigger → HTTP Request (Get Emails) → CampaignKit (Validate Batch) → Wait → CampaignKit (Get Job Status) → Send Notification
  ```

  1. Schedule workflow to run daily
  2. Fetch email list from your database/API
  3. Start batch validation with CampaignKit
  4. Wait for job to complete (or use webhook trigger)
  5. Get final job results
  6. Send summary notification

  ### Example 3: Webhook-Based Batch Validation

  ```
  CampaignKit Trigger (Job Completed) → Filter (deliverable_count > 0) → HTTP Request (Update Database) → Slack Notification
  ```

  1. **CampaignKit Trigger** listens for job completion
  2. Filter to only process jobs with deliverable emails
  3. Update your database with results
  4. Send Slack notification with summary

  ## Understanding Email Validation Scores

  CampaignKit assigns each email a score from 0-10:

  - **10**: Valid - All checks passed, email is deliverable
  - **9**: Valid but unverified - Syntax and MX checks passed, but SMTP verification failed
  - **2**: Risky - Email exists but may be a spam trap or temporary
  - **0**: Invalid - Email will bounce

  ### Key Output Fields

  - `is_valid`: Email is deliverable (score 9-10)
  - `is_invalid`: Email will bounce (score 0)
  - `is_risky`: Email is suspicious (score 2)
  - `is_disposable`: Temporary/disposable email service
  - `is_role_email`: Generic role address (info@, support@, etc.)
  - `is_catchall`: Domain accepts all email addresses
  - `is_blacklisted`: Email is on CampaignKit's blacklist
  - `did_you_mean`: Suggested correction for typos

  ## API Rate Limits

  CampaignKit API has the following limits:

  - **Authenticated requests**: Based on your account plan
  - **Batch validation**: Uses credits based on email count
  - **Webhook delivery**: Up to 5 retry attempts with exponential backoff

  Monitor your credit usage via the `/v1/account/billing/balance` endpoint or in your CampaignKit dashboard.

  ## Troubleshooting

  ### Credential Test Fails

  - Verify your API key is correct
  - Check that your CampaignKit account is active
  - Ensure the Base URL is correct (default: `https://api.campaignkit.cc`)

  ### Webhook Not Receiving Events

  - Ensure your n8n instance is accessible from the internet
  - Check that the workflow is activated
  - Verify webhook was created successfully in CampaignKit dashboard
  - Check n8n execution logs for incoming webhook requests

  ### Batch Job Stuck in "Pending"

  - Large batches may take time to process
  - Use the **Get Job Status** operation to monitor progress
  - Jobs process at approximately 100-500 emails/minute depending on validation type

  ### "Insufficient Credits" Error

  - Check your account credit balance
  - Purchase additional credits in your CampaignKit dashboard
  - Contact support@campaignkit.cc for billing assistance

  ## Development

  ### Building the Node

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

  ### Local Testing

  1. Build the node
  2. Link it to your n8n installation:
     ```bash
     npm link
     cd ~/.n8n/nodes
     npm link n8n-nodes-campaignkit
     ```
  3. Restart n8n

  ### Project Structure

  ```
  n8n-nodes-campaignkit/
  ├── credentials/
  │   └── CampaignKitApi.credentials.ts
  ├── nodes/
  │   └── CampaignKit/
  │       ├── CampaignKit.node.ts
  │       └── CampaignKitTrigger.node.ts
  ├── types/
  │   └── CampaignKit.types.ts
  ├── package.json
  ├── tsconfig.json
  └── README.md
  ```

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [CampaignKit API Documentation](https://campaignkit.cc/docs)
  - [CampaignKit Dashboard](https://app.campaignkit.cc)
  - [CampaignKit Support](mailto:support@campaignkit.cc)

  ## Compatibility

  - n8n version: 0.220.0 or higher
  - Node.js version: 18.x or higher

  ## License

  [MIT](LICENSE)

  ## Version History

  ### 0.1.0 (Initial Release)
  - ✅ Validate Email operation
  - ✅ Validate Batch operation
  - ✅ Get Job Status operation
  - ✅ Job Completed webhook trigger
  - ✅ API Key authentication
  - ✅ Comprehensive error handling

  ## Support

  For issues related to:
  - **This n8n node**: Open an issue on [GitHub](https://github.com/yourusername/CampaignKit/issues)
  - **CampaignKit API**: Contact support@campaignkit.cc
  - **n8n platform**: Visit [n8n community forum](https://community.n8n.io)

ai_documentation_summary:
  {"purpose":"Validates email addresses individually or in batches using CampaignKit's API and provides detailed verification results including deliverability scores and risk indicators.","capabilities":["Validate single email addresses","Validate multiple email addresses in batch jobs","Retrieve status and results of validation jobs","Provide detailed email verification metrics (MX, SMTP, blacklist, disposable, role-based)","Offer email typo suggestions","Support webhook triggers for job completion events"],"authentication":"API key required","commonUseCases":["Email list cleaning before sending campaigns","Automated email verification workflows with batch processing","Integrating with CRM or database updates upon validation completion","Filtering invalid or risky emails before outreach"],"limitations":["Batch validation requires credits based on email count","Webhook delivery limited to 5 retry attempts with exponential backoff","Rate limits vary by account plan"],"relatedNodes":["n8n-nodes-base.manualTrigger","n8n-nodes-base.httpRequest","n8n-nodes-base.filter","n8n-nodes-base.scheduleTrigger","n8n-nodes-base.webhook"]}


node_type: n8n-nodes-verifiemail.verifiEmail
package_name: n8n-nodes-verifiemail
display_name: Verifi Email
description: Email validation and domain health check using VerifiEmail API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  {
  "type": "main"
  }
  ]

updated_at: 2026-03-25 21:19:40
author_name: jiteshdugar
author_github_url: https://github.com/verifi-email/verifi-email-n8n-node.git
npm_package_name: n8n-nodes-verifiemail
npm_version: 1.3.1
community_fetched_at: 2026-03-25T21:19:40.647Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "validateEmail",
      "options": [
        {
          "name": "Validate Email Address",
          "value": "validateEmail",
          "action": "Validate an email address",
          "description": "Validate a Single Email Address"
        },
        {
          "name": "Validate Multiple Emails",
          "value": "bulkValidateEmails",
          "action": "Validate multiple email addresses",
          "description": "Validate Multiple Email Addresses in Bulk"
        },
        {
          "name": "Check Domain Health",
          "value": "checkDomainHealth",
          "action": "Check domain health",
          "description": "Check Domain Health and Configuration"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Validate Email Address",
      "value": "validateEmail",
      "action": "Validate an email address",
      "description": "Validate a Single Email Address"
    },
    {
      "name": "Validate Multiple Emails",
      "value": "bulkValidateEmails",
      "action": "Validate multiple email addresses",
      "description": "Validate Multiple Email Addresses in Bulk"
    },
    {
      "name": "Check Domain Health",
      "value": "checkDomainHealth",
      "action": "Check domain health",
      "description": "Check Domain Health and Configuration"
    }
  ]

npm_readme:
  # n8n-nodes-verifi-email

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

  A powerful n8n node for seamless email validation using the [Verifi.Email](https://verifi.email) API. Validate email addresses with enterprise-grade accuracy while maintaining complete privacy and security.

  ## Features

  - **Seamless Integration** - Easy-to-use n8n node for email validation workflows
  - **High Accuracy** - Enterprise-grade email validation with detailed results
  - **Privacy-First** - Secure and private API that doesn't store your data
  - **Real-time Validation** - Instant email verification results
  - **Bulk Processing** - Validate multiple emails efficiently in n8n workflows
  - **Detailed Responses** - Comprehensive validation data including deliverability, syntax, and more

  ## Installation

  ### Install via n8n Community Nodes

  1. Go to **Settings** → **Community Nodes** in your n8n instance
  2. Click **Install a Community Node**
  3. Enter: `n8n-nodes-verifi-email`
  4. Click **Install**

  ### Manual Installation

  ```bash
  # In your n8n installation directory
  npm install n8n-nodes-verifi-email
  ```

  ## Setup

  ### 1. Get Your API Key

  1. Visit [Verifi.Email Registration](https://app.verifi.email/register)
  2. Create your free account
  3. Get your API key from the dashboard

  ### 2. Configure Credentials

  1. In n8n, go to **Credentials**
  2. Click **Add Credential** → **Verifi.Email API**
  3. Enter your API key
  4. Save the credential

  ## Usage

  ### Basic Email Validation

  1. Add the **Verifi.Email** node to your workflow
  2. Select your configured credentials
  3. Choose operation: **Validate Email**
  4. Enter the email address to validate
  5. Execute the workflow

  ### Example Workflow

  ```json
  {
    "email": "test@example.com",
    "validation_result": {
      "is_valid": true,
      "is_deliverable": true,
      "is_risky": false,
      "syntax_valid": true,
      "domain_exists": true,
      "mailbox_exists": true,
      "disposable": false,
      "role_account": false,
      "free_provider": false
    }
  }
  ```

  ### Bulk Validation

  Use n8n's **Split In Batches** node to process multiple emails:

  1. **Read Data** → Email list
  2. **Split In Batches** → Process in chunks
  3. **Verifi.Email** → Validate each email
  4. **Merge** → Combine results

  ## Node Operations

  ### Validate Email
  Validates a single email address and returns comprehensive results.

  **Parameters:**
  - `email` (string, required): Email address to validate

  **Output:**
  - `is_valid` (boolean): Overall validation result
  - `is_deliverable` (boolean): Whether email can receive messages
  - `is_risky` (boolean): Risk assessment for the email
  - `syntax_valid` (boolean): Email syntax validation
  - `domain_exists` (boolean): Domain existence check
  - `mailbox_exists` (boolean): Mailbox existence verification
  - `disposable` (boolean): Whether it's a disposable email
  - `role_account` (boolean): Whether it's a role-based email
  - `free_provider` (boolean): Whether it's from a free email provider

  ## API Documentation

  For detailed API documentation and advanced features, visit: [https://verifi.email/docs](https://verifi.email/docs)

  ## Use Cases

  - **Lead Validation** - Clean your lead lists before marketing campaigns
  - **User Registration** - Validate emails during sign-up processes
  - **Data Cleaning** - Remove invalid emails from existing databases
  - **Email Marketing** - Improve deliverability by validating subscriber lists
  - **Form Validation** - Real-time email validation in web forms
  - **CRM Integration** - Validate contacts automatically in your CRM workflows

  ## Example Workflows

  ### Marketing List Cleanup
  ```
  Google Sheets → Split In Batches → Verifi.Email → Filter Valid → Update Sheet
  ```

  ### Real-time Form Validation
  ```
  Webhook → Verifi.Email → Conditional Logic → Send Response
  ```

  ### CRM Contact Validation
  ```
  CRM Trigger → Verifi.Email → Update Contact Status → Slack Notification
  ```

  ## Error Handling

  The node includes comprehensive error handling for:
  - Invalid API keys
  - Rate limit exceeded
  - Malformed email addresses
  - Network connectivity issues
  - API service unavailable

  ## Rate Limits

  Please refer to your [Verifi.Email dashboard](https://app.verifi.email) for current rate limits and usage statistics.

  ## Support

  - **Documentation**: [https://verifi.email/docs](https://verifi.email/docs)
  - **Website**: [https://verifi.email](https://verifi.email)
  - **Issues**: Report issues on this GitHub repository
  - **API Support**: Contact us on **contact@verifi.email**

  ## Contributing

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

  ### Development Setup

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

  ### Testing

  ```bash
  npm run test
  npm run lint
  ```

  ## Changelog

  ### v1.0.0
  - Initial release
  - Email validation functionality
  - Comprehensive validation results
  - Error handling and rate limiting

  ## License

  [MIT](LICENSE.md)

  ---

  **Secure • Private • Accurate**

  Transform your email workflows with reliable validation powered by Verifi.Email and n8n automation.

ai_documentation_summary:
  {"purpose":"Validates email addresses and checks domain health using the Verifi.Email API, providing detailed results on deliverability, syntax, and mailbox existence.","capabilities":["Single email validation","Bulk email processing","Disposable email detection","Role-based account detection","Free provider identification","Syntax validation","Domain existence check","Mailbox existence verification","Risk assessment"],"authentication":"API key required","commonUseCases":["Lead validation before marketing campaigns","User registration verification","Data cleaning for databases","Email marketing list improvement","Real-time form validation"],"limitations":["Rate limits apply (check Verifi.Email dashboard)","Requires external API key setup"],"relatedNodes":["Split In Batches","Filter","Update Sheet","Webhook","Conditional Logic"]}


