# nodes

node_type: n8n-nodes-blue.blue
package_name: n8n-nodes-blue
display_name: Blue
description: Interact with Blue Project Management via GraphQL API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: bluetogether
author_github_url: https://github.com/datadoesntlie/
npm_package_name: n8n-nodes-blue
npm_version: 0.1.8
community_fetched_at: 2026-01-07T20:08:15.965Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "getCompanies",
      "options": [
        {
          "name": "Create Project",
          "value": "createProject",
          "action": "Create a new project from a template",
          "description": "Create a new project from a template"
        },
        {
          "name": "Create Record",
          "value": "createRecord",
          "action": "Create a new record todo task with custom fields",
          "description": "Create a new record (todo/task) with custom fields"
        },
        {
          "name": "Execute Custom GraphQL",
          "value": "customQuery",
          "action": "Execute a custom graph ql query",
          "description": "Execute a custom GraphQL query"
        },
        {
          "name": "Get Records",
          "value": "getRecords",
          "action": "Get records with advanced filtering",
          "description": "Retrieve records (todos/tasks) with advanced filtering"
        },
        {
          "name": "Invite User",
          "value": "inviteUser",
          "action": "Invite a user to a project",
          "description": "Invite User to a Project"
        },
        {
          "name": "List Companies",
          "value": "getCompanies",
          "action": "List all companies you have access to",
          "description": "List all companies you have access to"
        },
        {
          "name": "List Custom Fields",
          "value": "listCustomFields",
          "action": "List custom fields in a project with detailed information",
          "description": "List custom fields in a project with detailed information"
        },
        {
          "name": "List Projects",
          "value": "getProjects",
          "action": "List projects from a company",
          "description": "Retrieve projects from a company"
        },
        {
          "name": "Tag Record",
          "value": "tagRecord",
          "action": "Add tags to a record todo task",
          "description": "Add tags to a record (todo/task)"
        },
        {
          "name": "Update Record",
          "value": "updateRecord",
          "action": "Update a record todo task with custom fields",
          "description": "Update a record (todo/task) with custom fields"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Project",
      "value": "createProject",
      "action": "Create a new project from a template",
      "description": "Create a new project from a template"
    },
    {
      "name": "Create Record",
      "value": "createRecord",
      "action": "Create a new record todo task with custom fields",
      "description": "Create a new record (todo/task) with custom fields"
    },
    {
      "name": "Execute Custom GraphQL",
      "value": "customQuery",
      "action": "Execute a custom graph ql query",
      "description": "Execute a custom GraphQL query"
    },
    {
      "name": "Get Records",
      "value": "getRecords",
      "action": "Get records with advanced filtering",
      "description": "Retrieve records (todos/tasks) with advanced filtering"
    },
    {
      "name": "Invite User",
      "value": "inviteUser",
      "action": "Invite a user to a project",
      "description": "Invite User to a Project"
    },
    {
      "name": "List Companies",
      "value": "getCompanies",
      "action": "List all companies you have access to",
      "description": "List all companies you have access to"
    },
    {
      "name": "List Custom Fields",
      "value": "listCustomFields",
      "action": "List custom fields in a project with detailed information",
      "description": "List custom fields in a project with detailed information"
    },
    {
      "name": "List Projects",
      "value": "getProjects",
      "action": "List projects from a company",
      "description": "Retrieve projects from a company"
    },
    {
      "name": "Tag Record",
      "value": "tagRecord",
      "action": "Add tags to a record todo task",
      "description": "Add tags to a record (todo/task)"
    },
    {
      "name": "Update Record",
      "value": "updateRecord",
      "action": "Update a record todo task with custom fields",
      "description": "Update a record (todo/task) with custom fields"
    }
  ]

