# nodes

node_type: @wizaco/n8n-nodes-wiza.wiza
package_name: @wizaco/n8n-nodes-wiza
display_name: Wiza
description: Interact with Wiza API for contact enrichment
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: wizadev
author_github_url: https://github.com/WizaCo/n8n-nodes-wiza.git
npm_package_name: @wizaco/n8n-nodes-wiza
npm_version: 0.1.1
community_fetched_at: 2026-03-25T21:19:40.667Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "emailFinder",
      "options": [
        {
          "name": "Email Finder",
          "value": "emailFinder",
          "action": "Find verified work and personal email addresses for a contact using their name company information or linked in url",
          "description": "Find verified work and personal email addresses for a contact using their name, company information, or LinkedIn URL"
        },
        {
          "name": "Phone Finder",
          "value": "phoneFinder",
          "action": "Find mobile and direct dial phone numbers for a contact using their name company information or linkedin url",
          "description": "Find mobile and direct dial phone numbers for a contact using their name, company information, or LinkedIn URL"
        },
        {
          "name": "LinkedIn Profile Finder",
          "value": "linkedinFinder",
          "action": "Find contact linkedin profile url and key details such as job title company and location using their name company or email address",
          "description": "Find a contact's LinkedIn profile URL and key details—such as job title, company, and location—using their name, company, or email address"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Email Finder",
      "value": "emailFinder",
      "action": "Find verified work and personal email addresses for a contact using their name company information or linked in url",
      "description": "Find verified work and personal email addresses for a contact using their name, company information, or LinkedIn URL"
    },
    {
      "name": "Phone Finder",
      "value": "phoneFinder",
      "action": "Find mobile and direct dial phone numbers for a contact using their name company information or linkedin url",
      "description": "Find mobile and direct dial phone numbers for a contact using their name, company information, or LinkedIn URL"
    },
    {
      "name": "LinkedIn Profile Finder",
      "value": "linkedinFinder",
      "action": "Find contact linkedin profile url and key details such as job title company and location using their name company or email address",
      "description": "Find a contact's LinkedIn profile URL and key details—such as job title, company, and location—using their name, company, or email address"
    }
  ]

npm_readme:
  # n8n-nodes-wiza

  An n8n community node for integrating with the [Wiza](https://wiza.co) contact enrichment API. Find email addresses, phone numbers, and LinkedIn profiles for your prospects using multiple data sources.

  ![Wiza Logo](https://wiza.co/favicon.png)

  ## Features

  ### 🔍 **Email Finder**
  Find verified work and personal email addresses using:
  - LinkedIn profile URLs
  - Contact details (name + company/domain)
  - Multiple data points for best results

  ### 📞 **Phone Finder**
  Find mobile and direct dial phone numbers using:
  - Email addresses
  - LinkedIn profile URLs  
  - Contact details (name + company/domain)
  - Multiple data points for best results

  ### 💼 **LinkedIn Profile Finder**
  Find LinkedIn profiles and extract key details using:
  - Email addresses
  - LinkedIn URLs (for enhanced profile data)
  - Contact details (name + company/domain)
  - Multiple data points for best results

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes** in your n8n instance
  2. Select **Install a community node**
  3. Enter `n8n-nodes-wiza`
  4. Click **Install**

  ### Manual Installation

  ```bash
  # In your n8n root directory
  npm install n8n-nodes-wiza
  ```

  ### Docker

  ```bash
  # Using environment variable
  N8N_NODES_INCLUDE=n8n-nodes-wiza

  # Or in docker-compose.yml
  environment:
    N8N_NODES_INCLUDE: "n8n-nodes-wiza"
  ```

  ## Setup

  ### 1. Get Your API Key

  1. Sign up at [wiza.co](https://wiza.co)
  2. Navigate to **Settings > API** 
  3. Generate your API key

  ### 2. Configure Credentials

  1. In n8n, go to **Credentials**
  2. Click **Create New** 
  3. Search for **Wiza API**
  4. Enter your API key
  5. Click **Save**

  ## Usage

  ### Basic Email Finding

  ```json
  {
    "operation": "Email Finder",
    "inputType": "Contact Details", 
    "fullName": "John Doe",
    "company": "Acme Corp"
  }
  ```

  ### Phone Number Lookup

  ```json
  {
    "operation": "Phone Finder",
    "inputType": "Email",
    "email": "john@acme.com"
  }
  ```

  ### LinkedIn Profile Enhancement

  ```json
  {
    "operation": "LinkedIn Profile Finder", 
    "inputType": "All Fields",
    "email": "john@acme.com",
    "fullName": "John Doe",
    "company": "acme.com"
  }
  ```

  ## Input Types

  ### 📧 **Email**
  Provide an email address to find phone numbers or LinkedIn profiles.

  ### 🔗 **LinkedIn URL** 
  Provide a LinkedIn profile URL to find emails, phone numbers, or enhanced profile data.

  ### 👤 **Contact Details**
  Provide name and company/domain to find emails, phone numbers, or LinkedIn profiles.

  ### 🎯 **All Fields** *(Recommended)*
  Provide any combination of email, LinkedIn URL, name, and company for best results. All fields are optional - the more data you provide, the better the results.

  ## Response Data

  ### Email Finder Response
  ```json
  {
    "email": "john@acme.com",
    "email_type": "work", 
    "email_status": "valid",
    "name": "John Doe",
    "company": "Acme Corp",
    "title": "CEO",
    "linkedin_profile_url": "https://linkedin.com/in/johndoe"
  }
  ```

  ### Phone Finder Response  
  ```json
  {
    "phone_number": "+1234567890",
    "phone_status": "found",
    "mobile_phone": "+1234567890", 
    "name": "John Doe",
    "company": "Acme Corp",
    "email": "john@acme.com"
  }
  ```

  ### LinkedIn Profile Finder Response
  ```json
  {
    "linkedin_profile_url": "https://linkedin.com/in/johndoe",
    "name": "John Doe", 
    "title": "CEO",
    "company": "Acme Corp",
    "location": "New York, NY",
    "company_domain": "acme.com"
  }
  ```

  ## Configuration Options

  ### **Timeout**
  - **Default**: 300 seconds (5 minutes)
  - **Description**: Maximum time to wait for enrichment completion
  - **Range**: 30-600 seconds

  ### **Email Type** *(Email Finder only)*
  - **Work**: Professional emails (john@company.com)
  - **Personal**: Personal emails (john.doe@gmail.com) 
  - **Any**: Both work and personal emails

  ## Error Handling

  The node handles various error scenarios:

  - **Invalid API Key**: Check your credentials
  - **Rate Limiting**: Automatic retry with backoff
  - **Timeout**: Enrichment took too long to complete
  - **No Results**: No data found for the provided input
  - **Invalid Input**: Missing required fields or invalid format

  ## Workflow Examples

  ### Lead Enrichment Pipeline
  ```
  Webhook → Wiza Email Finder → Wiza Phone Finder → CRM Update
  ```

  ### LinkedIn Outreach Prep
  ```
  CSV Import → Wiza LinkedIn Finder → Message Personalization → LinkedIn Automation
  ```

  ### Data Validation Flow
  ```
  Database Query → Wiza Email Finder → Email Validation → Clean Database Update
  ```

  ## Support

  - **Documentation**: [wiza.co/api-docs](https://wiza.co/api-docs)
  - **Issues**: [GitHub Issues](https://github.com/WizaCo/n8n-nodes-wiza/issues)
  - **Wiza Support**: hello@wiza.com

  ## License

  [MIT](LICENSE.md)

  ## Contributing

  Contributions are welcome! Please read our [contributing guidelines](CODE_OF_CONDUCT.md) and submit pull requests to the main repository.

  ---

  Made with ❤️ by the Wiza team

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with the Wiza API to enrich contact data by finding verified email addresses, phone numbers, and LinkedIn profiles for prospects.","capabilities":["Find verified work and personal email addresses from LinkedIn URLs, contact details, or other emails","Discover mobile and direct dial phone numbers using email addresses, LinkedIn URLs, or contact details","Locate and extract LinkedIn profile details including name, title, location, and company domain","Support multiple input types: Email, LinkedIn URL, Contact Details (Name + Company), or All Fields","Configure timeout settings (30-600 seconds) for enrichment operations","Filter email types: Work, Personal, or Any"],"authentication":"API key required via n8n Credentials","commonUseCases":["Lead enrichment pipelines for sales teams","Personalizing LinkedIn outreach messages","Validating and cleaning contact databases","Finding missing contact information for cold outreach"],"limitations":["Results depend on the quality and availability of provided input data","May encounter rate limiting which triggers automatic retries","Enrichment can take up to 5 minutes (timeout setting) to complete","No results may occur if input data is insufficient or unavailable in Wiza's database"],"relatedNodes":["Webhook","CRM Update","CSV Import","Email Validation","LinkedIn Automation"]}


node_type: n8n-nodes-unifi-access.unifiAccess
package_name: n8n-nodes-unifi-access
display_name: UniFi Access
description: Interact with the UniFi Access API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: skrapion
author_github_url: https://github.com/Skrapion/
npm_package_name: n8n-nodes-unifi-access
npm_version: 1.0.7
community_fetched_at: 2026-03-25T21:19:40.668Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "user",
      "options": [
        {
          "name": "Access Policy",
          "value": "accessPolicy"
        },
        {
          "name": "Credential",
          "value": "credential"
        },
        {
          "name": "Device",
          "value": "device"
        },
        {
          "name": "Notification",
          "value": "notification"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Assign Access Policy",
          "value": "assignAccessPolicy",
          "action": "Assign access policies to a user",
          "description": "Assign access policies to a user"
        },
        {
          "name": "Assign NFC Card",
          "value": "assignNfc",
          "action": "Assign an NFC card to a user",
          "description": "Assign an NFC card to a user"
        },
        {
          "name": "Clear PIN",
          "value": "clearPin",
          "action": "Clear a user's PIN",
          "description": "Clear a user's PIN"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new user",
          "description": "Create a new user"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a user",
          "description": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a user",
          "description": "Get the data of a single user"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get users",
          "description": "Get users"
        },
        {
          "name": "Send UniFi Identity Invitations",
          "value": "sendInvitations",
          "action": "Send UniFi Identity invitations"
        },
        {
          "name": "Set PIN",
          "value": "setPin",
          "action": "Set a user's PIN",
          "description": "Set a user's PIN"
        },
        {
          "name": "Unassign NFC Card",
          "value": "unassignNfc",
          "action": "Unssign an NFC card from a user",
          "description": "Unssign an NFC card from a user"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a user",
          "description": "Update a user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get an access policy",
          "description": "Get an access policy"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get access policies",
          "description": "Get access policies"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "accessPolicy"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generatePin",
      "options": [
        {
          "name": "Delete NFC Card",
          "value": "deleteNfc",
          "action": "Delete an NFC card",
          "description": "Delete an NFC card"
        },
        {
          "name": "Enroll NFC Card",
          "value": "enrollNfc",
          "action": "Enroll an NFC card",
          "description": "Wake up a UA reader and create a session to enroll an NFC card"
        },
        {
          "name": "Generate PIN",
          "value": "generatePin",
          "action": "Generate a random PIN",
          "description": "Generate a random PIN"
        },
        {
          "name": "Get Many NFC Cards",
          "value": "getAllNfcs",
          "action": "Get NFC cards",
          "description": "Get NFC cards"
        },
        {
          "name": "Get NFC Card",
          "value": "getNfc",
          "action": "Get an NFC card",
          "description": "Get an NFC card"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "credential"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get devices",
          "description": "Get devices"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "device"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Add Webhook",
          "value": "add",
          "action": "Add a webhook endpoint",
          "description": "Add a webhook endpoint"
        },
        {
          "name": "Delete Webhook",
          "value": "delete",
          "action": "Delete a webhook endpoint",
          "description": "Delete a webhook endpoint"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get webhook endpoints",
          "description": "Get webhook endpoints"
        },
        {
          "name": "Update Webhook",
          "value": "update",
          "action": "Update a webhook endpoint",
          "description": "Update a webhook endpoint"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "notification"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"assignAccessPolicy","name":"Assign Access Policy","description":"Assign access policies to a user","resource":"user"},{"operation":"assignNfc","name":"Assign NFC Card","description":"Assign an NFC card to a user","resource":"user"},{"operation":"clearPin","name":"Clear PIN","description":"Clear a user's PIN","resource":"user"},{"operation":"create","name":"Create","description":"Create a new user","resource":"user"},{"operation":"delete","name":"Delete","description":"Delete a user","resource":"user"},{"operation":"get","name":"Get","description":"Get the data of a single user","resource":"user"},{"operation":"getAll","name":"Get Many","description":"Get users","resource":"user"},{"operation":"sendInvitations","name":"Send UniFi Identity Invitations","resource":"user"},{"operation":"setPin","name":"Set PIN","description":"Set a user's PIN","resource":"user"},{"operation":"unassignNfc","name":"Unassign NFC Card","description":"Unssign an NFC card from a user","resource":"user"},{"operation":"update","name":"Update","description":"Update a user","resource":"user"},{"operation":"get","name":"Get","description":"Get an access policy","resource":"accessPolicy"},{"operation":"getAll","name":"Get Many","description":"Get access policies","resource":"accessPolicy"},{"operation":"deleteNfc","name":"Delete NFC Card","description":"Delete an NFC card","resource":"credential"},{"operation":"enrollNfc","name":"Enroll NFC Card","description":"Wake up a UA reader and create a session to enroll an NFC card","resource":"credential"},{"operation":"generatePin","name":"Generate PIN","description":"Generate a random PIN","resource":"credential"},{"operation":"getAllNfcs","name":"Get Many NFC Cards","description":"Get NFC cards","resource":"credential"},{"operation":"getNfc","name":"Get NFC Card","description":"Get an NFC card","resource":"credential"},{"operation":"getAll","name":"Get Many","description":"Get devices","resource":"device"},{"operation":"add","name":"Add Webhook","description":"Add a webhook endpoint","resource":"notification"},{"operation":"delete","name":"Delete Webhook","description":"Delete a webhook endpoint","resource":"notification"},{"operation":"getAll","name":"Get Many","description":"Get webhook endpoints","resource":"notification"},{"operation":"update","name":"Update Webhook","description":"Update a webhook endpoint","resource":"notification"}]

npm_readme:
  # n8n-nodes-unifi-access

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

  UniFi Access is a door control system in the Ubiquiti ecosystem. This node allows you to manage
  users, access policies, NFC cards, etc.

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

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

  ## Installation

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

  ## Operations

  * Access Policy Actions
    * Get an access policy
    * Get access policies
  * Credential Actions
    * Delete an NFC card
    * Enroll an NFC card
    * Generate a random PIN
    * Get NFC cards
    * Get an NFC card
  * Device Actions
    * Get devices
  * Notification Actions
    * Add a webhook
    * Delete a webhook
    * Get webhooks
    * Update a webhook
  * User Actions
    * Assign access policies to a user
    * Assign NFC card to a user
    * Clear a user's PIN
    * Create a new user
    * Delete a user
    * Get a user
    * Get users
    * Send UniFi Identity invitation
    * Set a user's PIN
    * Unassign an NFC card from a user
    * Update a user

  ## Triggers
  * Door Position Change
  * Door Unlock
  * Doorbell Call Incoming
  * Doorbell Event Completed
  * Doorbell Request-to-Enter
  * Emergency Status Change
  * Temporary Unlock End
  * Temporary Unlock Start
  * Unlock Schedule Active
  * Unlock Schedule Inactive
  * Visitor Status Change

  ## Credentials

  Create a new API token in the Settings->General section of the Access dashboard. You'll also need to specify the hostname of your Access server, including the port (usually port 12445). You'll probably also have to adjust your firewall to allow your n8n server to access the API port. 

  ## Compatibility

  Tested again n8n 2.4.8 and UniFi Access 4.1.15.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [UniFi Access API Documentation](https://assets.identity.ui.com/unifi-access/api_reference.pdf)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of UniFi Access API operations for managing door control systems, including users, access policies, NFC cards, and webhooks.","capabilities":["Manage access policies (get, list)","Manage NFC cards (enroll, delete, get, assign/unassign)","Generate random PINs","Manage users (create, delete, update, get, list, assign policies/cards, clear/set PIN)","Send UniFi Identity invitations","Manage webhooks (add, delete, get, update)","Monitor door events (position change, unlock, doorbell events, emergency status, temporary unlocks, schedules, visitor status)"],"authentication":"API token required (generated in UniFi Access dashboard Settings->General) with server hostname and port configuration","commonUseCases":["Automate user onboarding for UniFi Access systems","Trigger actions based on doorbell events or visitor status changes","Automatically assign or revoke access policies based on workflow conditions","Generate temporary access credentials via API","Monitor door status and emergency alerts"],"limitations":["Community node (not official n8n node)","Requires manual firewall configuration to allow access to API port 12445","Requires UniFi Access 4.1.15 or later for compatibility"],"relatedNodes":["n8n-nodes-unifi-unifi","n8n-nodes-unifi-unifi-portal","n8n-nodes-unifi-unifi-remote"]}


node_type: @woztell-sanuker/n8n-nodes-woztell-sanuker.woztell
package_name: @woztell-sanuker/n8n-nodes-woztell-sanuker
display_name: WOZTELL
description: Automate messaging workflows across WhatsApp, Messenger, and Instagram with WOZTELL
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: krisatwoztell
author_github_url: https://github.com/Woztell/n8n-nodes-woztell-sanuker.git
npm_package_name: @woztell-sanuker/n8n-nodes-woztell-sanuker
npm_version: 0.1.15
community_fetched_at: 2026-03-25T21:19:40.669Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "botAPI",
      "options": [
        {
          "name": "Bot API",
          "value": "botAPI"
        },
        {
          "name": "Member",
          "value": "memberAPI"
        }
      ],
      "displayName": "Resource",
      "disabledOptions": {
        "hideOnCloud": true
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMembers",
      "options": [
        {
          "name": "Get Members By Tags",
          "value": "getMembers",
          "action": "Get members by tags",
          "routing": {
            "send": {
              "paginate": "={{ $parameter.options.returnAll }}"
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data.apiViewer.members"
                  }
                }
              ]
            },
            "request": {
              "body": {
                "query": "query getMembers(\n  $first: IntMax100\n  $channelId: String\n  $tagFilters: [TagFilter]\n  $after: String\n) {\n  apiViewer {\n    members(first: $first, channelId: $channelId, tagFilters: $tagFilters, after: $after) {\n      edges {\n        node {\n          _id\n          externalId\n          name\n          tags\n        }\n      }\n      pageInfo {\n        hasNextPage\n        totalCount\n        endCursor\n      }\n    }\n  }\n}\n",
                "variables": {
                  "after": "={{$parameter.options.cursor || \"\"}}",
                  "first": "={{$parameter.maxResults || 100}}",
                  "channelId": "={{$parameter.channel}}",
                  "tagFilters": [
                    {
                      "operator": "IN"
                    }
                  ]
                }
              }
            },
            "operations": {}
          }
        },
        {
          "name": "Set Member Tags",
          "value": "memberTagging",
          "action": "Set member tags",
          "routing": {
            "request": {
              "body": {
                "query": "mutation AddMemberTags($input: ModifyMemberTagsInput!) {\n  addMemberTags(input: $input) {\n    err_code\n    member {\n      _id\n      externalId\n    }\n    memberId\n    ok\n  }\n}\n",
                "variables": {
                  "input": {
                    "channel": "={{$parameter.channel}}"
                  }
                }
              }
            }
          }
        },
        {
          "name": "Get Member Info By ID",
          "value": "getMemberInfo",
          "action": "Get member info by id",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data.apiViewer"
                  }
                },
                null
              ]
            },
            "request": {
              "body": {
                "query": "query getMemberInfo($channelId: ID, $externalId: ID) {\n  apiViewer {\n    member(channelId: $channelId, externalId: $externalId) {\n      _id\n      createdAt\n      updatedAt\n      channelId\n      platform\n      tags\n      meta\n      externalId\n      botMeta {\n        subscribe\n        liveChat\n        treeId\n        nodeCompositeId\n        tree {\n          name\n        }\n        node {\n          name\n        }\n      }\n      name\n      firstName\n      lastName\n      gender\n      customLocale\n      locale\n      email\n    }\n  }\n}\n",
                "variables": {
                  "channelId": "={{$parameter.channel}}",
                  "externalId": "={{$parameter.externalId.replace(/[-()+]/g, \"\").replaceAll(\" \", \"\")}}"
                }
              }
            }
          }
        },
        {
          "name": "Get Conversation History By ID",
          "value": "getConversationHistory",
          "action": "Get conversation history by id",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "data.apiViewer.conversationHistory"
                  }
                }
              ]
            },
            "request": {
              "body": {
                "query": "query getConversationHistory(\n  $channelId: String\n  $memberId: String\n  $last: IntMax100\n  $before: String\n  $from: Long\n  $to: Long\n) {\n  apiViewer {\n    conversationHistory(\n      channelId: $channelId\n      memberId: $memberId\n      last: $last\n      before: $before\n      from: $from\n      to: $to\n    ) {\n      edges {\n        node {\n          _id\n          messageEvent\n          id\n          createdAt\n          updatedAt\n          sentAt\n          readAt\n          deliveredAt\n          deletedAt\n          from\n          member {\n            name\n          }\n          memberId\n          errors\n          failedAt\n          platform\n          channelId\n          tags\n          meta\n          etag\n          isMultipleParty\n        }\n      }\n      pageInfo {\n        hasPreviousPage\n        startCursor\n      }\n    }\n  }\n}\n",
                "variables": {
                  "last": "={{$parameter.maxResults || 100}}",
                  "before": "={{$parameter.options.cursor || \"\"}}",
                  "channelId": "={{$parameter.channel}}"
                }
              }
            }
          }
        }
      ],
      "displayName": "Operation",
      "placeholder": "",
      "displayOptions": {
        "show": {
          "resource": [
            "memberAPI"
          ]
        }
      },
      "disabledOptions": {
        "hideOnCloud": true
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendResponses",
      "options": [
        {
          "name": "Send Responses",
          "value": "sendResponses",
          "action": "Send responses",
          "routing": {
            "request": {
              "url": "/sendResponses",
              "baseURL": "https://bot.api.woztell.com/"
            }
          }
        },
        {
          "name": "Redirect Member to Node",
          "value": "redirectMemberToNode",
          "action": "Redirect member to node",
          "routing": {
            "request": {
              "url": "/redirectMemberToNode",
              "baseURL": "https://bot.api.woztell.com/"
            }
          }
        },
        {
          "name": "Send Message Template",
          "value": "sendTemplates",
          "action": "Send message template",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/sendResponses",
              "baseURL": "https://bot.api.woztell.com/"
            }
          }
        }
      ],
      "displayName": "Operation",
      "placeholder": "",
      "displayOptions": {
        "show": {
          "resource": [
            "botAPI"
          ]
        }
      },
      "disabledOptions": {
        "hideOnCloud": true
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"getMembers","name":"Get Members By Tags","resource":"memberAPI"},{"operation":"memberTagging","name":"Set Member Tags","resource":"memberAPI"},{"operation":"getMemberInfo","name":"Get Member Info By ID","resource":"memberAPI"},{"operation":"getConversationHistory","name":"Get Conversation History By ID","resource":"memberAPI"},{"operation":"sendResponses","name":"Send Responses","resource":"botAPI"},{"operation":"redirectMemberToNode","name":"Redirect Member to Node","resource":"botAPI"},{"operation":"sendTemplates","name":"Send Message Template","resource":"botAPI"}]

