# nodes

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

updated_at: 2026-07-14 14:40:33
author_name: fatjon-gashi1
author_github_url: https://github.com/solution25com/n8n-nodes-shopware.git
npm_package_name: @solution25/n8n-nodes-shopware
npm_version: 2.0.0
community_fetched_at: 2026-07-14T14:40:33.464Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # @solution25/n8n-nodes-shopware

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

  Shopware 6 is a modern, open-source, headless e-commerce platform designed for flexibility and scalability. With this node, you can connect your Shopware store to other services and automate tasks such as product management, order processing, and customer handling.

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

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

  ## Installation

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

  ## Operations

  This node currently supports the following resources and operations:

  | Resource | Get | Get Many | Create | Update | Delete |
  |----------|-----|----------|--------|--------|--------|
  | Product  |  ✓  |     ✓    |    ✓   |    ✓   |    ✓   |
  | Customer |  ✓  |     ✓    |    ✓   |    ✓   |    ✓   |
  | Order    |  ✓  |     ✓    |    ✓   |    ✓   |    ✓   |

  ## Credentials

  Authentication is handled via a [Shopware Integration](https://docs.shopware.com/en/shopware-6-en/settings/system/integrationen), which you can create in the Shopware admin panel.
  Required fields:

  * Domain (your Shopware 6 store URL)

  * Client ID

  * Client Secret

  Once configured, the node uses these credentials to authenticate against the Shopware Admin API.

  ## Compatibility

  n8n version: tested with the latest n8n release (keep n8n updated for best compatibility).

  Shopware version: compatible with Shopware 6.6.x and 6.7.x

  ## Usage

  Here are a few examples of what you can do with this node:

  * Automatically create a new customer in Shopware when a signup happens in another system.

  * Sync products between Shopware and an external inventory tool.

  * Fetch new orders and send notifications to Slack, email, or other channels.

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

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Shopware 6 Admin API reference](https://shopware.stoplight.io/docs/admin-api/twpxvnspkg3yu-quick-start-guide)
  * [Shopware documentation](https://docs.shopware.com)
  * [Shopware official site](https://www.shopware.com)

  ## Version history

  | Version         | Description                                                              |
  | --------------- | ------------------------------------------------------------------------ |
  | **0.1.0-alpha** | Pre-release with basic product, customer, and order support.             |
  | **1.0.0**       | Initial release with full product resource support.                      |
  | **1.1.0**       | Added full support for customer resource.                                |
  | **1.2.0**       | Added full support for order resource.                                   |
  | **1.2.1**       | Fixed order creation using node-created customers.                       |
  | **1.3.0**       | Added advanced filtering for all resources.                              |
  | **1.3.1**       | Added base unit testing for all resources.                               |
  | **1.4.0**       | Added full support for categories resource.                              |
  | **1.4.1**       | Removed deprecated transport method, options and types.                  |
  | **1.4.2**       | Fixed missing credentials in package definition and resolved icon paths. |
  | **1.4.3**       | Added credentials explicitly to the base versioned node.                 |
  | **1.4.4**       | Added line-items, currency, deliveries and transactions data to order. Changed node icon format to SVG.|
  | **1.4.5**       | Removed debug statements from code.                                        |
  | **2.0.0**       | Large refactor, validation fixes, correct tax calculations and rounding, significant optimizations, media upload for products, more associations for resources, better error handling and surfacing, line item pricing fix, order delivery versioning fix, complete fields for addresses, filters fix.                                        |

ai_documentation_summary:
  {"purpose":"This n8n community node enables full CRUD operations (Create, Read, Update, Delete) on Shopware 6 resources including Products, Customers, Orders, and Categories.","capabilities":["Create new products","Update existing products","Delete products","Retrieve single or multiple products","Create new customers","Update existing customers","Delete customers","Retrieve single or multiple customers","Create new orders","Update existing orders"],"authentication":"Shopware Integration credentials (Domain, Client ID, Client Secret)","commonUseCases":["Automatically create customers in Shopware when signups occur in other systems","Sync products between Shopware and external inventory tools","Fetch new orders and trigger notifications to Slack, email, or other channels","Automate order processing workflows"],"limitations":["Requires a Shopware 6.6.x or 6.7.x installation","Requires manual setup of Shopware Integration credentials in the Shopware admin panel","Community node (not official n8n node)"],"relatedNodes":["Shopware API","Shopware Integration","Shopware Admin API"]}


node_type: n8n-nodes-contentdrips.contentdrips
package_name: n8n-nodes-contentdrips
display_name: Contentdrips
description: Create carousels and static graphics using the Contentdrips API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: contentdrips
author_github_url: https://github.com/CONTENTDRIPS/
npm_package_name: n8n-nodes-contentdrips
npm_version: 1.3.2
community_fetched_at: 2026-07-14T14:40:33.465Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "graphic",
      "options": [
        {
          "name": "Graphic",
          "value": "graphic",
          "description": "Generate static graphics"
        },
        {
          "name": "Carousel",
          "value": "carousel",
          "description": "Generate carousel content"
        },
        {
          "name": "Job",
          "value": "job",
          "description": "Check job status and retrieve results"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateGraphic",
      "options": [
        {
          "name": "Generate",
          "value": "generateGraphic",
          "action": "Start creating a graphic and get a job ID to check later",
          "description": "Start creating a graphic and get a job ID to check later"
        },
        {
          "name": "1-Click Generate",
          "value": "generateGraphicSync",
          "action": "Create a graphic in one step - we handle everything automatically",
          "description": "Create a graphic in one step - we handle everything automatically"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "graphic"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateCarousel",
      "options": [
        {
          "name": "Generate",
          "value": "generateCarousel",
          "action": "Start creating a carousel and get a job ID to check later",
          "description": "Start creating a carousel and get a job ID to check later"
        },
        {
          "name": "1-Click Generate",
          "value": "generateCarouselSync",
          "action": "Create a carousel in one step - we handle everything automatically",
          "description": "Create a carousel in one step - we handle everything automatically"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "carousel"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "checkJobStatus",
      "options": [
        {
          "name": "Check Status",
          "value": "checkJobStatus",
          "action": "Check the status of a processing job",
          "description": "Check the status of a processing job"
        },
        {
          "name": "Get Result",
          "value": "getJobResult",
          "action": "Get the result of a completed job",
          "description": "Get the result of a completed job"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "job"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate",
      "value": "generateGraphic",
      "action": "Start creating a graphic and get a job ID to check later",
      "description": "Start creating a graphic and get a job ID to check later",
      "resource": "graphic"
    },
    {
      "name": "1-Click Generate",
      "value": "generateGraphicSync",
      "action": "Create a graphic in one step - we handle everything automatically",
      "description": "Create a graphic in one step - we handle everything automatically",
      "resource": "graphic"
    },
    {
      "name": "Generate",
      "value": "generateCarousel",
      "action": "Start creating a carousel and get a job ID to check later",
      "description": "Start creating a carousel and get a job ID to check later",
      "resource": "carousel"
    },
    {
      "name": "1-Click Generate",
      "value": "generateCarouselSync",
      "action": "Create a carousel in one step - we handle everything automatically",
      "description": "Create a carousel in one step - we handle everything automatically",
      "resource": "carousel"
    },
    {
      "name": "Check Status",
      "value": "checkJobStatus",
      "action": "Check the status of a processing job",
      "description": "Check the status of a processing job",
      "resource": "job"
    },
    {
      "name": "Get Result",
      "value": "getJobResult",
      "action": "Get the result of a completed job",
      "description": "Get the result of a completed job",
      "resource": "job"
    }
  ]

npm_readme:
  # n8n-nodes-contentdrips

  An n8n community node for the [Contentdrips API](https://app.contentdrips.com) that enables you to create carousels and static graphics for social media content automation.

  ## Features

  - **Generate Static Graphics**: Create PNG or PDF graphics from templates
  - **Generate Carousels**: Create multi-slide carousels with intro, content slides, and ending slides
  - **Template-based**: Use your existing Contentdrips templates
  - **Content Updates**: Update text and images using labeled elements
  - **Branding Support**: Apply consistent branding (name, handle, bio, website, avatar)
  - **Job Management**: Check status and retrieve results from asynchronous jobs

  ## Installation

  ### n8n Cloud

  For n8n Cloud users:

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

  The node will be automatically installed and available in your workflow editor.

  ### Self-hosted n8n

  For self-hosted installations, you have several options:

  #### Option 1: Community Nodes UI (Easiest)
  1. Go to **Settings > Community Nodes** in your n8n instance
  2. Click **Install a community node**
  3. Enter `n8n-nodes-contentdrips`
  4. Click **Install**

  #### Option 2: Docker Compose

  Add the following to your `docker-compose.yml` environment variables:
  ```yaml
  environment:
    - NODE_FUNCTION_ALLOW_EXTERNAL=*
  ```

  Then modify your Dockerfile or create a custom image:
  ```dockerfile
  FROM n8nio/n8n:latest
  USER root
  RUN npm install -g n8n-nodes-contentdrips
  USER node
  ```

  #### Option 3: Manual Installation

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

  # Install the node
  npm install n8n-nodes-contentdrips

  # Restart n8n
  ```

  ## Prerequisites

  1. **Contentdrips Account**: Sign up at [Contentdrips](https://app.contentdrips.com)
  2. **API Token**: Generate your API token from [API Management](https://app.contentdrips.com/api-management)
  3. **Templates**: Create and configure templates in Contentdrips editor

  ## Configuration

  ### Credentials Setup

  1. In n8n, go to **Credentials** 
  2. Click **+ Add Credential**
  3. Search for **Contentdrips API**
  4. Enter your API token from Contentdrips

  ### Template Preparation

  1. Create templates in Contentdrips editor
  2. Add labels to text boxes and images you want to update:
     - Right-click on element → "Add Label" → Enter label name
  3. Note your template ID from the URL or template settings

  ## Operations

  ### Generate Graphic

  Create static graphics (PNG/PDF) from templates:

  ```json
  {
    "operation": "generateGraphic",
    "templateId": "126130",
    "output": "png",
    "branding": {
      "name": "Jane Doe",
      "handle": "@janedoe",
      "bio": "Content Creator",
      "website_url": "https://janedoe.com",
      "avatar_image_url": "https://example.com/avatar.jpg"
    },
    "contentUpdates": [
      {
        "type": "textbox",
        "label": "title_1", 
        "value": "New Post Title"
      }
    ]
  }
  ```

  ### Generate Carousel

  Create multi-slide carousels:

  ```json
  {
    "operation": "generateCarousel",
    "templateId": "126130",
    "output": "pdf",
    "carousel": {
      "intro_slide": {
        "heading": "Start Here",
        "description": "Tips that work",
        "image": "https://example.com/intro.jpg"
      },
      "slides": [
        {
          "heading": "Tip 1",
          "description": "Post daily content",
          "image": "https://example.com/slide1.jpg"
        }
      ],
      "ending_slide": {
        "heading": "Follow for more", 
        "description": "New tips weekly",
        "image": "https://example.com/end.jpg"
      }
    }
  }
  ```

  ### Check Job Status

  Monitor background job processing:

  ```json
  {
    "operation": "checkJobStatus",
    "jobId": "15bf4a39-876a-4780-aaa9-4be6fe2c61b4"
  }
  ```

  ### Get Job Result

  Retrieve completed job results:

  ```json
  {
    "operation": "getJobResult", 
    "jobId": "15bf4a39-876a-4780-aaa9-4be6fe2c61b4"
  }
  ```

  ## Example Workflows

  ### Blog to Carousel Automation

  1. **RSS Trigger** → Get new blog posts
  2. **Code Node** → Extract title, summary, and key points
  3. **Contentdrips Node** → Generate carousel with:
     - Intro slide: Blog title and summary
     - Content slides: Key points
     - Ending slide: Call-to-action

  ### Social Media Graphics

  1. **Schedule Trigger** → Daily at 9 AM
  2. **Google Sheets** → Get daily quote and image
  3. **Contentdrips Node** → Generate quote graphic
  4. **Social Media Node** → Post to platforms

  ## API Response Examples

  ### Successful Job Creation
  ```json
  {
    "job_id": "15bf4a39-876a-4780-aaa9-4be6fe2c61b4",
    "status": "queued",
    "message": "Job has been queued for processing",
    "estimated_time": "2-5 minutes"
  }
  ```

  ### Completed Job Result
  ```json
  {
    "date": "2025-06-02T16:31:18.633Z",
    "type": "carousel", 
    "export_url": "https://contentdrips2.s3.amazonaws.com/server/104017/uploads/carousel-output.pdf"
  }
  ```

  ## Troubleshooting

  ### Common Issues

  1. **Authentication Error**: Verify your API token in credentials
  2. **Template Not Found**: Check template ID exists and is accessible
  3. **Label Not Found**: Ensure labels are properly set in template editor
  4. **Job Timeout**: Large carousels may take longer to process

  ### Error Handling

  The node supports n8n's **Continue on Fail** option. When enabled, errors are returned as data instead of stopping the workflow.

  ## Support

  - **Documentation**: [Contentdrips API Docs](https://app.contentdrips.com/api-management)
  - **GitHub Issues**: Report bugs and feature requests
  - **Community Forum**: Get help from other users

  ## License

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

  ## Contributing

  Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.

ai_documentation_summary:
  {"purpose":"A community n8n node that creates social media carousels and static graphics (PNG/PDF) using the Contentdrips API, supporting template-based design with labeled content updates and job status management.","capabilities":["Generate static PNG graphics","Generate static PDF graphics","Generate multi-slide carousels with intro, content, and ending slides","Apply branding (name, handle, bio, website, avatar)","Update text and images using labeled template elements","Check status of asynchronous jobs","Retrieve completed job results with export URLs"],"authentication":"API key required (Contentdrips API token)","commonUseCases":["Automating social media post creation from RSS feeds","Generating daily quote graphics from scheduled data","Creating carousel content from blog posts or key points","Batch producing branded social media assets"],"limitations":["Requires pre-configured templates in Contentdrips editor","Labels must be manually added to template elements","Large carousels may experience job timeouts due to processing time","Template ID must be known and accessible"],"relatedNodes":["n8n-nodes-base.code","n8n-nodes-base.rss","n8n-nodes-base.schedule","n8n-nodes-base.googleSheets","n8n-nodes-base.httpRequest"]}


node_type: @lusha-org/n8n-nodes-lusha.lusha
package_name: @lusha-org/n8n-nodes-lusha
display_name: Lusha
description: Lusha API integration for contact and company enrichment with prospecting
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: lusha-oss
author_github_url: https://github.com/lusha-oss/n8n-nodes-lusha.git
npm_package_name: @lusha-org/n8n-nodes-lusha
npm_version: 1.0.10
community_fetched_at: 2026-07-14T14:40:33.466Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Company",
          "value": "company"
        }
      ],
      "description": "The resource to operate on",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "enrichSingle",
      "options": [
        {
          "name": "Enrich Single",
          "value": "enrichSingle",
          "action": "Enrich a single contact",
          "description": "Enrich a single contact with additional information"
        },
        {
          "name": "Enrich Bulk",
          "value": "enrichBulk",
          "action": "Enrich contacts in bulk",
          "description": "Enrich multiple contacts with additional information"
        },
        {
          "name": "Search Contacts",
          "value": "searchContacts",
          "action": "Search for contacts",
          "description": "Search and discover new contacts based on criteria"
        },
        {
          "name": "Enrich from Search",
          "value": "enrichFromSearch",
          "action": "Enrich contacts from search results",
          "description": "Enrich contacts found through a previous search"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "enrichSingle",
      "options": [
        {
          "name": "Enrich Single",
          "value": "enrichSingle",
          "action": "Enrich a single company",
          "description": "Enrich a single company with additional information"
        },
        {
          "name": "Enrich Bulk",
          "value": "enrichBulk",
          "action": "Enrich companies in bulk",
          "description": "Enrich multiple companies with additional information"
        },
        {
          "name": "Search Companies",
          "value": "searchCompanies",
          "action": "Search for companies",
          "description": "Search and discover new companies based on criteria"
        },
        {
          "name": "Enrich from Search",
          "value": "enrichFromSearch",
          "action": "Enrich companies from search results",
          "description": "Enrich companies found through a previous search"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Enrich Single",
      "value": "enrichSingle",
      "action": "Enrich a single contact",
      "description": "Enrich a single contact with additional information",
      "resource": "contact"
    },
    {
      "name": "Enrich Bulk",
      "value": "enrichBulk",
      "action": "Enrich contacts in bulk",
      "description": "Enrich multiple contacts with additional information",
      "resource": "contact"
    },
    {
      "name": "Search Contacts",
      "value": "searchContacts",
      "action": "Search for contacts",
      "description": "Search and discover new contacts based on criteria",
      "resource": "contact"
    },
    {
      "name": "Enrich from Search",
      "value": "enrichFromSearch",
      "action": "Enrich contacts from search results",
      "description": "Enrich contacts found through a previous search",
      "resource": "contact"
    },
    {
      "name": "Enrich Single",
      "value": "enrichSingle",
      "action": "Enrich a single company",
      "description": "Enrich a single company with additional information",
      "resource": "company"
    },
    {
      "name": "Enrich Bulk",
      "value": "enrichBulk",
      "action": "Enrich companies in bulk",
      "description": "Enrich multiple companies with additional information",
      "resource": "company"
    },
    {
      "name": "Search Companies",
      "value": "searchCompanies",
      "action": "Search for companies",
      "description": "Search and discover new companies based on criteria",
      "resource": "company"
    },
    {
      "name": "Enrich from Search",
      "value": "enrichFromSearch",
      "action": "Enrich companies from search results",
      "description": "Enrich companies found through a previous search",
      "resource": "company"
    }
  ]

npm_readme:
  # n8n-nodes-lusha

  This is an n8n community node that integrates [Lusha](https://www.lusha.com/) with n8n, enabling contact and company data enrichment directly in your workflows.

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

  ## Features

  This node provides comprehensive access to Lusha's API capabilities:

  ### 🧑‍💼 Contact Operations

  - **Single Contact Enrichment** - Find contact details using name & company, email, or LinkedIn URL
  - **Bulk Contact Enrichment** - Enrich up to 100 contacts in a single operation
  - **Contact Prospecting** - Search for contacts with advanced filters
  - **Smart Enrichment** - Enrich all, new, or specific contacts from search results

  ### 🏢 Company Operations

  - **Single Company Enrichment** - Get company details using domain or company name
  - **Bulk Company Enrichment** - Enrich up to 100 companies at once
  - **Company Prospecting** - Search for companies with comprehensive filters
  - **Flexible Selection** - Enrich all or specific companies from search results

  ### 🔍 Advanced Filtering

  - **Contact Filters**: Departments, seniority levels, job titles, locations, existing data points
  - **Company Filters**: Industries, sub-industries, employee count, revenue ranges, technologies, locations, SIC/NAICS codes
  - **Smart Pagination**: Navigate through large result sets efficiently

  ## Installation

  ### Community Node (Recommended)

  In your n8n instance:

  1. Go to **Settings** > **Community Nodes**
  2. Click **Install a community node**
  3. Enter: `n8n-nodes-lusha`
  4. Click **Install**

  ### Manual Installation

  ```bash
  # Navigate to your n8n custom nodes folder
  cd ~/.n8n/custom

  # Clone this repository
  git clone https://github.com/lusha-oss/n8n-nodes-lusha.git

  # Install dependencies
  cd n8n-nodes-lusha
  npm install

  # Build the node
  npm run build

  # Restart n8n
  ```

  ## Credentials

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

  1. Sign up for a [Lusha account](https://www.lusha.com/)
  2. Navigate to Settings > API
  3. Generate your API key
  4. In n8n, add new Lusha credentials with your API key

  ## Usage Examples

  ### Example 1: Enrich Single Contact

  Find contact information using a person's name and company:

  - **Resource**: Contact
  - **Operation**: Enrich Single
  - **Search By**: Name and Company
  - **First Name**: John
  - **Last Name**: Doe
  - **Company Name**: Acme Corp

  ### Example 2: Bulk Company Enrichment

  Enrich multiple companies from a spreadsheet:

  - **Resource**: Company
  - **Operation**: Enrich Bulk
  - **Companies JSON**: Connect from previous node or provide JSON array

  ### Example 3: Contact Prospecting

  Search for sales leaders in technology companies:

  - **Resource**: Prospecting
  - **Operation**: Search Contacts
  - **Departments**: Sales
  - **Seniority**: Director, Vice President, C-Suite
  - **Industries**: Technology

  ### Example 4: Enrich Search Results

  After running a prospecting search:

  - **Resource**: Prospecting
  - **Operation**: Enrich Contacts
  - **Selection Type**: All Contacts
  - **Request ID**: (automatically passed from search)

  ## Parameters

  ### Contact Enrichment

  - **Search Methods**: Name & Company, Email, LinkedIn URL
  - **Filter Options**: All data, emails only, phones only

  ### Company Enrichment

  - **Search Methods**: Domain, Company Name
  - **Bulk Format**: JSON array with company identifiers

  ### Prospecting Filters

  #### Contact Filters

  - **Job Titles**: Free text, comma-separated
  - **Departments**: Dropdown selection (Sales, Marketing, IT, etc.)
  - **Seniority**: Levels from Intern to Founder
  - **Locations**: Countries, states, cities
  - **Data Points**: Filter by available contact information

  #### Company Filters

  - **Industries**: Main industry categories
  - **Sub-Industries**: Specific industry segments
  - **Employee Count**: Size ranges from 1-10 to 10,000+
  - **Revenue**: Min/Max revenue selection
  - **Locations**: Company headquarters
  - **Technologies**: Tech stack used
  - **Codes**: SIC and NAICS classifications

  ## Error Handling

  The node includes comprehensive error handling:

  - Invalid API credentials
  - Rate limiting responses
  - Invalid input data
  - Empty results handling
  - Network timeouts

  ## Rate Limits

  Please be aware of Lusha's API rate limits:

  - Check your plan's specific limits
  - The node handles responses appropriately
  - Consider adding delays for large bulk operations

  ## Support

  - **Issues**: [GitHub Issues](https://github.com/yourusername/n8n-nodes-lusha/issues)
  - **n8n Community**: [n8n Community Forum](https://community.n8n.io)
  - **Lusha API Docs**: [Lusha API Documentation](https://docs.lusha.com/apis)

  ## License

  [MIT](LICENSE.md)

  ## Contributing

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

  ## Version History

  ### 1.0.0

  - Initial release
  - Full contact and company enrichment
  - Prospecting search and enrichment
  - Bulk operations support
  - Advanced filtering options

  ## Credits

  Created by [Your Name]
  Based on the Lusha API v2

ai_documentation_summary:
  {"purpose":"Integrates Lusha API with n8n to enrich contact and company data, perform prospecting searches, and filter results for sales and marketing workflows.","capabilities":["Single contact enrichment by name, company, email, or LinkedIn URL","Bulk contact enrichment (up to 100 contacts)","Contact prospecting with advanced filters","Smart enrichment of search results (all or specific)","Single company enrichment by domain or name","Bulk company enrichment (up to 100 companies)","Company prospecting with comprehensive filters","Filtering by job titles, departments, seniority, locations, industries, employee count, revenue, and technologies","Smart pagination for large result sets"],"authentication":"API key required","commonUseCases":["Sales prospecting by finding decision-makers in target companies","Enriching lead lists with email addresses and phone numbers","Validating existing contact data for accuracy","Finding contacts in specific departments (e.g., Sales, Marketing) at target companies","Bulk updating company details for a database"],"limitations":["Bulk operations are limited to 100 items per request","Subject to Lusha API rate limits","Requires a paid Lusha account for API access","Manual installation requires npm build step"],"relatedNodes":["Spreadsheet","JSON","Delay","HTTP Request","Split In Batches"]}


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-07-14 14:40:33
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-07-14T14:40:33.467Z
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:
  [
    {
      "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",
      "resource": "company"
    },
    {
      "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",
      "resource": "company"
    },
    {
      "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",
      "resource": "company"
    },
    {
      "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",
      "resource": "company"
    },
    {
      "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",
      "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: @local-falcon/n8n-nodes-localfalcon.localFalcon
package_name: @local-falcon/n8n-nodes-localfalcon
display_name: Local Falcon
description: Interact with Local Falcon API for local SEO rank tracking
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: localfalcondev
author_github_url: https://github.com/local-falcon/n8n-nodes-localfalcon.git
npm_package_name: @local-falcon/n8n-nodes-localfalcon
npm_version: 1.1.0
community_fetched_at: 2026-07-14T14:40:33.468Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "scan",
      "options": [
        {
          "name": "Scans",
          "value": "scan"
        },
        {
          "name": "Campaigns",
          "value": "campaign"
        },
        {
          "name": "Locations",
          "value": "location"
        },
        {
          "name": "Reports",
          "value": "report"
        },
        {
          "name": "Scheduled Scans",
          "value": "scheduledScan"
        },
        {
          "name": "Falcon Guard",
          "value": "falconGuard"
        },
        {
          "name": "Reviews Analysis",
          "value": "reviewsAnalysis"
        },
        {
          "name": "Account",
          "value": "account"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listReports",
      "options": [
        {
          "name": "List Reports",
          "value": "listReports",
          "action": "List scan reports",
          "description": "List all scan reports"
        },
        {
          "name": "Get Report",
          "value": "getReport",
          "action": "Get a scan report",
          "description": "Get scan report by key"
        },
        {
          "name": "Run",
          "value": "run",
          "action": "Run a scan",
          "description": "Run a new scan"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scan"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List campaigns",
          "description": "List all campaigns"
        },
        {
          "name": "Get Report",
          "value": "getReport",
          "action": "Get campaign report",
          "description": "Get campaign report"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a campaign",
          "description": "Create a new campaign"
        },
        {
          "name": "Run",
          "value": "run",
          "action": "Run a campaign",
          "description": "Run a campaign"
        },
        {
          "name": "Pause",
          "value": "pause",
          "action": "Pause a campaign",
          "description": "Pause a campaign"
        },
        {
          "name": "Resume",
          "value": "resume",
          "action": "Resume a campaign",
          "description": "Resume a campaign"
        },
        {
          "name": "Reactivate",
          "value": "reactivate",
          "action": "Reactivate a campaign",
          "description": "Reactivate a campaign"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "campaign"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List locations",
          "description": "List all locations"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search locations",
          "description": "Search for locations"
        },
        {
          "name": "Save",
          "value": "save",
          "action": "Save a location",
          "description": "Save a location"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "location"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listCompetitor",
      "options": [
        {
          "name": "List Competitor Reports",
          "value": "listCompetitor",
          "action": "List Competitor Reports",
          "description": "Get the list of competitor reports"
        },
        {
          "name": "Get Competitor",
          "value": "getCompetitor",
          "action": "Get competitor report",
          "description": "Get competitor report"
        },
        {
          "name": "List Trend Reports",
          "value": "listTrend",
          "action": "List Trend Reports",
          "description": "Get the list of Trend reports"
        },
        {
          "name": "Get Trend",
          "value": "getTrend",
          "action": "Get trend report",
          "description": "Get trend report"
        },
        {
          "name": "List Keyword Reports",
          "value": "listKeyword",
          "action": "List Keyword Reports",
          "description": "Get the list of Keyword reports"
        },
        {
          "name": "Get Keyword",
          "value": "getKeyword",
          "action": "Get keyword report",
          "description": "Get keyword report"
        },
        {
          "name": "List Location Reports",
          "value": "listLocation",
          "action": "List Location Reports",
          "description": "Get the list of Location reports"
        },
        {
          "name": "Get Location",
          "value": "getLocation",
          "action": "Get location report",
          "description": "Get location report"
        },
        {
          "name": "Get Reviews",
          "value": "getReviews",
          "action": "Get reviews report",
          "description": "Get reviews analysis report"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "report"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listReviews",
      "options": [
        {
          "name": "List Reviews Analysis",
          "value": "listReviews",
          "action": "List Reviews Analysis",
          "description": "Get the list of Reviews Analysis reports"
        },
        {
          "name": "Get Reviews Report",
          "value": "getReviews",
          "action": "Get reviews analysis report",
          "description": "Get reviews analysis report"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "reviewsAnalysis"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List scheduled scans",
          "description": "List all scheduled scans"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scheduledScan"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listLocations",
      "options": [
        {
          "name": "List Locations",
          "value": "listLocations",
          "action": "List Falcon Guard Locations",
          "description": "List all Falcon Guard protected locations"
        },
        {
          "name": "Get Falcon Guard Report",
          "value": "getGuardReport",
          "action": "Get specific Falcon Guard Report",
          "description": "Get specific Falcon Guard Report"
        },
        {
          "name": "Add Location",
          "value": "addLocation",
          "action": "Add location to Falcon Guard",
          "description": "Add location to Falcon Guard"
        },
        {
          "name": "Pause",
          "value": "pause",
          "action": "Pause Falcon Guard",
          "description": "Pause Falcon Guard for location"
        },
        {
          "name": "Resume",
          "value": "resume",
          "action": "Resume Falcon Guard",
          "description": "Resume Falcon Guard for location"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete from Falcon Guard",
          "description": "Delete location from Falcon Guard"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "falconGuard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getInfo",
      "options": [
        {
          "name": "Get Info",
          "value": "getInfo",
          "action": "Get account info",
          "description": "Get account information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "List Reports",
      "value": "listReports",
      "action": "List scan reports",
      "description": "List all scan reports",
      "resource": "scan"
    },
    {
      "name": "Get Report",
      "value": "getReport",
      "action": "Get a scan report",
      "description": "Get scan report by key",
      "resource": "scan"
    },
    {
      "name": "Run",
      "value": "run",
      "action": "Run a scan",
      "description": "Run a new scan",
      "resource": "scan"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List campaigns",
      "description": "List all campaigns",
      "resource": "campaign"
    },
    {
      "name": "Get Report",
      "value": "getReport",
      "action": "Get campaign report",
      "description": "Get campaign report",
      "resource": "campaign"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a campaign",
      "description": "Create a new campaign",
      "resource": "campaign"
    },
    {
      "name": "Run",
      "value": "run",
      "action": "Run a campaign",
      "description": "Run a campaign",
      "resource": "campaign"
    },
    {
      "name": "Pause",
      "value": "pause",
      "action": "Pause a campaign",
      "description": "Pause a campaign",
      "resource": "campaign"
    },
    {
      "name": "Resume",
      "value": "resume",
      "action": "Resume a campaign",
      "description": "Resume a campaign",
      "resource": "campaign"
    },
    {
      "name": "Reactivate",
      "value": "reactivate",
      "action": "Reactivate a campaign",
      "description": "Reactivate a campaign",
      "resource": "campaign"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List locations",
      "description": "List all locations",
      "resource": "location"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search locations",
      "description": "Search for locations",
      "resource": "location"
    },
    {
      "name": "Save",
      "value": "save",
      "action": "Save a location",
      "description": "Save a location",
      "resource": "location"
    },
    {
      "name": "List Competitor Reports",
      "value": "listCompetitor",
      "action": "List Competitor Reports",
      "description": "Get the list of competitor reports",
      "resource": "report"
    },
    {
      "name": "Get Competitor",
      "value": "getCompetitor",
      "action": "Get competitor report",
      "description": "Get competitor report",
      "resource": "report"
    },
    {
      "name": "List Trend Reports",
      "value": "listTrend",
      "action": "List Trend Reports",
      "description": "Get the list of Trend reports",
      "resource": "report"
    },
    {
      "name": "Get Trend",
      "value": "getTrend",
      "action": "Get trend report",
      "description": "Get trend report",
      "resource": "report"
    },
    {
      "name": "List Keyword Reports",
      "value": "listKeyword",
      "action": "List Keyword Reports",
      "description": "Get the list of Keyword reports",
      "resource": "report"
    },
    {
      "name": "Get Keyword",
      "value": "getKeyword",
      "action": "Get keyword report",
      "description": "Get keyword report",
      "resource": "report"
    },
    {
      "name": "List Location Reports",
      "value": "listLocation",
      "action": "List Location Reports",
      "description": "Get the list of Location reports",
      "resource": "report"
    },
    {
      "name": "Get Location",
      "value": "getLocation",
      "action": "Get location report",
      "description": "Get location report",
      "resource": "report"
    },
    {
      "name": "Get Reviews",
      "value": "getReviews",
      "action": "Get reviews report",
      "description": "Get reviews analysis report",
      "resource": "report"
    },
    {
      "name": "List Reviews Analysis",
      "value": "listReviews",
      "action": "List Reviews Analysis",
      "description": "Get the list of Reviews Analysis reports",
      "resource": "reviewsAnalysis"
    },
    {
      "name": "Get Reviews Report",
      "value": "getReviews",
      "action": "Get reviews analysis report",
      "description": "Get reviews analysis report",
      "resource": "reviewsAnalysis"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List scheduled scans",
      "description": "List all scheduled scans",
      "resource": "scheduledScan"
    },
    {
      "name": "List Locations",
      "value": "listLocations",
      "action": "List Falcon Guard Locations",
      "description": "List all Falcon Guard protected locations",
      "resource": "falconGuard"
    },
    {
      "name": "Get Falcon Guard Report",
      "value": "getGuardReport",
      "action": "Get specific Falcon Guard Report",
      "description": "Get specific Falcon Guard Report",
      "resource": "falconGuard"
    },
    {
      "name": "Add Location",
      "value": "addLocation",
      "action": "Add location to Falcon Guard",
      "description": "Add location to Falcon Guard",
      "resource": "falconGuard"
    },
    {
      "name": "Pause",
      "value": "pause",
      "action": "Pause Falcon Guard",
      "description": "Pause Falcon Guard for location",
      "resource": "falconGuard"
    },
    {
      "name": "Resume",
      "value": "resume",
      "action": "Resume Falcon Guard",
      "description": "Resume Falcon Guard for location",
      "resource": "falconGuard"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete from Falcon Guard",
      "description": "Delete location from Falcon Guard",
      "resource": "falconGuard"
    },
    {
      "name": "Get Info",
      "value": "getInfo",
      "action": "Get account info",
      "description": "Get account information",
      "resource": "account"
    }
  ]

npm_readme:
  # n8n-nodes-localfalcon

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

  Local Falcon is a local SEO rank tracking platform that helps businesses monitor their visibility in Google Maps, Apple Maps, and other local search platforms.

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

  ### Manual Installation

  1. Install the package in your n8n installation:
  ```bash
  npm install n8n-nodes-localfalcon
  ```

  2. Restart your n8n instance

  3. The Local Falcon node will now be available in the nodes panel

  ## Operations

  This node supports the following resources and operations:

  ### Scan
  - **List Reports**: List all scan reports with filtering
  - **Get Report**: Retrieve scan report by key
  - **Run**: Execute a new scan


  ### Campaign
  - **List**: List all campaigns
  - **Get Report**: Get campaign report
  - **Create**: Create a new automated campaign
  - **Run**: Manually run a campaign
  - **Pause**: Pause a campaign
  - **Resume**: Resume a paused campaign
  - **Reactivate**: Reactivate a finished campaign

  ### Location
  - **List**: List all saved locations
  - **Search**: Search for business locations
  - **Save**: Save a location to your account

  ### Report
  - **List Competitor Reports**: Get the list of competitor reports
  - **Get Competitor**: Get competitor report
  - **List Trend Reports**: Get the list of trend reports
  - **Get Trend**: Get trend analysis
  - **List Keyword Reports**: Get the list of keyword reports
  - **Get Keyword**: Get keyword analysis
  - **List Location Reports**: Get the list of location reports
  - **Get Location**: Get location analysis

  ### Scheduled Scan
  - **List**: List all scheduled scans

  ### Falcon Guard
  - **List Locations**: List all Falcon Guard protected locations
  - **Get Falcon Guard Report**: Get specific Falcon Guard Report
  - **Add Location**: Add location to monitoring
  - **Pause**: Pause monitoring
  - **Resume**: Resume monitoring
  - **Delete**: Remove from monitoring

  ### Reviews Analysis
  - **List Reviews Analysis**: Get the list of Reviews Analysis reports
  - **Get Reviews Report**: Get reviews analysis report

  ### Account
  - **Get Info**: Get account information

  ## Credentials

  This node supports two authentication methods:

  ### OAuth2 (Recommended)

  OAuth2 is the default and recommended authentication method. It uses Local Falcon's OAuth 2.0 authorization code flow with pre-configured application credentials — no manual setup required.

  1. Add the Local Falcon node to your workflow
  2. Select **OAuth2** as the authentication method (selected by default)
  3. Click **Create New Credential** under "Local Falcon OAuth2 API"
  4. Click **Sign in with Local Falcon** to authorize via the OAuth consent screen
  5. Once authorized, the credential is ready to use

  ### API Key

  You can also authenticate using a Local Falcon API key.

  1. Generate your API key from the [Local Falcon API Credentials page](https://www.localfalcon.com/api/credentials/)
  2. Add the Local Falcon node to your workflow
  3. Select **API Key** as the authentication method
  4. Enter your API key in the credential configuration

  ## Compatibility

  Tested with n8n version 1.0.0 and above.

  ## Usage

  ### Basic Scan Example

  1. Add the Local Falcon node to your workflow
  2. Choose your authentication method (OAuth2 or API Key)
  3. Select "Scan" as the resource
  4. Select "Run" as the operation
  5. Configure the scan parameters:
     - Platform (Google, Apple Maps, etc.)
     - Place ID
     - Keyword
     - Latitude/Longitude
     - Grid size (3x3 to 21x21)
     - Radius and measurement unit

  ### Campaign Example

  1. Add the Local Falcon node
  2. Select "Campaign" as the resource
  3. Select "Create" as the operation
  4. Configure campaign settings including frequency (daily, weekly, monthly)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Local Falcon API Documentation](https://www.localfalcon.com/api/)
  * [Local Falcon Website](https://www.localfalcon.com)

  ## Supported Platforms

  - Google Maps
  - Apple Maps
  - ChatGPT
  - Gemini / Gemini Advanced
  - Google AI Overview (GIAO)
  - Grok
  - AI Mode

  ## Features

  - Grid-based rank tracking (3x3 to 21x21 grids)
  - Configurable radius (0.1 to 100 miles/km)
  - Automated campaigns with multiple frequencies
  - Field masking for optimized API responses
  - Pagination support
  - AI-powered analysis integration
  - Comprehensive reporting (competitors, trends, keywords, locations, reviews)

  ## License

  [MIT](LICENSE.md)

  ## Version History

  ### 1.1.0
  - Added OAuth2 authentication support (authorization code flow)
  - OAuth2 is now the default authentication method
  - API Key authentication remains supported as an alternative
  - Pre-configured OAuth application credentials for seamless setup

  ### 1.0.0
  - Initial release
  - Support for all major Local Falcon API endpoints
  - Full CRUD operations for scans, campaigns, locations
  - Comprehensive reporting capabilities
  - Falcon Guard integration

  ## Support

  For issues or questions:
  - [GitHub Issues](https://github.com/yourusername/n8n-nodes-localfalcon/issues)
  - [n8n Community Forum](https://community.n8n.io)
  - [Local Falcon Support](https://www.localfalcon.com/support/)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation of Local Falcon's local SEO rank tracking services, allowing users to monitor visibility across Google Maps, Apple Maps, and other local search platforms.","capabilities":["Run SEO rank scans on Google Maps, Apple Maps, ChatGPT, Gemini, Grok, and AI Mode","Create, pause, resume, and reactivate automated SEO campaigns","Search and save business locations for tracking","Analyze competitor rankings, trends, keywords, and location data","Monitor and manage Falcon Guard protected locations","Analyze business reviews","Retrieve detailed scan reports and campaign reports","Support for grid-based tracking (3x3 to 21x21 grids)","Configurable search radius (0.1 to 100 miles/km)"],"authentication":"OAuth2 (recommended) or API Key","commonUseCases":["Automated local SEO rank monitoring for businesses","Competitor analysis and visibility tracking","Automated campaign scheduling for SEO audits","Multi-platform local search monitoring (Google, Apple Maps, AI platforms)"],"limitations":["Requires Local Falcon account or API key access"],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Code Node"]}


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

updated_at: 2026-07-14 14:40:33
author_name: acrichter
author_github_url: https://github.com/ac40/
npm_package_name: n8n-nodes-craft
npm_version: 0.1.8
community_fetched_at: 2026-07-14T14:40:33.469Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "block",
      "options": [
        {
          "name": "Block",
          "value": "block"
        },
        {
          "name": "Collection",
          "value": "collection"
        },
        {
          "name": "Daily Note",
          "value": "dailyNote"
        },
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "Folder",
          "value": "folder"
        },
        {
          "name": "Task",
          "value": "task"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Fetch Block",
          "value": "fetch",
          "action": "Fetch a block",
          "description": "Retrieve blocks and attached information"
        },
        {
          "name": "Insert Blocks",
          "value": "insert",
          "action": "Insert blocks",
          "description": "Create new blocks in a document"
        },
        {
          "name": "Upload File",
          "value": "upload",
          "action": "Upload a file",
          "description": "Insert files (binary content) into a document"
        },
        {
          "name": "Delete Blocks",
          "value": "delete",
          "action": "Delete blocks",
          "description": "Remove blocks from a document"
        },
        {
          "name": "Update Blocks",
          "value": "update",
          "action": "Update blocks",
          "description": "Modify blocks"
        },
        {
          "name": "Move Blocks",
          "value": "move",
          "action": "Move blocks",
          "description": "Reorder blocks in a document"
        },
        {
          "name": "Search Blocks",
          "value": "search",
          "action": "Search blocks",
          "description": "Search content"
        },
        {
          "name": "Construct Blocks",
          "value": "construct",
          "action": "Construct blocks",
          "description": "Construct blocks with validation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "block"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create Items",
          "value": "create",
          "action": "Create collection items",
          "description": "Insert new items into a collection"
        },
        {
          "name": "Delete Items",
          "value": "delete",
          "action": "Delete collection items",
          "description": "Remove items from a collection"
        },
        {
          "name": "Get Collection Schema",
          "value": "getSchema",
          "action": "Get collection schema",
          "description": "Retrieve a collection schema in the desired format"
        },
        {
          "name": "List Collections",
          "value": "listCollections",
          "action": "List collections",
          "description": "Retrieve available collections and their metadata"
        },
        {
          "name": "List Items",
          "value": "list",
          "action": "List collection items",
          "description": "Retrieve collection items"
        },
        {
          "name": "Update Items",
          "value": "update",
          "action": "Update collection items",
          "description": "Modify existing items in a collection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "collection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List Tasks",
          "value": "list",
          "action": "List tasks",
          "description": "Retrieve tasks filtered by scope"
        },
        {
          "name": "Create Task",
          "value": "create",
          "action": "Create a task",
          "description": "Create a new task in inbox or daily notes"
        },
        {
          "name": "Update Task",
          "value": "update",
          "action": "Update a task",
          "description": "Modify an existing task"
        },
        {
          "name": "Delete Tasks",
          "value": "delete",
          "action": "Delete tasks",
          "description": "Delete tasks by their IDs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetch",
      "options": [
        {
          "name": "List Documents",
          "value": "fetch",
          "action": "Fetch documents",
          "description": "Retrieve available Craft documents"
        },
        {
          "name": "Search Documents",
          "value": "search",
          "action": "Search documents",
          "description": "Search across documents with include terms and optional filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search Daily Notes",
          "value": "search",
          "action": "Search daily notes",
          "description": "Search across daily notes with optional date range filters"
        },
        {
          "name": "Search Within Daily Note",
          "value": "searchBlocks",
          "action": "Search blocks in a daily note",
          "description": "Search for blocks within a specific daily note date"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dailyNote"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List Folders",
          "value": "list",
          "action": "List folders",
          "description": "Retrieve all folders and locations in the space"
        },
        {
          "name": "Create Folder",
          "value": "create",
          "action": "Create a folder",
          "description": "Create a new folder or location"
        },
        {
          "name": "Delete Folder",
          "value": "delete",
          "action": "Delete a folder",
          "description": "Delete a folder by its ID"
        },
        {
          "name": "Move Folder",
          "value": "move",
          "action": "Move a folder",
          "description": "Move a folder to a different location"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Fetch Block",
      "value": "fetch",
      "action": "Fetch a block",
      "description": "Retrieve blocks and attached information",
      "resource": "block"
    },
    {
      "name": "Insert Blocks",
      "value": "insert",
      "action": "Insert blocks",
      "description": "Create new blocks in a document",
      "resource": "block"
    },
    {
      "name": "Upload File",
      "value": "upload",
      "action": "Upload a file",
      "description": "Insert files (binary content) into a document",
      "resource": "block"
    },
    {
      "name": "Delete Blocks",
      "value": "delete",
      "action": "Delete blocks",
      "description": "Remove blocks from a document",
      "resource": "block"
    },
    {
      "name": "Update Blocks",
      "value": "update",
      "action": "Update blocks",
      "description": "Modify blocks",
      "resource": "block"
    },
    {
      "name": "Move Blocks",
      "value": "move",
      "action": "Move blocks",
      "description": "Reorder blocks in a document",
      "resource": "block"
    },
    {
      "name": "Search Blocks",
      "value": "search",
      "action": "Search blocks",
      "description": "Search content",
      "resource": "block"
    },
    {
      "name": "Construct Blocks",
      "value": "construct",
      "action": "Construct blocks",
      "description": "Construct blocks with validation",
      "resource": "block"
    },
    {
      "name": "Create Items",
      "value": "create",
      "action": "Create collection items",
      "description": "Insert new items into a collection",
      "resource": "collection"
    },
    {
      "name": "Delete Items",
      "value": "delete",
      "action": "Delete collection items",
      "description": "Remove items from a collection",
      "resource": "collection"
    },
    {
      "name": "Get Collection Schema",
      "value": "getSchema",
      "action": "Get collection schema",
      "description": "Retrieve a collection schema in the desired format",
      "resource": "collection"
    },
    {
      "name": "List Collections",
      "value": "listCollections",
      "action": "List collections",
      "description": "Retrieve available collections and their metadata",
      "resource": "collection"
    },
    {
      "name": "List Items",
      "value": "list",
      "action": "List collection items",
      "description": "Retrieve collection items",
      "resource": "collection"
    },
    {
      "name": "Update Items",
      "value": "update",
      "action": "Update collection items",
      "description": "Modify existing items in a collection",
      "resource": "collection"
    },
    {
      "name": "List Tasks",
      "value": "list",
      "action": "List tasks",
      "description": "Retrieve tasks filtered by scope",
      "resource": "task"
    },
    {
      "name": "Create Task",
      "value": "create",
      "action": "Create a task",
      "description": "Create a new task in inbox or daily notes",
      "resource": "task"
    },
    {
      "name": "Update Task",
      "value": "update",
      "action": "Update a task",
      "description": "Modify an existing task",
      "resource": "task"
    },
    {
      "name": "Delete Tasks",
      "value": "delete",
      "action": "Delete tasks",
      "description": "Delete tasks by their IDs",
      "resource": "task"
    },
    {
      "name": "List Documents",
      "value": "fetch",
      "action": "Fetch documents",
      "description": "Retrieve available Craft documents",
      "resource": "document"
    },
    {
      "name": "Search Documents",
      "value": "search",
      "action": "Search documents",
      "description": "Search across documents with include terms and optional filters",
      "resource": "document"
    },
    {
      "name": "Search Daily Notes",
      "value": "search",
      "action": "Search daily notes",
      "description": "Search across daily notes with optional date range filters",
      "resource": "dailyNote"
    },
    {
      "name": "Search Within Daily Note",
      "value": "searchBlocks",
      "action": "Search blocks in a daily note",
      "description": "Search for blocks within a specific daily note date",
      "resource": "dailyNote"
    },
    {
      "name": "List Folders",
      "value": "list",
      "action": "List folders",
      "description": "Retrieve all folders and locations in the space",
      "resource": "folder"
    },
    {
      "name": "Create Folder",
      "value": "create",
      "action": "Create a folder",
      "description": "Create a new folder or location",
      "resource": "folder"
    },
    {
      "name": "Delete Folder",
      "value": "delete",
      "action": "Delete a folder",
      "description": "Delete a folder by its ID",
      "resource": "folder"
    },
    {
      "name": "Move Folder",
      "value": "move",
      "action": "Move a folder",
      "description": "Move a folder to a different location",
      "resource": "folder"
    }
  ]

npm_readme:
  <!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 -->

  <a id="readme-top"></a>

  # n8n-nodes-craft

  <!-- PROJECT LOGO -->

  [![Project Banner][project-banner]](./images/banner.png)
  <br />

  <div align="center">
    <p align="center">
      The Bridge you where looking for between two awesome tools
      <br />
      <a href="./CONTRIBUTING.md"><strong>Want to contribute? »</strong></a>
      <br />
      <br />
      <a href="https://github.com/ac40/n8n-nodes-craft/issues/new?labels=bug&template=bug-report.md">Report Bug</a>
      &middot;
      <a href="https://github.com/ac40/n8n-nodes-craft/issues/new?labels=enhancement&template=feature-request.md">Request Feature</a>
    </p>
  </div>

  <!-- TABLE OF CONTENTS -->
  <details>
    <summary>Table of Contents</summary>
    <ol>
      <li><a href="#about-the-project">About The Project</a></li>
      <li><a href="#installation">Installation</a></li>
      <li>
        <a href="#operations">Operations</a>
        <ul>
          <li><a href="#blocks">Blocks</a></li>
          <li><a href="#collections">Collections</a></li>
          <li><a href="#tasks">Tasks</a></li>
          <li><a href="#documents">Documents</a></li>
          <li><a href="#daily-notes">Daily Notes</a></li>
        </ul>
      </li>
      <li><a href="#credentials">Credentials</a></li>
      <li><a href="#compatibility">Compatibility</a></li>
      <li><a href="#resources">Resources</a></li>
      <li><a href="#version-history">Version history</a></li>
    </ol>
  </details>

  <!-- ABOUT THE PROJECT -->

  ## About The Project

  This is an n8n community node. It lets you use [Craft](https://craft.do) Docs in your n8n workflows.

  [Craft](https://craft.do) is an app that helps you _craft_ the best Docs in the world (that's their claim, and it is absolutely true!).

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

  ## Installation

  ### Community Node (soon to be released)

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

  > This node is not published as a community node yet, currently only the self-installation is available

  ### Private Node

  To run this node as a private node, follow [this](https://docs.n8n.io/integrations/creating-nodes/deploy/install-private-nodes/) guide by n8n. I also have a [prepared Dockerfile](https://github.com/AC40/custom-n8n-image) with a blank n8n installation + this craft node.

  Either run my custom image or build your own if you want to install additional private node.

  ## Operations

  The node now supports multiple Craft resources and their specific operations.

  ### Blocks

  - Fetch blocks to retrieve content and attachments
  - Insert blocks to add new content to a document
  - Upload files as binary content inside a block
  - Delete blocks from a document
  - Update blocks to change existing content
  - Move blocks to reorder content
  - Search blocks in a document
  - Construct blocks with validation before sending them to Craft

  ### Collections

  - List items with optional depth and format controls
  - Create items (including introducing new select options)
  - Update items while reusing or adding select options
  - Delete items in bulk

  ### Tasks

  - List tasks across inbox, upcoming, active, or logbook views
  - Create tasks in the inbox or a chosen daily note
  - Update tasks, including markdown, state, schedule, and deadline
  - Delete tasks by providing one or more IDs

  ### Documents

  - List available documents
  - Search across documents

  ### Daily Notes

  - Search daily notes with keyword and date filters
  - Search a single daily note

  ## Credentials

  If you want to interact with protected Documents, you will need to create a BearerAuth Credential for your respective Document with API Keys and document ids.

  ## Compatibility

  1.0 (Node.js 18)

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Some more information about this project](https://ac-rich.craft.me/n8n-nodes-craft)

  ## Version history

  N/A

  <!-- Images -->

  [project-banner]: ./images/banner.png

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation workflows to interact with Craft CMS documents, blocks, collections, tasks, and daily notes via its API.","capabilities":["Fetch, insert, update, delete, and move blocks","Upload files as binary content inside blocks","List, create, update, and delete collection items","Manage tasks across inbox, upcoming, active, and logbook views","Search and list documents","Search daily notes with keyword and date filters"],"authentication":"API Key (BearerAuth Credential required for protected documents)","commonUseCases":["Automating content creation and updates in Craft CMS","Syncing tasks between n8n and Craft daily notes","Managing document metadata and block content programmatically"],"limitations":["Currently available only as a private node; not yet published as a community node","Requires manual installation via n8n private nodes or custom Docker images"],"relatedNodes":["n8n-nodes-craft.craft","n8n-nodes-craft.tasks","n8n-nodes-craft.collections","n8n-nodes-craft.documents"]}


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

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

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

npm_readme:
  # n8n-nodes-pubnub

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

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

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

  ## Installation

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

  ### Community Nodes (Recommended)

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

  ### Manual Installation

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

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

  ## Credentials

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

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

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

  ## Nodes

  This package provides two nodes:

  ### 1. PubNub Node

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

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

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

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

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

  ### 2. PubNub Trigger Node

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

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

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

  ## Usage Examples

  ### Example 1: Publish a Message

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

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

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

  ### Example 3: Check Channel Presence

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

  ### Example 4: Fetch Message History

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

  ## Development

  To develop or modify this package:

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

  # Install dependencies
  npm install

  # Build the package
  npm run build

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

  ## Resources

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

  ## Version History

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

  ## License

  [MIT](LICENSE.md)

  ## Support

  If you encounter issues or have questions:

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

  ## Contributing

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

  1. Fork the repository
  2. Create your feature branch (`git checkout -b feature/amazing-feature`)
  3. Commit your changes (`git commit -m 'Add some amazing feature'`)
  4. Push to the branch (`git push origin feature/amazing-feature`)
  5. Open a Pull Request

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


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

updated_at: 2026-07-14 14:40:33
author_name: ejazahmed
author_github_url: https://github.com/IPGeolocation/
npm_package_name: n8n-nodes-ipgeolocation
npm_version: 2.0.0
community_fetched_at: 2026-07-14T14:40:33.471Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  Integrate ipgeolocation.io with n8n to automate IP lookup, geolocation, timezone data, and security checks for powerful workflow enrichment.

properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "getIpInfo",
      "options": [
        {
          "name": "Get Abuse Contact Info",
          "value": "getAbuseInfo",
          "action": "Get abuse info",
          "routing": {
            "request": {
              "url": "/v3/abuse",
              "method": "GET"
            }
          },
          "description": "Retrieves abuse contact and reporting information for an IP address, including organization, network, and abuse email details"
        },
        {
          "name": "Get ASN Info",
          "value": "getAsnInfo",
          "action": "Get asn info",
          "routing": {
            "request": {
              "url": "/v3/asn",
              "method": "GET"
            }
          },
          "description": "Retrieves Autonomous System Number (ASN) details for an IP address or ASN, including organization, country, and network information"
        },
        {
          "name": "Get Astronomy Info",
          "value": "getAstronomy",
          "action": "Get astronomy info",
          "routing": {
            "request": {
              "url": "/v3/astronomy",
              "method": "GET"
            }
          },
          "description": "The Astronomy API provides sun, moon data using IP, latitude, longitude, timezone or Location"
        },
        {
          "name": "Get Astronomy Timeseries Information",
          "value": "getAstronomyTimeseries",
          "action": "Get timezone info",
          "routing": {
            "request": {
              "url": "/v3/astronomy/timeSeries",
              "method": "GET"
            }
          },
          "description": "Look up astronomy details for any location by providing a starting and ending date for the time series"
        },
        {
          "name": "Get Bulk IP Geolocation",
          "value": "getBulkIpGeolocation",
          "action": "Get bulk ip geolocation",
          "routing": {
            "request": {
              "url": "/v3/ipgeo-bulk",
              "method": "POST"
            }
          },
          "description": "Retrieves geolocation information (country, city, coordinates, etc.) for multiple IP addresses at once"
        },
        {
          "name": "Get Bulk IP Security",
          "value": "getBulkIPSecurity",
          "action": "Get bulk ip security",
          "routing": {
            "request": {
              "url": "/v3/security-bulk",
              "method": "POST"
            }
          },
          "description": "Retrieves security information for multiple IP addresses at once, including proxy, VPN, TOR, and threat intelligence details"
        },
        {
          "name": "Get Bulk User Agents Info",
          "value": "getBulkUserAgent",
          "action": "Get bulk user agent info",
          "routing": {
            "request": {
              "url": "/v3/user-agent-bulk",
              "method": "POST"
            }
          },
          "description": "Retrieves detailed client system and browser information for multiple user agents at once(max 50,000), enabling detection of bots, crawlers, and potential attackers"
        },
        {
          "name": "Get IP Geolocation",
          "value": "getIpInfo",
          "action": "Get ip geolocation",
          "routing": {
            "request": {
              "url": "/v3/ipgeo",
              "method": "GET"
            }
          },
          "description": "Retrieves detailed geolocation information (country, city, coordinates, etc.) for a specified IP address"
        },
        {
          "name": "Get IP Security",
          "value": "getIpSecurityInfo",
          "action": "Get ip security info",
          "routing": {
            "request": {
              "url": "/v3/security",
              "method": "GET"
            }
          },
          "description": "Retrieves security information about an IP address, including proxy, VPN, TOR, and threat intelligence details"
        },
        {
          "name": "Get Time Conversion",
          "value": "getTimeConversion",
          "action": "Get timezone info",
          "routing": {
            "request": {
              "url": "/v3/timezone/convert",
              "method": "GET"
            }
          },
          "description": "Calculates precise time differences in hours and minutes between two locations using time zones, coordinates, or cities"
        },
        {
          "name": "Get Timezone Info",
          "value": "getTimezone",
          "action": "Get timezone info",
          "routing": {
            "request": {
              "url": "/v3/timezone",
              "method": "GET"
            }
          },
          "description": "Provides current date, time, UTC offset, and daylight saving info for any timezone, IP address, or geolocation coordinates via timezone API"
        },
        {
          "name": "Get User Agent Info",
          "value": "getUserAgent",
          "action": "Get user agent info",
          "routing": {
            "request": {
              "url": "/v3/user-agent",
              "method": "POST"
            }
          },
          "description": "Provides detailed client system and browser information for detecting bots, crawlers, and potential attackers"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Abuse Contact Info",
      "value": "getAbuseInfo",
      "action": "Get abuse info",
      "routing": {
        "request": {
          "url": "/v3/abuse",
          "method": "GET"
        }
      },
      "description": "Retrieves abuse contact and reporting information for an IP address, including organization, network, and abuse email details"
    },
    {
      "name": "Get ASN Info",
      "value": "getAsnInfo",
      "action": "Get asn info",
      "routing": {
        "request": {
          "url": "/v3/asn",
          "method": "GET"
        }
      },
      "description": "Retrieves Autonomous System Number (ASN) details for an IP address or ASN, including organization, country, and network information"
    },
    {
      "name": "Get Astronomy Info",
      "value": "getAstronomy",
      "action": "Get astronomy info",
      "routing": {
        "request": {
          "url": "/v3/astronomy",
          "method": "GET"
        }
      },
      "description": "The Astronomy API provides sun, moon data using IP, latitude, longitude, timezone or Location"
    },
    {
      "name": "Get Astronomy Timeseries Information",
      "value": "getAstronomyTimeseries",
      "action": "Get timezone info",
      "routing": {
        "request": {
          "url": "/v3/astronomy/timeSeries",
          "method": "GET"
        }
      },
      "description": "Look up astronomy details for any location by providing a starting and ending date for the time series"
    },
    {
      "name": "Get Bulk IP Geolocation",
      "value": "getBulkIpGeolocation",
      "action": "Get bulk ip geolocation",
      "routing": {
        "request": {
          "url": "/v3/ipgeo-bulk",
          "method": "POST"
        }
      },
      "description": "Retrieves geolocation information (country, city, coordinates, etc.) for multiple IP addresses at once"
    },
    {
      "name": "Get Bulk IP Security",
      "value": "getBulkIPSecurity",
      "action": "Get bulk ip security",
      "routing": {
        "request": {
          "url": "/v3/security-bulk",
          "method": "POST"
        }
      },
      "description": "Retrieves security information for multiple IP addresses at once, including proxy, VPN, TOR, and threat intelligence details"
    },
    {
      "name": "Get Bulk User Agents Info",
      "value": "getBulkUserAgent",
      "action": "Get bulk user agent info",
      "routing": {
        "request": {
          "url": "/v3/user-agent-bulk",
          "method": "POST"
        }
      },
      "description": "Retrieves detailed client system and browser information for multiple user agents at once(max 50,000), enabling detection of bots, crawlers, and potential attackers"
    },
    {
      "name": "Get IP Geolocation",
      "value": "getIpInfo",
      "action": "Get ip geolocation",
      "routing": {
        "request": {
          "url": "/v3/ipgeo",
          "method": "GET"
        }
      },
      "description": "Retrieves detailed geolocation information (country, city, coordinates, etc.) for a specified IP address"
    },
    {
      "name": "Get IP Security",
      "value": "getIpSecurityInfo",
      "action": "Get ip security info",
      "routing": {
        "request": {
          "url": "/v3/security",
          "method": "GET"
        }
      },
      "description": "Retrieves security information about an IP address, including proxy, VPN, TOR, and threat intelligence details"
    },
    {
      "name": "Get Time Conversion",
      "value": "getTimeConversion",
      "action": "Get timezone info",
      "routing": {
        "request": {
          "url": "/v3/timezone/convert",
          "method": "GET"
        }
      },
      "description": "Calculates precise time differences in hours and minutes between two locations using time zones, coordinates, or cities"
    },
    {
      "name": "Get Timezone Info",
      "value": "getTimezone",
      "action": "Get timezone info",
      "routing": {
        "request": {
          "url": "/v3/timezone",
          "method": "GET"
        }
      },
      "description": "Provides current date, time, UTC offset, and daylight saving info for any timezone, IP address, or geolocation coordinates via timezone API"
    },
    {
      "name": "Get User Agent Info",
      "value": "getUserAgent",
      "action": "Get user agent info",
      "routing": {
        "request": {
          "url": "/v3/user-agent",
          "method": "POST"
        }
      },
      "description": "Provides detailed client system and browser information for detecting bots, crawlers, and potential attackers"
    }
  ]

npm_readme:
  # IP Geolocation n8n Integration

  ## Overview

  The n8n+IPGeolocation integration makes it simple to use the full [**IPGeolocation.io v3**](https://ipgeolocation.io) APIs inside your n8n automation workflows. You do not need to write code or handle API requests because everything can be automated through clear and simple actions.

  With this integration, you can quickly get helpful information about any IP address. This includes location details, network ownership, security risk information, user agent data, time zone details, and even basic astronomy information. You can use this data to improve your workflows, personalize user experiences, and make your automation more secure.

  It allows you to automate retrieval of:

  - Geolocation information for any IP address
  - Threat intelligence and security risk details
  - Network ownership and ASN information
  - Time zone data and time conversion tools
  - Astronomy information such as sunrise and sunset
  - User agent details including browser, operating system, and device type

  ---

  ## IPGeolocation Node Installation Guide 
  ### Installing IPGeolocation Node via n8n Editor (Recommended)

  Since the IPGeolocation node is verified by n8n, you can easily find and install it directly from the n8n Editor without any manual setup.

  #### Steps to Install from n8n Editor

  **1. Open n8n Editor**

  Log in to your n8n instance (Cloud or Self-Hosted).

  **2. Open Nodes Panel**

  Click on the **“+” (Add node)** button.

  **3. Search for the Node**

  In the search bar, type **IPGeolocation**.  
  Because the node is verified, it will appear directly in the search results.

  **4. Install the Node**

  Click on the **IPGeolocation** node.  
  n8n will automatically install and enable it.

  **5. Start Using the Node**

  Once installed, the node is ready to be used in your workflows.


  ### Community Nodes
  For users on n8n v0.187+, your instance owner can install this node from Community Nodes.

  1. Go to **Settings > Community Nodes**.
  2. Select **Install**.
  3. Enter `n8n-nodes-ipgeolocation` in Enter npm package name.
  4. Agree to the risks of using community nodes: select I understand the risks of installing unverified code from a public source.
  5. Select **Install**.

  ### Manual Installation

  It explains how to install and use the **official
  `n8n-nodes-ipgeolocation` package**, developed and maintained by
  **[IPGeolocation.io](https://ipgeolocation.io)**.\
  Follow the steps below to integrate our IP Geolocation capabilities
  directly into your n8n workflows.

  #### Start n8n Once (to generate the .n8n folder)

  ``` bash
  npx n8n
  ```

  After it opens, close it. This ensures the `.n8n` directory is
  generated.


  #### Navigate to the n8n configuration directory

  ``` bash
  cd ~/.n8n
  ```

  #### Create a directory for custom nodes

  ``` bash
  mkdir custom
  cd custom
  ```

  #### Initialize npm inside the custom folder

  ``` bash
  npm init -y
  ```

  #### Install the official IPGeolocation.io n8n node

  ``` bash
  npm install n8n-nodes-ipgeolocation@latest
  ```

  This [npm package](https://www.npmjs.com/package/n8n-nodes-ipgeolocation) is the official IPGeolocation.io integration for n8n,
  enabling powerful IP lookup, timezone, geolocation, and security data
  directly inside your workflows.

  #### Restart n8n

  After the installation, restart your n8n instance using:

  ``` bash
  npx n8n
  ```

  n8n will automatically load all custom nodes located in the
  `.n8n/custom` folder, including the **IPGeolocation.io** node.


  #### You're Ready to Go!

  You can now use the **IPGeolocation.io** node inside n8n to:

  -   Retrieve IP Geolocation data
  -   Detect timezone information
  -   Perform IP Security checks
  -   Enrich workflows with location-based intelligence

  ---

  ## API Key & Connection Setup

  To use IPGeolocation.io with **n8n**, you need a valid **API Key**. Follow these steps carefully:

  ### Create or log in to your IPGeolocation.io account

  - Go to [**IPGeolocation.io**](https://ipgeolocation.io/).
  - If you don’t have an account, click [**Sign Up**](https://app.ipgeolocation.io/signup) and complete the registration.
  - If you already have an account, click [**Sign in**](https://app.ipgeolocation.io/login) and enter your credentials.

  ### Obtain your API Key

  - After logging in, go to your [**dashboard**](https://app.ipgeolocation.io/dashboard).
  - Copy your **API Key** — you’ll need it to connect n8n with IPGeolocation.io.

  ### Open n8n and create a scenario

  - Go to [n8n instance](https://n8n.io/) and log in or sign up.
  - Click + from your sidebar and create a new workflow from scratch.
  - You will see a canvas where you can add nodes.

  ### Add an IPGeolocation node
  - Make sure you have the **IPGeolocation.io** node installed.
  - Click the **+** button to add a node.
  - Search for **IPGeolocation** in the nodes search bar.

  ### Set up the connection

  - Paste the **API Key** you copied earlier into the required field.
  - Click **Save** to authenticate the connection.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/setup-connection.png)

  ### Test the connection

  - n8n will attempt to connect using your API Key.
  - If successful, the module will show a green checkmark and confirmation.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/successful-connection.png)

  - If there’s an error, double-check your API Key and make sure it’s active and valid for the plan you’re using.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/error-connecting.png)

  ### Use your connection

  - Once connected, this API Key is available for **all IPGeolocation modules** in your n8n workflows.
  - You can now use it to perform actions like **Get IP Geolocation**, **Parse User Agent**, or **Bulk IP Geolocation**, depending on your API plan.

  ---

  ## Actions Availability across our Plans

  The availability of actions depends on the plan you are subscribed to. The following table provides a detailed overview of which actions are included in each plan, helping you quickly identify the plan that suits your needs.

  | **Action** | **Developer** | **Paid** |
  | --- | --- | --- |
  | **Get IP Geolocation** | ✔ | ✔ |
  | **Get Bulk IP Geolocation** | ✖ | ✔ |
  | **Get IP Security** | ✖ | ✔ |
  | **Get Bulk IP Security** | ✖ | ✔ |
  | **Get ASN Info** | ✖ | ✔ |
  | **Get Abuse Contact Info** | ✖ | ✔ |
  | **Get Astronomy Info** | ✔ | ✔ |
  | **Get Astronomy Timeseries Information** | ✔ | ✔ |
  | **Get Timezone Info** | ✔ | ✔ |
  | **Get Time Conversion** | ✔ | ✔ |
  | **Get User Agent Info** | ✖ | ✔ |
  | **Get Bulk User Agents Info** | ✖ | ✔ |

  For full pricing details and to choose your plan, see the [pricing page](https://ipgeolocation.io/pricing.html).

  ---

  ## Modules

  Below is a structured reference of all modules in this integration.

  ### **Geolocation**

  #### **Get IP Geolocation**

  Retrieves full geolocation data of a single IPv4/IPv6.

  - **Input:** IP Address
  - **Outputs:** country_name, city, latitude, longitude and [many more](https://ipgeolocation.io/documentation/ip-location-api.html#location-json-object-reference)

  #### **Get Bulk IP Geolocation**

  Retrieves geolocation for up to 50,000 IPs per request.

  - **Input:** Array of IPs
  - **Outputs:** Collection of geolocation objects

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/ip-geolocation-v3.png)

  ### **Security**

  #### **IP Security Lookup**

  Security insights such as proxy, VPN, TOR, threat score, cloud and proxy providers.

  - **Input:** IP Address
  - **Outputs:** security.is_proxy, security.is_vpn, security.threat_score, security.is_cloud_provider and [more](https://ipgeolocation.io/documentation/ip-security-api.html#security-json-object-reference)

  #### **Bulk IP Security Lookup**

  Security assessment for multiple IPs.

  - **Input:** Array of IPs
  - **Outputs:** Collection of [security data](https://ipgeolocation.io/documentation/ip-security-api.html#security-json-object-reference)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/ip-security-v3.png)

  ### **Network Intelligence**

  #### **Lookup ASN**

  Provides a simple way to retrieve accurate information about an Autonomous System Number (ASN) and its associated IPv4 and IPv6 address ranges.

  - **Input:** IP or ASN number
  - **Outputs:** asn.as_number, asn.organization and [more](https://ipgeolocation.io/documentation/asn-api.html#reference-to-asn-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/asn-v3.png)

  #### **Lookup Abuse Contact Information**

  Includes details such as the role, handle, organization name, kind (e.g., group or individual), and postal address. This information helps identify the entity responsible for handling abuse reports.

  - **Input:** IP Address
  - **Outputs:** abuse.emails, abuse.kind and [more](https://ipgeolocation.io/documentation/ip-abuse-contact-api.html#reference-to-abuse-contact-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/abuse-v3.png)

  ### **Time Services**

  Free **Timezone API** and **Time conversion API** provides date and time related information such as current time, date in various formats, week, month, year, time in unix timestamp, UTC/GMT offset and day light saving time from timezone name, any IPv4 or IPv6 address or geolocation coordinates, IATA code, ICAO code, or UN/LOCODE.

  #### **Get Timezone Info**

  It can be consumed with the following input variations:

  - For a Time Zone Name
  - For any Address (preferrably, city address)
  - For Location Coordinates (latitude & longitude)
  - For any IP address
  - For any IATA code
  - For any ICAO code
  - For any UN/LO Code
  - **Outputs:** time_zone.name, time_zone.current_time, time_zone.date_time_wti and [more](https://ipgeolocation.io/documentation/timezone-api.html#reference-to-time-zone-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/timezone-v3.png)

  #### **Time Conversion**

  Converts a time from one of following options

  - Convert Time using Time Zone Names
  - Convert Time using Location
  - Convert Time using Coordinates
  - Convert Time using IATA codes
  - Convert Time using ICAO codes
  - Convert Time using UN/LOCODEs

  **Output:** Converted [date/time](https://ipgeolocation.io/documentation/timezone-api.html#reference-to-time-conversion-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/time-conversion.png)

  ### **Astronomy**

  Provides timings for sunrise, sunset, moonrise, moonset, sun azimuth, moon azimuth, sun altitude, moon altitude, sun distance from the earth and moon distance from the earth.

  #### **Get Astronomy Details**

  - **Outputs:** astronomy.sunrise, astronomy.sunset, astronomy.moon_phase and [many more.](https://ipgeolocation.io/documentation/astronomy-api.html#reference-to-astronomy-api-response)

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/astronomy.png)

  #### **Astronomy Time Series Lookup**

  - **Outputs:** Daily astronomy data for a defined date range.

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/astronomy-timeseries.png)

  ### **User-Agent Parsing**

  Provides detailed client system information, allowing for the detection of bots, crawlers, and potential attackers.

  #### **Parse User Agent String**

  - **Input:** User agent string
  - **Outputs:** provides name, device and operating sysem [information](https://ipgeolocation.io/documentation/user-agent-api.html#reference-to-user-agent-api-response).

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/user-agent.png)

  #### **Parse Bulk User Agent Strings**

  - **Input:** Array of User agent strings
  - **Outputs:** Collection of parsed user agent objects

  ![](https://static.ipgeolocation.io/web-assets/images/integrations/n8n/bulk-user-agent.png)

  ---

  ## Use Cases

  Some of the use cases are provided as following.

  ### **E‑commerce Fraud & Network Vetting**

  **Modules:** IP Security Lookup, Lookup Abuse, Lookup ASN

  **Scenario:** Validate order IPs before processing.

  - Trigger: Shopify/WooCommerce detects new order.
  - Step 1: Security Lookup: Check proxy/VPN.
  - Step 2: ASN Lookup:  Find ISP & organization.
  - Filter: Only proceed if *not* proxy AND not cloud provider.
  - If high-risk: Tag the order “Fraud Review”

  ---

  ### **Personalized Content & Time‑Aware Scheduling**

  **Modules:** Get IP Geolocation, Get Timezone Info, Time Conversion

  **Scenario:** Send newsletter at **10 AM local time**.

  - Step 1: Geolocation: Get currency + country.
  - Step 2: Timezone Info: Get exact timezone.
  - Step 3: Time Conversion: Convert 10 AM UTC to local.
  - Step 4: Email tool: Send at converted time.

  ---

  ### **Bulk Data Enrichment & Reporting**

  **Modules:** Bulk Geolocation, Bulk Security Lookup, Array Aggregator, Iterator

  **Scenario:** Enrich 5,000+ IPs with location + threat scoring.

  - Fetch rows from Google Sheets.
  - Aggregate IPs into an array.
  - Bulk lookup for location and security.
  - Iterate results.
  - Update rows with new fields: city, country_name, threat_score.

  ---

  ### **Astronomy‑Based IoT Scheduling**

  **Modules:** Astronomy Details, Astronomy Time Series

  **Scenario:** Automate IoT actions based on sunrise, sunset, moon phase.

  - Daily schedule at midnight.
  - Astronomy Details: Get sunrise & moon phase.
  - Save results in Data Store/Airtable.
  - IoT app triggers actions after sunrise.

ai_documentation_summary:
  {"purpose":"The IPGeolocation n8n node integrates with IPGeolocation.io to automate IP address lookups, retrieving geolocation data, security risks, network ownership, timezone info, and astronomy details.","capabilities":["Retrieve geolocation data for any IP address","Access threat intelligence and security risk details","Fetch network ownership and ASN information","Obtain timezone data and perform time conversions","Retrieve astronomy information (sunrise/sunset)","Parse user agent data (browser, OS, device type)","Perform bulk IP geolocation lookups","Automated API request handling without code"],"authentication":"API Key required (obtained from IPGeolocation.io dashboard)","commonUseCases":["Enriching user data with location intelligence","Detecting security threats based on IP reputation","Personalizing content based on user timezone","Validating user locations for geo-restricted services","Automating network ownership verification"],"limitations":["Requires a valid API key and active subscription plan","Data availability depends on the specific IPGeolocation.io plan tier","Some features may be limited by API rate limits"],"relatedNodes":["HTTP Request","Wait Until","If","Code"]}


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: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
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.11
community_fetched_at: 2026-07-14T14:40:33.472Z
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: 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-07-14 14:40:33
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-07-14T14:40:33.473Z
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:
  [
    {
      "name": "Create Agent",
      "value": "create",
      "action": "Create Agent",
      "description": "Create a new agent within a workspace",
      "resource": "agent"
    },
    {
      "name": "Delete Agent",
      "value": "delete",
      "action": "Delete Agent",
      "description": "Delete agent. This action is permanent and can't be undone.",
      "resource": "agent"
    },
    {
      "name": "Find Agent",
      "value": "find",
      "action": "Find Agent",
      "description": "Find and get an agent details",
      "resource": "agent"
    },
    {
      "name": "Update Agent",
      "value": "update",
      "action": "Update Agent",
      "description": "Updates an agent within a workspace",
      "resource": "agent"
    },
    {
      "name": "Make Phone Call",
      "value": "create",
      "action": "Make Phone Call",
      "description": "Creates an outbound phone call using Nedzo voice agent",
      "resource": "call"
    },
    {
      "name": "Create/Update Contact",
      "value": "upsert",
      "action": "Create/Update Contact",
      "description": "Creates or updates a contact in a workspace",
      "resource": "contact"
    },
    {
      "name": "Delete Contact",
      "value": "delete",
      "action": "Delete Contact",
      "description": "Deletes a contact in a workspace",
      "resource": "contact"
    },
    {
      "name": "Find Contact",
      "value": "find",
      "action": "Find Contact",
      "description": "Gets a contact and all its information",
      "resource": "contact"
    },
    {
      "name": "Create Workspace",
      "value": "create",
      "action": "Create Workspace",
      "description": "Creates a workspace in an account",
      "resource": "workspace"
    },
    {
      "name": "Delete Workspace",
      "value": "delete",
      "action": "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-diviup-connect.diviUpConnect
package_name: n8n-nodes-diviup-connect
display_name: DiviUp Connect
description: Interact with DiviUp Connect API to manage runs and execute agents
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: kdowns22
author_github_url: https://github.com/ParrotLab/
npm_package_name: n8n-nodes-diviup-connect
npm_version: 1.2.2
community_fetched_at: 2026-07-14T14:40:33.474Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run"
        },
        {
          "name": "Agent",
          "value": "agent"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new run",
          "description": "Create a new run container"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a run",
          "description": "Retrieve a run by ID"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a run",
          "description": "Update an existing run status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "run"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "start",
      "options": [
        {
          "name": "Start",
          "value": "start",
          "action": "Start an agent",
          "description": "Execute an agent/module with provided inputs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new run",
      "description": "Create a new run container",
      "resource": "run"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a run",
      "description": "Retrieve a run by ID",
      "resource": "run"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a run",
      "description": "Update an existing run status",
      "resource": "run"
    },
    {
      "name": "Start",
      "value": "start",
      "action": "Start an agent",
      "description": "Execute an agent/module with provided inputs",
      "resource": "agent"
    }
  ]

npm_readme:
  # n8n-nodes-diviup-connect

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

  [DiviUp Connect](https://diviupconnect.com) is a workflow automation platform for managing runs and executing agents.

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

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

  ## Installation

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

  ## Operations

  ### Run
  - **Create** - Create a new run container with optional playbook association and variables
  - **Update** - Update an existing run's status

  ### Agent
  - **Start** - Execute an agent/module with provided inputs (supports sync and async modes)

  ## Credentials

  You need a DiviUp Connect API key to use this node.

  ### Getting your API Key

  1. Log in to your DiviUp Connect account
  2. Navigate to Settings > API Keys
  3. Create a new API key
  4. Copy the key (it starts with `pk_`)

  ### Setting up in n8n

  1. In n8n, create new credentials for "DiviUp Connect API"
  2. Paste your API key in the API Key field
  3. Save the credentials

  ## Compatibility

  Compatible with n8n@1.60.0 or later.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [DiviUp Connect API documentation](https://diviupconnect.com/docs/api)

ai_documentation_summary:
  {"purpose":"A community node that connects n8n workflows to the DiviUp Connect API for managing automation runs and executing agents.","capabilities":["Create new run containers with optional playbook association and variables","Update existing run status","Execute agents/modules in sync mode","Execute agents/modules in async mode"],"authentication":"API key required","commonUseCases":["Automating workflow runs via n8n","Triggering agent execution based on workflow conditions","Managing run status updates programmatically"],"limitations":["Requires DiviUp Connect account and API key","Compatible only with n8n version 1.60.0 or later"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.credentialManager"]}


node_type: n8n-nodes-docugenerate.docuGenerate
package_name: n8n-nodes-docugenerate
display_name: DocuGenerate
description: Automatically generate high-quality PDF documents from Word templates
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: docugenerate
author_github_url: https://github.com/docugenerate/
npm_package_name: n8n-nodes-docugenerate
npm_version: 1.0.1
community_fetched_at: 2026-07-14T14:40:33.475Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "template",
      "options": [
        {
          "name": "Document",
          "value": "document",
          "description": "Manage documents"
        },
        {
          "name": "Template",
          "value": "template",
          "description": "Manage templates"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Delete Document",
          "value": "delete",
          "action": "Delete document",
          "routing": {
            "request": {
              "url": "=/v1/document/{{$parameter.documentId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a document by ID"
        },
        {
          "name": "Generate Document",
          "value": "generate",
          "action": "Generate document",
          "routing": {
            "request": {
              "url": "/v1/document",
              "method": "POST"
            }
          },
          "description": "Generate a document from a template"
        },
        {
          "name": "Get Document",
          "value": "get",
          "action": "Get document",
          "routing": {
            "request": {
              "url": "=/v1/document/{{$parameter.documentId}}",
              "method": "GET"
            }
          },
          "description": "Get a document by ID"
        },
        {
          "name": "List Documents",
          "value": "list",
          "action": "List documents",
          "routing": {
            "request": {
              "url": "=/v1/document?template_id={{$parameter.templateId}}",
              "method": "GET"
            }
          },
          "description": "List documents for a template"
        },
        {
          "name": "Update Document",
          "value": "update",
          "action": "Update document",
          "routing": {
            "request": {
              "url": "=/v1/document/{{$parameter.documentId}}",
              "method": "PUT"
            }
          },
          "description": "Update a document by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Delete Template",
          "value": "delete",
          "action": "Delete template",
          "routing": {
            "request": {
              "url": "=/v1/template/{{$parameter.templateId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a template by ID"
        },
        {
          "name": "Get Template",
          "value": "get",
          "action": "Get template",
          "routing": {
            "request": {
              "url": "=/v1/template/{{$parameter.templateId}}",
              "method": "GET"
            }
          },
          "description": "Get a template by ID"
        },
        {
          "name": "List Templates",
          "value": "list",
          "action": "List templates",
          "routing": {
            "request": {
              "url": "/v1/template",
              "method": "GET"
            }
          },
          "description": "List all templates"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "template"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Delete Document",
      "value": "delete",
      "action": "Delete document",
      "routing": {
        "request": {
          "url": "=/v1/document/{{$parameter.documentId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a document by ID",
      "resource": "document"
    },
    {
      "name": "Generate Document",
      "value": "generate",
      "action": "Generate document",
      "routing": {
        "request": {
          "url": "/v1/document",
          "method": "POST"
        }
      },
      "description": "Generate a document from a template",
      "resource": "document"
    },
    {
      "name": "Get Document",
      "value": "get",
      "action": "Get document",
      "routing": {
        "request": {
          "url": "=/v1/document/{{$parameter.documentId}}",
          "method": "GET"
        }
      },
      "description": "Get a document by ID",
      "resource": "document"
    },
    {
      "name": "List Documents",
      "value": "list",
      "action": "List documents",
      "routing": {
        "request": {
          "url": "=/v1/document?template_id={{$parameter.templateId}}",
          "method": "GET"
        }
      },
      "description": "List documents for a template",
      "resource": "document"
    },
    {
      "name": "Update Document",
      "value": "update",
      "action": "Update document",
      "routing": {
        "request": {
          "url": "=/v1/document/{{$parameter.documentId}}",
          "method": "PUT"
        }
      },
      "description": "Update a document by ID",
      "resource": "document"
    },
    {
      "name": "Delete Template",
      "value": "delete",
      "action": "Delete template",
      "routing": {
        "request": {
          "url": "=/v1/template/{{$parameter.templateId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a template by ID",
      "resource": "template"
    },
    {
      "name": "Get Template",
      "value": "get",
      "action": "Get template",
      "routing": {
        "request": {
          "url": "=/v1/template/{{$parameter.templateId}}",
          "method": "GET"
        }
      },
      "description": "Get a template by ID",
      "resource": "template"
    },
    {
      "name": "List Templates",
      "value": "list",
      "action": "List templates",
      "routing": {
        "request": {
          "url": "/v1/template",
          "method": "GET"
        }
      },
      "description": "List all templates",
      "resource": "template"
    }
  ]

npm_readme:
  # n8n-nodes-docugenerate

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

  DocuGenerate is a powerful document generation service that creates high-quality PDF documents from Word templates using
  merge tags. Automatically populate templates with dynamic data to generate invoices, contracts, reports, and other
  business documents.

  [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

  **Document Operations:**
  - **Generate Document** - Create a document from a template with your data
  - **List Documents** - Get all documents generated from a specific template
  - **Get Document** - Retrieve details of a specific generated document
  - **Update Document** - Change the name of a generated document
  - **Delete Document** - Remove a generated document

  **Template Operations:**
  - **List Templates** - Retrieve all available templates
  - **Get Template** - Fetch details of a specific template including merge tags
  - **Delete Template** - Remove a template from your account

  ## Credentials

  You need a DocuGenerate API Key to use this node.

  ### Prerequisites
  1. Sign up for a [DocuGenerate account](https://app.docugenerate.com/signup)
  2. Get your unique API Key from the Developers tab in the [Settings](https://app.docugenerate.com/settings/developers) page.

  ### Authentication Setup
  1. In n8n, go to **Credentials** → **Create New**
  2. Search for **DocuGenerate API** 
  3. Enter your API Key
  4. Test the connection
  5. Save the credential

  ## Compatibility

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

  ## Usage

  ### Generating Documents

  The most common workflow is generating documents from templates:

  ```
  HTTP Request (get data) → DocuGenerate (Generate Document)
  ```

  **Data Field:** By default, the data field uses `{{ $json }}` to automatically populate with data from the previous
  node. You can also manually customize the JSON structure to match your template's merge tags.

  **Supported Output Formats:**
  - Microsoft Word (.docx, .doc)
  - PDF (.pdf) 
  - OpenDocument (.odt)
  - Plain Text (.txt)
  - PNG (.png)

  ### Template Data Structure

  DocuGenerate templates use merge tags like `[Name]`, `[Address]`, etc. Your data should be structured as JSON arrays:

  ```json
  [{
    "Name": "John Doe",
    "Address": "123 Main St",
    "Items": [
      {"Product": "Widget", "Price": "$10.00"},
      {"Product": "Gadget", "Price": "$15.00"}
    ]
  }]
  ```

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [DocuGenerate API Reference](https://api.docugenerate.com/)
  * [DocuGenerate Website](https://www.docugenerate.com/)
  * [Template Creation Guide](https://www.docugenerate.com/help/templates/)

  ## Version History

  ### 1.0.0 (2025-07-21)
  - Initial release
  - Template and document operations
  - Dynamic template dropdown loading
  - Populate data field with previous node data by default

ai_documentation_summary:
  {"purpose":"Automatically generates high-quality PDF documents and other formats from Word templates using merge tags and dynamic data.","capabilities":["Generate documents from templates","List generated documents","Retrieve specific document details","Update document names","Delete generated documents","List available templates","Fetch template details and merge tags","Delete templates","Supports multiple output formats (PDF, DOCX, ODT, TXT, PNG)"],"authentication":"API Key required","commonUseCases":["Automated invoice generation","Contract creation","Report generation","Personalized business documents"],"limitations":["Community node (not official n8n node)","Requires external DocuGenerate account setup"],"relatedNodes":["HTTP Request","JSON","Code"]}


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

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

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

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

npm_readme:
  # n8n-nodes-urlbox

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

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

  ## Installation

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

  ## Templates

  The Urlbox node includes pre-configured templates:

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

  ## Additional Options

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

  ## Credentials

  You need an Urlbox API key to use this node.

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

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

  ## Compatibility

  Compatible with n8n@1.60.0 or later

  ## Usage

  ### Basic Example

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

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

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

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


node_type: @port-labs/n8n-nodes-portio-experimental.portApiAi
package_name: @port-labs/n8n-nodes-portio-experimental
display_name: Port API AI
description: Invoke Port AI agents, call general AI interactions, and fetch invocation results
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: roiport
author_github_url: https://github.com/port-labs/port-n8n-nodes.git
npm_package_name: @port-labs/n8n-nodes-portio-experimental
npm_version: 1.0.0
community_fetched_at: 2026-07-14T14:40:33.477Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "agent",
      "options": [
        {
          "name": "Agent",
          "value": "agent",
          "description": "Interact with Port AI agents"
        },
        {
          "name": "AI Interaction",
          "value": "aiInteraction",
          "description": "General-purpose AI interactions and invocation results"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "invokeAgent",
      "options": [
        {
          "name": "Invoke",
          "value": "invokeAgent",
          "action": "Invoke an agent",
          "description": "Invoke a specific agent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generalInvoke",
      "options": [
        {
          "name": "Invoke",
          "value": "generalInvoke",
          "action": "Invoke AI interaction",
          "description": "General-purpose AI interaction"
        },
        {
          "name": "Get Result",
          "value": "getInvocation",
          "action": "Get invocation result",
          "description": "Get invocation result"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "aiInteraction"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Invoke",
      "value": "invokeAgent",
      "action": "Invoke an agent",
      "description": "Invoke a specific agent",
      "resource": "agent"
    },
    {
      "name": "Invoke",
      "value": "generalInvoke",
      "action": "Invoke AI interaction",
      "description": "General-purpose AI interaction",
      "resource": "aiInteraction"
    },
    {
      "name": "Get Result",
      "value": "getInvocation",
      "action": "Get invocation result",
      "description": "Get invocation result",
      "resource": "aiInteraction"
    }
  ]

npm_readme:
  # 🧩 @port-labs/n8n-nodes-portio-experimental

  > **Port.io** n8n custom nodes for interacting with [Port](https://www.port.io/) via n8n workflows.

  As of **November 2025**, the focus of this package is on **AI interactions** through Port’s AI APIs. Future releases will expand to additional REST integrations and workflow automations, enabling n8n and Port users to connect multiple tools seamlessly. **This is an experimental package, no support can be provided
  in relation to your use of this package, if you've found a bug or need a feature currently not supported, open a GitHub issue**,

  ---

  ## 🚀 Installation

  ### Option 1 — Install via npm (recommended)

  You can install the package directly from npm:

  ```bash
  npm install @port-labs/n8n-nodes-portio-experimental
  ```

  or using **pnpm**:

  ```bash
  pnpm add @port-labs/n8n-nodes-portio-experimental
  ```

  > **Note:**
  > When installed this way, the nodes will be available in your n8n instance once you configure n8n to load community nodes. To enable this you must set the environment variable `N8N_COMMUNITY_PACKAGES_ENABLED=true` and install the npm packages in N8N_HOME.

  ---

  ### Option 2 — Local installation (development or custom build)

  #### Prerequisites

  - 🧱 A working **n8n** instance (see [this quick-start guide](https://medium.com/@learning.by.playing.2023/getting-started-n8n-with-dockercompose-eb602aaed5c0) for setup via Docker Compose)
  - 📦 `pnpm` installed globally (`npm install -g pnpm`)

  #### Steps

  1. Clone this repository inside your n8n custom nodes directory:

     ```bash
     mkdir -p ./n8n-data/custom
     cd ./n8n-data/custom
     git clone https://github.com/port-labs/n8n-nodes-portio-experimental.git
     cd n8n-nodes-portio-experimental
     ```

  2. Install dependencies and build the TypeScript source:

     ```bash
     pnpm install
     pnpm build
     ```

  3. If the build completes successfully, you’ll see a new `dist` directory containing the compiled nodes.

  ---

  ## 🧭 Quick Start

  ### Adding a Port node in n8n

  1. Create a new workflow in your running n8n instance.  
     ![Create workflow](docs/images/adding_node/1_create_workflow.png)

  2. Set the trigger to **“Manual Trigger”** so you can execute it by clicking.  
     ![Trigger workflow](docs/images/adding_node/2_trigger.png)

  3. Add a new node (`+` button) and search for `port`.  
     ![Search for port](docs/images/adding_node/3_search.png)

  4. Select the **Port.io** node and choose **“General Purpose AI Interaction”**.  
     ![Select node](docs/images/adding_node/4_general.png)

  5. Connect the trigger node to the Port node.  
     ![Connect nodes](docs/images/adding_node/5_connect.png)

  🎉 You’ve just deployed your first Port n8n node!

  ---

  ## 🔐 Adding Your Port Account

  You can store multiple Port credentials in n8n, but we’ll start with one.

  ### Requirements

  - A **Port.io** account with **AI features enabled**
  - Your **Client ID** and **Client Secret** (see [Port API guide](https://docs.port.io/build-your-software-catalog/custom-integration/api/))

  ### Steps

  1. Double-click your Port node.  
  2. Under **“Credential to connect with”**, choose “Create new credential.”  
     ![Create credential](docs/images/adding_credentials/1_create.png)
  3. Enter your Port `client_id` and `client_secret`, then click **Save**.  
     ![Save credential](docs/images/adding_credentials/2_save.png)

  > **Note:**
  > JWT authentication is currently not supported because it’s unsuitable for long-term credential storage. OAuth2 credentials are the recommended method.

  ---

  ## 🧠 Running the Node

  Before execution, ensure:

  - You have a **Manual Trigger** connected to a **Port node**  
  - Credentials are saved  
  - Your Port account has **AI features enabled**

  Then:

  1. Open your AI node and configure the parameters (for example, set a user prompt).  
     ![Parameters](docs/images/first_prompt/1_params.png)

  2. Execute the workflow manually and inspect the node output.  
     ![Result](docs/images/first_prompt/2_result.png)

  ✅ If successful, you’ll see an AI response from Port ready to be passed to subsequent nodes.

  ---

  ## ⚙️ API Endpoints Implemented

  > **Note:**
  > As of November 2025, only **AI prompt** endpoints are supported. Contributions for additional API paths are welcome.

  | Method | Path | Purpose | Path Params | Body (required) | Optional Params | Notes | Success Response |
  |---|---|---|---|---|---|---|---|
  | `POST` | `/v1/agent/:agentIdentifier/invoke` | Invoke a specific agent | `agentIdentifier` | — | `context`, `prompt`, `labels`, `provider`, `model` | Providers: `openai` \| `azure-openai` \| `anthropic` \| `bedrock` \| `port` <br> Models: `gpt-5` \| `claude-sonnet-4-20250514` | JSON agent result |
  | `POST` | `/v1/ai/invoke` | General-purpose AI interaction | — | `invocation_identifier`, `userPrompt`, `tools` | `labels`, `provider`, `model`, `systemPrompt`, `executionMode` | Execution mode: `Automatic` \| `Approval Required` | JSON result |
  | `GET` | `/v1/ai/invoke/:invocation_identifier` | Fetch invocation result | `invocation_identifier` | — | — | — | `{ ok: boolean, result: object }` |

  ---

  ## 🤝 Contributing

  Contributions are welcome!

  1. Fork the repo  
  2. Create a new branch (`feat/awesome-thing`)  
  3. Make your changes  
  4. Submit a PR with a clear description of your update  

  Please include tests and examples when possible.

  ---

  ## 🪪 License

  MIT © [Port Labs](https://www.port.io)

  ---

  ## 📦 Example Usage (code)

  ```javascript
  // Example: Calling a Port AI node programmatically via n8n API

  const axios = require('axios');

  const res = await axios.post('https://n8n.local/api/v1/workflows/1/execute', {
    userPrompt: 'Summarize this README for me!',
    provider: 'openai',
    model: 'gpt-5'
  });

  console.log(res.data);
  ```

  ---

  ## 🏷️ Metadata

  | Field | Value |
  |---|---|
  | **Package name** | `@port-labs/n8n-nodes-portio-experimental` |
  | **Version** | `1.0.0-alpha.5` (experimental release) |
  | **Node type** | Custom n8n nodes |
  | **Focus** | Port AI integrations |
  | **Status** | Experimental / early access |

ai_documentation_summary:
  {"purpose":"This n8n node enables users to invoke Port AI agents, perform general AI interactions, and fetch results from Port's AI APIs within n8n workflows.","capabilities":["Invoke specific Port AI agents by identifier","Perform general-purpose AI interactions with user prompts","Fetch results for previously invoked AI requests","Support multiple AI providers (OpenAI, Azure OpenAI, Anthropic, Bedrock, Port)","Support multiple AI models (gpt-5, claude-sonnet-4-20250514)","Configure execution modes (Automatic, Approval Required)"],"authentication":"API Key (Client ID and Client Secret required; OAuth2 recommended, JWT not supported)","commonUseCases":["Automated customer support responses via Port AI","Integrating AI-driven email drafting or summarization into workflows","Connecting n8n to Port's AI capabilities for business automation"],"limitations":["Only AI prompt endpoints are currently supported; additional REST integrations are planned for future releases","This is an experimental package with no official support for bugs or missing features","JWT authentication is not supported for long-term credential storage"],"relatedNodes":["Port API","Port Agent","Port AI Interaction"]}


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

updated_at: 2026-07-14 14:40:33
author_name: hagairaja-mrscraper
author_github_url: https://github.com/mrscraper-com/
npm_package_name: n8n-nodes-mrscraper
npm_version: 2.2.2
community_fetched_at: 2026-07-14T14:40:33.477Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "rerun",
      "options": [
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Batch Operation",
          "value": "batchOperation"
        },
        {
          "name": "Create Scraper",
          "value": "createScraper"
        },
        {
          "name": "Get Result",
          "value": "result"
        },
        {
          "name": "Rerun Scraper",
          "value": "rerun"
        },
        {
          "name": "Scraping",
          "value": "scraping"
        },
        {
          "name": "SERP",
          "value": "serp"
        },
        {
          "name": "Web Unblocker",
          "value": "webUnblocker"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "manual",
      "options": [
        {
          "name": "Run Manual Scraper",
          "value": "manual",
          "action": "Run manual scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-manual-rerun",
              "method": "POST"
            }
          },
          "description": "Rerun a manual scraper you already created (e.g. at app.mrscraper.com/scrapers/form?mode=manual). Provide the scraper ID and one URL to get the result."
        },
        {
          "name": "Run General Agent Scraper",
          "value": "generalAgent",
          "action": "Run general agent scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-ai-rerun",
              "method": "POST"
            }
          },
          "description": "Rerun a General Agent scraper you created (e.g at app.mrscraper.com/scrapers/form). Provide the scraper ID and one URL to get the result."
        },
        {
          "name": "Run Listing Agent Scraper",
          "value": "listingAgent",
          "action": "Run listing agent scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-ai-rerun",
              "method": "POST"
            }
          },
          "description": "Rerun a Listing Agent scraper you created (e.g at app.mrscraper.com/scrapers/form). Provide the scraper ID and one URL to get the result."
        },
        {
          "name": "Run Map Agent Scraper",
          "value": "mapAgent",
          "action": "Run map agent scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-ai-rerun",
              "method": "POST"
            }
          },
          "description": "Rerun a Map Agent scraper you created (e.g at app.mrscraper.com/scrapers/form). Provide the scraper ID and one URL to get the result."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "rerun"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Results",
          "value": "getMany",
          "action": "Get Results",
          "routing": {
            "request": {
              "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page={{$parameter.page}}&pageSize={{$parameter.pageSize}}&sort={{$parameter.sort}}&sortOrder={{$parameter.sortOrder}}",
              "method": "GET"
            }
          },
          "description": "Get results based on given page number, page size, filters, and sorting by scraper ID"
        },
        {
          "name": "Get Latest Results",
          "value": "getLatest",
          "action": "Get Latest Results",
          "routing": {
            "request": {
              "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page=1&pageSize={{$parameter.pageSize}}&sort=createdAt&sortOrder=DESC",
              "method": "GET"
            }
          },
          "description": "Get N latest results by scraper ID"
        },
        {
          "name": "Get Result Detail",
          "value": "get",
          "action": "Get Result Detail",
          "routing": {
            "request": {
              "url": "=/api/v1/results/{{$parameter.resultId}}",
              "method": "GET"
            }
          },
          "description": "Get a result detail by its result ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "result"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generalAgent",
      "options": [
        {
          "name": "Create General Agent Scraper",
          "value": "generalAgent",
          "action": "Create General Agent",
          "routing": {
            "send": {
              "type": "body",
              "value": "general",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a General Agent (AI) scraper at Mrscraper platform using input link and message"
        },
        {
          "name": "Create Listing Agent Scraper",
          "value": "listingAgent",
          "action": "Create Listing Agent",
          "routing": {
            "send": {
              "type": "body",
              "value": "listing",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a listing agent (AI) scraper at Mrscraper platform using input link and message"
        },
        {
          "name": "Create Map Agent Scraper",
          "value": "mapAgent",
          "action": "Create Map Agent",
          "routing": {
            "send": {
              "type": "body",
              "value": "map",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a map agent (AI) scraper at Mrscraper platform using input link and message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "createScraper"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "accountInformation",
      "options": [
        {
          "name": "Get Account Info",
          "value": "accountInformation",
          "action": "Get Account Info",
          "routing": {
            "request": {
              "url": "/api/v1/subscription-accounts",
              "method": "GET"
            }
          },
          "description": "Get account details including token usage and token limits"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "aiAgent",
      "options": [
        {
          "name": "AI Agent",
          "value": "aiAgent",
          "action": "Create AI Agent Scraper",
          "routing": {
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create an AI agent scraper on the Mrscraper platform. Choose General, Listing, or Map agent type."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "batchScrapeUrls",
      "options": [
        {
          "name": "Batch Scrape URLs",
          "value": "batchScrapeUrls",
          "action": "Batch scrape urls",
          "routing": {
            "request": {
              "url": "={{ $parameter.batchScrapeMode === \"manual\" ? \"/api/v1/scrapers-manual-rerun/bulk\" : \"/api/v1/scrapers-ai-rerun/bulk\" }}",
              "method": "POST"
            }
          },
          "description": "Run multiple URLs in one batch against a scraper you created in the app. Choose AI or manual scraper mode."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "batchOperation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchHTML",
      "options": [
        {
          "name": "Crawl Website Sitemap",
          "value": "mapAgent",
          "action": "Crawl website sitemap",
          "routing": {
            "send": {
              "type": "body",
              "value": "map",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Crawl a website sitemap and extract all URLs up to a limit"
        },
        {
          "name": "Scrape Dynamic Content by Prompt",
          "value": "generalAgent",
          "action": "Scrape dynamic content by prompt",
          "routing": {
            "send": {
              "type": "body",
              "value": "general",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a General Agent (AI) scraper at Mrscraper platform using input link and Prompt to instruct the agent on what data to extract"
        },
        {
          "name": "Scrape Paginated Content",
          "value": "listingAgentPaginated",
          "action": "Scrape paginated content",
          "routing": {
            "request": {
              "qs": {
                "token": "={{$credentials.apiToken}}"
              },
              "url": "/",
              "method": "POST",
              "baseURL": "https://api.mrscraper.com",
              "headers": {
                "Content-Type": "application/json"
              }
            }
          },
          "description": "Listing agent on api.mrscraper.com: send URL, prompt, agent listing, and maxPages for paginated scrape"
        },
        {
          "name": "Scrape Search Results",
          "value": "listingAgent",
          "action": "Scrape search results",
          "routing": {
            "send": {
              "type": "body",
              "value": "listing",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a listing agent (AI) scraper at Mrscraper platform using input link and message"
        },
        {
          "name": "Scrape Structured Data",
          "value": "scrapeStructuredData",
          "action": "Scrape structured data",
          "routing": {
            "send": {
              "type": "body",
              "value": "general",
              "property": "graph"
            },
            "request": {
              "url": "/api/v1/scrapers-ai",
              "method": "POST"
            }
          },
          "description": "Create a General Agent (AI) scraper with a preset schema by category (article, product, hotel, etc.). The prompt is chosen from the selected category."
        },
        {
          "name": "Scrape Web Page",
          "value": "fetchHTML",
          "action": "Scrape web page",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "token": "={{$credentials.apiToken}}",
                "geoCode": "={{$parameter.geoCode ?? \"US\"}}",
                "timeout": "={{$parameter.timeout ?? 120}}",
                "blockResources": "={{$parameter.blockResources ? \"true\" : \"false\"}}"
              },
              "url": "/",
              "method": "GET",
              "baseURL": "https://api.mrscraper.com"
            }
          },
          "description": "Fetch the rendered HTML of a page via the MrScraper stealth browser (JavaScript, bot evasion, optional geo proxy)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scraping"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "syncSerp",
      "options": [
        {
          "name": "Scrape Google SERP",
          "value": "syncSerp",
          "action": "Scrape Google SERP",
          "routing": {
            "request": {
              "url": "/api/google/serp/sync",
              "method": "POST",
              "baseURL": "https://sync.scraper.mrscraper.com",
              "headers": {
                "Authorization": "={{\"Bearer \" + $credentials.apiToken}}"
              }
            }
          },
          "description": "Fetch Google search results synchronously via the MrScraper SERP API"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serp"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchHTML",
      "options": [
        {
          "name": "Fetch Rendered HTML",
          "value": "fetchHTML",
          "action": "Fetch Rendered HTML",
          "routing": {
            "request": {
              "qs": {
                "url": "={{$parameter.url}}",
                "token": "={{$credentials.apiToken}}",
                "geoCode": "={{$parameter.geoCode ?? \"US\"}}",
                "timeout": "={{$parameter.timeout ?? 120}}",
                "blockResources": "={{$parameter.blockResources ? \"true\" : \"false\"}}"
              },
              "url": "/",
              "method": "GET",
              "baseURL": "https://api.mrscraper.com"
            }
          },
          "description": "Fetch the rendered HTML of a page via the MrScraper stealth browser (JavaScript, bot evasion, optional geo proxy)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webUnblocker"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Run Manual Scraper",
      "value": "manual",
      "action": "Run manual scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-manual-rerun",
          "method": "POST"
        }
      },
      "description": "Rerun a manual scraper you already created (e.g. at app.mrscraper.com/scrapers/form?mode=manual). Provide the scraper ID and one URL to get the result.",
      "resource": "rerun"
    },
    {
      "name": "Run General Agent Scraper",
      "value": "generalAgent",
      "action": "Run general agent scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-ai-rerun",
          "method": "POST"
        }
      },
      "description": "Rerun a General Agent scraper you created (e.g at app.mrscraper.com/scrapers/form). Provide the scraper ID and one URL to get the result.",
      "resource": "rerun"
    },
    {
      "name": "Run Listing Agent Scraper",
      "value": "listingAgent",
      "action": "Run listing agent scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-ai-rerun",
          "method": "POST"
        }
      },
      "description": "Rerun a Listing Agent scraper you created (e.g at app.mrscraper.com/scrapers/form). Provide the scraper ID and one URL to get the result.",
      "resource": "rerun"
    },
    {
      "name": "Run Map Agent Scraper",
      "value": "mapAgent",
      "action": "Run map agent scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-ai-rerun",
          "method": "POST"
        }
      },
      "description": "Rerun a Map Agent scraper you created (e.g at app.mrscraper.com/scrapers/form). Provide the scraper ID and one URL to get the result.",
      "resource": "rerun"
    },
    {
      "name": "Get Results",
      "value": "getMany",
      "action": "Get Results",
      "routing": {
        "request": {
          "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page={{$parameter.page}}&pageSize={{$parameter.pageSize}}&sort={{$parameter.sort}}&sortOrder={{$parameter.sortOrder}}",
          "method": "GET"
        }
      },
      "description": "Get results based on given page number, page size, filters, and sorting by scraper ID",
      "resource": "result"
    },
    {
      "name": "Get Latest Results",
      "value": "getLatest",
      "action": "Get Latest Results",
      "routing": {
        "request": {
          "url": "=/api/v1/results?filters[scraperId]={{$parameter.scraperId}}&page=1&pageSize={{$parameter.pageSize}}&sort=createdAt&sortOrder=DESC",
          "method": "GET"
        }
      },
      "description": "Get N latest results by scraper ID",
      "resource": "result"
    },
    {
      "name": "Get Result Detail",
      "value": "get",
      "action": "Get Result Detail",
      "routing": {
        "request": {
          "url": "=/api/v1/results/{{$parameter.resultId}}",
          "method": "GET"
        }
      },
      "description": "Get a result detail by its result ID",
      "resource": "result"
    },
    {
      "name": "Create General Agent Scraper",
      "value": "generalAgent",
      "action": "Create General Agent",
      "routing": {
        "send": {
          "type": "body",
          "value": "general",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a General Agent (AI) scraper at Mrscraper platform using input link and message",
      "resource": "createScraper"
    },
    {
      "name": "Create Listing Agent Scraper",
      "value": "listingAgent",
      "action": "Create Listing Agent",
      "routing": {
        "send": {
          "type": "body",
          "value": "listing",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a listing agent (AI) scraper at Mrscraper platform using input link and message",
      "resource": "createScraper"
    },
    {
      "name": "Create Map Agent Scraper",
      "value": "mapAgent",
      "action": "Create Map Agent",
      "routing": {
        "send": {
          "type": "body",
          "value": "map",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a map agent (AI) scraper at Mrscraper platform using input link and message",
      "resource": "createScraper"
    },
    {
      "name": "Get Account Info",
      "value": "accountInformation",
      "action": "Get Account Info",
      "routing": {
        "request": {
          "url": "/api/v1/subscription-accounts",
          "method": "GET"
        }
      },
      "description": "Get account details including token usage and token limits",
      "resource": "account"
    },
    {
      "name": "AI Agent",
      "value": "aiAgent",
      "action": "Create AI Agent Scraper",
      "routing": {
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create an AI agent scraper on the Mrscraper platform. Choose General, Listing, or Map agent type.",
      "resource": "agent"
    },
    {
      "name": "Batch Scrape URLs",
      "value": "batchScrapeUrls",
      "action": "Batch scrape urls",
      "routing": {
        "request": {
          "url": "={{ $parameter.batchScrapeMode === \"manual\" ? \"/api/v1/scrapers-manual-rerun/bulk\" : \"/api/v1/scrapers-ai-rerun/bulk\" }}",
          "method": "POST"
        }
      },
      "description": "Run multiple URLs in one batch against a scraper you created in the app. Choose AI or manual scraper mode.",
      "resource": "batchOperation"
    },
    {
      "name": "Crawl Website Sitemap",
      "value": "mapAgent",
      "action": "Crawl website sitemap",
      "routing": {
        "send": {
          "type": "body",
          "value": "map",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Crawl a website sitemap and extract all URLs up to a limit",
      "resource": "scraping"
    },
    {
      "name": "Scrape Dynamic Content by Prompt",
      "value": "generalAgent",
      "action": "Scrape dynamic content by prompt",
      "routing": {
        "send": {
          "type": "body",
          "value": "general",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a General Agent (AI) scraper at Mrscraper platform using input link and Prompt to instruct the agent on what data to extract",
      "resource": "scraping"
    },
    {
      "name": "Scrape Paginated Content",
      "value": "listingAgentPaginated",
      "action": "Scrape paginated content",
      "routing": {
        "request": {
          "qs": {
            "token": "={{$credentials.apiToken}}"
          },
          "url": "/",
          "method": "POST",
          "baseURL": "https://api.mrscraper.com",
          "headers": {
            "Content-Type": "application/json"
          }
        }
      },
      "description": "Listing agent on api.mrscraper.com: send URL, prompt, agent listing, and maxPages for paginated scrape",
      "resource": "scraping"
    },
    {
      "name": "Scrape Search Results",
      "value": "listingAgent",
      "action": "Scrape search results",
      "routing": {
        "send": {
          "type": "body",
          "value": "listing",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a listing agent (AI) scraper at Mrscraper platform using input link and message",
      "resource": "scraping"
    },
    {
      "name": "Scrape Structured Data",
      "value": "scrapeStructuredData",
      "action": "Scrape structured data",
      "routing": {
        "send": {
          "type": "body",
          "value": "general",
          "property": "graph"
        },
        "request": {
          "url": "/api/v1/scrapers-ai",
          "method": "POST"
        }
      },
      "description": "Create a General Agent (AI) scraper with a preset schema by category (article, product, hotel, etc.). The prompt is chosen from the selected category.",
      "resource": "scraping"
    },
    {
      "name": "Scrape Web Page",
      "value": "fetchHTML",
      "action": "Scrape web page",
      "routing": {
        "request": {
          "qs": {
            "url": "={{$parameter.url}}",
            "token": "={{$credentials.apiToken}}",
            "geoCode": "={{$parameter.geoCode ?? \"US\"}}",
            "timeout": "={{$parameter.timeout ?? 120}}",
            "blockResources": "={{$parameter.blockResources ? \"true\" : \"false\"}}"
          },
          "url": "/",
          "method": "GET",
          "baseURL": "https://api.mrscraper.com"
        }
      },
      "description": "Fetch the rendered HTML of a page via the MrScraper stealth browser (JavaScript, bot evasion, optional geo proxy)",
      "resource": "scraping"
    },
    {
      "name": "Scrape Google SERP",
      "value": "syncSerp",
      "action": "Scrape Google SERP",
      "routing": {
        "request": {
          "url": "/api/google/serp/sync",
          "method": "POST",
          "baseURL": "https://sync.scraper.mrscraper.com",
          "headers": {
            "Authorization": "={{\"Bearer \" + $credentials.apiToken}}"
          }
        }
      },
      "description": "Fetch Google search results synchronously via the MrScraper SERP API",
      "resource": "serp"
    },
    {
      "name": "Fetch Rendered HTML",
      "value": "fetchHTML",
      "action": "Fetch Rendered HTML",
      "routing": {
        "request": {
          "qs": {
            "url": "={{$parameter.url}}",
            "token": "={{$credentials.apiToken}}",
            "geoCode": "={{$parameter.geoCode ?? \"US\"}}",
            "timeout": "={{$parameter.timeout ?? 120}}",
            "blockResources": "={{$parameter.blockResources ? \"true\" : \"false\"}}"
          },
          "url": "/",
          "method": "GET",
          "baseURL": "https://api.mrscraper.com"
        }
      },
      "description": "Fetch the rendered HTML of a page via the MrScraper stealth browser (JavaScript, bot evasion, optional geo proxy)",
      "resource": "webUnblocker"
    }
  ]

npm_readme:
  # n8n-nodes-mrscraper
  ![](./mrscraper.jpeg)

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

  **MrScraper** is an AI-powered web scraping platform. Create scrapers once (via the app or this node), then run them on any URL. Supports manual step-by-step scrapers, AI agents for detail/listing/map pages, preset structured-data extraction, paginated listing scrapes, batch reruns, and a stealth HTML fetcher.

  - **Main site:** https://mrscraper.com  
  - **API docs:** https://docs.mrscraper.com/docs/getting-started/overview

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

  ## Table of contents

  - [Installation](#installation)
  - [Credentials](#credentials)
  - [Resources & operations](#resources--operations)
    - [Account](#account)
    - [Agent](#agent)
    - [Batch Operation](#batch-operation)
    - [Create Scraper](#create-scraper)
    - [Rerun Scraper](#rerun-scraper)
    - [Get Result](#get-result)
    - [Scraping](#scraping)
    - [SERP](#serp)
    - [Web Unblocker](#web-unblocker)
  - [Usage](#usage)
  - [Compatibility](#compatibility)
  - [Resources & links](#resources--links)
  - [Version history](#version-history)

  ## Installation

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

  ## Credentials

  **MrScraper API** credentials are required. Use your API token from the [MrScraper API Tokens](https://app.mrscraper.com) page.

  ## Resources & operations

  The node exposes **9 resources**. Pick a resource, then choose an operation.

  Most calls use the app API (`api.app.mrscraper.com`). Some operations (paginated listing scrape and stealth HTML) use `api.mrscraper.com` with your token in the query string, as in the MrScraper API.

  ### Account

  - **Get Account Information** – Returns account details, token usage, and token limits.

  ### Agent

  Create AI scrapers directly from n8n (they appear in your MrScraper account):

  - **General Agent** – AI-powered extraction from a single page (detail pages). Sends URL + instructions to build a targeted JSON schema.
  - **Listing Agent** – AI-powered extraction from listing/search pages with pagination, infinite scroll, or “load more”.
  - **Map Agent** – Crawls from a start URL and collects URLs up to a limit (sitemap-style crawling).

  ### Batch Operation

  Run many URLs against a scraper you already created in the app (parallel server-side dispatch):

  - **Batch Scrape URLs** – Choose **AI** or **Manual** mode, provide the scraper ID and a list of URLs. Calls the bulk rerun endpoints (`/api/v1/scrapers-ai-rerun/bulk` or `/api/v1/scrapers-manual-rerun/bulk`).

  ### Create Scraper

  Same as Agent but under the “Create Scraper” resource: create General, Listing, or Map Agent scrapers. Matches the [programmatic creation docs](https://docs.mrscraper.com/docs/guides/programmatically#step-4-create-detail-scraper).

  ### Rerun Scraper

  Re-run existing scrapers (one URL per run). Parameters match the MrScraper platform.

  - **Run Manual Scraper** – Run a manual (step-by-step) scraper created in the app on a new URL.
  - **Run General Agent Scraper** – Run a General Agent scraper on a new URL.
  - **Run Listing Agent Scraper** – Run a Listing Agent scraper on a new URL.
  - **Run Map Agent Scraper** – Run a Map Agent scraper on a new URL.

  ### Get Result

  Read scraping results from MrScraper:

  - **Get Many** – Paginated list with filters and sorting (e.g. by scraper ID, date).
  - **Get Latest** – N most recent results for a scraper.
  - **Get Detail** – Full result by ID (data, screenshots, HTML if available).

  ### Scraping

  Single-step flows that create or run AI scrapers and helpers. Operations are named for what you do in the UI:

  - **Crawl Website Sitemap** – Map Agent: from a start URL, collect URLs up to a limit (`graph: map`).
  - **Scrape Dynamic Content by Prompt** – General Agent: URL + prompt to define what to extract (`graph: general`).
  - **Scrape Search Results** – Listing Agent: URL + message for listing/search pages (`graph: listing`), via the app AI scrapers API.
  - **Scrape Paginated Content** – Listing-style scrape with explicit pagination controls (URL, prompt, `maxPages`, etc.) via `api.mrscraper.com` (token in query).
  - **Scrape Structured Data** – General Agent with a **preset schema by category** (Article, Product, Hotel, Job Posting, Property, Restaurant, and others). The prompt is selected from the chosen category.
  - **Scrape Web Page** – Returns rendered HTML via the MrScraper stealth browser on `api.mrscraper.com` (JavaScript, bot evasion, optional geo proxy, resource blocking). Same family of behavior as **Web Unblocker → Fetch Rendered HTML**, exposed here under Scraping for convenience.

  ### SERP

  - **Scrape Google SERP** – Fetch Google search results synchronously via `sync.scraper.mrscraper.com` (`POST /api/google/serp/sync`). Provide a Google search URL and optionally request raw HTML (`raw: true` by default).

  ### Web Unblocker

  - **Fetch Rendered HTML** – Fetch the rendered HTML of a URL using the MrScraper stealth browser (`api.mrscraper.com`). Options include URL, timeout, geo code, and whether to block images/CSS/fonts for faster loads.

  ## Usage

  1. Create scrapers on the [MrScraper platform](https://app.mrscraper.com) (manual or AI) or create them from n8n via **Agent** or **Create Scraper**.
  2. Enable API access for the scraper (platform or API).
  3. In n8n, use **Rerun Scraper** for one URL per run, or **Batch Operation** to send many URLs to an existing scraper in one request.
  4. Use **Scraping** for single-shot AI creation/scrape flows (dynamic prompt, structured categories, paginated listing API, sitemap crawl, or stealth HTML).
  5. Use **Get Result** to fetch results (Get Many, Get Latest, or Get Detail).
  6. Use **Web Unblocker → Fetch Rendered HTML** (or **Scraping → Scrape Web Page**) when you only need rendered HTML without scraper definitions.
  7. Use **Account** to check token usage and limits.

  ## Compliance & Legal Risk
  > **WARNING**
  > Scraping login-protected pages carries serious legal and compliance risks. Many websites explicitly prohibit automated access in their Terms of Service, and bypassing authentication to scrape content may expose you to legal action including lawsuits, account termination, and financial penalties. By proceeding on scraping login-protected pages, you confirm that you have read and understood the target website's Terms of Service, and you fully accept all legal, financial, and ethical responsibility for your actions.

  ## Resources

  - [n8n community nodes](https://docs.n8n.io/integrations/#community-nodes)
  - [MrScraper API documentation](https://docs.mrscraper.com/docs/getting-started/overview)
  - [MrScraper programmatic guide](https://docs.mrscraper.com/docs/guides/programmatically)
  - [Mrscraper Description & Template](https://n8n.io/integrations/mrscraper/)

ai_documentation_summary:
  {"purpose":"This n8n community node enables workflow automation by interacting with the MrScraper API to extract structured data from websites using AI-powered scraping agents.","capabilities":["Create AI scrapers programmatically (General, Listing, Map agents)","Rerun existing scrapers with parameters matching the MrScraper platform","Retrieve scraping results (Get Many, Get Latest, Get Detail)","Handle pagination, infinite scroll, and load more buttons","Convert URL HTML to targeted JSON structures based on prompts"],"authentication":"API Token (MrScraper API Token required)","commonUseCases":["Extracting structured data from detail pages","Scraping search results or listing pages with pagination","Collecting URLs from complex landing pages","Automating data extraction workflows without coding"],"limitations":["Requires prior setup of scraping agents on the MrScraper platform","Limited to n8n version 2.0.3 (as per tested compatibility)","Manual scraping operations must be configured via the platform first"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-http-request","n8n-nodes-code"]}


node_type: @securevector/n8n-nodes-securevector.secureVector
package_name: @securevector/n8n-nodes-securevector
display_name: SecureVector
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: mss04132020
author_github_url: https://github.com/Secure-Vector/n8n-nodes-securevector.git
npm_package_name: @securevector/n8n-nodes-securevector
npm_version: 0.2.1
community_fetched_at: 2026-07-14T14:40:33.479Z
ai_summary_generated_at: 2026-03-25 22:51:43
description:
  AI security: scan prompts and LLM outputs, gate tool calls, track LLM cost and budget. Cloud by default; Local App transport unlocks tool audit, costs, and device ID.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "prompt",
      "options": [
        {
          "name": "Prompt",
          "value": "prompt",
          "description": "Scan user prompts for AI security threats"
        }
      ],
      "displayName": "Resource",
      "displayOptions": {
        "show": {
          "transport": [
            "cloud"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "resource",
      "type": "options",
      "default": "prompt",
      "options": [
        {
          "name": "Prompt",
          "value": "prompt",
          "description": "Scan user prompts or LLM outputs for security threats"
        },
        {
          "name": "Tool",
          "value": "tools",
          "description": "Tool-permission checks, audit logging, integrity verification"
        },
        {
          "name": "Cost",
          "value": "costs",
          "description": "LLM cost tracking and budget enforcement"
        },
        {
          "name": "System",
          "value": "system",
          "description": "Device identity and system info"
        }
      ],
      "displayName": "Resource",
      "displayOptions": {
        "show": {
          "transport": [
            "local"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scanPrompt",
      "options": [
        {
          "name": "Scan Prompt",
          "value": "scanPrompt",
          "action": "Scan a prompt for AI security threats",
          "description": "Analyze a user prompt for AI security threats before sending to LLM"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ],
          "transport": [
            "cloud"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scanPrompt",
      "options": [
        {
          "name": "Scan Prompt",
          "value": "scanPrompt",
          "action": "Scan a prompt for AI security threats",
          "description": "Analyze a user prompt for AI security threats before sending to LLM"
        },
        {
          "name": "Scan Output",
          "value": "scanOutput",
          "action": "Scan an LLM output for leakage",
          "description": "Analyze an LLM response for PII, secrets, or leakage before returning to user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ],
          "transport": [
            "local"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "checkPermission",
      "options": [
        {
          "name": "Check Permission",
          "value": "checkPermission",
          "action": "Check if a tool call is allowed",
          "description": "Ask the local SecureVector app whether a given tool call should be allowed. Intended for AI-agent workflows where tool choice is dynamic."
        },
        {
          "name": "Log Call",
          "value": "logCall",
          "action": "Log a tool call to the audit chain",
          "description": "Append a row to the tamper-evident audit chain recording a tool-call decision (allow/block/log_only)."
        },
        {
          "name": "Verify Chain",
          "value": "verifyChain",
          "action": "Verify audit chain integrity",
          "description": "Walk the hash-chained audit log and report integrity status. Schedule this in a nightly workflow."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tools"
          ],
          "transport": [
            "local"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "checkBudget",
      "options": [
        {
          "name": "Check Budget",
          "value": "checkBudget",
          "action": "Check today's spend against the configured budget",
          "description": "Return today's spend vs the configured budget for a given agent_id. Use in an IF node to short-circuit over-budget LLM calls."
        },
        {
          "name": "Track",
          "value": "track",
          "action": "Record token usage for an LLM call",
          "description": "Record one LLM call's token usage so the app can compute cost. Place after every LLM node (OpenAI, LangChain Chat Model, or AI Agent)."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "costs"
          ],
          "transport": [
            "local"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDeviceId",
      "options": [
        {
          "name": "Get Device ID",
          "value": "getDeviceId",
          "action": "Get the device id",
          "description": "Return the stable per-machine SecureVector device_id. Useful for fleet attribution."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "system"
          ],
          "transport": [
            "local"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Scan Prompt",
      "value": "scanPrompt",
      "action": "Scan a prompt for AI security threats",
      "description": "Analyze a user prompt for AI security threats before sending to LLM",
      "resource": "prompt"
    },
    {
      "name": "Scan Prompt",
      "value": "scanPrompt",
      "action": "Scan a prompt for AI security threats",
      "description": "Analyze a user prompt for AI security threats before sending to LLM",
      "resource": "prompt"
    },
    {
      "name": "Scan Output",
      "value": "scanOutput",
      "action": "Scan an LLM output for leakage",
      "description": "Analyze an LLM response for PII, secrets, or leakage before returning to user",
      "resource": "prompt"
    },
    {
      "name": "Check Permission",
      "value": "checkPermission",
      "action": "Check if a tool call is allowed",
      "description": "Ask the local SecureVector app whether a given tool call should be allowed. Intended for AI-agent workflows where tool choice is dynamic.",
      "resource": "tools"
    },
    {
      "name": "Log Call",
      "value": "logCall",
      "action": "Log a tool call to the audit chain",
      "description": "Append a row to the tamper-evident audit chain recording a tool-call decision (allow/block/log_only).",
      "resource": "tools"
    },
    {
      "name": "Verify Chain",
      "value": "verifyChain",
      "action": "Verify audit chain integrity",
      "description": "Walk the hash-chained audit log and report integrity status. Schedule this in a nightly workflow.",
      "resource": "tools"
    },
    {
      "name": "Check Budget",
      "value": "checkBudget",
      "action": "Check today's spend against the configured budget",
      "description": "Return today's spend vs the configured budget for a given agent_id. Use in an IF node to short-circuit over-budget LLM calls.",
      "resource": "costs"
    },
    {
      "name": "Track",
      "value": "track",
      "action": "Record token usage for an LLM call",
      "description": "Record one LLM call's token usage so the app can compute cost. Place after every LLM node (OpenAI, LangChain Chat Model, or AI Agent).",
      "resource": "costs"
    },
    {
      "name": "Get Device ID",
      "value": "getDeviceId",
      "action": "Get the device id",
      "description": "Return the stable per-machine SecureVector device_id. Useful for fleet attribution.",
      "resource": "system"
    }
  ]

npm_readme:
  # n8n-nodes-securevector

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

  **AI prompt security scanning for n8n workflows.** Detect prompt injection, jailbreak attempts, and 17+ threat categories in real-time.

  > **⚠️ LEGAL DISCLAIMER**: This software is provided "AS-IS" without warranties. SecureVector makes NO guarantees about security effectiveness. Users assume ALL risk and liability. See [License](#license) for full terms.

  ## Quick Start

  ### Installation

  **Via n8n Community Nodes** (Recommended):
  1. Go to **Settings** → **Community Nodes** → **Install**
  2. Enter: `@securevector/n8n-nodes-securevector`
  3. Restart n8n

  **Via npm**:
  ```bash
  cd ~/.n8n && npm install @securevector/n8n-nodes-securevector
  ```

  ### Setup

  <p align="center"><img src="docs/architecture.svg" alt="n8n workflow → SecureVector node → Cloud or Local App" width="100%"></p>

  The node supports **two transports**, chosen per-node via the `Transport` field:

  | | **Cloud** (default) | **Local App** |
  |---|---|---|
  | Endpoint | `scan.securevector.io` | `http://127.0.0.1:8741` (your machine) |
  | Signup / API key | Required (`sv_xxxxx`) | None — runs on your laptop |
  | Available operations | `Scan Prompt` only | All v0.2.0 operations (scan, tool audit, cost tracking, budget, device ID) |
  | **Pros** | ML-driven analysis (Llama Guard + Bedrock Claude), continuously-updated threat-intel rule library, team alerts via Slack / email / webhooks, custom AI-generated rules tuned to your industry | Runs **100% on your machine** — prompts never leave your network. Tamper-evident hash chain. Free, open-source, no signup. |
  | **Best for** | Production workflows where you want SOC-grade detection + team notifications | Indie devs, regulated industries, anyone who wants prompts to stay local |

  You can mix transports across nodes in the same workflow — e.g., scan with Cloud (better detection), audit + cost-track with Local App.

  ---

  <img src="docs/cloud-setup-badge.svg" alt="Cloud setup" height="32">

  1. **Get an API key** — [open the dashboard](https://app.securevector.io/dashboard?section=access) (or navigate: SecureVector App → Access Management → Create API Key). Format: `sv_xxxxx`.
  2. Add the SecureVector node to your workflow.
  3. Leave **Transport = Cloud** (default) and configure the credential.

  ---

  <img src="docs/local-app-setup-badge.svg" alt="Local App setup" height="32">

  Install + run the local app on your machine:

  ```bash
  pip install securevector-ai-monitor[app]
  securevector-app --web
  ```

  Then add the SecureVector node to your workflow and set **Transport = Local App**. No credential needed.

  ---

  ## Local App — v0.2.0 operations

  All operations below are **local-only** — they require Transport = Local App and depend on machine-local state (hash chain, per-user cost history, device identity).

  | Operation | Endpoint | What it does |
  |---|---|---|
  | **Prompt → Scan Prompt** | `POST /analyze` | Same as cloud — scan a user prompt. |
  | **Prompt → Scan Output** | `POST /analyze` (llm_response=true) | Scan an LLM response for PII / secret / leakage. |
  | **Tools → Check Permission** | `GET /api/tool-permissions/essential` + `/custom` | Ask the app whether a tool call is allowed, blocked, or log-only. |
  | **Tools → Log Call** | `POST /api/tool-permissions/call-audit` | Append a tamper-evident audit row. |
  | **Tools → Verify Chain** | `GET /api/tool-permissions/call-audit/integrity` | Walk the hash chain, return `{ok, total, tampered_at}`. |
  | **Costs → Check Budget** | `GET /api/costs/budget-status` | Today's spend vs configured budget. |
  | **Costs → Track** | `POST /api/costs/track` | Record one LLM call's token usage. |
  | **System → Get Device ID** | `GET /api/system/device-id` | Stable per-machine identifier (for fleet attribution). |

  ### Canonical workflow patterns

  <p align="center"><img src="docs/use-cases.png" alt="Two example n8n workflows showing where SecureVector nodes plug in: A) inline LLM workflow with SV Scan Prompt, OpenAI, SV Scan Output, and SV Cost Track on the message path; B) AI Agent that attaches built-in Call n8n Workflow Tool sub-nodes, each delegating to a sub-workflow that runs SV Check Permission and SV Log Call around the real action" width="100%"></p>

  The diagram above shows the two canonical patterns. **Panel A** is the simple inline pattern — drop SV nodes between a trigger, an LLM node, and a respond node: scan the prompt before, scan the output after, track cost on the way out. **Panel B** is the AI Agent pattern — the agent attaches `Call n8n Workflow Tool` sub-nodes (n8n's built-in tool sub-node, not a SecureVector node) and each one delegates to a sub-workflow that runs `SV → Tool → Check Permission` before invoking the real action. The LLM only ever sees the wrapper name (e.g. `secure_read_file`), so the policy check is unavoidable at runtime.

  **Static LLM workflow — cost-gated content generation:**

  ```
  [Schedule hourly]
    → [SV Check Budget, agent_id=content-bot]
      → IF over_budget = true → [Slack alert] → stop
      → else                  → [OpenAI Message-a-Model, Simplify Output: OFF]
                                 → [SV Track Cost, source=openai_native,
                                       input_tokens = {{$json.usage.prompt_tokens}},
                                       output_tokens = {{$json.usage.completion_tokens}}]
                                 → [Publish to CMS]
  ```

  **Static tool-gating — customer-support chatbot with injection protection:**

  ```
  [Webhook]
    → [SV Scan Prompt, Block on Threat: ON]
      → allow → [OpenAI] → [SV Scan Output, Block on Threat: ON]
                             → allow → [Respond to Webhook]
                             → block → [Respond with fallback] + [SV Log Call action=block]
      → block → [Respond with polite refusal]
  ```

  ### Token paths vary by upstream LLM node

  The SecureVector app never counts tokens itself — it reads what the provider already returned. The `source` dropdown on `Costs → Track` tells the node where to read from:

  | Upstream node | Source | Reads from |
  |---|---|---|
  | OpenAI "Message a Model" (core) | `openai_native` | `$json.usage.prompt_tokens` / `completion_tokens` (Simplify Output OFF) |
  | LangChain Chat Model attached to a Basic LLM Chain | `langchain_chain` | `$json.response.generations[0][0].generationInfo.tokenUsage.{promptTokens, completionTokens}` |
  | AI Agent (Tools Agent) | `agent_execution` | `Get Execution` API fallback — the AI Agent node does not expose tokens in `$json` ([long-standing n8n issue](https://community.n8n.io/t/retrieve-llm-token-usage-in-ai-agents/68714)) |

  ### Gating AI Agent tool calls (Local App transport)

  n8n's verified-community-node rules let each package ship at most one non-trigger node, so this package does not include a Tool sub-node — the gating happens via a sub-workflow that wraps each real tool. The pattern preserves machine-enforced policy checks (the LLM physically cannot invoke the unwrapped tool) while keeping the package Cloud-verifiable.

  #### Prerequisite — register tool actions in the SecureVector app

  Open <http://localhost:8741> → **Tool Permissions** and set each `tool_id` (e.g. `File.read`, `HTTP.request`, `Gmail.send`) to `allow`, `block`, or `log_only`. The `Tool → Check Permission` operation reads from `/api/tool-permissions/essential` + `/api/tool-permissions/custom` at runtime, so app-side changes take effect without restarting n8n.

  #### Workflow shape

  ```
  Main workflow:
    [Trigger] → [AI Agent (Tools Agent)]
                  ← Chat Model                          (OpenAI / Anthropic / Ollama)
                  ← Memory                              (Window Buffer)
                  ← Call n8n Workflow Tool              ← n8n's built-in tool sub-node
                      (workflow id = secure_read_file)
                  ← Call n8n Workflow Tool
                      (workflow id = secure_http_request)

  Sub-workflow "secure_read_file" (workflow id pasted above):
    [Execute Workflow Trigger]
      → [SecureVector · Tool · Check Permission · tool_id=File.read]
          → IF $json.action === 'allow'
                → [Real file-read node]
                → [SecureVector · Tool · Log Call · action=allow]
                → return result
            IF $json.action === 'log_only'
                → [SecureVector · Tool · Log Call · action=log_only]
                → [Real file-read node]
                → return result
            IF $json.action === 'block'
                → [SecureVector · Tool · Log Call · action=block]
                → [Set: { blocked: true, reason: $json.reason }]
                → return
  ```

  #### Why this works

  The agent's LLM only ever sees the wrapper tool (e.g., `secure_read_file`) — it cannot pick the underlying read node directly. By the time the LLM invokes the wrapper, the sub-workflow runs server-side and the policy check is unavoidable. Prompt-engineering the agent to "always run a permission check first" is unreliable; this enforces it at the runtime layer.

  #### Tool description for the LLM

  Configure the **Description** field on each `Call n8n Workflow Tool` so the LLM picks the wrapped variant naturally and handles the block branch:

  > *"Read a file from the local filesystem. Returns `{blocked: true, reason}` when SecureVector policy denies the read — apologize to the user and stop."*

  #### Caching note

  `Tool → Check Permission` performs two HTTP calls per invocation against the local app. If you wrap many tools in the same agent run, expect that overhead per call. The local app is on `127.0.0.1:8741` so latency is sub-millisecond; no additional caching is needed.

  ## Operation Modes

  | Mode | Use Case | Behavior | Configuration | Diagram |
  |------|----------|----------|---------------|---------|
  | **Non-Blocking** | Analysis & logging | Returns scan results, workflow continues regardless of threat | `Block on Threat`: OFF | `Trigger → SecureVector → Next Node` |
  | **Blocking** | Security gate | Stops workflow if threat detected | `Block on Threat`: ON<br>`Threshold`: 0-100<br>`Risk Levels`: Select | `Trigger → SecureVector → [STOP if threat] → Next Node` |
  | **Parallel** | Real-time monitoring | Scan + LLM run simultaneously | `Block on Threat`: OFF<br>Split workflow | `Trigger ──┬→ SecureVector`<br>`          └→ LLM → Merge` |

  ### Mode Details

  **🔓 Non-Blocking (Default)**
  ```
  User Input → SecureVector Scan → IF Node (score > 50?)
                                        ├─ TRUE → Alert Team
                                        └─ FALSE → Send to LLM
  ```
  **Use for**: Logging, metrics, conditional routing

  ---

  **🔒 Blocking (Security Gate)**
  ```
  User Input → SecureVector Scan → LLM Processing
               [THROWS ERROR IF THREAT DETECTED - WORKFLOW STOPS]
  ```
  **Use for**: Preventing malicious prompts from reaching LLM

  ---

  **⚡ Parallel (Async Analysis)**
  ```
  User Input ──┬→ SecureVector Scan ──┐
               └→ LLM Processing ──────→ Merge → Results
  ```
  **Use for**: Performance-critical workflows

  ## Parameters

  | Parameter | Type | Default | Description |
  |-----------|------|---------|-------------|
  | `prompt` | string | - | Text to scan (max 10,000 chars, truncated if longer) |
  | `timeout` | number | 30 | Scan timeout in seconds (1-300) |
  | `includeMetadata` | boolean | false | Include workflow ID in request |
  | `blockOnThreat` | boolean | false | Stop workflow on threat detection |
  | `threatThreshold` | number | 50 | Score threshold for blocking (0-100) |
  | `blockOnRiskLevels` | array | `['critical', 'high']` | Risk levels that trigger blocking |

  ## Output Format

  ```json
  {
    "scanId": "550e8400-e29b-41d4-a716-446655440000",
    "score": 85,
    "riskLevel": "high",
    "threats": [
      {
        "category": "prompt_injection",
        "severity": "high",
        "title": "Potential prompt injection detected",
        "description": "...",
        "confidence": 0.92
      }
    ],
    "timestamp": "2025-12-27T10:30:00.000Z",
    "metadata": {
      "processingTimeMs": 150,
      "version": "1.0.0"
    }
  }
  ```

  **Scoring**: 0 = safe, 100 = maximum threat

  **Risk Levels**: `safe`, `low`, `medium`, `high`, `critical`

  **17 Threat Categories**: prompt_injection, adversarial_attack, model_extraction, data_poisoning, privacy_leak, bias_exploitation, model_inversion, membership_inference, backdoor_attack, evasion_attack, jailbreak_attempt, sensitive_data_exposure, inappropriate_content, malicious_code_generation, social_engineering, misinformation_generation, privilege_escalation

  ## Data Privacy

  **What data is sent to SecureVector API?**

  This node sends **ONLY** the following data to the SecureVector API for analysis:

  1. **Input data** - Any content you provide in the `prompt` parameter (text, prompts, data, or any other input you want analyzed)
  2. **Metadata** (optional) - Only if `includeMetadata` is enabled:
     - Workflow ID
     - Execution ID
     - Source identifier (`n8n-workflow`)

  **Why is this data sent and stored?**

  - **Analysis**: Your input is analyzed for security threats and returned with a threat score
  - **Your auditing**: All data you send is **persisted for your own logging and auditing purposes** - this allows you to review scan history, track which workflows triggered scans, and maintain audit trails

  **What is NOT sent?**

  - API keys or credentials
  - Other node data or variables not explicitly provided
  - Workflow configuration or logic
  - Any data from other nodes in your workflow

  **Important**: Anything you send for analysis will be stored by SecureVector for your auditing and logging purposes. Only send data you consent to being analyzed and stored.

  **Data retention**: See [SecureVector Privacy Policy](https://securevector.io/privacypolicy) for details on how scan data is stored and retained.

  ## Examples

  Importable workflow JSONs in [`examples/`](examples/). Pick the one that matches what you're testing — open it in n8n via **+ Add workflow → ⋯ → Import from File**.

  ### Local App (v0.2.0+)
  | File | What it covers | Imports needed |
  |---|---|---|
  | [`test-workflow-smoke.json`](examples/test-workflow-smoke.json) | **Smallest possible test.** Manual Trigger → SV Get Device ID → SV Verify Audit Chain. Confirms Local App transport works end-to-end with no LLM credentials. | None — runs against the local app on `127.0.0.1:8741` |
  | [`test-workflow-scan-and-block.json`](examples/test-workflow-scan-and-block.json) | **Full scan + audit + cost demo.** Set test inputs → SV Scan Prompt → IF threat → SV Audit (block/allow branches) → SV Cost Track. Exercises 4 of the new operations. | None |
  | [`test-workflow-ai-agent.json`](examples/test-workflow-ai-agent.json) | **AI Agent with sub-workflow tool gating.** Chat Trigger → SV Scan input → AI Agent (Tools Agent) attaching `Call n8n Workflow Tool — secure_read_file` → SV Cost Track (demo: hardcoded 200 in / 80 out tokens). Pair with the sub-workflow below. | OpenAI / Anthropic / Ollama credential and the imported sub-workflow's ID pasted into the `Call n8n Workflow Tool` node. No n8n API key needed for the demo (cost track uses fixed token values). |
  | [`test-workflow-real-tool-stub.json`](examples/test-workflow-real-tool-stub.json) | **Sub-workflow the wrapper delegates to.** Execute Workflow Trigger → `SV Check Permission` (`tool_id=File.read`) → IF action ≠ block → (allow path: stub Set node returning fake file contents + `SV Log Call` action=allow) / (block path: `{blocked, reason}` + `SV Log Call` action=block). Replace the stub Set node with a real Read Binary File / HTTP node when you wire up production. | Used as a sub-workflow target — paste its workflow ID into the `Call n8n Workflow Tool` node above |

  ### Cloud (v0.1.5 patterns)
  | File | What it covers |
  |---|---|
  | [`non-blocking-analysis.json`](examples/non-blocking-analysis.json) | Conditional routing — scan, then route on the result |
  | [`blocking-mode.json`](examples/blocking-mode.json) | Security gate — scan throws if BLOCK, halting the workflow |
  | [`parallel-analysis.json`](examples/parallel-analysis.json) | Async scanning — scan in parallel with the LLM call |

  ### Recommended order

  1. **Smoke** (`test-workflow-smoke.json`) — confirm the Local App transport works in your n8n install.
  2. **Scan + audit + cost** (`test-workflow-scan-and-block.json`) — confirm the new v0.2.0 operations end-to-end against the local app.
  3. **AI Agent with tool gating** (`test-workflow-ai-agent.json` + `test-workflow-real-tool-stub.json`) — import the sub-workflow first, copy its workflow ID into the `Call n8n Workflow Tool` node in the main workflow, then trigger a chat message that asks the agent to send an email.

  ## Troubleshooting

  | Issue | Solution |
  |-------|----------|
  | "Invalid API key" | Verify key format: `sv_xxxxx` at [app.securevector.io](https://app.securevector.io) |
  | "Timeout" | Increase timeout parameter or check network |
  | "Rate limit exceeded" | Wait 60s or upgrade plan |
  | Node not appearing | Restart n8n after installation |

  ## Support

  - **Documentation**: [docs.securevector.io](https://docs.securevector.io)
  - **Issues**: [GitHub Issues](https://github.com/Secure-Vector/n8n-nodes-securevector/issues)
  - **Security**: Report to security@securevector.io (see [SECURITY.md](SECURITY.md))

  ## Development

  ```bash
  git clone https://github.com/Secure-Vector/n8n-nodes-securevector.git
  cd n8n-nodes-securevector
  npm install
  npm test          # Run tests
  npm run build     # Build dist/
  npm link          # Link to local n8n
  ```

  See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

  ## License

  Licensed under [MIT License](LICENSE).

  ### DISCLAIMER

  **THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.**

  **SecureVector makes NO representations or warranties about:**
  - The accuracy, reliability, or completeness of security scans
  - The detection or prevention of security threats
  - The suitability for any particular purpose

  **Users assume ALL risk and liability for:**
  - Use of this software in production environments
  - Any security breaches, data loss, or damages
  - Compliance with applicable laws and regulations

  **This node is a TOOL ONLY. It does not guarantee security.** Users are solely responsible for implementing comprehensive security measures.

  By using this software, you acknowledge that **SecureVector shall not be liable for any claims, damages, or losses** arising from its use.

  ---

  **Copyright © 2025 SecureVector. All rights reserved.**

  ## Security Notes

  ### Development Dependencies
  `npm audit` may show a critical vulnerability in `form-data` (via `n8n-workflow`). **This does not affect the published package** because:

  - `n8n-workflow` is a **peer dependency** (provided by n8n runtime, not bundled)
  - Our package only bundles `zod` (no vulnerabilities)
  - Our code uses **JSON requests**, not multipart/form-data
  - The vulnerability would need to be fixed in n8n core, not this package

  For the latest security updates, keep your n8n installation up to date.

  ### Reporting Security Issues
  Report security issues to: security@securevector.io

ai_documentation_summary:
  {"purpose":"The SecureVector node scans prompts for security threats like prompt injection and jailbreak attempts before they reach an LLM, supporting non-blocking analysis, blocking workflows on threats, and parallel processing modes.","capabilities":["Detects 17+ threat categories including prompt injection, jailbreak attempts, and adversarial attacks","Provides real-time threat scoring (0-100) with risk levels (safe, low, medium, high, critical)","Supports non-blocking mode for logging and conditional routing","Supports blocking mode to stop workflows when threats exceed configured thresholds","Supports parallel mode for simultaneous scanning and LLM processing","Configurable timeout settings (1-300 seconds)","Optional metadata inclusion (workflow ID, execution ID) for auditing"],"authentication":"API key required (format: sv_xxxxx, obtained from SecureVector app dashboard)","commonUseCases":["Security gate for production LLM workflows","Logging and auditing of user prompts","Conditional routing based on threat scores","Real-time monitoring of high-volume prompt traffic"],"limitations":["Data privacy: Input prompts are sent to SecureVector API and stored for auditing/logging purposes","Input length limit: Maximum 10,000 characters per prompt (truncated if longer)","Rate limiting: May require waiting 60s or upgrading plan if exceeded","No guarantees on security effectiveness as per MIT license"],"relatedNodes":["If Node","Error Trigger","Merge Node","Split In Batches","HTTP Request"]}


node_type: n8n-nodes-addtowallet.addToWallet
package_name: n8n-nodes-addtowallet
display_name: Add To Wallet
description: Create digital wallet passes via AddToWallet API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: addtowallet-npm
author_github_url: https://github.com/AddToWalletCo/addtowallet-node.git
npm_package_name: n8n-nodes-addtowallet
npm_version: 1.1.8
community_fetched_at: 2026-07-14T14:40:33.480Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "pass",
      "options": [
        {
          "name": "Pass",
          "value": "pass"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a pass",
          "description": "Create a new wallet pass"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pass"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a pass",
      "description": "Create a new wallet pass",
      "resource": "pass"
    }
  ]

npm_readme:
  # n8n-nodes-add-to-wallet

  This is an n8n community node. It lets you use _app/service name_ in your n8n workflows.

  _App/service name_ is _one or two sentences describing the service this node integrates with_.

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

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

  ## Installation

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

  ## Operations

  _List the operations supported by your node._

  ## Credentials

  _If users need to authenticate with the app/service, provide details here. You should include prerequisites (such as signing up with the service), available authentication methods, and how to set them up._

  ## Compatibility

  _State the minimum n8n version, as well as which versions you test against. You can also include any known version incompatibility issues._

  ## Usage

  _This is an optional section. Use it to help users with any difficult or confusing aspects of the node._

  _By the time users are looking for community nodes, they probably already know n8n basics. But if you expect new users, you can link to the [Try it out](https://docs.n8n.io/try-it-out/) documentation to help them get started._

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * _Link to app/service documentation._

  ## Version history

  _This is another optional section. If your node has multiple versions, include a short description of available versions and what changed, as well as any compatibility impact._

ai_documentation_summary:
  {"purpose":"Creates digital wallet passes by integrating with the AddToWallet API within n8n workflows.","capabilities":["Create digital wallet passes","Integrate with AddToWallet API"],"authentication":"Not specified in README","commonUseCases":["Automating digital wallet pass creation","Integrating wallet services into n8n workflows"],"limitations":["Authentication method not documented","No specific compatibility information provided"],"relatedNodes":[]}


node_type: n8n-nodes-cyberpulse-compliance-dev.cyberPulseCompliance
package_name: n8n-nodes-cyberpulse-compliance-dev
display_name: CyberPulse Compliance (Dev)
description: Evaluate a control & evidence, map to selected frameworks, and return a score/status.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: gitadta
author_github_url: https://github.com/gitadta/cyberpulse-node-dev.git
npm_package_name: n8n-nodes-cyberpulse-compliance-dev
npm_version: 0.0.51
community_fetched_at: 2026-07-14T14:40:33.481Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "complianceControl",
      "options": [
        {
          "name": "Compliance Control",
          "value": "complianceControl"
        }
      ],
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "evaluate",
      "options": [
        {
          "name": "Evaluate",
          "value": "evaluate",
          "action": "Evaluate compliance control",
          "description": "Evaluate a control against frameworks"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "complianceControl"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "name": "Evaluate",
      "value": "evaluate",
      "action": "Evaluate compliance control",
      "description": "Evaluate a control against frameworks",
      "resource": "complianceControl"
    }
  ]

npm_readme:
  ## Try it in 60 seconds

  1) Download the ready-to-import workflow:
     - **Raw JSON (direct import)**  
       https://raw.githubusercontent.com/gitadta/cyberpulse-node-dev/main/examples/cyberpulse-template.json
     - **Browse in GitHub (human-readable)**  
       https://github.com/gitadta/cyberpulse-node-dev/blob/main/examples/cyberpulse-template.json

  2) In n8n: **Workflows → Import from file** and select the JSON.

  3) When prompted, select/create the **Header Auth** credential (paste your CyberPulse API key as the `Authorization` header value, e.g. `Bearer <YOUR_KEY>`).

  4) Click **Execute workflow**.


  ## Getting Started (3 steps)

  1) Install node: **Community Nodes → n8n-nodes-cyberpulse-compliance-dev**
  2) Create credentials: **HTTP Header Auth** → Header **x-api-key** → paste your CyberPulse API key → **Save**
  3) Import and run: `examples/cyberpulse-template.json` (works with free tier)

  ## Pricing
  - **Starter (Free):** 100 evaluations/month, community support
  - **Pro ($29/mo):** 1,000/mo, 30-day retention, metrics, email support
  - **Business ($99/mo):** 5,000/mo, 90-day retention, audit logs export, priority support
  - **Enterprise (Custom):** SSO, custom retention, dedicated support

  ## Limits & Errors
  - Over cap → `{"error":"quota_exceeded","upgrade_url":"https://cyberpulsesolutions.com/pricing"}`
  - Burst too fast → `{"error":"rate_limited","retry_after_seconds":60}`
  - Missing key → `{"error":"auth_required","message":"Add API key in node credentials"}`

  # CyberPulse Compliance (n8n Community Node)

  [![npm version](https://img.shields.io/npm/v/n8n-nodes-cyberpulse-compliance.svg)](https://www.npmjs.com/package/n8n-nodes-cyberpulse-compliance)
  [![GitHub issues](https://img.shields.io/github/issues/gitadta/n8n-nodes-cyberpulse-compliance)](https://github.com/gitadta/n8n-nodes-cyberpulse-compliance/issues)
  [![GitHub stars](https://img.shields.io/github/stars/gitadta/n8n-nodes-cyberpulse-compliance)](https://github.com/gitadta/n8n-nodes-cyberpulse-compliance/stargazers)
  [![License](https://img.shields.io/npm/l/n8n-nodes-cyberpulse-compliance.svg)](./LICENSE)

  Custom n8n node that evaluates compliance controls against major frameworks (ISO 27001, NIST CSF, PCI DSS, Essential Eight, GDPR, etc.).

  ---

  ## ✨ Features
  - Classifies control text into categories: MFA, Encryption, Logging, Backups, Patching, Access Reviews  
  - Validates evidence links  
  - Returns compliance status: **Compliant / Partial / Non-Compliant**  
  - Maps controls to frameworks via external `crosswalk.json`  

  ---

  ## 🚀 Installation
  1. In n8n, go to **Settings → Community Nodes → Install**  
  2. Enter:
     ```bash
     n8n-nodes-cyberpulse-compliance-dev
  🔧 Usage

  Example workflow:

  Add CyberPulse Compliance Node in your workflow

  Provide compliance control text or questionnaire input

  The node validates and classifies the response

  Outputs can be routed to Google Sheets, Email, or Dashboards

  Example Input:

  PCI DSS Control 1.2 – Is a firewall deployed?


  Example Output:

  Compliant | Partial | Non-Compliant (with notes and framework mapping)

  ### Links
  - [npm package](https://www.npmjs.com/package/n8n-nodes-cyberpulse-compliance-dev)
  - [GitHub repository](https://github.com/gitadta/cyberpulse-node-dev)
  - [Report issues](https://github.com/gitadta/cyberpulse-node-dev/issues)


  📜 License

  This project is licensed under the MIT License

ai_documentation_summary:
  {"purpose":"Evaluates compliance controls and evidence against major frameworks (ISO 27001, NIST CSF, PCI DSS, etc.) and returns a compliance score or status.","capabilities":["Classifies control text into categories (MFA, Encryption, Logging, Backups, Patching, Access Reviews)","Validates evidence links","Maps controls to frameworks via external crosswalk.json","Returns compliance status (Compliant, Partial, Non-Compliant)","Supports free tier with 100 evaluations/month"],"authentication":"HTTP Header Auth (API key required in 'x-api-key' header)","commonUseCases":["Automated compliance questionnaire evaluation","Mapping internal controls to external frameworks","Generating compliance reports for audits"],"limitations":["Free tier limited to 100 evaluations/month","Rate limiting applies (60s retry after burst)","Requires manual API key configuration","Crosswalk mapping depends on external file availability"],"relatedNodes":["n8n-nodes-http-request","n8n-nodes-gsheet","n8n-nodes-email"]}


node_type: n8n-nodes-alive5.alive5
package_name: n8n-nodes-alive5
display_name: Alive5
description: Send SMS messages via alive5 API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: assadvirgo
author_github_url: https://github.com/wearealive5/
npm_package_name: n8n-nodes-alive5
npm_version: 1.0.27
community_fetched_at: 2026-07-14T14:40:33.482Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "sms",
      "options": [
        {
          "name": "SMS",
          "value": "sms"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "action": "Send an SMS message",
          "description": "Send an SMS message"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sms"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send",
      "value": "send",
      "action": "Send an SMS message",
      "description": "Send an SMS message",
      "resource": "sms"
    }
  ]

npm_readme:
  ![Banner image](https://go.alive5.com/images/alive5-banner-1584x396.png)

  # n8n-nodes-alive5

  This is an n8n community node package for Alive5:

  - Send SMS messages (Action node)
  - Trigger workflows when a new message is received (Trigger node)

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

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

  ## Installation

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

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

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

  ## Operations

  - **Send SMS**
    - Send SMS messages via Alive5 API
    - Dynamically select a Channel with a valid phone number
    - Dynamically select a User (Admin or Agent) from the selected Channel
  - **On Message Received (Trigger)**
    - Automatically start a workflow when a new message is received in Alive5
    - Dynamically select a Channel (business line) to listen on
    - Automatically registers and cleans up webhooks on activation/deactivation

  ## Credentials

  The node requires the following credentials:

  - **Alive5 API**
    - API Key: Your Alive5 API key
    - API Base URL: The base URL for the Alive5 API (default: https://api.alive5.com/public/1.1)
    - To obtain an Alive5 SMS account and API key, please contact us at support@alive5.com, view our website at https://www.alive5.com, or book a demo at https://demo.alive5.com

  ## Compatibility

  This node has been tested with n8n version 1.0.0 and above.

  ## Usage

  ### Send SMS

  This operation allows you to send SMS messages using the Alive5 API.

  #### Parameters

  - **From phone Number**
    - The phone number to send the SMS from (e.g., +1234567890)
  - **To phone number**
    - The phone number to send the SMS to (e.g., +1234567890)
  - **Message**
    - The text message to send
  - **Channel**
    - Dynamically select a Channel with a valid phone number
  - **User**
    - Dynamically select a User (Admin or Agent) from the selected Channel

  #### Example

  ```json
  {
  	"nodes": [
  		{
  			"parameters": {
  				"fromPhoneNumber": "+1234567890",
  				"toPhoneNumber": "+1234567890",
  				"message": "Hello from n8n!",
  				"channel": "Channel Name",
  				"agent": "Agent Name"
  			},
  			"name": "Send SMS",
  			"type": "n8n-nodes-alive5.SendSMS",
  			"typeVersion": 1,
  			"position": [300, 300]
  		}
  	],
  	"connections": {}
  }
  ```

  1. Add the Alive5 node to your workflow.
  2. Configure the Alive5 API credentials with your API key.
  3. Set the required parameters:
     - **From phone number**: Your sender phone number.
     - **To phone number**: Recipient's phone number.
     - **Message**: Your SMS message.
     - **Channel**: Select a Channel with a valid phone number.
     - **User**: Select a User (Admin or Agent) from the selected Channel.
  4. Execute the workflow to send the SMS.

  ### On Message Received (Trigger)

  This trigger starts a workflow when Alive5 sends an inbound message event to n8n.

  #### Parameters

  - **Channel**
    - Dynamically select which Alive5 Channel (business line) to listen on

  #### Activation / Deactivation behavior

  - **On activation**: n8n registers your workflow webhook URL in Alive5 for the selected channel
  - **On deactivation**: n8n removes the registered webhook URL from Alive5

  Alive5 webhook registration endpoint used by this node:

  - `POST /1.0/channel/register-webhook-url` with form fields `action=add|remove`, `channel_id`, `webhook_url`

  #### Output

  The trigger outputs the received webhook JSON payload as-is (raw body), so your workflow can map fields like sender phone number, message content, channel id, and timestamp.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Alive5 API Documentation](https://support.alive5.com/public-api-overview)

  ## License

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

ai_documentation_summary:
  {"purpose":"An n8n community node that enables sending SMS messages via the Alive5 API and triggers workflows when new messages are received.","capabilities":["Send SMS messages with dynamic channel and user selection","Trigger workflows on inbound message receipt","Automatically register and clean up webhooks for channel activation/deactivation","Support for Admin and Agent user roles within selected channels"],"authentication":"API Key required (configured via Alive5 API credentials with optional Base URL)","commonUseCases":["Automated customer notifications and alerts via SMS","Two-factor authentication (2FA) code delivery","Receiving SMS-based triggers to initiate business workflows","Monitoring SMS channels for real-time event processing"],"limitations":["Requires separate Alive5 account and API key (must contact Alive5 support)","Compatible only with n8n version 1.0.0 and above","Trigger outputs raw webhook payload requiring manual field mapping in workflows"],"relatedNodes":["n8n-nodes-alive5.SendSMS","n8n-nodes-alive5.OnMessageReceived","n8n-nodes-http.request"]}


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-07-14 14:40:33
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-07-14T14:40:33.483Z
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:
  [
    {
      "name": "Send",
      "value": "send",
      "action": "Send an SMS",
      "description": "Send a single SMS",
      "resource": "message"
    },
    {
      "name": "Verification OTP",
      "value": "verification",
      "action": "Send OTP verification",
      "description": "Send OTP verification code",
      "resource": "message"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many SMS",
      "description": "Get many SMS history",
      "resource": "message"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a Message",
      "description": "Get a specific message",
      "resource": "message"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a contact",
      "description": "Create a new contact",
      "resource": "contact"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all contacts",
      "description": "Get all contacts",
      "resource": "contact"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all groups",
      "description": "Get all groups",
      "resource": "group"
    },
    {
      "name": "Get Balance",
      "value": "getBalance",
      "action": "Get account balance",
      "description": "Get account balance",
      "resource": "account"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all purchases",
      "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: n8n-nodes-carbone.carbone
package_name: n8n-nodes-carbone
display_name: Carbone
description: Interact with Carbone.io API to manage templates and generate documents
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: steevepay
author_github_url: https://github.com/carboneio/
npm_package_name: n8n-nodes-carbone
npm_version: 2.0.0
community_fetched_at: 2026-07-14T14:40:33.484Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "template",
      "options": [
        {
          "name": "Convert Document",
          "value": "convertDocument"
        },
        {
          "name": "Render Document",
          "value": "renderDocument"
        },
        {
          "name": "Template",
          "value": "template"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "convertHtmlToPdf",
      "options": [
        {
          "name": "Convert HTML to PDF",
          "value": "convertHtmlToPdf",
          "action": "Convert HTML to PDF",
          "description": "Convert an HTML document to PDF using the Chromium rendering engine for high-fidelity output"
        },
        {
          "name": "Convert Office to PDF",
          "value": "convertOfficeToPdf",
          "action": "Convert office to pdf",
          "description": "Convert an Office document (DOCX, XLSX, PPTX, ODT, ODS, ODP, ODG) to PDF"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "convertDocument"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete template",
          "description": "Delete a template from Carbone.io"
        },
        {
          "name": "Download",
          "value": "download",
          "action": "Download template",
          "description": "Download a template or a specific version from Carbone.io"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List templates",
          "description": "List templates from Carbone.io"
        },
        {
          "name": "List Categories",
          "value": "listCategories",
          "action": "List template categories",
          "description": "List all template categories from Carbone.io"
        },
        {
          "name": "List Tags",
          "value": "listTags",
          "action": "List template tags",
          "description": "List all template tags from Carbone.io"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update template",
          "description": "Update the metadata of an existing template"
        },
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload template",
          "description": "Upload a template to Carbone.io"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "template"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate document",
          "description": "Generate a document by merging data into a template"
        },
        {
          "name": "Download Document",
          "value": "get",
          "action": "Download generated document",
          "description": "Download a document previously generated using its Render ID. Use this after a \"Generate\" with \"Return Render ID\" enabled or an asynchronous webhook generation."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "renderDocument"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Convert HTML to PDF",
      "value": "convertHtmlToPdf",
      "action": "Convert HTML to PDF",
      "description": "Convert an HTML document to PDF using the Chromium rendering engine for high-fidelity output",
      "resource": "convertDocument"
    },
    {
      "name": "Convert Office to PDF",
      "value": "convertOfficeToPdf",
      "action": "Convert office to pdf",
      "description": "Convert an Office document (DOCX, XLSX, PPTX, ODT, ODS, ODP, ODG) to PDF",
      "resource": "convertDocument"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete template",
      "description": "Delete a template from Carbone.io",
      "resource": "template"
    },
    {
      "name": "Download",
      "value": "download",
      "action": "Download template",
      "description": "Download a template or a specific version from Carbone.io",
      "resource": "template"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List templates",
      "description": "List templates from Carbone.io",
      "resource": "template"
    },
    {
      "name": "List Categories",
      "value": "listCategories",
      "action": "List template categories",
      "description": "List all template categories from Carbone.io",
      "resource": "template"
    },
    {
      "name": "List Tags",
      "value": "listTags",
      "action": "List template tags",
      "description": "List all template tags from Carbone.io",
      "resource": "template"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update template",
      "description": "Update the metadata of an existing template",
      "resource": "template"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload template",
      "description": "Upload a template to Carbone.io",
      "resource": "template"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate document",
      "description": "Generate a document by merging data into a template",
      "resource": "renderDocument"
    },
    {
      "name": "Download Document",
      "value": "get",
      "action": "Download generated document",
      "description": "Download a document previously generated using its Render ID. Use this after a \"Generate\" with \"Return Render ID\" enabled or an asynchronous webhook generation.",
      "resource": "renderDocument"
    }
  ]

npm_readme:
  # n8n-nodes-carbone

  An n8n community node to automate document generation and conversion using [Carbone.io](https://carbone.io/) — directly from your n8n workflows.

  **What is Carbone.io?**
  Carbone.io is a document generation API that merges JSON data into templates (DOCX, XLSX, PPTX, ODT, HTML, and more) to produce professional documents in any format — PDF, DOCX, XLSX, CSV, PNG, and beyond. It uses a simple `{d.variableName}` tag syntax inside your existing Office or LibreOffice templates, with no design constraints and no proprietary editor.

  **What this node does**
  - **Generate documents** — merge JSON data into a template and output a file in any supported format (PDF, DOCX, XLSX, ODT, PPTX, HTML, CSV, PNG, and more)
  - **Convert documents to PDF** — convert HTML pages or Office files (DOCX, XLSX, PPTX, ODT…) to PDF using Chromium, LibreOffice, or OnlyOffice
  - **Manage templates** — upload, update, delete, list, search, and download templates stored on Carbone.io; organize them with categories and tags
  - **Asynchronous generation** — trigger document generation via webhook for large or complex documents (up to 5 minutes)
  - **Batch generation** — generate one document per item in a JSON array, returned as a ZIP or merged PDF

  **Common use cases**
  - Invoices, quotes, and receipts from billing data
  - Contracts and agreements populated with customer details
  - Financial, sales, and operational reports with tables and charts
  - Certificates of completion for training or events
  - Shipping labels and packing slips
  - Personalized letters and mass mail campaigns
  - Any document that combines a fixed layout with dynamic data

  **Supports Carbone API v4 and v5.**

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

  ## Installation

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

  ## Operations

  ### Convert Document

  #### Convert HTML to PDF
  Convert an HTML document to PDF using the Chromium rendering engine for high-fidelity output.

  **HTML Source** (choose one):
  - **URL**: The URL of the webpage to convert to PDF.
  - **File**: Upload an HTML or XHTML file to convert to PDF. To inject dynamic data, use the action "Generate a Document" instead.
  - **Template ID**: Pick a static HTML template stored on Carbone from the autocomplete list. To inject dynamic data using Carbone tags such as `{d.value}`, use the action "Generate a Document" instead.
  - **Raw HTML**: Paste or map your raw HTML code directly. To inject dynamic data, use the action "Generate a Document" instead.

  #### Convert Office to PDF
  Convert an Office document (DOCX, XLSX, PPTX, ODT, ODS, ODP, ODG) to PDF.

  **Office Source** (choose one):
  - **File**: Upload an Office document to convert to PDF. Supported formats: DOCX, XLSX, PPTX, ODT, ODS, ODP, ODG. To inject dynamic data, use the action "Generate a Document" instead.
  - **Template ID**: Pick a static Office template stored on Carbone from the autocomplete list. To inject dynamic data using Carbone tags such as `{d.value}`, use the action "Generate a Document" instead.

  **Parameters:**
  - **Converter**: PDF rendering engine — `LibreOffice` (default, best for ODT/ODS/ODP) or `OnlyOffice` (best for DOCX/XLSX/PPTX)

  ### Render Document

  #### Generate Document
  Generate a document by merging data into a template.

  **Parameters:**
  - **Template Source**: Where the template comes from — three options:
    - **Template ID** *(default)*: Use a template stored on Carbone. Select from the autocomplete list or enter an ID manually.
    - **File**: Use a template file from a previous node (DOCX, XLSX, PPTX, ODT, HTML…). Provide the binary property name. The node encodes it to base64 automatically.
    - **Base64 String**: Provide the template as a base64-encoded string directly.
  - **Template ID**: The template ID to use (when Template Source is "Template ID")
  - **Binary Property Name**: The binary field from the previous node that contains the template file (when Template Source is "File")
  - **Template (Base64)**: The template file encoded as a base64 string (when Template Source is "Base64 String")
  - **Data**: Data merged into the template. Accessible via `{d.}` tags (e.g. `{d.firstName}`)
  - **Convert To**: Convert the document into another format. Defaults to the template's native format. Supported: PDF, DOCX, XLSX, ODT, ODS, ODP, PPTX, PPT, DOC, CSV, HTML, XML, RTF, TXT, SVG, PNG, JPG, GIF, TIFF, WEBP, EPUB, IDML, Markdown, and more
  - **Converter**: PDF rendering engine — shown only when "Convert To" is set to PDF. `LibreOffice` (default, best for ODT/ODS/ODP), `OnlyOffice` (best for DOCX/XLSX/PPTX), `Chromium` (best for HTML)
  - **Return Render ID**: When enabled, returns a Render ID instead of the file. Use the Render ID with "Download Document" to retrieve the file. The document is available for one hour and can be downloaded once.

  **Document Generation Additional Options:**
  - **Batch Output**: Output format for batch processing — `zip` (individual files) or `pdf` (merged into one PDF)
  - **Batch Split By**: JSON path to an array in your data for batch document generation (e.g. `d.items` generates one document per item)
  - **Complement**: Extra data merged into the template, accessible via `{c.}` tags (e.g. `{c.companyName}`)
  - **Currency Rates**: Exchange rate mappings for the `formatC` formatter
  - **Currency Source**: Source currency code (e.g. `EUR`)
  - **Currency Target**: Target currency code (e.g. `USD`)
  - **Document Name**: Name of the generated document file. Supports Carbone template syntax (e.g. `invoice-{d.name}.pdf`)
  - **Enum**: Enumeration lists for the `convEnum` formatter
  - **Hard Refresh**: Refresh report content after rendering. Use only for Table of Contents numbering in DOCX/ODT documents
  - **Language**: Locale of the generated document (e.g. `fr-FR`, `en-US`). Affects `formatN`, `formatD`, `formatI` formatters and `{t()}` translations
  - **Timezone**: Convert document dates to a timezone (e.g. `Europe/Paris`). Affects `formatD` and `formatI` formatters
  - **Translations**: Localization dictionary keyed by locale codes. All text in `{t()}` tags is replaced with the corresponding translation. Requires "Language" to be set
  - **Variable String**: Predefined aliases using Carbone template syntax (e.g. `{#def = d.ID}`)
  - **Webhook URL**: Enable asynchronous generation (up to 5 min). Carbone POSTs a Render ID to this URL when the document is ready. Use "Download Document" to retrieve it

  #### Download Document
  Download a document previously generated using its Render ID. Use this after a "Generate" with "Return Render ID" enabled or an asynchronous webhook generation.

  **Parameters:**
  - **Render ID**: The render ID of the generated document to retrieve

  ### Templates

  #### List Templates
  Retrieve a list of all templates from your Carbone.io account with optional filtering capabilities.

  **Parameters:**
  - **Template ID**: Filter by specific template ID
  - **Version ID**: Filter by specific version ID
  - **Category**: Filter by template category
  - **Include Versions**: Include all versions for a specific template ID
  - **Origin**: Filter by template origin — All, API (created via API), or Studio (created via Carbone Studio)
  - **Search**: Search in template name (fuzzy search), version ID (exact) or template ID (exact)
  - **Limit**: Maximum number of results to return (default: 50)
  - **Cursor**: Cursor for pagination

  #### List Categories
  Retrieve all template categories available in your Carbone.io account.

  #### List Tags
  Retrieve all template tags available in your Carbone.io account.

  #### Upload Template
  Upload a new template file to Carbone.io or add a new version to an existing template.

  **Parameters:**
  - **Binary Property Name**: The name of the binary property that contains the template file
  - **Add Version To**: Select an existing template to add a new version to (supports "From List" picker or manual ID input). Leave empty to create a new template.
  - **Template Additional Options**:
    - **Category**: Dynamic dropdown populated from your Carbone.io categories (`GET /templates/categories`)
    - **Deployed At**: When a report is generated using the new template ID, Carbone selects the template version with the highest deployedAt timestamp that is not in the future
    - **Enable Versioning**: Whether to enable template versioning (default: true)
    - **Expire At**: Expiration date after which the template is no longer accessible
    - **Tags**: Dynamic multi-select dropdown populated from your Carbone.io tags (`GET /templates/tags`)
    - **Template Comment**: Comment for the template
    - **Template Name**: Name for the template

  #### Update Template
  Update the metadata of an existing template (name, comment, category, tags, deployedAt, expireAt) without re-uploading the file.

  **Parameters:**
  - **Template ID**: The unique identifier of the template to update (supports "From List" picker or manual ID input)
  - **Update Fields**:
    - **Category**: Dynamic dropdown populated from your Carbone.io categories
    - **Comment**: New comment for the template
    - **Deployed At**: New deployment date
    - **Expire At**: New expiration date
    - **Name**: New name for the template
    - **Tags**: Dynamic multi-select dropdown populated from your Carbone.io tags

  #### Delete Template
  Delete a template from your Carbone.io account.

  **Parameters:**
  - **Template ID**: The unique identifier of the template to delete


  ## Credentials

  To use the Carbone.io node, you need to authenticate with your Carbone.io account.

  ### Prerequisites
  1. Sign up for a Carbone.io account at [carbone.io](https://carbone.io/)
  2. Obtain your API key from your Carbone.io dashboard

  ### Authentication Setup
  1. **API Key**: Your Carbone.io API key for authentication
  2. **API URL**: The base URL for Carbone.io API (default: https://api.carbone.io)
     - Change this if you're using a self-hosted instance
  3. **Carbone API Version**: The version of the Carbone API to use (4 or 5, default: 5)

  The node uses Bearer token authentication with the Authorization header and includes the carbone-version header for API versioning.

  ## Development

  ### Import Test Workflows

  Test workflows are stored in the `test/` folder. You can import them manually once your local n8n instance is running (`npm run dev`):

  1. Open your n8n instance at `http://localhost:5678`
  2. Go to **Workflows** → **Import from file**
  3. Select the workflow JSON files from the `test/` folder

  > Import each workflow once after cloning or when workflows are updated. n8n has no deduplication, so repeated imports will create duplicates.

  ## Compatibility

  Tested with:
  - n8n: `1.111.1`, `1.112.5`
  - Carbone API: `v4`, `v5`
  - NodeJS: `22.10.0`

  ## Usage

  ### Basic Template Upload
  1. Add a Carbone node to your workflow
  2. Select "Template" as resource and "Upload" as operation
  3. Connect a node that provides the template file as binary data (e.g., Read Binary File node)
  4. Configure the binary property name to match the output of the previous node
  5. Optionally set template name and other metadata

  ### Basic Document Generation
  1. Add a Carbone node to your workflow
  2. Select "Render Document" as resource and "Generate" as operation
  3. Choose between using a template ID or base64 template
  4. Provide the JSON data to merge into the template
  5. Select the desired output format
  6. Choose whether to download the document directly or get a render ID

  ### Advanced Usage
  - **Template Versioning**: Enable versioning to keep track of template changes
  - **Localization**: Set language, timezone, and translations for multilingual documents
  - **Currency Conversion**: Use currency rates and source/target currency for financial documents
  - **Batch Generation**: Set `Batch Split By` to a JSON path (e.g. `d.orders`) to generate one document per item in the array, then collect results as a ZIP or merged PDF via `Batch Output`
  - **PDF Engine Selection**: Use `Converter` to pick the rendering engine best suited for your template format (LibreOffice for ODT/ODS, OnlyOffice for DOCX/XLSX/PPTX, Chromium for HTML)


  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Carbone.io API Reference](https://carbone.io/api-reference.html)
  * [Carbone.io Documentation](https://carbone.io/documentation.html)
  * [Carbone.io Template Guide](https://carbone.io/documentation/design/overview/getting-started.html)

  ## Version history

  ### 2.0.0

  **⚠️ Breaking change — Generate Document: Template Source**

  The `Use Inline Template File (Base64)` boolean toggle has been replaced by a `Template Source` selector with three options:
  - **Template ID** *(default)*: Use a stored Carbone template — same as before
  - **File** *(new)*: Connect any node that outputs a binary file directly — no manual base64 encoding needed
  - **Base64 String**: Provide an inline base64 string — same as the old `true` toggle

  **Migration:** select "Base64 String" to restore the previous behavior. Select "File" to remove the manual encoding step from your workflows.

  ### 1.3.0

  **New: Convert Document resource**
  - **Convert HTML to PDF**: convert from URL, file, Carbone template, or raw HTML using Chromium
  - **Convert Office to PDF**: convert DOCX/XLSX/PPTX/ODT/ODS/ODP/ODG from file or Carbone template, with LibreOffice or OnlyOffice engine choice

  **New: Template operations**
  - **Update Template** (`PATCH /template/{id}`): update metadata without re-uploading the file
  - **List Categories** (`GET /templates/categories`) and **List Tags** (`GET /templates/tags`)
  - **Category** and **Tags** fields (Upload and Update) are now dynamic dropdowns populated live from the API
  - **Add Version To** (Upload) is now a standalone resource picker supporting "From List" and manual ID input
  - Added `category`, `tags`, and `expireAt` options to Upload Template
  - Added `origin` filter to List Templates (API vs Studio)
  - **Delete Template**: now accepts both template IDs and version IDs
  - **List Templates**: added dynamic Category dropdown
  - List response: `expireAt` returned as ISO string; `origin` returned as `"API"` or `"Studio"`

  **New: Render Document options**
  - **Webhook URL**: enable asynchronous generation (up to 5 min) — Carbone POSTs a Render ID to your URL when ready
  - **Return Render ID**: replaces the previous "Download" toggle with clearer semantics — file downloaded by default, enable to get a Render ID instead
  - **Converter** is now a standalone field shown only when "Convert To" is set to PDF
  - Added RTF, XLS, GIF, TIFF to the "Convert To" dropdown
  - Added "Same as Template" as the default option in "Convert To" — no conversion unless explicitly selected
  - Added `converter`, `batchSplitBy`, and `batchOutput` options

  **UX improvements**
  - Renamed "Use Base64 Template On The Fly" → "Use Inline Template File (Base64)"
  - Renamed "Report Name" → "Document Name"
  - Renamed "Get Document" → "Download Document"
  - Improved descriptions for all Render Document fields
  - All binary outputs now use the standard `data` key (`$binary.data`)

  **Other**
  - Template picker search now queries the API server-side instead of filtering locally
  - Template picker resolves to the constant template ID instead of the version ID
  - Fixed `POST /template` FormData order: `template` file field sent last per API spec
  - Updated `@n8n/node-cli` to `0.22.0`, enabled cloud support (`strict` mode)

  ### 1.2.1
  - Removed the empty "Additional Options" collection from all action.

  ### 1.2.0
  - Removed all `requestWithAuthentication` calls with `httpRequestWithAuthentication`.
  - Using now n8n-node-cli to lint/build/release

  ### 1.1.0
  - Removed redundant routing configurations from operation descriptions.
  - Replaced all `helpers.request()` calls with `this.helpers.httpRequestWithAuthentication()`.
  - Translate French error messages to English.


  ### 1.0.0
  - Initial release.
  - Template management operations: List, Upload, Delete.
  - Document rendering operations: Generate, Get.
  - Advanced options for document generation (localization, currency, etc.).
  - Support for both template ID and base64 template approaches.

ai_documentation_summary:
  {"purpose":"The Carbone node automates document generation and conversion by merging JSON data into templates using Carbone.io's API, supporting multiple file formats including PDF, DOCX, XLSX, and more.","capabilities":["Generate documents by merging JSON data into templates","Convert HTML to PDF using Chromium","Convert Office files (DOCX, XLSX, PPTX, ODT) to PDF using LibreOffice or OnlyOffice","Upload, update, delete, list, search, and download templates","Organize templates with categories and tags","Trigger asynchronous document generation via webhooks","Batch generate documents from JSON arrays as ZIP or merged PDF","Support both Carbone API v4 and v5","Return Render IDs for large documents instead of immediate files"],"authentication":"API key required (implied by 'Interact with Carbone.io API' and standard n8n community node patterns; specific field not explicitly named in provided text but standard for this type of node)","commonUseCases":["Generate invoices, quotes, and receipts from billing data","Create contracts and agreements with customer details","Produce financial, sales, and operational reports","Issue certificates of completion","Generate shipping labels and packing slips"],"limitations":["Asynchronous generation has a maximum duration of 5 minutes","Render IDs expire after one hour and can only be downloaded once","Large or complex documents require asynchronous processing via webhook","Binary files must be base64-encoded or uploaded as files"],"relatedNodes":["n8n HTTP Request","n8n Binary File","n8n Webhook","n8n File"]}


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-07-14 14:40:33
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.1.5
community_fetched_at: 2026-07-14T14:40:33.485Z
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"
        },
        {
          "name": "Get Split Details",
          "value": "getSplitDetails",
          "action": "Get split details",
          "description": "Sandbox Connect key → public GET on internal.sandbox.api.pagseguro.com; production key → Connect API. Full sandbox SPLIT URL also works"
        },
        {
          "name": "Release Split Custody",
          "value": "releaseSplitCustody",
          "action": "Release split custody",
          "description": "Release custody for one or more receivers before the scheduled date"
        }
      ],
      "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"
    },
    {
      "name": "Get Split Details",
      "value": "getSplitDetails",
      "action": "Get split details",
      "description": "Sandbox Connect key → public GET on internal.sandbox.api.pagseguro.com; production key → Connect API. Full sandbox SPLIT URL also works"
    },
    {
      "name": "Release Split Custody",
      "value": "releaseSplitCustody",
      "action": "Release split custody",
      "description": "Release custody for one or more receivers before the scheduled date"
    }
  ]

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
  - ✅ **Payment split** - Split PIX and card orders between multiple PagBank accounts (FIXED or PERCENTAGE), plus split details and custody release
  - ✅ **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

  ### HTTP headers (Platform-Version)

  API calls send `Platform-Version` (host n8n) and `Module-Version` (this package). The server n8n version is detected when possible via `n8n/package.json` in the running process. You can force a value:

  - **`PAGBANK_PLATFORM_VERSION`** — always wins (e.g. Docker / systemd `Environment=PAGBANK_PLATFORM_VERSION=1.114.0`)
  - **`N8N_VERSION`** or **`N8N_RELEASE_VERSION`** — used if set
  - Otherwise falls back to **`unknown`** (e.g. running tests outside n8n)

  ### 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 (optional **payment split** on the QR code)
  - **Create Credit Card Charge** - Processes a payment with the provided credit card data (optional **payment split** on the charge)
  - **Check order status** - Queries the status of an ORDER with PagBank (must have been generated with this connect key)
  - **Get Split Details** - Reads a split by `SPLI_…` id or SPLIT `href` from the order. Sandbox: public API on `internal.sandbox.api.pagseguro.com` when using a sandbox Connect key or pasting that URL; production: authenticated Connect API.
  - **Release Split Custody** - Releases held funds for one or more receiver **account ids** before the scheduled custody date (Connect API).
  - **Validate Connect Key** - Validates the Connect Key configured in your credentials

  ### Payment split (marketplace / multi-seller)
  Use **Split Method** and **Split Receivers** on **Create PIX Order** or **Create Credit Card Charge** to divide the payment between accounts (PagBank `ACCO_…` ids). **FIXED** requires amounts in **cents** that sum to the order total; **PERCENTAGE** requires integer percents summing to **100**. You can set custody, chargeback allocation, and (for cards) **liable**. After payment, the order `links` may include `rel: SPLIT` — use **Get Split Details** to inspect the split and **Release Split Custody** when eligible. See [PagBank split documentation](https://developer.pagbank.com.br/reference/divisao-de-pagamento) and [PagBank Connect n8n docs]().

  ### 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: n8n-nodes-peak-ai.peakAi
package_name: n8n-nodes-peak-ai
display_name: Peak AI
description: Enrich LinkedIn profiles with contact information using Peak AI
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: peakai-priyesh
author_github_url: https://github.com/Priyeshvg/PeakAi-n8n.git
npm_package_name: n8n-nodes-peak-ai
npm_version: 3.0.0
community_fetched_at: 2026-07-14T14:40:33.486Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact",
          "description": "Get contact information from LinkedIn profiles"
        },
        {
          "name": "Account",
          "value": "account",
          "description": "Manage your Peak AI account"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getPhone",
      "options": [
        {
          "name": "Get Phone",
          "value": "getPhone",
          "action": "Get phone number from a linkedin profile",
          "description": "Get phone number from a LinkedIn profile"
        },
        {
          "name": "Get Email",
          "value": "getEmail",
          "action": "Get personal email from a linkedin profile",
          "description": "Get personal email from a LinkedIn profile"
        },
        {
          "name": "Get Work Email",
          "value": "getWorkEmail",
          "action": "Get work email from a linkedin profile",
          "description": "Get work/business email from a LinkedIn profile"
        },
        {
          "name": "Enrich",
          "value": "enrich",
          "action": "Enrich a linkedin profile with all contact info",
          "description": "Get all contact information (phone, email, work email) from a LinkedIn profile"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getCredits",
      "options": [
        {
          "name": "Get Credits",
          "value": "getCredits",
          "action": "Get remaining API credits",
          "description": "Check your remaining API credits"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Phone",
      "value": "getPhone",
      "action": "Get phone number from a linkedin profile",
      "description": "Get phone number from a LinkedIn profile",
      "resource": "contact"
    },
    {
      "name": "Get Email",
      "value": "getEmail",
      "action": "Get personal email from a linkedin profile",
      "description": "Get personal email from a LinkedIn profile",
      "resource": "contact"
    },
    {
      "name": "Get Work Email",
      "value": "getWorkEmail",
      "action": "Get work email from a linkedin profile",
      "description": "Get work/business email from a LinkedIn profile",
      "resource": "contact"
    },
    {
      "name": "Enrich",
      "value": "enrich",
      "action": "Enrich a linkedin profile with all contact info",
      "description": "Get all contact information (phone, email, work email) from a LinkedIn profile",
      "resource": "contact"
    },
    {
      "name": "Get Credits",
      "value": "getCredits",
      "action": "Get remaining API credits",
      "description": "Check your remaining API credits",
      "resource": "account"
    }
  ]

npm_readme:
  # n8n-nodes-peak-ai

  This is an n8n community node for [Peak AI](https://thepeakai.com) - a LinkedIn data enrichment service that helps you find contact information from LinkedIn profiles.

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

  ## Features

  Peak AI helps you enrich LinkedIn profiles with:

  - **Phone Numbers** - Extract phone numbers from LinkedIn profiles
  - **Personal Emails** - Find personal email addresses
  - **Work Emails** - Discover business/work email addresses
  - **Full Enrichment** - Get all contact information in one request
  - **Credit Balance** - Check your remaining API credits

  ## Installation

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

  ### In n8n Cloud or Desktop

  1. Go to **Settings** > **Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-peak-ai` and click **Install**

  ### In Self-hosted n8n

  ```bash
  npm install n8n-nodes-peak-ai
  ```

  ## Credentials

  To use this node, you need a Peak AI account:

  1. Sign up at [Peak AI](https://thepeakai.com)
  2. Get your account credentials (email and password)
  3. In n8n, create new credentials of type **Peak AI API**
  4. Enter your email and password

  The node handles authentication automatically - you don't need to manage access tokens manually.

  ## Usage

  ### Operations

  | Resource | Operation | Description |
  |----------|-----------|-------------|
  | **Contact** | Get Phone | Extract phone number from a LinkedIn profile |
  | **Contact** | Get Email | Extract personal email from a LinkedIn profile |
  | **Contact** | Get Work Email | Extract work/business email from a LinkedIn profile |
  | **Contact** | Enrich | Get all contact information (phone, email, work email) in one request |
  | **Account** | Get Credits | Check your remaining API credits |

  ### Example Workflow

  1. Add the **Peak AI** node to your workflow
  2. Select your Peak AI credentials
  3. Choose a resource and operation (e.g., Contact > Get Phone)
  4. Enter the LinkedIn profile URL (e.g., `https://www.linkedin.com/in/username`)
  5. Execute the node

  ### Input Format

  The LinkedIn URL field accepts:
  - Full URL: `https://www.linkedin.com/in/username`
  - Username only: `username` (will be converted to full URL automatically)

  ## Compatibility

  - Requires n8n version 1.0.0 or later
  - Tested with n8n versions 1.0.0+

  ## Resources

  - [Peak AI Website](https://thepeakai.com)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Report Issues](https://github.com/Priyeshvg/PeakAi-n8n/issues)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Enriches LinkedIn profiles with contact information such as phone numbers, personal emails, and work emails using the Peak AI API.","capabilities":["Extract phone numbers from LinkedIn profiles","Extract personal email addresses from LinkedIn profiles","Extract work/business email addresses from LinkedIn profiles","Get all contact information in a single request","Check remaining API credits","Accept both full LinkedIn URLs and usernames as input"],"authentication":"Email and password credentials","commonUseCases":["Lead generation by finding contact details for LinkedIn profiles","Sales outreach preparation by enriching prospect data","Marketing campaigns targeting specific LinkedIn users","Monitoring API credit balance"],"limitations":["Requires a separate Peak AI account subscription","Limited to LinkedIn profile enrichment only","Requires n8n version 1.0.0 or later"],"relatedNodes":["HTTP Request","Webhook","Code"]}


node_type: n8n-nodes-smstools.smstools
package_name: n8n-nodes-smstools
display_name: Smstools
description: Send sms or voice messages with the Smstools API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: smstools
author_github_url: https://github.com/Smstools-api/
npm_package_name: n8n-nodes-smstools
npm_version: 0.1.2
community_fetched_at: 2026-07-14T14:40:33.487Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "Account",
          "value": "account"
        },
        {
          "name": "Tools",
          "value": "tools"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send message",
          "value": "send"
        },
        {
          "name": "Send voice message",
          "value": "send-voice"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "name": "Send message",
      "value": "send",
      "resource": "message"
    },
    {
      "name": "Send voice message",
      "value": "send-voice",
      "resource": "message"
    }
  ]

npm_readme:
  # n8n-nodes-smstools

  Community node for **Smstools** — the Belgian SMS gateway platform [smstools.be](https://www.smstools.be) and [smstools.com](https://www.smstools.com).  
  This node lets you send SMS messages, send voice messages, check delivery statuses, view your account balance, get available sender IDs, and format numbers directly in your n8n workflows.

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

  ---

  ## 🧩 Installation

  Follow the [official guide for installing community nodes](https://docs.n8n.io/integrations/community-nodes/installation/).

  Once installed, search for **Smstools** in the Nodes panel within n8n.

  ---

  ## ⚙️ Supported Operations

  | Resource    | Operation           | Endpoint                 |
  |--------------|--------------------|--------------------------|
  | **Message**  | Send message        | `POST /v1/message/send`  |
  | **Message**  | Send voice message  | `POST /v1/voice/send`    |
  | **Account**  | Auth info           | `GET /v1/auth`           |
  | **Account**  | Get balance         | `GET /v1/account/balance`|
  | **Account**  | Get sender IDs      | `GET /v1/senderids`      |
  | **Tools**    | Format number       | `POST /v1/format/number` |

  ---

  ## 🔐 Credentials

  To connect with Smstools, you’ll need a **Client ID** and **Client Secret**.  
  These are available in your Smstools account dashboard.

  | Field | Description |
  |--------|-------------|
  | **Base URL** | Default: `https://api.smstools.com` (change only for private gateways) |
  | **Client ID** | Your API client ID from Smstools |
  | **Client Secret** | Your API client secret from Smstools |

  When you test credentials, the node calls `GET /v1/auth` and expects a valid username response on success.

  ---

  ## 🧪 Example Usage

  ### Send an SMS

  1. Add the **Smstools** node.  
  2. Choose **Resource:** `Message`, **Operation:** `Send message`.  
  3. Enter:
     - **Sender:** `MyCompany`
     - **To:** `+3247XXXXXXX`
     - **Message:** `Your package has been shipped!`
  4. *(Optional)* Enable **Test Mode** to simulate sending.

  The node will return the API response containing the message ID and status.

  ---

  ### Send a Voice Message

  1. Add the **Smstools** node.  
  2. Choose **Resource:** `Message`, **Operation:** `Send voice message`.  
  3. Enter:
     - **To:** `+3247XXXXXXX`
     - **Message:** `This is a test voice message from Smstools.`

  The API will convert your text to speech and call the recipient.

  ---

  ## 🧾 Compatibility

  - **Minimum n8n version:** `1.0.0+`
  - **Tested with:** `n8n 1.68+`
  - **Dependencies:** none external — uses built-in `httpRequest` helper.
  - **Supported Node.js (for n8n):** `>= 20.19 <= 24.x`

  ---

  ## 📘 Resources

  - [Smstools API documentation](https://www.smstools.com/en/sms-gateway-api)
  - [Smstools Dashboard](https://app.smstools.com/)
  - [n8n Community Nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

  ---

  ## 🧱 Version History

  | Version | Date     | Notes |
  |----------|----------|-------|
  | **0.1.0** | 2025-10 | Initial community release with v1 API support for message, voice, account, and tools resources. |
  | **0.1.1** | 2025-10 | Update readme.md |
  | **0.1.2** | 2026-02 | Fix n8n review issues (peer deps, auth, pairedItem, continueOnFail, icons) |

  ---

  **Author:** Smstools ([info@smstools.be](mailto:info@smstools.be))  
  **License:** MIT  
  **Repository:** [GitHub](https://github.com/Smstools-api/n8n-nodes-smstools)  
  **npm:** [n8n-nodes-smstools](https://www.npmjs.com/package/n8n-nodes-smstools)

ai_documentation_summary:
  {"purpose":"A community n8n node that integrates with the Smstools API to send SMS and voice messages, manage account details, and format phone numbers.","capabilities":["Send SMS messages","Send voice messages (text-to-speech)","Check message delivery status","View account balance","Retrieve available sender IDs","Format phone numbers"],"authentication":"API Key (Client ID and Client Secret)","commonUseCases":["Automated customer notifications via SMS","Voice call campaigns for alerts or reminders","Managing SMS gateway account balances","Validating phone number formats before sending"],"limitations":["Requires a valid Smstools account with Client ID and Client Secret","Node requires n8n version 1.0.0+ (tested with 1.68+)","Compatible only with Node.js versions >= 20.19 and <= 24.x"],"relatedNodes":["httpRequest","n8n-nodes-base.code"]}


node_type: n8n-nodes-converthub.converthub
package_name: n8n-nodes-converthub
display_name: ConvertHub
description: Convert files between 800+ formats using ConvertHub API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: venelinkochev
author_github_url: https://github.com/converthub-api/
npm_package_name: n8n-nodes-converthub
npm_version: 0.3.2
community_fetched_at: 2026-07-14T14:40:33.488Z
ai_summary_generated_at: 2026-03-25 22:47:20
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "conversion",
      "options": [
        {
          "name": "Conversion",
          "value": "conversion",
          "description": "Convert files between formats"
        },
        {
          "name": "Format",
          "value": "formats",
          "description": "Get information about supported formats"
        },
        {
          "name": "Account",
          "value": "account",
          "description": "Get account information"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "convertFile",
      "options": [
        {
          "name": "Cancel Job",
          "value": "cancelJob",
          "action": "Cancel conversion job",
          "description": "Cancel a conversion job"
        },
        {
          "name": "Convert File",
          "value": "convertFile",
          "action": "Convert a file",
          "description": "Convert a file from one format to another"
        },
        {
          "name": "Convert From URL",
          "value": "convertUrl",
          "action": "Convert file from URL",
          "description": "Convert a file from a URL"
        },
        {
          "name": "Delete Conversion",
          "value": "deleteConversion",
          "action": "Delete conversion file",
          "description": "Delete a completed conversion file"
        },
        {
          "name": "Get Download URL",
          "value": "getDownloadUrl",
          "action": "Get download URL",
          "description": "Get the download URL for a completed conversion"
        },
        {
          "name": "Get Job Status",
          "value": "getStatus",
          "action": "Get job status",
          "description": "Check the status of a conversion job"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "conversion"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllFormats",
      "options": [
        {
          "name": "Get All Supported Formats",
          "value": "getAllFormats",
          "action": "Get all supported formats",
          "description": "Get a list of all supported file formats"
        },
        {
          "name": "Get Format Conversions",
          "value": "getFormatConversions",
          "action": "Get format conversions",
          "description": "Get available conversions for a specific format"
        },
        {
          "name": "Check Conversion Support",
          "value": "checkConversionSupport",
          "action": "Check conversion support",
          "description": "Check if a specific conversion is supported"
        },
        {
          "name": "Get All Supported Conversions",
          "value": "getAllConversions",
          "action": "Get all supported conversions",
          "description": "Get all supported formats with conversion mappings"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "formats"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDetails",
      "options": [
        {
          "name": "Get Account Details",
          "value": "getDetails",
          "action": "Get account details",
          "description": "Get account information including credits and plan details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "account"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Cancel Job",
      "value": "cancelJob",
      "action": "Cancel conversion job",
      "description": "Cancel a conversion job",
      "resource": "conversion"
    },
    {
      "name": "Convert File",
      "value": "convertFile",
      "action": "Convert a file",
      "description": "Convert a file from one format to another",
      "resource": "conversion"
    },
    {
      "name": "Convert From URL",
      "value": "convertUrl",
      "action": "Convert file from URL",
      "description": "Convert a file from a URL",
      "resource": "conversion"
    },
    {
      "name": "Delete Conversion",
      "value": "deleteConversion",
      "action": "Delete conversion file",
      "description": "Delete a completed conversion file",
      "resource": "conversion"
    },
    {
      "name": "Get Download URL",
      "value": "getDownloadUrl",
      "action": "Get download URL",
      "description": "Get the download URL for a completed conversion",
      "resource": "conversion"
    },
    {
      "name": "Get Job Status",
      "value": "getStatus",
      "action": "Get job status",
      "description": "Check the status of a conversion job",
      "resource": "conversion"
    },
    {
      "name": "Get All Supported Formats",
      "value": "getAllFormats",
      "action": "Get all supported formats",
      "description": "Get a list of all supported file formats",
      "resource": "formats"
    },
    {
      "name": "Get Format Conversions",
      "value": "getFormatConversions",
      "action": "Get format conversions",
      "description": "Get available conversions for a specific format",
      "resource": "formats"
    },
    {
      "name": "Check Conversion Support",
      "value": "checkConversionSupport",
      "action": "Check conversion support",
      "description": "Check if a specific conversion is supported",
      "resource": "formats"
    },
    {
      "name": "Get All Supported Conversions",
      "value": "getAllConversions",
      "action": "Get all supported conversions",
      "description": "Get all supported formats with conversion mappings",
      "resource": "formats"
    },
    {
      "name": "Get Account Details",
      "value": "getDetails",
      "action": "Get account details",
      "description": "Get account information including credits and plan details",
      "resource": "account"
    }
  ]

npm_readme:
  # n8n-nodes-converthub

  ![logo](./nodes/Converthub/logo.png)

  [![npm version](https://badge.fury.io/js/n8n-nodes-converthub.svg)](https://badge.fury.io/js/n8n-nodes-converthub)

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

  ConvertHub is a powerful file conversion API that supports 800+ format conversion pairs across images, documents, audio, video, 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.

  use the Community Nodes menu in n8n:

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

  ## Operations

  This node supports the following operations:

  ### Conversion Resource
  - **Convert File** - Convert a file from one format to another (supports binary data)
  - **Convert from URL** - Convert a file by providing its URL

  ### Formats Resource
  - **Get All Supported Formats** - Get a list of all supported file formats grouped by type
  - **Get Format Conversions** - Get available conversions for a specific format
  - **Check Conversion Support** - Check if a specific conversion is supported
  - **Get All Supported Conversions** - Get all supported formats with conversion mappings

  ### Account Resource
  - **Get Account Details** - Get account information including credits, plan details, and file size limits

  ## Credentials

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

  1. Sign up for a developer account at [ConvertHub API Signup](https://converthub.com/api/signup)
  2. Navigate to your dashboard
  3. Generate a new API key in the API Keys section
  4. Copy your API key

  ### Setting up credentials in n8n:

  1. In n8n, go to **Credentials** > **New**
  2. Search for "ConvertHub API"
  3. Enter your API key in the **API Key** field
  4. Click **Save**

  **Note:** All API requests require authentication. Keep your API key secure and never expose it in client-side code.

  ## Compatibility

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

  ## Usage

  ### Example 1: Convert an Image

  This example shows how to convert a PNG image to JPG:

  1. Use an **HTTP Request** node or **Read Binary File** node to get your source file
  2. Add the **ConvertHub** node
  3. Select **Conversion** as the resource
  4. Select **Convert File** as the operation
  5. Set **Binary Property** to `data` (or your binary property name)
  6. Set **Target Format** to `jpg`
  7. Optionally, add quality settings in **Additional Fields**
  8. Execute the workflow
  9. 
  ### Example 2: Convert from URL

  1. Add a **ConvertHub** node
  2. Select **Conversion** as the resource
  3. Select **Convert from URL** as the operation
  4. Enter the file URL (e.g., `https://example.com/document.pdf`)
  5. Set **Target Format** to `docx`
  6. Execute the workflow

  ### Example 3: Check Supported Formats

  1. Add a **ConvertHub** node
  2. Select **Formats** as the resource
  3. Select **Get All Supported Formats** as the operation
  4. Execute to see all supported format groups

  ### Example 4: Check Account Credits

  1. Add a **ConvertHub** node
  2. Select **Account** as the resource
  3. Select **Get Account Details** as the operation
  4. Execute to see your remaining credits and plan details

  ### Conversion Options

  The **Convert File** and **Convert from URL** operations support these optional parameters:

  - **Output Filename** - Custom name for the output file
  - **Webhook URL** - URL to receive webhook notification when conversion completes
  - **Quality** - Quality setting (1-100) for lossy formats like JPEG, MP3
  - **Resolution** - Resolution for image/video conversions (e.g., "1920x1080")
  - **Bitrate** - Bitrate for audio/video conversions (e.g., "320k")
  - **Sample Rate** - Sample rate for audio conversions (e.g., 44100)
  - **Metadata** - Custom key-value pairs for tracking purposes

  ## API Limits

  - **File Size Limit**: 50MB for direct upload
  - **Rate Limits**: Varies by plan (see API documentation)
  - **File Retention**: Converted files are available for 24 hours
  - **Credits**: Each conversion consumes 1 credit

  ## Resources

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

  ## Version history

  ### 0.1.0 (Current)

  - Initial release
  - Support for file conversion (direct upload and URL-based)
  - Support for job management (status, cancel, delete)
  - Support for format discovery endpoints
  - Support for account information endpoint
  - Support for 800+ format conversion pairs
  - Full API v2 coverage

  ## License

  [MIT](LICENSE.md)

  ## Support

  For issues and questions:
  - Email: support@converthub.com
  - GitHub Issues: [Report an issue](https://github.com/converthub-api/n8n-nodes-converthub/issues)

  ## Contributing

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

ai_documentation_summary:
  {"purpose":"This n8n community node enables file format conversion using the ConvertHub API, supporting over 800 format pairs across images, documents, audio, and video.","capabilities":["Convert files from one format to another via direct upload","Convert files by providing their URL","Retrieve all supported file formats grouped by type","Get available conversions for a specific format","Check if a specific conversion is supported","Retrieve all supported conversion mappings","Get account details including credits and plan information","Manage conversion jobs (status, cancel, delete)","Apply quality, resolution, bitrate, and sample rate settings"],"authentication":"API key required","commonUseCases":["Converting image formats (e.g., PNG to JPG)","Converting documents from URL to editable formats","Auditing available conversion capabilities","Monitoring API credit usage and account status"],"limitations":["Maximum file size for direct upload is 50MB","Converted files are retained for only 24 hours","Each conversion consumes 1 credit","Rate limits vary by API plan"],"relatedNodes":["HTTP Request","Read Binary File","Webhook"]}


node_type: @fal-ai/n8n-nodes-fal.falAi
package_name: @fal-ai/n8n-nodes-fal
display_name: fal.ai
description: Generate AI content using fal.ai models and workflows
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: fal_ai
author_github_url: https://github.com/fal-ai-community/n8n-nodes-fal.git
npm_package_name: @fal-ai/n8n-nodes-fal
npm_version: 1.0.1
community_fetched_at: 2026-07-14T14:40:33.489Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "model",
      "options": [
        {
          "name": "Model",
          "value": "model"
        },
        {
          "name": "Workflow",
          "value": "workflow"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate Media",
          "value": "generate",
          "action": "Generate media using AI model",
          "description": "Generate images, videos, audio or other media"
        },
        {
          "name": "Get Model Info",
          "value": "getParameters",
          "action": "Get model parameters and info",
          "description": "Get available parameters and info for a model"
        },
        {
          "name": "Get Analytics",
          "value": "getAnalytics",
          "action": "Get model analytics",
          "description": "Get performance analytics (latency, success rates)"
        },
        {
          "name": "Get Pricing",
          "value": "getPricing",
          "action": "Get model pricing",
          "description": "Get pricing information for models"
        },
        {
          "name": "Get Usage",
          "value": "getUsage",
          "action": "Get usage statistics",
          "description": "Get usage statistics (requires Admin API Key)"
        },
        {
          "name": "List Requests",
          "value": "listRequests",
          "action": "List requests by endpoint",
          "description": "List requests for a specific endpoint/model"
        },
        {
          "name": "Delete Request Payloads",
          "value": "deletePayloads",
          "action": "Delete request payloads",
          "description": "Delete request payloads (requires Admin API Key)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "model"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "runWorkflow",
      "options": [
        {
          "name": "Run Workflow",
          "value": "runWorkflow",
          "action": "Run a workflow",
          "description": "Execute a fal.ai workflow"
        },
        {
          "name": "List Workflows",
          "value": "listWorkflows",
          "action": "List workflows",
          "description": "List all your fal.ai workflows"
        },
        {
          "name": "Get Workflow Details",
          "value": "getWorkflow",
          "action": "Get workflow details",
          "description": "Get details and schema of a specific workflow"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Media",
      "value": "generate",
      "action": "Generate media using AI model",
      "description": "Generate images, videos, audio or other media",
      "resource": "model"
    },
    {
      "name": "Get Model Info",
      "value": "getParameters",
      "action": "Get model parameters and info",
      "description": "Get available parameters and info for a model",
      "resource": "model"
    },
    {
      "name": "Get Analytics",
      "value": "getAnalytics",
      "action": "Get model analytics",
      "description": "Get performance analytics (latency, success rates)",
      "resource": "model"
    },
    {
      "name": "Get Pricing",
      "value": "getPricing",
      "action": "Get model pricing",
      "description": "Get pricing information for models",
      "resource": "model"
    },
    {
      "name": "Get Usage",
      "value": "getUsage",
      "action": "Get usage statistics",
      "description": "Get usage statistics (requires Admin API Key)",
      "resource": "model"
    },
    {
      "name": "List Requests",
      "value": "listRequests",
      "action": "List requests by endpoint",
      "description": "List requests for a specific endpoint/model",
      "resource": "model"
    },
    {
      "name": "Delete Request Payloads",
      "value": "deletePayloads",
      "action": "Delete request payloads",
      "description": "Delete request payloads (requires Admin API Key)",
      "resource": "model"
    },
    {
      "name": "Run Workflow",
      "value": "runWorkflow",
      "action": "Run a workflow",
      "description": "Execute a fal.ai workflow",
      "resource": "workflow"
    },
    {
      "name": "List Workflows",
      "value": "listWorkflows",
      "action": "List workflows",
      "description": "List all your fal.ai workflows",
      "resource": "workflow"
    },
    {
      "name": "Get Workflow Details",
      "value": "getWorkflow",
      "action": "Get workflow details",
      "description": "Get details and schema of a specific workflow",
      "resource": "workflow"
    }
  ]

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

  n8n community node for [fal.ai](https://fal.ai) - access hundreds of AI models for image generation, video generation, text-to-speech, and more.

  ## Installation

  ### In n8n Desktop/Cloud

  1. Go to **Settings** > **Community Nodes**
  2. Click **Install a community node**
  3. Enter `@fal-ai/n8n-nodes-fal`
  4. Click **Install**

  ### Manual Installation

  ```bash
  cd ~/.n8n/nodes
  npm install @fal-ai/n8n-nodes-fal
  ```

  ## Configuration

  1. Get your API key from [fal.ai Dashboard](https://fal.ai/dashboard/keys)
  2. In n8n, go to **Credentials** > **Add Credential** > **fal.ai API**
  3. Enter your API key

  > **Note:** Some operations (Get Usage, Delete Payloads) require an **Admin API Key**.

  ## Features

  ### Model Operations

  | Operation | Description |
  |-----------|-------------|
  | **Generate Media** | Generate images, videos, audio using any fal.ai model |
  | **Get Model Info** | Get available parameters and schema for a model |
  | **Get Analytics** | Get performance metrics (latency, success rates, error counts) |
  | **Get Pricing** | Get pricing information for models |
  | **Get Usage** | Get usage statistics (requires Admin API Key) |
  | **List Requests** | List requests for a specific endpoint/model |
  | **Delete Request Payloads** | Delete request payloads (requires Admin API Key) |

  ### Workflow Operations

  | Operation | Description |
  |-----------|-------------|
  | **Run Workflow** | Execute a fal.ai workflow with dynamic parameters |
  | **List Workflows** | List all your fal.ai workflows |
  | **Get Workflow Details** | Get details and schema of a specific workflow |

  ## Usage Examples

  ### Generate an Image with Flux

  1. Add **fal.ai** node to your workflow
  2. Select **Model** resource and **Generate Media** operation
  3. Search and select `fal-ai/flux/dev` model
  4. Add parameter: `prompt` = "A beautiful sunset over mountains"
  5. Execute the node

  ### Run a Custom Workflow

  1. Add **fal.ai** node to your workflow
  2. Select **Workflow** resource and **Run Workflow** operation
  3. Select your workflow from the dropdown
  4. Add workflow-specific parameters
  5. Execute the node

  ### Monitor Model Performance

  1. Add **fal.ai** node to your workflow
  2. Select **Model** resource and **Get Analytics** operation
  3. Select a model (e.g., `fal-ai/flux/dev`)
  4. Choose time range and metrics
  5. Execute to get performance data

  ## Supported Models

  This node supports all models available on fal.ai, including:

  - **Image Generation**: Flux, Stable Diffusion, SDXL, etc.
  - **Video Generation**: Kling, Runway, etc.
  - **Text-to-Speech**: Various TTS models
  - **Speech-to-Text**: Whisper and other STT models
  - **Image Editing**: Inpainting, upscaling, style transfer
  - **And many more...**

  Browse all models at [fal.ai/models](https://fal.ai/models)

  ## Async Execution

  For long-running generations (videos, complex images), the node uses fal.ai's queue system:

  - **Wait for Completion**: Enable to wait for the result (default)
  - **Poll Interval**: How often to check status (default: 5 seconds)
  - **Max Wait Time**: Maximum wait time (default: 10 minutes)

  Disable "Wait for Completion" to get the request ID immediately and check status later.

  ## Links

  - [fal.ai Documentation](https://fal.ai/docs)
  - [fal.ai Models](https://fal.ai/models)
  - [fal.ai Dashboard](https://fal.ai/dashboard)
  - [GitHub Repository](https://github.com/fal-ai-community/n8n-nodes-fal)

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"A community n8n node that enables users to generate AI content (images, videos, audio) and manage workflows using fal.ai models.","capabilities":["Generate images using various AI models (Flux, Stable Diffusion, SDXL)","Generate videos using models like Kling and Runway","Text-to-speech generation","Speech-to-text processing","Image editing (inpainting, upscaling, style transfer)","Retrieve model information and schemas","Get analytics and performance metrics","Check pricing information","View usage statistics","List and delete request payloads"],"authentication":"API key required (fal.ai Dashboard keys)","commonUseCases":["Generate promotional images or artwork for marketing materials","Create video content for social media or presentations","Convert text to speech for audio content","Edit existing images (upscaling, inpainting)","Monitor AI model performance and usage costs"],"limitations":["Some operations (Get Usage, Delete Payloads) require an Admin API Key","Async execution may have a maximum wait time of 10 minutes","Long-running tasks require queue system handling with polling"],"relatedNodes":["n8n HTTP Request node","n8n Code node","n8n Credential node"]}


node_type: n8n-nodes-checkmk.checkmk
package_name: n8n-nodes-checkmk
display_name: Checkmk
description: Complete Checkmk monitoring system integration with 100% API coverage
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-07-14 14:40:33
author_name: marcoandredg
author_github_url: https://github.com/LynxmindRepo/
npm_package_name: n8n-nodes-checkmk
npm_version: 1.1.1
community_fetched_at: 2026-07-14T14:40:33.490Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "host",
      "options": [
        {
          "name": "Activate Change",
          "value": "activateChanges"
        },
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Audit Log",
          "value": "auditLog"
        },
        {
          "name": "Aux Tag",
          "value": "auxTag"
        },
        {
          "name": "Background Job",
          "value": "backgroundJob"
        },
        {
          "name": "BI Aggregation",
          "value": "biAggregation"
        },
        {
          "name": "BI Pack",
          "value": "biPack"
        },
        {
          "name": "BI Rule",
          "value": "biRule"
        },
        {
          "name": "Broker Connection",
          "value": "brokerConnection"
        },
        {
          "name": "Certificate",
          "value": "certificate"
        },
        {
          "name": "Comment",
          "value": "comment"
        },
        {
          "name": "Configuration Entity",
          "value": "configurationEntity"
        },
        {
          "name": "Contact Group",
          "value": "contactGroup"
        },
        {
          "name": "DCD",
          "value": "dcd"
        },
        {
          "name": "Discovery",
          "value": "discovery"
        },
        {
          "name": "Downtime",
          "value": "downtime"
        },
        {
          "name": "Event Console",
          "value": "eventConsole"
        },
        {
          "name": "Folder",
          "value": "folder"
        },
        {
          "name": "Host",
          "value": "host"
        },
        {
          "name": "Host Group",
          "value": "hostGroup"
        },
        {
          "name": "Host Status",
          "value": "hostStatus"
        },
        {
          "name": "Host Tag Group",
          "value": "hostTagGroup"
        },
        {
          "name": "LDAP Connection",
          "value": "ldapConnection"
        },
        {
          "name": "License Usage",
          "value": "licenseUsage"
        },
        {
          "name": "Metric",
          "value": "metric"
        },
        {
          "name": "Notification Rule",
          "value": "notificationRule"
        },
        {
          "name": "OpenTelemetry",
          "value": "openTelemetry"
        },
        {
          "name": "Parent Scan",
          "value": "parentScan"
        },
        {
          "name": "Password",
          "value": "password"
        },
        {
          "name": "Problem",
          "value": "problem"
        },
        {
          "name": "Quick Setup",
          "value": "quickSetup"
        },
        {
          "name": "Rule",
          "value": "rule"
        },
        {
          "name": "Ruleset",
          "value": "ruleset"
        },
        {
          "name": "SAML Connection",
          "value": "samlConnection"
        },
        {
          "name": "Service",
          "value": "service"
        },
        {
          "name": "Service Group",
          "value": "serviceGroup"
        },
        {
          "name": "Service Status",
          "value": "serviceStatus"
        },
        {
          "name": "Site",
          "value": "site"
        },
        {
          "name": "SLA",
          "value": "sla"
        },
        {
          "name": "Time Period",
          "value": "timePeriod"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "User Role",
          "value": "userRole"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a host",
          "description": "Create a new host"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a host",
          "description": "Delete a host"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a host",
          "description": "Get a host"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many hosts",
          "description": "Get many hosts"
        },
        {
          "name": "Move",
          "value": "move",
          "action": "Move a host",
          "description": "Move host to different folder"
        },
        {
          "name": "Rename",
          "value": "rename",
          "action": "Rename a host",
          "description": "Rename a host"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a host",
          "description": "Update a host"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "host"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a host group",
          "description": "Create a host group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a host group",
          "description": "Delete a host group"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a host group",
          "description": "Get a host group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many host groups",
          "description": "Get many host groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a host group",
          "description": "Update a host group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "hostGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a service group",
          "description": "Create a service group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a service group",
          "description": "Delete a service group"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a service group",
          "description": "Get a service group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many service groups",
          "description": "Get many service groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a service group",
          "description": "Update a service group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serviceGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a folder",
          "description": "Create a folder"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a folder",
          "description": "Delete a folder"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a folder",
          "description": "Get a folder"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many folders",
          "description": "Get many folders"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a folder",
          "description": "Update a folder"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a user",
          "description": "Create a user"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a user",
          "description": "Delete a user"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a user",
          "description": "Get a user"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many users",
          "description": "Get many users"
        },
        {
          "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": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a contact group",
          "description": "Create a contact group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a contact group",
          "description": "Delete a contact group"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a contact group",
          "description": "Get a contact group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many contact groups",
          "description": "Get many contact groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a contact group",
          "description": "Update a contact group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contactGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a time period",
          "description": "Create a time period"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a time period",
          "description": "Delete a time period"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a time period",
          "description": "Get a time period"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many time periods",
          "description": "Get many time periods"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a time period",
          "description": "Update a time period"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "timePeriod"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a rule",
          "description": "Get a rule"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many rules",
          "description": "Get many rules"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "rule"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "action": "Run discovery",
          "description": "Run service discovery"
        },
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get discovery status",
          "description": "Get discovery status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "discovery"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "activate",
      "options": [
        {
          "name": "Activate",
          "value": "activate",
          "action": "Activate changes",
          "description": "Activate pending changes"
        },
        {
          "name": "Get Pending",
          "value": "getPending",
          "action": "Get pending changes",
          "description": "Get pending changes"
        },
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get activation status",
          "description": "Get activation status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "activateChanges"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a site",
          "description": "Get a site"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many sites",
          "description": "Get many sites"
        },
        {
          "name": "Login",
          "value": "login",
          "action": "Login to site",
          "description": "Login to a site"
        },
        {
          "name": "Logout",
          "value": "logout",
          "action": "Logout from site",
          "description": "Logout from a site"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "site"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a service",
          "description": "Get a service"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many services",
          "description": "Get many services"
        },
        {
          "name": "Acknowledge Problem",
          "value": "acknowledge",
          "action": "Acknowledge a service problem",
          "description": "Acknowledge a service problem"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "service"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a downtime",
          "description": "Create a downtime"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a downtime",
          "description": "Delete a downtime"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a downtime",
          "description": "Get a downtime"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many downtimes",
          "description": "Get many downtimes"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "downtime"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many problems",
          "description": "Get many problems"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "problem"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getState",
      "options": [
        {
          "name": "Get State",
          "value": "getState",
          "action": "Get BI aggregation state",
          "description": "Get BI aggregation state"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "biAggregation"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many BI packs",
          "description": "Get many BI packs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "biPack"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many BI rules",
          "description": "Get many BI rules"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "biRule"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a comment",
          "description": "Create a comment"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many comments",
          "description": "Get many comments"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a comment",
          "description": "Delete a comment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "comment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many event console entries",
          "description": "Get many event console entries"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "eventConsole"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many host statuses",
          "description": "Get many host statuses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "hostStatus"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many metrics",
          "description": "Get many metrics"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "metric"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many service statuses",
          "description": "Get many service statuses"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "serviceStatus"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "compute",
      "options": [
        {
          "name": "Compute",
          "value": "compute",
          "action": "Compute SLA data",
          "description": "Compute SLA data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sla"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many agents",
          "description": "Get many agents"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many audit logs",
          "description": "Get many audit logs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "auditLog"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an aux tag",
          "description": "Create an aux tag"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many aux tags",
          "description": "Get many aux tags"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an aux tag",
          "description": "Update an aux tag"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an aux tag",
          "description": "Delete an aux tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "auxTag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a host tag group",
          "description": "Create a host tag group"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many host tag groups",
          "description": "Get many host tag groups"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a host tag group",
          "description": "Update a host tag group"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a host tag group",
          "description": "Delete a host tag group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "hostTagGroup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an LDAP connection",
          "description": "Create an LDAP connection"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many LDAP connections",
          "description": "Get many LDAP connections"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an LDAP connection",
          "description": "Update an LDAP connection"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an LDAP connection",
          "description": "Delete an LDAP connection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ldapConnection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many notification rules",
          "description": "Get many notification rules"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "notificationRule"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an open telemetry collector",
          "description": "Create an OpenTelemetry collector"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many open telemetry collectors",
          "description": "Get many OpenTelemetry collectors"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an open telemetry collector",
          "description": "Update an OpenTelemetry collector"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an open telemetry collector",
          "description": "Delete an OpenTelemetry collector"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "openTelemetry"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "run",
      "options": [
        {
          "name": "Run",
          "value": "run",
          "action": "Run parent scan",
          "description": "Run parent scan"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "parentScan"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many passwords",
          "description": "Get many passwords"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "password"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many rulesets",
          "description": "Get many rulesets"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ruleset"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a SAML connection",
          "description": "Create a SAML connection"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many SAML connections",
          "description": "Get many SAML connections"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a SAML connection",
          "description": "Update a SAML connection"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a SAML connection",
          "description": "Delete a SAML connection"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "samlConnection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a user role",
          "description": "Create a user role"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many user roles",
          "description": "Get many user roles"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a user role",
          "description": "Update a user role"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a user role",
          "description": "Delete a user role"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "userRole"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many background jobs",
          "description": "Get many background jobs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "backgroundJob"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many broker connections",
          "description": "Get many broker connections"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "brokerConnection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many certificates",
          "description": "Get many certificates"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "certificate"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many configuration entities",
          "description": "Get many configuration entities"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "configurationEntity"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many DCD configurations",
          "description": "Get many DCD configurations"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dcd"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get license usage",
          "description": "Get license usage"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "licenseUsage"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many quick setup configurations",
          "description": "Get many quick setup configurations"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "quickSetup"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a host",
      "description": "Create a new host",
      "resource": "host"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a host",
      "description": "Delete a host",
      "resource": "host"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a host",
      "description": "Get a host",
      "resource": "host"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many hosts",
      "description": "Get many hosts",
      "resource": "host"
    },
    {
      "name": "Move",
      "value": "move",
      "action": "Move a host",
      "description": "Move host to different folder",
      "resource": "host"
    },
    {
      "name": "Rename",
      "value": "rename",
      "action": "Rename a host",
      "description": "Rename a host",
      "resource": "host"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a host",
      "description": "Update a host",
      "resource": "host"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a host group",
      "description": "Create a host group",
      "resource": "hostGroup"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a host group",
      "description": "Delete a host group",
      "resource": "hostGroup"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a host group",
      "description": "Get a host group",
      "resource": "hostGroup"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many host groups",
      "description": "Get many host groups",
      "resource": "hostGroup"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a host group",
      "description": "Update a host group",
      "resource": "hostGroup"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a service group",
      "description": "Create a service group",
      "resource": "serviceGroup"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a service group",
      "description": "Delete a service group",
      "resource": "serviceGroup"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a service group",
      "description": "Get a service group",
      "resource": "serviceGroup"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many service groups",
      "description": "Get many service groups",
      "resource": "serviceGroup"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a service group",
      "description": "Update a service group",
      "resource": "serviceGroup"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a folder",
      "description": "Create a folder",
      "resource": "folder"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a folder",
      "description": "Delete a folder",
      "resource": "folder"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a folder",
      "description": "Get a folder",
      "resource": "folder"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many folders",
      "description": "Get many folders",
      "resource": "folder"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a folder",
      "description": "Update a folder",
      "resource": "folder"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a user",
      "description": "Create a user",
      "resource": "user"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a user",
      "description": "Delete a user",
      "resource": "user"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a user",
      "description": "Get a user",
      "resource": "user"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many users",
      "description": "Get many users",
      "resource": "user"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a user",
      "description": "Update a user",
      "resource": "user"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a contact group",
      "description": "Create a contact group",
      "resource": "contactGroup"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a contact group",
      "description": "Delete a contact group",
      "resource": "contactGroup"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a contact group",
      "description": "Get a contact group",
      "resource": "contactGroup"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many contact groups",
      "description": "Get many contact groups",
      "resource": "contactGroup"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a contact group",
      "description": "Update a contact group",
      "resource": "contactGroup"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a time period",
      "description": "Create a time period",
      "resource": "timePeriod"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a time period",
      "description": "Delete a time period",
      "resource": "timePeriod"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a time period",
      "description": "Get a time period",
      "resource": "timePeriod"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many time periods",
      "description": "Get many time periods",
      "resource": "timePeriod"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a time period",
      "description": "Update a time period",
      "resource": "timePeriod"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a rule",
      "description": "Get a rule",
      "resource": "rule"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many rules",
      "description": "Get many rules",
      "resource": "rule"
    },
    {
      "name": "Run",
      "value": "run",
      "action": "Run discovery",
      "description": "Run service discovery",
      "resource": "discovery"
    },
    {
      "name": "Get Status",
      "value": "getStatus",
      "action": "Get discovery status",
      "description": "Get discovery status",
      "resource": "discovery"
    },
    {
      "name": "Activate",
      "value": "activate",
      "action": "Activate changes",
      "description": "Activate pending changes",
      "resource": "activateChanges"
    },
    {
      "name": "Get Pending",
      "value": "getPending",
      "action": "Get pending changes",
      "description": "Get pending changes",
      "resource": "activateChanges"
    },
    {
      "name": "Get Status",
      "value": "getStatus",
      "action": "Get activation status",
      "description": "Get activation status",
      "resource": "activateChanges"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a site",
      "description": "Get a site",
      "resource": "site"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many sites",
      "description": "Get many sites",
      "resource": "site"
    },
    {
      "name": "Login",
      "value": "login",
      "action": "Login to site",
      "description": "Login to a site",
      "resource": "site"
    },
    {
      "name": "Logout",
      "value": "logout",
      "action": "Logout from site",
      "description": "Logout from a site",
      "resource": "site"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a service",
      "description": "Get a service",
      "resource": "service"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many services",
      "description": "Get many services",
      "resource": "service"
    },
    {
      "name": "Acknowledge Problem",
      "value": "acknowledge",
      "action": "Acknowledge a service problem",
      "description": "Acknowledge a service problem",
      "resource": "service"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a downtime",
      "description": "Create a downtime",
      "resource": "downtime"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a downtime",
      "description": "Delete a downtime",
      "resource": "downtime"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a downtime",
      "description": "Get a downtime",
      "resource": "downtime"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many downtimes",
      "description": "Get many downtimes",
      "resource": "downtime"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many problems",
      "description": "Get many problems",
      "resource": "problem"
    },
    {
      "name": "Get State",
      "value": "getState",
      "action": "Get BI aggregation state",
      "description": "Get BI aggregation state",
      "resource": "biAggregation"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many BI packs",
      "description": "Get many BI packs",
      "resource": "biPack"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many BI rules",
      "description": "Get many BI rules",
      "resource": "biRule"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a comment",
      "description": "Create a comment",
      "resource": "comment"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many comments",
      "description": "Get many comments",
      "resource": "comment"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a comment",
      "description": "Delete a comment",
      "resource": "comment"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many event console entries",
      "description": "Get many event console entries",
      "resource": "eventConsole"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many host statuses",
      "description": "Get many host statuses",
      "resource": "hostStatus"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many metrics",
      "description": "Get many metrics",
      "resource": "metric"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many service statuses",
      "description": "Get many service statuses",
      "resource": "serviceStatus"
    },
    {
      "name": "Compute",
      "value": "compute",
      "action": "Compute SLA data",
      "description": "Compute SLA data",
      "resource": "sla"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many agents",
      "description": "Get many agents",
      "resource": "agent"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many audit logs",
      "description": "Get many audit logs",
      "resource": "auditLog"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an aux tag",
      "description": "Create an aux tag",
      "resource": "auxTag"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many aux tags",
      "description": "Get many aux tags",
      "resource": "auxTag"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an aux tag",
      "description": "Update an aux tag",
      "resource": "auxTag"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an aux tag",
      "description": "Delete an aux tag",
      "resource": "auxTag"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a host tag group",
      "description": "Create a host tag group",
      "resource": "hostTagGroup"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many host tag groups",
      "description": "Get many host tag groups",
      "resource": "hostTagGroup"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a host tag group",
      "description": "Update a host tag group",
      "resource": "hostTagGroup"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a host tag group",
      "description": "Delete a host tag group",
      "resource": "hostTagGroup"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an LDAP connection",
      "description": "Create an LDAP connection",
      "resource": "ldapConnection"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many LDAP connections",
      "description": "Get many LDAP connections",
      "resource": "ldapConnection"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an LDAP connection",
      "description": "Update an LDAP connection",
      "resource": "ldapConnection"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an LDAP connection",
      "description": "Delete an LDAP connection",
      "resource": "ldapConnection"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many notification rules",
      "description": "Get many notification rules",
      "resource": "notificationRule"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an open telemetry collector",
      "description": "Create an OpenTelemetry collector",
      "resource": "openTelemetry"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many open telemetry collectors",
      "description": "Get many OpenTelemetry collectors",
      "resource": "openTelemetry"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an open telemetry collector",
      "description": "Update an OpenTelemetry collector",
      "resource": "openTelemetry"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an open telemetry collector",
      "description": "Delete an OpenTelemetry collector",
      "resource": "openTelemetry"
    },
    {
      "name": "Run",
      "value": "run",
      "action": "Run parent scan",
      "description": "Run parent scan",
      "resource": "parentScan"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many passwords",
      "description": "Get many passwords",
      "resource": "password"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many rulesets",
      "description": "Get many rulesets",
      "resource": "ruleset"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a SAML connection",
      "description": "Create a SAML connection",
      "resource": "samlConnection"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many SAML connections",
      "description": "Get many SAML connections",
      "resource": "samlConnection"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a SAML connection",
      "description": "Update a SAML connection",
      "resource": "samlConnection"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a SAML connection",
      "description": "Delete a SAML connection",
      "resource": "samlConnection"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a user role",
      "description": "Create a user role",
      "resource": "userRole"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many user roles",
      "description": "Get many user roles",
      "resource": "userRole"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a user role",
      "description": "Update a user role",
      "resource": "userRole"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a user role",
      "description": "Delete a user role",
      "resource": "userRole"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many background jobs",
      "description": "Get many background jobs",
      "resource": "backgroundJob"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many broker connections",
      "description": "Get many broker connections",
      "resource": "brokerConnection"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many certificates",
      "description": "Get many certificates",
      "resource": "certificate"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many configuration entities",
      "description": "Get many configuration entities",
      "resource": "configurationEntity"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many DCD configurations",
      "description": "Get many DCD configurations",
      "resource": "dcd"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get license usage",
      "description": "Get license usage",
      "resource": "licenseUsage"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many quick setup configurations",
      "description": "Get many quick setup configurations",
      "resource": "quickSetup"
    }
  ]

npm_readme:
  # n8n-nodes-checkmk

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

  Checkmk is an IT monitoring platform for hybrid infrastructure, providing observability for servers, networks, cloud services, and applications from a single dashboard.

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

  ## Documentation

  For complete documentation including installation, operations, credentials, usage examples, and troubleshooting, see [DOCUMENTATION.md](DOCUMENTATION.md).

ai_documentation_summary:
  {"purpose":"This n8n community node enables integration with the Checkmk IT monitoring platform, allowing workflow automation with 100% API coverage for servers, networks, cloud services, and applications.","capabilities":["Checkmk API integration","Workflow automation for monitoring systems","Full API coverage support","Hybrid infrastructure observability"],"authentication":"See DOCUMENTATION.md for credentials setup","commonUseCases":["Automated monitoring alerts","Server status checks","Network monitoring automation","Cloud service observability"],"limitations":["Community node (not official n8n node)","Full documentation in separate DOCUMENTATION.md file"],"relatedNodes":["Checkmk API node","Monitoring nodes","Alerting nodes"]}