npm_readme:
  # n8n-nodes-blue

  This is an n8n community node. It lets you use Blue Project Management in your n8n workflows.

  Blue Project Management is a modern project management platform that provides powerful GraphQL APIs for managing projects, tasks, teams, and workflows.

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

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

  ## Installation

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

  ## Operations

  This node supports the following operations:

  ### Companies
  - **Get Companies** - List all companies you have access to

  ### Projects  
  - **Get Projects** - List all projects within a specific company

  ### Records (Tasks/Todos)
  - **Get Records** - Retrieve tasks/todos with advanced filtering (by project, search terms, completion status)
  - **Create Record** - Create new tasks/todos with support for assignees, tags, custom fields, and checklists
  - **Update Record** - Update existing records including core fields and custom field values

  ### Advanced
  - **Custom Query** - Execute custom GraphQL queries against the Blue API for advanced use cases

  ## Credentials

  ### Getting Blue API Credentials

  1. **Create Blue Account**
     - Sign up for a Blue Project Management account at [blue.cc](https://blue.cc)
     - Complete account verification and setup

  2. **Generate API Tokens**
     - Log into your Blue account
     - Navigate to Account Settings → API Settings
     - Generate a new API token pair:
       - **Token ID**: Your unique identifier (e.g., `abc123def456`)
       - **Token Secret**: Your authentication secret (keep this secure!)
     - Copy both values - you'll need them for n8n configuration

  3. **Note Your Company Access**
     - Ensure you have access to at least one company in Blue
     - API operations require company context
     - You can be a member of multiple companies

  ### Configuring in n8n

  1. **Add Blue API Credential**
     - In n8n, go to **Settings** → **Credentials**
     - Click **Add Credential** → Search for "Blue API"
     - Fill in the credential form:

  2. **Credential Configuration**
     ```
     Base URL: https://api.blue.cc/graphql (default - don't change)
     Token ID: [Your Blue API Token ID]
     Token Secret: [Your Blue API Token Secret]
     ```

  3. **Test Connection**
     - Click **Test** to verify your credentials
     - You should see a successful connection message
     - If test fails, double-check your Token ID and Secret

  4. **Save Credential**
     - Give your credential a descriptive name (e.g., "Blue Production API")
     - Click **Save**

  ### Authentication Flow

  The node automatically handles all authentication:
  - **Headers**: Adds `X-Bloo-Token-ID` and `X-Bloo-Token-Secret` to requests
  - **Company Context**: Passes `X-Bloo-Company-ID` based on your operation selections
  - **GraphQL Endpoint**: Routes all requests to Blue's GraphQL API at `https://api.blue.cc/graphql`

  ### Security Notes

  - **Keep Token Secret Secure**: Never share or commit your Token Secret
  - **Rotate Tokens**: Regularly regenerate tokens for security
  - **Company Access**: Tokens only work with companies you have access to
  - **Rate Limits**: Blue API has rate limiting - implement appropriate delays in high-volume workflows

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Tested with**: n8n 1.x
  - **Node API version**: 1

  ## Usage

  ### Example Workflows

  #### Workflow 1: Task Management Dashboard
  Create a workflow that monitors and manages tasks across projects:

  1. **Trigger**: Schedule (runs every hour)
  2. **Blue - Get Companies**: Retrieve available companies
  3. **Loop**: For each company:
     - **Blue - Get Projects**: Get all projects for the company
     - **Blue - Get Records**: Fetch incomplete tasks with search filter
     - **Filter**: Identify overdue tasks
     - **Send Email**: Notify project managers of overdue items

  #### Workflow 2: Automated Task Creation
  Set up task creation from external sources:

  1. **Trigger**: Webhook (from form submission/external system)
  2. **Blue - Get Companies**: Select target company
  3. **Blue - Get Projects**: Find appropriate project by name
  4. **Blue - Create Record**: Create new task with:
     - Title and description from webhook data
     - Assignees based on project team
     - Custom fields populated from form data
     - Tags for categorization

  #### Workflow 3: Weekly Project Reports
  Generate automated project status reports:

  1. **Trigger**: Schedule (weekly)
  2. **Blue - Get Companies**: Get all companies
  3. **Loop**: For each company:
     - **Blue - Get Projects**: Retrieve active projects
     - **Blue - Get Records**: Get tasks with completion filter
     - **Calculate**: Progress metrics (completed vs total tasks)
     - **Format**: Create summary report
     - **Send to Slack/Email**: Distribute reports to stakeholders

  #### Workflow 4: Custom Data Integration
  Sync data between Blue and other systems:

  1. **External API**: Fetch data from CRM/ERP system
  2. **Transform**: Map external data to Blue format
  3. **Blue - Custom Query**: Execute complex GraphQL query to check for existing records
  4. **Conditional**: Create or update based on existence
  5. **Blue - Create/Update Record**: Sync the data with custom fields populated

  ### Quick Start Guide

  **Step 1: Set up Credentials**
  1. In n8n, go to Credentials → Add Credential → Blue API
  2. Enter your Blue API Token ID and Secret
  3. Test the connection

  **Step 2: Basic Flow**
  1. Add Blue node to your workflow
  2. Select "Get Companies" operation
  3. Execute to see available companies
  4. Copy a Company ID for next steps

  **Step 3: Explore Operations**
  - Use Company ID to get projects
  - Select a project to retrieve tasks
  - Create new tasks with the Create Record operation

  ### Advanced Features

  - **Custom Fields**: Both create and update operations support Blue's custom field system with dynamic field selection
  - **Multiselect Dropdowns**: Assignees and tags use dynamic dropdowns populated from your Blue data based on selected company/project
  - **GraphQL Power**: Use the Custom Query operation for complex data operations beyond standard CRUD
  - **Intelligent Filtering**: Records support rich filtering - combine project filtering with search terms for precise results
  - **Error Handling**: Comprehensive GraphQL error handling with detailed error messages and suggestions

  ### Operation Details

  #### Get Records Options
  - **Project Filter**: Limit results to specific project
  - **Search**: Find records containing specific text
  - **Show Completed**: Include/exclude completed tasks
  - **Pagination**: Control result size with limit/skip

  #### Create Record Features
  - **Rich Content**: Title, description, due dates
  - **Team Assignment**: Multi-select assignees from project team
  - **Categorization**: Apply multiple tags for organization
  - **Custom Fields**: Populate any custom fields defined in your Blue setup
  - **Checklists**: Add sub-tasks during creation

  #### Custom Query Power
  Execute any GraphQL query against Blue's API:
  ```graphql
  query GetProjectStats($projectId: ID!) {
    project(id: $projectId) {
      name
      todos {
        totalCount
      }
      todosCompleted: todos(completed: true) {
        totalCount
      }
    }
  }
  ```

  ### Tips & Best Practices

  - **Company Context**: Company ID is automatically passed as header for all operations after selection
  - **Performance**: Use pagination and filtering to limit large result sets
  - **Error Recovery**: Implement error handling for API rate limits and network issues
  - **Data Validation**: Validate required fields before creating/updating records
  - **Webhook Integration**: Use Blue's webhook system with n8n triggers for real-time automation

  ## Troubleshooting

  ### Common Issues

  #### Authentication Errors
  **Problem**: "Invalid credentials" or "Unauthorized" errors
  **Solutions**:
  - Verify Token ID and Secret are correct (copy-paste to avoid typos)
  - Check that tokens haven't expired or been revoked
  - Ensure you have access to at least one company in Blue
  - Test credentials using the credential test function

  #### Empty Company List
  **Problem**: "Get Companies" returns empty results
  **Solutions**:
  - Confirm your Blue account has company access
  - Check if you need to be invited to a company
  - Verify your account is active and verified

  #### Operation Failures
  **Problem**: Operations fail with GraphQL errors
  **Solutions**:
  - Check that Company ID is valid and you have access
  - Verify Project ID exists and is accessible
  - For custom queries, validate GraphQL syntax
  - Review Blue API documentation for field requirements

  #### Dropdown Loading Issues
  **Problem**: Assignees, Tags, or Custom Fields don't load
  **Solutions**:
  - Ensure Company and Project are selected first
  - Check that the project has users/tags/custom fields configured
  - Verify network connectivity to Blue API
  - Try refreshing the dropdown options

  #### Performance Issues
  **Problem**: Slow response times or timeouts
  **Solutions**:
  - Use pagination for large result sets (limit/skip parameters)
  - Add appropriate delays between API calls
  - Filter results to reduce data transfer
  - Check Blue API status for outages

  ### Getting Help

  - **Blue API Issues**: Refer to [Blue API Documentation](https://www.blue.cc/en/api/start-guide/introduction)
  - **n8n Node Issues**: Check [n8n Community](https://community.n8n.io/)
  - **Bug Reports**: Submit issues to the [GitHub repository](https://github.com/datadoesntlie/n8n-nodes-blue/issues)

  ### Debug Tips

  1. **Enable Detailed Logging**: Turn on n8n's detailed execution logging
  2. **Test Operations Individually**: Isolate failing operations
  3. **Verify Data**: Check that IDs and parameters are valid
  4. **GraphQL Debugging**: Use Blue's GraphQL playground for query testing
  5. **Network Issues**: Check firewall/proxy settings if requests fail

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Blue API Documentation](https://www.blue.cc/en/api/start-guide/introduction) - Official API guide and reference
  * [Blue GraphQL Schema](https://api.blue.cc/graphql) - Interactive GraphQL playground
  * [GitHub Repository](https://github.com/datadoesntlie/n8n-nodes-blue) - Source code and issue tracking

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Blue node enables integration with Blue Project Management by providing operations to manage companies, projects, tasks (records), and execute custom GraphQL queries through its API.","capabilities":["Get Companies","Get Projects","Get Records (with filtering by project, status, search terms)","Create Records (with assignees, tags, custom fields, checklists)","Update Records (including custom fields)","Execute Custom GraphQL Queries"],"authentication":"API key authentication via Token ID and Token Secret; automatically added to request headers as X-Bloo-Token-ID and X-Bloo-Token-Secret; company context is passed via X-Bloo-Company-ID","commonUseCases":["Monitor and manage tasks across projects with automated alerts for overdue items","Automate task creation from external systems like forms or CRM","Generate weekly project status reports with progress metrics","Sync data between Blue and other systems using custom GraphQL queries"],"limitations":["Requires access to at least one company; tokens only work with accessible companies","Rate limiting applies to the Blue API; high-volume workflows may need delays","Token Secret must be kept secure and rotated regularly","No support for authentication beyond API tokens (OAuth2 not mentioned)"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.schedule","n8n-nodes-base.email","n8n-nodes-base.slack"]}


node_type: n8n-nodes-webmetic.webmetic
package_name: n8n-nodes-webmetic
display_name: Webmetic
description: Get company visits data from Webmetic with date range filtering
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: webmetic
author_github_url: https://github.com/webmetic-gmbh/
npm_package_name: n8n-nodes-webmetic
npm_version: 0.4.1
community_fetched_at: 2026-01-07T20:08:15.965Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "newVisits",
      "options": [
        {
          "name": "New Visits",
          "value": "newVisits",
          "description": "Get companies that have visited a domain for the first time"
        },
        {
          "name": "Intensive Visits",
          "value": "intensiveVisits",
          "description": "Get companies that have had intensive visits to a domain"
        },
        {
          "name": "Returning Visits",
          "value": "returningVisits",
          "description": "Get companies that have visited a domain multiple times"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get new visits",
          "routing": {
            "request": {
              "url": "/new-visits",
              "method": "GET"
            }
          },
          "description": "Get a list of companies that have visited the specified domain for the first time"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "newVisits"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get intensive visits",
          "routing": {
            "request": {
              "url": "/intensive-visits",
              "method": "GET"
            }
          },
          "description": "Get a list of companies that have had intensive visits to the specified domain"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "intensiveVisits"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get returning visits",
          "routing": {
            "request": {
              "url": "/returning-visits",
              "method": "GET"
            }
          },
          "description": "Get a list of companies that have visited the specified domain multiple times"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "returningVisits"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get new visits",
      "routing": {
        "request": {
          "url": "/new-visits",
          "method": "GET"
        }
      },
      "description": "Get a list of companies that have visited the specified domain for the first time"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get intensive visits",
      "routing": {
        "request": {
          "url": "/intensive-visits",
          "method": "GET"
        }
      },
      "description": "Get a list of companies that have had intensive visits to the specified domain"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get returning visits",
      "routing": {
        "request": {
          "url": "/returning-visits",
          "method": "GET"
        }
      },
      "description": "Get a list of companies that have visited the specified domain multiple times"
    }
  ]

npm_readme:
  # n8n-nodes-webmetic

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

  [Webmetic](https://webmetic.de) provides company visitor tracking data for sales and marketing teams.

  [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

  * **New Visits**
    * Get: Retrieve a list of companies that have visited a specified domain for the first time
  * **Intensive Visits**
    * Get: Retrieve a list of companies that have had intensive visits to a specified domain
  * **Returning Visits**
    * Get: Retrieve a list of companies that have visited a specified domain multiple times

  ## Credentials

  To use this node, you need:

  1. A Webmetic API key - Get yours from [Webmetic](https://webmetic.de)
  2. Configure the API key in n8n's credentials

  ## Compatibility

  * Requires n8n version 0.172.0 or later
  * Tested with n8n version 1.0.0+

  ## Usage

  1. Add the Webmetic node to your workflow
  2. Create new Webmetic API credentials:
     - Enter your API key (starts with `wmtc_`)
  3. Configure the node:
     - Select "New Visits", "Intensive Visits", or "Returning Visits" as the resource
     - Select "Get" as the operation
     - Enter the domain you want to track (e.g., `example.com`)
     - Optional: Configure additional fields for date filtering:
       - **From Date**: Start date or relative time period (default: "-30 days")
       - **To Date**: End date or "now" for current date (default: "now")
  4. Execute the node to retrieve company visitor data

  The node returns valuable sales intelligence about companies and their visiting behavior on your domain.

  ### Date Format Examples:
  - **Relative times**: `-30 days`, `-12 hours`, `-45 minutes`, `-7 days`
  - **Absolute dates**: `2023-01-01`, `2023-12-31`  
  - **Current**: `now`
  - **Minutes**: `-15 minutes`, `-30 minutes`, `-90 minutes`

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Webmetic API documentation](https://hub.webmetic.de/docs)

ai_documentation_summary:
  {"purpose":"The Webmetic node retrieves company visit data from Webmetic based on specified criteria such as visit type (new, intensive, returning) and date ranges, enabling sales and marketing teams to analyze visitor behavior on a domain.","capabilities":["Retrieve companies with first-time visits to a domain (New Visits)","Retrieve companies with intensive visits to a domain (Intensive Visits)","Retrieve companies with multiple visits to a domain (Returning Visits)","Filter results by date range using relative or absolute dates"],"authentication":"API key required (must start with 'wmtc_')","commonUseCases":["Identifying new business leads visiting a company's website","Tracking repeat visitors for customer retention strategies","Analyzing high-engagement visitor patterns for marketing campaigns"],"limitations":[],"relatedNodes":["n8n-nodes-webmetic.webmetic"]}


node_type: @gotohuman/n8n-nodes-gotohuman.gotoHuman
package_name: @gotohuman/n8n-nodes-gotohuman
display_name: gotoHuman
description: Request human reviews with gotoHuman
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: gotohuman-admin
author_github_url: https://github.com/gotohuman/n8n-nodes-gotohuman.git
npm_package_name: @gotohuman/n8n-nodes-gotohuman
npm_version: 0.1.1
community_fetched_at: 2026-01-07T20:08:15.966Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "reviewRequest",
      "options": [
        {
          "name": "Review Request",
          "value": "reviewRequest",
          "description": "Request for Human Review"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendAndWait",
      "options": [
        {
          "name": "Send and Wait for Response",
          "value": "sendAndWait",
          "action": "Send review request and wait for response",
          "description": "Request a human review and wait for the response"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "reviewRequest"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send and Wait for Response",
      "value": "sendAndWait",
      "action": "Send review request and wait for response",
      "description": "Request a human review and wait for the response"
    }
  ]

npm_readme:
  ![Banner Image](https://github.com/user-attachments/assets/4d31e977-018f-47cc-86f5-2caff3fae1d7)

  # n8n-nodes-gotohuman

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

  gotoHuman is a Human-in-the-Loop solution that lets you easily add highly customizable human approvals to your AI workflows.  
  Perfect for long-running workflows or workflows triggered in the background by external triggers like emails, tickets, or webhooks.

  Many built-in features:
  - Ready-to-use web UI
  	- Inbox
  	- Customizable review interface
  	- Controls to approve, reject, or edit AI outputs
  	- Allow retries with instructions
  	- Supports text, markdown, JSON, images, and more
  - Slack integration
  - Notifications
  - Response dataset to use as memory
  - And much more!

  ## Installation

  npm package name:
  ```
  @gotohuman/n8n-nodes-gotohuman
  ```

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

  ## Credentials

  Find your API key in the [gotoHuman dashboard](https://app.gotohuman.com).

  ## Usage

  Refer to our [documentation](https://docs.gotohuman.com/Integrations/n8n/) for detailed information on using this node.

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The gotoHuman node allows users to integrate human review capabilities into n8n workflows by requesting human approvals on AI-generated outputs, with support for various content types and customizable review interfaces.","capabilities":["Request human reviews with customizable approval interfaces","Support for text, markdown, JSON, images, and other content types","Allow users to approve, reject, or edit AI outputs","Enable retries with instructions","Integrate with Slack for notifications","Provide response dataset as memory for workflow context","Support for long-running or background-triggered workflows (e.g., emails, webhooks, tickets)"],"authentication":"API key required (obtained from the gotoHuman dashboard)","commonUseCases":["Adding human-in-the-loop reviews to AI-generated content","Validating AI outputs in background workflows triggered by external events","Improving accuracy in automated processes requiring human judgment","Implementing approval workflows with Slack alerts"],"limitations":[],"relatedNodes":["n8n nodes for AI workflows","n8n nodes for webhooks and email triggers","n8n nodes with notification integrations"]}


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

updated_at: 2026-01-07 20:08:15
author_name: jpedoeem
author_github_url: https://github.com/MagnivOrg/n8n-node.git
npm_package_name: @promptlayer/n8n-nodes-promptlayer-runagent
npm_version: 0.1.9
community_fetched_at: 2026-01-07T20:08:15.966Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # PromptLayer RunAgent Node for n8n

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

  ---

  ## Features

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

  ---

  ## Prerequisites

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

  ---

  ## Installation

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

  ---

  ## Configuration

  ### Setting up Credentials

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

  ---

  ## Usage

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

  ---

  ## Example

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

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

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

  ---

  ## Troubleshooting

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

ai_documentation_summary:
  {"purpose":"The PromptLayer RunAgent node allows users to execute PromptLayer Agents directly within n8n workflows by passing input variables, selecting agent versions or labels, and retrieving results with optional metadata and timeout controls.","capabilities":["Run any PromptLayer Agent by name","Select agent version by number or label","Pass input variables as JSON","Attach metadata to agent executions","Control output (return all outputs or just the main one)","Set a timeout for long-running agents","Credential-based authentication"],"authentication":"API key required via PromptLayerRunAgentApi credential","commonUseCases":["Integrating AI-powered agents into automated workflows (e.g., customer support, content generation)","Executing weather, translation, or data analysis agents with dynamic inputs","Automating responses based on user queries using prompt-based agents"],"limitations":[],"relatedNodes":["PromptLayer Agent Management","n8n Input/Output Nodes","Workflow Control Nodes"]}


node_type: @handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi
package_name: @handelsregister/n8n-nodes-handelsregister-ai
display_name: handelsregister.ai
description: Interact with handelsregister.ai API to query German business registry data
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: padho
author_github_url: https://github.com/Handelsregister-AI/n8n-nodes-handelsregister-ai.git
npm_package_name: @handelsregister/n8n-nodes-handelsregister-ai
npm_version: 0.2.1
community_fetched_at: 2026-01-07T20:08:15.967Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "fetchOrganization",
      "options": [
        {
          "name": "Fetch Organization",
          "value": "fetchOrganization",
          "action": "Fetch organization details",
          "description": "Get comprehensive information about a German company"
        },
        {
          "name": "Search Organizations",
          "value": "searchOrganizations",
          "action": "Search organizations",
          "description": "Search German companies with filters and pagination"
        },
        {
          "name": "Fetch Document",
          "value": "fetchDocument",
          "action": "Fetch document",
          "description": "Download official PDF documents from the German business registry"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Fetch Organization",
      "value": "fetchOrganization",
      "action": "Fetch organization details",
      "description": "Get comprehensive information about a German company"
    },
    {
      "name": "Search Organizations",
      "value": "searchOrganizations",
      "action": "Search organizations",
      "description": "Search German companies with filters and pagination"
    },
    {
      "name": "Fetch Document",
      "value": "fetchDocument",
      "action": "Fetch document",
      "description": "Download official PDF documents from the German business registry"
    }
  ]

npm_readme:
  # @handelsregister/n8n-nodes-handelsregister-ai

  This is an n8n community node that allows you to interact with the [Handelsregister.ai](https://handelsregister.ai) API to query German business registry data.

  ## Installation

  ### Community Node

  1. In n8n, go to **Settings** > **Community Nodes**
  2. Click **Install**
  3. Enter `@handelsregister/n8n-nodes-handelsregister-ai`
  4. Click **Install**

  ### Manual Installation

  ```bash
  npm install @handelsregister/n8n-nodes-handelsregister-ai
  ```

  ## Features

  - **Fetch Organization**: Get comprehensive information about a German company including financial data, related persons, and publications
  - **Search Organizations**: Search German companies with filters and pagination
  - **Fetch Document**: Download official PDF documents from the German business registry

  ## Setup

  1. Get your API key from [Handelsregister.ai](https://handelsregister.ai)
  2. In n8n, add credentials:
     - Go to **Credentials** > **New**
     - Select **Handelsregister.ai API**
     - Enter your API key
     - Save the credentials

  ## Usage

  ### Fetch Organization

  Get comprehensive information about a German company:
  - **Query**: Company name, registration number or search query (e.g., "Konux GmbH aus München")
  - **Features**: Select additional data to include:
    - Financial KPI (1 Credit)
    - Balance Sheet Accounts (3 Credits)
    - Profit and Loss Account (3 Credits)
    - Related Persons (2 Credits)
    - Shareholders (5 Credits)
    - Publications (1 Credit)
    - News (10 Credits)
    - Insolvency Publications (1 Credit)
    - Annual Financial Statements (5 Credits)
    - Website Content (0 Credits - requires AI Mode to be enabled)
  - **AI Mode**: Enable AI-powered search for better results (enabled by default)

  ### Search Organizations

  Search German companies with filters and pagination:
  - **Query**: Search query (minimum 2 characters, e.g., "Konux")
  - **Additional Fields**:
    - Skip: Number of results to skip
    - Limit: Results per page (1-100)
    - Postal Code Filter: Filter by postal code

  ### Fetch Document

  Download official PDF documents from the German business registry:
  - **Company ID**: Unique company entity ID from search results
  - **Document Type**: 
    - Shareholders List
    - Current Extract (AD)
    - Historical Extract (CD)

  ## Example Workflows

  ### Fetch Organization with Features
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "operation": "fetchOrganization",
          "q": "Konux GmbH aus München",
          "features": ["financial_kpi", "related_persons"],
          "ai_search": true
        },
        "name": "handelsregister.ai",
        "type": "@handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi",
        "typeVersion": 1,
        "position": [250, 300]
      }
    ]
  }
  ```

  ### Search Organizations with Filters
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "operation": "searchOrganizations",
          "q": "tech",
          "additionalFields": {
            "limit": 20,
            "postal_code": "80331"
          }
        },
        "name": "Search Organizations",
        "type": "@handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi",
        "typeVersion": 1,
        "position": [250, 300]
      }
    ]
  }
  ```

  ### Fetch Document Workflow
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "operation": "fetchDocument",
          "company_id": "{{ $json.entity_id }}",
          "document_type": "shareholders_list"
        },
        "name": "Fetch Document",
        "type": "@handelsregister/n8n-nodes-handelsregister-ai.handelsregisterAi",
        "typeVersion": 1,
        "position": [450, 300]
      }
    ]
  }
  ```

  ### Batch Company Processing
  Use this workflow to process multiple companies from a spreadsheet or database:

  1. **Spreadsheet/Database Node** → Read company names
  2. **handelsregister.ai Node** → Use `searchOrganizations` to find companies
  3. **Filter Node** → Filter results based on criteria
  4. **handelsregister.ai Node** → Use `fetchOrganization` to get detailed data
  5. **Output Node** → Save results to database or file

  ## Development

  ```bash
  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Run in development mode
  npm run dev
  ```

  ## License

  [MIT](LICENSE.md)

  ## Support

  For issues and feature requests, please visit the [GitHub repository](https://github.com/Handelsregister-AI/n8n-nodes-handelsregister-ai).

ai_documentation_summary:
  {"purpose":"The handelsregister.ai node enables n8n users to query German business registry data via the Handelsregister.ai API, supporting operations like fetching detailed company information, searching companies with filters, and downloading official documents.","capabilities":["Fetch comprehensive organization data including financial KPIs, balance sheets, profit and loss accounts, related persons, shareholders, publications, and news","Search German companies with text queries, pagination, and postal code filtering","Download official PDF documents such as shareholders lists, current extracts (AD), and historical extracts (CD)","Support for AI-powered search to improve query accuracy (enabled by default)"],"authentication":"API key required","commonUseCases":["Obtaining detailed financial and legal data about German companies for market research","Searching for companies by name or location for compliance or due diligence checks","Automating the retrieval of official business documents for legal or administrative purposes","Batch processing multiple companies from a database or spreadsheet"],"limitations":["Some features require credits (e.g., balance sheet accounts, profit and loss account, shareholders, publications, news, annual financial statements)","Website content requires AI Mode to be enabled and is not available by default","No support for real-time updates or live data streams","Limited to German business registry data; not applicable to other jurisdictions"],"relatedNodes":["Spreadsheet/Database Nodes","Filter Node","Output/Storage Nodes"]}


node_type: n8n-nodes-presenton.presenton
package_name: n8n-nodes-presenton
display_name: Presenton
description: Interact with presenton API (async generation + status checking)
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: badu5
author_github_url: https://github.com/shivarajbadu/
npm_package_name: n8n-nodes-presenton
npm_version: 1.2.6
community_fetched_at: 2026-01-07T20:08:15.967Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "generateAsync",
      "options": [
        {
          "name": "Generate Presentation (Async)",
          "value": "generateAsync",
          "action": "Initiate presentation generation",
          "description": "Initiate presentation generation asynchronously"
        },
        {
          "name": "Check Presentation Status",
          "value": "checkStatus",
          "action": "Poll or check until presentation is done",
          "description": "Poll or check until presentation is done"
        },
        {
          "name": "Upload File",
          "value": "uploadFile",
          "action": "Upload a file to presenton to reference later",
          "description": "Upload a file to Presenton to reference later"
        }
      ],
      "required": true,
      "description": "What you want to do with Presenton",
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Presentation (Async)",
      "value": "generateAsync",
      "action": "Initiate presentation generation",
      "description": "Initiate presentation generation asynchronously"
    },
    {
      "name": "Check Presentation Status",
      "value": "checkStatus",
      "action": "Poll or check until presentation is done",
      "description": "Poll or check until presentation is done"
    },
    {
      "name": "Upload File",
      "value": "uploadFile",
      "action": "Upload a file to presenton to reference later",
      "description": "Upload a file to Presenton to reference later"
    }
  ]

npm_readme:
  ## Presenton for n8n

  Generate professional presentations with the Presenton API directly from your n8n workflows. This community node supports asynchronous presentation generation, file uploads, and task status checks.

  Homepage: [presenton.ai](https://presenton.ai) • API docs: [presenton.ai/docs/api-reference](https://presenton.ai/docs/api-reference)

  ### Features

  - **Generate Presentation (Async)**: Kick off a background job to create PPTX or PDF
  - **Check Presentation Status**: Poll a task by ID until it’s complete
  - **Upload File**: Upload binary files and reference them during generation

  ## Installation

  ### Install in n8n (Community nodes)

  1. In n8n, go to Settings → Community Nodes → Install.
  2. Search for or enter the package name: `n8n-nodes-Presenton`.
  3. Confirm installation and restart n8n if prompted.

  ### Self-hosted filesystem install

  If you mount community nodes from disk, add this package to your custom nodes directory and install:

  ```bash
  npm install n8n-nodes-Presenton
  ```

  Minimum Node.js version: 20

  ## Credentials

  Create credentials of type `Presenton API`:

  - **API Key**: Your Presenton API key
  - **Base API URL** (optional): Override the default `https://api.presenton.ai` for staging or self-hosted deployments

  The node adds the `Authorization: Bearer <apiKey>` header automatically.

  ## Node operations

  ### Generate Presentation (Async)

  Starts a background job: `POST /api/v1/ppt/presentation/generate/async`

  - **content**: Main content to generate from
  - **slides_markdown**: Optional list of slide markdown strings
  - **instructions**: Additional guidance for the generator
  - **tone**: `default | professional | educational | funny | sale_pitch | causal`
  - **verbosity**: `standard | concise | text-heavy`
  - **web_search**: Allow web search during generation (boolean)
  - **image_type**: `stock | ai-generated`
  - **theme**: Theme name (string)
  - **noOfSlides**: Number of slides (number)
  - **language**: e.g. `English`
  - **template**: e.g. `general`
  - **include_table_of_contents**: boolean
  - **include_title_slide**: boolean
  - **files**: A file ID returned by the Upload File operation (string[])
  - **export_as**: `pptx | pdf`

  The node cleans empty values before sending. Response typically includes a task identifier you can pass to Check Presentation Status.

  ### Check Presentation Status

  Checks a task: `GET /api/v1/ppt/presentation/status/{taskId}`

  - **taskId**: The ID returned by Generate Presentation (Async)

  Returns the current status. When complete, the API usually includes result metadata (such as download links) defined by Presenton.

  ### Upload File

  Uploads a binary file: `POST /api/v1/ppt/files/upload`

  - **binaryPropertyName**: Name of the binary property on the incoming item (default: `data`)

  Returns a file ID you can set in the `files` field of the Generate Presentation (Async) operation.

  ## Typical workflow examples

  ### Generate a presentation from text

  1. Set operation to “Generate Presentation (Async)”.
  2. Fill in `content`, choose `export_as` (e.g. `pptx`), adjust options (tone, verbosity, slides, etc.).
  3. Use “Check Presentation Status” with the returned `taskId` until status is complete.

  ### Upload then generate

  1. Add a node with operation “Upload File” and set `binaryPropertyName` to the property holding your file.
  2. From its response, read the returned `file id`.
  3. Pass that id into the `files` field of “Generate Presentation (Async)”, then check status as above.

  ## Error handling

  - The node validates required parameters and throws meaningful errors (e.g., invalid slide count, missing task ID, or missing binary data).
  - If you enable “Continue On Fail”, errors are returned in the item’s JSON so your workflow can handle them.

  ## Development

  Clone, install, and build:

  ```bash
  npm i
  npm run dev   # TypeScript watch
  # or
  npm run build # build to dist
  ```

  Linting and formatting:

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

  To test locally, follow n8n’s guide to running custom nodes and point n8n to your built `dist` directory.

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"The Presenton node enables n8n workflows to generate professional presentations asynchronously using the Presenton API, supporting features like presentation generation, status polling, and file uploads.","capabilities":["Generate presentations asynchronously (PPTX or PDF)","Check the status of a presentation generation task","Upload binary files for use in presentation generation","Customize presentation content with markdown slides, tone, verbosity, theme, and more"],"authentication":"API key required (provided in credentials with Authorization: Bearer <apiKey> header)","commonUseCases":["Creating presentations from text content with customizable tone and structure","Uploading files (e.g., images, documents) and embedding them into presentations","Automating presentation workflows with status polling until completion"],"limitations":[],"relatedNodes":["File upload nodes","Async operation nodes","Status polling nodes"]}


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-01-07 20:08:15
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-01-07T20:08:15.968Z
ai_summary_generated_at: 2026-01-08 10:45:32
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:
  [
    {
      "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"
    },
    {
      "name": "About Me",
      "value": "about",
      "action": "Generate about me",
      "description": "Generate about me"
    },
    {
      "name": "Spin",
      "value": "spin",
      "action": "Spin text",
      "description": "Spin/Rewrite text"
    }
  ]

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":"The SEO Content Machine node allows users to integrate SEO Content Machine's AI content generation and scraping capabilities into n8n workflows, enabling automated content creation and data extraction.","capabilities":["AI content generation","Web scraping","Integration with SEO Content Machine desktop application"],"authentication":"API URL and port from the SEO Content Machine desktop app","commonUseCases":["Generating SEO-optimized content for blogs or websites","Automating content creation from keywords or topics","Extracting data from websites for content analysis"],"limitations":[],"relatedNodes":["Web Scraper","AI Content Generation","Data Extraction"]}


node_type: n8n-nodes-visualping.visualpingTrigger
package_name: n8n-nodes-visualping
display_name: Visualping Trigger
description: Triggers workflow on Visualping job events
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: ccomparon
author_github_url: https://github.com/webmonitoring/
npm_package_name: n8n-nodes-visualping
npm_version: 1.0.2
community_fetched_at: 2026-01-07T20:08:15.969Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # n8n-nodes-visualping

  This is an n8n community node that integrates [Visualping](https://visualping.io) with your n8n workflows, allowing you to trigger workflows when website changes are detected.

  [Visualping](https://visualping.io) is a web monitoring service that tracks changes on websites and sends notifications, while [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform that allows you to connect various services.

  ## Table of contents

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

  ## Installation

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

  ## Operations

  This node provides a trigger operation for Visualping.

  ### Triggers
  - **Visualping Trigger**: Automatically starts an n8n workflow when a Visualping job detects changes on a monitored website
    - Configure webhook notifications for specific Visualping jobs
    - Receive change detection events in real-time
    - Supports job selection from list or by ID

  ## Credentials

  To use this node, you need to authenticate with your Visualping account:

  1. **Email and Password Authentication**
     - Configure your Visualping account credentials in the n8n credentials section under `Visualping Credentials API`
     - Provide your Visualping account email and password

  ## Compatibility

  This node has been tested with n8n version 1.57.0 and requires Node.js version 20.15 or higher.

  ## Usage

  1. **Create a Visualping Job**: Set up a new monitoring job on [Visualping](https://visualping.io) to track changes on your target website.
  2. **Set up a workflow**: Create a new workflow in n8n.
  3. **Add the Visualping Trigger node**: Insert the Visualping Trigger node into your workflow.
  4. **Configure credentials**: Enter your Visualping account email and password.
  5. **Select a job**: Choose the Visualping job you want to monitor for changes.
  6. **Configure the trigger**: The node will automatically set up webhook notifications for the selected job.
  7. **Execute the workflow**: The workflow will trigger whenever Visualping detects changes on the monitored website.

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Visualping API Documentation](https://api.visualping.io/doc.html)
  - [Visualping Authentication Guide](https://api.visualping.io/doc.html#section/Authentication)

  ## Version history

  Track changes and updates to the node here.

  ## Troubleshooting

  ### Common issues

  1. **Authentication errors**
     - Verify your Visualping email and password are correct
     - Ensure your Visualping account is active

  2. **Job not found**
     - Verify the job ID format (should be numeric)
     - Check if the job exists in your Visualping account
     - Ensure you have access to the job

  3. **Webhook configuration issues**
     - Check that your n8n instance is accessible from the internet
     - Verify the webhook URL is correctly configured
     - Review Visualping job settings for webhook notifications

  ### Getting help

  If you encounter issues:
  1. Check the [Visualping API documentation](https://api.visualping.io/doc.html)
  2. Review the [n8n Community Nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  3. Open an issue in the [GitHub repository](https://github.com/webmonitoring/n8n-nodes-visualping)

ai_documentation_summary:
  {"purpose":"Triggers an n8n workflow when a website change is detected by Visualping, enabling real-time response to website modifications.","capabilities":["Detects changes on monitored websites via Visualping","Supports triggering workflows based on specific Visualping job events","Allows selection of jobs by ID or from a list","Configures webhook notifications for real-time event delivery"],"authentication":"Email and password authentication required via Visualping Credentials API","commonUseCases":["Monitoring website content changes for SEO or compliance","Automating alerts or notifications when a website updates","Integrating website change detection with downstream services (e.g., email, Slack, CRM)"],"limitations":["Requires a valid Visualping account with active monitoring jobs","Job ID must be numeric and accessible to the user","Webhook setup depends on n8n instance accessibility and Visualping configuration"],"relatedNodes":["Webhook nodes","Notification nodes","Monitoring or data collection nodes"]}


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-01-07 20:08:15
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-01-07T20:08:15.970Z
ai_summary_generated_at: 2026-01-08 10:45:32
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 enables users to integrate ScrapeOps' web scraping tools—such as proxy rotation, HTML parsing, and structured data extraction—directly into n8n workflows, allowing for automated scraping of dynamic websites with built-in support for anti-bot measures and geo-targeting.","capabilities":["Access ScrapeOps Proxy API for smart proxy rotation with support for residential, mobile, and geo-targeted proxies","Use Parser API to extract structured data from popular sites like Amazon, eBay, Walmart, Indeed, and Redfin","Leverage Data API to retrieve product data from Amazon (by ASIN or URL) and search results without scraping HTML","Support for JavaScript rendering and anti-bot bypass (e.g., Cloudflare, DataDome)","Session management for multi-step scraping processes"],"authentication":"API key required; obtain it by signing up for a free account at scrapeops.io and verifying email address","commonUseCases":["Automated product data collection from e-commerce sites","Scraping dynamic or JavaScript-rendered web pages","Extracting structured data from search results or product listings","Performing geo-targeted web scraping with residential proxies","Bypassing anti-bot protections on popular websites"],"limitations":[],"relatedNodes":["Web Scraper","HTTP Request","Parse JSON","Set Variables"]}


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-01-07 20:08:15
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-01-07T20:08:15.971Z
ai_summary_generated_at: 2026-01-08 10:45:32
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":"The SmartSearch node performs web searches using the Cloudsway SmartSearch API, returning search results in JSON format with configurable options such as query, result count, language, freshness, and site restrictions.","capabilities":["Perform web searches with customizable query parameters","Control result count (up to 50 results)","Support pagination via offset","Filter results by language (e.g., en-US)","Filter results by freshness (Day, Week, Month)","Restrict results to specific websites (e.g., github.com)"],"authentication":"API key required; users must obtain an Endpoint and API Key from www.cloudsway.ai or via contact with info@cloudsway.com, then configure them in the node's credentials section","commonUseCases":["Searching for information on specific topics with language and freshness filters","Paginating search results to retrieve multiple pages of data","Focusing searches on specific domains or websites","Automating research workflows with structured search outputs"],"limitations":[],"relatedNodes":["Web Search","HTTP Request","Filter","Set","Function"]}


node_type: @geocapture/n8n-nodes-geocapture.geocapture
package_name: @geocapture/n8n-nodes-geocapture
display_name: geoCapture
description: Consume geoCapture API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: geocapture
author_github_url: https://github.com/geocapture/n8n-nodes-geocapture.git
npm_package_name: @geocapture/n8n-nodes-geocapture
npm_version: 0.1.5
community_fetched_at: 2026-01-07T20:08:15.971Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "project",
      "options": [
        {
          "name": "Project",
          "value": "project"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new project",
          "description": "Create a new project"
        },
        {
          "name": "Create or Update",
          "value": "upsert",
          "action": "Create or update a project",
          "description": "Create a new project, or update the current one if it already exists (upsert)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new project",
      "description": "Create a new project"
    },
    {
      "name": "Create or Update",
      "value": "upsert",
      "action": "Create or update a project",
      "description": "Create a new project, or update the current one if it already exists (upsert)"
    }
  ]

npm_readme:
  # @geocapture/n8n-nodes-geocapture

  This node lets you use the geoCapture API in your n8n workflows.

  ## Installation

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

  ## Operations

  - Projects
    - Create a new project
    - Create or Update a project
    - Watch for Project Events (Create, Update, Delete)

  ## Credentials

  You can use the geoCapture API Token to use this node.

  1. Go to the [API Settings](https://app.geocapture.net/apis) to create a new API Token.
  2. Add a Service to the API Token.
  3. Search for the "n8n" Service and click "Add"
  4. Save the API Token.
  5. Copy the API Token.

  ## Compatibility

  Compatible with n8n@1.60.0 or later

ai_documentation_summary:
  {"purpose":"The geoCapture node allows users to interact with the geoCapture API within n8n workflows, enabling operations such as managing projects and monitoring project events.","capabilities":["Create a new project","Create or update a project","Watch for project events (Create, Update, Delete)"],"authentication":"API key required (API Token from geoCapture)","commonUseCases":["Managing project creation and updates in geoCapture","Setting up real-time event monitoring for project changes"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-fillout.filloutTrigger
package_name: n8n-nodes-fillout
display_name: Fillout Trigger
description: Handle Fillout submissions via webhooks
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: xkcdstickfigure
author_github_url: https://github.com/fillout/
npm_package_name: n8n-nodes-fillout
npm_version: 1.1.4
community_fetched_at: 2026-01-07T20:08:15.972Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # n8n trigger for Fillout submissions

  This is an n8n community node that lets you trigger n8n workflows when your Fillout form receives a new submission.

  ## Installation

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

  ## Usage

  Add the trigger in n8n, and when creating a credential, you'll need to get an API key from your [account settings](https://build.fillout.com/home/settings/developer) in Fillout. Make sure that the correct base URL is set, as you can have submissions hosted in different regions with [Fillout Enterprise](https://www.fillout.com/enterprise).

  ## Developers

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

ai_documentation_summary:
  {"purpose":"The Fillout Trigger node activates n8n workflows when a new submission is received from a Fillout form via webhook.","capabilities":["Detects new form submissions from Fillout","Triggers n8n workflows on form submission","Supports webhook-based event handling"],"authentication":"API key required, obtained from Fillout account settings under Developer section","commonUseCases":["Automating responses to form submissions","Syncing form data to CRM or databases","Notifying teams when a form is completed"],"limitations":[],"relatedNodes":["Fillout Action","Webhook Trigger","HTTP Request"]}


node_type: n8n-nodes-winston-ai.winstonAi
package_name: n8n-nodes-winston-ai
display_name: Winston AI
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: winston-ai
author_github_url: https://github.com/gowinston-ai/winston-ai-n8n.git
npm_package_name: n8n-nodes-winston-ai
npm_version: 1.0.6
community_fetched_at: 2026-01-07T20:08:15.974Z
ai_summary_generated_at: 2026-01-08 10:45:32
description:
  AI detector with industry leading accuracy rates in detecting use of AI in text and images. The Winston AI tools also offers a robust plagiarism checker to help maintain integrity.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "aiTextDetection",
      "options": [
        {
          "name": "AI Text Detection",
          "value": "aiTextDetection"
        },
        {
          "name": "AI Image Detection",
          "value": "aiImageDetection"
        },
        {
          "name": "Plagiarism",
          "value": "plagiarism"
        },
        {
          "name": "Text Compare",
          "value": "textCompare"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scan-ai-text",
      "options": [
        {
          "name": "Scan AI Generated Text",
          "value": "scan-ai-text",
          "action": "Scan AI generated text",
          "routing": {
            "request": {
              "url": "/v2/ai-content-detection",
              "method": "POST"
            }
          },
          "description": "Analyze text to detect AI-generated content. The Human Score we give is a metric used by Winston AI to estimate the likelihood that a given piece of content was generated by an AI tool versus being written by a human."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "aiTextDetection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scan-ai-image",
      "options": [
        {
          "name": "Scan AI Generated Image",
          "value": "scan-ai-image",
          "action": "Scan AI generated image",
          "routing": {
            "request": {
              "url": "/v2/image-detection",
              "method": "POST"
            }
          },
          "description": "Our image detection feature enables AI-generated image detection by verifying image metadata and using a machine learning system trained to differentiate between human and AI-generated images"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "aiImageDetection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scan-plagiarism",
      "options": [
        {
          "name": "Scan for Plagiarism",
          "value": "scan-plagiarism",
          "action": "Scan for plagiarism",
          "routing": {
            "request": {
              "url": "/v2/plagiarism",
              "method": "POST"
            }
          },
          "description": "Winston AI’s plagiarism API is a powerful tool designed to check text for plagiarism by scouring the internet for similar content. It queries multiple websites and compares the input text with the content found on these websites. This can be particularly useful in academic settings, content creation, legal scenarios or any other situation where originality of content is required."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "plagiarism"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "compare-texts",
      "options": [
        {
          "name": "Compare Texts",
          "value": "compare-texts",
          "action": "Compare texts",
          "routing": {
            "request": {
              "url": "/v2/text-compare",
              "method": "POST"
            }
          },
          "description": "Compare two texts to find similarities and differences between them. This endpoint analyzes both texts and returns detailed information about matching content, word counts, and similarity scores."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "textCompare"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Scan AI Generated Text",
      "value": "scan-ai-text",
      "action": "Scan AI generated text",
      "routing": {
        "request": {
          "url": "/v2/ai-content-detection",
          "method": "POST"
        }
      },
      "description": "Analyze text to detect AI-generated content. The Human Score we give is a metric used by Winston AI to estimate the likelihood that a given piece of content was generated by an AI tool versus being written by a human."
    },
    {
      "name": "Scan AI Generated Image",
      "value": "scan-ai-image",
      "action": "Scan AI generated image",
      "routing": {
        "request": {
          "url": "/v2/image-detection",
          "method": "POST"
        }
      },
      "description": "Our image detection feature enables AI-generated image detection by verifying image metadata and using a machine learning system trained to differentiate between human and AI-generated images"
    },
    {
      "name": "Scan for Plagiarism",
      "value": "scan-plagiarism",
      "action": "Scan for plagiarism",
      "routing": {
        "request": {
          "url": "/v2/plagiarism",
          "method": "POST"
        }
      },
      "description": "Winston AI’s plagiarism API is a powerful tool designed to check text for plagiarism by scouring the internet for similar content. It queries multiple websites and compares the input text with the content found on these websites. This can be particularly useful in academic settings, content creation, legal scenarios or any other situation where originality of content is required."
    },
    {
      "name": "Compare Texts",
      "value": "compare-texts",
      "action": "Compare texts",
      "routing": {
        "request": {
          "url": "/v2/text-compare",
          "method": "POST"
        }
      },
      "description": "Compare two texts to find similarities and differences between them. This endpoint analyzes both texts and returns detailed information about matching content, word counts, and similarity scores."
    }
  ]

npm_readme:
  # n8n-nodes-winston-ai ⚡️

  [![CI](https://github.com/gowinston-ai/winston-ai-n8n/actions/workflows/CI.yml/badge.svg)](https://github.com/gowinston-ai/winston-ai-n8n/actions/workflows/CI.yml)
  ![TypeScript](https://img.shields.io/badge/code-TypeScript-blue?logo=typescript)

  This is an n8n community node that lets you access all Winston AI analysis endpoints in your n8n workflows.

  [Winston AI](https://gowinston.ai/) provides industry-leading tools to:

  * Detect whether a text was generated by AI or written by a human
  * Detect AI-generated images
  * Scan content for plagiarism on the public web
  * Compare two texts for similarity

  [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 n8n [community-nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/)


  ## Operations 🕹️

  | Resource           | Operation (value)      | Description |
  |--------------------|------------------------|-------------|
  | AI Text Detection  | Scan AI generated text (`scan-ai-text`) | Analyse a text and return Winston AI’s *Human Score* plus optional sentence-level scores. |
  | AI Image Detection | Scan AI generated image (`scan-ai-image`) | Determine the likelihood that an image was generated by AI, plus metadata such as EXIF, MIME type and watermark detection. |
  | Plagiarism         | Scan for plagiarism (`scan-plagiarism`) | Check text for plagiarism by searching the web for matching content. Optional language / country filtering and source exclusion supported. |
  | Text Compare       | Compare texts (`compare-texts`) | Compare two texts and return a similarity score and detailed match information. |

  ## Credentials 🔐

  The node requires a Winston AI API key.

  1. Sign in to the [Winston AI dashboard](https://dev.gowinston.ai/) and generate an API key.
  2. In n8n, create new **Winston AI API** credentials:
     * Field **API Key** → paste your key.
  3. Use these credentials in any Winston AI node. The key will be sent in the `Authorization` header as `Bearer <token>`.

  ## Compatibility

  * Minimum n8n version: **1.0.0** (tested on 1.24)
  * Requires Node.js **≥ 20.15**

  ## Usage 📊

  1. Add the **Winston AI** node to your workflow.
  2. Choose a *Resource* and *Operation*.
  3. Configure the mandatory fields (e.g. *Text*, *Image URL*, *First Text*, *Second Text*).
  4. Execute the node. The JSON response from the Winston AI API is returned in the output data.

  Example: Detect AI-generated text
  ```text
  Resource: AI Text Detection
  Operation: Scan AI generated text
  Text: "This paragraph was written by ChatGPT…"
  → Returns score, sentence-level analysis, attack detection flags, credits info, etc.
  ```

  ## Resources

  * Winston AI API Docs: 
    * [AI text detection](https://docs.gowinston.ai/api-reference/v2/ai-content-detection/post)
    * [AI image detection](https://docs.gowinston.ai/api-reference/v2/image-detection/post)
    * [Plagiarism](https://docs.gowinston.ai/api-reference/v2/plagiarism/post)
    * [Text compare](https://docs.gowinston.ai/api-reference/v2/text-compare/post)
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

  ## Version history

  | Version | Date       | Notes |
  |---------|------------|-------|
  | 1.0.0   | 2025-07-25 | Initial release with text detection, image detection, plagiarism scan and text compare. |

ai_documentation_summary:
  {"purpose":"The Winston AI node enables n8n users to detect AI-generated text and images, check for plagiarism in text content, and compare two texts for similarity using Winston AI's API services.","capabilities":["Detect AI-generated text with human score and sentence-level analysis","Detect AI-generated images with metadata and watermark detection","Scan text for plagiarism by searching public web content","Compare two texts to return a similarity score and detailed match information"],"authentication":"API key required; the key is provided in the Winston AI dashboard and sent in the Authorization header as 'Bearer <token>'","commonUseCases":["Identifying whether content was generated by AI in customer support or marketing materials","Ensuring academic or professional content integrity through plagiarism detection","Verifying image authenticity in digital media or product catalogs","Comparing drafts or versions of documents to detect changes or similarities"],"limitations":[],"relatedNodes":["Text analysis nodes","Content verification nodes","Plagiarism detection nodes","Image analysis nodes"]}


node_type: @cometapi-dev/n8n-nodes-cometapi.cometApi
package_name: @cometapi-dev/n8n-nodes-cometapi
display_name: CometAPI
description: Interact with CometAPI large language models
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: tensornull
author_github_url: https://github.com/cometapi-dev/n8n-nodes-cometapi.git
npm_package_name: @cometapi-dev/n8n-nodes-cometapi
npm_version: 0.1.5
community_fetched_at: 2026-01-07T20:08:15.974Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # n8n-nodes-cometapi

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

  CometAPI is a powerful AI language model service that provides OpenAI-compatible API endpoints for various large language models, enabling developers to integrate advanced AI capabilities into their applications.

  [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

  The CometAPI node supports chat completions using various AI language models:

  ### Chat Completions
  - **Model Selection**: Choose from available models (default: gpt-4o-mini)
  - **Message Management**: Support for multi-turn conversations with user, assistant, and system roles
  - **Advanced Parameters**:
    - **Temperature**: Control randomness (0-2, default: 0.7)
    - **Max Tokens**: Set maximum response length (up to 32,768 tokens)
    - **Top P**: Control diversity via nucleus sampling (0-1, default: 1)
    - **Frequency Penalty**: Reduce repetition (-2 to 2, default: 0)
    - **Presence Penalty**: Encourage new topics (-2 to 2, default: 0)
    - **Stream**: Enable streaming responses (default: false)

  ## Credentials

  To use this node, you need to authenticate with CometAPI:

  1. Sign up for a CometAPI account at [CometAPI Console](https://api.cometapi.com/console/token)
  2. Generate an API key from your console dashboard
  3. In n8n, create new CometAPI credentials and enter your API key

  ### Authentication Method
  - **API Key**: Bearer token authentication using your CometAPI key

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Node.js version**: 20.15 or higher
  - **Tested with**: Latest stable versions of n8n

  This node is compatible with all n8n deployment methods including:
  - Self-hosted n8n instances
  - n8n Cloud
  - Docker deployments

  ## Usage

  ### Basic Chat Completion

  1. Add the CometAPI node to your workflow
  2. Configure your CometAPI credentials
  3. Set up your messages:
     - **System message**: Define the AI's behavior (optional)
     - **User message**: Your prompt or question
  4. Choose your preferred model (e.g., gpt-4o-mini)
  5. Execute the workflow

  ### Example Use Cases

  - **Content Generation**: Create articles, summaries, or creative content
  - **Data Analysis**: Analyze and interpret data with AI assistance
  - **Customer Support**: Build intelligent chatbots and support systems
  - **Code Review**: Get AI feedback on code quality and suggestions
  - **Translation**: Translate text between different languages

  ### Advanced Configuration

  For more control over the AI responses, you can adjust:
  - **Temperature**: Lower values (0.1-0.3) for more focused responses, higher values (0.7-1.0) for more creative outputs
  - **Max Tokens**: Limit response length to control costs and response time
  - **Frequency/Presence Penalty**: Fine-tune repetition and topic diversity

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [CometAPI Documentation](https://api.cometapi.com/doc)
  * [CometAPI Console](https://api.cometapi.com/console/token)

  ## License

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

ai_documentation_summary:
  {"purpose":"The CometAPI node enables integration with CometAPI's large language models in n8n workflows, allowing users to generate text, analyze data, and build AI-powered applications through OpenAI-compatible chat completions.","capabilities":["Chat completions with support for multi-turn conversations","Model selection from available LLMs (default: gpt-4o-mini)","Customization of response behavior via temperature, max tokens, top p, frequency penalty, and presence penalty","Streaming responses (streaming enabled by default)","Support for system, user, and assistant message roles"],"authentication":"API key authentication via Bearer token using a key generated from the CometAPI Console","commonUseCases":["Content generation (e.g., articles, summaries)","Data analysis and interpretation","Customer support chatbots","Code review and feedback","Text translation"],"limitations":[],"relatedNodes":["OpenAI","LLM-based nodes","AI content generation nodes"]}


node_type: n8n-nodes-aimfox.aimfox
package_name: n8n-nodes-aimfox
display_name: Aimfox
description: Interact with Aimfox application
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: mihailozepina
author_github_url: https://github.com/mihailozepina/
npm_package_name: n8n-nodes-aimfox
npm_version: 1.0.9
community_fetched_at: 2026-01-07T20:08:15.975Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "account",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Blacklist",
          "value": "blacklist"
        },
        {
          "name": "Campaign",
          "value": "campaign"
        },
        {
          "name": "Conversation",
          "value": "conversation"
        },
        {
          "name": "Label",
          "value": "label"
        },
        {
          "name": "Lead",
          "value": "lead"
        },
        {
          "name": "Template",
          "value": "template"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listAccounts",
      "options": [
        {
          "name": "List Accounts",
          "value": "listAccounts",
          "action": "List accounts",
          "routing": {
            "request": {
              "url": "/accounts",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all accounts in the workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listBlacklist",
      "options": [
        {
          "name": "List Blacklisted Accounts",
          "value": "listBlacklist",
          "action": "List blacklist",
          "routing": {
            "request": {
              "url": "/blacklist",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all blacklisted accounts in the workspace"
        },
        {
          "name": "Add Profile to Blacklist",
          "value": "addProfileToBlacklist",
          "action": "Add profile to blacklist",
          "routing": {
            "request": {
              "url": "=/blacklist/{{$parameter[\"profileUrn\"]}}",
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add profile to the blacklist using the profile URN"
        },
        {
          "name": "Remove Profile From Blacklist",
          "value": "removeProfileFromBlacklist",
          "action": "Remove profile from blacklist",
          "routing": {
            "request": {
              "url": "=/blacklist/{{$parameter[\"profileUrn\"]}}",
              "method": "DELETE",
              "headers": {}
            }
          },
          "description": "Remove profile from the blacklist using the profile URN"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "blacklist"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listConversations",
      "options": [
        {
          "name": "Get Conversation",
          "value": "getConversation",
          "action": "Get conversation",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations/{{$parameter[\"conversationUrn\"]}}",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get a specific conversation by URN"
        },
        {
          "name": "Get Lead Conversation",
          "value": "getLeadConversation",
          "action": "Get lead conversation",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/leads/{{$parameter[\"leadId\"]}}/conversation",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get a specific lead conversation URN"
        },
        {
          "name": "List Conversations",
          "value": "listConversations",
          "action": "List conversations",
          "routing": {
            "request": {
              "url": "/conversations",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all conversations for the selected workspace"
        },
        {
          "name": "Mark Conversation As Read",
          "value": "markConversationAsRead",
          "action": "Mark conversation as read",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations/{{$parameter[\"conversationUrn\"]}}/mark-as-read",
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Mark an existing conversation as read"
        },
        {
          "name": "Send Message To Conversation",
          "value": "sendMessageToConversation",
          "action": "Send message to conversation",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations/{{$parameter[\"conversationUrn\"]}}",
              "body": {
                "message": "={{$parameter[\"conversationMessage\"]}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Send a message to an existing conversation"
        },
        {
          "name": "Start Conversation",
          "value": "startConversation",
          "action": "Start conversation",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations",
              "body": {
                "message": "={{$parameter[\"conversationMessage\"]}}",
                "recipients": [
                  "={{$parameter[\"leadId\"]}}"
                ]
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Start a new conversation with the lead"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "conversation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listCampaigns",
      "options": [
        {
          "name": "Add Profile to Campaign",
          "value": "addProfileToCampaign",
          "action": "Add profile to campaign",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/audience",
              "body": {
                "profile_url": "={{$parameter[\"profileUrl\"]}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add profile to the selected campaign"
        },
        {
          "name": "Add Profile to Campaign with Custom Variables",
          "value": "addProfileToCampaignWithCustomVariables",
          "action": "Add profile to campaign with custom variables",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/audience/multiple",
              "body": {
                "type": "profile_url",
                "profiles": [
                  {
                    "profile_url": "={{$parameter[\"profileUrl\"]}}",
                    "custom_variables": "={{JSON.parse($parameter[\"customVariables\"])}}"
                  }
                ]
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add profile to the selected campaign with custom variables"
        },
        {
          "name": "Get Campaign",
          "value": "getCampaign",
          "action": "Get a campaign",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get a specific campaign by ID"
        },
        {
          "name": "List Campaigns",
          "value": "listCampaigns",
          "action": "List campaigns",
          "routing": {
            "request": {
              "url": "/campaigns",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all campaigns in the workspace"
        },
        {
          "name": "Pause",
          "value": "pauseCampaign",
          "action": "Pause a campaign",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}",
              "body": {
                "state": "PAUSED"
              },
              "method": "PATCH",
              "headers": {}
            }
          },
          "description": "Pause a running campaign"
        },
        {
          "name": "Resume",
          "value": "resumeCampaign",
          "action": "Resume a campaign",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}",
              "body": {
                "state": "ACTIVE"
              },
              "method": "PATCH",
              "headers": {}
            }
          },
          "description": "Resume a paused campaign"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "campaign"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listLabels",
      "options": [
        {
          "name": "List Labels",
          "value": "listLabels",
          "action": "List labels",
          "routing": {
            "request": {
              "url": "/labels",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all labels for the selected workspace"
        },
        {
          "name": "Add Label",
          "value": "addLabel",
          "action": "Add label",
          "routing": {
            "request": {
              "url": "/labels",
              "body": {
                "name": "={{$parameter[\"labelName\"]}}",
                "color": "={{$parameter[\"labelColor\"]}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add a new label to the selected workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "label"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listRecentLeads",
      "options": [
        {
          "name": "Add Label To Lead",
          "value": "addLabelToLead",
          "action": "Add label to lead",
          "routing": {
            "request": {
              "url": "=/leads/{{$parameter[\"leadId\"]}}/labels/{{$parameter[\"labelId\"]}}",
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add a new label to the selected lead"
        },
        {
          "name": "Add Note To Lead",
          "value": "addNoteToLead",
          "action": "Add note to lead",
          "routing": {
            "request": {
              "url": "=/leads/{{$parameter[\"leadId\"]}}/notes",
              "body": {
                "text": "={{$parameter[\"noteText\"]}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add a new note to the selected lead"
        },
        {
          "name": "Get Lead",
          "value": "getLead",
          "action": "Get lead",
          "routing": {
            "request": {
              "url": "=/leads/{{$parameter[\"leadId\"]}}",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get a specific lead by ID"
        },
        {
          "name": "List Recent Leads",
          "value": "listRecentLeads",
          "action": "List recent leads",
          "routing": {
            "request": {
              "url": "/analytics/recent-leads",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List recent leads for the selected workspace"
        },
        {
          "name": "Remove Label From Lead",
          "value": "removeLabelFromLead",
          "action": "Remove label from lead",
          "routing": {
            "request": {
              "url": "=/leads/{{$parameter[\"leadId\"]}}/labels/{{$parameter[\"labelId\"]}}",
              "method": "DELETE",
              "headers": {}
            }
          },
          "description": "Remove a label from the selected lead"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "lead"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listTemplates",
      "options": [
        {
          "name": "List Templates",
          "value": "listTemplates",
          "action": "List templates",
          "routing": {
            "request": {
              "url": "/templates",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all templates in the selected workspace"
        },
        {
          "name": "Get Template",
          "value": "getTemplate",
          "action": "Get template",
          "routing": {
            "request": {
              "url": "=/templates/{{$parameter[\"templateId\"]}}",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get a specific template by ID"
        },
        {
          "name": "Create Template",
          "value": "createTemplate",
          "action": "Create template",
          "routing": {
            "request": {
              "url": "/templates",
              "body": {
                "ai": "={{$parameter[\"templateAi\"]}}",
                "name": "={{$parameter[\"templateName\"]}}",
                "type": "={{$parameter[\"templateType\"]}}",
                "message": "={{$parameter[\"templateMessage\"]}}",
                "subject": "={{$parameter[\"templateSubject\"]}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Create a new template in the selected workspace"
        },
        {
          "name": "Remove Template",
          "value": "removeTemplate",
          "action": "Remove template",
          "routing": {
            "request": {
              "url": "=/templates/{{$parameter[\"templateId\"]}}",
              "method": "DELETE",
              "headers": {}
            }
          },
          "description": "Remove a template from the workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "template"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "List Accounts",
      "value": "listAccounts",
      "action": "List accounts",
      "routing": {
        "request": {
          "url": "/accounts",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "List all accounts in the workspace"
    },
    {
      "name": "List Blacklisted Accounts",
      "value": "listBlacklist",
      "action": "List blacklist",
      "routing": {
        "request": {
          "url": "/blacklist",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "List all blacklisted accounts in the workspace"
    },
    {
      "name": "Add Profile to Blacklist",
      "value": "addProfileToBlacklist",
      "action": "Add profile to blacklist",
      "routing": {
        "request": {
          "url": "=/blacklist/{{$parameter[\"profileUrn\"]}}",
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Add profile to the blacklist using the profile URN"
    },
    {
      "name": "Remove Profile From Blacklist",
      "value": "removeProfileFromBlacklist",
      "action": "Remove profile from blacklist",
      "routing": {
        "request": {
          "url": "=/blacklist/{{$parameter[\"profileUrn\"]}}",
          "method": "DELETE",
          "headers": {}
        }
      },
      "description": "Remove profile from the blacklist using the profile URN"
    },
    {
      "name": "Get Conversation",
      "value": "getConversation",
      "action": "Get conversation",
      "routing": {
        "request": {
          "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations/{{$parameter[\"conversationUrn\"]}}",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "Get a specific conversation by URN"
    },
    {
      "name": "Get Lead Conversation",
      "value": "getLeadConversation",
      "action": "Get lead conversation",
      "routing": {
        "request": {
          "url": "=/accounts/{{$parameter[\"accountId\"]}}/leads/{{$parameter[\"leadId\"]}}/conversation",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "Get a specific lead conversation URN"
    },
    {
      "name": "List Conversations",
      "value": "listConversations",
      "action": "List conversations",
      "routing": {
        "request": {
          "url": "/conversations",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "List all conversations for the selected workspace"
    },
    {
      "name": "Mark Conversation As Read",
      "value": "markConversationAsRead",
      "action": "Mark conversation as read",
      "routing": {
        "request": {
          "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations/{{$parameter[\"conversationUrn\"]}}/mark-as-read",
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Mark an existing conversation as read"
    },
    {
      "name": "Send Message To Conversation",
      "value": "sendMessageToConversation",
      "action": "Send message to conversation",
      "routing": {
        "request": {
          "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations/{{$parameter[\"conversationUrn\"]}}",
          "body": {
            "message": "={{$parameter[\"conversationMessage\"]}}"
          },
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Send a message to an existing conversation"
    },
    {
      "name": "Start Conversation",
      "value": "startConversation",
      "action": "Start conversation",
      "routing": {
        "request": {
          "url": "=/accounts/{{$parameter[\"accountId\"]}}/conversations",
          "body": {
            "message": "={{$parameter[\"conversationMessage\"]}}",
            "recipients": [
              "={{$parameter[\"leadId\"]}}"
            ]
          },
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Start a new conversation with the lead"
    },
    {
      "name": "Add Profile to Campaign",
      "value": "addProfileToCampaign",
      "action": "Add profile to campaign",
      "routing": {
        "request": {
          "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/audience",
          "body": {
            "profile_url": "={{$parameter[\"profileUrl\"]}}"
          },
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Add profile to the selected campaign"
    },
    {
      "name": "Add Profile to Campaign with Custom Variables",
      "value": "addProfileToCampaignWithCustomVariables",
      "action": "Add profile to campaign with custom variables",
      "routing": {
        "request": {
          "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/audience/multiple",
          "body": {
            "type": "profile_url",
            "profiles": [
              {
                "profile_url": "={{$parameter[\"profileUrl\"]}}",
                "custom_variables": "={{JSON.parse($parameter[\"customVariables\"])}}"
              }
            ]
          },
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Add profile to the selected campaign with custom variables"
    },
    {
      "name": "Get Campaign",
      "value": "getCampaign",
      "action": "Get a campaign",
      "routing": {
        "request": {
          "url": "=/campaigns/{{$parameter[\"campaignId\"]}}",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "Get a specific campaign by ID"
    },
    {
      "name": "List Campaigns",
      "value": "listCampaigns",
      "action": "List campaigns",
      "routing": {
        "request": {
          "url": "/campaigns",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "List all campaigns in the workspace"
    },
    {
      "name": "Pause",
      "value": "pauseCampaign",
      "action": "Pause a campaign",
      "routing": {
        "request": {
          "url": "=/campaigns/{{$parameter[\"campaignId\"]}}",
          "body": {
            "state": "PAUSED"
          },
          "method": "PATCH",
          "headers": {}
        }
      },
      "description": "Pause a running campaign"
    },
    {
      "name": "Resume",
      "value": "resumeCampaign",
      "action": "Resume a campaign",
      "routing": {
        "request": {
          "url": "=/campaigns/{{$parameter[\"campaignId\"]}}",
          "body": {
            "state": "ACTIVE"
          },
          "method": "PATCH",
          "headers": {}
        }
      },
      "description": "Resume a paused campaign"
    },
    {
      "name": "List Labels",
      "value": "listLabels",
      "action": "List labels",
      "routing": {
        "request": {
          "url": "/labels",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "List all labels for the selected workspace"
    },
    {
      "name": "Add Label",
      "value": "addLabel",
      "action": "Add label",
      "routing": {
        "request": {
          "url": "/labels",
          "body": {
            "name": "={{$parameter[\"labelName\"]}}",
            "color": "={{$parameter[\"labelColor\"]}}"
          },
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Add a new label to the selected workspace"
    },
    {
      "name": "Add Label To Lead",
      "value": "addLabelToLead",
      "action": "Add label to lead",
      "routing": {
        "request": {
          "url": "=/leads/{{$parameter[\"leadId\"]}}/labels/{{$parameter[\"labelId\"]}}",
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Add a new label to the selected lead"
    },
    {
      "name": "Add Note To Lead",
      "value": "addNoteToLead",
      "action": "Add note to lead",
      "routing": {
        "request": {
          "url": "=/leads/{{$parameter[\"leadId\"]}}/notes",
          "body": {
            "text": "={{$parameter[\"noteText\"]}}"
          },
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Add a new note to the selected lead"
    },
    {
      "name": "Get Lead",
      "value": "getLead",
      "action": "Get lead",
      "routing": {
        "request": {
          "url": "=/leads/{{$parameter[\"leadId\"]}}",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "Get a specific lead by ID"
    },
    {
      "name": "List Recent Leads",
      "value": "listRecentLeads",
      "action": "List recent leads",
      "routing": {
        "request": {
          "url": "/analytics/recent-leads",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "List recent leads for the selected workspace"
    },
    {
      "name": "Remove Label From Lead",
      "value": "removeLabelFromLead",
      "action": "Remove label from lead",
      "routing": {
        "request": {
          "url": "=/leads/{{$parameter[\"leadId\"]}}/labels/{{$parameter[\"labelId\"]}}",
          "method": "DELETE",
          "headers": {}
        }
      },
      "description": "Remove a label from the selected lead"
    },
    {
      "name": "List Templates",
      "value": "listTemplates",
      "action": "List templates",
      "routing": {
        "request": {
          "url": "/templates",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "List all templates in the selected workspace"
    },
    {
      "name": "Get Template",
      "value": "getTemplate",
      "action": "Get template",
      "routing": {
        "request": {
          "url": "=/templates/{{$parameter[\"templateId\"]}}",
          "method": "GET",
          "headers": {}
        }
      },
      "description": "Get a specific template by ID"
    },
    {
      "name": "Create Template",
      "value": "createTemplate",
      "action": "Create template",
      "routing": {
        "request": {
          "url": "/templates",
          "body": {
            "ai": "={{$parameter[\"templateAi\"]}}",
            "name": "={{$parameter[\"templateName\"]}}",
            "type": "={{$parameter[\"templateType\"]}}",
            "message": "={{$parameter[\"templateMessage\"]}}",
            "subject": "={{$parameter[\"templateSubject\"]}}"
          },
          "method": "POST",
          "headers": {}
        }
      },
      "description": "Create a new template in the selected workspace"
    },
    {
      "name": "Remove Template",
      "value": "removeTemplate",
      "action": "Remove template",
      "routing": {
        "request": {
          "url": "=/templates/{{$parameter[\"templateId\"]}}",
          "method": "DELETE",
          "headers": {}
        }
      },
      "description": "Remove a template from the workspace"
    }
  ]

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

  # n8n-nodes-aimfox

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

  Aimfox is a LinkedIn automation platform that helps businesses automate their LinkedIn outreach, lead generation, and social selling activities.

  [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 operations:

  ### Account
  - **List Accounts**: List all accounts in the workspace

  ### Blacklist
  - **List Blacklisted Accounts**: List all blacklisted accounts in the workspace
  - **Add Profile to Blacklist**: Add profile to the blacklist using the profile URN
  - **Remove Profile From Blacklist**: Remove profile from the blacklist using the profile URN

  ### Campaign
  - **Add Profile to Campaign**: Add profile to the selected campaign
  - **Add Profile to Campaign with Custom Variables**: Add profile to the selected campaign with custom variables
  - **Get Campaign**: Get a specific campaign by ID
  - **List Campaigns**: List all campaigns in the workspace
  - **Pause**: Pause a running campaign
  - **Resume**: Resume a paused campaign

  ### Conversation
  - **Get Conversation**: Get a specific conversation by URN
  - **Get Lead Conversation**: Get a specific lead conversation URN
  - **List Conversations**: List all conversations for the selected workspace
  - **Mark Conversation As Read**: Mark an existing conversation as read
  - **Send Message To Conversation**: Send a message to an existing conversation
  - **Start Conversation**: Start a new conversation with the lead

  ### Label
  - **List Labels**: List all labels for the selected workspace
  - **Add Label**: Add a new label to the selected workspace

  ### Lead
  - **Add Label To Lead**: Add a new label to the selected lead
  - **Add Note To Lead**: Add a new note to the selected lead
  - **Get Lead**: Get a specific lead by ID
  - **List Recent Leads**: List recent leads for the selected workspace
  - **Remove Label From Lead**: Remove a label from the selected lead

  ### Templates
  - **List Templates**: List all templates in the selected workspace
  - **Get Template**: Get a specific template by ID
  - **Create Template**: Create a new template in the selected workspace
  - **Remove Template**: Remove a template from the selected workspace

  ## Triggers

  This node supports the following triggers:
  - **Account Logged In**: This event triggers when a LinkedIn profile successfully logs into the system.
  - **Account Logged Out**: This event triggers when a LinkedIn profile is logged out of the system.
  - **Connect Accepted**: This event triggers when a LinkedIn connection request is accepted, establishing a new connection between profiles.
  - **Connect Sent**: This event triggers when a LinkedIn connection request is successfully sent.
  - **Inmail Reply**: This event triggers when a user replies to a LinkedIn Inmail message, initiating a conversation.
  - **Inmail**: This event triggers when a LinkedIn Inmail message is successfully sent.
  - **Message Request**: This event triggers when a message request is sent.
  - **Message Sent**: This event triggers when a message is successfully sent to a LinkedIn profile.
  - **New Connection**: This event triggers when a new connection is acquired through Aimfox, indicating the successful addition of a LinkedIn connection.
  - **New Reply**: This event triggers when a user replies to a LinkedIn message, initiating a conversation.
  - **Profile Viewed**: This event triggers when a LinkedIn profile is viewed.

  ## Credentials

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

  ### Prerequisites
  1. Sign up for an Aimfox account at [https://aimfox.com](https://aimfox.com)
  2. Generate an API key from your Aimfox dashboard

  ### Setup
  1. In n8n, go to **Settings** > **Credentials**
  2. Click **Create New Credential**
  3. Search for "Aimfox API" and select it
  4. Enter your Aimfox API key
  5. Click **Save**

  The API key will be used to authenticate all requests to the Aimfox API with Bearer token authentication.

  ## Compatibility

  - Minimum n8n version: 0.198.0
  - Tested with n8n versions: 0.198.0+

  ## Usage

  ### Basic Workflow Example
  1. Start with a **Manual Trigger** or **Schedule Trigger**
  2. Add the **Aimfox** node
  3. Select your workspace first (required for most operations)
  4. Choose your desired operation (Account, Campaign, Profile, or Workspace)
  5. Configure the specific operation parameters

  ## Resources

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

ai_documentation_summary:
  {"purpose":"The Aimfox node enables integration with the Aimfox platform to automate LinkedIn outreach, lead generation, and social selling activities within n8n workflows by supporting operations like managing campaigns, conversations, leads, templates, and blacklists, as well as triggering on key LinkedIn events.","capabilities":["List accounts and blacklisted accounts","Manage campaigns (add profiles, pause/resume, list campaigns)","Manage conversations (start, send messages, mark as read)","Manage labels (list, add, remove from leads)","Manage leads (add/remove labels, add notes, get lead details)","Manage templates (list, create, remove)","Trigger on LinkedIn events (e.g., connection accepted, message sent, profile viewed)"],"authentication":"API key required; authenticated via Bearer token in the headers","commonUseCases":["Automating LinkedIn outreach by sending messages to leads via scheduled workflows","Tracking and responding to Inmail messages and user replies","Managing lead labels and notes for better lead categorization","Monitoring connection events and initiating conversations on new profile views","Automating campaign management (e.g., pausing/resuming based on conditions)"],"limitations":[],"relatedNodes":["Manual Trigger","Schedule Trigger","Workspace Selection Node"]}


node_type: @steuerboard/n8n-nodes-steuerboard.steuerboard
package_name: @steuerboard/n8n-nodes-steuerboard
display_name: Steuerboard
description: Consume the Steuerboard API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: matheins
author_github_url: https://github.com/steuerboard/n8n-nodes-steuerboard.git
npm_package_name: @steuerboard/n8n-nodes-steuerboard
npm_version: 1.8.0
community_fetched_at: 2026-01-07T20:08:15.976Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "client",
      "options": [
        {
          "name": "Admin User",
          "value": "adminUser"
        },
        {
          "name": "Client",
          "value": "client"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Workspace",
          "value": "workspace"
        },
        {
          "name": "Workspace Member",
          "value": "workspaceMember"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List accountant users",
          "routing": {
            "request": {
              "url": "=/admin/users",
              "method": "GET"
            }
          },
          "description": "Returns a paginated list of accountant users"
        },
        {
          "name": "Get by ID",
          "value": "get",
          "action": "Get an accountant user by ID",
          "routing": {
            "request": {
              "url": "=/admin/users/{{$parameter.userId}}",
              "method": "GET"
            }
          },
          "description": "Returns a single accountant user by ID"
        },
        {
          "name": "Invite",
          "value": "create",
          "action": "Invite an accountant user",
          "routing": {
            "request": {
              "url": "=/admin/users",
              "method": "POST"
            }
          },
          "description": "Invites a new accountant user and returns the created record"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an accountant user",
          "routing": {
            "request": {
              "url": "=/admin/users/{{$parameter.userId}}",
              "method": "PATCH"
            }
          },
          "description": "Updates an accountant user by ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an accountant user",
          "routing": {
            "request": {
              "url": "=/admin/users/{{$parameter.userId}}",
              "method": "DELETE"
            }
          },
          "description": "Deletes an accountant user by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "adminUser"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a client",
          "routing": {
            "request": {
              "url": "=/admin/clients",
              "method": "POST"
            }
          },
          "description": "Creates a new client for the accountant"
        },
        {
          "name": "Get by ID",
          "value": "get",
          "action": "Get a client by ID",
          "routing": {
            "request": {
              "url": "=/admin/clients/{{$parameter.clientId}}",
              "method": "GET"
            }
          },
          "description": "Returns a single client object by ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List clients",
          "routing": {
            "request": {
              "url": "=/admin/clients",
              "method": "GET"
            }
          },
          "description": "Returns a list of clients"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a client",
          "routing": {
            "request": {
              "url": "=/admin/clients/{{$parameter.clientId}}",
              "method": "PATCH"
            }
          },
          "description": "Updates a client by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "client"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List users",
          "routing": {
            "request": {
              "url": "=/users",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a paginated list of client users"
        },
        {
          "name": "Get by ID",
          "value": "get",
          "action": "Get a user by ID",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter.userId}}",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a single client user by ID"
        },
        {
          "name": "Invite",
          "value": "create",
          "action": "Invite a user",
          "routing": {
            "request": {
              "url": "=/users",
              "method": "POST",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Invites a new client user and returns the created record"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a user",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter.userId}}",
              "method": "PATCH",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Updates a client user by ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a user",
          "routing": {
            "request": {
              "url": "=/users/{{$parameter.userId}}",
              "method": "DELETE",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Deletes a client user by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List workspaces",
          "routing": {
            "request": {
              "url": "=/workspaces",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a list of workspaces"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a workspace",
          "routing": {
            "request": {
              "url": "=/workspaces",
              "method": "POST",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Creates a new workspace and returns the created workspace"
        },
        {
          "name": "Get by ID",
          "value": "get",
          "action": "Get a workspace by ID",
          "routing": {
            "request": {
              "url": "=/workspaces/{{$parameter.workspaceId}}",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a single workspace object by ID"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a workspace",
          "routing": {
            "request": {
              "url": "=/workspaces/{{$parameter.workspaceId}}",
              "method": "PATCH",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Updates a workspace by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workspace"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List workspace members",
          "routing": {
            "request": {
              "url": "=/workspaces/{{$parameter.workspaceId}}/members",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns workspace members for a workspace"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a workspace member",
          "routing": {
            "request": {
              "url": "=/workspaces/{{$parameter.workspaceId}}/members",
              "method": "POST",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Creates a new workspace member"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Remove a workspace member",
          "routing": {
            "request": {
              "url": "=/workspaces/{{$parameter.workspaceId}}/members",
              "method": "DELETE",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Removes a workspace member from a workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workspaceMember"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List files",
          "routing": {
            "request": {
              "url": "=/files",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a paginated list of files"
        },
        {
          "name": "Upload",
          "value": "create",
          "action": "Upload a file",
          "routing": {
            "request": {
              "url": "=/files",
              "method": "POST",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Uploads a new file"
        },
        {
          "name": "Get by ID",
          "value": "get",
          "action": "Get a file by ID",
          "routing": {
            "request": {
              "url": "=/files/{{$parameter.fileId}}",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a single file object by ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a file",
          "routing": {
            "request": {
              "url": "=/files/{{$parameter.fileId}}",
              "method": "DELETE",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Deletes a file by ID"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a file",
          "routing": {
            "request": {
              "url": "=/files/{{$parameter.fileId}}",
              "method": "PATCH",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Updates a file by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List tasks",
          "routing": {
            "request": {
              "url": "=/tasks",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a list of tasks"
        },
        {
          "name": "Get by ID",
          "value": "get",
          "action": "Get a task by ID",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter.taskId}}",
              "method": "GET",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Returns a single task object by ID"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a task",
          "routing": {
            "request": {
              "url": "=/tasks",
              "method": "POST",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Creates a new task"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter.taskId}}",
              "method": "PATCH",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Updates an existing task"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter.taskId}}",
              "method": "DELETE",
              "headers": {
                "x-client-id": "={{ $parameter.clientId }}"
              }
            }
          },
          "description": "Deletes a task by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "List",
      "value": "list",
      "action": "List accountant users",
      "routing": {
        "request": {
          "url": "=/admin/users",
          "method": "GET"
        }
      },
      "description": "Returns a paginated list of accountant users"
    },
    {
      "name": "Get by ID",
      "value": "get",
      "action": "Get an accountant user by ID",
      "routing": {
        "request": {
          "url": "=/admin/users/{{$parameter.userId}}",
          "method": "GET"
        }
      },
      "description": "Returns a single accountant user by ID"
    },
    {
      "name": "Invite",
      "value": "create",
      "action": "Invite an accountant user",
      "routing": {
        "request": {
          "url": "=/admin/users",
          "method": "POST"
        }
      },
      "description": "Invites a new accountant user and returns the created record"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an accountant user",
      "routing": {
        "request": {
          "url": "=/admin/users/{{$parameter.userId}}",
          "method": "PATCH"
        }
      },
      "description": "Updates an accountant user by ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an accountant user",
      "routing": {
        "request": {
          "url": "=/admin/users/{{$parameter.userId}}",
          "method": "DELETE"
        }
      },
      "description": "Deletes an accountant user by ID"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a client",
      "routing": {
        "request": {
          "url": "=/admin/clients",
          "method": "POST"
        }
      },
      "description": "Creates a new client for the accountant"
    },
    {
      "name": "Get by ID",
      "value": "get",
      "action": "Get a client by ID",
      "routing": {
        "request": {
          "url": "=/admin/clients/{{$parameter.clientId}}",
          "method": "GET"
        }
      },
      "description": "Returns a single client object by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List clients",
      "routing": {
        "request": {
          "url": "=/admin/clients",
          "method": "GET"
        }
      },
      "description": "Returns a list of clients"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a client",
      "routing": {
        "request": {
          "url": "=/admin/clients/{{$parameter.clientId}}",
          "method": "PATCH"
        }
      },
      "description": "Updates a client by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List users",
      "routing": {
        "request": {
          "url": "=/users",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a paginated list of client users"
    },
    {
      "name": "Get by ID",
      "value": "get",
      "action": "Get a user by ID",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter.userId}}",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a single client user by ID"
    },
    {
      "name": "Invite",
      "value": "create",
      "action": "Invite a user",
      "routing": {
        "request": {
          "url": "=/users",
          "method": "POST",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Invites a new client user and returns the created record"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a user",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter.userId}}",
          "method": "PATCH",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Updates a client user by ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a user",
      "routing": {
        "request": {
          "url": "=/users/{{$parameter.userId}}",
          "method": "DELETE",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Deletes a client user by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List workspaces",
      "routing": {
        "request": {
          "url": "=/workspaces",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a list of workspaces"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a workspace",
      "routing": {
        "request": {
          "url": "=/workspaces",
          "method": "POST",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Creates a new workspace and returns the created workspace"
    },
    {
      "name": "Get by ID",
      "value": "get",
      "action": "Get a workspace by ID",
      "routing": {
        "request": {
          "url": "=/workspaces/{{$parameter.workspaceId}}",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a single workspace object by ID"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a workspace",
      "routing": {
        "request": {
          "url": "=/workspaces/{{$parameter.workspaceId}}",
          "method": "PATCH",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Updates a workspace by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List workspace members",
      "routing": {
        "request": {
          "url": "=/workspaces/{{$parameter.workspaceId}}/members",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns workspace members for a workspace"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a workspace member",
      "routing": {
        "request": {
          "url": "=/workspaces/{{$parameter.workspaceId}}/members",
          "method": "POST",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Creates a new workspace member"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Remove a workspace member",
      "routing": {
        "request": {
          "url": "=/workspaces/{{$parameter.workspaceId}}/members",
          "method": "DELETE",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Removes a workspace member from a workspace"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List files",
      "routing": {
        "request": {
          "url": "=/files",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a paginated list of files"
    },
    {
      "name": "Upload",
      "value": "create",
      "action": "Upload a file",
      "routing": {
        "request": {
          "url": "=/files",
          "method": "POST",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Uploads a new file"
    },
    {
      "name": "Get by ID",
      "value": "get",
      "action": "Get a file by ID",
      "routing": {
        "request": {
          "url": "=/files/{{$parameter.fileId}}",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a single file object by ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a file",
      "routing": {
        "request": {
          "url": "=/files/{{$parameter.fileId}}",
          "method": "DELETE",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Deletes a file by ID"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a file",
      "routing": {
        "request": {
          "url": "=/files/{{$parameter.fileId}}",
          "method": "PATCH",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Updates a file by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List tasks",
      "routing": {
        "request": {
          "url": "=/tasks",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a list of tasks"
    },
    {
      "name": "Get by ID",
      "value": "get",
      "action": "Get a task by ID",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter.taskId}}",
          "method": "GET",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Returns a single task object by ID"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a task",
      "routing": {
        "request": {
          "url": "=/tasks",
          "method": "POST",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Creates a new task"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter.taskId}}",
          "method": "PATCH",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Updates an existing task"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter.taskId}}",
          "method": "DELETE",
          "headers": {
            "x-client-id": "={{ $parameter.clientId }}"
          }
        }
      },
      "description": "Deletes a task by ID"
    }
  ]

npm_readme:
  # n8n-nodes-steuerboard

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

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

  [Installation](#installation)
  [Operations](#operations)
  [Credentials](#credentials)
  [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

  - Clients
    - List clients
    - Get client by ID

  ## Credentials

  This node uses API key authentication via an Authorization: Bearer header.

  How to get an API key:

  - Create an account at steuerboard.net and sign in.
  - In your dashboard, open the API keys section and create a new API key.
  - Copy the key value. Keep it secure.
  - Details and up-to-date instructions: see Authentication.

  In n8n, create credentials of type Steuerboard API and set:

  API Key: your generated key
  Requests are sent with:

  Authorization: Bearer YOUR_API_KEY

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Steuerboard docs](https://docs.steuerboard.com)
  - [Steuerboard Website](https://steuerboard.net)

ai_documentation_summary:
  {"purpose":"The Steuerboard node allows users to integrate with the Steuerboard API to manage and retrieve client data within n8n workflows.","capabilities":["List clients","Get client by ID"],"authentication":"API key authentication via Authorization: Bearer header","commonUseCases":["Retrieve a list of all clients from Steuerboard","Fetch specific client details using client ID"],"limitations":[],"relatedNodes":["n8n core nodes for data handling and workflow control"]}


node_type: n8n-nodes-kipps.kippsAiChatbot
package_name: n8n-nodes-kipps
display_name: Kipps.AI Chatbot
description: Interact with a Kipps.AI Chatbot to send and receive messages.
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: kipps.ai
author_github_url: https://github.com/KIPPS-AI/
npm_package_name: n8n-nodes-kipps
npm_version: 0.0.7
community_fetched_at: 2026-01-07T20:08:15.976Z
ai_summary_generated_at: 2026-01-08 10:45:32
npm_readme:
  # n8n Nodes for Kipps.AI

  This repository contains n8n nodes for interacting with the Kipps.AI platform. These nodes allow you to integrate your Kipps.AI chatbots and voicebots into your n8n workflows.

  ## Nodes

  This package includes the following nodes:

  - **Kipps.AI Chatbot**: Interact with a Kipps.AI chatbot.
  - **Kipps.AI Voicebot**: Initiate, interact with, and end calls with a Kipps.AI voicebot.

  ## Installation

  ### Docker

  1.  **Clone this repository:**
      ```bash
      git clone https://github.com/KIPPS-AI/n8n-nodes-kipps.git
      ```
  2.  **Navigate to the cloned directory:**
      ```bash
      cd n8n-nodes-kipps
      ```
  3.  **Build the package:**

      ```bash
      npm install
      npm run build

      ```

  4.  **Run the Docker container:**

      ```bash
      docker run -it --rm -p 5678:5678 `
      -v "${env:USERPROFILE}\.n8n:/home/node/.n8n" `
      -v "${PWD}:/home/node/.n8n/custom" `  -e N8N_CUSTOM_EXTENSIONS_MODE=paths`
      -e N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom `
      n8nio/n8n
      ```

      On Linux/macOS, use:

      ```bash
      docker run -it --rm -p 5678:5678 \
      -v "$HOME/.n8n:/home/node/.n8n" \
      -v "$(pwd):/home/node/.n8n/custom" \
      -e N8N_CUSTOM_EXTENSIONS_MODE=paths \
      -e N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom \
      n8nio/n8n
      ```

  ### npm (Bare-metal or Custom Node.js install)

  1.  **Install the package:**
      ```bash
      npm install n8n-nodes-kipps
      ```
  2.  **Restart your n8n instance.**

  ### Mount Instructions

  If you are running n8n in a Docker container, you can mount the nodes into your container.

  1.  **Clone this repository:**
      ```bash
      git clone https://github.com/KIPPS-AI/n8n-nodes-kipps.git
      ```
  2.  **Add the following to your `docker-compose.yml` file:**
      ```yaml
      volumes:
        - ./n8n-nodes-kipps:/root/.n8n/custom
      ```
  3.  **Restart your n8n container.**

  ## Authentication

  To use these nodes, you will need a Kipps.AI API key.

  1.  **Obtain your API Key:**
      - Log in to your Kipps.AI account at [https://app.kipps.ai/](https://app.kipps.ai/).
      - Navigate to the API settings page (you might find it under "Developers" section).
      - Generate a new API key.

  2.  **Add the Kipps.AI Credential in n8n:**
      - In your n8n instance, go to the "Credentials" section.
      - Click on "Add credential".
      - Search for "Kipps AI API" and select it.
      - Enter your API key in the credential configuration.
      - Save the credential.

  ## Node Parameters

  ### Kipps.AI Chatbot

  - **Agent ID**: The ID of the chatbot agent to use.
  - **Message**: The message to send to the chatbot.
  - **Session ID**: Optional Conversation ID for context management.

  ### Kipps.AI Voicebot

  - **Action**: The action to perform.
    - **Start Call**: Initiates a call.
    - **Send Audio/Text**: Sends audio or text to the call.
    - **End Call**: Ends the call.
  - **Voicebot ID**: The ID of the voicebot to use.
  - **Phone Number**: The phone number to call (required for `Start Call`).
  - **Room Name**: The room name of the call to interact with.
  - **Input Type**: The type of input to send (`Text` or `Audio`).
  - **Text Input**: The text to send to the voicebot.
  - **Audio Input**: The path to the audio file to send.

  ## Usage Examples

  ### Kipps.AI Chatbot

  This example shows how to send a message to a Kipps.AI chatbot and receive a response.

  1.  **Add the Kipps.AI Chatbot node to your workflow.**
  2.  **Configure the node with your Agent ID and the message you want to send.**
  3.  **Execute the workflow.**

  The node will output the chatbot's response.

  ### Kipps.AI Voicebot

  This example shows how to initiate a call, send a message, and end the call with a Kipps.AI voicebot.

  1.  **Start a call:**
      - Add the Kipps.AI Voicebot node to your workflow.
      - Set the **Action** to `Start Call`.
      - Provide the **Voicebot ID** and the **Phone Number** to call.
  2.  **Send a message:**
      - Add another Kipps.AI Voicebot node.
      - Set the **Action** to `Send Audio/Text`.
      - Provide the **Room Name** from the previous step.
      - Set the **Input Type** to `Text` and enter your message.
  3.  **End the call:**
      - Add a final Kipps.AI Voicebot node.
      - Set the **Action** to `End Call`.
      - Provide the **Room Name**.

  ## Troubleshooting

  - **401 Unauthorized**: Make sure your API key is correct and has the necessary permissions.
  - **404 Not Found**: Double-check the Agent ID or Voicebot ID.
  - **Network Errors**: Ensure that your n8n instance can reach the Kipps.AI API (`https://backend.kipps.ai`).
  - **Credential Mistakes**: Verify that you have created a Kipps.AI API credential and selected it in the node.

ai_documentation_summary:
  {"purpose":"The Kipps.AI Chatbot node enables integration with Kipps.AI chatbots by sending messages and receiving responses, supporting conversation context via session IDs.","capabilities":["Send messages to a Kipps.AI chatbot","Receive chatbot responses","Manage conversation context using session IDs","Initiate, send audio/text, and end calls with Kipps.AI voicebots"],"authentication":"API key required; obtain it from the Kipps.AI dashboard under API settings and add it as a credential in n8n","commonUseCases":["Automated customer support via chatbot interactions","Triggering voice-based customer service calls with pre-defined messages","Integrating chatbot responses into CRM or marketing workflows","Automated call initiation and message delivery for lead follow-ups"],"limitations":[],"relatedNodes":["Kipps.AI Voicebot"]}


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

updated_at: 2026-01-07 20:08:15
author_name: devs_hostinger
author_github_url: https://github.com/hostinger/api-n8n-node.git
npm_package_name: n8n-nodes-hostinger-api
npm_version: 1.0.12
community_fetched_at: 2026-01-07T20:08:15.977Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "vps",
      "options": [
        {
          "name": "Billing",
          "value": "billing"
        },
        {
          "name": "DNS",
          "value": "dns"
        },
        {
          "name": "Domain",
          "value": "domain"
        },
        {
          "name": "Domain Forwarding",
          "value": "domainForwarding"
        },
        {
          "name": "Domain WHOIS",
          "value": "whois"
        },
        {
          "name": "Reach",
          "value": "reach"
        },
        {
          "name": "VPS",
          "value": "vps"
        },
        {
          "name": "VPS Actions",
          "value": "vpsActions"
        },
        {
          "name": "VPS Backups",
          "value": "vpsBackups"
        },
        {
          "name": "VPS Data Centers",
          "value": "vpsDataCenters"
        },
        {
          "name": "VPS Docker Manager",
          "value": "vpsDocker"
        },
        {
          "name": "VPS Firewall",
          "value": "vpsFirewall"
        },
        {
          "name": "VPS Malware Scanner",
          "value": "vpsMonarx"
        },
        {
          "name": "VPS Post Install Scripts",
          "value": "vpsScripts"
        },
        {
          "name": "VPS PTR",
          "value": "vpsPTR"
        },
        {
          "name": "VPS Public Keys",
          "value": "vpsPublicKeys"
        },
        {
          "name": "VPS Snapshots",
          "value": "vpsSnapshots"
        },
        {
          "name": "VPS Templates",
          "value": "vpsTemplates"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAction",
      "options": [
        {
          "name": "Get Action",
          "value": "getAction",
          "action": "Get VPS action"
        },
        {
          "name": "List Actions",
          "value": "listActions",
          "action": "List VPS actions"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsActions"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listProjects",
      "options": [
        {
          "name": "Create Project",
          "value": "createProject",
          "action": "Create Docker project"
        },
        {
          "name": "Delete Project",
          "value": "deleteProject",
          "action": "Delete Docker project"
        },
        {
          "name": "Get Project Logs",
          "value": "getLogs",
          "action": "Get Docker project logs"
        },
        {
          "name": "List Containers",
          "value": "listContainers",
          "action": "List Docker containers"
        },
        {
          "name": "List Contents",
          "value": "listContents",
          "action": "List Docker containers content"
        },
        {
          "name": "List Projects",
          "value": "listProjects",
          "action": "List Docker projects"
        },
        {
          "name": "Restart Project",
          "value": "restartProject",
          "action": "Restart Docker project"
        },
        {
          "name": "Start Project",
          "value": "startProject",
          "action": "Start Docker project"
        },
        {
          "name": "Stop Project",
          "value": "stopProject",
          "action": "Stop Docker project"
        },
        {
          "name": "Update Project",
          "value": "updateProject",
          "action": "Update Docker project"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsDocker"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listBackups",
      "options": [
        {
          "name": "Delete Backup",
          "value": "deleteBackup",
          "action": "Delete VPS backup"
        },
        {
          "name": "List Backups",
          "value": "listBackups",
          "action": "List VPS backups"
        },
        {
          "name": "Restore Backup",
          "value": "restoreBackup",
          "action": "Restore VPS backup"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsBackups"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDataCenters",
      "options": [
        {
          "name": "List Data Centers",
          "value": "listDataCenters",
          "action": "List VPS data centers"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsDataCenters"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createPTR",
      "options": [
        {
          "name": "Create PTR",
          "value": "createPTR",
          "action": "Create PTR record"
        },
        {
          "name": "Delete PTR",
          "value": "deletePTR",
          "action": "Delete PTR record"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsPTR"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "activateFirewall",
      "options": [
        {
          "name": "Firewall Activate",
          "value": "activateFirewall",
          "action": "Activate VPS firewall"
        },
        {
          "name": "Firewall Create",
          "value": "createFirewall",
          "action": "Create VPS firewall"
        },
        {
          "name": "Firewall Deactivate",
          "value": "deactivateFirewall",
          "action": "Deactivate VPS firewall"
        },
        {
          "name": "Firewall Delete",
          "value": "deleteFirewall",
          "action": "Delete VPS firewall"
        },
        {
          "name": "Firewall Get",
          "value": "getFirewall",
          "action": "Get VPS firewall"
        },
        {
          "name": "Firewall List",
          "value": "listFirewalls",
          "action": "List VPS firewalls"
        },
        {
          "name": "Firewall Rule Create",
          "value": "createFirewallRule",
          "action": "Create VPS firewall rule"
        },
        {
          "name": "Firewall Rule Delete",
          "value": "deleteFirewallRule",
          "action": "Delete VPS firewall rule"
        },
        {
          "name": "Firewall Rule Update",
          "value": "updateFirewallRule",
          "action": "Update VPS firewall rule"
        },
        {
          "name": "Firewall Sync",
          "value": "syncFirewall",
          "action": "Sync VPS firewall"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsFirewall"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMonarx",
      "options": [
        {
          "name": "Get Monarx",
          "value": "getMonarx",
          "action": "Get VPS malware scanner status"
        },
        {
          "name": "Add Monarx",
          "value": "addMonarx",
          "action": "Add VPS malware scanner"
        },
        {
          "name": "Remove Monarx",
          "value": "removeMonarx",
          "action": "Remove VPS malware scanner"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsMonarx"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTemplate",
      "options": [
        {
          "name": "Get Template",
          "value": "getTemplate",
          "action": "Get VPS template"
        },
        {
          "name": "List Templates",
          "value": "listTemplates",
          "action": "List VPS templates"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsTemplates"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getPostInstallScript",
      "options": [
        {
          "name": "Post Install Script Create",
          "value": "createPostInstallScript",
          "action": "Create VPS post install script"
        },
        {
          "name": "Post Install Script Delete",
          "value": "deletePostInstallScript",
          "action": "Delete VPS post install script"
        },
        {
          "name": "Post Install Script Get",
          "value": "getPostInstallScript",
          "action": "Get VPS post install script"
        },
        {
          "name": "Post Install Script List",
          "value": "listPostInstallScripts",
          "action": "List VPS post install scripts"
        },
        {
          "name": "Post Install Script Update",
          "value": "updatePostInstallScript",
          "action": "Update VPS post install script"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsScripts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "attachPublicKey",
      "options": [
        {
          "name": "Attach Public Key",
          "value": "attachPublicKey",
          "action": "Attach VPS public key"
        },
        {
          "name": "Delete Public Key",
          "value": "deletePublicKey",
          "action": "Delete VPS public key"
        },
        {
          "name": "List Public Keys",
          "value": "listPublicKeys",
          "action": "List VPS public keys"
        },
        {
          "name": "Create Public Key",
          "value": "createPublicKey",
          "action": "Create VPS public key"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsPublicKeys"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getSnapshot",
      "options": [
        {
          "name": "Get Snapshot",
          "value": "getSnapshot",
          "action": "Get VPS snapshot"
        },
        {
          "name": "Create Snapshot",
          "value": "createSnapshot",
          "action": "Create VPS snapshot"
        },
        {
          "name": "Delete Snapshot",
          "value": "deleteSnapshot",
          "action": "Delete VPS snapshot"
        },
        {
          "name": "Restore Snapshot",
          "value": "restoreSnapshot",
          "action": "Restore VPS snapshot"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vpsSnapshots"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getVm",
      "options": [
        {
          "name": "Get Metrics",
          "value": "getVmMetrics",
          "action": "Get VPS metrics"
        },
        {
          "name": "Get Public Keys",
          "value": "getVmPublicKeys",
          "action": "Get VPS public keys"
        },
        {
          "name": "Get VPS",
          "value": "getVm",
          "action": "Get VPS"
        },
        {
          "name": "Hostname Reset",
          "value": "resetHostname",
          "action": "Reset VPS hostname"
        },
        {
          "name": "Hostname Update",
          "value": "updateHostname",
          "action": "Update VPS hostname"
        },
        {
          "name": "List VPS",
          "value": "listVms",
          "action": "List VPS"
        },
        {
          "name": "Purchase New VPS",
          "value": "purchaseVm",
          "action": "Purchase new VPS"
        },
        {
          "name": "Recreate",
          "value": "recreateVm",
          "action": "Recreate VPS"
        },
        {
          "name": "Restart",
          "value": "restartVm",
          "action": "Restart VPS"
        },
        {
          "name": "Setup",
          "value": "setupVm",
          "action": "Setup VPS"
        },
        {
          "name": "Start",
          "value": "startVm",
          "action": "Start VPS"
        },
        {
          "name": "Start Recovery",
          "value": "createRecovery",
          "action": "Start VPS recovery mode"
        },
        {
          "name": "Stop",
          "value": "stopVm",
          "action": "Stop VPS"
        },
        {
          "name": "Stop Recovery",
          "value": "deleteRecovery",
          "action": "Stop VPS recovery mode"
        },
        {
          "name": "Update Nameservers",
          "value": "updateNameservers",
          "action": "Update VPS nameservers"
        },
        {
          "name": "Update Panel Password",
          "value": "updatePanelPassword",
          "action": "Update VPS control panel password"
        },
        {
          "name": "Update Root Password",
          "value": "updateRootPassword",
          "action": "Update VPS root password"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vps"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDnsSnapshots",
      "options": [
        {
          "name": "DNS Snapshot Get",
          "value": "getDnsSnapshot",
          "action": "Get DNS snapshot"
        },
        {
          "name": "DNS Snapshot List",
          "value": "listDnsSnapshots",
          "action": "List DNS snapshots"
        },
        {
          "name": "DNS Snapshot Restore",
          "value": "restoreDnsSnapshot",
          "action": "Restore DNS snapshot"
        },
        {
          "name": "DNS Zone Delete",
          "value": "deleteDnsZone",
          "action": "Delete DNS zone"
        },
        {
          "name": "DNS Zone Get",
          "value": "getDnsZone",
          "action": "Get DNS zone"
        },
        {
          "name": "DNS Zone Reset",
          "value": "resetDnsZone",
          "action": "Reset DNS zone"
        },
        {
          "name": "DNS Zone Update",
          "value": "updateDnsZone",
          "action": "Update DNS zone"
        },
        {
          "name": "DNS Zone Validate",
          "value": "validateDnsZone",
          "action": "Validate DNS zone"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dns"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDomains",
      "options": [
        {
          "name": "Check Domain Availability",
          "value": "checkDomainAvailability",
          "action": "Check domain availability"
        },
        {
          "name": "Disable Domain Lock",
          "value": "disableDomainLock",
          "action": "Disable domain lock"
        },
        {
          "name": "Disable Privacy Protection",
          "value": "disablePrivacyProtection",
          "action": "Disable domain privacy protection"
        },
        {
          "name": "Enable Domain Lock",
          "value": "enableDomainLock",
          "action": "Enable domain lock"
        },
        {
          "name": "Enable Privacy Protection",
          "value": "enablePrivacyProtection",
          "action": "Enable domain privacy protection"
        },
        {
          "name": "Get Domain",
          "value": "getDomain",
          "action": "Get a domain"
        },
        {
          "name": "List Domains",
          "value": "listDomains",
          "action": "List domains"
        },
        {
          "name": "Purchase Domain",
          "value": "purchaseDomain",
          "action": "Purchase domain"
        },
        {
          "name": "Update Nameservers",
          "value": "updateDomainNameservers",
          "action": "Update domain nameservers"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domain"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listWhoisProfiles",
      "options": [
        {
          "name": "Create WHOIS Profile",
          "value": "createWhoisProfile",
          "action": "Create WHOIS profile"
        },
        {
          "name": "Delete WHOIS Profile",
          "value": "deleteWhoisProfile",
          "action": "Delete WHOIS profile"
        },
        {
          "name": "Get WHOIS Profile",
          "value": "getWhoisProfile",
          "action": "Get WHOIS profile"
        },
        {
          "name": "Get WHOIS Profile Usage",
          "value": "getWhoisProfileUsage",
          "action": "Get WHOIS profile usage"
        },
        {
          "name": "List WHOIS Profiles",
          "value": "listWhoisProfiles",
          "action": "List WHOIS profiles"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "whois"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getForwardingData",
      "options": [
        {
          "name": "Get Forwarding Data",
          "value": "getForwardingData",
          "action": "Get domain forwarding"
        },
        {
          "name": "Delete Forwarding Data",
          "value": "deleteForwardingData",
          "action": "Delete domain forwarding"
        },
        {
          "name": "Create Forwarding Data",
          "value": "createForwardingData",
          "action": "Create domain forwarding"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domainForwarding"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCatalogList",
      "options": [
        {
          "name": "Cancel Subscription",
          "value": "deleteSubscription",
          "action": "Cancel subscription"
        },
        {
          "name": "Delete Payment Method",
          "value": "deletePaymentMethod",
          "action": "Delete payment method"
        },
        {
          "name": "Get Catalog Item List",
          "value": "getCatalogList",
          "action": "Get catalog item list"
        },
        {
          "name": "Get Payment Method List",
          "value": "getPaymentList",
          "action": "Get payment method list"
        },
        {
          "name": "Get Subscription List",
          "value": "getSubscriptionList",
          "action": "Get subscription list"
        },
        {
          "name": "Set Default Payment Method",
          "value": "setPaymentMethod",
          "action": "Set default payment method"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "billing"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listContacts",
      "options": [
        {
          "name": "List Contacts",
          "value": "listContacts",
          "action": "List Reach contacts"
        },
        {
          "name": "Create Contact",
          "value": "createContact",
          "action": "Create Reach contact"
        },
        {
          "name": "Delete Contact",
          "value": "deleteContact",
          "action": "Delete Reach contact"
        },
        {
          "name": "List Contact Groups",
          "value": "listContactGroups",
          "action": "List Reach contact groups"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "reach"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Action",
      "value": "getAction",
      "action": "Get VPS action"
    },
    {
      "name": "List Actions",
      "value": "listActions",
      "action": "List VPS actions"
    },
    {
      "name": "Create Project",
      "value": "createProject",
      "action": "Create Docker project"
    },
    {
      "name": "Delete Project",
      "value": "deleteProject",
      "action": "Delete Docker project"
    },
    {
      "name": "Get Project Logs",
      "value": "getLogs",
      "action": "Get Docker project logs"
    },
    {
      "name": "List Containers",
      "value": "listContainers",
      "action": "List Docker containers"
    },
    {
      "name": "List Contents",
      "value": "listContents",
      "action": "List Docker containers content"
    },
    {
      "name": "List Projects",
      "value": "listProjects",
      "action": "List Docker projects"
    },
    {
      "name": "Restart Project",
      "value": "restartProject",
      "action": "Restart Docker project"
    },
    {
      "name": "Start Project",
      "value": "startProject",
      "action": "Start Docker project"
    },
    {
      "name": "Stop Project",
      "value": "stopProject",
      "action": "Stop Docker project"
    },
    {
      "name": "Update Project",
      "value": "updateProject",
      "action": "Update Docker project"
    },
    {
      "name": "Delete Backup",
      "value": "deleteBackup",
      "action": "Delete VPS backup"
    },
    {
      "name": "List Backups",
      "value": "listBackups",
      "action": "List VPS backups"
    },
    {
      "name": "Restore Backup",
      "value": "restoreBackup",
      "action": "Restore VPS backup"
    },
    {
      "name": "List Data Centers",
      "value": "listDataCenters",
      "action": "List VPS data centers"
    },
    {
      "name": "Create PTR",
      "value": "createPTR",
      "action": "Create PTR record"
    },
    {
      "name": "Delete PTR",
      "value": "deletePTR",
      "action": "Delete PTR record"
    },
    {
      "name": "Firewall Activate",
      "value": "activateFirewall",
      "action": "Activate VPS firewall"
    },
    {
      "name": "Firewall Create",
      "value": "createFirewall",
      "action": "Create VPS firewall"
    },
    {
      "name": "Firewall Deactivate",
      "value": "deactivateFirewall",
      "action": "Deactivate VPS firewall"
    },
    {
      "name": "Firewall Delete",
      "value": "deleteFirewall",
      "action": "Delete VPS firewall"
    },
    {
      "name": "Firewall Get",
      "value": "getFirewall",
      "action": "Get VPS firewall"
    },
    {
      "name": "Firewall List",
      "value": "listFirewalls",
      "action": "List VPS firewalls"
    },
    {
      "name": "Firewall Rule Create",
      "value": "createFirewallRule",
      "action": "Create VPS firewall rule"
    },
    {
      "name": "Firewall Rule Delete",
      "value": "deleteFirewallRule",
      "action": "Delete VPS firewall rule"
    },
    {
      "name": "Firewall Rule Update",
      "value": "updateFirewallRule",
      "action": "Update VPS firewall rule"
    },
    {
      "name": "Firewall Sync",
      "value": "syncFirewall",
      "action": "Sync VPS firewall"
    },
    {
      "name": "Get Monarx",
      "value": "getMonarx",
      "action": "Get VPS malware scanner status"
    },
    {
      "name": "Add Monarx",
      "value": "addMonarx",
      "action": "Add VPS malware scanner"
    },
    {
      "name": "Remove Monarx",
      "value": "removeMonarx",
      "action": "Remove VPS malware scanner"
    },
    {
      "name": "Get Template",
      "value": "getTemplate",
      "action": "Get VPS template"
    },
    {
      "name": "List Templates",
      "value": "listTemplates",
      "action": "List VPS templates"
    },
    {
      "name": "Post Install Script Create",
      "value": "createPostInstallScript",
      "action": "Create VPS post install script"
    },
    {
      "name": "Post Install Script Delete",
      "value": "deletePostInstallScript",
      "action": "Delete VPS post install script"
    },
    {
      "name": "Post Install Script Get",
      "value": "getPostInstallScript",
      "action": "Get VPS post install script"
    },
    {
      "name": "Post Install Script List",
      "value": "listPostInstallScripts",
      "action": "List VPS post install scripts"
    },
    {
      "name": "Post Install Script Update",
      "value": "updatePostInstallScript",
      "action": "Update VPS post install script"
    },
    {
      "name": "Attach Public Key",
      "value": "attachPublicKey",
      "action": "Attach VPS public key"
    },
    {
      "name": "Delete Public Key",
      "value": "deletePublicKey",
      "action": "Delete VPS public key"
    },
    {
      "name": "List Public Keys",
      "value": "listPublicKeys",
      "action": "List VPS public keys"
    },
    {
      "name": "Create Public Key",
      "value": "createPublicKey",
      "action": "Create VPS public key"
    },
    {
      "name": "Get Snapshot",
      "value": "getSnapshot",
      "action": "Get VPS snapshot"
    },
    {
      "name": "Create Snapshot",
      "value": "createSnapshot",
      "action": "Create VPS snapshot"
    },
    {
      "name": "Delete Snapshot",
      "value": "deleteSnapshot",
      "action": "Delete VPS snapshot"
    },
    {
      "name": "Restore Snapshot",
      "value": "restoreSnapshot",
      "action": "Restore VPS snapshot"
    },
    {
      "name": "Get Metrics",
      "value": "getVmMetrics",
      "action": "Get VPS metrics"
    },
    {
      "name": "Get Public Keys",
      "value": "getVmPublicKeys",
      "action": "Get VPS public keys"
    },
    {
      "name": "Get VPS",
      "value": "getVm",
      "action": "Get VPS"
    },
    {
      "name": "Hostname Reset",
      "value": "resetHostname",
      "action": "Reset VPS hostname"
    },
    {
      "name": "Hostname Update",
      "value": "updateHostname",
      "action": "Update VPS hostname"
    },
    {
      "name": "List VPS",
      "value": "listVms",
      "action": "List VPS"
    },
    {
      "name": "Purchase New VPS",
      "value": "purchaseVm",
      "action": "Purchase new VPS"
    },
    {
      "name": "Recreate",
      "value": "recreateVm",
      "action": "Recreate VPS"
    },
    {
      "name": "Restart",
      "value": "restartVm",
      "action": "Restart VPS"
    },
    {
      "name": "Setup",
      "value": "setupVm",
      "action": "Setup VPS"
    },
    {
      "name": "Start",
      "value": "startVm",
      "action": "Start VPS"
    },
    {
      "name": "Start Recovery",
      "value": "createRecovery",
      "action": "Start VPS recovery mode"
    },
    {
      "name": "Stop",
      "value": "stopVm",
      "action": "Stop VPS"
    },
    {
      "name": "Stop Recovery",
      "value": "deleteRecovery",
      "action": "Stop VPS recovery mode"
    },
    {
      "name": "Update Nameservers",
      "value": "updateNameservers",
      "action": "Update VPS nameservers"
    },
    {
      "name": "Update Panel Password",
      "value": "updatePanelPassword",
      "action": "Update VPS control panel password"
    },
    {
      "name": "Update Root Password",
      "value": "updateRootPassword",
      "action": "Update VPS root password"
    },
    {
      "name": "DNS Snapshot Get",
      "value": "getDnsSnapshot",
      "action": "Get DNS snapshot"
    },
    {
      "name": "DNS Snapshot List",
      "value": "listDnsSnapshots",
      "action": "List DNS snapshots"
    },
    {
      "name": "DNS Snapshot Restore",
      "value": "restoreDnsSnapshot",
      "action": "Restore DNS snapshot"
    },
    {
      "name": "DNS Zone Delete",
      "value": "deleteDnsZone",
      "action": "Delete DNS zone"
    },
    {
      "name": "DNS Zone Get",
      "value": "getDnsZone",
      "action": "Get DNS zone"
    },
    {
      "name": "DNS Zone Reset",
      "value": "resetDnsZone",
      "action": "Reset DNS zone"
    },
    {
      "name": "DNS Zone Update",
      "value": "updateDnsZone",
      "action": "Update DNS zone"
    },
    {
      "name": "DNS Zone Validate",
      "value": "validateDnsZone",
      "action": "Validate DNS zone"
    },
    {
      "name": "Check Domain Availability",
      "value": "checkDomainAvailability",
      "action": "Check domain availability"
    },
    {
      "name": "Disable Domain Lock",
      "value": "disableDomainLock",
      "action": "Disable domain lock"
    },
    {
      "name": "Disable Privacy Protection",
      "value": "disablePrivacyProtection",
      "action": "Disable domain privacy protection"
    },
    {
      "name": "Enable Domain Lock",
      "value": "enableDomainLock",
      "action": "Enable domain lock"
    },
    {
      "name": "Enable Privacy Protection",
      "value": "enablePrivacyProtection",
      "action": "Enable domain privacy protection"
    },
    {
      "name": "Get Domain",
      "value": "getDomain",
      "action": "Get a domain"
    },
    {
      "name": "List Domains",
      "value": "listDomains",
      "action": "List domains"
    },
    {
      "name": "Purchase Domain",
      "value": "purchaseDomain",
      "action": "Purchase domain"
    },
    {
      "name": "Update Nameservers",
      "value": "updateDomainNameservers",
      "action": "Update domain nameservers"
    },
    {
      "name": "Create WHOIS Profile",
      "value": "createWhoisProfile",
      "action": "Create WHOIS profile"
    },
    {
      "name": "Delete WHOIS Profile",
      "value": "deleteWhoisProfile",
      "action": "Delete WHOIS profile"
    },
    {
      "name": "Get WHOIS Profile",
      "value": "getWhoisProfile",
      "action": "Get WHOIS profile"
    },
    {
      "name": "Get WHOIS Profile Usage",
      "value": "getWhoisProfileUsage",
      "action": "Get WHOIS profile usage"
    },
    {
      "name": "List WHOIS Profiles",
      "value": "listWhoisProfiles",
      "action": "List WHOIS profiles"
    },
    {
      "name": "Get Forwarding Data",
      "value": "getForwardingData",
      "action": "Get domain forwarding"
    },
    {
      "name": "Delete Forwarding Data",
      "value": "deleteForwardingData",
      "action": "Delete domain forwarding"
    },
    {
      "name": "Create Forwarding Data",
      "value": "createForwardingData",
      "action": "Create domain forwarding"
    },
    {
      "name": "Cancel Subscription",
      "value": "deleteSubscription",
      "action": "Cancel subscription"
    },
    {
      "name": "Delete Payment Method",
      "value": "deletePaymentMethod",
      "action": "Delete payment method"
    },
    {
      "name": "Get Catalog Item List",
      "value": "getCatalogList",
      "action": "Get catalog item list"
    },
    {
      "name": "Get Payment Method List",
      "value": "getPaymentList",
      "action": "Get payment method list"
    },
    {
      "name": "Get Subscription List",
      "value": "getSubscriptionList",
      "action": "Get subscription list"
    },
    {
      "name": "Set Default Payment Method",
      "value": "setPaymentMethod",
      "action": "Set default payment method"
    },
    {
      "name": "List Contacts",
      "value": "listContacts",
      "action": "List Reach contacts"
    },
    {
      "name": "Create Contact",
      "value": "createContact",
      "action": "Create Reach contact"
    },
    {
      "name": "Delete Contact",
      "value": "deleteContact",
      "action": "Delete Reach contact"
    },
    {
      "name": "List Contact Groups",
      "value": "listContactGroups",
      "action": "List Reach contact groups"
    }
  ]

npm_readme:
  # n8n-nodes-hostinger-api

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

  Hostinger API allows you to manage your virtual private servers, domains, billing, email marketing, and more. Automate provisioning, monitor resources, and perform various administrative actions programmatically.

  [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

  The Hostinger API node supports the following operations:

  - **Server Management**
  	- List VPS instances
  	- Start/Stop/Restart/Purchase a VPS
  	- Reinstall operating system
  	- Reset root password
  	- Manage SSH keys and post-install scripts

  - **Domain Management**
  	- List domains and check availability
  	- Purchase and manage domains
  	- Configure privacy protection and domain lock
  	- Manage DNS zones and records
  	- Domain forwarding and WHOIS profiles

  - **Monitoring**
  	- Fetch VPS resource usage (CPU, RAM, Disk)
  	- Get server status and uptime
  	- View action history

  - **Networking**
  	- Manage IP addresses and PTR records
  	- Configure firewall rules
  	- Enable/disable backups and snapshots
  	- Malware scanner integration

  - **Provisioning**
  	- Create new VPS instance
  	- Delete VPS instance
  	- Manage data centers and templates

  - **Billing**
  	- View catalog and pricing
  	- Manage payment methods and subscriptions

  - **Email Marketing (Reach)**
  	- List and manage email contacts
  	- Create new contacts with custom fields
  	- Delete contacts by UUID
  	- Manage contact groups
  	- Filter contacts by subscription status

  ## Credentials

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

  1. **Sign up** for a Hostinger account and obtain a VPS.
  2. **Obtain API Access**:
  	- Hostinger provides API tokens via your account dashboard or API settings (refer to official API docs).
  3. **Set up credentials in n8n**:
  	- Go to **Settings > Credentials** in n8n.
  	- Add a new set of credentials for **Hostinger API** using:
  		- **API Key**

  ## Compatibility

  No known version incompatibilities at this time.

  ## Usage

  1. **Add the Hostinger API node** to your workflow.
  2. **Select the desired operation** (e.g., Start VPS, Create Contact, Check Domain).
  3. **Provide required parameters**, such as VPS ID, contact details, domain name, etc.
  4. **Execute the workflow** and automate your Hostinger management tasks.

  For more complex workflows, combine this node with standard n8n nodes such as HTTP Request, Function, and Set.

  Helpful link for beginners: [Try it out](https://docs.n8n.io/try-it-out/)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Hostinger API documentation](https://developers.hostinger.com/)
  * [Hostinger VPS Overview](https://www.hostinger.com/vps-hosting)

  ## Version history

  - **v1.0.13**:
    - Added fields for Domain Purchase, Check Domain Availability and Update Domain Nameservers operations
    - Refactored scripts for building, linting, and releasing using n8n-node CLI
    - Added strict mode in n8n configuration
    - Updated devDependencies to use latest versions and added release-it for version management
    - Simplified tsconfig.json include paths

  - **v1.0.12**:
    - Refactored the node to use Resources and Operations

  - **v1.0.11**:
    - Updated dependencies

  - **v1.0.10**:
    - Updated dependencies

  - **v1.0.9**:
    - Updated dependencies

  - **v1.0.8**:
    - Added VPS Docker Manager endpoints

  - **v1.0.7**:
    - Added n8n credentials test

  - **v1.0.6**:
    - Updated dependencies

  - **v1.0.5**:
    - Added Email Marketing (Reach) endpoints

  - **v1.0.4**:
    - Added Purchase VM Method
    - Added Billing methods
    - Added Domain Portfolio methods
    - Added Domain WHOIS methods
    - Added Domain Forwarding methods

  - **v1.0.3**:
    - No significant changes

  - **v1.0.2**:
    - Fixed inputs on category selection

  - **v1.0.1**:
    - Added `User-Agent` header

  - **v1.0.0**:
    - Initial release
    - Supports full suite of VPS operations including server management, monitoring, and networking.

ai_documentation_summary:
  {"purpose":"The Hostinger API node enables automation of various Hostinger services such as VPS management, domain handling, billing, email marketing, and monitoring through n8n workflows.","capabilities":["List and manage VPS instances","Start, stop, restart, or purchase VPS instances","Reinstall operating system and reset root password","Manage SSH keys and post-install scripts","List domains and check availability","Purchase and manage domains","Configure domain privacy, lock, DNS records, and forwarding","Fetch VPS resource usage (CPU, RAM, Disk) and server status","Manage IP addresses, firewall rules, backups, and snapshots","Run malware scanner"],"authentication":"API key required; obtained from the Hostinger account dashboard under API settings","commonUseCases":["Automate VPS provisioning and scaling","Monitor server performance and uptime","Manage domain registrations and DNS settings","Automate email marketing contact management","Track billing and subscription details"],"limitations":[],"relatedNodes":["HTTP Request","Function","Set"]}


node_type: @bedrijfsdatanl/n8n-nodes-bedrijfsdata.bedrijfsdata
package_name: @bedrijfsdatanl/n8n-nodes-bedrijfsdata
display_name: Bedrijfsdata
description: Get data from the Bedrijfsdata API.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: ocjanssen
author_github_url: https://github.com/ocjanssen/n8n-nodes-bedrijfsdata.git
npm_package_name: @bedrijfsdatanl/n8n-nodes-bedrijfsdata
npm_version: 0.1.9
community_fetched_at: 2026-01-07T20:08:15.978Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "companies",
      "options": [
        {
          "name": "Company",
          "value": "companies"
        },
        {
          "name": "Company (Related)",
          "value": "companies_related"
        },
        {
          "name": "Data (Advanced)",
          "value": "advanced_data"
        },
        {
          "name": "Enrich",
          "value": "enrich"
        },
        {
          "name": "Live Web RAG",
          "value": "rag"
        },
        {
          "name": "LLM Template",
          "value": "llm"
        },
        {
          "name": "Other Data",
          "value": "data_misc"
        },
        {
          "name": "Validation & Cleansing",
          "value": "validation"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_many",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get company",
          "routing": {
            "request": {
              "qs": {
                "front": 30,
                "country": "nl"
              },
              "url": "/companies",
              "method": "GET"
            }
          },
          "description": "Retrieve a company profile by Bedrijfsdata.nl ID"
        },
        {
          "name": "Get Many",
          "value": "get_many",
          "action": "Get companies",
          "routing": {
            "request": {
              "qs": {
                "front": 30,
                "and_or": "AND"
              },
              "url": "/companies",
              "method": "GET"
            }
          },
          "description": "Retrieve company profiles with advanced filtering options"
        },
        {
          "name": "Get Parameter Suggestions",
          "value": "get_suggest",
          "action": "Get parameter suggestions",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/suggest",
              "method": "GET"
            }
          },
          "description": "Retrieve valid filter values for text, apps, city & domain fields in \"Get Companies\" (/companies)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companies"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Enrich Company Data",
          "value": "get",
          "action": "Enrich company data",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/enrich",
              "method": "GET"
            }
          },
          "description": "Enrich your own company data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "enrich"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Execute LLM Template",
          "value": "get",
          "action": "Execute llm template",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/llm",
              "method": "GET"
            }
          },
          "description": "Generate custom content by executing your LLM template"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "llm"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_url",
      "options": [
        {
          "name": "Get RAG Domain",
          "value": "get_domain",
          "action": "Get RAG domain",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/rag_domain",
              "method": "GET"
            }
          },
          "description": "Get content from a publicly accessible website"
        },
        {
          "name": "Get RAG URL",
          "value": "get_url",
          "action": "Get RAG URL",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/rag_url",
              "method": "GET"
            }
          },
          "description": "Get content from a publicly accessible URL"
        },
        {
          "name": "Get RAG Search",
          "value": "get_search",
          "action": "Get RAG search",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/rag_search",
              "method": "GET"
            }
          },
          "description": "Get search snippets from popular search engines by query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "rag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_family",
      "options": [
        {
          "name": "Get Corporate Family",
          "value": "get_family",
          "action": "Get corporate family",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/corporate_family",
              "method": "GET"
            }
          },
          "description": "Get companies from same corporate family as a specific company"
        },
        {
          "name": "Get Shared Address",
          "value": "get_same_address",
          "action": "Get shared address",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/shared_address",
              "method": "GET"
            }
          },
          "description": "Get companies that are registered on the same address as a specific company"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companies_related"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_people",
      "options": [
        {
          "name": "Get Many Employees",
          "value": "get_people",
          "action": "Get many employees",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/people",
              "method": "GET"
            }
          },
          "description": "Get employees of a specific company"
        },
        {
          "name": "Get Many News",
          "value": "get_news",
          "action": "Get many news",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/news",
              "method": "GET"
            }
          },
          "description": "Get news about a specific company"
        },
        {
          "name": "Get Many Vacancies",
          "value": "get_vacancies",
          "action": "Get many vacancies",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/vacancies",
              "method": "GET"
            }
          },
          "description": "Get vacancies of a specific company"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "advanced_data"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_url",
      "options": [
        {
          "name": "Geocoding",
          "value": "get_geocoding",
          "action": "Geocoding",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/geocoding",
              "method": "GET"
            }
          },
          "description": "Validate and format unstructured geographic data"
        },
        {
          "name": "Validate BIC Number",
          "value": "get_bic",
          "action": "Validate bic number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/bic",
              "method": "GET"
            }
          },
          "description": "Validate BIC numbers"
        },
        {
          "name": "Validate City",
          "value": "get_city",
          "action": "Validate city",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/city",
              "method": "GET"
            }
          },
          "description": "Validate (global) cities"
        },
        {
          "name": "Validate Dutch VAT Number",
          "value": "get_vat",
          "action": "Validate dutch vat number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/vat",
              "method": "GET"
            }
          },
          "description": "Validate Dutch VAT numbers (btw-nummers)"
        },
        {
          "name": "Validate Email Address",
          "value": "get_email",
          "action": "Validate email address",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/email",
              "method": "GET"
            }
          },
          "description": "Validate email addresses (basic validation only)"
        },
        {
          "name": "Validate IBAN Number",
          "value": "get_iban",
          "action": "Validate iban number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/iban",
              "method": "GET"
            }
          },
          "description": "Validate IBAN numbers"
        },
        {
          "name": "Validate KvK Number",
          "value": "get_kvk",
          "action": "Validate kv k number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/kvk",
              "method": "GET"
            }
          },
          "description": "Validate KvK numbers"
        },
        {
          "name": "Validate LEI Number",
          "value": "get_lei",
          "action": "Validate lei number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/lei",
              "method": "GET"
            }
          },
          "description": "Validate LEI numbers"
        },
        {
          "name": "Validate Phone Number",
          "value": "get_phone",
          "action": "Validate phone number",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/phone",
              "method": "GET"
            }
          },
          "description": "Validate (global) phone numbers"
        },
        {
          "name": "Validate Postcode",
          "value": "get_postcode",
          "action": "Validate postcode",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/postcode",
              "method": "GET"
            }
          },
          "description": "Validate (global) postcodes"
        },
        {
          "name": "Validate URL",
          "value": "get_url",
          "action": "Validate URL",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/url",
              "method": "GET"
            }
          },
          "description": "Validate URL's"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "validation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get_siterank",
      "options": [
        {
          "name": "Get BAG Data",
          "value": "get_bag",
          "action": "Get bag data",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/bag",
              "method": "GET"
            }
          },
          "description": "Get Dutch BAG data by address"
        },
        {
          "name": "Get DNS Scan",
          "value": "get_dns",
          "action": "Get DNS scan",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/dns",
              "method": "GET"
            }
          },
          "description": "Retrieve data straight from a domain's DNS"
        },
        {
          "name": "Get EU Tenders",
          "value": "get_tender",
          "action": "Get eu tenders",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/tender",
              "method": "GET"
            }
          },
          "description": "Query the European Tender database"
        },
        {
          "name": "Get Exchange Rate",
          "value": "get_currency",
          "action": "Get exchange rate",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/currency",
              "method": "GET"
            }
          },
          "description": "Get exchange rates for 300+ currencies (incl. crypto)."
        },
        {
          "name": "Get Password Leaks",
          "value": "get_password",
          "action": "Get password leaks",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/password",
              "method": "GET"
            }
          },
          "description": "Find out how many times a password was leaked before"
        },
        {
          "name": "Get Property Information",
          "value": "get_property",
          "action": "Get property information",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/property",
              "method": "GET"
            }
          },
          "description": "Get property information by address or company ID"
        },
        {
          "name": "Get Web Rankings",
          "value": "get_webrank",
          "action": "Get web rankings",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/webrank",
              "method": "GET"
            }
          },
          "description": "Get global rankings like Majestic, CRUX, CloudFlare and DomCop"
        },
        {
          "name": "Get Website Performance",
          "value": "get_siterank",
          "action": "Get website performance",
          "routing": {
            "request": {
              "qs": {
                "front": 30
              },
              "url": "/siterank",
              "method": "GET"
            }
          },
          "description": "Get data on a company's website performance and popularity ranking"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "data_misc"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get company",
      "routing": {
        "request": {
          "qs": {
            "front": 30,
            "country": "nl"
          },
          "url": "/companies",
          "method": "GET"
        }
      },
      "description": "Retrieve a company profile by Bedrijfsdata.nl ID"
    },
    {
      "name": "Get Many",
      "value": "get_many",
      "action": "Get companies",
      "routing": {
        "request": {
          "qs": {
            "front": 30,
            "and_or": "AND"
          },
          "url": "/companies",
          "method": "GET"
        }
      },
      "description": "Retrieve company profiles with advanced filtering options"
    },
    {
      "name": "Get Parameter Suggestions",
      "value": "get_suggest",
      "action": "Get parameter suggestions",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/suggest",
          "method": "GET"
        }
      },
      "description": "Retrieve valid filter values for text, apps, city & domain fields in \"Get Companies\" (/companies)"
    },
    {
      "name": "Enrich Company Data",
      "value": "get",
      "action": "Enrich company data",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/enrich",
          "method": "GET"
        }
      },
      "description": "Enrich your own company data"
    },
    {
      "name": "Execute LLM Template",
      "value": "get",
      "action": "Execute llm template",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/llm",
          "method": "GET"
        }
      },
      "description": "Generate custom content by executing your LLM template"
    },
    {
      "name": "Get RAG Domain",
      "value": "get_domain",
      "action": "Get RAG domain",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/rag_domain",
          "method": "GET"
        }
      },
      "description": "Get content from a publicly accessible website"
    },
    {
      "name": "Get RAG URL",
      "value": "get_url",
      "action": "Get RAG URL",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/rag_url",
          "method": "GET"
        }
      },
      "description": "Get content from a publicly accessible URL"
    },
    {
      "name": "Get RAG Search",
      "value": "get_search",
      "action": "Get RAG search",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/rag_search",
          "method": "GET"
        }
      },
      "description": "Get search snippets from popular search engines by query"
    },
    {
      "name": "Get Corporate Family",
      "value": "get_family",
      "action": "Get corporate family",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/corporate_family",
          "method": "GET"
        }
      },
      "description": "Get companies from same corporate family as a specific company"
    },
    {
      "name": "Get Shared Address",
      "value": "get_same_address",
      "action": "Get shared address",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/shared_address",
          "method": "GET"
        }
      },
      "description": "Get companies that are registered on the same address as a specific company"
    },
    {
      "name": "Get Many Employees",
      "value": "get_people",
      "action": "Get many employees",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/people",
          "method": "GET"
        }
      },
      "description": "Get employees of a specific company"
    },
    {
      "name": "Get Many News",
      "value": "get_news",
      "action": "Get many news",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/news",
          "method": "GET"
        }
      },
      "description": "Get news about a specific company"
    },
    {
      "name": "Get Many Vacancies",
      "value": "get_vacancies",
      "action": "Get many vacancies",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/vacancies",
          "method": "GET"
        }
      },
      "description": "Get vacancies of a specific company"
    },
    {
      "name": "Geocoding",
      "value": "get_geocoding",
      "action": "Geocoding",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/geocoding",
          "method": "GET"
        }
      },
      "description": "Validate and format unstructured geographic data"
    },
    {
      "name": "Validate BIC Number",
      "value": "get_bic",
      "action": "Validate bic number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/bic",
          "method": "GET"
        }
      },
      "description": "Validate BIC numbers"
    },
    {
      "name": "Validate City",
      "value": "get_city",
      "action": "Validate city",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/city",
          "method": "GET"
        }
      },
      "description": "Validate (global) cities"
    },
    {
      "name": "Validate Dutch VAT Number",
      "value": "get_vat",
      "action": "Validate dutch vat number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/vat",
          "method": "GET"
        }
      },
      "description": "Validate Dutch VAT numbers (btw-nummers)"
    },
    {
      "name": "Validate Email Address",
      "value": "get_email",
      "action": "Validate email address",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/email",
          "method": "GET"
        }
      },
      "description": "Validate email addresses (basic validation only)"
    },
    {
      "name": "Validate IBAN Number",
      "value": "get_iban",
      "action": "Validate iban number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/iban",
          "method": "GET"
        }
      },
      "description": "Validate IBAN numbers"
    },
    {
      "name": "Validate KvK Number",
      "value": "get_kvk",
      "action": "Validate kv k number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/kvk",
          "method": "GET"
        }
      },
      "description": "Validate KvK numbers"
    },
    {
      "name": "Validate LEI Number",
      "value": "get_lei",
      "action": "Validate lei number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/lei",
          "method": "GET"
        }
      },
      "description": "Validate LEI numbers"
    },
    {
      "name": "Validate Phone Number",
      "value": "get_phone",
      "action": "Validate phone number",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/phone",
          "method": "GET"
        }
      },
      "description": "Validate (global) phone numbers"
    },
    {
      "name": "Validate Postcode",
      "value": "get_postcode",
      "action": "Validate postcode",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/postcode",
          "method": "GET"
        }
      },
      "description": "Validate (global) postcodes"
    },
    {
      "name": "Validate URL",
      "value": "get_url",
      "action": "Validate URL",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/url",
          "method": "GET"
        }
      },
      "description": "Validate URL's"
    },
    {
      "name": "Get BAG Data",
      "value": "get_bag",
      "action": "Get bag data",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/bag",
          "method": "GET"
        }
      },
      "description": "Get Dutch BAG data by address"
    },
    {
      "name": "Get DNS Scan",
      "value": "get_dns",
      "action": "Get DNS scan",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/dns",
          "method": "GET"
        }
      },
      "description": "Retrieve data straight from a domain's DNS"
    },
    {
      "name": "Get EU Tenders",
      "value": "get_tender",
      "action": "Get eu tenders",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/tender",
          "method": "GET"
        }
      },
      "description": "Query the European Tender database"
    },
    {
      "name": "Get Exchange Rate",
      "value": "get_currency",
      "action": "Get exchange rate",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/currency",
          "method": "GET"
        }
      },
      "description": "Get exchange rates for 300+ currencies (incl. crypto)."
    },
    {
      "name": "Get Password Leaks",
      "value": "get_password",
      "action": "Get password leaks",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/password",
          "method": "GET"
        }
      },
      "description": "Find out how many times a password was leaked before"
    },
    {
      "name": "Get Property Information",
      "value": "get_property",
      "action": "Get property information",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/property",
          "method": "GET"
        }
      },
      "description": "Get property information by address or company ID"
    },
    {
      "name": "Get Web Rankings",
      "value": "get_webrank",
      "action": "Get web rankings",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/webrank",
          "method": "GET"
        }
      },
      "description": "Get global rankings like Majestic, CRUX, CloudFlare and DomCop"
    },
    {
      "name": "Get Website Performance",
      "value": "get_siterank",
      "action": "Get website performance",
      "routing": {
        "request": {
          "qs": {
            "front": 30
          },
          "url": "/siterank",
          "method": "GET"
        }
      },
      "description": "Get data on a company's website performance and popularity ranking"
    }
  ]

npm_readme:
  # n8n-nodes-bedrijfsdata

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

  An n8n community node for integrating with the [Bedrijfsdata.nl API](https://docs.bedrijfsdata.nl/). This node allows you to search and retrieve comprehensive Dutch company information directly within 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 Nodes (Recommended)

  1. Go to **Settings > Community Nodes** in your n8n instance
  2. Select **Install**
  3. Enter `n8n-nodes-bedrijfsdata`
  4. Agree to the risks and select **Install**

  ### Docker (Quick Start)

  Run n8n with the Bedrijfsdata node pre-installed:

  ```bash
  ./run.sh
  ```

  Then access n8n at http://localhost:5678

  To update the node after making changes:
  ```bash
  npm run build && docker-compose restart
  ```

  ### Manual Installation

  To get started:

  ```bash
  npm install n8n-nodes-bedrijfsdata
  ```

  ## Credentials

  You need a Bedrijfsdata.nl API key to use this node:

  1. Sign up at [Bedrijfsdata.nl](https://bedrijfsdata.nl/)
  2. Get your API key from your account dashboard
  3. In n8n, create new credentials of type "Bedrijfsdata API"
  4. Enter your API key

  ## Supported Operations

  ### Companies Resource

  #### Get Company
  Retrieve a company profile by Bedrijfsdata.nl ID.

  #### Get Companies
  Search and retrieve Dutch company information with extensive filtering options:

  **Basic Search Parameters:**
  - **Country**: Netherlands (required)
  - **Text**: Keyword search across company names, industries, activities, and website content

  **Company Identification:**
  - **Company ID**: Bedrijfsdata.nl unique identifier
  - **Company Name**: Official company name
  - **All Names**: Search across all known names including trade names
  - **Chamber of Commerce Number**: KvK number
  - **VAT Number**: BTW number
  - **Domain**: Company website domain

  **Location-based Search:**
  - **City**: Dutch city (case-sensitive, official name)
  - **Province**: Dutch province (case-sensitive, official name)
  - **Postcode**: Dutch postal code
  - **Address ID**: Format: NL{postcode}-{house number} (e.g., "NL1234AB-150")
  - **Location**: Search by city/municipality with distance
  - **Geo Coordinates**: Search by latitude,longitude with distance
  - **Distance**: Radius in kilometers (use with location or geo coordinates)

  **Company Characteristics:**
  - **Office Type**: Hoofdvestiging (main office) or Nevenvestiging (branch office)
  - **Organization Type**: Legal entity types (BV, NV, Stichting, etc.)
  - **Employees**: Number of employees (range format: 5:10, 5:, :10)
  - **Revenue**: Annual revenue (range format: 500000:1000000, 500000:, :1000000)
  - **Founded**: Year of establishment (range format: 2010:2020, 2010:, :2020)
  - **SBI Code**: Industry classification codes (comma-separated)

  **Digital Presence:**
  - **Apps**: Technologies/apps used by the company
  - **Monthly Visits**: Website traffic estimates (range format)
  - **Social Exists**: Available social media channels (Facebook, Instagram, LinkedIn, etc.)
  - **Social Interactions**: Social media engagement metrics (range format)
  - **PageRank**: DomCop PageRank (0-10, range format)
  - **Crux Rank**: Crux ranking (1-50m, range format)
  - **Tranco Rank**: Tranco ranking (1-3m, range format)

  **Relationship Analysis:**
  - **Linked By**: Domains that link to the company website
  - **Link Domain**: Domains the company links to
  - **Mentioned By**: Domains that mention the company
  - **Relation**: Combination of linked_by, mentioned_by, and linkdomain

  **Data Availability:**
  - **Data Exists**: Filter by available data types (address, email, phone, etc.)
  - **Rating**: Average review rating (0-5, range format)
  - **Reviews**: Number of reviews (range format)

  **Output Control:**
  - **Rows**: Number of companies to return

  ### Enrich Resource

  #### Enrich Company Data
  Enrich your own company data with additional information from Bedrijfsdata.

  ### LLM Template Resource

  #### Execute LLM Template
  Generate custom content by executing your LLM template with company data.

  ### Web RAG Resource

  #### Get RAG domain
  Extract and analyze content from a publicly accessible website.

  #### Get RAG URL
  Extract and analyze content from a publicly accessible URL.

  #### Get RAG Search
  Get search snippets from popular search engines by query.

  ### Related Companies Resource

  #### Get Corporate Family
  Find companies that belong to the same corporate family as a specific company.

  #### Get Shared Address
  Discover companies that are registered at the same address as a specific company.

  ### Advanced Company Data Resource

  #### Get Many Employees
  Retrieve employee information for a specific company.

  #### Get Many News
  Collect news articles related to a specific company.

  #### Get Many Vacancies
  Find job openings posted by a specific company.

  ### Validation & Cleansing Resource

  #### Validate Email Address
  Perform basic validation on email addresses.

  #### Validate BIC Number
  Verify the validity of BIC (Bank Identifier Code) numbers.

  #### Validate City
  Validate global city names.

  #### Geocoding
  Convert addresses to geographic coordinates and vice versa.

  #### Validate IBAN Number
  Check the validity of IBAN (International Bank Account Number) formats.

  #### Validate KvK Number
  Verify Dutch Chamber of Commerce (KvK) registration numbers.

  #### Validate LEI Number
  Validate Legal Entity Identifier (LEI) numbers.

  #### Validate Phone Number
  Check and format global phone numbers.

  #### Validate Postcode
  Verify postal code formats from different countries.

  #### Validate URL
  Check URL validity and structure.

  #### Validate Dutch VAT Number
  Verify Dutch VAT numbers (BTW-nummers).

  ### Other Data Resource

  #### Get BAG Data
  Retrieve Dutch BAG (Basisregistratie Adressen en Gebouwen) data by address.

  #### Get Exchange Rate
  Access exchange rates for over 300 currencies, including cryptocurrencies.

  #### Get DNS Scan
  Extract data directly from a domain's DNS records.

  #### Get Password Leaks
  Check how many times a password has been exposed in data breaches.

  #### Get Property Information
  Obtain property details by address or company ID.

  #### Get Website Performance
  Analyze a company's website performance and popularity rankings.

  #### Get EU Tenders
  Search the European Tender database.

  #### Get Web Rankings
  Access global rankings like Majestic, CRUX, CloudFlare, and DomCop.

  ## Usage Examples

  ### Basic Company Search
  Search for companies by keyword:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "text": "software development",
      "rows": 10
    }
  }
  ```

  ### Find Companies by Location
  Search for companies in Amsterdam:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "city": "Amsterdam",
      "orgtype": ["Besloten Vennootschap"],
      "employees": "10:100"
    }
  }
  ```

  ### Technology Company Analysis
  Find companies using specific technologies:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "apps": "Salesforce,HubSpot",
      "social_exists": ["linkedin", "twitter"],
      "monthly_visits": "1000:"
    }
  }
  ```

  ### Geographic Radius Search
  Find companies within 25km of coordinates:
  ```json
  {
    "resource": "companies",
    "operation": "get",
    "country": "nl",
    "additionalFields": {
      "geo": "52.3676,4.9041",
      "distance": 25,
      "revenue": "1000000:"
    }
  }
  ```

  ## Range Format

  Many fields support range queries with the following format:
  - **Range**: `min:max` (e.g., `100:500`)
  - **Minimum only**: `min:` (e.g., `100:`)
  - **Maximum only**: `:max` (e.g., `:500`)

  ## API Documentation

  For detailed API documentation, visit [docs.bedrijfsdata.nl](https://docs.bedrijfsdata.nl/).

  ## Compatibility

  - **n8n version**: 0.187.0 or later
  - **Node.js version**: 20.15 or later

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Bedrijfsdata.nl API Documentation](https://docs.bedrijfsdata.nl/)

  ## Development

  ### Prerequisites

  - Node.js 20.15 or later
  - npm or pnpm

  ### Setup

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

  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Lint the code
  npm run lint

  # Auto-fix linting issues
  npm run lintfix
  ```

  ### Testing

  To test the node locally:

  1. Build the node: `npm run build`
  2. Link it to your global n8n installation: `npm link`
  3. In your n8n directory: `npm link n8n-nodes-bedrijfsdata`
  4. Start n8n: `n8n start`

  OR

  ```bash
  ./run.sh
  ```

  ## Contributing

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

  ## License

  [MIT](LICENSE.md)

  ## Support

  If you encounter any issues or have questions:

  1. Check the [Bedrijfsdata.nl API documentation](https://docs.bedrijfsdata.nl/)
  2. Review the [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  3. Open an issue in this repository

ai_documentation_summary:
  {"purpose":"The Bedrijfsdata node integrates with the Bedrijfsdata.nl API to retrieve and enrich Dutch company information, including company profiles, employee data, news, vacancies, and digital presence, enabling workflow automation for business intelligence and data enrichment tasks.","capabilities":["Search and retrieve Dutch company data with extensive filtering (e.g., by name, location, employees, revenue, industry)","Retrieve detailed company profiles using Bedrijfsdata.nl IDs","Enrich external company data with Bedrijfsdata information","Generate content using LLM templates with company data","Extract and analyze website content via RAG (Retrieval-Augmented Generation)","Find related companies (corporate family, shared address)","Retrieve employee, news, and vacancy data for specific companies","Validate various data types including emails, phone numbers, IBAN, VAT, BIC, KvK, LEI, and postcodes","Geocoding and address validation"],"authentication":"API key required; obtain from https://bedrijfsdata.nl/ and enter in n8n under 'Bedrijfsdata API' credentials","commonUseCases":["Automated company research and data collection for market analysis","Enriching CRM or business databases with verified Dutch company details","Identifying competitors or related companies via corporate family or shared address","Validating business contact information (emails, phone numbers, VAT, KvK)","Monitoring company news and job openings for talent or market trends"],"limitations":["All searches are limited to the Netherlands; international searches not supported","Some fields (e.g., social interactions, reviews) may have limited or estimated data","Geolocation searches require precise city/province/postcode or coordinates","No real-time updates; data reflects the latest available from Bedrijfsdata.nl","LLM and RAG features depend on external data sources and may have latency"],"relatedNodes":["Company Search","Data Validation","RAG / Web Scraping","LLM Processing","CRM Enrichment"]}


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

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

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

npm_readme:
  # n8n-nodes-deutschlandgpt

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

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

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

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

  ## Installation

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

  ## Operations

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

  ## Credentials

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

  ## Resources

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

ai_documentation_summary:
  {"purpose":"The DeutschlandGPT node allows users to integrate the DeutschlandGPT AI platform into n8n workflows, enabling GDPR-compliant interactions with large language models through chat messages and model queries.","capabilities":["Fetch available models from the DeutschlandGPT API","Send a chat message to a specific model","Send a chat message to a specific model with a custom system prompt"],"authentication":"API key required; obtain it by signing up at https://platform.deutschlandgpt.de/ and providing a payment method","commonUseCases":["Generating AI-powered responses to user queries in a GDPR-compliant manner","Using predefined or custom system prompts to guide AI behavior in chat interactions","Discovering available models to select the most suitable one for a given task"],"limitations":[],"relatedNodes":["n8n community nodes","AI/LLM integration nodes"]}


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

updated_at: 2026-01-07 20:08:15
author_name: jacketbg
author_github_url: https://github.com/Jacketbg/n8n-node-inoreader.git
npm_package_name: n8n-nodes-inoreader
npm_version: 1.0.5
community_fetched_at: 2026-01-07T20:08:15.979Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "article",
      "options": [
        {
          "name": "Article",
          "value": "article"
        },
        {
          "name": "Feed",
          "value": "feed"
        },
        {
          "name": "Tag",
          "value": "tag"
        },
        {
          "name": "Folder",
          "value": "folder"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getFromFeed",
      "options": [
        {
          "name": "Add Tag",
          "value": "addToTag",
          "action": "Add tag to article",
          "description": "Add a tag to an article"
        },
        {
          "name": "Add to Read Later",
          "value": "addToReadLater",
          "action": "Add article to read later",
          "description": "Add an article to the Read later section"
        },
        {
          "name": "Create in Read Later",
          "value": "saveToReadLater",
          "action": "Create new article in read later",
          "description": "Create external article and save to the Read later section"
        },
        {
          "name": "Create in Tag",
          "value": "saveToTag",
          "action": "Create new article in a specific tag",
          "description": "Create external article and save to a specific tag"
        },
        {
          "name": "Get Many From Feed",
          "value": "getFromFeed",
          "action": "Get many articles from feed",
          "description": "Get articles from a specific feed"
        },
        {
          "name": "Get Many From Folder",
          "value": "getFromFolder",
          "action": "Get many articles from folder",
          "description": "Get articles from a specific folder"
        },
        {
          "name": "Get Many From Read Later",
          "value": "getFromReadLater",
          "action": "Get many articles from read later",
          "description": "Get articles from the Read later section"
        },
        {
          "name": "Get Many From Tag",
          "value": "getFromTag",
          "action": "Get many articles from tag",
          "description": "Get articles from a specific tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "article"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllFeeds",
      "options": [
        {
          "name": "Get All Feeds",
          "value": "getAllFeeds",
          "action": "Get all feeds in user account",
          "description": "Get all feeds from the user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "feed"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllTags",
      "options": [
        {
          "name": "Get All Tags",
          "value": "getAllTags",
          "action": "Get all tags in user account",
          "description": "Get all tags from the user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllFolders",
      "options": [
        {
          "name": "Get All Folders",
          "value": "getAllFolders",
          "action": "Get all folders in user account",
          "description": "Get all folders from the user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Add Tag",
      "value": "addToTag",
      "action": "Add tag to article",
      "description": "Add a tag to an article"
    },
    {
      "name": "Add to Read Later",
      "value": "addToReadLater",
      "action": "Add article to read later",
      "description": "Add an article to the Read later section"
    },
    {
      "name": "Create in Read Later",
      "value": "saveToReadLater",
      "action": "Create new article in read later",
      "description": "Create external article and save to the Read later section"
    },
    {
      "name": "Create in Tag",
      "value": "saveToTag",
      "action": "Create new article in a specific tag",
      "description": "Create external article and save to a specific tag"
    },
    {
      "name": "Get Many From Feed",
      "value": "getFromFeed",
      "action": "Get many articles from feed",
      "description": "Get articles from a specific feed"
    },
    {
      "name": "Get Many From Folder",
      "value": "getFromFolder",
      "action": "Get many articles from folder",
      "description": "Get articles from a specific folder"
    },
    {
      "name": "Get Many From Read Later",
      "value": "getFromReadLater",
      "action": "Get many articles from read later",
      "description": "Get articles from the Read later section"
    },
    {
      "name": "Get Many From Tag",
      "value": "getFromTag",
      "action": "Get many articles from tag",
      "description": "Get articles from a specific tag"
    },
    {
      "name": "Get All Feeds",
      "value": "getAllFeeds",
      "action": "Get all feeds in user account",
      "description": "Get all feeds from the user"
    },
    {
      "name": "Get All Tags",
      "value": "getAllTags",
      "action": "Get all tags in user account",
      "description": "Get all tags from the user"
    },
    {
      "name": "Get All Folders",
      "value": "getAllFolders",
      "action": "Get all folders in user account",
      "description": "Get all folders from the user"
    }
  ]

npm_readme:
  # n8n-nodes-inoreader

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

  Inoreader is a powerful content aggregator and RSS reader platform that lets you monitor, organize, and automate the flow of articles, feeds, and web content. Stay ahead with real-time updates from your favorite websites, blogs, newsletters, and social media – all in one customizable, distraction-free space.

  [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 operations:

  ### Trigger (Inoreader Trigger node)
  - New article in feed
  - New article in folder
  - New article in "Read later" section

  ### Actions (Inoreader node)
  - Create new article in "Read later" section
  - Create new article in a tag
  - Get many articles from feed
  - Get many articles from folder
  - Get many articles from tag
  - Get many articles from "Read later"
  - Assign tag to article
  - Assign "Read later" flag to article
  - Get all feeds
  - Get all tags
  - Get all folders

  ---

  ## Credentials

  To use this node, you need an **Inoreader app** and OAuth2 credentials:

  1. Sign up at [Inoreader](https://www.inoreader.com/) if you haven’t already. 
  2. Go to the [Inoreader Developer Console](https://www.inoreader.com/preferences/other) and create an app. This requires an Inoreader Pro plan.
  3. Copy your **App ID** and **App Key**.
  4. In n8n, add new credentials of type **Inoreader OAuth2 API**, and enter your App ID and App Key.
  5. Click **Connect** and authorize n8n to access your Inoreader account.

  Tokens are managed automatically, and refresh tokens are supported.

  ---

  ## Compatibility

  - **Minimum n8n version:** 1.0.0
  - **Tested with:** n8n 1.43.0 and above
  - May not work on legacy n8n versions prior to v1 due to changes in trigger handling and credentials.

  ---

  ## Usage

  - Add the **Inoreader Trigger** node to start a workflow when a new article appears in a feed, folder, or "Read later".
  - Use the **Inoreader** node to execute actions like tagging articles or saving external HTML content as new articles in Inoreader

  For general help with n8n, see [Try it out](https://docs.n8n.io/try-it-out/).

  ---

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Inoreader Developer Documentation](https://www.inoreader.com/developers/)
  * [Inoreader](https://www.inoreader.com/)

  ---

ai_documentation_summary:
  {"purpose":"The Inoreader node allows users to interact with the Inoreader platform by triggering workflows when new articles are added to feeds, folders, or the 'Read later' section, and by performing actions such as saving articles, tagging, or retrieving content from feeds, folders, or tags.","capabilities":["Trigger on new article in feed","Trigger on new article in folder","Trigger on new article in 'Read later' section","Create article in 'Read later' section","Create article in a tag","Retrieve many articles from feed, folder, tag, or 'Read later'","Assign tag to article","Assign 'Read later' flag to article","Get all feeds, tags, and folders"],"authentication":"OAuth2 required via an Inoreader app (Pro plan required). App ID and App Key must be obtained from the Inoreader Developer Console and configured in n8n.","commonUseCases":["Monitor new articles from specific feeds or folders and trigger notifications","Automate article tagging based on content or metadata","Save external HTML content as new articles in Inoreader","Organize articles into folders or tags for better content management"],"limitations":["Requires Inoreader Pro plan to create an app and use OAuth2 authentication","Only works with n8n version 1.0.0 and above; may not function on legacy versions","No support for direct content editing or article deletion via this node"],"relatedNodes":["Trigger nodes","Action nodes","OAuth2 credential nodes"]}


node_type: @serphouse/n8n-nodes-serphouse.serphouse
package_name: @serphouse/n8n-nodes-serphouse
display_name: SERPHouse
description: Scrape Google and other search engines from SERPHouse's official node
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: serphouse
author_github_url: https://github.com/SERPHouse/n8n-node-serphouse.git
npm_package_name: @serphouse/n8n-nodes-serphouse
npm_version: 1.0.3
community_fetched_at: 2026-01-07T20:08:15.979Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "serpLiveSearchPost",
      "options": [
        {
          "name": "Serp Live Search (POST)",
          "value": "serpLiveSearchPost",
          "action": "Serp Live Search (POST)",
          "routing": {
            "request": {
              "url": "/serp/live",
              "method": "POST"
            }
          }
        },
        {
          "name": "Google SERP (Top 100 Results)",
          "value": "googleSerpTopHundred",
          "action": "Google SERP (Top 100 results)",
          "routing": {
            "request": {
              "url": "/serp/google_advanced",
              "method": "POST"
            }
          }
        },
        {
          "name": "Google Jobs API",
          "value": "googleJobs",
          "action": "Google Jobs API",
          "routing": {
            "request": {
              "url": "/google-jobs-api",
              "method": "POST"
            }
          }
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Serp Live Search (POST)",
      "value": "serpLiveSearchPost",
      "action": "Serp Live Search (POST)",
      "routing": {
        "request": {
          "url": "/serp/live",
          "method": "POST"
        }
      }
    },
    {
      "name": "Google SERP (Top 100 Results)",
      "value": "googleSerpTopHundred",
      "action": "Google SERP (Top 100 results)",
      "routing": {
        "request": {
          "url": "/serp/google_advanced",
          "method": "POST"
        }
      }
    },
    {
      "name": "Google Jobs API",
      "value": "googleJobs",
      "action": "Google Jobs API",
      "routing": {
        "request": {
          "url": "/google-jobs-api",
          "method": "POST"
        }
      }
    }
  ]

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

  # n8n-nodes-serphouse

  This is an n8n community node that lets you use [SERPHouse](https://serphouse.com/) in your n8n workflows.

  SERPHouse is a powerful SERP API that allows you to scrape Google, Bing, Yahoo, and other search engines with ease. Get real-time search results, job listings, and comprehensive SERP data.

  ## Installation

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

  ## Prerequisites

  You need a SERPHouse account and API key. You can sign up at [serphouse.com](https://serphouse.com/register).

  ## Operations

  The SERPHouse node supports the following operations:

  ### Serp Live Search (POST)

  Perform real-time searches across Google, Bing, and Yahoo search engines.

  **Supported Search Engines:**

  - Google
  - Bing
  - Yahoo

  **Features:**

  - Multiple search types: Web, News, Image, Shop
  - Device-specific results: Desktop, Tablet, Mobile
  - Location targeting
  - Date range filtering
  - Customizable result count and pagination
  - Verbatim search and GFilter options

  ### Google SERP (Top 100 Results)

  Retrieve comprehensive Google search results with up to 100 results per query.

  **Features:**

  - Multi-page scraping (max_pages parameter)
  - Device-specific results: Desktop, Tablet, Mobile
  - Location targeting
  - Date range filtering
  - Verbatim search and GFilter options
  - JSON or HTML response formats

  ### Google Jobs API

  Search and retrieve job listings from Google Jobs.

  **Features:**

  - Location-based job search
  - Date range filtering
  - Multi-language and domain support
  - JSON or HTML response formats

  ## Credentials

  To use this node, you need to configure your SERPHouse API credentials:

  1. Go to **Credentials** → **New**
  2. Select **SERPHouse API**
  3. Enter your API key from your [SERPHouse account](https://www.serphouse.com/home)

  ## Usage

  ### Example 1: Basic Search

  ```
  1. Add SERPHouse node to your workflow
  2. Select "Serp Live Search (POST)" operation
  3. Enter your search query
  4. Choose your search engine from Google, Bing and Yahoo
  5. Select domain and language
  6. Choose your location
  7. Execute the node
  ```

  ### Example 2: Multi-page SERP Results

  ```
  1. Add SERPHouse node to your workflow
  2. Select "Google SERP (Top 100 Results)" operation
  3. Enter your search query
  4. Configure domain, language, and location
  5. In Additional Fields, set "Max Pages" to desired value
  6. Execute the node to get comprehensive results
  ```

  ### Example 3: Google Jobs Search

  ```
  1. Add SERPHouse node to your workflow
  2. Select "Google Jobs API" operation
  3. Enter job search query (e.g., "software engineer")
  4. Select domain and language
  5. Choose location
  6. Optionally add date range filtering
  7. Execute the node
  ```

  ## Resources

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

  ## Version History

  ### 1.0.0

  - Initial release
  - Serp Live Search (POST) operation
  - Google SERP (Top 100 Results) operation
  - Google Jobs API operation

  ## License

  [MIT](https://github.com/SERPHouse/n8n-node-serphouse/blob/master/LICENSE.md)

  ## Support

  For issues or questions:

  - Contact SERPHouse support at [serphouse.com/contact-us](https://www.serphouse.com/contact-us)
  - You contact send your suggestions to [serphouse](accounts@serphouse.com)

ai_documentation_summary:
  {"purpose":"The SERPHouse node enables n8n users to scrape real-time search results and job listings from Google, Bing, Yahoo, and other search engines using SERPHouse's API, supporting various search types, device-specific results, location targeting, and date filtering.","capabilities":["Perform real-time searches across Google, Bing, and Yahoo with support for web, news, image, and shop search types","Retrieve up to 100 Google search results with multi-page scraping capability","Search and extract job listings from Google Jobs with location, language, and date range filtering","Support device-specific results (desktop, tablet, mobile)","Enable location targeting and date range filtering","Offer verbatim search and GFilter options","Support customizable result counts and pagination","Return results in JSON or HTML format"],"authentication":"API key required; obtain from https://www.serphouse.com/home and configure in the node's credentials section","commonUseCases":["Monitoring real-time search trends across major search engines","Competitor analysis using SERP data","Automated job listing scraping for recruitment or market research","Tracking brand mentions with location and device-specific data","Aggregating historical search results over time"],"limitations":[],"relatedNodes":["Search engine scraping nodes","Data collection and monitoring nodes","Job board integration nodes"]}


node_type: @telnyx/n8n-nodes-telnyx-ai.telnyxAi
package_name: @telnyx/n8n-nodes-telnyx-ai
display_name: Telnyx AI
description: Interact with Telnyx AI API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: team-telnyx
author_github_url: https://github.com/team-telnyx/n8n-nodes-telnyx-ai.git
npm_package_name: @telnyx/n8n-nodes-telnyx-ai
npm_version: 1.5.5
community_fetched_at: 2026-01-07T20:08:15.980Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "chat",
      "options": [
        {
          "name": "Assistant",
          "value": "assistants"
        },
        {
          "name": "Assistant Event",
          "value": "assistantEvents"
        },
        {
          "name": "Chat",
          "value": "chat"
        },
        {
          "name": "Conversation",
          "value": "conversations"
        },
        {
          "name": "Voice",
          "value": "voice"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many chat models",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                },
                {
                  "type": "setKeyValue",
                  "enabled": "={{$parameter[\"simplify\"]}}",
                  "properties": {
                    "id": "={{$responseItem.id}}",
                    "created": "={{$responseItem.created}}",
                    "owned_by": "={{$responseItem.owned_by}}",
                    "languages": "={{$responseItem.languages}}",
                    "parameters": "={{$responseItem.parameters}}",
                    "context_length": "={{$responseItem.context_length}}"
                  }
                }
              ]
            },
            "request": {
              "url": "/v2/ai/models",
              "method": "GET"
            }
          },
          "description": "Returns metadata about many chat models"
        },
        {
          "name": "Create Chat Completion",
          "value": "createChatCompletion",
          "action": "Create chat completion",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/v2/ai/chat/completions",
              "method": "POST"
            }
          },
          "description": "Chat a new chat completion with a language model"
        },
        {
          "name": "Summarize File",
          "value": "summarizeFile",
          "action": "Summarize file content",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "/v2/ai/summarize",
              "method": "POST"
            }
          },
          "description": "Generate a summary of a file's contents"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chat"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many voices",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "voices"
                  }
                }
              ]
            },
            "request": {
              "url": "/v2/text-to-speech/voices",
              "method": "GET"
            }
          },
          "description": "Returns metadata about many voices"
        },
        {
          "name": "Text to Speech",
          "value": "textToSpeech",
          "action": "Convert text to speech",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "/v2/text-to-speech/speech",
              "method": "POST",
              "encoding": "arraybuffer",
              "returnFullResponse": true
            }
          },
          "description": "Converts text into speech and returns audio"
        },
        {
          "name": "Speech to Text",
          "value": "speechToText",
          "action": "Transcribe audio",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/v2/ai/audio/transcriptions",
              "method": "POST",
              "headers": {
                "Content-Type": "multipart/form-data"
              }
            }
          },
          "description": "Transcribe an audio file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "voice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many assistants",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "/v2/ai/assistants",
              "method": "GET"
            }
          },
          "description": "Returns a list of many AI Assistants configured by the user"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an assistant",
          "routing": {
            "request": {
              "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}",
              "method": "GET"
            }
          },
          "description": "Returns a specific AI Assistant by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assistants"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a scheduled event",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events",
              "method": "POST"
            }
          },
          "description": "Create a new scheduled event for an assistant"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many events",
          "routing": {
            "send": {
              "paginate": "page_number",
              "property": "page_size"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events",
              "method": "GET"
            }
          },
          "description": "Get scheduled events for an assistant with pagination and filtering"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an event",
          "routing": {
            "request": {
              "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events/{{$parameter[\"eventId\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve a scheduled event by event ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an event",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "set",
                  "properties": {
                    "value": "={{ { \"deleted\": true } }}"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events/{{$parameter[\"eventId\"]}}",
              "method": "DELETE",
              "returnFullResponse": true
            }
          },
          "description": "Delete a scheduled event by event ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assistantEvents"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many conversations",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "/v2/ai/conversations",
              "method": "GET"
            }
          },
          "description": "Returns a list of conversations"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a conversation",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v2/ai/conversations/{{$parameter[\"conversationId\"]}}",
              "method": "GET"
            }
          },
          "description": "Returns a specific conversation by ID"
        },
        {
          "name": "Get Messages",
          "value": "getMessages",
          "action": "Get conversation messages",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v2/ai/conversations/{{$parameter[\"conversationId\"]}}/messages",
              "method": "GET"
            }
          },
          "description": "Retrieve messages for a specific conversation, including tool calls made by the assistant"
        },
        {
          "name": "Get Conversation Insights",
          "value": "getConversationInsights",
          "action": "Get insights for a conversation",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data"
                  }
                }
              ]
            },
            "request": {
              "url": "=/v2/ai/conversations/{{$parameter[\"conversationId\"]}}/conversations-insights",
              "method": "GET"
            }
          },
          "description": "Retrieve insights for a specific conversation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "conversations"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many chat models",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            },
            {
              "type": "setKeyValue",
              "enabled": "={{$parameter[\"simplify\"]}}",
              "properties": {
                "id": "={{$responseItem.id}}",
                "created": "={{$responseItem.created}}",
                "owned_by": "={{$responseItem.owned_by}}",
                "languages": "={{$responseItem.languages}}",
                "parameters": "={{$responseItem.parameters}}",
                "context_length": "={{$responseItem.context_length}}"
              }
            }
          ]
        },
        "request": {
          "url": "/v2/ai/models",
          "method": "GET"
        }
      },
      "description": "Returns metadata about many chat models"
    },
    {
      "name": "Create Chat Completion",
      "value": "createChatCompletion",
      "action": "Create chat completion",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/v2/ai/chat/completions",
          "method": "POST"
        }
      },
      "description": "Chat a new chat completion with a language model"
    },
    {
      "name": "Summarize File",
      "value": "summarizeFile",
      "action": "Summarize file content",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "/v2/ai/summarize",
          "method": "POST"
        }
      },
      "description": "Generate a summary of a file's contents"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many voices",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "voices"
              }
            }
          ]
        },
        "request": {
          "url": "/v2/text-to-speech/voices",
          "method": "GET"
        }
      },
      "description": "Returns metadata about many voices"
    },
    {
      "name": "Text to Speech",
      "value": "textToSpeech",
      "action": "Convert text to speech",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "/v2/text-to-speech/speech",
          "method": "POST",
          "encoding": "arraybuffer",
          "returnFullResponse": true
        }
      },
      "description": "Converts text into speech and returns audio"
    },
    {
      "name": "Speech to Text",
      "value": "speechToText",
      "action": "Transcribe audio",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/v2/ai/audio/transcriptions",
          "method": "POST",
          "headers": {
            "Content-Type": "multipart/form-data"
          }
        }
      },
      "description": "Transcribe an audio file"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many assistants",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "/v2/ai/assistants",
          "method": "GET"
        }
      },
      "description": "Returns a list of many AI Assistants configured by the user"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an assistant",
      "routing": {
        "request": {
          "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}",
          "method": "GET"
        }
      },
      "description": "Returns a specific AI Assistant by ID"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a scheduled event",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events",
          "method": "POST"
        }
      },
      "description": "Create a new scheduled event for an assistant"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many events",
      "routing": {
        "send": {
          "paginate": "page_number",
          "property": "page_size"
        },
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events",
          "method": "GET"
        }
      },
      "description": "Get scheduled events for an assistant with pagination and filtering"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an event",
      "routing": {
        "request": {
          "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events/{{$parameter[\"eventId\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve a scheduled event by event ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an event",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "set",
              "properties": {
                "value": "={{ { \"deleted\": true } }}"
              }
            }
          ]
        },
        "request": {
          "url": "=/v2/ai/assistants/{{$parameter[\"assistant\"]}}/scheduled_events/{{$parameter[\"eventId\"]}}",
          "method": "DELETE",
          "returnFullResponse": true
        }
      },
      "description": "Delete a scheduled event by event ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many conversations",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "/v2/ai/conversations",
          "method": "GET"
        }
      },
      "description": "Returns a list of conversations"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a conversation",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/v2/ai/conversations/{{$parameter[\"conversationId\"]}}",
          "method": "GET"
        }
      },
      "description": "Returns a specific conversation by ID"
    },
    {
      "name": "Get Messages",
      "value": "getMessages",
      "action": "Get conversation messages",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/v2/ai/conversations/{{$parameter[\"conversationId\"]}}/messages",
          "method": "GET"
        }
      },
      "description": "Retrieve messages for a specific conversation, including tool calls made by the assistant"
    },
    {
      "name": "Get Conversation Insights",
      "value": "getConversationInsights",
      "action": "Get insights for a conversation",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "data"
              }
            }
          ]
        },
        "request": {
          "url": "=/v2/ai/conversations/{{$parameter[\"conversationId\"]}}/conversations-insights",
          "method": "GET"
        }
      },
      "description": "Retrieve insights for a specific conversation"
    }
  ]

npm_readme:
  # @telnyx/n8n-nodes-telnyx-ai

  This is an n8n community node. It lets you use Telnyx Voice AI in your n8n workflows.

  Telnyx Voice AI is a comprehensive platform that provides advanced conversational AI capabilities, including text-to-speech, speech-to-text, chat completions, and voice assistants with real-time interaction features.

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

  You can install this package using npm:

  ```bash
  npm install @telnyx/n8n-nodes-telnyx-ai
  ```

  ## Operations

  This node supports the following resources and operations:

  ### Assistants

  - **Get Many**: Retrieve a list of AI Assistants configured by the user
  - **Get**: Get details of a specific assistant

  ### Assistant Events

  - **Create**: Create a scheduled event for an assistant
  - **Get Many**: Get a list of assistant events
  - **Get**: Get details of a specific event
  - **Delete**: Delete an assistant event

  ### Chat

  - **Get Many Models**: Get metadata about available chat models
  - **Create Chat Completion**: Generate chat completions using AI models
  - **Summarize**: Summarize file content using AI

  ### Conversations

  - **Get Many**: Retrieve a list of conversations
  - **Get**: Get details of a specific conversation
  - **Get Messages**: Get messages from a conversation
  - **Get Insights**: Get AI-generated insights for a conversation

  ### Voice

  - **Get Many Voices**: Get metadata about available voice models
  - **Text to Speech**: Convert text to speech audio
  - **Speech to Text**: Transcribe audio to text

  ## Credentials

  To use this node, you need to authenticate with the Telnyx API using your API key.

  ### Prerequisites

  1. Sign up for a [Telnyx account](https://telnyx.com)
  2. Navigate to your [API Keys page](https://portal.telnyx.com/#/app/api-keys) in the Telnyx Portal
  3. Generate a new API key or use an existing one

  ### Setting up credentials in n8n

  1. In n8n, go to **Credentials** and create new credentials
  2. Search for "Telnyx API" and select it
  3. Enter your Telnyx API key in the **API Key** field
  4. Test the credentials to ensure they work correctly

  For more information about Telnyx API keys, refer to the [official documentation](https://support.telnyx.com/en/articles/4305158-api-keys-and-how-to-use-them).

  ## Compatibility

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

  This node is built using n8n's programmatic-style node architecture and follows the latest n8n development best practices.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Telnyx Voice AI API documentation](https://developers.telnyx.com/docs/api/v2/ai)
  - [Telnyx Portal](https://portal.telnyx.com)
  - [Telnyx Support](https://support.telnyx.com)

  ## Version history

  ### 1.5.5 (Current)

  - Comprehensive Telnyx Voice AI integration
  - Support for Assistants, Chat, Voice, Conversations, and Assistant Events
  - Full CRUD operations for assistant events
  - Text-to-speech and speech-to-text capabilities
  - Chat completions and file summarization
  - Conversation insights and message management

ai_documentation_summary:
  {"purpose":"The Telnyx AI node enables integration with Telnyx Voice AI to perform AI-powered voice and text operations such as text-to-speech, speech-to-text, chat completions, conversation management, and assistant event scheduling within n8n workflows.","capabilities":["Retrieve and manage AI assistants (get many, get details)","Create, retrieve, list, and delete assistant events","Access chat models and generate chat completions","Summarize file content using AI","Retrieve and manage conversations and their messages","Generate AI insights from conversations","Convert text to speech audio","Transcribe audio to text","Get metadata about available voices and chat models"],"authentication":"API key required; obtain from Telnyx Portal under API Keys","commonUseCases":["Automated voice messages via text-to-speech","Transcribing customer calls using speech-to-text","Generating AI-powered chat responses in customer service workflows","Summarizing long-form documents or call transcripts","Managing AI assistant interactions and scheduled events"],"limitations":[],"relatedNodes":["n8n core nodes for workflow control","n8n nodes for data handling (e.g., JSON, file operations)","n8n nodes for triggering actions (e.g., HTTP requests, webhooks)"]}


node_type: @musixmatch/n8n-nodes-musixmatch.musixmatch
package_name: @musixmatch/n8n-nodes-musixmatch
display_name: Musixmatch
description: Interact with Musixmatch API to access music metadata, lyrics, and more
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: musixmatchdev
author_github_url: https://github.com/musixmatchdev/n8n-nodes-musixmatch.git
npm_package_name: @musixmatch/n8n-nodes-musixmatch
npm_version: 0.2.2
community_fetched_at: 2026-01-07T20:08:15.981Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "catalog",
      "options": [
        {
          "name": "Catalog",
          "value": "catalog"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Chart Tracks Get",
          "value": "chartTracksGet",
          "action": "Get chart tracks",
          "description": "Retrieve track charts"
        },
        {
          "name": "Track Get",
          "value": "trackGet",
          "action": "Get track information",
          "description": "Get track information"
        },
        {
          "name": "Track Lyrics Get",
          "value": "trackLyricsGet",
          "action": "Get track lyrics",
          "description": "Get track lyrics"
        },
        {
          "name": "Track Subtitle Get",
          "value": "trackSubtitleGet",
          "action": "Get track subtitles",
          "description": "Get track subtitles"
        },
        {
          "name": "Matcher Track Get",
          "value": "matcherTrackGet",
          "action": "Match track by metadata",
          "description": "Match track by metadata"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "catalog"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Chart Tracks Get",
      "value": "chartTracksGet",
      "action": "Get chart tracks",
      "description": "Retrieve track charts"
    },
    {
      "name": "Track Get",
      "value": "trackGet",
      "action": "Get track information",
      "description": "Get track information"
    },
    {
      "name": "Track Lyrics Get",
      "value": "trackLyricsGet",
      "action": "Get track lyrics",
      "description": "Get track lyrics"
    },
    {
      "name": "Track Subtitle Get",
      "value": "trackSubtitleGet",
      "action": "Get track subtitles",
      "description": "Get track subtitles"
    },
    {
      "name": "Matcher Track Get",
      "value": "matcherTrackGet",
      "action": "Match track by metadata",
      "description": "Match track by metadata"
    }
  ]

npm_readme:
  # n8n-nodes-musixmatch

  <picture>
    <source media="(prefers-color-scheme: dark)" srcset=".github/musixmatch-logo-dark.png">
    <source media="(prefers-color-scheme: light)" srcset=".github/musixmatch-logo.png">
    <img alt="Musixmatch Logo" src=".github/musixmatch-logo.png" width="300">
  </picture>

  This is an n8n community node that lets you use [Musixmatch](https://www.musixmatch.com/) in your n8n workflows.

  Musixmatch is the world's largest lyrics catalog, providing access to millions of songs' lyrics, translations, subtitles, and music metadata. This node enables you to integrate Musixmatch's powerful API into your automation workflows.

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

  ## Table of Contents

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

  ## Installation

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

  ### Community Node Installation

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

  After installing the node, you can use it like any other node in your workflows.

  ## Operations

  The Musixmatch node currently supports the following operations:

  ### Catalog Resource

  - **Chart Tracks Get**: Retrieve the top charting tracks from a specific country
  - **Track Get**: Get track information by Musixmatch Track ID
  - **Track Lyrics Get**: Retrieve lyrics for a specific track
  - **Track Lyrics Translation Get**: Get translated lyrics for a track in a specified language
  - **Track Subtitle Get**: Retrieve subtitles (time-synced lyrics) for a track
  - **Matcher Track Get**: Search and match a track by artist and track name

  ### Available Operations Details

  #### Chart Tracks Get

  Retrieve trending and top charting tracks from Musixmatch charts. You can filter by country and chart type (e.g., top, hot, mxmweekly).

  #### Track Get

  Fetch detailed information about a specific track using its Musixmatch Track ID, including metadata like artist name, album, release date, and more.

  #### Track Lyrics Get

  Access the lyrics of any track in the Musixmatch catalog by providing the Track ID.

  #### Track Lyrics Translation Get

  Get translated versions of lyrics in multiple languages. Perfect for multilingual applications and global audiences.

  #### Track Subtitle Get

  Retrieve time-synced subtitles (lyrics with timestamps) for karaoke applications, music players, or synchronized displays.

  #### Matcher Track Get

  Search for a track by providing the artist name and track title. This operation returns the best matching track from the Musixmatch database.

  ## Credentials

  To use this node, you need a Musixmatch API key.

  ### Getting Your API Key

  1. Visit [Musixmatch API Pricing](https://about.musixmatch.com/api-pricing) to view available plans
  2. Subscribe to a plan that fits your needs
  3. Once subscribed, you'll receive your API key
  4. Copy your API key to use with this n8n node

  ### Setting Up Credentials in n8n

  1. In your n8n workflow, add the Musixmatch node
  2. Click on **Credential for Musixmatch API**
  3. Select **Create New Credential**
  4. Enter your **API Key**
  5. Click **Save**

  The node will automatically authenticate all API requests using your credentials.

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Tested with n8n versions**: 1.119.2 and above

  This node is built using the latest n8n community node standards and should be compatible with all recent versions of n8n.

  ## Usage

  ### Example Workflow: Get Trending Tracks with Lyrics

  Here's a simple example that retrieves the top 10 trending tracks from the US charts and fetches their lyrics:

  1. **Add Musixmatch node** configured to use **Chart Tracks Get** operation
     - Set **Country** to `US`
     - Set **Chart Name** to `top`
     - Set **Page Size** to `10`

  2. **Add a second Musixmatch node** configured to use **Track Lyrics Get** operation
     - Use `{{ $json.track_id }}` from the previous node to fetch lyrics for each track

  3. **Process the results** with other n8n nodes as needed (e.g., save to database, send to webhook, etc.)

  ### Example Workflow: Search and Translate Lyrics

  1. **Add Musixmatch node** configured to use **Matcher Track Get** operation
     - Set **Artist Name** to the artist you want to search
     - Set **Track Name** to the song title

  2. **Add a second Musixmatch node** configured to use **Track Lyrics Translation Get** operation
     - Use `{{ $json.track_id }}` from the previous node
     - Set **Language** to your desired language code (e.g., `es` for Spanish, `fr` for French)

  ### Tips

  - The node is compatible with AI Agent workflows (marked as `usableAsTool`)
  - All operations respect n8n's **Continue On Fail** setting for robust error handling
  - Use the **Matcher Track Get** operation when you don't have a Track ID but know the artist and song name
  - Rate limits depend on your Musixmatch API plan - consider implementing appropriate delays for large batch operations

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Musixmatch API Documentation](https://docs.musixmatch.com)
  - [n8n Documentation](https://docs.n8n.io/)

  ## Support

  For issues, questions, or contributions, please visit the [GitHub repository](https://github.com/musixmatchdev/n8n-nodes-musixmatch/issues).

  ---

  _This is a community node and is not officially maintained by n8n. For official support, please contact Musixmatch directly._

ai_documentation_summary:
  {"purpose":"The Musixmatch node enables integration with the Musixmatch API to retrieve music metadata, lyrics, translations, and subtitles, allowing automation of music-related workflows in n8n.","capabilities":["Retrieve top charting tracks by country and chart type","Get detailed track information by Track ID","Fetch lyrics for a specific track","Retrieve translated lyrics in multiple languages","Get time-synced subtitles (karaoke-style lyrics)","Search and match tracks by artist and song title"],"authentication":"API key required; obtain it by subscribing to a Musixmatch API plan and setting it up in the node's credentials section","commonUseCases":["Fetching trending music tracks for analytics or content curation","Automatically retrieving song lyrics for content creation or display","Providing multilingual lyrics for global audiences","Generating karaoke-ready subtitles with timestamps","Searching for songs by artist and title when no Track ID is available"],"limitations":["Rate limits depend on the Musixmatch API plan and must be managed manually in large batch operations","No built-in support for advanced filtering or pagination beyond what's available in the API","Community node — not officially maintained by n8n; support and updates come from the Musixmatch team via GitHub"],"relatedNodes":["n8n nodes for data processing","n8n nodes for database storage","n8n nodes for webhooks or AI agents (as a tool)"]}


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

updated_at: 2026-01-07 20:08:15
author_name: rye-api
author_github_url: https://github.com/rye-com/
npm_package_name: n8n-nodes-rye
npm_version: 1.0.3
community_fetched_at: 2026-01-07T20:08:15.981Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "checkoutIntent",
      "options": [
        {
          "name": "Checkout Intent",
          "value": "checkoutIntent"
        },
        {
          "name": "Brand",
          "value": "brand"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a checkout intent",
          "description": "Create a new checkout intent"
        },
        {
          "name": "Get State",
          "value": "getState",
          "action": "Get checkout intent state",
          "description": "Get the state of a checkout intent"
        },
        {
          "name": "Confirm",
          "value": "confirm",
          "action": "Confirm a checkout intent",
          "description": "Confirm a checkout intent with payment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "checkoutIntent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "verifyBrandSupport",
      "options": [
        {
          "name": "Verify Support",
          "value": "verifyBrandSupport",
          "action": "Verify brand support",
          "description": "Check if a brand/domain is supported"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "brand"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a checkout intent",
      "description": "Create a new checkout intent"
    },
    {
      "name": "Get State",
      "value": "getState",
      "action": "Get checkout intent state",
      "description": "Get the state of a checkout intent"
    },
    {
      "name": "Confirm",
      "value": "confirm",
      "action": "Confirm a checkout intent",
      "description": "Confirm a checkout intent with payment"
    },
    {
      "name": "Verify Support",
      "value": "verifyBrandSupport",
      "action": "Verify brand support",
      "description": "Check if a brand/domain is supported"
    }
  ]

npm_readme:
  # n8n-nodes-rye

  This is an n8n community node that lets you use the Rye Universal Checkout API in your n8n workflows.

  The Rye Universal Checkout API turns any product URL into a completed checkout. Instantly retrieve price, tax, and shipping for any product, and let users buy without ever leaving your native AI experience.

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

  **Table of Contents**

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Example Workflows](#example-workflows)
  - [Resources](#resources)
  - [Support](#support)

  ## Installation

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

  ## Operations

  This node provides the following operations:

  ### Checkout Intent

  - **Create**: Submit a new checkout with a product URL and buyer information
  - **Get State**: Check the state of a checkout intent (with optional automatic polling)
  - **Confirm**: Confirm a checkout intent with a payment method

  ### Brand

  - **Verify Support**: Check if a merchant domain is supported by the Rye API

  ## Credentials

  To use this node, you need a Rye API account and access token.

  ### Prerequisites

  1. Sign up for a Rye API staging account from the [developer console](https://staging.console.rye.com/register)
  2. Generate an API access token from your [Rye account](https://staging.console.rye.com/account)

  For more information, refer to the official [Rye Account Registration](https://docs.rye.com/api-v2/account-registration) documentation.

  ### Setting up credentials in n8n

  1. In n8n, go to **Credentials** → **New**
  2. Search for "Rye API"
  3. Enter your **API URL**:
     - Staging: `https://staging.api.rye.com/api/v1`
     - Production: `https://api.rye.com/api/v1`
  4. Enter your **Access Token** (without the HTTP authentication scheme prefix, e.g., "Basic")
  5. Click **Save**

  ## Compatibility

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

  ## Usage

  ### Basic Checkout Flow

  The typical checkout flow involves these steps:

  1. **Create a Checkout Intent** with a product URL and buyer details
  2. **Poll for State** until the checkout reaches `awaiting_confirmation` state
  3. **Confirm the Checkout** with a payment token
  4. **Poll for State** again until the checkout reaches `completed` state

  ### Using the Get State Operation with Polling

  The "Get State" operation includes automatic polling functionality to wait for the checkout to reach a terminal state.

  #### Polling Parameters

  - **Enable Polling**: When enabled, the node automatically retries checking the state
  - **Max Attempts**: Maximum number of times to check (default: 20). Note: Some merchants may take up to 45 minutes to process.
  - **Initial Interval (Seconds)**: Starting wait time (default: 5 seconds)
  - **Max Interval (Seconds)**: Maximum wait time between attempts (default: 60 seconds)

  #### Checkout States

  **Terminal States** (polling stops automatically):

  - `awaiting_confirmation` - Checkout is ready and awaiting payment confirmation
  - `completed` - Checkout successfully completed
  - `failed` - Checkout failed

  **Processing States** (polling continues):

  - `retrieving_offer` - Initial state after creating a checkout intent; Rye is retrieving the offer from the merchant

  > **💡 Tip**: If polling times out in the `retrieving_offer` state, increase the **Max Attempts** value or handle this state explicitly in your workflow.

  #### Polling Behavior

  The "Get State" node uses exponential backoff to space out polling attempts, giving you flexibility to manage the [Rye API rate limits](https://docs.rye.com/api-v2/developer-notes#ordering-%26-checkout) more effectively.

  Wait time starts at `initialIntervalSeconds` and doubles with each attempt up to `maxIntervalSeconds`

  Example timing: 5s → 10s → 20s → 40s → 60s → 60s...

  Note: using the default parameter values (`maxAttempts = 20`, `initialIntervalSeconds = 5`, `maxIntervalSeconds = 60`), the node will poll for up to ~17 minutes

  #### Best Practice

  After polling completes, use a **Switch** or **IF** node to route your workflow based on the final state.

  ### Address Validation

  > **⚠️ Important**: The Rye API currently only supports US addresses. The node will validate this and throw an error if a non-US country code is provided.

  ## Example Workflows

  ### Complete Checkout with State Routing

  ```
  Manual Trigger
    ↓
  Verify Brand Support (Rye)
    ↓
  Create Checkout Intent (Rye)
    ↓
  Get State with Polling (Rye)
    ↓
  Switch (based on state)
    ├─ awaiting_confirmation → Confirm Checkout (Rye)
    │                            ↓
    │                         Get State with Polling (Rye)
    │                            ↓
    │                         Switch (based on final state)
    │                            ├─ completed → Success notification
    │                            └─ failed → Error notification
    │
    └─ failed → Error notification
  ```

  ### Step-by-Step Configuration

  #### 1. Verify Brand Support

  - **Resource**: Brand
  - **Operation**: Verify Support
  - **Domain**: `amazon.com` (or your target merchant domain)

  #### 2. Create Checkout Intent

  - **Resource**: Checkout Intent
  - **Operation**: Create
  - **Product URL**: Full URL of the product to purchase
  - **Buyer Email**: Customer's email address
  - **Shipping Address**: Complete US address details

  #### 3. Get State (with Polling) - First Check

  - **Resource**: Checkout Intent
  - **Operation**: Get State
  - **Checkout Intent ID**: `{{ $json.id }}` (from Create step)
  - **Enable Polling**: `true`
  - **Max Attempts**: `20`
  - **Initial Interval (Seconds)**: `5`
  - **Max Interval (Seconds)**: `60`

  #### 4. Switch Node - Route Based on Initial State

  Configure switch rules:

  - **Rule 1**: `{{ $json.state === "awaiting_confirmation" }}` → Continue to Confirm
  - **Rule 2**: `{{ $json.state === "failed" }}` → Error handling

  #### 5. Confirm Checkout (if awaiting_confirmation)

  - **Resource**: Checkout Intent
  - **Operation**: Confirm
  - **Checkout Intent ID**: `{{ $('Get State').item.json.id }}`
  - **Payment Token**: Payment method token from your payment processor (e.g., Stripe)

  #### 6. Get State (with Polling) - Final Check

  - **Resource**: Checkout Intent
  - **Operation**: Get State
  - **Checkout Intent ID**: `{{ $('Confirm Checkout').item.json.id }}`
  - **Enable Polling**: `true`
  - **Max Attempts**: `20`
  - **Initial Interval (Seconds)**: `5`
  - **Max Interval (Seconds)**: `60`

  #### 7. Switch Node - Route Based on Final State

  Configure switch rules:

  - **Rule 1**: `{{ $json.state === "completed" }}` → Success handling
  - **Rule 2**: `{{ $json.state === "failed" }}` → Error handling

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Rye API Documentation](https://docs.rye.com)
  - [Rye Universal Checkout Guide](https://docs.rye.com/api-v2/introduction)

  ## Support

  For issues or questions:

  - **Node Issues**: [GitHub Issues](https://github.com/rye-com/n8n-nodes-rye/issues)
  - **n8n Community**: [n8n Forum](https://community.n8n.io/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Rye node enables integration with the Rye Universal Checkout API to create, poll, and confirm checkouts for products via a product URL, supporting instant price, tax, and shipping retrieval with automated state polling and payment confirmation.","capabilities":["Create a checkout intent with a product URL and buyer information","Retrieve the current state of a checkout intent with optional automatic polling","Confirm a checkout intent using a payment method","Verify if a merchant domain is supported by the Rye API","Poll for checkout state with exponential backoff and configurable retry limits"],"authentication":"API key (access token) required; credentials must be set with API URL and access token in n8n","commonUseCases":["Automating product purchases from third-party merchants without redirecting users","Integrating product checkout into AI-powered workflows with real-time pricing and shipping data","Validating merchant support before initiating a checkout process","Handling checkout state transitions with automated polling and error handling"],"limitations":["Only supports US addresses; non-US country codes will result in an error","Polling may take up to 45 minutes for some merchants; long processing times require increased max attempts or explicit handling","No support for international shipping or tax calculations beyond US"],"relatedNodes":["Switch","IF","Manual Trigger"]}


node_type: @nvoip/n8n-nodes-nvoip.nvoip
package_name: @nvoip/n8n-nodes-nvoip
display_name: Nvoip
description: Node for sending SMS via Nvoip
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: lucasnaves
author_github_url: https://github.com/Nvoip/nvoip-n8n.git
npm_package_name: @nvoip/n8n-nodes-nvoip
npm_version: 0.1.9
community_fetched_at: 2026-01-07T20:08:15.982Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "sms",
      "options": [
        {
          "name": "SMS",
          "value": "sms",
          "description": "SMS actions"
        },
        {
          "name": "WhatsApp",
          "value": "whatsapp",
          "description": "WhatsApp actions"
        },
        {
          "name": "Call",
          "value": "call",
          "description": "Call actions"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "makeCall",
      "options": [
        {
          "name": "Make Call",
          "value": "makeCall",
          "action": "Make a phone call",
          "description": "Make an outbound call using Nvoip"
        },
        {
          "name": "Send Interactive Voice Broadcast",
          "value": "sendVoiceBlastInteractive",
          "action": "Send interactive voice broadcast",
          "description": "Send an automated voice message with the ability to receive DTMF input"
        },
        {
          "name": "Send Voice Broadcast",
          "value": "sendVoiceBlast",
          "action": "Send voice broadcast",
          "description": "Send an automated voice message delivered as audio file or TTS"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendSms",
      "options": [
        {
          "name": "Send SMS",
          "value": "sendSms",
          "action": "Send SMS",
          "description": "Send a customized SMS message to a customer"
        },
        {
          "name": "Send SMS (Template)",
          "value": "sendTemplateSms",
          "action": "Send template SMS",
          "description": "Send an SMS using a predefined template"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sms"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendWhatsapp",
      "options": [
        {
          "name": "Send WhatsApp (With HSM)",
          "value": "sendWhatsapp",
          "action": "Send whatsapp message",
          "description": "Send WhatsApp template messages using Nvoip for automated communication"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "whatsapp"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Make Call",
      "value": "makeCall",
      "action": "Make a phone call",
      "description": "Make an outbound call using Nvoip"
    },
    {
      "name": "Send Interactive Voice Broadcast",
      "value": "sendVoiceBlastInteractive",
      "action": "Send interactive voice broadcast",
      "description": "Send an automated voice message with the ability to receive DTMF input"
    },
    {
      "name": "Send Voice Broadcast",
      "value": "sendVoiceBlast",
      "action": "Send voice broadcast",
      "description": "Send an automated voice message delivered as audio file or TTS"
    },
    {
      "name": "Send SMS",
      "value": "sendSms",
      "action": "Send SMS",
      "description": "Send a customized SMS message to a customer"
    },
    {
      "name": "Send SMS (Template)",
      "value": "sendTemplateSms",
      "action": "Send template SMS",
      "description": "Send an SMS using a predefined template"
    },
    {
      "name": "Send WhatsApp (With HSM)",
      "value": "sendWhatsapp",
      "action": "Send whatsapp message",
      "description": "Send WhatsApp template messages using Nvoip for automated communication"
    }
  ]

npm_readme:
  // SPDX-License-Identifier: MIT
  // Portions Copyright (c) 2022 n8n GmbH
  // Modifications Copyright (c) 2025 Nvoip Plataforma de Comunicação Ltda.
  # 📡 @nvoip/n8n-nodes-nvoip

  [![Node.js Version](https://img.shields.io/badge/Node.js-20+-green)](https://nodejs.org/)
  [![n8n](https://img.shields.io/badge/n8n-supported-brightgreen)](https://n8n.io/)
  [![License](https://img.shields.io/badge/License-MIT-blue)](LICENSE)

  Integração da **Nvoip** com o **[n8n](https://n8n.io/)** para automação de comunicações:  
  ✅ Envio de SMS  
  ✅ Mensagens via WhatsApp  
  ✅ Ligações telefônicas  
  ✅ Torpedos de voz (simples e interativos)  

  ---

  ## 🚀 Introdução
  Este pacote fornece um **node personalizado para o n8n**, permitindo integrar de forma simples e rápida os serviços da **Nvoip** em fluxos de automação.  
  O projeto foi desenvolvido em **TypeScript**, com suporte a **OAuth2** para autenticação segura e diversas funcionalidades de comunicação.

  ---

  ## ⚙️ Como usar o node

  Siga este passo a passo para configurar e usar o node @nvoip/n8n-nodes-nvoip:

  1. **Instale o node da comunidade**  
     - Abra o n8n e vá até a aba de **Nodes da Comunidade**.  
     - Procure por `@nvoip/n8n-nodes-nvoip` e instale.

  2. **Adicione o node no seu fluxo**  
     - Arraste o node para o seu canvas de automação.  
     - Clique nele para abrir as configurações.

  3. **Configure suas credenciais**  
     - Na aba de **Login/Autenticação**, insira suas credenciais da Nvoip.  
     - O node utiliza **OAuth2**, garantindo acesso seguro à API da Nvoip.

  4. **Configure a ação desejada**  
     - **SMS**: Defina o número do destinatário e a mensagem (suporte a variáveis e templates).  
     - **WhatsApp**: Configure o envio de mensagens via API oficial, com suporte a templates predefinidos.  
     - **Ligações telefônicas**: Escolha o ramal de origem, número de destino e configure transferências se necessário.  
     - **Torpedo de voz**: Selecione **Simples** (texto convertido em áudio) ou **Interativo** (envio de link para áudio público).

  5. **Teste o fluxo**  
     - Execute o node no modo de teste.  
     - Verifique logs e mensagens enviadas para garantir que a integração está funcionando corretamente.

  6. **Salve e publique seu fluxo**  
     - Quando tudo estiver configurado, salve o fluxo e publique para produção.


  ## SMS

  -	Envio de mensagens customizadas
  	
  -	Suporte a variáveis e templates de SMS

  ## WhatsApp

  -	Envio de mensagens via API oficial
  	
  -	Suporte a templates predefinidos

  ## Ligações Telefônicas

  -	Disparo de chamadas via ramal
  	
  -	Conexão entre usuário e cliente final
  	
  -	Implementação inicial do recurso transferTrue (em desenvolvimento)
  	
  -	Torpedo de Voz
  	
  -	Simples: texto convertido em áudio
  	
  -	Interativo: envio de link para áudio público

  ## 📌 Conclusão

  O @nvoip/n8n-nodes-nvoip amplia o poder de automação no n8n, permitindo gerenciar toda a comunicação multicanal da Nvoip em um único node.
  A arquitetura modular garante extensibilidade e manutenção simples, abrindo espaço para futuras evoluções.

ai_documentation_summary:
  {"purpose":"A node that enables sending SMS, WhatsApp messages, making phone calls, and sending voice prompts (simple or interactive) via the Nvoip platform within n8n automation workflows.","capabilities":["Send SMS with custom messages and support for variables and templates","Send WhatsApp messages using Nvoip's official API with predefined templates","Make phone calls from a specified extension with support for call transfers (in development)","Send voice prompts: simple (text-to-audio) or interactive (link to public audio)","OAuth2 authentication for secure access to Nvoip API"],"authentication":"OAuth2","commonUseCases":["Automated customer notifications via SMS or WhatsApp","Triggering voice-based interactions (e.g., appointment reminders)","Customer service call routing with automated call initiation","Multi-channel communication management in a single workflow"],"limitations":["Call transfer feature (transferTrue) is currently in development and may not be fully functional","Interactive voice prompts require public audio links, which may limit customization"],"relatedNodes":["SMS nodes","WhatsApp integration nodes","Telephony/Call nodes","Voice interaction nodes"]}


node_type: n8n-nodes-whatsable.whatsAble
package_name: n8n-nodes-whatsable
display_name: WhatsAble
description: Automate WhatsApp messages
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: whatsabledev
author_github_url: https://github.com/Whatsable/
npm_package_name: n8n-nodes-whatsable
npm_version: 2.3.3
community_fetched_at: 2026-01-07T20:08:15.983Z
ai_summary_generated_at: 2026-01-08 10:45:31
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "sendMessage",
      "options": [
        {
          "name": "Send Message",
          "value": "sendMessage"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendWhatsAppMessage",
      "options": [
        {
          "name": "Send WhatsApp Message",
          "value": "sendWhatsAppMessage",
          "action": "Send whatsapp message",
          "description": "Send WhatsApp messages immediately"
        },
        {
          "name": "Schedule WhatsApp Message",
          "value": "scheduleWhatsAppMessage",
          "action": "Schedule whatsapp message",
          "description": "Schedule WhatsApp messages for later delivery"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sendMessage"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send WhatsApp Message",
      "value": "sendWhatsAppMessage",
      "action": "Send whatsapp message",
      "description": "Send WhatsApp messages immediately"
    },
    {
      "name": "Schedule WhatsApp Message",
      "value": "scheduleWhatsAppMessage",
      "action": "Schedule whatsapp message",
      "description": "Schedule WhatsApp messages for later delivery"
    }
  ]

npm_readme:
  <p align="center">
    <img src="https://d1pnnwteuly8z3.cloudfront.net/images/acc1c175-2e05-4bab-805e-64536550fa04/393f0ca5-e904-41f3-8eee-b2dab6bd4e0d.png" alt="WhatsAble Logo" width="160"/>
  </p>

  [![MIT License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE.md)

  ## Table of Contents

  - [Overview](#overview)
  - [Installation](#installation)
  - [Authentication](#authentication)
  - [Features](#features)
  - [How to Use WhatsAble Action Node](#how-to-use-whatsable-action-node)
  - [How to Use WhatsAble Trigger Node](#how-to-use-whatsable-trigger-node)
  - [How to Use Notifier Action Node](#how-to-use-notifier-action-node)
  - [How to Use Notifier Trigger Node](#how-to-use-notifier-trigger-node)
  - [How to Use Notifyer System Action Node](#how-to-use-notifyer-system-action-node)
  - [How to Use Notifyer System Trigger Node](#how-to-use-notifyer-system-trigger-node)
  - [Common Use Cases](#common-use-cases)
  - [Best Practices](#best-practices)
  - [Support](#support)
  - [License](#license)
  - [Resources](#resources)

  ---

  # n8n-nodes-whatsable

  This is an [n8n](https://n8n.io/) community node for integrating with the WhatsAble Suite, providing powerful WhatsApp messaging automation capabilities.

  ---

  ## Overview

  The WhatsAble Suite offers a comprehensive set of messaging tools that integrate seamlessly with n8n, enabling powerful automation workflows for businesses of all sizes. The suite comprises three powerful messaging platforms:

  ### WhatsAble
  - Ideal for small businesses and startups
  - Simple integration with n8n
  - Basic media support
  - Subscription-based pricing
  - 7-day free trial
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ### Notifier by WhatsAble
  - Perfect for medium-sized businesses
  - Enhanced template support
  - Standard media capabilities
  - Flexible pricing options
  - Available free trial
  - [Documentation](https://docs.whatsable.app/guides/notifier/n8n)

  ### Notifyer System
  - Enterprise-grade solution
  - Advanced template capabilities
  - Full media support
  - Enterprise pricing
  - Try for free with 2 numbers
  - [Documentation](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## Installation

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

  ---

  ## Authentication

  To use this node, you need to have an API key from your chosen WhatsAble Suite platform:

  1. Sign up at [WhatsAble](https://whatsable.app)
  2. Choose your platform (WhatsAble, Notifier, or Notifyer System)
  3. Complete the verification process
  4. Generate an API key from your platform's dashboard

  > **Note:** Keep your API key secure and never share it publicly.

  ---

  ## Features

  ### WhatsAble Node
  - Send messages
  - Send template messages (Via Notifyer System)
  - Send non-template messages
  - Schedule messages
  - Support for various media types
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ### WhatsAble Trigger Node
  - Receive incoming messages
  - Handle webhooks
  - Process notifications
  - Real-time message triggers
  - [Documentation](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use WhatsAble Action Node

  ### Prerequisites
  - An active WhatsAble subscription
  - Access to n8n workflow automation platform
  - A verified WhatsApp number in your WhatsAble dashboard

  ### Setup Process

  1. **Subscribe to WhatsAble**
     - Log in to your WhatsAble dashboard
     - Click the Subscribe button
     - Start your 7-day free trial
     - Note: After trial, pricing is $8.99 per month per phone number
  2. **Add and Verify Phone Number**
     - Navigate to Verified Numbers in your dashboard
     - Click Add New Number
     - Enter your phone number (with country code)
     - Complete the WhatsApp verification process
     - Note: Only first number needs verification
  3. **Get Your API Key**
     - Go to API Keys in your WhatsAble dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your WhatsAble API key
     - Name your credential (e.g., "WhatsAble Production")
     - Click Save
  5. Configure message settings:
     - Select "Send Message (WhatsAble)" operation
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  For detailed documentation, visit [WhatsAble n8n Integration Guide](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use WhatsAble Trigger Node

  ### Prerequisites
  - An active WhatsAble subscription
  - Access to n8n workflow automation platform
  - A verified WhatsApp number in your WhatsAble dashboard

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the WhatsAble Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the WhatsAble Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your WhatsAble API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [WhatsAble n8n Integration Guide](https://docs.whatsable.app/guides/whatsable/n8n)

  ---

  ## How to Use Notifier Action Node

  ### Prerequisites
  - An active Notifier account (Monthly or Pay-as-you-go plan)
  - Access to n8n workflow automation platform
  - Business information ready for configuration

  ### Setup Process

  1. **Configure Business Information**
     - Log in to your Notifier dashboard
     - Navigate to Business Information
     - Complete required fields
     - Verify your WhatsApp number with the code sent
  2. **Get Your API Key**
     - Go to API Keys in your Notifier dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your Notifier API key
     - Name your credential (e.g., "Notifier Production")
     - Click Save
  5. Configure message settings:
     - Select "Send Message (Notifier)" operation
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  ### Example Workflows with Notifier
  - Lead Nurturing: Trigger on form submission, send personalized welcome, schedule follow-ups
  - Order Confirmations: Trigger on order status change, send update with details
  - Event Reminders: Trigger on calendar event, send reminder with RSVP link
  - Customer Feedback: Trigger on purchase, send feedback request
  - Support Ticket Updates: Trigger on ticket status change, send update

  For detailed documentation, visit [Notifier n8n Integration Guide](https://docs.whatsable.app/guides/notifier/n8n)

  ---

  ## How to Use Notifier Trigger Node

  ### Prerequisites
  - An active Notifier account
  - Access to n8n workflow automation platform
  - Business information configured in Notifier

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the Notifier Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the Notifier Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your Notifier API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [Notifier n8n Integration Guide](https://docs.whatsable.app/guides/notifier/n8n)

  ---

  ## How to Use Notifyer System Action Node

  ### Prerequisites
  - An active Notifyer System account
  - Access to n8n workflow automation platform
  - Completed WhatsApp Business Platform embedding process

  ### Setup Process

  1. **Complete Platform Embedding**
     - Connect your WhatsApp Business account
     - Complete Meta's business verification
     - Ensure compliance with WhatsApp Business Platform policies
  2. **Set Up Message Templates**
     - Navigate to Templates in your dashboard
     - Create new templates and submit for review
  3. **Get Your API Key**
     - Go to API Keys in your Notifyer dashboard
     - Copy your unique API key
     - Store it securely for the integration

  ### Integration Steps

  1. Create a new workflow in n8n
  2. Add your preferred trigger node and configure its settings
  3. Add the WhatsAble node
  4. In the WhatsAble node settings:
     - Select "Create new credential"
     - Enter your Notifyer System API key
     - Name your credential (e.g., "Notifyer System Production")
     - Click Save
  5. Configure message settings:
     - Choose between template and non-template message operations
     - Fill in required and optional fields
  6. Click "Test Step" to verify
  7. Save your workflow and activate it

  ### Example Workflows with Notifyer System
  - Order Confirmations: Trigger on new order, send template message with details
  - Appointment Reminders: Trigger on calendar event, send template message
  - Lead Notifications: Trigger on new CRM lead, send non-template message
  - Customer Support: Trigger on new support ticket, send template message
  - Delivery Updates: Trigger on shipping status change, send template message

  For detailed documentation, visit [Notifyer System n8n Integration Guide](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## How to Use Notifyer System Trigger Node

  ### Prerequisites
  - An active Notifyer System account
  - Access to n8n workflow automation platform
  - Completed WhatsApp Business Platform embedding process

  ### Setup Process

  1. **Get Your Webhook URL**
     - Open the Notifyer System Trigger Node in n8n
     - At the top of the node, locate "Webhook URLs"
     - Click the "Production URL" to copy it to your clipboard
     - This URL will be used to receive incoming messages
  2. **Configure Credentials**
     - In the Notifyer System Trigger Node settings:
       - Paste the Production Webhook URL in the "Production URL" input box
       - Enter your Notifyer System API key in the "API Key" input box
       - Click Save
       - A green success message will appear if the configuration is successful
  3. **Activate the Trigger**
     - Click "Test Step" to verify the connection
     - Save your workflow
     - Toggle "Active" to start receiving messages
     - Connect the trigger to any action node to process incoming messages

  For detailed documentation, visit [Notifyer System n8n Integration Guide](https://docs.whatsable.app/guides/notifier-system/n8n-overview)

  ---

  ## Common Use Cases

  - Lead Qualification: Automated follow-up, lead scoring, response tracking
  - Order Notifications: Confirmations, shipping updates, delivery notifications
  - Appointment Reminders: Automated reminders, confirmations, calendar integration
  - Customer Support: Ticket routing, automated responses, support updates
  - Payment Reminders: Invoice notifications, payment confirmations, subscription reminders

  ---

  ## Support

  For technical support and assistance:

  - **Email Support**: Contact our dedicated support team
  - **Video Tutorials**: Watch step-by-step integration guides
  - **Implementation Help**: Get expert assistance with workflows

  For enterprise-level support or custom solutions, contact our solution engineers at team@whatsable.app

  ---

  ## License

  [MIT](LICENSE.md)

  ---

  ## Resources

  - [WhatsAble Website](https://whatsable.app)
  - [n8n Documentation](https://docs.n8n.io)
  - [WhatsAble Suite n8n Overview](https://docs.whatsable.app/n8n-overview)

  ---

  ## Running Locally

  To run and test this node on your local machine:

  1. **Clone the repository**
     ```bash
     git clone https://github.com/Whatsable/n8n-nodes-whatsable.git
     cd n8n-nodes-whatsable
     ```
  2. **Install dependencies**
     ```bash
     pnpm install
     ```
  3. **Build the project**
     ```bash
     pnpm build
     ```
  4. **Run tests**
     ```bash
     pnpm test
     ```
     > **Note:** Unit tests are included to ensure code quality. Please run tests before submitting a pull request.
  5. **Link the node to your local n8n instance**
     - If you are developing a custom node, you can use [n8n's community node development guide](https://docs.n8n.io/integrations/community-nodes/create/) to link your node for local testing.
     - Typically, you can run:
       ```bash
       pnpm link --global
       cd ~/.n8n/custom
       pnpm link --global n8n-nodes-whatsable
       ```
     - Restart your n8n instance to load the custom node.
  6. **Test your node**
     - Open n8n in your browser (usually at `http://localhost:5678`)
     - Create a workflow and add your custom node to test its functionality

  > **Note:** Make sure you have [Node.js](https://nodejs.org/) and [pnpm](https://pnpm.io/) installed on your machine.

  ---

  ## Contributing

  We welcome contributions from the community! To contribute:

  1. **Fork the repository**: [https://github.com/Whatsable/n8n-nodes-whatsable](https://github.com/Whatsable/n8n-nodes-whatsable)
  2. **Create a new branch** for your feature or bugfix:
     ```bash
     git checkout -b feature/your-feature-name
     ```
  3. **Make your changes** and ensure code quality:
     - Follow the existing code style
     - Add or update documentation as needed
     - Run linter and tests before submitting
  4. **Commit your changes**
     ```bash
     git commit -m "Add your message here"
     ```
  5. **Push to your fork**
     ```bash
     git push origin feature/your-feature-name
     ```
  6. **Open a Pull Request**
     - Go to the GitHub page for your fork
     - Click "Compare & pull request"
     - Describe your changes and submit the PR

  ### Reporting Issues
  - If you find a bug or have a feature request, please [open an issue](https://github.com/Whatsable/n8n-nodes-whatsable/issues) with details and steps to reproduce.

  ### Code of Conduct
  - Please be respectful and follow our [Code of Conduct](CODE_OF_CONDUCT.md) when participating in this project.

ai_documentation_summary:
  {"purpose":"The WhatsAble node enables automation of WhatsApp messaging through n8n, supporting both sending and receiving messages via WhatsAble, Notifier, and Notifyer System platforms.","capabilities":["Send messages (template and non-template)","Schedule messages","Support for various media types","Receive incoming messages via webhook triggers","Process real-time notifications","Integrate with WhatsAble, Notifier, and Notifyer System platforms"],"authentication":"API key required from the WhatsAble platform (WhatsAble, Notifier, or Notifyer System) after signing up and verifying a phone number.","commonUseCases":["Automated customer support responses","Order confirmation and delivery updates","Marketing campaigns via scheduled WhatsApp messages","Real-time order or inventory alerts via incoming message triggers"],"limitations":["Only first verified WhatsApp number requires verification","Notifyer System is enterprise-grade with limited access for non-enterprise users","Media support is basic in WhatsAble, enhanced in Notifier and Notifyer System","Pricing starts at $8.99 per month per phone number after trial"],"relatedNodes":["n8n-nodes-whatsable.whatsAble","n8n-nodes-whatsable.notifier","n8n-nodes-whatsable.notifyerSystem"]}


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-01-07 20:08:15
author_name: superchat-ben
author_github_url: https://github.com/super-chat/
npm_package_name: n8n-nodes-superchat
npm_version: 0.2.6
community_fetched_at: 2026-01-07T20:08:15.983Z
ai_summary_generated_at: 2026-01-08 10:45:32
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:
  [
    {
      "name": "Identify Yourself",
      "value": "me",
      "action": "Retrieve information about yourself as a Superchat user"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    }
  ]

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":"The Superchat node enables integration with the Superchat messaging platform to send and receive messages across WhatsApp, Instagram, Facebook Messenger, SMS, email, and Live Chat, allowing users to manage contacts, conversations, messages, notes, and files within n8n workflows.","capabilities":["Retrieve user details","Create, search, update, and delete contacts","Send text, media, email, and WhatsApp template messages","Manage conversations (get, delete, update labels, status, assignees)","Create, retrieve, and delete notes in conversations","Upload, download, and delete files"],"authentication":"API key required","commonUseCases":["Sending automated messages via WhatsApp or email","Managing customer contacts and their conversation history","Creating and updating conversation labels or statuses","Uploading and retrieving files in customer interactions","Automating responses through message templates"],"limitations":[],"relatedNodes":["n8n-nodes-base.actions","n8n-nodes-base.triggers"]}


node_type: n8n-nodes-powerbi.powerBi
package_name: n8n-nodes-powerbi
display_name: Power BI
description: Work with the Power BI API
category: Power BI
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: androcha
author_github_url: https://github.com/And-Rochaa/
npm_package_name: n8n-nodes-powerbi
npm_version: 2.3.4
community_fetched_at: 2026-01-07T20:08:15.984Z
ai_summary_generated_at: 2026-01-08 10:45:31
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "dashboard",
      "options": [
        {
          "name": "Admin",
          "value": "admin"
        },
        {
          "name": "Dashboard",
          "value": "dashboard"
        },
        {
          "name": "Dataflow",
          "value": "dataflow"
        },
        {
          "name": "Dataset",
          "value": "dataset"
        },
        {
          "name": "Gateway",
          "value": "gateway"
        },
        {
          "name": "Group",
          "value": "group"
        },
        {
          "name": "Report",
          "value": "report"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getInfo",
      "options": [
        {
          "name": "Get Workspace Information",
          "value": "getInfo",
          "action": "Get workspace information",
          "description": "Get detailed information from workspaces"
        },
        {
          "name": "Get Scan Result",
          "value": "getScanResult",
          "action": "Get scan result",
          "description": "Get the scan result from a workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "admin"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List a dashboard",
          "description": "List all dashboards"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a dashboard",
          "description": "Get a specific dashboard"
        },
        {
          "name": "Get Tiles",
          "value": "getTiles",
          "action": "Get tiles from a dashboard",
          "description": "Get tiles from a dashboard"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dashboard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get Dataflow",
          "value": "get",
          "action": "Get dataflow",
          "description": "Exports the specified dataflow definition to a JSON file"
        },
        {
          "name": "Get Dataflow Data Sources",
          "value": "getDatasources",
          "action": "Get dataflow data sources",
          "description": "Returns a list of data sources for the specified dataflow"
        },
        {
          "name": "Get Dataflow Transactions",
          "value": "getTransactions",
          "action": "Get dataflow transactions",
          "description": "Returns a list of transactions for the specified dataflow"
        },
        {
          "name": "Get Dataflows",
          "value": "list",
          "action": "Get dataflows",
          "description": "Returns a list of all dataflows from the specified workspace"
        },
        {
          "name": "Refresh Dataflow",
          "value": "refresh",
          "action": "Refresh dataflow",
          "description": "Triggers a refresh for the specified dataflow"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dataflow"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Add Rows",
          "value": "addRows",
          "action": "Add rows to a dataset",
          "description": "Add rows to a table"
        },
        {
          "name": "Execute Queries",
          "value": "executeQueries",
          "action": "Execute DAX queries on a dataset",
          "description": "Execute DAX queries on a dataset"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a dataset",
          "description": "Get a specific dataset"
        },
        {
          "name": "Get Refresh History",
          "value": "getRefreshHistory",
          "action": "Get refresh history of a dataset",
          "description": "Get the refresh history of a dataset"
        },
        {
          "name": "Get Tables",
          "value": "getTables",
          "action": "Get tables from a dataset",
          "description": "Get tables from a dataset"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List a dataset",
          "description": "List all datasets"
        },
        {
          "name": "Refresh",
          "value": "refresh",
          "action": "Refresh a dataset",
          "description": "Refresh a dataset"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dataset"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get Datasource",
          "value": "getDatasource",
          "action": "Get datasource",
          "description": "Returns the specified datasource from the specified gateway"
        },
        {
          "name": "Get Datasource Status",
          "value": "getDatasourceStatus",
          "action": "Get datasource status",
          "description": "Checks the connectivity status of the specified datasource"
        },
        {
          "name": "Get Datasource Users",
          "value": "getDatasourceUsers",
          "action": "Get datasource users",
          "description": "Returns a list of users who have access to the specified datasource"
        },
        {
          "name": "Get Datasources",
          "value": "getDatasources",
          "action": "Get datasources",
          "description": "Returns a list of datasources from the specified gateway"
        },
        {
          "name": "Get Gateway",
          "value": "get",
          "action": "Get gateway",
          "description": "Returns the specified gateway"
        },
        {
          "name": "List Gateways",
          "value": "list",
          "action": "List gateways",
          "description": "Returns a list of gateways for which the user is an administrator"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "gateway"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a group",
          "description": "Get a specific group"
        },
        {
          "name": "Get Dashboards",
          "value": "getDashboards",
          "action": "Get dashboards from a group",
          "description": "Get dashboards from a group"
        },
        {
          "name": "Get Datasets",
          "value": "getDatasets",
          "action": "Get datasets from a group",
          "description": "Get datasets from a group"
        },
        {
          "name": "Get Reports",
          "value": "getReports",
          "action": "Get reports from a group",
          "description": "Get reports from a group"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List a group",
          "description": "List all groups (workspaces)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List a report",
          "description": "List all reports"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a report",
          "description": "Get a specific report"
        },
        {
          "name": "Get Pages",
          "value": "getPages",
          "action": "Get pages from a report",
          "description": "Get pages from a report"
        },
        {
          "name": "Export To File",
          "value": "exportToFile",
          "action": "Export report to file",
          "description": "Export report to various file formats"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Workspace Information",
      "value": "getInfo",
      "action": "Get workspace information",
      "description": "Get detailed information from workspaces"
    },
    {
      "name": "Get Scan Result",
      "value": "getScanResult",
      "action": "Get scan result",
      "description": "Get the scan result from a workspace"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List a dashboard",
      "description": "List all dashboards"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a dashboard",
      "description": "Get a specific dashboard"
    },
    {
      "name": "Get Tiles",
      "value": "getTiles",
      "action": "Get tiles from a dashboard",
      "description": "Get tiles from a dashboard"
    },
    {
      "name": "Get Dataflow",
      "value": "get",
      "action": "Get dataflow",
      "description": "Exports the specified dataflow definition to a JSON file"
    },
    {
      "name": "Get Dataflow Data Sources",
      "value": "getDatasources",
      "action": "Get dataflow data sources",
      "description": "Returns a list of data sources for the specified dataflow"
    },
    {
      "name": "Get Dataflow Transactions",
      "value": "getTransactions",
      "action": "Get dataflow transactions",
      "description": "Returns a list of transactions for the specified dataflow"
    },
    {
      "name": "Get Dataflows",
      "value": "list",
      "action": "Get dataflows",
      "description": "Returns a list of all dataflows from the specified workspace"
    },
    {
      "name": "Refresh Dataflow",
      "value": "refresh",
      "action": "Refresh dataflow",
      "description": "Triggers a refresh for the specified dataflow"
    },
    {
      "name": "Add Rows",
      "value": "addRows",
      "action": "Add rows to a dataset",
      "description": "Add rows to a table"
    },
    {
      "name": "Execute Queries",
      "value": "executeQueries",
      "action": "Execute DAX queries on a dataset",
      "description": "Execute DAX queries on a dataset"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a dataset",
      "description": "Get a specific dataset"
    },
    {
      "name": "Get Refresh History",
      "value": "getRefreshHistory",
      "action": "Get refresh history of a dataset",
      "description": "Get the refresh history of a dataset"
    },
    {
      "name": "Get Tables",
      "value": "getTables",
      "action": "Get tables from a dataset",
      "description": "Get tables from a dataset"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List a dataset",
      "description": "List all datasets"
    },
    {
      "name": "Refresh",
      "value": "refresh",
      "action": "Refresh a dataset",
      "description": "Refresh a dataset"
    },
    {
      "name": "Get Datasource",
      "value": "getDatasource",
      "action": "Get datasource",
      "description": "Returns the specified datasource from the specified gateway"
    },
    {
      "name": "Get Datasource Status",
      "value": "getDatasourceStatus",
      "action": "Get datasource status",
      "description": "Checks the connectivity status of the specified datasource"
    },
    {
      "name": "Get Datasource Users",
      "value": "getDatasourceUsers",
      "action": "Get datasource users",
      "description": "Returns a list of users who have access to the specified datasource"
    },
    {
      "name": "Get Datasources",
      "value": "getDatasources",
      "action": "Get datasources",
      "description": "Returns a list of datasources from the specified gateway"
    },
    {
      "name": "Get Gateway",
      "value": "get",
      "action": "Get gateway",
      "description": "Returns the specified gateway"
    },
    {
      "name": "List Gateways",
      "value": "list",
      "action": "List gateways",
      "description": "Returns a list of gateways for which the user is an administrator"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a group",
      "description": "Get a specific group"
    },
    {
      "name": "Get Dashboards",
      "value": "getDashboards",
      "action": "Get dashboards from a group",
      "description": "Get dashboards from a group"
    },
    {
      "name": "Get Datasets",
      "value": "getDatasets",
      "action": "Get datasets from a group",
      "description": "Get datasets from a group"
    },
    {
      "name": "Get Reports",
      "value": "getReports",
      "action": "Get reports from a group",
      "description": "Get reports from a group"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List a group",
      "description": "List all groups (workspaces)"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List a report",
      "description": "List all reports"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a report",
      "description": "Get a specific report"
    },
    {
      "name": "Get Pages",
      "value": "getPages",
      "action": "Get pages from a report",
      "description": "Get pages from a report"
    },
    {
      "name": "Export To File",
      "value": "exportToFile",
      "action": "Export report to file",
      "description": "Export report to various file formats"
    }
  ]

npm_readme:
  ![Power BI Logo](https://i.postimg.cc/3hntXFh3/Integra-o-n8n-e-Power-BI.png)

  # n8n-nodes-powerbi

  This package contains nodes for n8n that enable complete integration with Microsoft Power BI REST APIs. These nodes enable automation, integration, and orchestration of data flows with Power BI directly in n8n.

  ## About the Author

  This Community Node was created and made freely available by **Anderson Rocha from Universo Automático** for the community and was designed to simplify and abstract all the complexity of using Power BI APIs.

  ### Social Media

  - Linkedin: [https://www.linkedin.com/in/andersonsantosrocha](https://www.linkedin.com/in/andersonsantosrocha)
  - YouTube: [https://www.youtube.com/@universoautomatico](https://www.youtube.com/@universoautomatico)
  - Instagram: [https://www.instagram.com/universoautomatico/](https://www.instagram.com/universoautomatico/)
  - N8N + Power BI Training: [https://n8npowerbi.com/](https://n8npowerbi.com/)

  ## Table of Contents

  - [Features](#features)
  - [Available Resources](#available-resources)
  - [Authentication Methods](#authentication-methods)
  - [Setting up the Application in Microsoft Entra ID (Azure AD)](#setting-up-the-application-in-microsoft-entra-id-azure-ad)
  - [Using the Nodes](#using-the-nodes)
  - [Limitations and Troubleshooting](#limitations-and-troubleshooting)
  - [Additional Resources](#additional-resources)

  ## Features

  This package offers a unified Power BI node with flexible authentication methods:

  ### Power BI Node

  Comprehensive node that supports two authentication methods:

  1. **OAuth2 Authentication**: Interactive authentication with Microsoft Entra ID (formerly Azure AD)
  2. **Bearer Token Authentication**: Direct token authentication for API integrations

  #### Available Features:
  - Managing reports, dashboards, and datasets
  - Workspace (groups) administration
  - DAX query execution
  - Data refresh operations
  - Report export in multiple formats
  - Gateway management
  - Dataflow operations


  ## Available Resources


  ### Administration Resources
  - **Get Workspace Information**: Retrieves complete details about workspaces, including dataset schema, DAX expressions, lineage, and data sources
  - **Get Scan Results**: Retrieves workspace scan results

  ### Dashboard Resources
  - **List Dashboards**: Retrieves all dashboards in a workspace
  - **Get Dashboard**: Retrieves details of a specific dashboard
  - **Get Tiles**: Retrieves tiles from a dashboard

  ### Dataset Resources
  - **List Datasets**: Retrieves all datasets in a workspace
  - **Get Dataset**: Retrieves details of a specific dataset
  - **Refresh Dataset**: Initiates a dataset refresh operation
  - **Get Tables**: Lists all tables in a dataset
  - **Add Rows**: Adds data to a dataset table
  - **Execute DAX Queries**: Performs DAX language queries on a dataset
  - **Get Refresh History**: Retrieves dataset refresh history

  ### Dataflow Resources
  - **List Dataflows**: Retrieves all dataflows in a workspace
  - **Get Dataflow**: Exports the specified dataflow definition to JSON
  - **Get Dataflow Data Sources**: Returns a list of data sources for the specified dataflow
  - **Get Dataflow Transactions**: Returns a list of transactions for the specified dataflow
  - **Refresh Dataflow**: Triggers a refresh for the specified dataflow

  ### Gateway Resources
  - **List Gateways**: Returns a list of gateways for which the user is an administrator
  - **Get Gateway**: Returns the specified gateway details
  - **Get Datasource**: Returns the specified datasource from the specified gateway
  - **Get Datasources**: Returns a list of datasources from the specified gateway
  - **Get Datasource Status**: Checks the connectivity status of the specified datasource
  - **Get Datasource Users**: Returns a list of users who have access to the specified datasource

  ### Group (Workspace) Resources
  - **List Groups**: Retrieves all accessible workspaces
  - **Get Group**: Retrieves details of a specific workspace
  - **Get Reports**: Lists reports in a workspace
  - **Get Dashboards**: Lists dashboards in a workspace
  - **Get Datasets**: Lists datasets in a workspace

  ### Report Resources
  - **List Reports**: Retrieves all reports in a workspace
  - **Get Report**: Retrieves details of a specific report
  - **Get Pages**: Lists pages in a report
  - **Export File**: Exports a report in various formats

  ## Authentication Methods

  This node supports two authentication methods:

  ### 1. OAuth2 Authentication
  - **Use case**: Applications acting on behalf of a user through interactive authentication flow
  - **Credential type**: Power BI OAuth2 API
  - **Token management**: Automatic refresh when tokens expire

  ### 2. Bearer Token Authentication  
  - **Use case**: Direct API integration with pre-obtained tokens
  - **Credential type**: Power BI API
  - **Token management**: Manual token management required

  ### Choosing Authentication Method

  In the node configuration:
  1. Select **Authentication** type (OAuth2 or Bearer Token)
  2. The appropriate credential field will appear automatically
  3. Configure the matching credential type


  ### AI Tools Integration

  The Power BI node has been configured as an AI tool within n8n, allowing it to:

  1. Be easily accessed by n8n's AI assistant
  2. Be used in natural language-driven automations
  3. Appear in the AI tools palette in the flow editor

  ## Setting up the Application in Microsoft Entra ID (Azure AD)

  To use the Power BI node with OAuth2 authentication, you need to register an application in Microsoft Entra ID (formerly Azure AD). Follow the steps below:

  ### 1. Register a New Application

  1. Access the [Azure Portal](https://portal.azure.com).
  2. Navigate to **Microsoft Entra ID** > **App registrations**.
  3. Click **New registration**.
  4. Provide a name for the application, for example "n8n Power BI Integration".
  5. In **Supported account types**, select **Accounts in this organizational directory only**.
  6. In the **Redirect URI** section, select **Web** and enter: `https://your-n8n-domain/rest/oauth2-credential/callback`.
     - For local development environment, use: `http://localhost:5678/rest/oauth2-credential/callback`
  7. Click **Register**.

  ### 2. Configure API Permissions

  1. In the registered application's side menu, click **API permissions**.
  2. Click **Add a permission**.
  3. Select **Power BI Service**.
  4. You can choose between **Delegated permissions** (for OAuth2) or **Application permissions** (for Service Principal):
     
     **For delegated permissions (recommended for most cases):**
     - Dataset.Read.All
     - Dataset.ReadWrite.All
     - Report.Read.All
     - Report.ReadWrite.All
     - Dashboard.Read.All
     - Dashboard.ReadWrite.All
     - Workspace.Read.All
     - Workspace.ReadWrite.All
     - Content.Create
     - Tenant.Read.All (for administrative functions)
     
     **For application permissions (Service Principal):**
     - Dashboard.Read.All
     - Report.Read.All
     - Dataset.Read.All
     - Workspace.Read.All
     - Tenant.Read.All

  5. Click **Add permissions**.
  6. If using Service Principal, you'll need to request an administrator to **Grant admin consent for [your directory]**.

  ### 3. Create the Client Secret

  1. In the side menu, click **Certificates & secrets**.
  2. In the **Client secrets** section, click **New client secret**.
  3. Add a description and select an expiration period.
  4. Click **Add**.
  5. **IMPORTANT**: Immediately copy the generated secret value, as it cannot be viewed again.

  ### 4. Get Configuration Values

  Note the following values that will be needed to configure the node in n8n:

  - **Client ID**: Found in **Overview** > **Application (client) ID**
  - **Client Secret**: The value you copied when creating the client secret
  - **Tenant ID**: Found in **Overview** > **Directory (tenant) ID**

  ## Using the Node

  ### Power BI Node Configuration

  1. Add the Power BI node to your workflow.
  2. **Select Authentication Method**: Choose between OAuth2 or Bearer Token
  3. **Configure Credentials**:

  #### For OAuth2 Authentication:
  1. Create a "Power BI OAuth2 API" credential with:
     - **Client ID**: The registered application ID
     - **Client Secret**: The generated client secret
     - **Scope**: Leave blank or use `https://analysis.windows.net/powerbi/api/.default`

  #### For Bearer Token Authentication:
  1. Create a "Power BI API" credential with:
     - **Bearer Token**: Your API access token

  4. **Select Resource and Operation**: Choose the desired resource (dashboard, report, dataset, etc.) and operation
  5. **Configure Parameters**: Set operation-specific parameters as needed


  ## Limitations and Troubleshooting

  ### Power BI API Limitations

  - **Rate limits**: The Power BI API imposes rate limits that may vary depending on your license and subscription plan. [Learn more](https://docs.microsoft.com/en-us/power-bi/developer/embedded/embedded-capacity)
  - **Permissions**: Many operations require administrative or owner permissions in the workspace
  - **Some operations require Premium license**: Certain operations like programmatic refresh or DAX queries in large volumes may require Premium capacity


  ## Additional Resources

  - [Official Power BI REST API Documentation](https://docs.microsoft.com/en-us/rest/api/power-bi/)
  - [Power BI Developer Center](https://powerbi.microsoft.com/en-us/developers/)
  - [Power BI API FAQ](https://docs.microsoft.com/en-us/power-bi/developer/embedded/embedded-faq)
  - [Power BI Known Limitations](https://docs.microsoft.com/en-us/power-bi/admin/service-admin-portal-about)
  - [n8n Custom Nodes Documentation](https://docs.n8n.io/integrations/creating-nodes/)

  ## License

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

ai_documentation_summary:
  {"purpose":"The Power BI node enables automation and integration with Microsoft Power BI via its REST APIs, allowing users to manage reports, dashboards, datasets, dataflows, gateways, and workspaces within n8n workflows.","capabilities":["Manage reports, dashboards, and datasets","Administer workspaces (groups) and gateways","Execute DAX queries","Trigger dataset and dataflow refreshes","Export reports in multiple formats","List and retrieve data sources, tables, and refresh history","Access and manage dataflow definitions and transactions","Check datasource connectivity and user access"],"authentication":"Supports two authentication methods: OAuth2 (interactive, with automatic token refresh) and Bearer Token (manual token management for direct API access)","commonUseCases":["Automating report exports to PDF or PNG","Refreshing datasets or dataflows on schedule","Fetching dashboard or report details for monitoring","Executing DAX queries to extract insights","Managing workspace access and permissions"],"limitations":["Bearer token authentication requires manual token management and does not auto-refresh","OAuth2 authentication requires setup in Microsoft Entra ID (Azure AD) with proper app registration","Some operations (e.g., adding rows to datasets) may require specific permissions or access levels","AI tool integration is available but may depend on n8n's AI assistant configuration"],"relatedNodes":["n8n-nodes-base","n8n-nodes-database","n8n-nodes-webhook"]}


node_type: @zerobounce/n8n-nodes-zerobounce.zeroBounce
package_name: @zerobounce/n8n-nodes-zerobounce
display_name: ZeroBounce
description: Validate and verify emails using the ZeroBounce API.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-01-07 20:08:15
author_name: pja-zerobounce
author_github_url: https://github.com/zerobounce/n8n-nodes-zerobounce.git
npm_package_name: @zerobounce/n8n-nodes-zerobounce
npm_version: 1.0.8
community_fetched_at: 2026-01-07T20:08:15.984Z
ai_summary_generated_at: 2026-01-08 10:45:32
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "validation",
      "options": [
        {
          "name": "Account",
          "value": "account",
          "description": "Retrieve details from your ZeroBounce account"
        },
        {
          "name": "Validation",
          "value": "validation",
          "description": "Email validation"
        },
        {
          "name": "A.I. Scoring",
          "value": "scoring",
          "description": "Email scoring"
        },
        {
          "name": "Email Finder",
          "value": "emailFinder",
          "description": "Email Finder allows you to search for new business email addresses using our proprietary technologies"
        },
        {
          "name": "Domain Search",
          "value": "domainSearch",
          "description": "Domain Search allows you to search for new business email formats using our proprietary technologies"
        },
        {
          "name": "Activity Data",
          "value": "activityData",
          "description": "Activity Data allows you to gather insights into your subscribers’ overall email engagement"
        }
      ],
      "required": true,
      "description": "Choose the ZeroBounce API you wish to use",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCredits",
      "options": [
        {
          "name": "Credits Balance",
          "value": "getCredits",
          "action": "Get credits balance",
          "description": "Tells you how many credits you have left on your account"
        },
        {
          "name": "API Usage",
          "value": "getApiUsage",
          "action": "Get API usage",
          "description": "Retrieves a summary of your API usage"
        },
        {
          "name": "List Filters",
          "value": "listFilters",
          "action": "List filters",
          "description": "Lists all the existing filter rules"
        },
        {
          "name": "Add Filter",
          "value": "addFilter",
          "action": "Add a filter",
          "description": "Adds or updates a filter rule"
        },
        {
          "name": "Delete Filter",
          "value": "deleteFilter",
          "action": "Delete a filter",
          "description": "Deletes a filter rule"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "validate",
      "options": [
        {
          "name": "Validate Email",
          "value": "validate",
          "action": "Validate an email",
          "description": "Validate a single email address (real-time)"
        },
        {
          "name": "Validate Batch",
          "value": "batchValidate",
          "action": "Validate an email batch",
          "description": "Validates batches of up to 200 email addresses at a time. It is rate limited to 5 uses per minute, if you exceed the rate limit, you will be blocked for 10 minutes. If you're looking to do single email validations, please use our single email validator endpoint."
        },
        {
          "name": "Bulk Validate Send File",
          "value": "sendFile",
          "action": "Send validation file",
          "description": "Send a file to ZeroBounce for bulk validation"
        },
        {
          "name": "Bulk Validate Get File",
          "value": "getFile",
          "action": "Get validation results file",
          "description": "Get the results file for a submitted validation file"
        },
        {
          "name": "Bulk Validate File Status",
          "value": "fileStatus",
          "action": "Get validation file status",
          "description": "Get the status of a file submitted for validation"
        },
        {
          "name": "Bulk Validate Delete File",
          "value": "deleteFile",
          "action": "Delete validation file",
          "description": "Delete a previously submitted validation file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "validation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "score",
      "options": [
        {
          "name": "Score Email",
          "value": "score",
          "action": "Score an email",
          "description": "Score a single email address (real-time)"
        },
        {
          "name": "Bulk Scoring Send File",
          "value": "scoringSendFile",
          "action": "Send scoring file",
          "description": "Send a file to ZeroBounce for bulk scoring"
        },
        {
          "name": "Bulk Scoring Get File",
          "value": "scoringGetFile",
          "action": "Get scoring results file",
          "description": "Get the results file for a submitted scoring file"
        },
        {
          "name": "Bulk Scoring File Status",
          "value": "scoringFileStatus",
          "action": "Get scoring file status",
          "description": "Get the status of a file submitted for scoring"
        },
        {
          "name": "Bulk Scoring Delete File",
          "value": "scoringDeleteFile",
          "action": "Delete scoring file",
          "description": "Delete a previously submitted scoring file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scoring"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "find",
      "options": [
        {
          "name": "Find Email Address",
          "value": "find",
          "action": "Find email address",
          "description": "Uses a person’s first and last name and a domain or company name to test a variety of patterns and combinations in real time until it identifies a valid business email. It does not use or process customer data at any point to aid in this search. Privacy and Security Note – Email Finder API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
        },
        {
          "name": "Bulk Email Finder Send File",
          "value": "emailFinderSendFile",
          "action": "Send email finder file",
          "description": "Send a file to ZeroBounce for bulk email finding"
        },
        {
          "name": "Bulk Email Finder Get File",
          "value": "emailFinderGetFile",
          "action": "Get email finder results file",
          "description": "Get the results file for a submitted email finder file"
        },
        {
          "name": "Bulk Email Finder File Status",
          "value": "emailFinderFileStatus",
          "action": "Get email finder file status",
          "description": "Get the status of a submitted email finder file"
        },
        {
          "name": "Bulk Email Finder Delete File",
          "value": "emailFinderDeleteFile",
          "action": "Delete email finder file",
          "description": "Delete a previously submitted email finder file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "emailFinder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search Domain",
          "value": "search",
          "action": "Search domain",
          "description": "Domain search is functionally similar to email address inquiry but instead attempts to detect possible patterns a specific company uses. You can use detected patterns to help you approximate the correct email for a specific person you’re attempting to contact at a business. Privacy and security note – Domain Search API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
        },
        {
          "name": "Bulk Domain Search Send File",
          "value": "domainSearchSendFile",
          "action": "Send domain search file",
          "description": "Send a file to ZeroBounce for bulk domain searching"
        },
        {
          "name": "Bulk Domain Search Get File",
          "value": "domainSearchGetFile",
          "action": "Get domain search results file",
          "description": "Get the results file for a submitted domain search file"
        },
        {
          "name": "Bulk Domain Search File Status",
          "value": "domainSearchFileStatus",
          "action": "Get domain search file status",
          "description": "Get the status of a submitted domain search file"
        },
        {
          "name": "Bulk Domain Search Delete File",
          "value": "domainSearchDeleteFile",
          "action": "Delete domain search file",
          "description": "Delete a previously submitted domain search file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domainSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getActivityData",
      "options": [
        {
          "name": "Activity Data",
          "value": "getActivityData",
          "action": "Get activity data",
          "description": "Our Activity Data feature allows you to gather insights into your subscribers’ overall email engagement. The tool returns if the email inbox has been active in the past 30, 60, 90, 180, 365, or 365+ days. This indicates a potentially outdated contact, not recommended for cold emailing. Thus, you can improve your targeting and personalization and run more successful email campaigns."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "activityData"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Credits Balance",
      "value": "getCredits",
      "action": "Get credits balance",
      "description": "Tells you how many credits you have left on your account"
    },
    {
      "name": "API Usage",
      "value": "getApiUsage",
      "action": "Get API usage",
      "description": "Retrieves a summary of your API usage"
    },
    {
      "name": "List Filters",
      "value": "listFilters",
      "action": "List filters",
      "description": "Lists all the existing filter rules"
    },
    {
      "name": "Add Filter",
      "value": "addFilter",
      "action": "Add a filter",
      "description": "Adds or updates a filter rule"
    },
    {
      "name": "Delete Filter",
      "value": "deleteFilter",
      "action": "Delete a filter",
      "description": "Deletes a filter rule"
    },
    {
      "name": "Validate Email",
      "value": "validate",
      "action": "Validate an email",
      "description": "Validate a single email address (real-time)"
    },
    {
      "name": "Validate Batch",
      "value": "batchValidate",
      "action": "Validate an email batch",
      "description": "Validates batches of up to 200 email addresses at a time. It is rate limited to 5 uses per minute, if you exceed the rate limit, you will be blocked for 10 minutes. If you're looking to do single email validations, please use our single email validator endpoint."
    },
    {
      "name": "Bulk Validate Send File",
      "value": "sendFile",
      "action": "Send validation file",
      "description": "Send a file to ZeroBounce for bulk validation"
    },
    {
      "name": "Bulk Validate Get File",
      "value": "getFile",
      "action": "Get validation results file",
      "description": "Get the results file for a submitted validation file"
    },
    {
      "name": "Bulk Validate File Status",
      "value": "fileStatus",
      "action": "Get validation file status",
      "description": "Get the status of a file submitted for validation"
    },
    {
      "name": "Bulk Validate Delete File",
      "value": "deleteFile",
      "action": "Delete validation file",
      "description": "Delete a previously submitted validation file"
    },
    {
      "name": "Score Email",
      "value": "score",
      "action": "Score an email",
      "description": "Score a single email address (real-time)"
    },
    {
      "name": "Bulk Scoring Send File",
      "value": "scoringSendFile",
      "action": "Send scoring file",
      "description": "Send a file to ZeroBounce for bulk scoring"
    },
    {
      "name": "Bulk Scoring Get File",
      "value": "scoringGetFile",
      "action": "Get scoring results file",
      "description": "Get the results file for a submitted scoring file"
    },
    {
      "name": "Bulk Scoring File Status",
      "value": "scoringFileStatus",
      "action": "Get scoring file status",
      "description": "Get the status of a file submitted for scoring"
    },
    {
      "name": "Bulk Scoring Delete File",
      "value": "scoringDeleteFile",
      "action": "Delete scoring file",
      "description": "Delete a previously submitted scoring file"
    },
    {
      "name": "Find Email Address",
      "value": "find",
      "action": "Find email address",
      "description": "Uses a person’s first and last name and a domain or company name to test a variety of patterns and combinations in real time until it identifies a valid business email. It does not use or process customer data at any point to aid in this search. Privacy and Security Note – Email Finder API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
    },
    {
      "name": "Bulk Email Finder Send File",
      "value": "emailFinderSendFile",
      "action": "Send email finder file",
      "description": "Send a file to ZeroBounce for bulk email finding"
    },
    {
      "name": "Bulk Email Finder Get File",
      "value": "emailFinderGetFile",
      "action": "Get email finder results file",
      "description": "Get the results file for a submitted email finder file"
    },
    {
      "name": "Bulk Email Finder File Status",
      "value": "emailFinderFileStatus",
      "action": "Get email finder file status",
      "description": "Get the status of a submitted email finder file"
    },
    {
      "name": "Bulk Email Finder Delete File",
      "value": "emailFinderDeleteFile",
      "action": "Delete email finder file",
      "description": "Delete a previously submitted email finder file"
    },
    {
      "name": "Search Domain",
      "value": "search",
      "action": "Search domain",
      "description": "Domain search is functionally similar to email address inquiry but instead attempts to detect possible patterns a specific company uses. You can use detected patterns to help you approximate the correct email for a specific person you’re attempting to contact at a business. Privacy and security note – Domain Search API searches are performed in real time and do not use stored or processed customer data. Customer privacy and security are and will always remain our top priority."
    },
    {
      "name": "Bulk Domain Search Send File",
      "value": "domainSearchSendFile",
      "action": "Send domain search file",
      "description": "Send a file to ZeroBounce for bulk domain searching"
    },
    {
      "name": "Bulk Domain Search Get File",
      "value": "domainSearchGetFile",
      "action": "Get domain search results file",
      "description": "Get the results file for a submitted domain search file"
    },
    {
      "name": "Bulk Domain Search File Status",
      "value": "domainSearchFileStatus",
      "action": "Get domain search file status",
      "description": "Get the status of a submitted domain search file"
    },
    {
      "name": "Bulk Domain Search Delete File",
      "value": "domainSearchDeleteFile",
      "action": "Delete domain search file",
      "description": "Delete a previously submitted domain search file"
    },
    {
      "name": "Activity Data",
      "value": "getActivityData",
      "action": "Get activity data",
      "description": "Our Activity Data feature allows you to gather insights into your subscribers’ overall email engagement. The tool returns if the email inbox has been active in the past 30, 60, 90, 180, 365, or 365+ days. This indicates a potentially outdated contact, not recommended for cold emailing. Thus, you can improve your targeting and personalization and run more successful email campaigns."
    }
  ]

npm_readme:
  ![ZeroBounce Logo](https://raw.githubusercontent.com/zerobounce/n8n-nodes-zerobounce/main/icons/zerobounce-logo.svg)

  # n8n-nodes-zerobounce

  This is an n8n community node for integrating with the ZeroBounce API in your n8n workflows.

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

  * [About](#about)
  * [Installation](#installation)
  * [Operations](#operations)
  * [Credentials](#credentials)
  * [Usage](#usage)
  * [Support](#support)
  * [Compatibility](#compatibility)
  * [Resources](#resources)

  ## About

  Validate and score email addresses to improve deliverability and protect domain reputation.

  [ZeroBounce](https://www.zerobounce.net) is an award-winning email verification and deliverability platform trusted by more than 185,000 customers.

  It detects invalid, abuse, spam trap other risky email addresses to improve inbox placement.

  The company is GDPR and SOC 2 Type 2 compliant, validating over 13 billion emails to date. Some of the companies it serves are Amazon, Disney, Netflix, LinkedIn and Sephora.

  ## Installation

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

  ## Operations

  - Account
    - Credits Balance
    - API Usage
    - List Filters
    - Add Filter
    - Delete Filter


  - Validation
    - Validate Email
    - Validate Batch
    - Bulk Validate Send File
    - Bulk Validate Get File
    - Bulk Validate File Status
    - Bulk Validate Delete File


  - A.I. Scoring
    - Score Email
    - Bulk A.I. Scoring Send File
    - Bulk A.I. Scoring Get File
    - Bulk A.I. Scoring File Status
    - Bulk A.I. Scoring Delete File


  - Email Finder
    - Find Email Address
    - Bulk Email Finder Send File
    - Bulk Email Finder Get File
    - Bulk Email Finder File Status
    - Bulk Email Finder Delete File


  - Domain Search
    - Domain Search
    - Bulk Domain Search Send File
    - Bulk Domain Search Get File
    - Bulk Domain Search File Status
    - Bulk Domain Search Delete File


  - Activity Data
    - Get Activity Data

  ## Credentials

  You need a ZeroBounce API Key to use this node.

  ### API Key

  1. Open your ZeroBounce API dashboard [ZeroBounce API](https://www.zerobounce.net/members/API).
  2. Click 'Create a new API Key'.
  3. Enter a descriptive name for your key in the API Key Name field, like 'n8n integration'.
  4. Set the key to active and optionally configure the IP address(es) it can be used from.
  5. Toggle the API Keys' visibility and copy the value shown.

  For more information, see [API Keys Management](https://www.zerobounce.net/docs/api-dashboard/#API_keys_management)

  ## Usage

  ### Workflow Testing

  When testing your workflows, use [API Sandbox Mode](https://www.zerobounce.net/docs/email-validation-api-quickstart/#sandbox_mode__v2__) data.

  ### Send File Wait Webhook
    - Use a [Wait node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#on-webhook-call) to wait for a webhook confirming completion of a file
    - Set the resume mode to 'On Webhook Call'
    - Set the HTTP Method to 'POST'
    - Optional: Add a webhook suffix with the options dropdown e.g. `zerobounce`
    - Set the 'return_url' parameter in the Send File node to the webhook URL e.g. `{{$execution.resumeUrl}}/zerobounce`
    - On execution, the URL is generated and the 'Wait' node will wait until the notification is received from ZeroBounce
    - If the webhook is never called, check the HTTP Method on the wait node is set to 'POST' and view the status of the callback here [API Callback Status](https://www.zerobounce.net/members/API/status)

  ## Support

  If you encounter an issue with this node, please [Contact Us](https://www.zerobounce.net/contact-us/).

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  * [ZeroBounce developer documentation](https://www.zerobounce.net/docs)
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

ai_documentation_summary:
  {"purpose":"The ZeroBounce node validates and verifies email addresses using the ZeroBounce API to improve deliverability, detect spam traps, and score emails for better inbox placement.","capabilities":["Validate individual email addresses","Validate batches of emails","Perform bulk email validation with file uploads and status tracking","Score emails using AI-based scoring","Bulk AI scoring with file-based processing","Find email addresses via search","Search domains for associated emails","Check account credits and API usage","Manage filters for API requests","Retrieve activity data"],"authentication":"API key required","commonUseCases":["Cleaning email lists before marketing campaigns","Improving email deliverability by filtering out invalid or risky emails","Automating email validation in lead generation workflows","Bulk verification of customer sign-up emails","Domain-based email discovery for market research"],"limitations":[],"relatedNodes":["Wait node","Base nodes for file handling and webhook integration"]}