npm_readme:
  # n8n-nodes-woztell-sanuker

  Welcome to our WOZTELL n8n nodes, for easier [WOZTELL](https://woztell.com/) integration within your n8n workflows, please read:

  *  [Product Features](#product-features)
  *  [In case you don't have the n8n](#in-case-you-dont-have-the-n8n)
  *  [Sign up WOZTELL and WhatsApp Business API for Free](#sign-up-woztell-and-whatsapp-business-api-for-free)
  *  [Installation](#installation)
  *  [Credentials](#credentials)
  *  [Build automation with WOZTELL](#build-automation-with-woztell)
  *  [Triggers and Nodes](#triggers-and-nodes)
  *  [Contact](#contact)
  *  [About Us](#about-us)
  *  [Resources](#resources)


  ## Product Features

  * **Webhook**: Receive all WhatsApp, Facebook Messenger, Instagram, WebChat, and website messages in WOZTELL inbox in real time.

  * **Send Messages**: Send messages or approved message templates to target customers via WhatsApp Business API.

  * **Chatbot Forwarding**: Route customer conversations to WOZTELL chatbot for autoreply.

  * **Full WhatsApp Message Type Support**: Support all business message types and conversation categories available on WhatsApp and Facebook Messenger.

  * **Member Search**: Batch query WOZTELL user information using Member Tags.

  * **OpenAPI Information Query**: Directly query and update user profiles, conversation histories, and related data on WOZTELL platform via OpenAPI.


  ## In case you don't have the n8n

  Connect WOZTELL on n8n | Unlock AI-powered WhatsApp automation in just a few clicks. Easily build no-code workflows on WhatsApp, Messenger, Instagram, and WebChat by connecting WOZTELL with thousands of n8n integrations. Automate personalized broadcasts, conversations, and inbox management, fully powered by WOZTELL’s OpenAPI and GenAI engine.


  ## Sign up WOZTELL and WhatsApp Business API for Free

  You can now create a WOZTELL account and open up a WhatsApp Business API account, completely for free.

  1.  Go to the registration link: https://platform.woztell.com/signup?lang=en&utm_campaign=plugin-n8n&utm_medium=plugin-n8n&utm_source=N8N

  2.  Fill in personal and company details and verify your email.

      ![register2](https://store.sanuker.cn/nn/images/register2.png)

      ![register3](https://store.sanuker.cn/nn/images/register3.png)

  3.  Once you signed up, you will be directed to the platform homepage. There, you can register a WhatsApp Business API account for free following [https://doc.woztell.com/docs/procedures/basic-whatsapp-chatbot-setup/standard-procedures-wa-connect-waba/](https://doc.woztell.com/docs/procedures/basic-whatsapp-chatbot-setup/standard-procedures-wa-connect-waba/) or  use the buttons on the top right of the homepage to chat with our sales team or book a demo session.

      ![register4](https://store.sanuker.cn/nn/images/register4.png)

  ## Installation

  Install WOZTELL community node package in your n8n

  1.	Sign in to n8n with admin access
  2.	Go to **Settings** > **Community Nodes**
  3.	Select **Install**
  4.	Copy and paste the n8n package name @woztell-sanuker/n8n-nodes-woztell-sanuker

  ```
  @woztell-sanuker/n8n-nodes-woztell-sanuker
  ```

  <img src="https://store.sanuker.cn/nn/images/image-20250826180723230.png" alt="image-20250826180723230" style="zoom:50%;" />

  5.  Click **Install**. n8n will now download the package and you may return to n8n to use.

  Learn more about installation from  [https://docs.n8n.io/integrations/community-nodes/installation/gui-install/](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/)



  ## Credentials

  Before you begin using our n8n plugin, you will need to obtain your API Credential information from the WOZTELL Platform. These credentials serve as the essential authentication keys for accessing the WOZTELL Product API. Please refer to the documentation linked below to acquire the appropriate credential according to the required permission level, and then enter this information into the WOZTELL n8n Credential configuration.

  1.  Open **Credential**

  ![image-20250829102707280](https://store.sanuker.cn/nn/images/image-20250829102707280.png)

  2.  Create credential by searching **WOZTELL**

  <img src="https://store.sanuker.cn/nn/images/image-20250829122336781.png" alt="image-20250829122336781" style="zoom:50%;" />

  3.  Login your WOZTELL account and open [**https://platform.woztell.com/settings/accesstokens?lang=en**](https://platform.woztell.com/settings/accesstokens?lang=en), and enable the **channel:list**, **botapi:sendResponses**, and **bot:redirectMemberToNode** permissions.

  4.  For more functions you need, please check the document [**https://doc.woztell.com/docs/documentations/settings/access-token/**](https://doc.woztell.com/docs/documentations/settings/access-token/)

  5.  Generate the access token

  6.  For more details on access token, please refer to this [https://doc.woztell.com/docs/documentations/settings/access-token](https://doc.woztell.com/docs/documentations/settings/access-token).

      ![image-20250829103010464](https://store.sanuker.cn/nn/images/image-20250829103010464.png)

  7.  Fill in access token and **Save**

      ![image-20250829103034574](https://store.sanuker.cn/nn/images/image-20250829103034574.png)

      

  ## Build automation with WOZTELL

  #### Create a n8n workflow

  ![image-20250829121753114](https://store.sanuker.cn/nn/images/image-20250829121753114.png)

  #### Open the nodes panel

  ![image-20250829121645155](https://store.sanuker.cn/nn/images/image-20250829121645155.png)

  #### Search WOZTELL

  <img src="https://store.sanuker.cn/nn/images/image-20250829121853114.png" alt="image-20250829121853114" style="zoom:50%;" />



  ## Triggers and Nodes

  #### Overview

  By searching the keyword **“WOZTELL”** in the sidebar, you can access the list of available n8n nodes and triggers.

  <img src="https://store.sanuker.cn/nn/images/image-20250829122639889.png" alt="image-20250829122639889" style="zoom:50%;" />

  Within this list, you will find all nodes and triggers developed by WOZTELL for n8n. You may directly drag and drop the required node or trigger into the workflow designer to make it part of your workflow.

  -  **Triggers**: These nodes enable you to receive all webhook message data coming from WOZTELL products.
  -  **BOT API Actions**: These nodes provide your workflow with the ability to send messages and perform data operations through WOZTELL products.
  -  **Member Actions**: These nodes allow you to efficiently manage all member information stored within WOZTELL products.



  #### Webhook: On WOZTELL Message received

  Through the **WOZTELL Trigger** node, you can receive webhook messages from any WOZTELL Channel, including various types such as *Inbound*, *Outbound*, and *Member Update*. Each message is delivered in JSON format and contains comprehensive data along with the associated event information.

  ![image-20250829122535949](https://store.sanuker.cn/nn/images/image-20250829122535949.png)

  Within this node, you can specify the corresponding **Webhook Path** and configure filtering options based on **Channel ID** and **Event Type**, ensuring that the information you receive is properly filtered and can be utilized effectively.

  Learn more from: [https://doc.woztell.com/docs/documentations/channels/channels-webhook](https://doc.woztell.com/docs/documentations/channels/channels-webhook)

  ![image-20250826184406024](https://store.sanuker.cn/nn/images/image-20250826184406024.png)



  #### Node: Send Response

  Using the **Send Response** node, you can directly send messages from your WhatsApp Business number to the target customer’s WhatsApp account via the WOZTELL BotAPI. All message content can be placed directly within the Response data.

  Once the message is sent, you will receive the corresponding API result, which allows subsequent nodes to continue processing the data.

  For more details, please refer to the official WOZTELL product documentation: [https://doc.woztell.com/docs/reference/bot-api-reference#send-responses](https://doc.woztell.com/docs/reference/bot-api-reference#send-responses)

  ![sendResponse](https://store.sanuker.cn/nn/images/sendResponse.png)



  #### Node: Redirect member to node

  With the **Redirect Member to Node** node, you no longer need to manually construct complex JSON data for sending messages. Instead, you simply pass the relevant WOZTELL information to a **Chatbot Tree** node, and the WOZTELL Chatbot will handle the subsequent actions for you — such as sending WhatsApp conversation message templates.

  This node can be understood as a memory pointer: it redirects the current operation to the WOZTELL Chatbot. You do not need to prepare complicated data structures; you only need to initiate a request to the BotAPI.

  For customers who already have chatbot designs running on the WOZTELL platform, this provides an excellent way to integrate with n8n.

  Learn more from: [https://doc.woztell.com/docs/reference/bot-api-reference#redirect-member-to-node](https://doc.woztell.com/docs/reference/bot-api-reference#redirect-member-to-node)

  ![redirectMemberToNode](https://store.sanuker.cn/nn/images/redirectMemberToNode.png)

  #### Node: Send WhatsApp Template message

  According to WhatsApp’s official business messaging guidelines, when contacting unfamiliar WhatsApp numbers or numbers outside the 24-hour session window, you must first send a **WhatsApp Template Message**.

  Our n8n plugin significantly simplifies the complexity of working with WhatsApp Template Messages. The current node can automatically generate the required message content based on templates that have already been created and approved. You only need to complete the corresponding form fields, and the Template Message can be sent directly.

  Learn more from: [https://doc.woztell.com/docs/integrations/whatsapp/wa-message-types#whatsapp-message-template](https://doc.woztell.com/docs/integrations/whatsapp/wa-message-types#whatsapp-message-template)

  ![image-20250826185818626](https://store.sanuker.cn/nn/images/image-20250826185818626.png)



  ## Contact

  We sincerely appreciate your strong support and understanding of our current n8n plugin. If you are interested in learning more about our products or services, you may also reach us through the following channels:

  *  WOZTELL product team: [https://woztell.com](https://woztell.com)
  *  Sanuker service team: [https://sanuker.com](https://sanuker.com)
  *  Email: [kris@woztell.com](mailto:kris@woztell.com)
  *  Email: [hello@woztell.com](mailto:hello@woztell.com)
  *  WOZTELL Customer Success WhatsApp: [https://wa.me/14157959796](https://wa.me/14157959796)
  *  Sanuker Service WhatsApp: [https://wa.me/85254432330](https://wa.me/85254432330)



  ## About Us

  **Sanuker**

  Sanuker is a leading AI Business Messaging Consulting firm, offering professional business messaging services and AI chatbot solutions tailored for enterprises. We distinguish ourselves in the market through our innovative approach to messaging designs and strategies, especially across Meta platforms - WhatsApp, Messenger, Instagram.

  As a trusted partners of AWS, HSBC Business Go, and Meta, we serve 10K+ clients across 25 countries through our WOZTELL Conversational Platform, empowering businesses to qualify leads and boost conversions.

  **WOZTELL**

  WOZTELL is your all-in-one platform to seamlessly create, manage, and deploy chatbots across WhatsApp, Messenger, Instagram, and Websites. Powered by cutting-edge GenAI engines, WOZTELL empowers you to execute personalized broadcasts, manage unlimited live chat agents, and integrate effortlessly with any third-party software via our robust OpenAPI.

  ## Resources

  - n8n Community Nodes, [https://docs.n8n.io/integrations/#community-nodes](https://docs.n8n.io/integrations/#community-nodes)
  - WOZTELL Platform documentation, [https://doc.woztell.com/](https://doc.woztell.com/)
  - WOZTELL Bot API, [https://doc.woztell.com/docs/reference/bot-api-reference](https://doc.woztell.com/docs/reference/bot-api-reference)
  - WOZTELL Open API, [https://doc.woztell.com/open-api-reference](https://doc.woztell.com/open-api-reference)
  - WOZTELL Webhook, [https://doc.woztell.com/docs/documentations/channels/channels-webhook](https://doc.woztell.com/docs/documentations/channels/channels-webhook)
  - WhatsApp Integration on Woztell: [https://doc.woztell.com/docs/integrations/whatsapp/wa-overview](https://doc.woztell.com/docs/integrations/whatsapp/wa-overview)
  - Facebook Messenger Integration on WOZTELL: [https://doc.woztell.com/docs/integrations/facebook/fb-overview](https://doc.woztell.com/docs/integrations/facebook/fb-overview)
  - Instagram Integration on WOZTELL: [https://doc.woztell.com/docs/integrations/instagram/ig-overview](https://doc.woztell.com/docs/integrations/instagram/ig-overview)
  - Webchat Integration on WOZTELL: [https://doc.woztell.com/docs/integrations/web-chat/webchat-overview](https://doc.woztell.com/docs/integrations/web-chat/webchat-overview)

ai_documentation_summary:
  {"purpose":"Automates messaging workflows across WhatsApp, Facebook Messenger, and Instagram by integrating WOZTELL's API with n8n for real-time message handling, chatbot forwarding, and user management.","capabilities":["Receive real-time messages from WhatsApp, Messenger, Instagram, WebChat, and websites","Send messages and approved message templates via WhatsApp Business API","Route conversations to WOZTELL chatbot for automated replies","Support all business message types and conversation categories","Batch query user information using Member Tags","Query and update user profiles, conversation histories, and related data via OpenAPI"],"authentication":"API Token (Access Token) with specific permissions (channel:list, botapi:sendResponses, bot:redirectMemberToNode)","commonUseCases":["Automated customer support on multiple messaging platforms","Chatbot integration for instant responses","Broadcasting personalized messages to customers","Inbox management and message routing"],"limitations":["Requires separate setup of WOZTELL account and WhatsApp Business API","Access token requires specific permission levels to function correctly","Node is a community package and may depend on n8n's community node support"],"relatedNodes":["Webhook Node","HTTP Request Node","If Node","Wait Node"]}


node_type: n8n-nodes-videotoblog.videoToBlog
package_name: n8n-nodes-videotoblog
display_name: VideoToBlog
description: Emits events from Video To Blog when a post is exported
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: andrewp629
author_github_url: https://github.com/Video-To-Blog/
npm_package_name: n8n-nodes-videotoblog
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:40.670Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # n8n-nodes-videotoblog

  Community node(s) to integrate Video To Blog with n8n.

  - Nodes
    - VideoToBlog (Trigger): Emits an item when a post is exported in Video To Blog

  ## Quick Start

  1. Install and link locally:

  ```sh
  npm run build
  npm link
  # In your n8n custom dir (~/.n8n/custom)
  npm link n8n-nodes-videotoblog
  n8n start
  ```

  2. Open n8n and add "VideoToBlog" as the first node.
     - Destination: a friendly label (e.g., "Docs")
     - Credentials: VideoToBlog API (enter your n8n API key from Video To Blog Integrations)
  3. Click "Listen for test event" to register the Test URL, or Activate the workflow to register the Production URL automatically.
  4. Export a blog post from Video To Blog. The trigger will output one item with:
     - html, markdown, emailHtml, title, metaDescription, metaTitle, slug, tags

  Optional: None - the trigger auto-registers/unregisters its webhook.

  ## Node parameters

  - Destination (string): Friendly identifier for your publishing target in n8n
  - Trigger Event (fixed): Post Exported
    

  ## Credentials

  - VideoToBlog API: Generic header auth, adds `x-api-key: <your_key>`.

  ## Docs & references

  - VideoToBlog n8n integration guide: https://docs.videotoblog.ai/en/help/articles/2997507-n8n
  - n8n submission checklist: https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/

  ## HTTPS and modes

  - No Base URL field is required in the node UI.
  - Test mode (Execute Node) uses the local Test webhook URL; activation registers the Production webhook URL.

  ## Development

  - Lint/build/test with the n8n node CLI scripts already included:
    - `npm run lint`
    - `npm run dev`
    - `npm run build`

  ## Compatibility

  - n8n: 1.x
  - License: MIT

ai_documentation_summary:
  {"purpose":"A trigger node that emits workflow items when a blog post is exported from Video To Blog.","capabilities":["Triggers on post export events","Outputs post metadata including title, slug, tags, and content formats (HTML, Markdown, Email HTML)","Supports both test and production webhook registration","Auto-registers/unregisters webhooks without manual configuration"],"authentication":"API Key (via custom header x-api-key)","commonUseCases":["Automatically publish Video To Blog posts to external CMS or marketing platforms","Trigger content processing workflows upon new blog post creation","Sync blog metadata across multiple systems"],"limitations":["Requires manual installation and linking of the community package","Only supports n8n version 1.x","No Base URL configuration field in the node UI"],"relatedNodes":["Webhook","HTTP Request","Trigger"]}


node_type: n8n-nodes-itop.iTop
package_name: n8n-nodes-itop
display_name: iTop
description: Interact with iTop CMDB via REST API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: larhip
author_github_url: https://github.com/itomig-de/
npm_package_name: n8n-nodes-itop
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:40.670Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "object",
      "options": [
        {
          "name": "Object",
          "value": "object"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Apply Stimulus",
          "value": "apply_stimulus",
          "action": "Apply stimulus to an object",
          "description": "Update fields and apply a stimulus on a single iTop object"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new object",
          "description": "Create a new object in iTop"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an object",
          "description": "Delete an existing object in iTop"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get objects",
          "description": "Search for and retrieve iTop objects"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an object",
          "description": "Update a single iTop object"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "object"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"apply_stimulus","name":"Apply Stimulus","description":"Update fields and apply a stimulus on a single iTop object","resource":"object"},{"operation":"create","name":"Create","description":"Create a new object in iTop","resource":"object"},{"operation":"delete","name":"Delete","description":"Delete an existing object in iTop","resource":"object"},{"operation":"get","name":"Get","description":"Search for and retrieve iTop objects","resource":"object"},{"operation":"update","name":"Update","description":"Update a single iTop object","resource":"object"}]

npm_readme:
  # n8n-nodes-itop

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

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

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

  ## Preview

  https://github.com/user-attachments/assets/6524dc6b-c6c9-4a39-ae8f-218ec982d13b


  ## Installation

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

  ## Operations

  - **Get**: Search for and retrieve iTop objects using OQL queries or object IDs
  - **Update**: Update a single iTop object with new field values

  ## Credentials

  You can use either username/password or token-based authentication to use this node.

  ### Setting up credentials in n8n

  1. In n8n, go to **Credentials** and create a new **iTop API** credential
  2. Enter your **iTop URL** (e.g., `https://your-itop-instance.com`)
  3. Select your **Authentication Method**:

  ### Username and Password

  1. Select **Username and Password** as the authentication method
  2. Enter your iTop **Username**
  3. Enter your iTop **Password**
  4. Optionally adjust the **API Version** (default: 1.3)

  ### Token

  1. Select **Token** as the authentication method
  2. Enter your iTop **Auth Token**
     - To generate a token in iTop, go to **User Account** > **Personal Tokens**
  3. Optionally adjust the **API Version** (default: 1.3)

  ### Required iTop Permissions

  Users need the following permissions in iTop:
  - **REST Services User** profile
  - **Write access** on the classes they want to modify
  - **Bulk write** permissions on the classes they want to modify

  Note: Standard administrator accounts do not have REST access by default unless the REST Services User profile is explicitly granted.

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [iTop REST/JSON API documentation](https://www.itophub.io/wiki/page?id=latest:advancedtopics:rest_json)

ai_documentation_summary:
  {"purpose":"Allows n8n workflows to interact with iTop CMDB through its REST API for retrieving and updating objects.","capabilities":["Search and retrieve iTop objects using OQL queries","Retrieve iTop objects using object IDs","Update single iTop objects with new field values"],"authentication":"Username and Password or Token-based authentication","commonUseCases":["Automating CMDB data retrieval in n8n workflows","Synchronizing IT asset information between systems","Updating CMDB records based on workflow triggers"],"limitations":["Standard administrator accounts do not have REST access by default; explicit REST Services User profile is required","Requires specific permissions: REST Services User profile, write access on target classes, and bulk write permissions","Compatible only with n8n version 1.60.0 or later"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


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-03-25 21:19:40
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.4
community_fetched_at: 2026-03-25T21:19:40.671Z
ai_summary_generated_at: 2026-03-25 22:51:43
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:
  [{"operation":"chartTracksGet","name":"Chart Tracks Get","description":"Retrieve track charts","resource":"catalog"},{"operation":"trackGet","name":"Track Get","description":"Get track information","resource":"catalog"},{"operation":"trackLyricsGet","name":"Track Lyrics Get","description":"Get track lyrics","resource":"catalog"},{"operation":"trackSubtitleGet","name":"Track Subtitle Get","description":"Get track subtitles","resource":"catalog"},{"operation":"matcherTrackGet","name":"Matcher Track Get","description":"Match track by metadata","resource":"catalog"}]

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>

  [![npm version](https://img.shields.io/npm/v/@musixmatch/n8n-nodes-musixmatch.svg)](https://www.npmjs.com/package/@musixmatch/n8n-nodes-musixmatch)
  [![npm downloads](https://img.shields.io/npm/dt/@musixmatch/n8n-nodes-musixmatch.svg)](https://www.npmjs.com/package/@musixmatch/n8n-nodes-musixmatch)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![GitHub issues](https://img.shields.io/github/issues/musixmatchdev/n8n-nodes-musixmatch.svg)](https://github.com/musixmatchdev/n8n-nodes-musixmatch/issues)

  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://www.musixmatch.com/pro/api/pricing?utm_source=github_n8n_node&utm_medium=web&utm_content=pricing_page_link) 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/lyrics-api/introduction?utm_source=github_n8n_node&utm_medium=web&utm_content=docs_link)
  - [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":"This n8n community node enables automation workflows to interact with the Musixmatch API to retrieve music metadata, lyrics, translations, and subtitles.","capabilities":["Retrieve top charting tracks by country","Get detailed track information by Track ID","Fetch lyrics for specific tracks","Get translated lyrics in multiple languages","Retrieve time-synced subtitles","Search and match tracks by artist and name"],"authentication":"API Key required","commonUseCases":["Automating music metadata collection for databases","Integrating lyrics into content creation workflows","Building multilingual lyric translation tools","Creating karaoke or synchronized display applications"],"limitations":["Rate limits depend on the Musixmatch API plan","Requires a paid Musixmatch subscription to obtain an API key","Minimum n8n version required is 1.0.0"],"relatedNodes":["n8n HTTP Request node","n8n Set node","n8n Webhook node"]}


node_type: n8n-nodes-scrape-creators.scrapeCreators
package_name: n8n-nodes-scrape-creators
display_name: Scrape Creators
description: Get real time social media data
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: adrianhorning08
author_github_url: https://github.com/adrianhorning08/
npm_package_name: n8n-nodes-scrape-creators
npm_version: 0.1.9
community_fetched_at: 2026-03-25T21:19:40.672Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "instagram",
      "options": [
        {
          "name": "Facebook",
          "value": "facebook"
        },
        {
          "name": "Facebook Ad Library",
          "value": "facebookAdLibrary"
        },
        {
          "name": "Google Ad Library",
          "value": "googleAdLibrary"
        },
        {
          "name": "Google Search",
          "value": "googleSearch"
        },
        {
          "name": "Instagram",
          "value": "instagram"
        },
        {
          "name": "LinkedIn",
          "value": "linkedin"
        },
        {
          "name": "LinkedIn Ad Library",
          "value": "linkedinAdLibrary"
        },
        {
          "name": "Pinterest",
          "value": "pinterest"
        },
        {
          "name": "Reddit",
          "value": "reddit"
        },
        {
          "name": "Thread",
          "value": "threads"
        },
        {
          "name": "TikTok",
          "value": "tiktok"
        },
        {
          "name": "Truth Social",
          "value": "truthsocial"
        },
        {
          "name": "Twitter (X)",
          "value": "twitter"
        },
        {
          "name": "YouTube",
          "value": "youtube"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getInstagramProfile",
      "options": [
        {
          "name": "Get Profile",
          "value": "getInstagramProfile",
          "action": "Get instagram profile",
          "routing": {
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/instagram/profile",
              "method": "GET"
            }
          },
          "description": "Get an Instagram profile"
        },
        {
          "name": "Get User's Posts",
          "value": "getInstagramUserPosts",
          "action": "Get an instagram user s posts",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v2/instagram/user/posts",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get an Instagram user's posts"
        },
        {
          "name": "Get Post",
          "value": "getInstagramPost",
          "action": "Get an instagram post",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v1/instagram/post",
              "method": "GET"
            }
          },
          "description": "Get an Instagram post or reel"
        },
        {
          "name": "Get Post Transcript",
          "value": "getInstagramPostTranscript",
          "action": "Get an instagram post transcript",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v2/instagram/media/transcript",
              "method": "GET"
            }
          },
          "description": "Get an Instagram post transcript"
        },
        {
          "name": "Get User's Reels",
          "value": "getInstagramUserReels",
          "action": "Get an instagram user s reels",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/instagram/user/reels",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get an Instagram user's reels"
        },
        {
          "name": "Get User's Story Highlights",
          "value": "getInstagramUserStoryHighlights",
          "action": "Get an instagram user s story highlights",
          "routing": {
            "request": {
              "qs": {
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/instagram/user/highlights",
              "method": "GET"
            }
          },
          "description": "Get an Instagram user's story highlights"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "instagram"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTikTokProfile",
      "options": [
        {
          "name": "Get Profile",
          "value": "getTikTokProfile",
          "action": "Get tik tok profile",
          "routing": {
            "request": {
              "qs": {
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/tiktok/profile",
              "method": "GET"
            }
          },
          "description": "Get a TikTok profile"
        },
        {
          "name": "Get Profile's Videos",
          "value": "getTikTokProfileVideos",
          "action": "Get a tik tok profile s videos",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v3/tiktok/profile/videos",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a TikTok profile's videos"
        },
        {
          "name": "Get TikTok Video",
          "value": "getTikTokVideo",
          "action": "Get a tik tok video",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v2/tiktok/video",
              "method": "GET"
            }
          },
          "description": "Get a TikTok video"
        },
        {
          "name": "Get TikTok Video Transcript",
          "value": "getTikTokVideoTranscript",
          "action": "Get a tik tok video transcript",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/tiktok/video/transcript",
              "method": "GET"
            }
          },
          "description": "Get a TikTok video transcript"
        },
        {
          "name": "Get TikTok Video Comments",
          "value": "getTikTokVideoComments",
          "action": "Get a tik tok video comments",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v1/tiktok/video/comments",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a TikTok video comments"
        },
        {
          "name": "Get TikTok Following",
          "value": "getTikTokFollowing",
          "action": "Get a tik tok following",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/tiktok/user/following",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a TikTok following"
        },
        {
          "name": "Get TikTok Followers",
          "value": "getTikTokFollowers",
          "action": "Get a tik tok followers",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/tiktok/user/followers",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a TikTok followers"
        },
        {
          "name": "Search TikTok Users",
          "value": "searchTikTokUsers",
          "action": "Search tik tok users",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "query": "={{$parameter.query}}"
              },
              "url": "v1/tiktok/search/users",
              "method": "GET"
            },
            "operations": {}
          }
        },
        {
          "name": "Search TikTok's by Hashtag",
          "value": "searchTikTokByHashtag",
          "action": "Search tik tok by hashtag",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "hashtag": "={{$parameter.hashtag}}"
              },
              "url": "v1/tiktok/search/hashtag",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Search TikTok by hashtag"
        },
        {
          "name": "Search TikTok's by Keyword",
          "value": "searchTikTokByKeyword",
          "action": "Search tik tok by keyword",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "query": "={{$parameter.query}}"
              },
              "url": "v1/tiktok/search/keyword",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Search TikTok by keyword"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tiktok"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getYouTubeChannelDetails",
      "options": [
        {
          "name": "Get YouTube Channel Details",
          "value": "getYouTubeChannelDetails",
          "action": "Get a you tube channel details",
          "routing": {
            "request": {
              "qs": {
                "handle": "={{$parameter.handle}}",
                "channelId": "={{$parameter.channelId}}"
              },
              "url": "v1/youtube/channel",
              "method": "GET"
            }
          },
          "description": "Get a YouTube channel details"
        },
        {
          "name": "Get YouTube Channel Videos",
          "value": "getYouTubeChannelVideos",
          "action": "Get a you tube channel videos",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "sort": "={{$parameter.additionalFields.sort}}",
                "handle": "={{$parameter.handle}}",
                "channelId": "={{$parameter.channelId}}"
              },
              "url": "v1/youtube/channel-videos",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a YouTube channel videos"
        },
        {
          "name": "Get YouTube Channel Shorts",
          "value": "getYouTubeChannelShorts",
          "action": "Get a you tube channel shorts",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "sort": "={{$parameter.additionalFields.sort}}",
                "handle": "={{$parameter.handle}}",
                "channelId": "={{$parameter.channelId}}"
              },
              "url": "v1/youtube/channel/shorts",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a YouTube channel shorts"
        },
        {
          "name": "Get YouTube Video Details",
          "value": "getYouTubeVideoDetails",
          "action": "Get a you tube video details",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/youtube/video",
              "method": "GET"
            }
          },
          "description": "Get a YouTube video details"
        },
        {
          "name": "Get YouTube Video Transcript",
          "value": "getYouTubeVideoTranscript",
          "action": "Get a you tube video transcript",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/youtube/video/transcript",
              "method": "GET"
            }
          },
          "description": "Get a YouTube video transcript"
        },
        {
          "name": "Search YouTube Videos by Keyword",
          "value": "searchYouTubeVideosByKeyword",
          "action": "Search you tube videos",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "query": "={{$parameter.query}}"
              },
              "url": "v1/youtube/search",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Search YouTube videos"
        },
        {
          "name": "Search YouTube Videos by Hashtag",
          "value": "searchYouTubeVideosByHashtag",
          "action": "Search you tube videos by hashtag",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "hashtag": "={{$parameter.hashtag}}"
              },
              "url": "v1/youtube/search/hashtag",
              "method": "GET"
            },
            "operations": {}
          }
        },
        {
          "name": "Get Comments",
          "value": "getComments",
          "action": "Get comments",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/youtube/video/comments",
              "method": "GET"
            },
            "operations": {}
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtube"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getLinkedinProfile",
      "options": [
        {
          "name": "Get LinkedIn Profile",
          "value": "getLinkedinProfile",
          "action": "Get a linked in profile",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/linkedin/profile",
              "method": "GET"
            }
          },
          "description": "Get a LinkedIn profile"
        },
        {
          "name": "Get LinkedIn Company Page",
          "value": "getLinkedinCompanyPage",
          "action": "Get a linked in company page",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/linkedin/company",
              "method": "GET"
            }
          },
          "description": "Get a LinkedIn company page"
        },
        {
          "name": "Get LinkedIn Post",
          "value": "getLinkedinPost",
          "action": "Get a linked in post",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/linkedin/post",
              "method": "GET"
            }
          },
          "description": "Get a LinkedIn post"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "linkedin"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getFacebookProfile",
      "options": [
        {
          "name": "Get Facebook Profile",
          "value": "getFacebookProfile",
          "action": "Get a facebook profile",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/facebook/profile",
              "method": "GET"
            }
          },
          "description": "Get a Facebook profile"
        },
        {
          "name": "Get Facebook Profile Posts",
          "value": "getFacebookProfilePosts",
          "action": "Get a facebook profile posts",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/facebook/profile/posts",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a Facebook profile posts"
        },
        {
          "name": "Get Facebook Group Posts",
          "value": "getFacebookGroupPosts",
          "action": "Get a facebook group posts",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/facebook/group/posts",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a Facebook group posts"
        },
        {
          "name": "Get Reel",
          "value": "getReel",
          "action": "Get a facebook reel",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/facebook/user/reel",
              "method": "GET"
            }
          },
          "description": "Get a Facebook reel"
        },
        {
          "name": "Get Facebook Post",
          "value": "getFacebookPost",
          "action": "Get a facebook post",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/facebook/user/post",
              "method": "GET"
            }
          },
          "description": "Get a Facebook post"
        },
        {
          "name": "Get Transcript",
          "value": "getTranscript",
          "action": "Get a facebook transcript",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/facebook/post/transcript",
              "method": "GET"
            }
          },
          "description": "Get the transcript of a post or reel"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "facebook"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getFacebookLibraryAd",
      "options": [
        {
          "name": "Get Ad",
          "value": "getFacebookLibraryAd",
          "action": "Get a facebook ad library ad",
          "routing": {
            "request": {
              "qs": {
                "id": "={{$parameter.id}}",
                "trim": true
              },
              "url": "v1/facebook/adLibrary/ad",
              "method": "GET"
            }
          },
          "description": "Get a Facebook ad library ad"
        },
        {
          "name": "Search Ads",
          "value": "searchAds",
          "action": "Search for ads",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "query": "={{$parameter.query}}",
                "status": "={{$parameter.additionalFields.status}}",
                "ad_type": "={{$parameter.additionalFields.ad_type}}",
                "country": "={{$parameter.additionalFields.country}}",
                "end_date": "={{$parameter.additionalFields.end_date}}",
                "media_type": "={{$parameter.additionalFields.media_type}}",
                "start_date": "={{$parameter.additionalFields.start_date}}",
                "search_type": "={{$parameter.additionalFields.search_type}}"
              },
              "url": "v1/facebook/adLibrary/search/ads",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Search for ads"
        },
        {
          "name": "Get A Company's Ads",
          "value": "getCompanyAds",
          "action": "Get a company s ads",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "pageId": "={{$parameter.pageId}}",
                "status": "={{$parameter.additionalFields.status}}",
                "country": "={{$parameter.additionalFields.country}}",
                "media_type": "={{$parameter.additionalFields.media_type}}"
              },
              "url": "v1/facebook/adLibrary/company/ads",
              "method": "GET"
            },
            "operations": {}
          }
        },
        {
          "name": "Search Companies",
          "value": "searchCompanies",
          "action": "Search for companies",
          "routing": {
            "request": {
              "qs": {
                "trim": true,
                "query": "={{$parameter.query}}"
              },
              "url": "v1/facebook/adLibrary/search/companies",
              "method": "GET"
            }
          },
          "description": "Search for companies"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "facebookAdLibrary"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCompanyGoogleAds",
      "options": [
        {
          "name": "Get A Company's Google Ads",
          "value": "getCompanyGoogleAds",
          "action": "Get a company s google ads",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "topic": "={{$parameter.additionalFields.topic}}",
                "domain": "={{$parameter.domain}}",
                "region": "={{$parameter.additionalFields.region}}",
                "advertiser_id": "={{$parameter.additionalFields.advertiser_id}}"
              },
              "url": "v1/google/company/ads",
              "method": "GET"
            },
            "operations": {}
          }
        },
        {
          "name": "Get Ad Details",
          "value": "getAdDetails",
          "action": "Get ad details",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/google/ad",
              "method": "GET"
            }
          },
          "description": "Get the details of a specific Google ad"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "googleAdLibrary"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getLinkedinAdDetails",
      "options": [
        {
          "name": "Search Ads",
          "value": "searchLinkedinAds",
          "action": "Search for ads",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "company": "={{$parameter.additionalFields.company}}",
                "endDate": "={{$parameter.additionalFields.endDate}}",
                "keyword": "={{$parameter.keyword}}",
                "countries": "={{$parameter.additionalFields.countries}}",
                "startDate": "={{$parameter.additionalFields.startDate}}"
              },
              "url": "v1/linkedin/ads/search",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Search the LinkedIn Ad Library for ads"
        },
        {
          "name": "Get Ad Details",
          "value": "getLinkedinAdDetails",
          "action": "Get ad details",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/linkedin/ad",
              "method": "GET"
            }
          },
          "description": "Get the details of a specific LinkedIn ad"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "linkedinAdLibrary"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTwitterProfile",
      "options": [
        {
          "name": "Get Twitter Profile",
          "value": "getTwitterProfile",
          "action": "Get a twitter profile",
          "routing": {
            "request": {
              "qs": {
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/twitter/profile",
              "method": "GET"
            }
          },
          "description": "Get a Twitter profile"
        },
        {
          "name": "Get User Tweets",
          "value": "getUserTweets",
          "action": "Get a user s tweets",
          "routing": {
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/twitter/user-tweets",
              "method": "GET"
            }
          },
          "description": "Get a user's tweets. This won't be their latest tweets, but will be 100 of their most popular tweets."
        },
        {
          "name": "Get Tweet Details",
          "value": "getTweetDetails",
          "action": "Get a tweet s details",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v1/twitter/tweet",
              "method": "GET"
            }
          },
          "description": "Get a tweet's details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "twitter"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getSubredditPosts",
      "options": [
        {
          "name": "Get Subreddit Posts",
          "value": "getSubredditPosts",
          "action": "Get a subreddit s posts",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "sort": "={{$parameter.additionalFields.sort}}",
                "trim": true,
                "subreddit": "={{$parameter.subreddit}}",
                "timeframe": "={{$parameter.additionalFields.timeframe}}"
              },
              "url": "v1/reddit/subreddit",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a subreddit's posts"
        },
        {
          "name": "Get Post Comments",
          "value": "getRedditPostComments",
          "action": "Get a post s comments",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v1/reddit/post/comments",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a post's comments"
        },
        {
          "name": "Search Reddit",
          "value": "searchReddit",
          "action": "Search reddit",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "sort": "={{$parameter.additionalFields.sort}}",
                "trim": true,
                "query": "={{$parameter.query}}",
                "timeframe": "={{$parameter.additionalFields.timeframe}}"
              },
              "url": "v1/reddit/search",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Search Reddit for posts"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "reddit"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getThreadsProfile",
      "options": [
        {
          "name": "Get Threads Profile",
          "value": "getThreadsProfile",
          "action": "Get threads profile",
          "routing": {
            "request": {
              "qs": {
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/threads/profile",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Threads User Posts",
          "value": "getThreadsUserPosts",
          "action": "Get threads user posts",
          "routing": {
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/threads/user/posts",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Threads Post",
          "value": "getThreadsPost",
          "action": "Get threads post",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v1/threads/post",
              "method": "GET"
            }
          }
        },
        {
          "name": "Search Threads",
          "value": "searchThreads",
          "action": "Search threads",
          "routing": {
            "request": {
              "qs": {
                "trim": true,
                "query": "={{$parameter.query}}"
              },
              "url": "v1/threads/search",
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "threads"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTruthSocialProfile",
      "options": [
        {
          "name": "Get TruthSocial Profile",
          "value": "getTruthSocialProfile",
          "action": "Get truth social profile",
          "routing": {
            "request": {
              "qs": {
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/truthsocial/profile",
              "method": "GET"
            }
          },
          "description": "Get truth social profile"
        },
        {
          "name": "Get TruthSocial User Posts",
          "value": "getTruthSocialUserPosts",
          "action": "Get truth social user posts",
          "routing": {
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/truthsocial/user/posts",
              "method": "GET"
            }
          },
          "description": "Get truth social user posts"
        },
        {
          "name": "Get TruthSocial Post",
          "value": "getTruthSocialPost",
          "action": "Get the details of a truth social post",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}"
              },
              "url": "v1/truthsocial/post",
              "method": "GET"
            }
          },
          "description": "Get the details of a truth social post"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "truthsocial"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "searchPinterest",
      "options": [
        {
          "name": "Search Pinterest",
          "value": "searchPinterest",
          "action": "Search pinterest",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "trim": true,
                "query": "={{$parameter.query}}"
              },
              "url": "v1/pinterest/search",
              "method": "GET"
            },
            "operations": {}
          }
        },
        {
          "name": "Get Pinterest Pin",
          "value": "getPinterestPin",
          "action": "Get pinterest pin",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v1/pinterest/pin",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get Pinterest User Boards",
          "value": "getPinterestUserBoards",
          "action": "Get a user s boards",
          "routing": {
            "request": {
              "qs": {
                "trim": true,
                "handle": "={{$parameter.handle}}"
              },
              "url": "v1/pinterest/user/boards",
              "method": "GET"
            }
          },
          "description": "Get a user's boards"
        },
        {
          "name": "Get Pinterest Board Pins",
          "value": "getPinterestBoardPins",
          "action": "Get a board s pins",
          "routing": {
            "send": {
              "paginate": true
            },
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "trim": true
              },
              "url": "v1/pinterest/board",
              "method": "GET"
            },
            "operations": {}
          },
          "description": "Get a board's pins"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pinterest"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "searchGoogle",
      "options": [
        {
          "name": "Search Google",
          "value": "searchGoogle",
          "action": "Search google",
          "routing": {
            "request": {
              "qs": {
                "query": "={{$parameter.query}}"
              },
              "url": "v1/google/search",
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "googleSearch"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"getInstagramProfile","name":"Get Profile","description":"Get an Instagram profile","resource":"instagram"},{"operation":"getInstagramUserPosts","name":"Get User's Posts","description":"Get an Instagram user's posts","resource":"instagram"},{"operation":"getInstagramPost","name":"Get Post","description":"Get an Instagram post or reel","resource":"instagram"},{"operation":"getInstagramPostTranscript","name":"Get Post Transcript","description":"Get an Instagram post transcript","resource":"instagram"},{"operation":"getInstagramUserReels","name":"Get User's Reels","description":"Get an Instagram user's reels","resource":"instagram"},{"operation":"getInstagramUserStoryHighlights","name":"Get User's Story Highlights","description":"Get an Instagram user's story highlights","resource":"instagram"},{"operation":"getTikTokProfile","name":"Get Profile","description":"Get a TikTok profile","resource":"tiktok"},{"operation":"getTikTokProfileVideos","name":"Get Profile's Videos","description":"Get a TikTok profile's videos","resource":"tiktok"},{"operation":"getTikTokVideo","name":"Get TikTok Video","description":"Get a TikTok video","resource":"tiktok"},{"operation":"getTikTokVideoTranscript","name":"Get TikTok Video Transcript","description":"Get a TikTok video transcript","resource":"tiktok"},{"operation":"getTikTokVideoComments","name":"Get TikTok Video Comments","description":"Get a TikTok video comments","resource":"tiktok"},{"operation":"getTikTokFollowing","name":"Get TikTok Following","description":"Get a TikTok following","resource":"tiktok"},{"operation":"getTikTokFollowers","name":"Get TikTok Followers","description":"Get a TikTok followers","resource":"tiktok"},{"operation":"searchTikTokUsers","name":"Search TikTok Users","resource":"tiktok"},{"operation":"searchTikTokByHashtag","name":"Search TikTok's by Hashtag","description":"Search TikTok by hashtag","resource":"tiktok"},{"operation":"searchTikTokByKeyword","name":"Search TikTok's by Keyword","description":"Search TikTok by keyword","resource":"tiktok"},{"operation":"getYouTubeChannelDetails","name":"Get YouTube Channel Details","description":"Get a YouTube channel details","resource":"youtube"},{"operation":"getYouTubeChannelVideos","name":"Get YouTube Channel Videos","description":"Get a YouTube channel videos","resource":"youtube"},{"operation":"getYouTubeChannelShorts","name":"Get YouTube Channel Shorts","description":"Get a YouTube channel shorts","resource":"youtube"},{"operation":"getYouTubeVideoDetails","name":"Get YouTube Video Details","description":"Get a YouTube video details","resource":"youtube"},{"operation":"getYouTubeVideoTranscript","name":"Get YouTube Video Transcript","description":"Get a YouTube video transcript","resource":"youtube"},{"operation":"searchYouTubeVideosByKeyword","name":"Search YouTube Videos by Keyword","description":"Search YouTube videos","resource":"youtube"},{"operation":"searchYouTubeVideosByHashtag","name":"Search YouTube Videos by Hashtag","resource":"youtube"},{"operation":"getComments","name":"Get Comments","resource":"youtube"},{"operation":"getLinkedinProfile","name":"Get LinkedIn Profile","description":"Get a LinkedIn profile","resource":"linkedin"},{"operation":"getLinkedinCompanyPage","name":"Get LinkedIn Company Page","description":"Get a LinkedIn company page","resource":"linkedin"},{"operation":"getLinkedinPost","name":"Get LinkedIn Post","description":"Get a LinkedIn post","resource":"linkedin"},{"operation":"getFacebookProfile","name":"Get Facebook Profile","description":"Get a Facebook profile","resource":"facebook"},{"operation":"getFacebookProfilePosts","name":"Get Facebook Profile Posts","description":"Get a Facebook profile posts","resource":"facebook"},{"operation":"getFacebookGroupPosts","name":"Get Facebook Group Posts","description":"Get a Facebook group posts","resource":"facebook"},{"operation":"getReel","name":"Get Reel","description":"Get a Facebook reel","resource":"facebook"},{"operation":"getFacebookPost","name":"Get Facebook Post","description":"Get a Facebook post","resource":"facebook"},{"operation":"getTranscript","name":"Get Transcript","description":"Get the transcript of a post or reel","resource":"facebook"},{"operation":"getFacebookLibraryAd","name":"Get Ad","description":"Get a Facebook ad library ad","resource":"facebookAdLibrary"},{"operation":"searchAds","name":"Search Ads","description":"Search for ads","resource":"facebookAdLibrary"},{"operation":"getCompanyAds","name":"Get A Company's Ads","resource":"facebookAdLibrary"},{"operation":"searchCompanies","name":"Search Companies","description":"Search for companies","resource":"facebookAdLibrary"},{"operation":"getCompanyGoogleAds","name":"Get A Company's Google Ads","resource":"googleAdLibrary"},{"operation":"getAdDetails","name":"Get Ad Details","description":"Get the details of a specific Google ad","resource":"googleAdLibrary"},{"operation":"searchLinkedinAds","name":"Search Ads","description":"Search the LinkedIn Ad Library for ads","resource":"linkedinAdLibrary"},{"operation":"getLinkedinAdDetails","name":"Get Ad Details","description":"Get the details of a specific LinkedIn ad","resource":"linkedinAdLibrary"},{"operation":"getTwitterProfile","name":"Get Twitter Profile","description":"Get a Twitter profile","resource":"twitter"},{"operation":"getUserTweets","name":"Get User Tweets","description":"Get a user's tweets. This won't be their latest tweets, but will be 100 of their most popular tweets.","resource":"twitter"},{"operation":"getTweetDetails","name":"Get Tweet Details","description":"Get a tweet's details","resource":"twitter"},{"operation":"getSubredditPosts","name":"Get Subreddit Posts","description":"Get a subreddit's posts","resource":"reddit"},{"operation":"getRedditPostComments","name":"Get Post Comments","description":"Get a post's comments","resource":"reddit"},{"operation":"searchReddit","name":"Search Reddit","description":"Search Reddit for posts","resource":"reddit"},{"operation":"getThreadsProfile","name":"Get Threads Profile","resource":"threads"},{"operation":"getThreadsUserPosts","name":"Get Threads User Posts","resource":"threads"},{"operation":"getThreadsPost","name":"Get Threads Post","resource":"threads"},{"operation":"searchThreads","name":"Search Threads","resource":"threads"},{"operation":"getTruthSocialProfile","name":"Get TruthSocial Profile","description":"Get truth social profile","resource":"truthsocial"},{"operation":"getTruthSocialUserPosts","name":"Get TruthSocial User Posts","description":"Get truth social user posts","resource":"truthsocial"},{"operation":"getTruthSocialPost","name":"Get TruthSocial Post","description":"Get the details of a truth social post","resource":"truthsocial"},{"operation":"searchPinterest","name":"Search Pinterest","resource":"pinterest"},{"operation":"getPinterestPin","name":"Get Pinterest Pin","resource":"pinterest"},{"operation":"getPinterestUserBoards","name":"Get Pinterest User Boards","description":"Get a user's boards","resource":"pinterest"},{"operation":"getPinterestBoardPins","name":"Get Pinterest Board Pins","description":"Get a board's pins","resource":"pinterest"},{"operation":"searchGoogle","name":"Search Google","resource":"googleSearch"}]

npm_readme:
  # n8n-nodes-scrape-creators

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

  This is an n8n community node. It lets you get real time social media data with [ScrapeCreators](https://scrapecreators.com/)

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

  ## How to install

  ### Community Nodes

  For n8n version 0.187 and later, you can install this node through the Community Nodes panel:

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

  ## Credentials

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

  1. Sign up for a [Scrape Creators account](https://app.scrapecreators.com/)
  2. Copy API Token

  3. Create new credential in n8n

     - Use the Scrape Creators node
     - Under Credential to connect with, click Create New Credential
     - Paste API Key

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Scrape Creators Documentation](https://docs.scrapecreators.com/)
  - [Sign up for a Scrape Creators API key](https://app.scrapecreators.com/)
  - Email me if you have any problems: adrian@thewebscrapingguy.com

  ## Version history

  0.1.5 - Initial Release

ai_documentation_summary:
  {"purpose":"This n8n community node retrieves real-time social media data by connecting to the ScrapeCreators API.","capabilities":["Fetch real-time social media data","Access social media metrics and insights","Integrate with ScrapeCreators API"],"authentication":"API Key required","commonUseCases":["Monitor social media trends","Track competitor social activity","Gather social media analytics for marketing campaigns"],"limitations":["Community node (requires agreeing to risks)","Requires separate ScrapeCreators account and API token"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.webhook"]}


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

updated_at: 2026-03-25 21:19:40
author_name: goranstjepanovic
author_github_url: https://github.com/flarelight-io/n8n-nodes-flarelight.git
npm_package_name: @flarelight/n8n-nodes-flarelight
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:40.673Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "import",
      "options": [
        {
          "name": "Automation",
          "value": "automation"
        },
        {
          "name": "Import",
          "value": "import"
        },
        {
          "name": "Preparation",
          "value": "preparation"
        },
        {
          "name": "Report",
          "value": "report"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "execute",
      "options": [
        {
          "name": "Execute Automation",
          "value": "execute",
          "action": "Execute automation",
          "routing": {
            "request": {
              "url": "=/Automation/{{$parameter[\"automationId\"]}}/Execute",
              "method": "POST"
            }
          },
          "description": "Execute an automation by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "automation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many imports",
          "routing": {
            "request": {
              "url": "/Import/All",
              "method": "GET"
            }
          },
          "description": "Get many available imports"
        },
        {
          "name": "Get Import Data",
          "value": "getData",
          "action": "Get import data",
          "routing": {
            "request": {
              "url": "=/Import/{{$parameter[\"importId\"]}}/Data?start={{ $parameter.start }}&count={{ $parameter.count }}",
              "method": "GET"
            }
          },
          "description": "Get data from a specific import"
        },
        {
          "name": "Create Import",
          "value": "create",
          "action": "Create import",
          "routing": {
            "request": {
              "url": "/Import/Data",
              "body": "={{ JSON.parse($parameter.importRequest) }}",
              "method": "POST"
            }
          },
          "description": "Create a new data import"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "import"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many preparations",
          "routing": {
            "request": {
              "url": "/Preparation/All",
              "method": "GET"
            }
          },
          "description": "Get many available data preparations"
        },
        {
          "name": "Get Preparation Data",
          "value": "getData",
          "action": "Get preparation data",
          "routing": {
            "request": {
              "url": "=/Preparation/{{$parameter[\"preparationId\"]}}/Data?start={{ $parameter.start }}&count={{ $parameter.count }}",
              "method": "GET"
            }
          },
          "description": "Get data from a specific preparation"
        },
        {
          "name": "Execute Preparation",
          "value": "execute",
          "action": "Execute preparation",
          "routing": {
            "request": {
              "url": "=/Preparation/{{$parameter[\"preparationId\"]}}/Execute",
              "method": "POST"
            }
          },
          "description": "Execute a data preparation by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "preparation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many reports",
          "routing": {
            "request": {
              "url": "/Report/All",
              "method": "GET"
            }
          },
          "description": "Get many available reports"
        },
        {
          "name": "Get Report",
          "value": "get",
          "action": "Get report",
          "routing": {
            "request": {
              "url": "=/Report/{{$parameter[\"reportId\"]}}",
              "method": "GET"
            }
          },
          "description": "Get a specific report by ID"
        },
        {
          "name": "Generate Report",
          "value": "generate",
          "action": "Generate report",
          "routing": {
            "request": {
              "url": "=/Report/{{$parameter[\"reportId\"]}}/Generate",
              "method": "POST"
            }
          },
          "description": "Generate a report by ID"
        },
        {
          "name": "Get Chart Data",
          "value": "getChartData",
          "action": "Get chart data",
          "routing": {
            "request": {
              "url": "/Report/ChartData",
              "body": "={{ JSON.parse($parameter.chartDataRequest) }}",
              "method": "POST"
            }
          },
          "description": "Get chart data for reports"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"execute","name":"Execute Automation","description":"Execute an automation by ID","resource":"automation"},{"operation":"getAll","name":"Get Many","description":"Get many available imports","resource":"import"},{"operation":"getData","name":"Get Import Data","description":"Get data from a specific import","resource":"import"},{"operation":"create","name":"Create Import","description":"Create a new data import","resource":"import"},{"operation":"getAll","name":"Get Many","description":"Get many available data preparations","resource":"preparation"},{"operation":"getData","name":"Get Preparation Data","description":"Get data from a specific preparation","resource":"preparation"},{"operation":"execute","name":"Execute Preparation","description":"Execute a data preparation by ID","resource":"preparation"},{"operation":"getAll","name":"Get Many","description":"Get many available reports","resource":"report"},{"operation":"get","name":"Get Report","description":"Get a specific report by ID","resource":"report"},{"operation":"generate","name":"Generate Report","description":"Generate a report by ID","resource":"report"},{"operation":"getChartData","name":"Get Chart Data","description":"Get chart data for reports","resource":"report"}]

npm_readme:
  # n8n-nodes-flarelight

  This is an n8n community node that lets you use [Flarelight](https://www.flarelight.io) APIs in your n8n workflows.

  Flarelight is a modern no-code Business Intelligence (BI) platform designed for micro-businesses, professionals, and small teams that enables users to import, prepare, analyze, automate, and report on data in a streamlined, easy-to-use workflow. The platform combines simplicity, automation, and AI-assisted insights, giving smaller organizations access to capabilities traditionally reserved for enterprise BI tools.

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

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

  ## Installation

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

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

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

  ## Operations

  The node mirrors the primary resource groups exposed by the Flarelight API so you can:

  - Run automations to orchestrate Flarelight workflows.
  - Manage imports, including creating new imports and retrieving their data.
  - Handle preparation pipelines to transform datasets before downstream use.
  - Generate and retrieve reports, including chart data extraction.

  For the full list of endpoints and payloads, refer to the [Flarelight API specification](https://integration.eu1.flarelight.cloud/swagger/index.html).

  ## Credentials

  Create a Flarelight credential in n8n using the values supplied by your Flarelight workspace:

  - `Subscription ID` (sent as `X-Subscription-Id`)
  - `Integration Key` (sent as `X-Api-Key`)
  - Optional custom API base URL (defaults to `https://integration.eu1.flarelight.cloud`)

  Store credentials in n8n and reference them from every Flarelight node instance.

  ## Compatibility

  Tested against n8n version **1.120.4**.

  ## Usage

  1. Install the community node and configure the Flarelight credential once per n8n instance.
  2. Add the **Flarelight** node to a workflow and pick a resource (`Automation`, `Import`, `Preparation`, or `Report`).
  3. Choose an operation, supply required IDs or payloads, and optionally enable pagination or JSON body inputs where available.
  4. Chain the Flarelight node with other n8n nodes to automate end-to-end BI and reporting workflows.

  Review `n8nNodeDocPortal.md` in this repository for deeper, operation-by-operation guidance.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Flarelight website](https://www.flarelight.io)
  - [Flarelight API documentation](https://docs.flarelight.cloud/docs/integration-api/)

  ## Version history

  | Version | Date       | Notes                    |
  |---------|------------|--------------------------|
  | 1.0.3   | 2025-11-27 | POST Requests fix |
  | 1.0.2   | 2025-11-25 | Fixed gulp file copy which corrupted the icon  |
  | 1.0.1   | 2025-11-25 | Clean up template files  |
  | 1.0.0   | 2025-11-25 | Initial community release |

ai_documentation_summary:
  {"purpose":"This n8n community node enables workflow automation by interacting with the Flarelight Business Intelligence (BI) platform API to manage data imports, preparation pipelines, automations, and reporting.","capabilities":["Run Flarelight automations","Create and retrieve data imports","Manage data preparation pipelines","Generate and retrieve reports","Extract chart data from reports","Support pagination for API responses"],"authentication":"API Key required (Integration Key sent as X-Api-Key header) and Subscription ID (sent as X-Subscription-Id header)","commonUseCases":["Automating data import and transformation workflows","Generating automated BI reports for micro-businesses","Orchestrating data analysis pipelines within n8n","Extracting visual data from Flarelight charts"],"limitations":["Community node (unverified code from public source)","Requires valid Flarelight workspace credentials","Tested only against n8n version 1.120.4"],"relatedNodes":["n8n HTTP Request node","n8n Code node","n8n Function node"]}


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-03-25 21:19:40
author_name: mihailozepina
author_github_url: https://github.com/mihailozepina/
npm_package_name: n8n-nodes-aimfox
npm_version: 1.0.14
community_fetched_at: 2026-03-25T21:19:40.673Z
ai_summary_generated_at: 2026-03-25 22:51:43
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": "Custom Variable",
          "value": "customVariable"
        },
        {
          "name": "Label",
          "value": "label"
        },
        {
          "name": "Lead",
          "value": "lead"
        },
        {
          "name": "Template",
          "value": "template"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listAccounts",
      "options": [
        {
          "name": "Get Account Limits",
          "value": "getAccountLimits",
          "action": "Get account limits",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/limits",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get the interaction limits for a specific account"
        },
        {
          "name": "List Accounts",
          "value": "listAccounts",
          "action": "List accounts",
          "routing": {
            "request": {
              "url": "/accounts",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all accounts in the workspace"
        },
        {
          "name": "Set Account Limits",
          "value": "setAccountLimits",
          "action": "Set account limits",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/limits",
              "body": {
                "inmail": "={{$parameter[\"inmailLimit\"]}}",
                "connect": "={{$parameter[\"connectLimit\"]}}",
                "message_request": "={{$parameter[\"messageRequestLimit\"]}}"
              },
              "method": "PATCH",
              "headers": {}
            }
          },
          "description": "Update the weekly interaction limits for an account"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listBlacklist",
      "options": [
        {
          "name": "Add Companies to Blacklist",
          "value": "addCompaniesToBlacklist",
          "action": "Add companies to blacklist",
          "routing": {
            "request": {
              "url": "/blacklist-companies",
              "body": {
                "companies": "={{$parameter[\"companyUrls\"].split(\",\").map(url => url.trim())}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add multiple LinkedIn companies to the blacklist"
        },
        {
          "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": "List Blacklisted Companies",
          "value": "listBlacklistedCompanies",
          "action": "List blacklisted companies",
          "routing": {
            "request": {
              "url": "/blacklist-companies",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all blacklisted LinkedIn companies in the workspace"
        },
        {
          "name": "List Blacklisted Profiles",
          "value": "listBlacklist",
          "action": "List blacklisted profiles",
          "routing": {
            "request": {
              "url": "/blacklist",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all blacklisted profiles in the workspace"
        },
        {
          "name": "Remove Company From Blacklist",
          "value": "removeCompanyFromBlacklist",
          "action": "Remove company from blacklist",
          "routing": {
            "request": {
              "url": "=/blacklist-companies/{{$parameter[\"companyUrn\"]}}",
              "method": "DELETE",
              "headers": {}
            }
          },
          "description": "Remove a LinkedIn company from the blacklist using the company 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": "Create Campaign",
          "value": "createCampaign",
          "action": "Create a campaign",
          "routing": {
            "request": {
              "url": "/campaigns",
              "body": {
                "name": "={{$parameter[\"campaignName\"]}}",
                "type": "={{$parameter[\"campaignType\"]}}",
                "account_ids": "={{$parameter[\"accountIds\"].split(\",\").map(id => id.trim())}}",
                "audience_size": "={{$parameter[\"audienceSize\"]}}",
                "outreach_type": "={{$parameter[\"outreachType\"]}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Create a new Aimfox campaign"
        },
        {
          "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": "Remove Profile From Campaign",
          "value": "removeProfileFromCampaign",
          "action": "Remove profile from campaign",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/audience/{{$parameter[\"profileUrnOrIdentifier\"]}}",
              "method": "DELETE",
              "headers": {}
            }
          },
          "description": "Remove a profile from the selected campaign using URN or public identifier"
        },
        {
          "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": "getCampaignCustomVariables",
      "options": [
        {
          "name": "Add Custom Variables to Target",
          "value": "addCustomVariablesToTarget",
          "action": "Add custom variables to target",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/custom-variables",
              "body": {
                "custom_variables": "={{[{ target_urn: $parameter[\"targetUrn\"], variables: JSON.parse($parameter[\"variables\"]) }]}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Add custom variables to a specific target in a campaign"
        },
        {
          "name": "Get Campaign Custom Variables",
          "value": "getCampaignCustomVariables",
          "action": "Get campaign custom variables",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/custom-variables",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get all custom variables for a specific campaign"
        },
        {
          "name": "Get Target Custom Variables",
          "value": "getTargetCustomVariables",
          "action": "Get target custom variables",
          "routing": {
            "request": {
              "url": "=/campaigns/{{$parameter[\"campaignId\"]}}/custom-variables/{{$parameter[\"targetUrn\"]}}",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get custom variables for a specific target in a campaign"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "customVariable"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listLabels",
      "options": [
        {
          "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": "Delete Label",
          "value": "deleteLabel",
          "action": "Delete label",
          "routing": {
            "request": {
              "url": "=/labels/{{$parameter[\"workspaceLabelId\"]}}",
              "method": "DELETE",
              "headers": {}
            }
          },
          "description": "Delete a label from the workspace"
        },
        {
          "name": "Edit Label",
          "value": "editLabel",
          "action": "Edit label",
          "routing": {
            "request": {
              "url": "=/labels/{{$parameter[\"workspaceLabelId\"]}}",
              "body": {
                "name": "={{$parameter[\"labelName\"]}}",
                "color": "={{$parameter[\"labelColor\"]}}"
              },
              "method": "PATCH",
              "headers": {}
            }
          },
          "description": "Edit an existing label in the workspace"
        },
        {
          "name": "List Labels",
          "value": "listLabels",
          "action": "List labels",
          "routing": {
            "request": {
              "url": "/labels",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all labels for 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": "Delete Note From Lead",
          "value": "deleteNoteFromLead",
          "action": "Delete note from lead",
          "routing": {
            "request": {
              "url": "=/leads/{{$parameter[\"leadId\"]}}/notes/{{$parameter[\"noteId\"]}}",
              "method": "DELETE",
              "headers": {}
            }
          },
          "description": "Delete a note from 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": "Get Lead Custom Variables",
          "value": "getLeadCustomVariables",
          "action": "Get lead custom variables",
          "routing": {
            "request": {
              "url": "=/accounts/{{$parameter[\"accountId\"]}}/leads/{{$parameter[\"leadUrn\"]}}/custom-variables",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "Get custom variables for a specific lead"
        },
        {
          "name": "List Lead Notes",
          "value": "listLeadNotes",
          "action": "List lead notes",
          "routing": {
            "request": {
              "url": "=/leads/{{$parameter[\"leadId\"]}}/notes",
              "method": "GET",
              "headers": {}
            }
          },
          "description": "List all notes for the selected lead"
        },
        {
          "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": "Search Leads",
          "value": "searchLeads",
          "action": "Search leads",
          "routing": {
            "request": {
              "qs": {
                "count": "={{$parameter[\"count\"]}}",
                "start": "={{$parameter[\"start\"]}}"
              },
              "url": "/leads:search",
              "body": {
                "labels": "={{$parameter[\"additionalFilters\"]?.filterLabels ? $parameter[\"additionalFilters\"].filterLabels.split(\",\").map(l => l.trim()) : []}}",
                "skills": "={{$parameter[\"additionalFilters\"]?.skills ? $parameter[\"additionalFilters\"].skills.split(\",\").map(s => s.trim()) : []}}",
                "lead_of": "={{$parameter[\"additionalFilters\"]?.leadOf ? $parameter[\"additionalFilters\"].leadOf.split(\",\").map(l => l.trim()) : []}}",
                "origins": "={{$parameter[\"additionalFilters\"]?.origins ? $parameter[\"additionalFilters\"].origins.split(\",\").map(o => o.trim()) : []}}",
                "keywords": "={{$parameter[\"keywords\"] || \"\"}}",
                "optimize": "={{$parameter[\"optimize\"]}}",
                "education": "={{$parameter[\"additionalFilters\"]?.education ? $parameter[\"additionalFilters\"].education.split(\",\").map(e => e.trim()) : []}}",
                "interests": "={{$parameter[\"additionalFilters\"]?.interests ? $parameter[\"additionalFilters\"].interests.split(\",\").map(i => i.trim()) : []}}",
                "languages": "={{$parameter[\"additionalFilters\"]?.languages ? $parameter[\"additionalFilters\"].languages.split(\",\").map(l => l.trim()) : []}}",
                "locations": "={{$parameter[\"additionalFilters\"]?.locations ? $parameter[\"additionalFilters\"].locations.split(\",\").map(l => l.trim()) : []}}",
                "past_companies": "={{$parameter[\"additionalFilters\"]?.pastCompanies ? $parameter[\"additionalFilters\"].pastCompanies.split(\",\").map(c => c.trim()) : []}}",
                "current_companies": "={{$parameter[\"additionalFilters\"]?.currentCompanies ? $parameter[\"additionalFilters\"].currentCompanies.split(\",\").map(c => c.trim()) : []}}"
              },
              "method": "POST",
              "headers": {}
            }
          },
          "description": "Search through all leads in the workspace"
        },
        {
          "name": "Update Note",
          "value": "updateNote",
          "action": "Update note",
          "routing": {
            "request": {
              "url": "=/leads/{{$parameter[\"leadId\"]}}/notes/{{$parameter[\"noteId\"]}}",
              "body": {
                "text": "={{$parameter[\"noteText\"]}}"
              },
              "method": "PATCH",
              "headers": {}
            }
          },
          "description": "Update a note for 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:
  [{"operation":"getAccountLimits","name":"Get Account Limits","description":"Get the interaction limits for a specific account","resource":"account"},{"operation":"listAccounts","name":"List Accounts","description":"List all accounts in the workspace","resource":"account"},{"operation":"setAccountLimits","name":"Set Account Limits","description":"Update the weekly interaction limits for an account","resource":"account"},{"operation":"addCompaniesToBlacklist","name":"Add Companies to Blacklist","description":"Add multiple LinkedIn companies to the blacklist","resource":"blacklist"},{"operation":"addProfileToBlacklist","name":"Add Profile to Blacklist","description":"Add profile to the blacklist using the profile URN","resource":"blacklist"},{"operation":"listBlacklistedCompanies","name":"List Blacklisted Companies","description":"List all blacklisted LinkedIn companies in the workspace","resource":"blacklist"},{"operation":"listBlacklist","name":"List Blacklisted Profiles","description":"List all blacklisted profiles in the workspace","resource":"blacklist"},{"operation":"removeCompanyFromBlacklist","name":"Remove Company From Blacklist","description":"Remove a LinkedIn company from the blacklist using the company URN","resource":"blacklist"},{"operation":"removeProfileFromBlacklist","name":"Remove Profile From Blacklist","description":"Remove profile from the blacklist using the profile URN","resource":"blacklist"},{"operation":"getConversation","name":"Get Conversation","description":"Get a specific conversation by URN","resource":"conversation"},{"operation":"getLeadConversation","name":"Get Lead Conversation","description":"Get a specific lead conversation URN","resource":"conversation"},{"operation":"listConversations","name":"List Conversations","description":"List all conversations for the selected workspace","resource":"conversation"},{"operation":"markConversationAsRead","name":"Mark Conversation As Read","description":"Mark an existing conversation as read","resource":"conversation"},{"operation":"sendMessageToConversation","name":"Send Message To Conversation","description":"Send a message to an existing conversation","resource":"conversation"},{"operation":"startConversation","name":"Start Conversation","description":"Start a new conversation with the lead","resource":"conversation"},{"operation":"addProfileToCampaign","name":"Add Profile to Campaign","description":"Add profile to the selected campaign","resource":"campaign"},{"operation":"addProfileToCampaignWithCustomVariables","name":"Add Profile to Campaign with Custom Variables","description":"Add profile to the selected campaign with custom variables","resource":"campaign"},{"operation":"createCampaign","name":"Create Campaign","description":"Create a new Aimfox campaign","resource":"campaign"},{"operation":"getCampaign","name":"Get Campaign","description":"Get a specific campaign by ID","resource":"campaign"},{"operation":"listCampaigns","name":"List Campaigns","description":"List all campaigns in the workspace","resource":"campaign"},{"operation":"pauseCampaign","name":"Pause","description":"Pause a running campaign","resource":"campaign"},{"operation":"removeProfileFromCampaign","name":"Remove Profile From Campaign","description":"Remove a profile from the selected campaign using URN or public identifier","resource":"campaign"},{"operation":"resumeCampaign","name":"Resume","description":"Resume a paused campaign","resource":"campaign"},{"operation":"addCustomVariablesToTarget","name":"Add Custom Variables to Target","description":"Add custom variables to a specific target in a campaign","resource":"customVariable"},{"operation":"getCampaignCustomVariables","name":"Get Campaign Custom Variables","description":"Get all custom variables for a specific campaign","resource":"customVariable"},{"operation":"getTargetCustomVariables","name":"Get Target Custom Variables","description":"Get custom variables for a specific target in a campaign","resource":"customVariable"},{"operation":"addLabel","name":"Add Label","description":"Add a new label to the selected workspace","resource":"label"},{"operation":"deleteLabel","name":"Delete Label","description":"Delete a label from the workspace","resource":"label"},{"operation":"editLabel","name":"Edit Label","description":"Edit an existing label in the workspace","resource":"label"},{"operation":"listLabels","name":"List Labels","description":"List all labels for the selected workspace","resource":"label"},{"operation":"addLabelToLead","name":"Add Label To Lead","description":"Add a new label to the selected lead","resource":"lead"},{"operation":"addNoteToLead","name":"Add Note To Lead","description":"Add a new note to the selected lead","resource":"lead"},{"operation":"deleteNoteFromLead","name":"Delete Note From Lead","description":"Delete a note from the selected lead","resource":"lead"},{"operation":"getLead","name":"Get Lead","description":"Get a specific lead by ID","resource":"lead"},{"operation":"getLeadCustomVariables","name":"Get Lead Custom Variables","description":"Get custom variables for a specific lead","resource":"lead"},{"operation":"listLeadNotes","name":"List Lead Notes","description":"List all notes for the selected lead","resource":"lead"},{"operation":"listRecentLeads","name":"List Recent Leads","description":"List recent leads for the selected workspace","resource":"lead"},{"operation":"removeLabelFromLead","name":"Remove Label From Lead","description":"Remove a label from the selected lead","resource":"lead"},{"operation":"searchLeads","name":"Search Leads","description":"Search through all leads in the workspace","resource":"lead"},{"operation":"updateNote","name":"Update Note","description":"Update a note for the selected lead","resource":"lead"},{"operation":"listTemplates","name":"List Templates","description":"List all templates in the selected workspace","resource":"template"},{"operation":"getTemplate","name":"Get Template","description":"Get a specific template by ID","resource":"template"},{"operation":"createTemplate","name":"Create Template","description":"Create a new template in the selected workspace","resource":"template"},{"operation":"removeTemplate","name":"Remove Template","description":"Remove a template from the workspace","resource":"template"}]

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
  - **Get Account Limits**: Get the interaction limits for a specific account
  - **List Accounts**: List all accounts in the workspace
  - **Set Account Limits**: Update the weekly interaction limits for an account

  ### Blacklist
  - **Add Companies to Blacklist**: Add multiple LinkedIn companies to the blacklist
  - **Add Profile to Blacklist**: Add profile to the blacklist using the profile URN
  - **List Blacklisted Companies**: List all blacklisted LinkedIn companies in the workspace
  - **List Blacklisted Profiles**: List all blacklisted profiles in the workspace
  - **Remove Company From Blacklist**: Remove a LinkedIn company from the blacklist using the company 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
  - **Create Campaign**: Create a new Aimfox campaign
  - **Get Campaign**: Get a specific campaign by ID
  - **List Campaigns**: List all campaigns in the workspace
  - **Pause**: Pause a running campaign
  - **Remove Profile From Campaign**: Remove a profile from the selected campaign using URN or public identifier
  - **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

  ### Custom Variable
  - **Add Custom Variables to Target**: Add custom variables to a specific target in a campaign
  - **Get Campaign Custom Variables**: Get all custom variables for a specific campaign
  - **Get Target Custom Variables**: Get custom variables for a specific target in a campaign

  ### Label
  - **Add Label**: Add a new label to the selected workspace
  - **Delete Label**: Delete a label from the workspace
  - **Edit Label**: Edit an existing label in the workspace
  - **List Labels**: List all labels for 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
  - **Delete Note From Lead**: Delete a note from the selected lead
  - **Get Lead**: Get a specific lead by ID
  - **Get Lead Custom Variables**: Get custom variables for a specific lead
  - **List Lead Notes**: List all notes for the selected lead
  - **List Recent Leads**: List recent leads for the selected workspace
  - **Remove Label From Lead**: Remove a label from the selected lead
  - **Search Leads**: Search for leads in the workspace with advanced filters
  - **Update Note**: Update a note for the selected lead

  ### Template
  - **Create Template**: Create a new template in the selected workspace
  - **Get Template**: Get a specific template by ID
  - **List Templates**: List all templates in the selected workspace
  - **Remove Template**: Remove a template from the 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":"This n8n community node enables automation of LinkedIn outreach, lead generation, and social selling activities through the Aimfox platform.","capabilities":["Manage account limits and list accounts","Manage blacklist of companies and profiles","Create, pause, resume, and manage campaigns","Start, list, and manage conversations with leads","Add custom variables to targets and leads","Manage labels and notes for leads","Create and manage templates","Trigger on LinkedIn events like connection requests, Inmails, and profile views"],"authentication":"API key required (Bearer token)","commonUseCases":["Automated LinkedIn lead generation","Social selling campaigns","LinkedIn outreach automation","Lead management and labeling","Conversation tracking and messaging"],"limitations":["Requires a paid Aimfox account","Requires manual setup of API credentials in n8n"],"relatedNodes":["n8n-nodes-aimfox.aimfox","n8n-nodes-aimfox.aimfox.account","n8n-nodes-aimfox.aimfox.campaign","n8n-nodes-aimfox.aimfox.lead","n8n-nodes-aimfox.aimfox.conversation"]}


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

updated_at: 2026-03-25 21:19:40
author_name: sendpulse.com
author_github_url: https://github.com/sendpulse/n8n-nodes-sendpulse.git
npm_package_name: @sendpulse/n8n-nodes-sendpulse
npm_version: 0.0.3
community_fetched_at: 2026-03-25T21:19:40.675Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "flow",
      "options": [
        {
          "name": "Flow",
          "value": "flow"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many automation flows",
          "routing": {
            "request": {
              "qs": {
                "limit": "={{ $parameter.additionalFields.limit }}",
                "offset": "={{ $parameter.additionalFields.offset }}"
              },
              "url": "=/autoresponders/list",
              "method": "GET"
            }
          },
          "description": "Get a list of automation flows"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a automation flow",
          "routing": {
            "request": {
              "url": "=/autoresponders/{{ $parameter.flowId }}",
              "method": "GET"
            }
          },
          "description": "Get a automation flow by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "flow"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"getMany","name":"Get Many","description":"Get a list of automation flows","resource":"flow"},{"operation":"get","name":"Get","description":"Get a automation flow by ID","resource":"flow"}]

npm_readme:
  # 🚀 n8n-nodes-sendpulse

  ![SendPulse Logo](icons/sendpulse.svg)

  Official [SendPulse](https://sendpulse.com) integration for [n8n](https://n8n.io).

  SendPulse is an all-in-one multichannel marketing and communication platform.
  It combines email campaigns, SMS, web push, and chatbots with CRM, automation flows, and transactional messaging.
  Using the n8n integration, teams can sync customer data, trigger personalized journeys from any app, and centralize product and growth experiments in one flexible workflow.

  This repo contains SendPulse Automation360, SendPulse Chatbots, SendPulse CRM, SendPulse Email, SendPulse FileManager,
  SendPulse Pop-ups, SendPulse SMS, SendPulse SMTP, SendPulse Verifier and SendPulse Web Push community nodes for n8n.

  These nodes currently only supports the most popular SendPulse APIs.
  If there's an API missing that you would like to use, please let us know.
  In the meantime, you can also use the generic [HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) node to construct your requests.

  ## 📚 Table of Contents

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

  ## 📦 Installation

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

  ## 🔐 Credentials

  ### Client ID & Client Secret

  1. Log in to your **[SendPulse account](https://sendpulse.com)**
  2. Navigate to **Account settings > API**
  3. Copy your **Client ID**
  4. Copy your **Client Secret**

  ### Access Token

  The authorization process requires an access token for signing each further API request.

  The necessary parameters to obtain an access token can be found in the private account settings page found on the following URL in the [API tab](https://login.sendpulse.com/settings/#api).

  To get an access token you have to send a POST request to:

  ```
  https://api.sendpulse.com/oauth/access_token
  ```

  Request parameters:

  | Parameter     | Type   | Description                             |
  |---------------|--------|-----------------------------------------|
  | grant_type    | string | Has to be equal to `client_credentials` |
  | client_id     | string | Your ID                                 |
  | client_secret | string | Your Secret                             |

  ## 🧩 Usage

  Add any SendPulse node to a workflow:

  ![Add SendPulse to Workflow](images/node.png)

  Configure a basic query and hit "Execute step" to execute the query:

  ![Test a Google Search through SerpApi](images/mailing-list-operation.png)

  ## 🛠️ Operations

  All operations are documented in the [SendPulse REST API Documentation](https://sendpulse.com/integrations/api).

  ### 🔄 SendPulse Automation360 Node

  | Resource | Operation                                                        |
  |----------|------------------------------------------------------------------|
  | Flow     | [Get Many](https://sendpulse.com/integrations/api/a360#get-flows) |
  | Flow     | [Get](https://sendpulse.com/integrations/api/a360#get-info-flow)  |

  ### 🤖 SendPulse Chatbots Node

  | Resource | Operation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  |----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | Bot      | [Get Many](https://sendpulse.com/integrations/api/chatbot#/bots/get_bots)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | Dialog   | [Get Many](https://sendpulse.com/integrations/api/chatbot#/dialogs/get_dialogs)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | Contact  | Get ([Telegram](https://sendpulse.com/integrations/api/chatbot/telegram#/contacts/get_contacts_get), [Facebook Messenger](https://sendpulse.com/integrations/api/chatbot/facebook#/contacts/get_contacts_get), [WhatsApp](https://sendpulse.com/integrations/api/chatbot/whatsapp#/contacts/get_contacts_get), [LiveChat](https://sendpulse.com/integrations/api/chatbot/live-chat#/contacts/get_contacts_get), [Instagram](https://sendpulse.com/integrations/api/chatbot/instagram#/contacts/get_contacts_get), [Viber](https://sendpulse.com/integrations/api/chatbot/viber#/contacts/get_contacts_get), [TikTok](https://sendpulse.com/integrations/api/chatbot/tiktok#/contacts/get_contacts_get))                        |
  | Contact  | Send Message ([Telegram](https://sendpulse.com/integrations/api/chatbot/telegram#/contacts/post_contacts_send), [Facebook Messenger](https://sendpulse.com/integrations/api/chatbot/facebook#/contacts/post_contacts_send), [WhatsApp](https://sendpulse.com/integrations/api/chatbot/whatsapp#/contacts/post_contacts_send), [LiveChat](https://sendpulse.com/integrations/api/chatbot/live-chat#/contacts/post_contacts_send), [Instagram](https://sendpulse.com/integrations/api/chatbot/instagram#/contacts/post_contacts_send), [Viber](https://sendpulse.com/integrations/api/chatbot/viber#/contacts/post_contacts_send), [TikTok](https://sendpulse.com/integrations/api/chatbot/tiktok#/contacts/post_contacts_send)) |
  | Flow     | Run ([Telegram](https://sendpulse.com/integrations/api/chatbot/telegram#/flows/post_flows_run), [Facebook Messenger](https://sendpulse.com/integrations/api/chatbot/facebook#/flows/post_flows_run), [WhatsApp](https://sendpulse.com/integrations/api/chatbot/whatsapp#/flows/post_flows_run), [LiveChat](https://sendpulse.com/integrations/api/chatbot/live-chat#/flows/post_flows_run), [Instagram](https://sendpulse.com/integrations/api/chatbot/instagram#/flows/post_flows_run), [Viber](https://sendpulse.com/integrations/api/chatbot/viber#/flows/post_flows_run), [TikTok](https://sendpulse.com/integrations/api/chatbot/tiktok#/flows/post_flows_run))                                                           |

  ### 📇 SendPulse CRM Node

  | Resource | Operation                                                                                                           |
  |----------|---------------------------------------------------------------------------------------------------------------------|
  | Contact  | [Get Many](https://sendpulse.com/integrations/api/crm#/Contacts/post_contacts_get_list)                              |
  | Contact  | [Get](https://sendpulse.com/integrations/api/crm#/Contacts/get_contacts__contactId_)                                 |
  | Contact  | [Get by External ID](https://sendpulse.com/integrations/api/crm#/Contacts/get_contacts_external__externalContactId_) |
  | Contact  | [Create](https://sendpulse.com/integrations/api/crm#/Contacts/post_contacts_create)                                  |
  | Deal     | [Get Many](https://sendpulse.com/integrations/api/crm#/Deals/post_deals_get_list)                                    |
  | Deal     | [Get](https://sendpulse.com/integrations/api/crm#/Deals/get_deals__dealId_)                                          |
  | Deal     | [Create](https://sendpulse.com/integrations/api/crm#/Deals/post_deals)                                               |
  | Pipeline | [Get Many](https://sendpulse.com/integrations/api/crm#/Pipelines/get_pipelines)                                      |
  | Pipeline | [Get](https://sendpulse.com/integrations/api/crm#/Pipelines/get_pipelines__pipelineId_)                              |
  | Pipeline | [Create](https://sendpulse.com/integrations/api/crm#/Pipelines/post_pipelines)                                       |

  ### ✉️ SendPulse Email Node

  | Resource     | Operation                                                                                                                                                                   |
  |--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | Mailing List | [Get Many](https://sendpulse.com/integrations/api/bulk-email#lists-list)                                                                                                     |
  | Mailing List | [Get](https://sendpulse.com/integrations/api/bulk-email#list-info)                                                                                                           |
  | Mailing List | [Create](https://sendpulse.com/integrations/api/bulk-email#create-list)                                                                                                      |
  | Email        | Add to List ([single-opt-in](https://sendpulse.com/integrations/api/bulk-email#add-email), [double-opt-in)](https://sendpulse.com/integrations/api/bulk-email#double-opt-in)) |
  | Campaign | [Get Many](https://sendpulse.com/integrations/api/bulk-email#campaigns-list)                                                                                                     |
  | Campaign | [Get](https://sendpulse.com/integrations/api/bulk-email#campaign-info)                                                                                                           |
  | Campaign | [Create](https://sendpulse.com/integrations/api/bulk-email#create-campaign)                                                                                                      |

  ### 📁 SendPulse FileManager Node

  | Resource | Operation                                                                    |
  |----------|------------------------------------------------------------------------------|
  | File     | [Upload](https://sendpulse.com/integrations/api/file-manager#/File/post_file) |


  ### 🪄 SendPulse Pop-ups Node

  | Resource | Operation                                                                                              |
  |----------|--------------------------------------------------------------------------------------------------------|
  | Project  | [Get Many](https://sendpulse.com/integrations/api/pop-up#/Project/get_public_api_widgets_list)          |
  | Pop-Up   | [Get Many](https://sendpulse.com/integrations/api/pop-up#/Popup/get_public_api_popups_list__projectId_) |

  ### 📱 SendPulse SMS Node

  | Resource     | Operation                                                                                 |
  |--------------|-------------------------------------------------------------------------------------------|
  | Phone Number | [Add to Mailing List](https://sendpulse.com/integrations/api/bulk-sms#add-telephone)       |
  | Campaign     | [Create](https://sendpulse.com/integrations/api/bulk-sms#create-campaign-for-mailing-list) |

  ### 📨 SendPulse SMTP Node

  | Resource | Operation                                                                   |
  | -------- |-----------------------------------------------------------------------------|
  | Email    | [Get Many](https://sendpulse.com/integrations/api/smtp#get-emails-list-smtp) |
  | Email    | [Get](https://sendpulse.com/integrations/api/smtp#email-info-smtp)           |
  | Email    | [Send](https://sendpulse.com/integrations/api/smtp#send-email-smtp)          |

  ### ✔️ SendPulse Verifier Node

  | Resource     | Operation                                                                                 |
  | ------------ |-------------------------------------------------------------------------------------------|
  | Mailing List | [Verify](https://sendpulse.com/integrations/api/verifier#verify-mailing-list)              |
  | Mailing List | [Get Verified Lists](https://sendpulse.com/integrations/api/verifier#get-verified-lists)   |
  | Mailing List | [Get Verification Results](https://sendpulse.com/integrations/api/verifier#get-results-ml) |

  ### 🔔 SendPulse Web Push Node

  | Resource | Operation                                                                    |
  | -------- |------------------------------------------------------------------------------|
  | Website  | [Get Many](https://sendpulse.com/integrations/api/web-push#get-websites-list) |
  | Website  | [Get](https://sendpulse.com/integrations/api/web-push#site_info)              |
  | Campaign | [Create](https://sendpulse.com/integrations/api/web-push#create-push)         |

  ## 🧪 Workflow Examples

  #### Workflow 1: Create an email campaign

  ![Workflow 1](images/workflow1.png)

  **Steps:**
  1. Get mailing lists
  2. Combine results into one variable
  3. Set sender's name, sender's email, subject, base64 encoded message content and mailing list ID
  4. Send a campaign

  <details>
  <summary>JSON</summary>

  ```json
  {
    "name": "Creating an email campaign",
    "nodes": [
      {
        "parameters": {},
        "type": "n8n-nodes-base.manualTrigger",
        "typeVersion": 1,
        "position": [
          0,
          0
        ],
        "id": "162576dc-89ec-4f80-902c-1a048995caa3",
        "name": "When clicking ‘Execute workflow’"
      },
      {
        "parameters": {
          "authentication": "accessToken",
          "resource": "campaign",
          "operation": "create",
          "senderName": "={{ $json.senderName }}",
          "senderEmail": "={{ $json.senderEmail }}",
          "subject": "={{ $json.subject }}",
          "htmlBody": "={{ $json.htmlBodyBase64 }}",
          "listIds": "={{ $json.mailingListId }}",
          "name": "=Black Friday",
          "additionalFields": {},
          "requestOptions": {}
        },
        "type": "CUSTOM.sendPulseEmail",
        "typeVersion": 1,
        "position": [
          832,
          0
        ],
        "id": "f0486554-11b2-4ef4-ac58-1e4c287f189b",
        "name": "Create email campaign"
      },
      {
        "parameters": {
          "assignments": {
            "assignments": [
              {
                "id": "3f41524f-412d-4a70-8871-a23c615786d6",
                "name": "senderName",
                "value": "<sender_name>",
                "type": "string"
              },
              {
                "id": "c86c494a-73cd-4ea2-b6eb-4d9190fea113",
                "name": "senderEmail",
                "value": "<sender_email>",
                "type": "string"
              },
              {
                "id": "f0b4bbee-1556-43b5-9da4-f3c1833ffb84",
                "name": "subject",
                "value": "<subject>",
                "type": "string"
              },
              {
                "id": "e0f6b188-867e-4e95-b638-b007151cf3da",
                "name": "htmlBodyBase64",
                "value": "<html_body_base_64>",
                "type": "string"
              },
              {
                "id": "82042391-f675-46be-af47-0bde90057de5",
                "name": "=mailingListId",
                "value": "=<mailing_list_id>",
                "type": "number"
              }
            ]
          },
          "options": {}
        },
        "type": "n8n-nodes-base.set",
        "typeVersion": 3.4,
        "position": [
          624,
          0
        ],
        "id": "1dffd9a3-fb32-40e1-aebd-f7346aa985f2",
        "name": "Workflow Configuration"
      },
      {
        "parameters": {
          "additionalFields": {},
          "requestOptions": {}
        },
        "type": "CUSTOM.sendPulseEmail",
        "typeVersion": 1,
        "position": [
          208,
          0
        ],
        "id": "0e1b317f-acaf-4852-bf7d-535aebbcaab3",
        "name": "Get many mailing lists"
      },
      {
        "parameters": {
          "aggregate": "aggregateAllItemData",
          "destinationFieldName": "mailingLists",
          "options": {}
        },
        "id": "7bd43960-7cae-420d-9146-130310dc0efb",
        "name": "Combine Items",
        "type": "n8n-nodes-base.aggregate",
        "typeVersion": 1,
        "position": [
          416,
          0
        ]
      }
    ],
    "pinData": {},
    "connections": {
      "When clicking ‘Execute workflow’": {
        "main": [
          [
            {
              "node": "Get many mailing lists",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Create email campaign": {
        "main": [
          []
        ]
      },
      "Workflow Configuration": {
        "main": [
          [
            {
              "node": "Create email campaign",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Get many mailing lists": {
        "main": [
          [
            {
              "node": "Combine Items",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Combine Items": {
        "main": [
          [
            {
              "node": "Workflow Configuration",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "active": false,
    "settings": {
      "executionOrder": "v1"
    },
    "versionId": "59ed90df-5927-4019-bfd2-5ce67858d0ee",
    "meta": {
      "templateCredsSetupCompleted": true,
      "instanceId": "791011c5d912fa3910b1b3f0a58e52e888701c971bd92f7e7fc8373a23481dcb"
    },
    "id": "JB4pgZqZbQmUT76u",
    "tags": []
  }
  ```
  </details> 

  ---

  #### Workflow 2: Verify a mailing list and get verification results

  ![Workflow 2](images/workflow2.png)

  **Steps:**
  1. Start with mailing list ID input
  2. Verify mailing list
  3. Wait 5 seconds
  4. Get mailing list verification results

  <details>
  <summary>JSON</summary>

  ```json
  {
    "name": "Verify a mailing list and get verification results",
    "nodes": [
      {
        "parameters": {},
        "type": "n8n-nodes-base.manualTrigger",
        "typeVersion": 1,
        "position": [
          -80,
          144
        ],
        "id": "e6f335fe-9185-4e2a-b15b-6aaeab5151d7",
        "name": "When clicking ‘Execute workflow’"
      },
      {
        "parameters": {
          "authentication": "accessToken",
          "operation": "verify",
          "mailingListId": "={{ $json.mailingListId }}",
          "requestOptions": {}
        },
        "type": "CUSTOM.sendPulseVerifier",
        "typeVersion": 1,
        "position": [
          336,
          144
        ],
        "id": "d646a9b4-d672-4098-b243-8a0a802e0b19",
        "name": "Verify a mailing list"
      },
      {
        "parameters": {},
        "type": "n8n-nodes-base.wait",
        "typeVersion": 1.1,
        "position": [
          960,
          128
        ],
        "id": "f08cd010-c410-4140-aa7d-996e95afac04",
        "name": "Wait",
        "webhookId": "d3afa9c8-b36f-45e3-8ef5-b956a98b79c5"
      },
      {
        "parameters": {
          "conditions": {
            "options": {
              "caseSensitive": true,
              "leftValue": "",
              "typeValidation": "strict",
              "version": 3
            },
            "conditions": [
              {
                "id": "a3932ac8-334e-4d13-88d1-bb7921cb5852",
                "leftValue": "={{ $json.status }}",
                "rightValue": 0,
                "operator": {
                  "type": "number",
                  "operation": "equals"
                }
              }
            ],
            "combinator": "and"
          },
          "options": {}
        },
        "type": "n8n-nodes-base.if",
        "typeVersion": 2.3,
        "position": [
          752,
          144
        ],
        "id": "49a7edbc-ffd7-4126-b3e4-8078a2a0886c",
        "name": "If"
      },
      {
        "parameters": {
          "authentication": "accessToken",
          "operation": "getVerificationResults",
          "mailingListId": "={{ $('Workflow Configuration').item.json.mailingListId }}",
          "additionalFields": {},
          "requestOptions": {}
        },
        "type": "CUSTOM.sendPulseVerifier",
        "typeVersion": 1,
        "position": [
          544,
          144
        ],
        "id": "1565c302-b889-4b1e-aebb-1541da25d966",
        "name": "Get mailing list verification results",
        "credentials": {
          "sendPulseApi": {
            "id": "SguuezBTI7kLeYfQ",
            "name": "SendPulse account"
          }
        }
      },
      {
        "parameters": {
          "assignments": {
            "assignments": [
              {
                "id": "3f41524f-412d-4a70-8871-a23c615786d6",
                "name": "mailingListId",
                "value": 498261,
                "type": "number"
              }
            ]
          },
          "options": {}
        },
        "type": "n8n-nodes-base.set",
        "typeVersion": 3.4,
        "position": [
          128,
          144
        ],
        "id": "c7aa188a-7c99-44c0-b666-fb5c9c4e4c92",
        "name": "Workflow Configuration"
      }
    ],
    "pinData": {},
    "connections": {
      "When clicking ‘Execute workflow’": {
        "main": [
          [
            {
              "node": "Workflow Configuration",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Wait": {
        "main": [
          [
            {
              "node": "Get mailing list verification results",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Verify a mailing list": {
        "main": [
          [
            {
              "node": "Get mailing list verification results",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Get mailing list verification results": {
        "main": [
          [
            {
              "node": "If",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "If": {
        "main": [
          [
            {
              "node": "Wait",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Workflow Configuration": {
        "main": [
          [
            {
              "node": "Verify a mailing list",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "active": false,
    "settings": {
      "executionOrder": "v1"
    },
    "versionId": "5f24f95a-2d59-4650-a899-c68663a47d85",
    "meta": {
      "templateCredsSetupCompleted": true,
      "instanceId": "791011c5d912fa3910b1b3f0a58e52e888701c971bd92f7e7fc8373a23481dcb"
    },
    "id": "S04LSCXtbAoNxzY3",
    "tags": []
  }
  ```
  </details> 

  ---

  #### Workflow 3: Create a deal

  ![Workflow 3](images/workflow3.png)

  **Steps:**
  1. Get pipelines
  2. Get contacts
  3. Set pipeline ID, step ID, deal name, contact ID, currency and price
  4. Create a deal

  <details>
  <summary>JSON</summary>

  ```json
  {
    "name": "Create a deal",
    "nodes": [
      {
        "parameters": {},
        "type": "n8n-nodes-base.manualTrigger",
        "typeVersion": 1,
        "position": [
          0,
          0
        ],
        "id": "20331738-50ec-47c4-892f-015a0eccc636",
        "name": "When clicking ‘Execute workflow’"
      },
      {
        "parameters": {
          "assignments": {
            "assignments": [
              {
                "id": "444749f2-d83c-4a93-bfed-ba587dc2d16a",
                "name": "pipelineId",
                "value": "={{ $('Get many pipelines').item.json.data[0].id }}",
                "type": "number"
              },
              {
                "id": "c8e19849-6952-4440-bcfe-587b4910d5f1",
                "name": "stepId",
                "value": "={{ $('Get many pipelines').item.json.data[0].steps[0].id }}",
                "type": "number"
              },
              {
                "id": "3f41524f-412d-4a70-8871-a23c615786d6",
                "name": "dealName",
                "value": "Purchase of Electronic Equipment",
                "type": "string"
              },
              {
                "id": "9612e468-854a-4fa6-8e63-9ccddc0a247d",
                "name": "contactId",
                "value": "={{ $json.data.list[0].id }}",
                "type": "number"
              },
              {
                "id": "8d89b9f5-517a-4a97-8f22-ec683387a26e",
                "name": "currency",
                "value": "EUR",
                "type": "string"
              },
              {
                "id": "3cdbfd58-33b3-4ca2-9689-5215ba6aff7f",
                "name": "price",
                "value": 5000,
                "type": "number"
              }
            ]
          },
          "options": {}
        },
        "type": "n8n-nodes-base.set",
        "typeVersion": 3.4,
        "position": [
          624,
          0
        ],
        "id": "21c95abb-3aa6-4dac-ae9f-0a05c3c62cf5",
        "name": "Workflow Configuration"
      },
      {
        "parameters": {
          "authentication": "accessToken",
          "resource": "deal",
          "operation": "create",
          "pipelineId": "={{ $json.pipelineId }}",
          "stepId": "={{ $json.stepId }}",
          "name": "={{ $json.dealName }}",
          "additionalFields": {
            "contactIds": [
              "={{ $json.contactId }}"
            ],
            "currency": "={{ $json.currency }}",
            "price": "={{ $json.price }}"
          },
          "requestOptions": {}
        },
        "type": "CUSTOM.sendPulseCrm",
        "typeVersion": 1,
        "position": [
          832,
          0
        ],
        "id": "68c9ba9b-515e-4294-b202-cdeada51551f",
        "name": "Create a deal",
        "credentials": {
          "sendPulseApi": {
            "id": "vgJTBLhnSy833qmE",
            "name": "SendPulse account"
          }
        }
      },
      {
        "parameters": {
          "authentication": "accessToken",
          "additionalFields": {},
          "requestOptions": {}
        },
        "type": "CUSTOM.sendPulseCrm",
        "typeVersion": 1,
        "position": [
          416,
          0
        ],
        "id": "c8f0757b-e21e-43f0-b025-10db61dc6841",
        "name": "Get many contacts",
        "credentials": {
          "sendPulseApi": {
            "id": "vgJTBLhnSy833qmE",
            "name": "SendPulse account"
          }
        }
      },
      {
        "parameters": {
          "authentication": "accessToken",
          "resource": "pipeline",
          "requestOptions": {}
        },
        "type": "CUSTOM.sendPulseCrm",
        "typeVersion": 1,
        "position": [
          208,
          0
        ],
        "id": "6ef77dd7-c0bb-47c1-9653-77f19b6a3950",
        "name": "Get many pipelines"
      }
    ],
    "pinData": {},
    "connections": {
      "When clicking ‘Execute workflow’": {
        "main": [
          [
            {
              "node": "Get many pipelines",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Workflow Configuration": {
        "main": [
          [
            {
              "node": "Create a deal",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Create a deal": {
        "main": [
          []
        ]
      },
      "Get many contacts": {
        "main": [
          [
            {
              "node": "Workflow Configuration",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "Get many pipelines": {
        "main": [
          [
            {
              "node": "Get many contacts",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "active": false,
    "settings": {
      "executionOrder": "v1"
    },
    "versionId": "789d96b0-448e-4496-a469-f96951fca290",
    "meta": {
      "templateCredsSetupCompleted": true,
      "instanceId": "791011c5d912fa3910b1b3f0a58e52e888701c971bd92f7e7fc8373a23481dcb"
    },
    "id": "IQryYdrRhRkFQQf7",
    "tags": []
  }
  ```
  </details> 

  ## 🧬 Compatibility

  Tested with n8n version 1.123.4.

  ## 📖 Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [SendPulse Website](https://sendpulse.com)
  * [SendPulse REST API Documentation](https://sendpulse.com/integrations/api)
  * [SendPulse Knowledge Base](https://sendpulse.com/knowledge-base)
  * [SendPulse Community](https://community.sendpulse.com)
  * [SendPulse Blog](https://sendpulse.com/blog)

  ## 📄 License

  [MIT](LICENSE.md)

  Copyright © 2025 SendPulse

ai_documentation_summary:
  {"purpose":"The SendPulse Automation360 node enables interaction with the SendPulse API to manage marketing automation flows, including retrieving flow lists and individual flow details.","capabilities":["Retrieve multiple automation flows","Retrieve a single automation flow by ID","Integrate SendPulse CRM, Email, SMS, and Chatbot features via n8n workflows"],"authentication":"OAuth2 (Client ID and Client Secret required to obtain an access token)","commonUseCases":["Automating customer journey triggers from external apps","Syncing customer data between n8n and SendPulse CRM","Centralizing marketing experiments and growth tracking"],"limitations":["Only supports the most popular SendPulse APIs; some API endpoints may be missing","Missing API endpoints can be bypassed using the generic HTTP Request node"],"relatedNodes":["n8n-nodes-base.httprequest","SendPulse Email","SendPulse CRM","SendPulse SMS","SendPulse Chatbots"]}


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

updated_at: 2026-03-25 21:19:40
author_name: andreas-ullrich-elunic
author_github_url: https://github.com/starhunter-gmbh/n8n-nodes-graphql.git
npm_package_name: @starhunter/n8n-nodes-graphql
npm_version: 0.2.2
community_fetched_at: 2026-03-25T21:19:40.676Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "person",
      "options": [
        {
          "name": "Candidate",
          "value": "candidate"
        },
        {
          "name": "Email",
          "value": "email"
        },
        {
          "name": "Employee",
          "value": "employee"
        },
        {
          "name": "Person",
          "value": "person"
        },
        {
          "name": "Project",
          "value": "project"
        },
        {
          "name": "Project Candidate",
          "value": "projectCandidate"
        },
        {
          "name": "Task",
          "value": "task"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getBirthdays",
      "options": [
        {
          "name": "Get Birthdays",
          "value": "getBirthdays",
          "action": "Get persons with birthdays on a date",
          "description": "Get all persons with birthdays on a specific date"
        },
        {
          "name": "Get by ID",
          "value": "getById",
          "action": "Get a person by ID",
          "description": "Retrieve a single person by their ID"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search persons",
          "description": "Search for persons by name"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "person"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search candidates",
          "description": "Search for candidates by ID, name, or birth date"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "candidate"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Get Current User",
          "value": "getCurrent",
          "action": "Get current authenticated user",
          "description": "Get the employee record for the authenticated user"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search employees",
          "description": "Search for employees by ID or name"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "employee"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "log",
      "options": [
        {
          "name": "Log Email",
          "value": "log",
          "action": "Log an email activity",
          "description": "Log an email activity in Starhunter"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "email"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add to Project",
          "value": "add",
          "action": "Add candidate to project",
          "description": "Add a candidate to a project with optional status"
        },
        {
          "name": "Get By Status Change Date",
          "value": "getByStatusChangeDate",
          "action": "Get candidates by status change date",
          "description": "Get project candidates whose status changed X days ago"
        },
        {
          "name": "Update Status",
          "value": "updateStatus",
          "action": "Update presentation status",
          "description": "Update the status of a presentation with optional comment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "projectCandidate"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a task",
          "description": "Create a new task in Starhunter"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search projects",
          "description": "Search for projects by status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"getBirthdays","name":"Get Birthdays","description":"Get all persons with birthdays on a specific date","resource":"person"},{"operation":"getById","name":"Get by ID","description":"Retrieve a single person by their ID","resource":"person"},{"operation":"search","name":"Search","description":"Search for persons by name","resource":"person"},{"operation":"search","name":"Search","description":"Search for candidates by ID, name, or birth date","resource":"candidate"},{"operation":"getCurrent","name":"Get Current User","description":"Get the employee record for the authenticated user","resource":"employee"},{"operation":"search","name":"Search","description":"Search for employees by ID or name","resource":"employee"},{"operation":"log","name":"Log Email","description":"Log an email activity in Starhunter","resource":"email"},{"operation":"add","name":"Add to Project","description":"Add a candidate to a project with optional status","resource":"projectCandidate"},{"operation":"getByStatusChangeDate","name":"Get By Status Change Date","description":"Get project candidates whose status changed X days ago","resource":"projectCandidate"},{"operation":"updateStatus","name":"Update Status","description":"Update the status of a presentation with optional comment","resource":"projectCandidate"},{"operation":"create","name":"Create","description":"Create a new task in Starhunter","resource":"task"},{"operation":"search","name":"Search","description":"Search for projects by status","resource":"project"}]

npm_readme:
  # @starhunter/n8n-nodes-graphql

  This is an n8n community node that integrates with [Starhunter](https://starhunter.com) in your n8n workflows.

  Starhunter is a customer relationship management (CRM) system designed for recruiting and talent management. This node allows you to automate interactions with persons, candidates, employees, emails, project candidates, and tasks in Starhunter.

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

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

  ## Installation

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

  ## Operations

  ### Person

  - **Get Birthdays**: Retrieve persons whose birthday falls on a specific date (today or a custom date in MM-DD format)
  - **Get by ID**: Retrieve a single person by their ID
  - **Search**: Search for persons by name (partial match supported)

  ### Candidate

  - **Search**: Search for candidates by ID, name, or birth date

  ### Employee

  - **Get Current**: Get the employee record for the currently authenticated user
  - **Search**: Search for employees by ID or name

  ### Email

  - **Log**: Log an email activity in Starhunter (records sender, recipient, subject, and body)

  ### Project Candidate

  - **Get by Status Change Date**: Retrieve project candidates whose status changed a specified number of days ago

  ### Task

  - **Create**: Create a new task with optional deadline, assignee, and target entity

  ## Credentials

  To use this node, you need to authenticate with your Starhunter instance using an API access token.

  ### Prerequisites

  1. Access to a Starhunter instance
  2. A valid API access token from your Starhunter account settings

  ### Setting up credentials in n8n

  1. In n8n, go to **Credentials** and click **Add Credential**
  2. Search for **Starhunter API**
  3. Enter the following:
     - **Base URL**: The base URL of your Starhunter instance (e.g., `https://your-company.starhunter.software`).
     - **Access Token**: Your Starhunter API access token
  4. Click **Save** to test the connection

  For API documentation, refer to your instance's built-in docs at `https://<your-instance>.starhunter.software/Api/docs`.

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **n8n Nodes API version**: 1
  - **AI Tool compatible**: Yes (can be used as a tool in n8n AI workflows)

  Tested with n8n version 1.x.

  ## Usage

  ### Example: Birthday notifications

  Create a workflow that runs daily to fetch persons with birthdays today and send notification emails or Slack messages to your team.

  1. Add a **Schedule Trigger** node set to run daily
  2. Add the **Starhunter** node with:
     - Resource: Person
     - Operation: Get Birthdays
     - Use Today: enabled
  3. Connect to an **Email** or **Slack** node to send notifications

  ### Example: Log emails to CRM

  Automatically log emails sent through your workflow back to Starhunter for tracking purposes.

  1. After sending an email in your workflow, add the **Starhunter** node
  2. Configure with:
     - Resource: Email
     - Operation: Log
     - Map the from, to, subject, and body fields from your email node

  ### Example: Track candidate status changes

  Monitor candidates who changed status a specific number of days ago for follow-up actions.

  1. Add a **Schedule Trigger** node
  2. Add the **Starhunter** node with:
     - Resource: Project Candidate
     - Operation: Get by Status Change Date
     - Status: Your target status (e.g., "Ident")
     - Days Ago: Number of days to look back

  ## Resources

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

  ## Version history

  ### 0.1.1

  - Initial public release
  - Added publishConfig for npm public access

  ### 0.1.0

  - Initial release with support for:
    - Person operations (Get Birthdays, Get by ID, Search)
    - Candidate operations (Search)
    - Employee operations (Get Current, Search)
    - Email operations (Log)
    - Project Candidate operations (Get by Status Change Date)
    - Task operations (Create)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of interactions within the Starhunter CRM system, covering recruiting and talent management tasks.","capabilities":["Retrieve persons by ID, search by name, or get birthdays for a specific date","Search for candidates by ID, name, or birth date","Retrieve current authenticated employee record","Search for employees by ID or name","Log email activities (sender, recipient, subject, body) into Starhunter","Retrieve project candidates based on status change date","Create new tasks with deadline, assignee, and target entity"],"authentication":"API key required (Starhunter API access token)","commonUseCases":["Automated birthday notifications for employees","Tracking candidate status changes for follow-up actions","Logging workflow-generated emails into the CRM","Retrieving current user employee profile"],"limitations":["Requires access to a Starhunter instance","Requires a valid API access token from Starhunter account settings"],"relatedNodes":["n8n Schedule Trigger","n8n Email","n8n Slack"]}


node_type: n8n-nodes-pagbank-connect.pagBank
package_name: n8n-nodes-pagbank-connect
display_name: PagBank
description: Integration with PagBank for payment processing
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: r-martins
author_github_url: https://github.com/r-martins/PagBank-n8n.git
npm_package_name: n8n-nodes-pagbank-connect
npm_version: 2.0.2
community_fetched_at: 2026-03-25T21:19:40.677Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "createPaymentLink",
      "options": [
        {
          "name": "Create Payment Link",
          "value": "createPaymentLink",
          "action": "Create payment link",
          "description": "Create a payment link"
        },
        {
          "name": "Create PIX Order",
          "value": "createPixOrder",
          "action": "Create PIX order",
          "description": "Create an order with PIX payment"
        },
        {
          "name": "Get Order Status",
          "value": "getOrderStatus",
          "action": "Get order status",
          "description": "Retrieve the status of an order"
        },
        {
          "name": "Create Credit Card Charge",
          "value": "createCreditCardCharge",
          "action": "Create credit card charge",
          "description": "Create a direct credit card charge"
        },
        {
          "name": "Get Connect Key",
          "value": "validateConnectKey",
          "action": "Get Connect Key",
          "description": "Retrieve Connect Key information"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Payment Link",
      "value": "createPaymentLink",
      "action": "Create payment link",
      "description": "Create a payment link"
    },
    {
      "name": "Create PIX Order",
      "value": "createPixOrder",
      "action": "Create PIX order",
      "description": "Create an order with PIX payment"
    },
    {
      "name": "Get Order Status",
      "value": "getOrderStatus",
      "action": "Get order status",
      "description": "Retrieve the status of an order"
    },
    {
      "name": "Create Credit Card Charge",
      "value": "createCreditCardCharge",
      "action": "Create credit card charge",
      "description": "Create a direct credit card charge"
    },
    {
      "name": "Get Connect Key",
      "value": "validateConnectKey",
      "action": "Get Connect Key",
      "description": "Retrieve Connect Key information"
    }
  ]

npm_readme:
  # n8n-nodes-pagbank-connect

  n8n integration with PagBank Connect for Brazilian payment processing.


  ![NPM Downloads](https://img.shields.io/npm/d18m/n8n-nodes-pagbank-connect?label=downloads%20last%2018%20months)
  ![NPM Version](https://img.shields.io/npm/v/n8n-nodes-pagbank-connect)
  ![NPM License](https://img.shields.io/npm/l/n8n-nodes-pagbank-connect)
  ![NPM Last Update](https://img.shields.io/npm/last-update/n8n-nodes-pagbank-connect)

  ## Features

  - ✅ **PIX** - Instant payments with QR Code
  - ✅ **Credit/Debit Card** - Secure card processing
  - ✅ **Payment Links** - Custom checkout
  - ✅ **Recurring Subscriptions** - Recurring payments (coming soon)
  - ✅ **Webhooks** - Real-time notifications
  - ✅ **Sandbox Environment** - Safe testing
  - ✅ **Official Partner** - [PagBank Integrations](https://pbintegracoes.com/?utm_source=n8n) is an Official PagBank Partner since 2014.
  - ✅ **Reduced fees** - You pay less fees on PagBank when using our integrations

  ## Installation

  ```bash
  npm install n8n-nodes-pagbank-connect
  ```

  ## Configuration

  ### 1. Get Credentials

  Visit [PagBank Connect](https://pbintegracoes.com/connect/autorizar/?utm_source=n8n) to get your Connect Key for free

  If you need a Test Connect Key, [click here](https://pbintegracoes.com/connect/sandbox/?utm_source=n8n).

  ### 2. Configure in n8n

  1. Add your Connect key in PagBank Connect credentials
  2. Click Save and check if the connection was successful.

  ## Available Nodes

  ### PagBank (Main)
  - **Create Payment Link** - Generates checkout links for customers to pay on PagBank
  - **Create PIX Order** - Creates PIX payments
  - **Create Credit Card Charge** - Processes a payment with the provided credit card data
  - **Check order status** - Queries the status of an ORDER with PagBank (must have been generated with this connect key)
  - **Validate Connect Key** - Validates the Connect Key configured in your credentials

  ### PagBank Connect Trigger
  - **Payment Trigger** - Receives notifications. You can filter notifications by payment status, payment methods or denial reason.

  ## Data Format

  ### Monetary Values
  All values are in **cents**:
  - R$ 10.00 = 1000
  - R$ 1.50 = 150

  ### CPF/CNPJ
  - CPF: 11 digits (numbers only)
  - CNPJ: 14 digits (numbers only)

  Required for most operations, except payment link creation.

  ## Environments

  ### Sandbox (Test)
  - The environment will be for testing whenever your Connect Key starts with *CONSANDBOX*. Get yours [here](https://pbintegracoes.com/connect/sandbox/?utm_source=n8n).
  - Automatic approval for values < R$ 100
  - 5 minute delay for values between R$ 100-200
  - Ideal for development and testing
  - See [Test Cards](https://ajuda.pbintegracoes.com/hc/pt-br/articles/22375426666253-Cartões-de-Crédito-para-Testes-PagBank)

  ### Production
  - Real payment processing
  - Requires PagBank approval
  - Use only after complete testing

  ## Webhooks

  ### Configuration
  1. Configure the webhook URL in n8n
  2. Add the generated URL in the *Notification URL* field when creating payments and payment links in other actions
  3. Configure filters by status and payment method
  4. Make sure the URL can be accessed from outside without any blocking.

  ### Common Errors
  - **40002 - Buyer email same as seller
  - **40002 - Invalid CPF/CNPJ
  - **40002 - Invalid phone
  - **UNAUTHORIZED - Invalid Connect Key

  ### Validations
  - CPF/CNPJ are automatically validated
  - Phones are formatted

  ## Support

  - **Official Site**: [pbintegracoes.com/n8n](https://pbintegracoes.com/n8n/?utm_source=n8n&utm_medium=github-readme)
  - **Documentation**: [PagBank Integrations](https://ajuda.pbintegracoes.com/hc/pt-br/categories/40055834503053-n8n)
  - **Issues and Support**: [Open a Ticket](https://ajuda.pbintegracoes.com/hc/pt-br/requests/new)

  ## License

  MIT License - see LICENSE file for details.

  ## Contributing

  1. Fork the [project on github](https://github.com/r-martins/PagBank-n8n)
  2. Create a branch for your feature/bugfix
  3. Commit your changes
  4. Push to your local branch
  5. Open a Pull Request to the `develop` branch


  ## Roadmap
  - More installment options
  - Recurring sales

  Subject to change based on community requests.

ai_documentation_summary:
  {"purpose":"This n8n node enables integration with PagBank Connect for processing Brazilian payments, including PIX, credit/debit cards, and payment links.","capabilities":["Create PIX orders with QR Code","Create payment links for custom checkout","Process credit/debit card charges","Check order status","Validate Connect Key","Receive payment webhooks with filtering","Support sandbox and production environments"],"authentication":"API Key required (PagBank Connect Key)","commonUseCases":["Accepting instant PIX payments from Brazilian customers","Processing recurring subscriptions (future feature)","Creating custom checkout payment links","Testing payment flows in sandbox environment","Receiving real-time payment notifications via webhooks"],"limitations":["Recurring subscriptions are marked as 'coming soon'","Monetary values must be entered in cents (not real currency)","CPF/CNPJ validation is required for most operations","Sandbox environment has automatic approval limits and delays","Production requires PagBank approval before use"],"relatedNodes":["Webhook node","Payment node","HTTP Request node"]}


node_type: @pinecone-database/n8n-nodes-pinecone-assistant.pineconeAssistant
package_name: @pinecone-database/n8n-nodes-pinecone-assistant
display_name: Pinecone Assistant
description: A Pinecone Assistant node for n8n
category: Community
development_style: declarative
version: 0.1.10
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: pinecone-ops
author_github_url: https://github.com/pinecone-io/n8n-nodes-pinecone-assistant.git
npm_package_name: @pinecone-database/n8n-nodes-pinecone-assistant
npm_version: 0.1.10
community_fetched_at: 2026-03-25T21:19:40.677Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # n8n-nodes-pinecone-assistant

  This is the official [n8n](https://n8n.io/) community node for interacting with [Pinecone](https://www.pinecone.io/) Assistant in your workflows.

  [Pinecone Assistant](https://docs.pinecone.io/guides/assistant/overview) allows you to build production-grade chat and agent-based applications quickly. It abstracts the complexities of implementing retrieval-augmented (RAG) systems by managing the chunking, embedding, storage, query planning, vector search, model orchestration, and reranking for you.

  ## Installation

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

  ## Operations

  ### Assistants

  #### List Assistants

  Retrieves a list of all Pinecone Assistants in your project. Use this operation to discover available assistants or populate assistant selection fields in your workflows.

  ##### Fields
  - **Additional Fields:**
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  ##### Output

  Returns an array of assistant objects containing assistant names and host URLs.

  ### Files

  #### List Files

  Retrieves all files associated with a specific Pinecone Assistant. Use this to see what files are available in an assistant, filter files by metadata, or verify file uploads.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant to query. This list is populated dynamically based on your available assistants.
  - **Additional Fields:**
    - **Metadata Filter** (optional): Limit the list of files to only those matching the metadata filter. Add key-value pairs to filter by specific metadata.
    - **Advanced Metadata Filter (JSON)** (optional): Use advanced metadata filtering when you need support for operators like `$or`, `$ne`, `$in`, etc. Provide a JSON object with filter expressions. Learn more about metadata filter expressions in the [Pinecone documentation](https://docs.pinecone.io/guides/search/filter-by-metadata#metadata-filter-expressions).
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  **Note:** Only one of Metadata Filter or Advanced Metadata Filter can be set, not both.

  ##### Output

  Returns an array of file objects with their metadata and external file IDs.

  #### Upload File

  Uploads a new file to a Pinecone Assistant. Assistant automatically chunks, embeds, and indexes the file for retrieval. Use this to add new documents or content to your assistant's knowledge.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant to upload the file to. This list is populated dynamically based on your available assistants.
  - **External File ID** (required): A unique identifier for the file in the Pinecone Assistant. This should be unique for each file.
  - **Input Data Field Name** (required): The name of the field in the input item that contains the file data. Default is "data".
  - **Additional Fields:**
    - **Metadata** (optional): A collection of key-value pairs to add as metadata to the file. This metadata can be used later for filtering files or context snippets.
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  **Note:** There is no need to specify External File ID in the metadata field directly as this operation will make sure it's set.

  ##### Output

  Returns the uploaded file information.

  #### Update File

  Updates an existing file in a Pinecone Assistant. This operation deletes the existing file(s) with the specified external file ID and uploads the new version.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant containing the file to update. This list is populated dynamically based on your available assistants.
  - **External File ID** (required): The external file ID of the file to update. If the existing file does not exist, a new file will be uploaded. Use this to refresh or modify content in your assistant's knowledge base. If there are multiple files with the same external file ID, all will be updated.
  - **Input Data Field Name** (required): The name of the field in the input item that contains the updated file data. Default is "data".
  - **Additional Fields:**
    - **Metadata** (optional): A collection of key-value pairs to update the file's metadata.
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  ##### Output

  Returns the updated file information.

  #### Delete File

  Deletes a file from a Pinecone Assistant. Use this to remove outdated or unwanted content from your assistant's knowledge.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant containing the file to delete. This list is populated dynamically based on your available assistants.
  - **External File ID** (required): The external file ID to identify the file in the Pinecone Assistant. If there are multiple files with the same external file ID, this operation will delete all of them.
  - **Additional Fields:**
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  ##### Output

  Returns a confirmation object with `deleted: true`.

  ### Context Snippets

  #### Get Context Snippets

  Retrieves relevant context snippets from a Pinecone Assistant based on a query. This is the core RAG (Retrieval-Augmented Generation) operation that finds and returns the most relevant chunks of text from your assistant's files that match your query. Use this to provide context to LLMs or to retrieve relevant information for your applications.

  ##### Fields
  - **Assistant Name** (required): The name of the Pinecone Assistant to query for context snippets. This list is populated dynamically based on your available assistants.
  - **Query** (required): The query text used to retrieve relevant context snippets. This is the search term that will be used to find matching content in your assistant's files.
  - **Additional Fields:**
    - **Include Multimodal Context** (optional): Whether to include multimodal context snippets. Default is `true`. When enabled, the assistant will return multimodal context snippets (e.g., images from PDFs) in addition to text snippets.
    - **Include Binary Content** (optional): Whether to include binary content with multimodal context snippets. Default is `true`. Only applies when Include Multimodal Context is enabled. When enabled, binary content (e.g., base64 image data) will be included in the response.
    - **Metadata Filter** (optional): Limit the context snippets to only those from files matching the metadata filter. Add key-value pairs to filter by specific metadata.
    - **Snippet Size** (optional): The maximum context snippet size in tokens. Default is 2048.
    - **Top K** (optional): The maximum number of context snippets to return. Default is 16.
    - **Advanced Metadata Filter (JSON)** (optional): Use advanced metadata filtering when you need support for operators like `$or`, `$ne`, `$in`, etc. Provide a JSON object with filter expressions. Learn more about metadata filter expressions in the [Pinecone documentation](https://docs.pinecone.io/guides/search/filter-by-metadata#metadata-filter-expressions).
    - **Source Tag** (optional): Specify a source tag to attribute usage to this integration. This is primarily used for Pinecone integration partners. Read more in the [Pinecone documentation](https://docs.pinecone.io/integrations/build-integration/attribute-usage-to-your-integration).

  **Note:** Only one of Metadata Filter or Advanced Metadata Filter can be set, not both.

  ##### Output

  Returns an array of context snippets with their text or image content, relevance scores, references, and associated metadata.

  ## Credentials

  To use the Pinecone Assistant node, you'll need a Pinecone account and an API key. You can get started for free on the Starter plan (refer to [current pricing and limits](https://docs.pinecone.io/guides/assistant/pricing-and-limits) for more info).

  1. Sign up for a [Pinecone account](https://app.pinecone.io/)
  2. Create an [API key](https://app.pinecone.io/organizations/-/projects/-/keys)

  ## Compatibility

  This node was tested locally against n8n 2.9.4.

  ## Usage

  Refer to our [Pinecone Assistant quickstart](https://docs.pinecone.io/guides/assistant/quickstart/n8n-quickstart) for n8n to get started with a pre-built workflow using this node, an Assistant, and Open AI.

  ## Version history

  - V1 - Initial version of the Pinecone Assistant node
  - V1.2 - Deprecates the `pineconeAssistantApi` credential in favor of `pineconeApi`

  ## Node development

  To develop, build, and run this node locally, use the `n8n-node` cli tool or `pnpm`. For more info on `n8n-node`, refer [here](https://docs.n8n.io/integrations/creating-nodes/build/n8n-node/).

  1. Install dependencies

  ```bash
  $ cd n8n-nodes-pinecone-assistant
  $ pnpm install
  ```
  2. Build the node

  This compiles Typescript files and bundles project assets into the `dist` folder.

  ```bash
  $ pnpm run build
  ```

  Running this will clean the `dist` folder.

  3. Test the node

  This runs a local instance of n8n with the node. It watches the project directory and automatically rebuilds when changes are detected.

  ```bash
  $ pnpm run dev
  ```

  Head over to http://localhost:5678 to test the node in a workflow.

  4. Run tests

  Run the unit test suite.

  ```bash
  $ pnpm test
  ```

  5. Versioning the node

  When making changes to a version of the node, ensure backwards compatibility with the current version as all existing workflows will use the previous version until it is manually migrated. If it cannot be backwards compatible, create a new version of the node:

  - In `PineconeAssistant.node.ts`, change `defaultVersion` to the new version number
  - In `PineconeAssistant.node.ts`, update the list of `nodeVersions`
  - Add a new version directory, named `v#` (i.e. `v2`)
  - In the new version directory, add the versioned node, `PineconeAssistantV2.node.ts` and all the functionality.

  Note: It is possible to continue using the previous version's functionality and configure per version using `displayOptions`, etc. See version 1.2.

  6. Release the node and publish to npm

  Releases are performed via the **Release: NPM Package** GitHub Actions workflow. The workflow:

  - Lints and builds the project
  - Bumps the version in `package.json` (patch, minor, or major)
  - Updates `nodes/PineconeAssistant/version.json`
  - Regenerates `CHANGELOG.md` with [auto-changelog](https://github.com/CookPete/auto-changelog)
  - Commits the changes and creates a git tag
  - Builds again (so the published package contains the new version)
  - Publishes to npm with provenance
  - Pushes the commit and tag to the repository
  - Creates a draft GitHub release

  To release a new version:

  1. Open the **Actions** tab in the repository, select **Release: NPM Package**, and click **Run workflow**.
  2. Optionally choose a branch to release from (default is the repository default branch).
  3. Choose the release type: **patch** (bug fixes), **minor** (new features, backwards compatible), or **major** (breaking changes).
  4. Run the workflow. It uses the `npm-publish` environment; ensure npm trusted publishing (or your chosen auth) is configured for that environment.
  5. After the run completes, publish the draft GitHub release from the **Releases** page if you use GitHub releases.

  ## Contributing

  We welcome contributions! Please feel free to:
  - Submit issues and bug reports
  - Propose new features and improvements
  - Contribute code via pull requests
  - Share your use cases and success stories

  ## License

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

ai_documentation_summary:
  {"purpose":"A community n8n node that enables interaction with Pinecone Assistants to manage files, metadata, and knowledge bases for RAG-powered chat and agent applications.","capabilities":["List all available Pinecone Assistants","List files within a specific assistant with optional metadata filtering","Upload new files to an assistant for automatic chunking and indexing","Update existing files by replacing content and metadata","Delete files from an assistant","Apply advanced metadata filters using JSON operators ($or, $ne, $in)","Attribute usage to integration partners via Source Tags"],"authentication":"API key required (inherited from Pinecone integration)","commonUseCases":["Building production-grade chatbots with RAG","Managing knowledge base documents in agent workflows","Filtering and updating training data for AI assistants","Integrating with Pinecone integration partners for usage tracking"],"limitations":["Only one metadata filter type (Metadata Filter or Advanced Metadata Filter) can be used simultaneously","External File ID must be provided manually during upload/update operations"],"relatedNodes":["Pinecone Vector Store","Pinecone Index","HTTP Request","JSON"]}


node_type: @gammatech/n8n-nodes-gamma.gamma
package_name: @gammatech/n8n-nodes-gamma
display_name: Gamma
description: Create AI-powered presentations, documents, and websites with Gamma
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: max.jackson
author_github_url: https://github.com/gamma-app/n8n-nodes-gamma.git
npm_package_name: @gammatech/n8n-nodes-gamma
npm_version: 0.1.3
community_fetched_at: 2026-03-25T21:19:40.678Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "generation",
      "options": [
        {
          "name": "Generation",
          "value": "generation",
          "description": "Create and manage AI-generated presentations, documents, and social posts"
        },
        {
          "name": "Theme",
          "value": "theme",
          "description": "Browse available themes (read-only - use to get theme IDs)"
        },
        {
          "name": "Folder",
          "value": "folder",
          "description": "Browse workspace folders (read-only - use to get folder IDs)"
        },
        {
          "name": "User",
          "value": "user",
          "description": "Get your account information"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a generation",
          "routing": {
            "request": {
              "url": "/v1.0/generations",
              "method": "POST"
            }
          },
          "description": "Create a new presentation, document, social post, or webpage"
        },
        {
          "name": "Create from Template",
          "value": "createFromTemplate",
          "action": "Create from template",
          "routing": {
            "request": {
              "url": "/v1.0/generations/from-template",
              "method": "POST"
            }
          },
          "description": "Remix an existing Gamma with new prompt"
        },
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get generation status",
          "routing": {
            "request": {
              "url": "=/v1.0/generations/{{$parameter[\"generationId\"]}}",
              "method": "GET"
            }
          },
          "description": "Check the status of a generation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "generation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List themes",
          "routing": {
            "request": {
              "url": "/v1.0/themes",
              "method": "GET"
            }
          },
          "description": "Get available themes from your workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "theme"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List folders",
          "routing": {
            "request": {
              "url": "/v1.0/folders",
              "method": "GET"
            }
          },
          "description": "Get workspace folders"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMe",
      "options": [
        {
          "name": "Get Me",
          "value": "getMe",
          "action": "Get user information",
          "routing": {
            "request": {
              "url": "/v1.0/me",
              "method": "GET"
            }
          },
          "description": "Get authenticated user and workspace information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create a new presentation, document, social post, or webpage","resource":"generation"},{"operation":"createFromTemplate","name":"Create from Template","description":"Remix an existing Gamma with new prompt","resource":"generation"},{"operation":"getStatus","name":"Get Status","description":"Check the status of a generation","resource":"generation"},{"operation":"list","name":"List","description":"Get available themes from your workspace","resource":"theme"},{"operation":"list","name":"List","description":"Get workspace folders","resource":"folder"},{"operation":"getMe","name":"Get Me","description":"Get authenticated user and workspace information","resource":"user"}]

npm_readme:
  # @gammatech/n8n-nodes-gamma

  Official Gamma community node for n8n - Create AI-powered presentations, documents, and websites directly from your n8n workflows.

  **Status:** Published to npm ✅  
  **Created:** November 10, 2025  
  **Maintained by:** Max Jackson (Gamma)

  ---

  ## 🎯 What This Does

  Integrates Gamma's API v1.0 into n8n, allowing you to:
  - Generate presentations, documents, social posts, and webpages with AI
  - Create content from templates
  - List themes and folders
  - Export to PDF/PPTX
  - Automate content creation workflows

  ---

  ## 📦 Installation

  ### Option 1: From npm (After Publishing)

  ```bash
  # In n8n
  Settings → Community Nodes → Install
  # Enter: @gammatech/n8n-nodes-gamma
  ```

  ### Option 2: Local Development

  ```bash
  # Clone and build
  git clone <this-repo>
  cd n8n-gamma-node
  npm install
  npm run build
  npm link

  # In your n8n installation
  cd ~/.n8n/custom
  npm link n8n-nodes-gamma

  # Start n8n
  n8n start
  ```

  ---

  ## 🏗️ Project Structure

  Based on Gamma's OpenAPI spec and using `@devlikeapro/n8n-openapi-node` for generation.

  ```
  n8n-gamma-node/
  ├── GAMMA_API_OPENAPI_SPEC.yaml   # OpenAPI spec (copied from root)
  ├── package.json                   # npm package config
  ├── tsconfig.json                  # TypeScript config
  ├── .gitignore
  ├── credentials/
  │   └── GammaApi.credentials.ts   # API key authentication
  ├── nodes/
  │   └── Gamma/
  │       ├── Gamma.node.ts         # Main node (generated from OpenAPI)
  │       ├── Gamma.node.json       # Node metadata
  │       └── gamma.svg             # Gamma logo icon
  ├── docs/
  │   ├── SETUP.md                  # Setup and development guide
  │   ├── PUBLISHING.md             # How to publish to npm
  │   ├── VERIFICATION.md           # n8n verification process
  │   └── n8n-resources.md          # All n8n documentation links
  └── examples/
      ├── basic-presentation.json   # Simple workflow example
      ├── zapier-alternative.json   # Replacing Zapier
      └── content-pipeline.json     # Advanced automation
  ```

  ---

  ## 🚀 Quick Start (Development)

  ### Prerequisites

  - Node.js 18+ (LTS recommended)
  - npm or pnpm
  - n8n installed globally (`npm install n8n -g`)

  ### Development Workflow

  ```bash
  # 1. Install dependencies
  npm install

  # 2. Build the node
  npm run build

  # 3. Link to local n8n
  npm link
  cd ~/.n8n/custom
  npm link n8n-nodes-gamma

  # 4. Start n8n
  n8n start

  # 5. Open browser at http://localhost:5678
  # Search for "Gamma" in nodes panel
  ```

  ### Watch Mode (Auto-rebuild)

  ```bash
  npm run dev
  # Rebuilds automatically on file changes
  ```

  ---

  ## 🔑 Authentication

  The node requires a Gamma API key:

  1. Log into [gamma.app](https://gamma.app)
  2. Go to Settings & Members → API
  3. Generate API key
  4. Copy key (starts with `sk-gamma-`)
  5. In n8n: Create credential → Gamma API
  6. Paste API key

  ---

  ## 📚 Available Operations

  ### Generations Resource

  **Create Generation**
  - Generate presentations, documents, social posts, or webpages
  - Parameters: inputText, textMode, format, numCards, themeId, imageOptions, etc.
  - Returns: generationId for status polling

  **Get Generation Status**
  - Poll for generation completion
  - Returns: status, gammaUrl, exportUrl, credits used

  **Create from Template**
  - Remix existing Gamma with new prompt
  - Parameters: prompt, gammaId (template), themeId, imageOptions
  - Returns: generationId

  ### Themes Resource

  **List Themes**
  - Get available themes for styling
  - Parameters: limit, query (search), cursor (pagination)
  - Returns: themes with IDs and names

  ### Folders Resource

  **List Folders**
  - Get workspace folders for organization
  - Parameters: limit, query (search), cursor (pagination)
  - Returns: folders with IDs and names

  ### User Resource

  **Get Me**
  - Get authenticated user info
  - Returns: email, workspaceName

  ---

  ## 🎨 Example Workflows

  ### ⚡ Auto-Polling Workflow (Recommended!)

  **Problem**: Gamma generations are async and take 30-90 seconds to complete.  
  **Solution**: Use our auto-polling workflow template!

  📥 **Import the workflow**: `examples/auto-polling-workflow.json`

  This workflow automatically:
  - ✅ Creates the generation
  - ✅ Waits 30 seconds
  - ✅ Checks status
  - ✅ Loops until completed
  - ✅ Outputs gammaUrl when done

  **No more manual clicking!** This gives users a much better experience.

  ### Basic: Generate Presentation (Manual Polling)

  ```
  Trigger (Manual/Schedule)
      ↓
  Gamma: Create Generation
      - inputText: "Introduction to renewable energy"
      - format: presentation
      - textMode: generate
      - numCards: 10
      ↓
  Gamma: Get Generation Status 
      (Click Execute repeatedly until status = "completed")
      ↓
  Send Email with gammaUrl
  ```

  ⚠️ **Note**: Manual polling requires clicking "Execute" every 30 seconds. Use the auto-polling workflow above for better UX!

  ### Advanced: Content Pipeline

  ```
  RSS Feed (New Article)
      ↓
  Extract Content
      ↓
  Gamma: Create Generation
      - inputText: {{article content}}
      - format: presentation
      ↓
  Wait for Completion (poll)
      ↓
  Gamma: Create from Template (social version)
      - gammaId: {{generated gammaId}}
      - format: social
      ↓
  Post to Social Media
  ```

  ---

  ## 🛠️ Development Guide

  ### Built With

  - **TypeScript** - Node language
  - **@devlikeapro/n8n-openapi-node** - OpenAPI → n8n generator
  - **n8n-workflow** - n8n node types
  - **Gamma OpenAPI v3 spec** - API specification

  ### Key Files

  **`nodes/Gamma/Gamma.node.ts`**
  - Main node implementation
  - Auto-generated from OpenAPI spec using `@devlikeapro/n8n-openapi-node`
  - Handles all API operations

  **`credentials/GammaApi.credentials.ts`**
  - API key authentication
  - Header: `X-API-KEY`

  **`package.json`**
  - npm package configuration
  - MUST include `n8n-community-node-package` in keywords
  - MUST start with `n8n-nodes-`

  ---

  ## 📝 Publishing

  ### To npm (Unverified)

  ```bash
  # 1. Update version
  npm version patch  # or minor, major

  # 2. Build
  npm run build

  # 3. Publish
  npm publish
  ```

  Anyone with self-hosted n8n can install immediately.

  ### For Verification (n8n Cloud)

  Requirements for verified community nodes:
  - ✅ MIT license
  - ✅ No runtime dependencies in package.json
  - ✅ Passes `npm run lint`
  - ✅ Good documentation
  - ✅ Follows n8n conventions

  **Steps:**
  1. Publish to npm (unverified first)
  2. Submit via [n8n Creator Portal](https://n8n.io/creators)
  3. Wait for manual review
  4. Once approved → available on n8n Cloud

  See `docs/VERIFICATION.md` for details.

  ---

  ## 🔗 Resources

  **Official Gamma:**
  - API Docs: https://developers.gamma.app
  - Help Center: https://help.gamma.app
  - API Slack: [Contact for access]

  **n8n Documentation:**
  - Creating Nodes: https://docs.n8n.io/integrations/creating-nodes/
  - Community Nodes: https://docs.n8n.io/integrations/community-nodes/
  - Declarative Style: https://docs.n8n.io/integrations/creating-nodes/build/declarative-style-node/

  **OpenAPI Generator:**
  - devlikeapro/n8n-openapi-node: https://github.com/devlikeapro/n8n-openapi-node
  - npm package: https://www.npmjs.com/package/@devlikeapro/n8n-openapi-node

  ---

  ## 💪 Why This Matters for Gamma

  ### Developer Relations Play

  **This n8n node:**
  - Expands Gamma's automation ecosystem beyond Zapier/Make
  - Reaches self-hosted automation users (enterprises, privacy-focused)
  - Shows commitment to open integration ecosystem
  - Provides reference implementation for community

  **For your DevRel role:**
  - Demonstrates technical ability (built official integration)
  - Shows ownership (end-to-end from spec to published node)
  - Community engagement (support users in n8n forums)
  - Content creation opportunity (tutorials, videos, blog posts)

  ---

  ## 📊 Success Metrics

  Track these to show impact:
  - npm downloads/week
  - n8n Cloud installations (after verification)
  - Community forum mentions
  - GitHub stars/forks
  - Support tickets reduced (self-service via node)

  ---

  ## 🎯 Roadmap

  **Phase 1: MVP** (You are here)
  - [x] Project setup
  - [ ] Generate node from OpenAPI spec
  - [ ] Test locally
  - [ ] Publish to npm (unverified)

  **Phase 2: Polish**
  - [ ] Add examples folder with workflows
  - [ ] Create video tutorial
  - [ ] Write blog post
  - [ ] Submit for verification

  **Phase 3: Growth**
  - [ ] Community support in n8n forums
  - [ ] Advanced workflow examples
  - [ ] Integration guides
  - [ ] Case studies

  ---

  ## 👥 Contributing

  This is an official Gamma integration. For bugs or features:
  - Internal: Message Max directly
  - External (after publishing): GitHub issues

  ---

  **Status:** Published to npm ✅  
  **Next Step:** Continue n8n review / listing workflow as needed

  See `docs/SETUP.md` for complete development guide.

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with Gamma's API to create AI-powered presentations, documents, social posts, and webpages directly from workflows.","capabilities":["Generate presentations, documents, social posts, and webpages from text prompts","Create content from existing Gamma templates","List available themes and workspace folders","Export generated content to PDF and PPTX formats","Retrieve generation status and URLs (gammaUrl, exportUrl)","Get authenticated user information"],"authentication":"API key required (Gamma API key starting with 'sk-gamma-')","commonUseCases":["Automated content creation from RSS feeds or external data sources","Scheduled generation of presentations or social media posts","Content pipelines that convert articles into presentations","Template-based content remixing for different formats"],"limitations":["Generations are asynchronous and require polling for completion (30-90 seconds)","Manual polling requires repeated execution clicks; auto-polling workflow recommended","Requires npm installation and potential local development setup for community nodes","Some advanced features may require n8n Cloud verification for publishing"],"relatedNodes":["Manual Trigger","Schedule Trigger","Wait Node","HTTP Request Node","Function Node"]}


node_type: @oregister/n8n-nodes-openregister.openRegister
package_name: @oregister/n8n-nodes-openregister
display_name: OpenRegister
description: Interact with the OpenRegister API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: joelrose
author_github_url: https://github.com/oregister/n8n-nodes-openregister.git
npm_package_name: @oregister/n8n-nodes-openregister
npm_version: 0.1.1
community_fetched_at: 2026-03-25T21:19:40.678Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "company",
      "options": [
        {
          "name": "Company",
          "value": "company"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Get Company Details",
          "value": "companyDetails",
          "action": "Get company details",
          "routing": {
            "request": {
              "url": "={{\"/v1/company/\" + encodeURIComponent($parameter[\"companyId\"])}}",
              "method": "GET"
            }
          },
          "description": "Fetch company details by ID"
        },
        {
          "name": "Get Company Financials",
          "value": "companyFinancials",
          "action": "Get company financials",
          "routing": {
            "request": {
              "url": "={{\"/v1/company/\" + encodeURIComponent($parameter[\"companyId\"]) + \"/financials\"}}",
              "method": "GET"
            }
          },
          "description": "Fetch company financials by ID"
        },
        {
          "name": "Get Company Holdings",
          "value": "companyHoldings",
          "action": "Get company holdings",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "holdings"
                  }
                }
              ]
            },
            "request": {
              "url": "={{\"/v1/company/\" + encodeURIComponent($parameter[\"companyId\"]) + \"/holdings\"}}",
              "method": "GET"
            }
          },
          "description": "Fetch companies this company holds stakes in"
        },
        {
          "name": "Get Company Owners",
          "value": "companyOwners",
          "action": "Get company owners",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "owners"
                  }
                }
              ]
            },
            "request": {
              "url": "={{\"/v1/company/\" + encodeURIComponent($parameter[\"companyId\"]) + \"/owners\"}}",
              "method": "GET"
            }
          },
          "description": "Fetch company owners by ID"
        },
        {
          "name": "Search for a Company",
          "value": "search",
          "action": "Get companies by name",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "results"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "query": "={{$parameter[\"query\"]}}"
              },
              "url": "=/v1/autocomplete/company",
              "method": "GET"
            }
          },
          "description": "Search companies by name"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"companyDetails","name":"Get Company Details","description":"Fetch company details by ID","resource":"company"},{"operation":"companyFinancials","name":"Get Company Financials","description":"Fetch company financials by ID","resource":"company"},{"operation":"companyHoldings","name":"Get Company Holdings","description":"Fetch companies this company holds stakes in","resource":"company"},{"operation":"companyOwners","name":"Get Company Owners","description":"Fetch company owners by ID","resource":"company"},{"operation":"search","name":"Search for a Company","description":"Search companies by name","resource":"company"}]

npm_readme:
  # n8n-nodes-openregister

  This package provides n8n community nodes to interact with the OpenRegister API from your workflows. See the official documentation at [docs.openregister.de](https://docs.openregister.de).

  OpenRegister provides programmatic access to structured company registry data from official sources in Germany. See what data exactly are available [here](https://docs.openregister.de/coverage).

  [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 to add this package (`n8n-nodes-openregister`) to your n8n instance.

  ## Operations

  Resource: Company

  - **Search for a Company:** Search companies by name. Endpoint: `/v1/autocomplete/company` (query param: `query`).
  - **Get Company Details:** Fetch company details by ID. Endpoint: `/v1/company/{companyId}`.
  - **Get Company Financials:** Fetch company financials by ID. Endpoint: `/v1/company/{companyId}/financials`.
  - **Get Company Owners:** Fetch company owners by ID. Endpoint: `/v1/company/{companyId}/owners`.
  - **Get Company Holdings:** Fetch companies this company holds stakes in. Endpoint: `/v1/company/{companyId}/holdings`.

  The company ID is a unique identifier for a company inside the OpenRegister ecosystem. You can get the company ID for a company in the results of the `Search for a Company` operation.

  ## Credentials

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

  How to get an API key:

  1. Create an account at [openregister.de](https://openregister.de) and sign in.
  2. In your dashboard, open the API keys section and create a new API key.
  3. Copy the key value. Keep it secure.

  Details and up-to-date instructions: see [Authentication](https://docs.openregister.de/authentication).

  In n8n, create credentials of type `OpenRegister API` and set:

  - Base URL: `https://api.openregister.de` (default)
  - API Key: your generated key

  Requests are sent with:

  ```
  Authorization: Bearer YOUR_API_KEY
  ```

  ## Compatibility

  - n8n Nodes API version: 1
  - Node.js: >= 20.15

  ## Usage

  - Search companies: Choose resource `Company` and operation `Search for a Company`, set "Company Name" (`query`). The node returns the `results` array of the matching companies.
  - Get details/financials/owners/holdings: Use the `id` from a previous search as `Company ID`.

  An example workflow doing exactly that is available [here](./examples/openregister-example-workflow.json).
  To try it out, just add a company name as the search parameter in the first node and click _Execute Workflow_.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [OpenRegister Documentation](https://docs.openregister.de)
  - [OpenRegister Authentication](https://docs.openregister.de/authentication)
  - [OpenRegister Coverage](https://docs.openregister.de/coverage)
  - [OpenRegister Example Workflow](./examples/openregister-example-workflow.json)

  ## Version history

  - 0.1.0: Initial release

ai_documentation_summary:
  {"purpose":"This n8n node enables interaction with the OpenRegister API to access structured company registry data from official German sources.","capabilities":["Search for companies by name","Fetch company details by ID","Retrieve company financials by ID","Get company owners by ID","Retrieve company holdings by ID"],"authentication":"API key required (Bearer token in Authorization header)","commonUseCases":["Background checks on German companies","Corporate structure analysis","Due diligence research","Business intelligence gathering"],"limitations":["Limited to German company registry data","Requires manual API key setup in n8n credentials","Node.js version >= 20.15 required"],"relatedNodes":["HTTP Request","Code","Set"]}


node_type: n8n-nodes-human-in-the-loop.hitlNode
package_name: n8n-nodes-human-in-the-loop
display_name: Human Approvals - HITL Platform
description: Create human-in-the-loop decision requests and wait for human responses
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: hitl.sh
author_github_url: https://github.com/hitl-sh/n8n-plugin.git
npm_package_name: n8n-nodes-human-in-the-loop
npm_version: 0.1.6
community_fetched_at: 2026-03-25T21:19:40.679Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "request",
      "options": [
        {
          "name": "Request",
          "value": "request"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendAndWait",
      "options": [
        {
          "name": "Send and Wait",
          "value": "sendAndWait",
          "action": "Send request and wait for response",
          "description": "Create a request and wait for human response"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "request"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"sendAndWait","name":"Send and Wait","description":"Create a request and wait for human response","resource":"request"}]

npm_readme:
  # n8n-nodes-human-in-the-loop

  n8n community node for HITL (Human-in-the-Loop) Platform integration.

  ## Features

  - **Create Decision Requests**: Send requests to human experts for decision making
  - **Dynamic Loop Selection**: Automatically loads your HITL loops with metadata
  - **Multiple Response Types**: Support for text, single/multi-select, rating, number, and boolean responses
  - **Real-time Integration**: Seamless integration with your HITL platform
  - **Bearer Token Authentication**: Secure API key authentication

  ## Prerequisites

  **Important**: You must download and install the HITL Platform app to receive and respond to decision requests sent from n8n workflows.

  - Download the HITL app:
    - [iOS - App Store](https://apps.apple.com/us/app/hitl-human-in-the-loop/id6752878072)
    - [Android - Play Store](https://play.google.com/store/apps/details?id=hitl.sh.app)
    - Or visit [https://hitl.sh](https://hitl.sh) for more information
  - Create an account and obtain your API key
  - Set up your decision loops in the HITL platform

  ## Installation

  1. Go to Settings > Community Nodes in your n8n instance
  2. Select "Install" 
  3. Enter `n8n-nodes-human-in-the-loop` in "Enter npm package name"
  4. Click "Install"

ai_documentation_summary:
  {"purpose":"Creates human-in-the-loop decision requests and waits for human responses via a dedicated mobile app.","capabilities":["Create decision requests for human experts","Support text responses","Support single-select responses","Support multi-select responses","Support rating responses","Support number responses","Support boolean responses","Automatic loading of HITL loops with metadata"],"authentication":"Bearer Token Authentication (API key required)","commonUseCases":["Require human approval for automated decisions","Gather expert input on workflow outputs","Collect structured feedback from humans"],"limitations":["Requires installation of the dedicated HITL Platform mobile app (iOS or Android)","Requires manual setup of decision loops in the HITL platform","Human intervention is mandatory; no automated fallback mentioned"],"relatedNodes":[]}


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

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

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

npm_readme:
  # n8n-nodes-parallel

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

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

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

  ## Installation

  Install this community node package in n8n:

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

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

  ### Prerequisites

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

  ## Available Nodes

  This package provides two powerful nodes for your n8n workflows:

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

  The main Parallel node offers four distinct operations:

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

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

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

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

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

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

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

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

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

  Intelligent web search with AI-powered processing:

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

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

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

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

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

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

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

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

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

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

  ## Key Features

  ### **Flexible Output Schemas**

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

  ### **Research Quality & Transparency**

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

  ### **Source Control**

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

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

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

  ## Quick Start Examples

  ### Example 1: Company Research Workflow

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

  ### Example 2: Async Research with Webhook

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

  ### Example 3: Web Search Pipeline

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

  ## Getting Started

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

  ## Processor Selection Guide

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

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

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

  ## n8n Workflow Use Cases

  ### **Sales & CRM Automation**

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

  ### **Content & Marketing**

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

  ### **Operations & Monitoring**

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

  ### **Customer Support Enhancement**

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

  ## Advanced Configuration

  ### Webhook Setup for Async Tasks

  When using async enrichment with the trigger node:

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

  ### JSON Schema Examples

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

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

  ### Source Policies

  Control which websites are used for research:

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

  ## Resources

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

  ## Support & Community

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

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"A community n8n node that integrates with Parallel Web Systems to perform AI-powered web research, including lead enrichment, competitive analysis, and intelligent web search.","capabilities":["Sync Web Enrichment for immediate results","Async Web Enrichment for long-running complex research","AI-powered web search with natural language processing","Web Chat for real-time, web-informed responses","Lead enrichment (company profiles, contacts, financials)","Competitive analysis (product features, pricing, market positioning)","Content research (summaries, fact-checking, data validation)","Market intelligence (trends, regulatory changes)","Custom JSON schema output","Webhook-based task completion triggers"],"authentication":"API key required (entered in n8n credentials)","commonUseCases":["Automated lead enrichment and CRM updates","Competitive intelligence gathering","Market research and trend analysis","Real-time fact-checking and verification","Automated research reporting via email"],"limitations":["Sync Web Enrichment has a maximum execution time of 5 minutes","Async Web Enrichment has a maximum execution time of 30 minutes","Web Chat responses take less than 5 seconds but may be limited by API rate limits","Some advanced features like Auto JSON output require Pro+ processors","Processor availability varies by operation (e.g., 'pro' processor not available for Sync Web Enrichment)"],"relatedNodes":["HTTP Request","Set","Code","Email","Manual Trigger"]}


node_type: @markupai/n8n-nodes-markupai.markupai
package_name: @markupai/n8n-nodes-markupai
display_name: Markup AI
description: Markup AI Content Checker
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: abhijeet_narvekar
author_github_url: https://github.com/markupai/n8n-app.git
npm_package_name: @markupai/n8n-nodes-markupai
npm_version: 0.2.5
community_fetched_at: 2026-03-25T21:19:40.680Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "content",
      "options": [
        {
          "name": "Content",
          "value": "content"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "styleCheck",
      "options": [
        {
          "name": "Style Check",
          "value": "styleCheck",
          "action": "Content style check",
          "description": "Check the content against your style and branding guidelines"
        },
        {
          "name": "Style Rewrite",
          "value": "styleRewrite",
          "action": "Content style rewrite",
          "description": "Rewrite the content against your style and branding guidelines"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "content"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"styleCheck","name":"Style Check","description":"Check the content against your style and branding guidelines","resource":"content"},{"operation":"styleRewrite","name":"Style Rewrite","description":"Rewrite the content against your style and branding guidelines","resource":"content"}]

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

  # n8n-nodes-markupai

  This is an n8n community node that integrates [Markup AI](https://markup.ai/) — a content guardian platform for ensuring brand-compliant, consistent, and engaging content.

  [Markup AI](https://markup.ai/) provides AI-powered content analysis, suggestions, and rewrites based on your organization's brand standards. Integrate content quality checks and automated improvements directly into your n8n workflows.

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

  ## Installation

  ### Community Nodes (Recommended)

  1. In n8n, go to **Settings** > **Community Nodes**
  2. Select **Install**
  3. Enter `@markupai/n8n-nodes-markupai` in the package field
  4. Click **Install**

  For detailed instructions, visit the [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).

  ### Manual Installation

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

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

  ## Operations

  The Markup AI node supports the following operations:

  ### Style Check

  Analyze content for quality issues without making changes.

  **Returns:**

  - Quality, clarity, and grammar scores
  - Style guide compliance metrics
  - Tone analysis
  - Readability metrics
  - Detailed list of identified issues

  ### Style Rewrite

  Automatically rewrite and improve content using AI.

  **Returns:**

  - Improved content version
  - Before/after quality scores
  - Score improvements
  - Comparison metrics

  ## Credentials

  To use this node, you'll need a Markup AI API account.

  ### Setting up credentials:

  1. Sign up for a [Markup AI account](https://markup.ai/#early-access)
  2. Get your API key from your account settings
  3. In n8n, add new credentials:
     - Go to **Credentials** > **New**
     - Search for **Markup AI API**
     - Enter your API key
     - Click **Save**

  ## Usage

  ### Configuration Options

  All operations support the following options:

  | Option                  | Type    | Default | Description                                 |
  | ----------------------- | ------- | ------- | ------------------------------------------- |
  | **Style Guide**         | String  | -       | The style guide to apply                    |
  | **Dialect**             | String  | -       | The dialect to be used for content analysis |
  | **Tone**                | String  | -       | The desired tone for content (optional)     |
  | **Wait for Completion** | Boolean | `true`  | Auto-poll for results                       |
  | **Polling Timeout**     | Number  | `60000` | Maximum wait time in milliseconds           |
  | **Polling Interval**    | Number  | `2000`  | Polling frequency in milliseconds           |

  ### Example Workflows

  #### Content Quality Gate

  1. Trigger: New document added to Google Drive
  2. **Markup AI** → Style Check: Analyze document content
  3. Condition: Check if quality score meets threshold
  4. If passed: Approve and publish
  5. If failed: Send notification to content team

  #### Automated Content Improvement

  1. Trigger: Webhook receives content for publication
  2. **Markup AI** → Style Check: Analyze initial quality
  3. **Markup AI** → Style Rewrite: Improve content
  4. Send improved version to CMS for publication

  ### Common Use Cases

  - **Content Compliance & Consistency**: Ensure all company content — from blogs and web pages to documentation and marketing materials — aligns with brand and style guidelines while maintaining a consistent tone.

  - **Automated Quality Gates**: Ensure content meets standards automatically before publication. Monitor content changes in real-time and prevent non-compliant content from going live.

  - **Quality at the Source**: Create and maintain high-quality content right where it's produced. Proactively monitor consistency and compliance across CMS platforms like Google Drive and beyond.

  - **Early Issue Detection**: Automatically identify and flag potential issues or non-compliant content within workflows before they become problems.

  - **Streamlined Content Compliance**: Minimize manual reviews by automating content compliance checks and review processes throughout your content lifecycle.

  - **Actionable Alerts**: Go beyond flagging issues — automatically trigger notifications to stakeholders within workflows, transforming compliance checks into immediate corrective actions.

  ## Resources

  - [Markup AI Documentation](https://docs.markup.ai/)
  - [Markup AI Website](https://markup.ai/)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [n8n Documentation](https://docs.n8n.io/)
  - [GitHub Repository](https://github.com/markupai/n8n-app)

  ## Development

  Contributions are welcome! This section is for developers who want to contribute to this community node or set up a local development environment.

  ### Prerequisites

  - Node.js >= 24
  - npm
  - Basic familiarity with n8n and TypeScript

  ### Quick Setup (Recommended)

  After cloning this repository, run the automated setup script:

  ```bash
  npm run setup
  ```

  This will:

  - Install dependencies (including n8n as a devDependency)
  - Build the code and create the dist folder
  - Link the package from the dist folder (avoiding node_modules conflicts)
  - Configure the n8n custom directory
  - Fix n8n config file permissions
  - Link the package for local development

  Then start n8n:

  ```bash
  npm start
  ```

  This uses the local n8n installation from devDependencies — no global installation needed!

  **Note:** The setup links from the `dist` folder rather than the project root. This ensures that n8n only loads the compiled code without development dependencies, preventing module loading conflicts.

  ### Environment Configuration

  For development, you can configure the API base URL using environment variables:

  **Option 1: Using a `.env` file**

  1. Copy the example environment file:

     ```bash
     cp .env.example .env
     ```

  2. Edit `.env` and set your development API URL:

     ```bash
     MARKUP_AI_BASE_URL=https://api.dev.markup.ai/
     ```

  3. Start n8n (it will automatically load the `.env` file):
     ```bash
     npm start
     ```

  **Option 2: Export environment variable directly**

  ```bash
  export MARKUP_AI_BASE_URL=https://api.dev.markup.ai/
  npm start
  ```

  **Note:** By default, the node uses the production API URL (`https://api.markup.ai/`). The environment variable is only needed for development or custom API endpoints. n8n automatically loads `.env` files from the current working directory, so no additional tools are required.

  ### Manual Setup

  If you prefer to set things up manually:

  1. Install dependencies after cloning this repository

  ```bash
  npm install
  ```

  2. Build the code

  ```bash
  npm run build
  ```

  3. Link the build from the dist folder

  ```bash
  cd dist
  npm link
  cd ..
  ```

  4. Create a `custom` directory inside n8n if it does not exist

  ```bash
  # In ~/.n8n directory run
  mkdir -p ~/.n8n/custom
  cd ~/.n8n/custom
  npm init -y
  ```

  5. Link the custom folder to the build

  ```bash
  npm link @markupai/n8n-nodes-markupai
  ```

  6. Fix n8n config file permissions (if needed)

  ```bash
  chmod 600 ~/.n8n/config
  ```

  7. Start n8n

  ```bash
  # Back in your project directory
  npm start
  ```

  You should now see Markup AI in the list of nodes. Happy hacking!

  ### Making Changes

  1. Make your changes in the `nodes/` or `credentials/` directories
  2. Build the code: `npm run build`
  3. Test in n8n (refresh the browser if n8n is already running)
  4. Run tests: `npm test`
  5. Run linter: `npm run lint:check`

  ### Testing

  Run the test suite:

  ```bash
  npm test
  ```

  Run tests with coverage:

  ```bash
  npm run test:coverage
  ```

  Run tests in watch mode during development:

  ```bash
  npm run test:watch
  ```

  ### Troubleshooting

  **Module loading errors**: If you see errors like `require(...).index is not a constructor`, make sure you've linked from the `dist` folder, not the project root. To fix:

  ```bash
  npm run cleanup  # Remove old links
  npm run setup    # Set up correctly
  ```

  **Permissions errors**: If you see warnings about file permissions, run `chmod 600 ~/.n8n/config` to fix them.

  **Resetting the development environment**: If you need to start fresh:

  ```bash
  npm run cleanup  # Removes all npm links
  npm run setup    # Sets up from scratch
  ```

  **Debugging setup issues**: If you encounter problems during setup, enable debug mode for detailed output:

  ```bash
  DEBUG=1 npm run setup    # Verbose setup with debug information
  DEBUG=1 npm run cleanup  # Verbose cleanup with debug information
  ```

  This will show:

  - Exact commands being executed
  - Full command output (both stdout and stderr)
  - Detailed error information when commands fail
  - Working directory for each command

  ## License

  [MIT](LICENSE)

  ## Support

  - For general n8n questions: [n8n Community Forum](https://community.n8n.io/)
  - For Markup AI API questions: [Markup AI Support](https://community.markup.ai/c/markup-ai-integrations/6)

  ---

  Made with ❤️ by the Markup AI team

ai_documentation_summary:
  {"purpose":"This n8n community node integrates Markup AI to perform AI-powered content analysis, style checks, and automated rewrites to ensure brand-compliant and high-quality content.","capabilities":["Style Check: Analyze content for quality issues without making changes","Style Rewrite: Automatically rewrite and improve content using AI","Quality scoring (clarity, grammar, tone, readability)","Style guide compliance metrics","Dialect-specific content analysis","Tone customization","Automated polling for async operations","Workflow-based content gating"],"authentication":"API key required","commonUseCases":["Content compliance and consistency checks","Automated quality gates before publication","Quality at the source (CMS integration)","Early issue detection in workflows","Streamlined content review processes"],"limitations":["Community node (requires manual installation or n8n community nodes setup)","Requires separate Markup AI account and API key","No built-in credential management UI (requires manual credential setup)"],"relatedNodes":["n8n Webhook","n8n Condition","n8n HTTP Request","n8n Google Drive","n8n Slack"]}


node_type: n8n-nodes-transcript-lol.transcriptLol
package_name: n8n-nodes-transcript-lol
display_name: Transcript LOL
description: Create recordings and get transcripts from Transcript LOL
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: pkpio
author_github_url: https://github.com/transcript-lol/
npm_package_name: n8n-nodes-transcript-lol
npm_version: 0.1.0
community_fetched_at: 2026-03-25T21:19:40.681Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "recording",
      "options": [
        {
          "name": "Recording",
          "value": "recording"
        },
        {
          "name": "Transcript",
          "value": "transcript"
        },
        {
          "name": "Workspace",
          "value": "workspace"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a recording",
          "description": "Create a new recording for transcription"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a recording",
          "description": "Get a recording by ID"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many recordings",
          "description": "Get many recordings from a workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "recording"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a transcript",
          "description": "Get transcript for a recording"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transcript"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many workspaces",
          "description": "Get all workspaces"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workspace"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create","description":"Create a new recording for transcription","resource":"recording"},{"operation":"get","name":"Get","description":"Get a recording by ID","resource":"recording"},{"operation":"getMany","name":"Get Many","description":"Get many recordings from a workspace","resource":"recording"},{"operation":"get","name":"Get","description":"Get transcript for a recording","resource":"transcript"},{"operation":"getMany","name":"Get Many","description":"Get all workspaces","resource":"workspace"}]

npm_readme:
  # n8n-nodes-transcript-lol

  This is an n8n community node for [Transcript.lol](https://transcript.lol) - an AI-powered audio and video transcription service.

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

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

  ## Installation

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

  ## Operations

  ### Transcript.lol Node

  #### Recording Resource
  - **Create** - Create a new recording for transcription
  - **Get** - Get a recording by ID
  - **Get Many** - Get many recordings from a workspace

  #### Transcript Resource
  - **Get** - Get transcript for a recording in various formats (JSON, Plain Text, CSV, Word, SRT, VTT)

  #### Workspace Resource
  - **Get Many** - Get all workspaces accessible to your account

  ### Transcript.lol Trigger Node

  Listen for events from Transcript.lol:

  - **New Transcript** - Triggers when a transcript is completed for a recording
  - **Transcript Failed** - Triggers when a transcript fails to be created
  - **New Insights** - Triggers when new AI insights are generated for a recording
  - **Translation Created** - Triggers when a translation is completed for a recording

  ## Credentials

  This node uses OAuth2 with PKCE (Proof Key for Code Exchange) for secure authentication. No client secret is required — the integration uses a public client ID (`tlol_n8n_client`) and relies on PKCE's cryptographic code challenge/verifier exchange to secure the authorization flow.

  ### Setup

  1. In n8n, create new credentials for "Transcript.lol OAuth2 API"
  2. Click "Connect my account" — n8n will automatically handle the PKCE flow
  3. Sign in to your [Transcript.lol account](https://transcript.lol) and authorize the connection
  4. Once authorized, you can use the node in your workflows

  ### How It Works

  1. n8n generates a random `code_verifier` and derives a `code_challenge` (SHA-256 hash)
  2. The `code_challenge` is sent with the authorization request to Transcript.lol
  3. After you authorize, n8n sends the original `code_verifier` to the token endpoint
  4. Transcript.lol verifies that `SHA256(code_verifier)` matches the stored `code_challenge`
  5. On success, an access token (Bearer token) is issued and used for all API requests

  This approach eliminates the need for a shared client secret, making it safe for the credential configuration to be distributed as part of a community node.

  **Note:** You need to be on the Unlimited Plan to use the n8n integration.

  ## Compatibility

  - Tested with n8n version 1.0.0 and above
  - Requires Node.js v22 or higher

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Transcript.lol Documentation](https://transcript.lol/docs)
  - [Transcript.lol API Reference](https://transcript.lol/docs/api)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"This n8n community node enables workflow automation for Transcript.lol, an AI-powered audio and video transcription service, allowing users to create recordings, retrieve transcripts, and listen for completion events.","capabilities":["Create new recordings for transcription","Retrieve a single recording by ID","Retrieve multiple recordings from a workspace","Get transcripts in multiple formats (JSON, Plain Text, CSV, Word, SRT, VTT)","List all accessible workspaces","Trigger on new transcript completion","Trigger on transcript failure","Trigger on new AI insights generation","Trigger on translation completion"],"authentication":"OAuth2 with PKCE (Proof Key for Code Exchange)","commonUseCases":["Automated meeting note generation from audio/video files","Workflow triggers for processing completed transcriptions","Batch processing of multiple recordings from a workspace","Integration with translation workflows for multilingual content"],"limitations":["Requires Transcript.lol Unlimited Plan subscription","Requires Node.js v22 or higher","Compatible only with n8n version 1.0.0 and above"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


node_type: n8n-nodes-templatefox.templateFox
package_name: n8n-nodes-templatefox
display_name: TemplateFox
description: Generate PDFs from templates using TemplateFox API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: vincentventalon
author_github_url: https://github.com/TemplateFoxPDF/
npm_package_name: n8n-nodes-templatefox
npm_version: 1.1.5
community_fetched_at: 2026-03-25T21:19:40.681Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "generatePdf",
      "options": [
        {
          "name": "Generate PDF",
          "value": "generatePdf",
          "action": "Generate a PDF from a template",
          "description": "Generate a PDF from a template"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate PDF",
      "value": "generatePdf",
      "action": "Generate a PDF from a template",
      "description": "Generate a PDF from a template"
    }
  ]

npm_readme:
  # n8n-nodes-templatefox

  This is an n8n community node for [TemplateFox](https://pdftemplateapi.com) - a PDF generation API that lets you create professional PDFs from templates.

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

  **npm:**
  ```bash
  npm install n8n-nodes-templatefox
  ```

  **n8n Desktop/Cloud:**
  1. Go to **Settings** > **Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-templatefox`
  4. Agree to the risks and click **Install**

  ## Operations

  ### Generate PDF

  Generate a PDF document from a template with your data.

  **Features:**
  - **Template Dropdown**: Select from your saved templates
  - **Dynamic Fields**: Fields automatically appear based on the selected template
  - **JSON Mode**: For advanced users who prefer raw JSON input
  - **Custom Filename**: Set a custom filename for the generated PDF
  - **URL Expiration**: Configure how long the PDF URL remains valid

  ## Credentials

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

  1. Sign up at [pdftemplateapi.com](https://pdftemplateapi.com)
  2. Go to your [API Dashboard](https://pdftemplateapi.com/dashboard/api)
  3. Copy your API key
  4. In n8n, create new **TemplateFox API** credentials and paste your key

  ## Usage

  ### Basic Example

  1. Add the **TemplateFox** node to your workflow
  2. Configure your TemplateFox API credentials
  3. Select a template from the dropdown
  4. Fill in the template fields with your data
  5. Execute the workflow to generate a PDF

  ### Using JSON Mode

  For complex data structures (arrays, nested objects):

  1. Select **JSON** as the Data Input Mode
  2. Enter your data as JSON:
  ```json
  {
    "customer_name": "John Doe",
    "invoice_number": "INV-001",
    "items": [
      {"description": "Widget A", "quantity": 2, "price": 10.00},
      {"description": "Widget B", "quantity": 1, "price": 25.00}
    ]
  }
  ```

  ### Output

  The node returns:
  - `url`: Direct URL to download the PDF
  - `filename`: The PDF filename
  - `credits_remaining`: Your remaining API credits
  - `expires_in`: Seconds until the URL expires

  ## Resources

  - [TemplateFox Documentation](https://pdftemplateapi.com/docs)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [TemplateFox API Reference](https://pdftemplateapi.com/docs/api)

  ## Support

  - **TemplateFox Support**: support@pdftemplateapi.com
  - **GitHub Issues**: [Report bugs or request features](https://github.com/TemplateFoxPDF/n8n-nodes-templatefox/issues)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"Generates professional PDF documents from TemplateFox templates by sending data to the TemplateFox API and returning a downloadable URL.","capabilities":["Generate PDFs from saved templates","Support dynamic fields based on template selection","JSON mode for advanced data structures (arrays, nested objects)","Custom filename configuration","URL expiration time configuration","Return remaining API credits and expiration time"],"authentication":"API key required","commonUseCases":["Generating invoice PDFs from customer data","Creating personalized marketing materials","Producing contract documents with variable fields","Batch generating reports with complex data structures"],"limitations":["Requires external TemplateFox account and API key","URLs have expiration time limits","Credits are consumed per generation"],"relatedNodes":["HTTP Request","Code","PDF"]}


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

updated_at: 2026-03-25 21:19:40
author_name: mhelmich-mittwald
author_github_url: https://github.com/mittwald/n8n-nodes.git
npm_package_name: n8n-nodes-mittwald
npm_version: 1.7.1
community_fetched_at: 2026-03-25T21:19:40.682Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Project",
          "value": "Project"
        },
        {
          "name": "App",
          "value": "App"
        },
        {
          "name": "Server",
          "value": "Server"
        },
        {
          "name": "Support",
          "value": "Support"
        },
        {
          "name": "Contributor",
          "value": "Contributor"
        },
        {
          "name": "Domain",
          "value": "Domain"
        },
        {
          "name": "Database",
          "value": "Database"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create",
      "options": [
        {
          "name": "Create",
          "value": "Create",
          "action": "Create a project on a server",
          "description": "Create a new project on a server"
        },
        {
          "name": "Create SFTP User",
          "value": "Create SFTP User",
          "action": "Create an SFTP user",
          "description": "Create an SFTP user for a project"
        },
        {
          "name": "Create SSH User",
          "value": "Create SSH User",
          "action": "Create an SSH user",
          "description": "Create an SSH user for a project"
        },
        {
          "name": "Delete SFTP User",
          "value": "Delete SFTP User",
          "action": "Delete an SFTP user",
          "description": "Delete an SFTP user by ID"
        },
        {
          "name": "Delete SSH User",
          "value": "Delete SSH User",
          "action": "Delete an SSH user",
          "description": "Delete an SSH user by ID"
        },
        {
          "name": "Delete",
          "value": "Delete",
          "action": "Delete a project",
          "description": "Delete an existing project"
        },
        {
          "name": "Get",
          "value": "Get",
          "action": "Get a project",
          "description": "Get details of a specific project"
        },
        {
          "name": "List SFTP Users",
          "value": "List SFTP Users",
          "action": "List all SFTP users",
          "description": "Get a list of all SFTP users in a project"
        },
        {
          "name": "List SSH Users",
          "value": "List SSH Users",
          "action": "List all SSH users",
          "description": "Get a list of all SSH users in a project"
        },
        {
          "name": "List",
          "value": "List",
          "action": "List all projects",
          "description": "Get a list of all projects"
        },
        {
          "name": "Delete Membership",
          "value": "Delete Membership",
          "action": "Delete a project membership",
          "description": "Remove a member from a project"
        },
        {
          "name": "Get Membership",
          "value": "Get Membership",
          "action": "Get a project membership",
          "description": "Get details of a specific project membership"
        },
        {
          "name": "Accept Invite",
          "value": "Accept Invite",
          "action": "Accept an invite to a project",
          "description": "Accept a project invitation using an invitation token"
        },
        {
          "name": "Create Invite",
          "value": "Create Invite",
          "action": "Create an invite to a project",
          "description": "Create a project invitation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Project"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Install",
      "options": [
        {
          "name": "Install",
          "value": "Install",
          "action": "Install an app",
          "description": "Install an app on a project"
        },
        {
          "name": "Uninstall",
          "value": "Uninstall",
          "action": "Uninstall an app",
          "description": "Remove an app installation"
        },
        {
          "name": "List",
          "value": "List",
          "action": "List all installed apps",
          "description": "Get a list of all installed apps"
        },
        {
          "name": "Update Installation Versions",
          "value": "Update Installation Versions",
          "action": "Update software versions",
          "description": "Update the app or system software versions of an installation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "App"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get",
      "options": [
        {
          "name": "Get",
          "value": "Get",
          "action": "Get a server",
          "description": "Get details of a specific server"
        },
        {
          "name": "List",
          "value": "List",
          "action": "List all servers",
          "description": "Get a list of all servers"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Server"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create",
      "options": [
        {
          "name": "Create",
          "value": "Create",
          "action": "Create a ticket",
          "description": "Create a support ticket in a conversation category"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Support"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "List Incoming Invoices",
      "options": [
        {
          "name": "List Incoming Invoices",
          "value": "List Incoming Invoices",
          "action": "List incoming invoices",
          "description": "Get a list of incoming invoices for an organisation"
        },
        {
          "name": "List Outgoing Invoices",
          "value": "List Outgoing Invoices",
          "action": "List outgoing invoices",
          "description": "Get a list of outgoing invoices for an organisation"
        },
        {
          "name": "List Own Extensions",
          "value": "List Own Extensions",
          "action": "List own extensions",
          "description": "Get a list of extensions owned by an organisation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Contributor"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create",
      "options": [
        {
          "name": "Create",
          "value": "Create",
          "action": "Create and link subdomain",
          "description": "Create a subdomain and link it to an app installation"
        },
        {
          "name": "Check If Registrable",
          "value": "Check If Registrable",
          "action": "Check if domain is registrable",
          "description": "Check whether a domain name is available for registration"
        },
        {
          "name": "Set Target",
          "value": "Set Target",
          "action": "Set target installation for domain",
          "description": "Set the target app installation for a domain"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Domain"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Redis Database",
      "options": [
        {
          "name": "Create Redis Database",
          "value": "Create Redis Database",
          "action": "Create Redis database",
          "description": "Create a new Redis database in a project"
        },
        {
          "name": "Delete Redis Database",
          "value": "Delete Redis Database",
          "action": "Delete Redis database",
          "description": "Delete an existing Redis database"
        },
        {
          "name": "Get Redis Database",
          "value": "Get Redis Database",
          "action": "Get a Redis database",
          "description": "Get details of a specific Redis database"
        },
        {
          "name": "List Redis Databases",
          "value": "List Redis Databases",
          "action": "List all Redis databases",
          "description": "Get a list of all Redis databases in a project"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Database"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"Create","name":"Create","description":"Create a new project on a server","resource":"Project"},{"operation":"Create SFTP User","name":"Create SFTP User","description":"Create an SFTP user for a project","resource":"Project"},{"operation":"Create SSH User","name":"Create SSH User","description":"Create an SSH user for a project","resource":"Project"},{"operation":"Delete SFTP User","name":"Delete SFTP User","description":"Delete an SFTP user by ID","resource":"Project"},{"operation":"Delete SSH User","name":"Delete SSH User","description":"Delete an SSH user by ID","resource":"Project"},{"operation":"Delete","name":"Delete","description":"Delete an existing project","resource":"Project"},{"operation":"Get","name":"Get","description":"Get details of a specific project","resource":"Project"},{"operation":"List SFTP Users","name":"List SFTP Users","description":"Get a list of all SFTP users in a project","resource":"Project"},{"operation":"List SSH Users","name":"List SSH Users","description":"Get a list of all SSH users in a project","resource":"Project"},{"operation":"List","name":"List","description":"Get a list of all projects","resource":"Project"},{"operation":"Delete Membership","name":"Delete Membership","description":"Remove a member from a project","resource":"Project"},{"operation":"Get Membership","name":"Get Membership","description":"Get details of a specific project membership","resource":"Project"},{"operation":"Accept Invite","name":"Accept Invite","description":"Accept a project invitation using an invitation token","resource":"Project"},{"operation":"Create Invite","name":"Create Invite","description":"Create a project invitation","resource":"Project"},{"operation":"Install","name":"Install","description":"Install an app on a project","resource":"App"},{"operation":"Uninstall","name":"Uninstall","description":"Remove an app installation","resource":"App"},{"operation":"List","name":"List","description":"Get a list of all installed apps","resource":"App"},{"operation":"Update Installation Versions","name":"Update Installation Versions","description":"Update the app or system software versions of an installation","resource":"App"},{"operation":"Get","name":"Get","description":"Get details of a specific server","resource":"Server"},{"operation":"List","name":"List","description":"Get a list of all servers","resource":"Server"},{"operation":"Create","name":"Create","description":"Create a support ticket in a conversation category","resource":"Support"},{"operation":"List Incoming Invoices","name":"List Incoming Invoices","description":"Get a list of incoming invoices for an organisation","resource":"Contributor"},{"operation":"List Outgoing Invoices","name":"List Outgoing Invoices","description":"Get a list of outgoing invoices for an organisation","resource":"Contributor"},{"operation":"List Own Extensions","name":"List Own Extensions","description":"Get a list of extensions owned by an organisation","resource":"Contributor"},{"operation":"Create","name":"Create","description":"Create a subdomain and link it to an app installation","resource":"Domain"},{"operation":"Check If Registrable","name":"Check If Registrable","description":"Check whether a domain name is available for registration","resource":"Domain"},{"operation":"Set Target","name":"Set Target","description":"Set the target app installation for a domain","resource":"Domain"},{"operation":"Create Redis Database","name":"Create Redis Database","description":"Create a new Redis database in a project","resource":"Database"},{"operation":"Delete Redis Database","name":"Delete Redis Database","description":"Delete an existing Redis database","resource":"Database"},{"operation":"Get Redis Database","name":"Get Redis Database","description":"Get details of a specific Redis database","resource":"Database"},{"operation":"List Redis Databases","name":"List Redis Databases","description":"Get a list of all Redis databases in a project","resource":"Database"}]

npm_readme:
  # n8n-nodes-mittwald

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

  [mittwald](https://www.mittwald.de/) is a German hosting and cloud service provider. This node allows you to automate interactions with mittwald resources such as projects, Redis databases, applications, and more.

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

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

  ## Installation

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

  ## Operations

  This node provides integration with the [mittwald API v2](https://developer.mittwald.de/). The following resources and operations are available:

  ### App

  - **Install an app**: Install an app on a project
  - **List all installed apps**: Get a list of all installed apps
  - **Uninstall an app**: Remove an app installation
  - **Update software versions**: Update the app or system software versions of an installation

  ### Contributor

  - **List incoming invoices**: Get a list of incoming invoices for an organisation
  - **List outgoing invoices**: Get a list of outgoing invoices for an organisation
  - **List own extensions**: Get a list of extensions owned by an organisation

  ### Conversation

  - **Create a ticket**: Create a support ticket in a conversation category

  ### Project

  - **Create a project on a server**: Create a new project on a server
  - **Create an SSH user**: Create an SSH user for a project (parameters: Project, Name, Password, optional Expires At)
  - **Create an SFTP user**: Create an SFTP user for a project (parameters: Project, Name, Password, Access Level, Directories, optional Expires At)
  - **Delete an SSH user**: Delete an SSH user from a project (parameter: SSH User ID)
  - **Delete an SFTP user**: Delete an SFTP user from a project (parameter: SFTP User ID)
  - **Delete a project**: Delete an existing project
  - **Get a project**: Get details of a specific project
  - **List all SSH users**: Get a list of all SSH users in a project (parameter: Project)
  - **List all SFTP users**: Get a list of all SFTP users in a project (parameter: Project)
  - **List all projects**: Get a list of all projects
  - **Accept an invite to a project**: Accept a project invitation using an invitation token
  - **Create an invite to a project**: Create a project invitation
  - **Get a project membership**: Get details of a specific project membership
  - **Delete a project membership**: Remove a member from a project

  ### Database

  - **List all Redis databases**: Get a list of all Redis databases in a project
  - **Create Redis database**: Create a new Redis database in a project
  - **Delete Redis database**: Delete an existing Redis database
  - **Get a Redis database**: Get details of a specific Redis database

  ### Server

  - **Get a server**: Get details of a specific server
  - **List all servers**: Get a list of all servers

  ### Domain

  - **Create and link subdomain**: Create a subdomain and link it to an app installation
  - **Check if domain is registrable**: Check whether a domain name is available for registration
  - **Set target installation for domain**: Set the target app installation for a domain

  ## Credentials

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

  ### Prerequisites

  - A mittwald account
  - An API key generated from your mittwald account settings

  ### Setting up credentials

  1. Log in to your mittwald account
  2. Navigate to your account settings
  3. Generate an API key
  4. In n8n, create new credentials of type "Mittwald API"
  5. Enter your API key

  ## Compatibility

  This node is tested with n8n Version 2.7.4.

  ## Usage

  1. Add the "Mittwald API" node to your workflow
  2. Set up credentials using your mittwald API key (API keys can be generated in the studio [here](https://studio.mittwald.de/app/profile/api-tokens))
  3. Select the desired resource and operation
  4. Configure the required parameters for the operation
  5. Execute the workflow to interact with the mittwald API and automate your tasks

  If you aren't familiar with n8n and creating workflows, you can find help here: [Try it out](https://docs.n8n.io/try-it-out/)

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [mittwald API documentation](https://developer.mittwald.de/)
  - [mittwald API v2 Reference](https://developer.mittwald.de/docs/v2/api/intro/)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of interactions with the Mittwald hosting and cloud service provider API v2, allowing management of projects, servers, databases, applications, and user accounts.","capabilities":["Install, list, and uninstall applications on projects","Update software versions for app or system installations","Manage incoming and outgoing invoices for organizations","List extensions owned by an organization","Create and manage support tickets in conversation categories","Create, list, delete, and get details of projects","Create, list, delete, and get details of SSH and SFTP users","Manage project memberships and invitations","Create, list, and delete Redis databases in projects","Get details and list servers"],"authentication":"API key required","commonUseCases":["Automating server provisioning and user management for hosting clients","Managing Redis database instances in cloud environments","Handling application deployments and version updates","Managing billing and invoice data for hosting organizations","Automating domain management and subdomain linking"],"limitations":["Requires a valid Mittwald account and API key","Only supports Mittwald API v2","Currently tested with n8n Version 2.7.4","Limited to Mittwald-specific resources (German hosting provider)"],"relatedNodes":["n8n-nodes-core.httpRequest","n8n-nodes-core.credentials"]}


node_type: n8n-nodes-lumify.lumify
package_name: n8n-nodes-lumify
display_name: Lumify
description: AI-powered search and research APIs from Lumify
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: lumify
author_github_url: https://github.com/lumifyai/
npm_package_name: n8n-nodes-lumify
npm_version: 0.1.5
community_fetched_at: 2026-03-25T21:19:40.683Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search your indexed content",
          "description": "Search your indexed website content and get AI-generated answers"
        },
        {
          "name": "Last 30 Days",
          "value": "last30days",
          "action": "Research trends from the last 30 days",
          "description": "Research trends and discussions from social media and web sources"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Search",
      "value": "search",
      "action": "Search your indexed content",
      "description": "Search your indexed website content and get AI-generated answers"
    },
    {
      "name": "Last 30 Days",
      "value": "last30days",
      "action": "Research trends from the last 30 days",
      "description": "Research trends and discussions from social media and web sources"
    }
  ]

npm_readme:
  # n8n-nodes-lumify

  This is an n8n community node for [Lumify](https://lumify.ai) - AI-powered search and research APIs.

  Lumify provides two powerful capabilities:
  - **Search**: AI-powered search across your indexed website content
  - **Last 30 Days**: Research-grade trend analysis from social media and web discussions

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

  ### In n8n Desktop/Cloud

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

  ### Self-hosted n8n

  ```bash
  npm install n8n-nodes-lumify
  ```

  ## Prerequisites

  - A [Lumify account](https://www.lumify.ai/beta-signup) (free to sign up)
  - Your API Key from the [Lumify Dashboard](https://www.lumify.ai/app/api-keys)
  - For Search: An Application ID from your dashboard

  ## Operations

  ### Search

  Query your indexed website content and get AI-generated answers with source citations.

  **Required:**
  - API Key
  - Application ID
  - Query (the search question)

  **Options:**
  - **Answer Mode**: Cache high-confidence answers for faster responses (default: true)
  - **Similar Questions**: Return related questions from your knowledge base (default: false)

  **Response includes:**
  - AI-generated answer
  - Source URLs with titles and relevance scores
  - Confidence score (0.0 - 1.0)
  - Similar questions (if enabled)
  - Call-to-action links (when intent is detected)

  ### Last 30 Days

  Research trends and synthesize discussions from Twitter/X, Reddit, and web sources into actionable intelligence.

  **Required:**
  - API Key
  - Topic (the subject to research, max 200 characters)

  **Options:**
  - **Sources**: Data sources to query - Twitter/X, Reddit, Web (default: all three)
  - **Days**: Number of days to look back, 1-30 (default: 30)
  - **Max Results**: Maximum evidence items per source, 5-50 (default: 20)
  - **Output Format**: 
    - `summary` - Markdown-formatted narrative (default)
    - `bullets` - Structured bullet points
    - `json` - Fully structured data

  **Response includes:**
  - Synthesized research brief with patterns, insights, and gotchas
  - Evidence count and source breakdown
  - Confidence score
  - Execution metadata (time, tokens used)

  ## Credentials

  ### Setting up Lumify Credentials

  1. [Sign up for Lumify](https://www.lumify.ai/beta-signup) if you haven't already
  2. Go to your [API Keys page](https://www.lumify.ai/app/api-keys)
  3. Copy your **API Key** (format: `lmfy-xxxxx`)
  4. If using Search, copy your **Application ID** from the dashboard

  In n8n:
  1. Go to **Credentials**
  2. Select **New Credential**
  3. Search for **Lumify API**
  4. Enter your API Key (required)
  5. Enter your Application ID (required for Search, optional for Last 30 Days)

  ## Example Workflows

  ### AI-Powered FAQ Bot

  1. **Trigger**: Webhook receives a user question
  2. **Lumify Search**: Query your knowledge base
  3. **IF**: Check confidence score
  4. **Respond**: Return answer or escalate to human

  ### Weekly Trend Report

  1. **Schedule Trigger**: Every Monday at 9am
  2. **Lumify Last 30 Days**: Research your industry topic
  3. **Slack/Email**: Send the synthesized brief to your team

  ### Content Research Pipeline

  1. **Form Trigger**: Content team submits a topic
  2. **Lumify Last 30 Days**: Research current discussions
  3. **Google Docs**: Create a research document
  4. **Notify**: Alert the team it's ready

  ## Resources

  - [Lumify Documentation](https://docs.lumify.ai)
  - [Search API Reference](https://docs.lumify.ai/search-api)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)

  ## Support

  - For Lumify issues: [Contact Lumify Support](https://www.lumify.ai/contact-us)
  - For node issues: [Open an issue](https://github.com/lumifyai/n8n-nodes-lumify/issues)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"This n8n community node integrates Lumify's AI-powered search and research APIs to enable knowledge base querying and social media trend analysis within automated workflows.","capabilities":["AI-powered search across indexed website content","Generate answers with source citations and confidence scores","Research-grade trend analysis from Twitter/X, Reddit, and web sources","Synthesize discussions into actionable intelligence","Support multiple output formats (markdown, bullets, JSON)","Return related questions and call-to-action links"],"authentication":"API Key required (Application ID required for Search operations)","commonUseCases":["AI-powered FAQ bot for knowledge base queries","Weekly trend reports for industry research","Content research pipeline for team collaboration","Automated social media sentiment analysis"],"limitations":["Search requires an Application ID from the dashboard","Last 30 Days research is limited to 1-30 days lookback","Max results per source limited to 50 items","Community node (requires manual installation and risk acceptance)"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-slack","n8n-nodes-google-docs","n8n-nodes-schedule-trigger","n8n-nodes-if"]}


node_type: n8n-nodes-scrapfly.Scrapfly
package_name: n8n-nodes-scrapfly
display_name: Scrapfly
description: Scrapfly data collection APIs for web page scraping, screenshots, and AI data extraction
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: scrapfly
author_github_url: https://github.com/scrapfly/
npm_package_name: n8n-nodes-scrapfly
npm_version: 0.1.7
community_fetched_at: 2026-03-25T21:19:40.683Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Scrape",
      "options": [
        {
          "name": "Scrape",
          "value": "Scrape"
        },
        {
          "name": "Extraction",
          "value": "Extraction"
        },
        {
          "name": "Screenshot",
          "value": "Screenshot"
        },
        {
          "name": "Account",
          "value": "Account"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ScrapeWebPage",
      "options": [
        {
          "name": "Scrape Web Page",
          "value": "ScrapeWebPage",
          "action": "Scrape web page",
          "description": "Scrape a web page given its URL"
        },
        {
          "name": "Scrape API Request",
          "value": "ScrapeAPIRequest",
          "action": "Scrape api request",
          "description": "Send a web scraping API request"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Scrape"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "WebPageDataExtraction",
      "options": [
        {
          "name": "Extract Data From an HTML, Text, or Markdown Document Using AI",
          "value": "WebPageDataExtraction",
          "action": "Extract data from an html text or markdown document using ai",
          "description": "Extracts structured data from any text content. Uses AI, LLM, and custom parsing instructions."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Extraction"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "WebPageScreenshot",
      "options": [
        {
          "name": "Capture Web Page Screenshot",
          "value": "WebPageScreenshot",
          "action": "Capture web page screenshot",
          "description": "Takes a screenshot of a web page given its URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Screenshot"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "AccountInfo",
      "options": [
        {
          "name": "Get Account Info",
          "value": "AccountInfo",
          "action": "Returns information about the current subscription and account usage",
          "description": "AccountInfo"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Account"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"ScrapeWebPage","name":"Scrape Web Page","description":"Scrape a web page given its URL","resource":"Scrape"},{"operation":"ScrapeAPIRequest","name":"Scrape API Request","description":"Send a web scraping API request","resource":"Scrape"},{"operation":"WebPageDataExtraction","name":"Extract Data From an HTML, Text, or Markdown Document Using AI","description":"Extracts structured data from any text content. Uses AI, LLM, and custom parsing instructions.","resource":"Extraction"},{"operation":"WebPageScreenshot","name":"Capture Web Page Screenshot","description":"Takes a screenshot of a web page given its URL","resource":"Screenshot"},{"operation":"AccountInfo","name":"Get Account Info","description":"AccountInfo","resource":"Account"}]

npm_readme:
  # n8n-nodes-scrapfly

  This is an n8n community node. It lets you use ScrapFly in your n8n workflows. [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  [ScrapFly.io](https://scrapfly.io/) provides data collection APIs for web page scraping, screenshots, and AI data extraction at scale. Integrating ScrapFly within a workflow enables extracting web page sources, parsing for structured data, or taking screenshots as binary files.

  ## Installation

  Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation. See examples
  from [Scrapfly documentation](https://scrapfly.io/docs/integration/n8n) to see usage.

  ## Operations
  - __Scrape web page URLs__  
  Scrapes the HTML source of a given web page URL with the support of headless browsers, proxies, and anti-bot bypass.
  - __Extract Data From an HTML, Text, or Markdown Document Using AI__  
  Automatically parse HTML, Text, or Markdown documents using pre-defined templates or LLM prompts to extract structured data.
  - __Capture web page screenshot__  
  Takes a screenshot of a web page as an image file given its URL.
  - __Get account info__  
  Get information about the current account subscription and its usage.

  ## Credentials

  ScrapFly API key is used as a credential key. To get your API key, register for free.

  ## Usage

  For example, regarding usage and predefined workflow templates, please look at [ScrapFly's n8n integration docs](https://scrapfly.io/docs/integration/n8n).

  ## Resources

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

  ## Development 

  To publish a new release, you need repo access and play command like `make bump-version VERSION=0.1.3`

ai_documentation_summary:
  {"purpose":"This n8n community node enables web page scraping, AI-powered data extraction from HTML/Text/Markdown, and web page screenshot capture using ScrapFly's APIs.","capabilities":["Scrape HTML source from web page URLs with headless browser support","Extract structured data from HTML, text, or markdown documents using AI","Capture web page screenshots as binary image files","Retrieve account subscription and usage information"],"authentication":"API key required","commonUseCases":["Automated web data collection for analytics or monitoring","Extracting structured information from websites for database population","Generating visual snapshots of web pages for reports or archives","Parsing unstructured web content using AI templates or prompts"],"limitations":["Community node (may have fewer updates or support compared to official nodes)","Requires ScrapFly account registration and API key setup"],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Binary File"]}


node_type: n8n-nodes-air.air
package_name: n8n-nodes-air
display_name: Air
description: Access, update, and manage assets, boards, custom fields, and tags in your Air workspace
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: bradybrown202
author_github_url: https://github.com/brady-brown20330/
npm_package_name: n8n-nodes-air
npm_version: 1.4.0
community_fetched_at: 2026-03-25T21:19:40.684Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "assets",
      "options": [
        {
          "name": "Assets",
          "value": "assets"
        },
        {
          "name": "Boards",
          "value": "boards"
        },
        {
          "name": "Custom Fields",
          "value": "customFields"
        },
        {
          "name": "Tags",
          "value": "tags"
        },
        {
          "name": "Uploads",
          "value": "uploads"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Apply Custom Field",
          "value": "applyCustomField",
          "action": "Apply Custom Field to Asset",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/customfields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
              "method": "PUT"
            }
          },
          "description": "Apply a custom field to an asset"
        },
        {
          "name": "Apply Tag",
          "value": "applyTag",
          "action": "Apply Tag to Asset",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/versions/${String($parameter[\"versionId\"] || \"\").trim()}/tags`}}",
              "method": "POST"
            }
          },
          "description": "Apply a tag to an asset"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Assets",
          "routing": {
            "request": {
              "url": "/assets",
              "method": "GET"
            }
          },
          "description": "Get Air assets"
        },
        {
          "name": "Get by ID",
          "value": "getById",
          "action": "Get Asset by ID",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}`}}",
              "method": "GET"
            }
          },
          "description": "Get a single asset by ID"
        },
        {
          "name": "List Boards",
          "value": "listBoards",
          "action": "List Parent Boards",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/boards`}}",
              "method": "GET"
            }
          },
          "description": "Get the list of parent boards of an asset"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update Air Asset",
          "routing": {
            "request": {
              "url": "={{`/assets/${String($parameter[\"assetId\"] || \"\").trim()}/versions/${String($parameter[\"versionIdUpdate\"] || \"\").trim()}`}}",
              "method": "PATCH"
            }
          },
          "description": "Update an asset’s details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assets"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "initiateUpload",
      "options": [
        {
          "name": "Complete Upload",
          "value": "completeUpload",
          "action": "Complete Upload",
          "routing": {
            "request": {
              "url": "/uploads/completeMultipart",
              "method": "POST"
            }
          },
          "description": "Finalize multipart upload with part ETags"
        },
        {
          "name": "Initiate Upload",
          "value": "initiateUpload",
          "action": "Initiate Upload",
          "routing": {
            "request": {
              "url": "/uploads",
              "method": "POST"
            }
          },
          "description": "Initiate multipart upload and get signed part URLs"
        },
        {
          "name": "Upload Part",
          "value": "uploadPart",
          "action": "Get Signed URL for Upload Part",
          "routing": {
            "request": {
              "url": "/uploads/uploadPart",
              "method": "POST"
            }
          },
          "description": "Request a signed URL to upload a specific part"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "uploads"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Add Assets",
          "value": "addAssets",
          "action": "Add Assets to Board",
          "routing": {
            "request": {
              "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}/assets`}}",
              "method": "POST"
            }
          },
          "description": "Associate one or more assets with a board"
        },
        {
          "name": "Apply Custom Field",
          "value": "applyCustomField",
          "action": "Apply Custom Field to Board",
          "routing": {
            "request": {
              "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}/customfields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
              "method": "PUT"
            }
          },
          "description": "Set or unset custom field value(s) on a board"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create Air Board",
          "routing": {
            "request": {
              "url": "/boards",
              "method": "POST"
            }
          },
          "description": "Create Air Board"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Boards",
          "routing": {
            "request": {
              "url": "/boards",
              "method": "GET"
            }
          },
          "description": "Get Air Boards"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update Air Board",
          "routing": {
            "request": {
              "url": "={{`/boards/${String($parameter[\"boardId\"] || \"\").trim()}`}}",
              "method": "PATCH"
            }
          },
          "description": "Update a board’s title, description, or parent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "boards"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Add Value",
          "value": "addValue",
          "action": "Add Custom Field Value",
          "routing": {
            "request": {
              "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}/values`}}",
              "method": "POST"
            }
          },
          "description": "Add a new selectable value to a custom field"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create Air Custom Field",
          "routing": {
            "request": {
              "url": "/customFields",
              "method": "POST"
            }
          },
          "description": "Create Air Custom Field"
        },
        {
          "name": "Delete Value",
          "value": "deleteValue",
          "action": "Delete Custom Field Value",
          "routing": {
            "request": {
              "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}/values/${String($parameter[\"valueId\"] || \"\").trim()}`}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a selectable value from a custom field"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Custom Fields",
          "routing": {
            "request": {
              "url": "/customFields",
              "method": "GET"
            }
          },
          "description": "Get Air Custom Fields"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update Air Custom Field",
          "routing": {
            "request": {
              "url": "={{`/customFields/${String($parameter[\"customFieldId\"] || \"\").trim()}`}}",
              "method": "PATCH"
            }
          },
          "description": "Update an existing Air custom field"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "customFields"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get Air Tags",
          "routing": {
            "request": {
              "url": "/tags",
              "method": "GET"
            }
          },
          "description": "Get Air Tags"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create Air Tag",
          "routing": {
            "request": {
              "url": "/tags",
              "method": "POST"
            }
          },
          "description": "Create Air Tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tags"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"applyCustomField","name":"Apply Custom Field","description":"Apply a custom field to an asset","resource":"assets"},{"operation":"applyTag","name":"Apply Tag","description":"Apply a tag to an asset","resource":"assets"},{"operation":"get","name":"Get","description":"Get Air assets","resource":"assets"},{"operation":"getById","name":"Get by ID","description":"Get a single asset by ID","resource":"assets"},{"operation":"listBoards","name":"List Boards","description":"Get the list of parent boards of an asset","resource":"assets"},{"operation":"update","name":"Update","description":"Update an asset’s details","resource":"assets"},{"operation":"completeUpload","name":"Complete Upload","description":"Finalize multipart upload with part ETags","resource":"uploads"},{"operation":"initiateUpload","name":"Initiate Upload","description":"Initiate multipart upload and get signed part URLs","resource":"uploads"},{"operation":"uploadPart","name":"Upload Part","description":"Request a signed URL to upload a specific part","resource":"uploads"},{"operation":"addAssets","name":"Add Assets","description":"Associate one or more assets with a board","resource":"boards"},{"operation":"applyCustomField","name":"Apply Custom Field","description":"Set or unset custom field value(s) on a board","resource":"boards"},{"operation":"create","name":"Create","description":"Create Air Board","resource":"boards"},{"operation":"get","name":"Get","description":"Get Air Boards","resource":"boards"},{"operation":"update","name":"Update","description":"Update a board’s title, description, or parent","resource":"boards"},{"operation":"addValue","name":"Add Value","description":"Add a new selectable value to a custom field","resource":"customFields"},{"operation":"create","name":"Create","description":"Create Air Custom Field","resource":"customFields"},{"operation":"deleteValue","name":"Delete Value","description":"Delete a selectable value from a custom field","resource":"customFields"},{"operation":"get","name":"Get","description":"Get Air Custom Fields","resource":"customFields"},{"operation":"update","name":"Update","description":"Update an existing Air custom field","resource":"customFields"},{"operation":"get","name":"Get","description":"Get Air Tags","resource":"tags"},{"operation":"create","name":"Create","description":"Create Air Tag","resource":"tags"}]

npm_readme:
  # n8n-nodes-air

  A community node for [n8n](https://n8n.io) that lets you programmatically interact with your [Air](https://air.inc) workspaces — upload and manage assets, organize boards, and wire Air into the rest of your stack.

  Air is a Creative Ops system for marketing and creative teams, designed to store, search, approve, and share visual content at scale.:contentReference[oaicite:0]{index=0}

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

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

  ## Installation

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



  ## Operations


  This node gives n8n workflows access to a subset of the [Air API](https://developer.air.inc/). Typical automations include:​:contentReference

  - **Assets**
    - Upload new assets to Air from any n8n source (S3, GDrive, FTP, webhooks, etc.)
    - List / search assets by metadata or keywords
    - Retrieve details for a specific asset
    - Update asset metadata (title, description, tags, custom fields)
    - Optionally delete or archive assets

  - **Boards**
    - List boards in a workspace
    - Get board details
    - Add / remove assets on boards
    - Drive board organization from other systems (e.g. CRM, project tools)

  - **Custom Fields**
    - List Custom Fields
    - Create Custom Field
    - Update Custom Field (name/description)
    - Add New Values
    - Delete Values

  - **Tags**
    - List Tags
    - Create Tags

  - **Uploads**
    - Create Upload URL
    - Complete Upload Part (files > 5 GB)
    - Complete Uplaod (files > 5 GB)

  > ⚠️ The exact list of operations may evolve. Always check the node’s **Resource** and **Operation** dropdowns in the n8n UI for the current surface area.

  ## Credentials

  Air's API uses:

  \- x-api-key

  \- x-air-workspace-id

  ## Compatibility

  _No known compatibility issues._

  ## Usage
      
  ### Basic Upload Workflow

  Steps to upload assets using binary input.

  ### Metadata Enrichment

  Fetch assets, enrich metadata, update Air.

  ### Board Syncing

  Sync boards with data from project tools.

  ## Compatibility

  \- Works with modern n8n 1.x builds.

  \- Best for self-hosted installations.

  ## Resources

  * [Air Application](https://app.air.inc)
  * [Air Developer Documentation](https://developer.air.inc)
  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)


  ## Version history

  _See CHANGELOG.md for version notes._

ai_documentation_summary:
  {"purpose":"This n8n community node enables automated management of Air workspaces, allowing users to upload, organize, and update assets, boards, custom fields, and tags.","capabilities":["Upload assets from various sources (S3, GDrive, FTP, webhooks)","List and search assets by metadata or keywords","Retrieve and update asset metadata (title, description, tags, custom fields)","Delete or archive assets","List and manage boards in a workspace","Add or remove assets from boards","Manage custom fields (list, create, update, add/delete values)","Manage tags (list, create)","Create upload URLs for large files","Complete upload parts for files over 5 GB"],"authentication":"API key required (x-api-key and x-air-workspace-id headers)","commonUseCases":["Automating asset uploads from multiple storage sources","Syncing project boards with external tools like CRM or project management software","Enriching asset metadata before storing in Air","Managing large file uploads (>5GB) through multipart upload process"],"limitations":["Limited to a subset of the Air API (exact operations may evolve)","Best suited for self-hosted n8n installations","Requires manual verification of available operations in the n8n UI"],"relatedNodes":["n8n-nodes-google-drive","n8n-nodes-s3","n8n-nodes-ftp","n8n-nodes-webhook"]}


node_type: @postnitro/n8n-nodes-postnitro-ai.postNitro
package_name: @postnitro/n8n-nodes-postnitro-ai
display_name: PostNitro
description: Interact with PostNitro Embed API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: postnitro
author_github_url: https://github.com/postnitro/n8n-nodes-postnitro-ai.git
npm_package_name: @postnitro/n8n-nodes-postnitro-ai
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:40.685Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "embedPost",
      "options": [
        {
          "name": "Embed Post",
          "value": "embedPost"
        }
      ],
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "aiFromText",
      "options": [
        {
          "name": "Generate Carousel from Text (AI)",
          "value": "aiFromText",
          "action": "Generate carousel using AI from plain text"
        },
        {
          "name": "Generate Carousel from an Article URL (AI)",
          "value": "aiFromArticle",
          "action": "Generate carousel using AI from an Article URL"
        },
        {
          "name": "Generate Carousel from an X (Twitter) Post (AI)",
          "value": "aiFromXPost",
          "action": "Generate carousel using AI from an X (Twitter) post URL"
        },
        {
          "name": "Import Carousel Slides",
          "value": "importSlides",
          "action": "Create carousel by Importing a predefined set of slides content"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Carousel from Text (AI)",
      "value": "aiFromText",
      "action": "Generate carousel using AI from plain text"
    },
    {
      "name": "Generate Carousel from an Article URL (AI)",
      "value": "aiFromArticle",
      "action": "Generate carousel using AI from an Article URL"
    },
    {
      "name": "Generate Carousel from an X (Twitter) Post (AI)",
      "value": "aiFromXPost",
      "action": "Generate carousel using AI from an X (Twitter) post URL"
    },
    {
      "name": "Import Carousel Slides",
      "value": "importSlides",
      "action": "Create carousel by Importing a predefined set of slides content"
    }
  ]

npm_readme:
  # n8n-nodes-postnitro-ai

  This is an n8n community node. It lets you use [PostNitro](https://postnitro.ai) in your n8n workflows.

  PostNitro.ai is a platform for creating and publishing social media carousels and visuals.

  The PostNitro Embed API is an embed-friendly API to generate carousel posts, images, and PDFs using AI or imported slide content to create carousels.


  [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 PostNitro node supports:
  - Generate Carousel from Text (AI)
  - Generate Carousel from Article URL (AI)
  - Generate Carousel from X (Twitter) Post (AI)
  - Import Carousel Slides

  Optional behaviors:
  - Wait for completion: Poll the post status until it completes or fails
  - On complete: Return status only, or fetch the generated output
  - Download output as binary: Attach the generated file(s) to the workflow item

  ## Credentials

  This node requires API credentials for the PostNitro Embed API.

  Prerequisites:
  - A PostNitro account and API key

  Setup in n8n:
  - Create credentials of type `PostNitro Embed API`
  - Fields:
    - API Base URL: Base URL of the PostNitro Embed API (for example, `https://embed-api.postnitro.ai`)
    - API Key: Your API key (sent as `embed-api-key` header)

  ## Compatibility

  - Minimum n8n version: 1.0+
  - Tested with `n8n-workflow` ^1.40.0 and TypeScript ^5.4.0

  ## Usage

  Basic flow:
  1. Choose an operation (AI generation from Text/Article/X, or Import Slides)
  2. Provide required fields such as `templateId`, `brandId`, and (for AI flows) `presetId`
  3. Optionally enable "Wait for Completion" to poll status and then fetch output
  4. If you choose to fetch output, you can return just the JSON or download the file(s) as binary

  Output formats:
  - PDF: Single file
  - PNG: Multiple images (array). If "Download Output as Binary" is enabled, multiple binary properties will be attached (e.g., `data1`, `data2`, ...)

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [PostNitro Embed API documentation](https://postnitro.ai/docs/embed/api)

  ## Version history

  - 0.1.0: Initial release with AI generation (Text/Article/X), Import Slides, status polling, and binary download options.
  - 0.1.1: postType drop down set to CAROUSEL type only
  - 0.1.2: implemented fixes suggested in node review

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with the PostNitro Embed API to generate social media carousels, images, and PDFs using AI or imported slide content.","capabilities":["Generate carousel from text using AI","Generate carousel from article URL using AI","Generate carousel from X (Twitter) post using AI","Import existing carousel slides","Poll post status until completion","Fetch generated output as JSON or binary files","Download output as PDF or PNG images"],"authentication":"API key required (sent as embed-api-key header)","commonUseCases":["Automated social media content creation","Generating carousel posts from blog articles","Creating visual content from text prompts","Batch processing slide decks into carousels"],"limitations":["Limited to carousel post type only","Requires separate PostNitro account and API key setup","Minimum n8n version 1.0+"],"relatedNodes":["HTTP Request","Binary File","JSON"]}


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

updated_at: 2026-03-25 21:19:40
author_name: mudit-nedzo
author_github_url: https://github.com/mudit-nedzo/
npm_package_name: n8n-nodes-nedzo
npm_version: 1.0.18
community_fetched_at: 2026-03-25T21:19:40.686Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "call",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Call",
          "value": "call"
        },
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Workspace",
          "value": "workspace"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Agent",
          "value": "create",
          "action": "Create Agent",
          "description": "Create a new agent within a workspace"
        },
        {
          "name": "Delete Agent",
          "value": "delete",
          "action": "Delete Agent",
          "description": "Delete agent. This action is permanent and can't be undone."
        },
        {
          "name": "Find Agent",
          "value": "find",
          "action": "Find Agent",
          "description": "Find and get an agent details"
        },
        {
          "name": "Update Agent",
          "value": "update",
          "action": "Update Agent",
          "description": "Updates an agent within a workspace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Make Phone Call",
          "value": "create",
          "action": "Make Phone Call",
          "description": "Creates an outbound phone call using Nedzo voice agent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upsert",
      "options": [
        {
          "name": "Create/Update Contact",
          "value": "upsert",
          "action": "Create/Update Contact",
          "description": "Creates or updates a contact in a workspace"
        },
        {
          "name": "Delete Contact",
          "value": "delete",
          "action": "Delete Contact",
          "description": "Deletes a contact in a workspace"
        },
        {
          "name": "Find Contact",
          "value": "find",
          "action": "Find Contact",
          "description": "Gets a contact and all its information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Workspace",
          "value": "create",
          "action": "Create Workspace",
          "description": "Creates a workspace in an account"
        },
        {
          "name": "Delete Workspace",
          "value": "delete",
          "action": "Delete Workspace",
          "description": "Deletes a workspace. This action is permanent and can't be undone."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workspace"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"create","name":"Create Agent","description":"Create a new agent within a workspace","resource":"agent"},{"operation":"delete","name":"Delete Agent","description":"Delete agent. This action is permanent and can't be undone.","resource":"agent"},{"operation":"find","name":"Find Agent","description":"Find and get an agent details","resource":"agent"},{"operation":"update","name":"Update Agent","description":"Updates an agent within a workspace","resource":"agent"},{"operation":"create","name":"Make Phone Call","description":"Creates an outbound phone call using Nedzo voice agent","resource":"call"},{"operation":"upsert","name":"Create/Update Contact","description":"Creates or updates a contact in a workspace","resource":"contact"},{"operation":"delete","name":"Delete Contact","description":"Deletes a contact in a workspace","resource":"contact"},{"operation":"find","name":"Find Contact","description":"Gets a contact and all its information","resource":"contact"},{"operation":"create","name":"Create Workspace","description":"Creates a workspace in an account","resource":"workspace"},{"operation":"delete","name":"Delete Workspace","description":"Deletes a workspace. This action is permanent and can't be undone.","resource":"workspace"}]

npm_readme:
  # n8n-nodes-nedzo

  This is an n8n community node for [Nedzo](https://nedzo.ai) - AI Voice Agent Automation Platform.

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

  ## Installation

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

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-nedzo` in **Enter npm package name**
  4. Agree to the risks and select **Install**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-nedzo
  ```

  ## Credentials

  This node requires Nedzo API credentials. You can obtain an API key from your [Nedzo dashboard](https://app.nedzo.ai).

  ## Operations

  ### Agent
  - **Create Agent** - Create a new agent within a workspace
  - **Find Agent** - Find and get an agent details
  - **Update Agent** - Updates an agent within a workspace
  - **Delete Agent** - Delete agent (permanent)

  ### Call
  - **Make Phone Call** - Creates an outbound phone call using Nedzo voice agent

  ### Contact
  - **Create/Update Contact** - Creates or updates a contact in a workspace
  - **Find Contact** - Gets a contact and all its information
  - **Delete Contact** - Deletes a contact in a workspace

  ### Workspace
  - **Create Workspace** - Creates a workspace in an account
  - **Delete Workspace** - Deletes a workspace (permanent)

  ## Documentation

  For detailed step-by-step instructions on using each operation, see the [full documentation](DOCUMENTATION.md).

  ## Compatibility

  Tested with n8n version 1.0.0 and above.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Nedzo API Documentation](https://docs.nedzo.ai)
  - [Nedzo Website](https://nedzo.ai)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of Nedzo AI Voice Agent features, allowing users to manage agents, contacts, and workspaces, as well as initiate outbound phone calls.","capabilities":["Create a new Nedzo agent","Find and retrieve agent details","Update an existing agent","Delete an agent permanently","Make outbound phone calls using Nedzo voice agents","Create or update contacts in a workspace","Retrieve contact information","Delete contacts from a workspace","Create a new workspace","Delete a workspace permanently"],"authentication":"API key required (obtained from Nedzo dashboard)","commonUseCases":["Automating outbound sales or support calls via AI voice agents","Managing customer contact records within the Nedzo platform","Orchestrating multi-agent workflows for customer interactions","Setting up dedicated workspaces for different client projects"],"limitations":["Requires valid Nedzo API credentials","Agent and workspace deletions are permanent and cannot be undone"],"relatedNodes":["n8n-nodes-core.httpRequest","n8n-nodes-core.webhook"]}


node_type: n8n-nodes-nimbasms.nimbaSMS
package_name: n8n-nodes-nimbasms
display_name: Nimba SMS
description: Send SMS, manage campaigns, and track delivery reports using the Nimba SMS API with ease.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: diallo
author_github_url: https://github.com/nimbasms/
npm_package_name: n8n-nodes-nimbasms
npm_version: 1.0.36
community_fetched_at: 2026-03-25T21:19:40.686Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message",
          "description": "Send and manage SMS"
        },
        {
          "name": "Contact",
          "value": "contact",
          "description": "Manage contacts"
        },
        {
          "name": "Group",
          "value": "group",
          "description": "Manage contact groups"
        },
        {
          "name": "Account",
          "value": "account",
          "description": "Account information and billing"
        },
        {
          "name": "Purchase",
          "value": "purchase",
          "description": "View purchase history and invoices"
        },
        {
          "name": "Sender Name",
          "value": "senderName",
          "description": "Manage sender names"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "action": "Send an SMS",
          "description": "Send a single SMS"
        },
        {
          "name": "Verification OTP",
          "value": "verification",
          "action": "Send OTP verification",
          "description": "Send OTP verification code"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many SMS",
          "description": "Get many SMS history"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a Message",
          "description": "Get a specific message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a contact",
          "description": "Create a new contact"
        },
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all contacts",
          "description": "Get all contacts"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all groups",
          "description": "Get all groups"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getBalance",
      "options": [
        {
          "name": "Get Balance",
          "value": "getBalance",
          "action": "Get account balance",
          "description": "Get account balance"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all purchases",
          "description": "Get all purchase history"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "purchase"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [{"operation":"send","name":"Send","description":"Send a single SMS","resource":"message"},{"operation":"verification","name":"Verification OTP","description":"Send OTP verification code","resource":"message"},{"operation":"getAll","name":"Get Many","description":"Get many SMS history","resource":"message"},{"operation":"get","name":"Get","description":"Get a specific message","resource":"message"},{"operation":"create","name":"Create","description":"Create a new contact","resource":"contact"},{"operation":"getAll","name":"Get All","description":"Get all contacts","resource":"contact"},{"operation":"getAll","name":"Get All","description":"Get all groups","resource":"group"},{"operation":"getBalance","name":"Get Balance","description":"Get account balance","resource":"account"},{"operation":"getAll","name":"Get All","description":"Get all purchase history","resource":"purchase"}]

npm_readme:
  # n8n-nodes-nimbasms

  ![npm version](https://img.shields.io/npm/v/n8n-nodes-nimbasms)
  ![npm downloads](https://img.shields.io/npm/dm/n8n-nodes-nimbasms)
  ![License](https://img.shields.io/badge/license-MIT-green)
  ![n8n Community Node](https://img.shields.io/badge/n8n-community--node-ff6d5a)

  A comprehensive n8n community node that integrates with the Nimba SMS API, enabling you to send SMS messages, manage contacts, create campaigns, and handle billing operations directly from your n8n workflows.

  <p align="center"><img src="examples/automation_example.png" alt="Nimba SMS in n8n"></p>

  ## 🚀 Features

  - ✅ **SMS Operations**: Send individual SMS and retrieve message history
  - ✅ **Contact Management**: Create, update, delete, and organize contacts
  - ✅ **Group Management**: Organize contacts into groups for targeted campaigns
  - ✅ **Account Operations**: Check balance, view SMS packs, and monitor usage
  - ✅ **Purchase Management**: View purchase history and invoices
  - ✅ **Sender Name Management**: Manage custom sender names

  ## 📦 Installation

  ### Option 1: Install via n8n Community Nodes (Recommended)

  1. Open your n8n instance
  2. Go to **Settings > Community Nodes**
  3. Click **Install**
  4. Enter `n8n-nodes-nimbasms`
  5. Click **Install**

  ### Option 2: Manual Installation

  ```bash
  # For self-hosted n8n instances
  npm install n8n-nodes-nimbasms

  # For global n8n installation
  npm install -g n8n-nodes-nimbasms
  ```

  ### Option 3: Docker Installation

  Add to your n8n Docker configuration:

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

  ## 🔑 Credentials Setup

  Before using this node, configure your Nimba SMS API credentials:

  1. In n8n, go to **Credentials** and create **Nimba SMS API** credentials
  2. Fill in the required information:
     - **Service ID (SID)**: Your Nimba SMS Service ID
     - **Secret Token**: Your Nimba SMS Secret Token
     - **Base URL**: Default is `https://api.nimbasms.com`

  > 💡 Get your credentials from your [Nimba SMS Dashboard](https://wwww.nimbasms.com/app)

  ## 📱 Supported Operations

  ### SMS Operations
  - **Send**: Send individual SMS messages
  - **Get Many**: Retrieve SMS history with filtering options
  - **Get**: Get details of a specific SMS message

  ### Contact Operations
  - **Create**: Add new contacts with optional group assignment
  - **Update**: Modify contact information and group memberships

  ### Group Operations
  - **Get**: Retrieve group details

  ### Account Operations
  - **Get Balance**: Check your SMS credit balance

  ### Purchase Operations
  - **Get All**: Retrieve purchase history with filtering options
  - **Get**: Get details of a specific purchase by UID

  ### Sender Name Operations
  - **Get**: Check sender name status
  - **Get Many**: List all your sender names

  ## 🎯 Quick Start Examples

  ### Send a Simple SMS

  ```json
  {
    "resource": "sms",
    "operation": "send",
    "senderName": "YourBrand",
    "contact": "+224123456789",
    "message": "Hello from n8n! Your order has been confirmed."
  }
  ```

  ### Get Purchase History

  ```json
  {
    "resource": "purchase",
    "operation": "getAll",
    "returnAll": false,
    "limit": 10,
    "additionalFields": {
      "payment_type": "Orange",
      "start_date": "2024-01-01T00:00:00Z",
      "end_date": "2024-12-31T23:59:59Z"
    }
  }
  ```

  ### Get Specific Purchase Details

  ```json
  {
    "resource": "purchase",
    "operation": "get",
    "purchaseUid": "07cc67f4-45d6-494b-adac-09b5cbc7e2b5"
  }
  ```

  ### Create a Contact with Group Assignment

  ```json
  {
    "resource": "contact",
    "operation": "create",
    "numero": "+224123456789",
    "additionalFields": {
      "name": "John Doe",
      "groupes_id": "1,2,3"
    }
  }
  ```

  ### Launch an SMS Campaign

  ```json
  {
    "resource": "campaign",
    "operation": "create",
    "name": "Welcome Campaign",
    "senderName": "YourBrand",
    "message": "Welcome to our service! Enjoy 20% off your first order.",
    "groupsIds": "1,2"
  }
  ```

  ### Check Account Balance

  ```json
  {
    "resource": "account",
    "operation": "getBalance"
  }
  ```

  ## 🌍 Regional Support

  Optimized for African markets with:
  - Guinea country code (+224) auto-formatting
  - Support for local phone number formats

  ## 🛠️ Compatibility

  - **n8n Version**: 0.190.0 or later
  - **Node.js Version**: 16.x or later
  - **API Version**: Nimba SMS API v1

  ## 📈 Use Cases

  ### E-commerce
  - Order confirmations and shipping notifications
  - Abandoned cart recovery campaigns
  - Customer support and feedback collection

  ### Marketing
  - Promotional campaigns and special offers
  - Event notifications and reminders
  - Customer segmentation and targeting

  ### Business Operations
  - Employee notifications and alerts
  - Appointment reminders
  - System status updates and monitoring

  ### Customer Service
  - Support ticket updates
  - Account verification codes
  - Service outage notifications

  ## 🤝 Support & Resources

  - **Documentation**: [Nimba SMS API Docs](https://developers.nimbasms.com)
  - **Community**: [n8n Community Forum](https://community.n8n.io)
  - **Issues**: [GitHub Issues](https://github.com/nimbasms/n8n-nodes-nimbasms/issues)
  - **Support**: Contact contact@nimbasms.com for API-related questions

  ## 📄 License

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

  ## 🔗 Links

  - [npm Package](https://www.npmjs.com/package/n8n-nodes-nimbasms)
  - [Nimba SMS Website](https://www.nimbasms.com)
  - [n8n Website](https://n8n.io)

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with the Nimba SMS API to send SMS messages, manage contacts and groups, handle campaigns, and monitor account operations.","capabilities":["Send individual SMS messages","Retrieve SMS message history","Create, update, and delete contacts","Organize contacts into groups","Create and manage SMS campaigns","Check account balance and SMS packs","View purchase history and invoices","Manage custom sender names","Retrieve specific message or purchase details by ID"],"authentication":"API key required (Service ID and Secret Token)","commonUseCases":["E-commerce order confirmations and shipping notifications","Marketing promotional campaigns and special offers","Customer segmentation and targeted messaging","Appointment reminders and system alerts","Support ticket updates and verification codes"],"limitations":["Optimized primarily for African markets with specific country code support","Requires n8n version 0.190.0 or later","Requires Node.js version 16.x or later"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


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-03-25 21:19:40
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-03-25T21:19:40.687Z
ai_summary_generated_at: 2026-03-25 22:51:43
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:
  [{"operation":"list","name":"List","description":"Returns a paginated list of accountant users","resource":"adminUser"},{"operation":"get","name":"Get by ID","description":"Returns a single accountant user by ID","resource":"adminUser"},{"operation":"create","name":"Invite","description":"Invites a new accountant user and returns the created record","resource":"adminUser"},{"operation":"update","name":"Update","description":"Updates an accountant user by ID","resource":"adminUser"},{"operation":"delete","name":"Delete","description":"Deletes an accountant user by ID","resource":"adminUser"},{"operation":"create","name":"Create","description":"Creates a new client for the accountant","resource":"client"},{"operation":"get","name":"Get by ID","description":"Returns a single client object by ID","resource":"client"},{"operation":"list","name":"List","description":"Returns a list of clients","resource":"client"},{"operation":"update","name":"Update","description":"Updates a client by ID","resource":"client"},{"operation":"list","name":"List","description":"Returns a paginated list of client users","resource":"user"},{"operation":"get","name":"Get by ID","description":"Returns a single client user by ID","resource":"user"},{"operation":"create","name":"Invite","description":"Invites a new client user and returns the created record","resource":"user"},{"operation":"update","name":"Update","description":"Updates a client user by ID","resource":"user"},{"operation":"delete","name":"Delete","description":"Deletes a client user by ID","resource":"user"},{"operation":"list","name":"List","description":"Returns a list of workspaces","resource":"workspace"},{"operation":"create","name":"Create","description":"Creates a new workspace and returns the created workspace","resource":"workspace"},{"operation":"get","name":"Get by ID","description":"Returns a single workspace object by ID","resource":"workspace"},{"operation":"update","name":"Update","description":"Updates a workspace by ID","resource":"workspace"},{"operation":"list","name":"List","description":"Returns workspace members for a workspace","resource":"workspaceMember"},{"operation":"create","name":"Create","description":"Creates a new workspace member","resource":"workspaceMember"},{"operation":"delete","name":"Delete","description":"Removes a workspace member from a workspace","resource":"workspaceMember"},{"operation":"list","name":"List","description":"Returns a paginated list of files","resource":"file"},{"operation":"create","name":"Upload","description":"Uploads a new file","resource":"file"},{"operation":"get","name":"Get by ID","description":"Returns a single file object by ID","resource":"file"},{"operation":"delete","name":"Delete","description":"Deletes a file by ID","resource":"file"},{"operation":"update","name":"Update","description":"Updates a file by ID","resource":"file"},{"operation":"list","name":"List","description":"Returns a list of tasks","resource":"task"},{"operation":"get","name":"Get by ID","description":"Returns a single task object by ID","resource":"task"},{"operation":"create","name":"Create","description":"Creates a new task","resource":"task"},{"operation":"update","name":"Update","description":"Updates an existing task","resource":"task"},{"operation":"delete","name":"Delete","description":"Deletes a task by ID","resource":"task"}]

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":"This n8n community node enables users to interact with the Steuerboard API by performing client management operations within n8n workflows.","capabilities":["List all clients in Steuerboard","Retrieve a specific client by ID"],"authentication":"API key via Authorization: Bearer header","commonUseCases":["Automating client data retrieval in n8n workflows","Integrating Steuerboard client management with other automation tasks"],"limitations":["Limited to client listing and retrieval operations only","Requires manual API key creation and management in n8n credentials"],"relatedNodes":["HTTP Request node","Steuerboard API node"]}


