# nodes

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

updated_at: 2026-02-19 14:41:52
author_name: hitl.sh
author_github_url: https://github.com/hitl-sh/n8n-plugin.git
npm_package_name: n8n-nodes-human-in-the-loop
npm_version: 0.1.5
community_fetched_at: 2026-02-19T14:41:52.629Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "request",
      "options": [
        {
          "name": "Request",
          "value": "request"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendAndWait",
      "options": [
        {
          "name": "Send and Wait",
          "value": "sendAndWait",
          "action": "Send request and wait for response",
          "description": "Create a request and wait for human response"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "request"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

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

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

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

  ## Features

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

  ## Prerequisites

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

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

  ## Installation

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

ai_documentation_summary:
  {"purpose":"Send decision requests to human experts via the HITL Platform from n8n workflows and wait for/receive human responses to continue the workflow.","capabilities":["Create decision requests to HITL Platform","Dynamically load/list HITL loops with metadata for selection","Wait for and receive human responses to requests (real-time integration)","Support multiple response types: text, single-select, multi-select, rating, number, boolean","Use bearer token (API key) for authenticated requests"],"authentication":"API key required (Bearer token)","commonUseCases":["Send manual review/approval tasks to human experts within automated workflows","Human moderation or verification of AI-generated content","Collect labels, ratings, or annotations from human reviewers","Route borderline or high-risk decisions to humans for final decision"],"limitations":["Requires installing the HITL Platform app (iOS/Android) to receive and respond to requests","Requires creating a HITL account, obtaining an API key, and setting up decision loops in the HITL platform"],"relatedNodes":[]}


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-02-19 14:41:52
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.0.9
community_fetched_at: 2026-02-19T14:41:52.629Z
ai_summary_generated_at: 2026-02-19 16:43:57
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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List scheduled scans",
      "description": "List all scheduled scans"
    },
    {
      "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"
    },
    {
      "name": "Get Info",
      "value": "getInfo",
      "action": "Get account info",
      "description": "Get account information"
    }
  ]

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

  To use this node, you need a Local Falcon API key. You can generate your API key from the [Local Falcon API Credentials page](https://www.localfalcon.com/api/credentials/).

  ## Compatibility

  Tested with n8n version 1.0.0 and above.

  ## Usage

  ### Basic Scan Example

  1. Add the Local Falcon node to your workflow
  2. Select "Scan" as the resource
  3. Select "Run" as the operation
  4. 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.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":"Provides n8n workflow actions to interact with the Local Falcon API for local SEO rank tracking, scans, campaigns, location management and reporting.","capabilities":["Scan: List Reports, Get Report by key, Run new scan","Campaign: List, Get Report, Create, Run, Pause, Resume, Reactivate","Location: List saved locations, Search business locations, Save location","Report: List/Get Competitor, Trend, Keyword, and Location reports","Scheduled Scan: List scheduled scans","Falcon Guard: List protected locations, Get report, Add location, Pause, Resume, Delete monitoring","Reviews Analysis: List reviews analysis reports, Get reviews report","Account: Get account information","Grid-based rank tracking (3x3 to 21x21)","Configurable radius (0.1 to 100 miles/km)"],"authentication":"API key required (Local Falcon API key obtained from the Local Falcon API Credentials page)","commonUseCases":["Run grid-based scans to measure local search visibility on Google Maps, Apple Maps, and other platforms","Automate recurring rank-tracking campaigns and trigger manual campaign runs","Fetch and analyze competitor, trend, keyword, and location reports for SEO insights","Monitor and manage Falcon Guard protected locations and alerts","Search and save business locations into account for repeated scanning"],"limitations":["Grid size constrained to 3x3 through 21x21","Radius constrained to 0.1 through 100 (miles/km)","Requires a Local Falcon API key (external account and key management)","Community node — manual installation into n8n may be required","Tested with n8n version 1.0.0 and above (compatibility with earlier versions not guaranteed)"],"relatedNodes":[]}


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

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

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

npm_readme:
  # n8n-nodes-scrape-creators

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

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

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

  ## How to install

  ### Community Nodes

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

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

  ## Credentials

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

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

  3. Create new credential in n8n

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

  ## Resources

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

  ## Version history

  0.1.5 - Initial Release

ai_documentation_summary:
  {"purpose":"An n8n community node that lets workflows fetch real-time social media data by calling the Scrape Creators API and return it into n8n for further processing.","capabilities":["Call the Scrape Creators API to retrieve real-time social media data","Authenticate requests using a Scrape Creators API token credential","Return scraped social media results into n8n workflows for downstream processing (e.g., pass to other nodes, store, or trigger actions)"],"authentication":"API key required (Scrape Creators API Token)","commonUseCases":["Monitor creators or influencers and ingest their latest posts/activities into workflows","Collect social media metrics or content for reporting or analytics pipelines","Trigger alerts or downstream actions in n8n when new posts or changes are detected","Enrich CRMs, databases, or marketing automation flows with scraped social data"],"limitations":["Community node (third‑party) — must be installed from the Community Nodes panel and carries the usual community-node risks","README does not document which social platforms or specific API endpoints/actions are supported","No details in README about rate limits, pricing, or error handling; those must be checked in Scrape Creators docs","Initial release (0.1.5) — feature completeness and stability may be limited"],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: remyabyssale
author_github_url: https://github.com/getabyssale/
npm_package_name: n8n-nodes-abyssale
npm_version: 1.0.3
community_fetched_at: 2026-02-19T14:41:52.631Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "banner",
      "options": [
        {
          "name": "Banner",
          "value": "banner"
        },
        {
          "name": "Design",
          "value": "design"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateSingle",
      "options": [
        {
          "name": "Export Banners",
          "value": "exportBanners",
          "action": "Export banners",
          "description": "Export one or multiple previously generated visuals in .zip format"
        },
        {
          "name": "Generate HTML5 Banner Ads",
          "value": "generateHTML5BannerAds",
          "action": "Generate html5 banner ads",
          "description": "Generate HTML5 banner ads from an animated design"
        },
        {
          "name": "Generate Multi-Format Animated GIFs",
          "value": "generateMultiFormatGIFs",
          "action": "Generate multi format animated gifs",
          "description": "Generate multiple animated GIFs at once from a design created in Abyssale"
        },
        {
          "name": "Generate Multi-Format Images",
          "value": "generateMultiFormatImages",
          "action": "Generate multiple images",
          "description": "Generate a multiple images (JPEG, PNG, PDF,..) from a design"
        },
        {
          "name": "Generate Multi-Format PDFs for Printing",
          "value": "generateMultiFormatPDFs",
          "action": "Generate multi format pdfs for printing",
          "description": "Generate multiple printable PDFs at once from a design created in Abyssale"
        },
        {
          "name": "Generate Multi-Format Videos",
          "value": "generateMultiFormatVideos",
          "action": "Generate multi format videos",
          "description": "Generate multiple videos at once from an animated design created in Abyssale"
        },
        {
          "name": "Generate Single Image",
          "value": "generateSingle",
          "action": "Generate a single image",
          "description": "Generate a single image (JPEG, PNG, PDF) from a design"
        },
        {
          "name": "Get Banner",
          "value": "getBanner",
          "action": "Get banner",
          "description": "Retrieves the details about a previously generated banner"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "banner"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDesign",
      "options": [
        {
          "name": "Get a Design",
          "value": "getDesign",
          "action": "Get a design",
          "description": "Retrieves the details about a design you created on Abyssale"
        },
        {
          "name": "Get a Design Format",
          "value": "getDesignFormat",
          "action": "Get a design format",
          "description": "Retrieves the details about a format added to a design you created on Abyssale"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "design"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Export Banners",
      "value": "exportBanners",
      "action": "Export banners",
      "description": "Export one or multiple previously generated visuals in .zip format"
    },
    {
      "name": "Generate HTML5 Banner Ads",
      "value": "generateHTML5BannerAds",
      "action": "Generate html5 banner ads",
      "description": "Generate HTML5 banner ads from an animated design"
    },
    {
      "name": "Generate Multi-Format Animated GIFs",
      "value": "generateMultiFormatGIFs",
      "action": "Generate multi format animated gifs",
      "description": "Generate multiple animated GIFs at once from a design created in Abyssale"
    },
    {
      "name": "Generate Multi-Format Images",
      "value": "generateMultiFormatImages",
      "action": "Generate multiple images",
      "description": "Generate a multiple images (JPEG, PNG, PDF,..) from a design"
    },
    {
      "name": "Generate Multi-Format PDFs for Printing",
      "value": "generateMultiFormatPDFs",
      "action": "Generate multi format pdfs for printing",
      "description": "Generate multiple printable PDFs at once from a design created in Abyssale"
    },
    {
      "name": "Generate Multi-Format Videos",
      "value": "generateMultiFormatVideos",
      "action": "Generate multi format videos",
      "description": "Generate multiple videos at once from an animated design created in Abyssale"
    },
    {
      "name": "Generate Single Image",
      "value": "generateSingle",
      "action": "Generate a single image",
      "description": "Generate a single image (JPEG, PNG, PDF) from a design"
    },
    {
      "name": "Get Banner",
      "value": "getBanner",
      "action": "Get banner",
      "description": "Retrieves the details about a previously generated banner"
    },
    {
      "name": "Get a Design",
      "value": "getDesign",
      "action": "Get a design",
      "description": "Retrieves the details about a design you created on Abyssale"
    },
    {
      "name": "Get a Design Format",
      "value": "getDesignFormat",
      "action": "Get a design format",
      "description": "Retrieves the details about a format added to a design you created on Abyssale"
    }
  ]

npm_readme:
  # n8n-nodes-abyssale

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

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

  [Abyssale](https://www.abyssale.com/) helps you generate creative content at scale.

  [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

  - Banner
    - Export banners
    - Generate html5 banner ads
    - Generate multi format animated gifs
    - Generate multiple images
    - Generate multiple format pds for printing
    - Generate multiple format videos
    - Generate a single image
    - Get banner
    - Watch banner creation
    - Watch banner batch creation
    - Watch banners export
  - Design
    - Get a design
    - Get a design format
    - Watch design status changes

  ## Credentials

  You can use abyssale access token to use this node.

  ### Access token

  1. Follow this [tutorial](https://help.abyssale.com/en/articles/329008-how-to-create-your-abyssale-api-key) to generate your api key.
  2. Copy the token.

  ## Compatibility

  Compatible with n8n@1.117.3 or later

  ## Usage

  ### Generate marketing visuals with n8n
  Transform your n8n workflows with automated visual generation. 
  Pull data from any source and turn it into engaging visuals for every channel - from social posts to email campaigns.

  #### Basic image generation
  1. Add an **Abyssale** node to your workflow.
  2. Select the **Generate a single image** operation from the node's dropdown menu.
  3. Add your Abyssale API credential.
  4. Choose a static design. The design must be created in the Abyssale app beforehand and will be used as the base for your generated images.
  5. Select your desired format you want to use.
  6. Configure the design elements you want to customize. Map input data to specific elements like text, images, or colors to personalize each generated visual.
  7. Execute the node by clicking **Execute step**.
  8. Abyssale will automatically generate an image with your specified element modifications applied.

  ## Resources

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

ai_documentation_summary:
  {"purpose":"Provides n8n workflow access to the Abyssale API to generate and manage visual assets (images, banners, videos, exports) and to retrieve/watch design and job status.","capabilities":["Generate a single image from a prebuilt design","Generate multiple images (batch generation)","Generate HTML5 banner ads","Generate multi-format animated GIFs","Generate multi-format videos","Generate multi-format PDFs for printing","Export banners","Get banner details","Watch banner creation progress","Watch banner batch creation progress"],"authentication":"API key required (Abyssale access token)","commonUseCases":["Automated generation of marketing visuals (social posts, email images) from workflow data","Batch creation of images or banners with personalized elements (text, images, colors)","Produce animated GIFs or videos from designs for ads and campaigns","Export banners in multiple formats for distribution or printing","Monitor generation jobs and design status within workflows"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-atriomail-email.atriomail
package_name: n8n-nodes-atriomail-email
display_name: Atriomail
description: Manage email domains, mailboxes, forwarders, and catch-all configurations with Atriomail
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: atriomail
author_github_url: https://github.com/Atriomail/n8n-atriomail.git
npm_package_name: n8n-nodes-atriomail-email
npm_version: 0.2.1
community_fetched_at: 2026-02-19T14:41:52.631Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "domain",
      "options": [
        {
          "name": "Catch-All",
          "value": "catchAll"
        },
        {
          "name": "Domain",
          "value": "domain"
        },
        {
          "name": "Forwarder",
          "value": "forwarder"
        },
        {
          "name": "Mailbox",
          "value": "mailbox"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a domain",
          "description": "Create a new domain"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a domain",
          "description": "Delete a domain"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a domain",
          "description": "Get a domain by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many domains",
          "description": "Get many domains"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a domain",
          "description": "Update a domain"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "domain"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a mailbox",
          "description": "Create a new mailbox"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a mailbox",
          "description": "Delete a mailbox"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a mailbox",
          "description": "Get a mailbox by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many mailboxes",
          "description": "Get many mailboxes"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a mailbox",
          "description": "Update a mailbox"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "mailbox"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a forwarder",
          "description": "Create a new forwarder"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a forwarder",
          "description": "Delete a forwarder"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a forwarder",
          "description": "Get a forwarder by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many forwarders",
          "description": "Get many forwarders"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a forwarder",
          "description": "Update a forwarder"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "forwarder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a catch all",
          "description": "Create a new catch-all configuration"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a catch all",
          "description": "Delete a catch-all configuration"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a catch all",
          "description": "Get a catch-all configuration by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many catch alls",
          "description": "Get many catch-all configurations"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a catch all",
          "description": "Update a catch-all configuration"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "catchAll"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a domain",
      "description": "Create a new domain"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a domain",
      "description": "Delete a domain"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a domain",
      "description": "Get a domain by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many domains",
      "description": "Get many domains"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a domain",
      "description": "Update a domain"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a mailbox",
      "description": "Create a new mailbox"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a mailbox",
      "description": "Delete a mailbox"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a mailbox",
      "description": "Get a mailbox by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many mailboxes",
      "description": "Get many mailboxes"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a mailbox",
      "description": "Update a mailbox"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a forwarder",
      "description": "Create a new forwarder"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a forwarder",
      "description": "Delete a forwarder"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a forwarder",
      "description": "Get a forwarder by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many forwarders",
      "description": "Get many forwarders"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a forwarder",
      "description": "Update a forwarder"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a catch all",
      "description": "Create a new catch-all configuration"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a catch all",
      "description": "Delete a catch-all configuration"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a catch all",
      "description": "Get a catch-all configuration by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many catch alls",
      "description": "Get many catch-all configurations"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a catch all",
      "description": "Update a catch-all configuration"
    }
  ]

npm_readme:
  # n8n-nodes-atriomail

  This is an n8n community node for [Atriomail](https://system.atriomail.com) - an Email System Management API for managing domains, mailboxes, forwarders, and catch-all configurations.

  [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

  ### Domain
  - **Create** - Create a new email domain
  - **Delete** - Delete an existing domain
  - **Get** - Retrieve a specific domain by ID
  - **Get Many** - List all domains
  - **Update** - Update domain settings (active status, description)

  ### Mailbox
  - **Create** - Create a new mailbox with email address and password
  - **Delete** - Delete an existing mailbox
  - **Get** - Retrieve a specific mailbox by ID
  - **Get Many** - List all mailboxes
  - **Update** - Update mailbox settings (name, password, quota, active status)

  ### Forwarder
  - **Create** - Create a new email forwarder
  - **Delete** - Delete an existing forwarder
  - **Get** - Retrieve a specific forwarder by ID
  - **Get Many** - List all forwarders
  - **Update** - Update forwarder settings (forward-to addresses, active status)

  ### Catch-All
  - **Create** - Create a new catch-all configuration for a domain
  - **Delete** - Delete an existing catch-all configuration
  - **Get** - Retrieve a specific catch-all by ID
  - **Get Many** - List all catch-all configurations
  - **Update** - Update catch-all settings (forward-to addresses, active status)

  ## Credentials

  To use this node, you need to configure the Atriomail API credentials:

  1. **API URL**: Your Atriomail instance URL (default: `https://system.atriomail.com`)
  2. **API Token**: Your API token generated from the Atriomail dashboard

  ### Getting your API Token

  1. Log in to your Atriomail dashboard
  2. Navigate to your account settings
  3. Generate a new API token
  4. Copy the token and use it in the n8n credentials

  ## Compatibility

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

  ## Usage

  ### Create a Domain

  1. Add the Atriomail node to your workflow
  2. Select **Domain** as the resource
  3. Select **Create** as the operation
  4. Enter the domain name (e.g., `example.com`)
  5. Optionally set the domain as active and add a description

  ### Create a Mailbox

  1. Select **Mailbox** as the resource
  2. Select **Create** as the operation
  3. Choose the domain from the dropdown (domains are loaded dynamically)
  4. Enter the local part (e.g., `john` for `john@example.com`)
  5. Set a password for the mailbox
  6. Optionally set display name and quota

  ### Create a Forwarder

  1. Select **Forwarder** as the resource
  2. Select **Create** as the operation
  3. Choose the domain from the dropdown
  4. Enter the local part (e.g., `sales` for `sales@example.com`)
  5. Enter comma-separated email addresses to forward to

  ### Create a Catch-All

  1. Select **Catch-All** as the resource
  2. Select **Create** as the operation
  3. Choose the domain from the dropdown
  4. Enter comma-separated email addresses to receive catch-all emails

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Atriomail API Documentation](https://system.atriomail.com/api/documentation)

  ## License

  [MIT](LICENSE)

  ## More Information

  [Atriomail](https://atriomail.com)

ai_documentation_summary:
  {"purpose":"Manage Atriomail email system entities (domains, mailboxes, forwarders, and catch-all configurations) from n8n workflows, allowing creation, retrieval, updating, listing, and deletion of those resources.","capabilities":["Domain: Create, Delete, Get (by ID), Get Many (list), Update (active status, description)","Mailbox: Create (email + password), Delete, Get (by ID), Get Many (list), Update (name, password, quota, active status, display name)","Forwarder: Create, Delete, Get (by ID), Get Many (list), Update (forward-to addresses, active status)","Catch-All: Create, Delete, Get (by ID), Get Many (list), Update (forward-to addresses, active status)","Dynamic domain selection in dropdowns when creating mailboxes, forwarders, and catch-alls","Accepts comma-separated addresses for forwarding / catch-all targets"],"authentication":"API token required (configure Atriomail API URL and API token in n8n credentials; default API URL https://system.atriomail.com)","commonUseCases":["Automate provisioning of email domains and mailboxes for new users or customers","Bulk-create or update mailboxes (passwords, quotas, display names) from external user directories","Configure or update email forwarders and catch-all addresses as part of onboarding/offboarding flows","Cleanup and deprovision domains, mailboxes, or forwarders when services are terminated","Sync domain/mailbox state with other systems (CRM, identity provider) using list/get operations"],"limitations":["Node focuses on management of domains/mailboxes/forwarders/catch-alls — it does not handle sending, receiving, or processing email message contents","Requires n8n v1.0.0+ and Node.js 18.10+ (compatibility constraints)","Authentication is via API token only (no OAuth2 or other auth methods documented)","No mention of bulk/batch API operations beyond repeated 'Create' or 'Get Many' calls (may require looping for large sets)"],"relatedNodes":[]}


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-02-19 14:41:52
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-02-19T14:41:52.632Z
ai_summary_generated_at: 2026-02-19 16:43:57
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"
    },
    {
      "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"
    },
    {
      "name": "Make Phone Call",
      "value": "create",
      "action": "Make Phone Call",
      "description": "Creates an outbound phone call using Nedzo voice agent"
    },
    {
      "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"
    },
    {
      "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."
    }
  ]

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":"Provides n8n integration with Nedzo, enabling creation and management of AI voice agents, contacts, workspaces, and making outbound phone calls through the Nedzo platform.","capabilities":["Agent: Create Agent","Agent: Find Agent (get agent details)","Agent: Update Agent","Agent: Delete Agent (permanent)","Call: Make Phone Call (create outbound phone call using Nedzo voice agent)","Contact: Create/Update Contact","Contact: Find Contact (get contact and all information)","Contact: Delete Contact","Workspace: Create Workspace","Workspace: Delete Workspace (permanent)"],"authentication":"API key required (Nedzo API credentials from Nedzo dashboard)","commonUseCases":["Automate outbound voice calls using AI voice agents","Provision and update voice agents programmatically within a workspace","Manage contact records used by voice agents (create, update, lookup, delete)","Create and manage workspaces for organizing agents and contacts","Integrate Nedzo voice automation into broader n8n workflows (e.g., CRM sync, event-triggered calls)"],"limitations":[],"relatedNodes":[]}


node_type: @custom-js/n8n-nodes-pdf-toolkit-v2.pdfToolkit
package_name: @custom-js/n8n-nodes-pdf-toolkit-v2
display_name: CustomJS (PDF & File Toolkit)
description: All-in-one toolkit for PDF, HTML, JSON, and file conversions.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: henriklippke
author_github_url: https://github.com/customjs/n8n-nodes-pdf-toolkit-v2.git
npm_package_name: @custom-js/n8n-nodes-pdf-toolkit-v2
npm_version: 0.5.0
community_fetched_at: 2026-02-19T14:41:52.633Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "convert",
      "options": [
        {
          "name": "Convert",
          "value": "convert"
        },
        {
          "name": "PDF",
          "value": "pdf"
        },
        {
          "name": "Web",
          "value": "web"
        },
        {
          "name": "Data",
          "value": "data"
        },
        {
          "name": "HTML Hosting",
          "value": "page"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "pdfToPng",
      "options": [
        {
          "name": "PDF to PNG",
          "value": "pdfToPng",
          "action": "Convert PDF to PNG"
        },
        {
          "name": "PDF to Text",
          "value": "pdfToText",
          "action": "Convert PDF to Text"
        },
        {
          "name": "HTML to DOCX",
          "value": "htmlToDocx",
          "action": "Convert HTML to DOCX"
        },
        {
          "name": "HTML to PDF",
          "value": "htmlToPdf",
          "action": "Convert HTML to PDF"
        },
        {
          "name": "JSON to TOON",
          "value": "jsonToToon",
          "action": "Convert JSON to TOON"
        },
        {
          "name": "TOON to JSON",
          "value": "toonToJson",
          "action": "Convert TOON to JSON"
        },
        {
          "name": "Markdown to HTML",
          "value": "markdownToHtml",
          "action": "Convert Markdown to HTML"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "convert"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "compress",
      "options": [
        {
          "name": "Compress",
          "value": "compress",
          "action": "Compress PDF"
        },
        {
          "name": "Merge",
          "value": "merge",
          "action": "Merge PDFs"
        },
        {
          "name": "Extract Pages",
          "value": "extractPages",
          "action": "Extract Pages from PDF"
        },
        {
          "name": "Get Form Fields",
          "value": "getFormFields",
          "action": "Get PDF Form Fields"
        },
        {
          "name": "Fill Form",
          "value": "fillForm",
          "action": "Fill PDF Form"
        },
        {
          "name": "Generate Invoice",
          "value": "generateInvoice",
          "action": "Generate Invoice PDF"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrape",
      "options": [
        {
          "name": "Scrape",
          "value": "scrape",
          "action": "Scrape Website"
        },
        {
          "name": "Screenshot",
          "value": "screenshot",
          "action": "Take Screenshot"
        },
        {
          "name": "SSL Check",
          "value": "sslCheck",
          "action": "Check SSL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "web"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "jsonSelect",
      "options": [
        {
          "name": "JSON Select",
          "value": "jsonSelect",
          "action": "Select JSON Data"
        },
        {
          "name": "Regex",
          "value": "regex",
          "action": "Regex Tool"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "data"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Get HTML Pages",
          "value": "getAll",
          "action": "Get HTML Pages"
        },
        {
          "name": "Host HTML Page",
          "value": "upload",
          "action": "Upload new HTML Page"
        },
        {
          "name": "Update HTML Page",
          "value": "update",
          "action": "Update existing HTML Page"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "page"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "PDF to PNG",
      "value": "pdfToPng",
      "action": "Convert PDF to PNG"
    },
    {
      "name": "PDF to Text",
      "value": "pdfToText",
      "action": "Convert PDF to Text"
    },
    {
      "name": "HTML to DOCX",
      "value": "htmlToDocx",
      "action": "Convert HTML to DOCX"
    },
    {
      "name": "HTML to PDF",
      "value": "htmlToPdf",
      "action": "Convert HTML to PDF"
    },
    {
      "name": "JSON to TOON",
      "value": "jsonToToon",
      "action": "Convert JSON to TOON"
    },
    {
      "name": "TOON to JSON",
      "value": "toonToJson",
      "action": "Convert TOON to JSON"
    },
    {
      "name": "Markdown to HTML",
      "value": "markdownToHtml",
      "action": "Convert Markdown to HTML"
    },
    {
      "name": "Compress",
      "value": "compress",
      "action": "Compress PDF"
    },
    {
      "name": "Merge",
      "value": "merge",
      "action": "Merge PDFs"
    },
    {
      "name": "Extract Pages",
      "value": "extractPages",
      "action": "Extract Pages from PDF"
    },
    {
      "name": "Get Form Fields",
      "value": "getFormFields",
      "action": "Get PDF Form Fields"
    },
    {
      "name": "Fill Form",
      "value": "fillForm",
      "action": "Fill PDF Form"
    },
    {
      "name": "Generate Invoice",
      "value": "generateInvoice",
      "action": "Generate Invoice PDF"
    },
    {
      "name": "Scrape",
      "value": "scrape",
      "action": "Scrape Website"
    },
    {
      "name": "Screenshot",
      "value": "screenshot",
      "action": "Take Screenshot"
    },
    {
      "name": "SSL Check",
      "value": "sslCheck",
      "action": "Check SSL"
    },
    {
      "name": "JSON Select",
      "value": "jsonSelect",
      "action": "Select JSON Data"
    },
    {
      "name": "Regex",
      "value": "regex",
      "action": "Regex Tool"
    },
    {
      "name": "Get HTML Pages",
      "value": "getAll",
      "action": "Get HTML Pages"
    },
    {
      "name": "Host HTML Page",
      "value": "upload",
      "action": "Upload new HTML Page"
    },
    {
      "name": "Update HTML Page",
      "value": "update",
      "action": "Update existing HTML Page"
    }
  ]

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

  # @custom-js/n8n-nodes-pdf-toolkit-v2

  This is an n8n community node. It lets interact with official API of [customJS API](https://www.customjs.space/)

  This package contains nodes to help you generate PDF from HTML, merge multiple PDF files, take a screenshot of specific website using URL, convert PDF to PNG, convert PDF to Text and extract pages from PDF.

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

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

  ## Installation

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

  Use the package at [here](https://www.npmjs.com/package/@custom-js/n8n-nodes-pdf-toolkit).

  ## Credentials

  Add your Api Key and store securely


  ## Usage

  ### "HTML to PDF" node

  - Add the HTML to PDF node to your workflow
  - Configure your CustomJS API credentials
  - Input your HTML content
  - Execute the workflow to generate PDF

  ### "Merge PDFs" node

  - Add the Merge PDFs node to your workflow
  - Configure your CustomJS API credentials
  - Input PDF files as an array with the same field name to merge.
  - If total size of files exceeds 6MB, pass it as an array of URL seperated by comma.
  - Execute the workflow to get merged PDF file.

  ### "Website Screenshot" node

  - Add the Website Screenshot node to your workflow
  - Configure your CustomJS API credentials
  - Input your URL of website to take screenshot
  - Execute the workflow to take a screenshot of that website

  ### "Compress PDF" node

  - Add the Compress PDF node to your workflow
  - Configure your CustomJS API credentials
  - Input Binary PDF file for compression to compress
  - If size of the binary file exceeds 6MB, pass it as URL.
  - Execute the workflow to get a compression of PDF file.

  ### "PDF To PNG" node

  - Add the PDF To PNG node to your workflow
  - Configure your CustomJS API credentials
  - Input Binary PDF file for conversion
  - If size of the binary file exceeds 6MB, pass it as URL.
  - Execute the workflow to get converted PNG file.

  ### "PDF To Text" node

  - Add the PDF To Text node to your workflow
  - Configure your CustomJS API credentials
  - Input Binary PDF file for conversion
  - If size of the binary file exceeds 6MB, pass it as URL.
  - Execute the workflow to get converted Text file.

  ### "Extract Pages From PDF" node

  - Add the Extract Pages From PDF node to your workflow
  - Configure your CustomJS API credentials
  - Input Binary PDF file for conversion
  - If size of the binary file exceeds 6MB, pass it as URL.
  - Execute the workflow to get converted Pages from PDF file.

  ### "SSL Checker" node

  - Add the **SSL Checker** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input the domain you want to check (e.g., `example.com`).
  - Execute the workflow to get information about the SSL certificate, including the expiration date.

  ### "Scraper" node

  - Add the **Scraper** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input the website URL you want to scrape (must start with `https://`).
  - Optionally, define user actions (click, type, wait) to interact with page elements using selectors.
  - Choose the return type:  
    - **Raw HTML**: Get the HTML content of the page.  
    - **Screenshot (PNG)**: Get a screenshot of the page.
  - Enable or disable debug mode to control error handling for missing elements.
  - Execute the workflow to scrape the website and receive the desired output.

  ### "Markdown to HTML" node

  - Add the **Markdown to HTML** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input the Markdown content you want to convert to HTML.
  - Execute the workflow to get the converted HTML content.

  ### "HTML to Docx (Word)" node

  - Add the **HTML to Docx (Word)** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input the HTML content you want to convert to Docx (Word).
  - Execute the workflow to get the converted Docx (Word) file.


  ### "PDF Form Fill" node

  - Add the **PDF Form Fill** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input the PDF file you want to fill out.
  - Define the form fields and their values.
  - Execute the workflow to get the filled-out PDF file.

  ### "Get PDF Form Field Names" node

  - Add the **Get PDF Form Field Names** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input the PDF file you want to get form field names from.
  - Execute the workflow to get the form field names.

  ### "Invoice Generator" node

  - Add the **Invoice Generator** node to your workflow.
  - Configure your CustomJS API credentials.
  - Select a PDF template.
  - Fill in the issuer, payment, recipient, and billing information.
  - Add items to the invoice.
  - Execute the workflow to generate the PDF invoice.

  ### "JSON to TOON" node

  - Add the **JSON to TOON** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input your JSON data.
  - Execute the workflow to convert JSON to TOON format.
  - TOON format can reduce AI tokenization by 40% to 60% when working with language models.

  ### "TOON to JSON" node

  - Add the **TOON to JSON** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input your TOON data.
  - Execute the workflow to convert TOON to JSON format.

  ### Host HTML Page node

  - Add the **Host HTML Page** node to your workflow.
  - Configure your CustomJS API credentials.
  - Input your HTML content.
  - Execute the workflow to host the HTML page.
  - You can then access the hosted page via the provided URL.

ai_documentation_summary:
  {"purpose":"All-in-one n8n community node that uses the CustomJS API to convert, generate, manipulate, and extract data from PDFs, HTML, and other file types, plus website screenshots, scraping, and hosting HTML pages.","capabilities":["Convert HTML to PDF","Merge multiple PDF files (accepts binary files or array of URLs for large payloads)","Take website screenshots from a URL","Compress PDF files","Convert PDF to PNG images","Convert PDF to plain text","Extract pages from a PDF","Check SSL certificate info (domain expiration, etc.)","Scrape websites including scripted user actions (click, type, wait) and return raw HTML or PNG screenshots; optional debug mode","Convert Markdown to HTML"],"authentication":"API key required (CustomJS API key)","commonUseCases":["Generate PDF documents from HTML templates (invoices, reports, letters)","Merge and compress PDFs for storage or delivery","Extract text or pages from PDFs for indexing or downstream processing","Take automated screenshots or scrape page content for monitoring or data extraction","Convert content between formats (Markdown→HTML, HTML→DOCX, PDF→PNG/TXT)"],"limitations":["Binary file uploads larger than ~6 MB must be supplied as a URL rather than direct binary data (applies to merge, compress, conversions, extraction)","When merging PDFs, if total size exceeds 6 MB files must be provided as an array of URLs (comma-separated)","Scraper URL must start with https://","Functionality depends on the external CustomJS API (requires network access and valid API key)"],"relatedNodes":[]}


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-02-19 14:41:52
author_name: venelinkochev
author_github_url: https://github.com/converthub-api/
npm_package_name: n8n-nodes-converthub
npm_version: 0.2.1
community_fetched_at: 2026-02-19T14:41:52.634Z
ai_summary_generated_at: 2026-02-19 16:43:57
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"
    },
    {
      "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"
    },
    {
      "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"
    },
    {
      "name": "Get Account Details",
      "value": "getDetails",
      "action": "Get account details",
      "description": "Get account information including credits and plan details"
    }
  ]

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":"ConvertHub node lets n8n workflows convert files between 800+ formats (images, documents, audio, video, etc.) using the ConvertHub API, supporting both direct binary uploads and URL-based conversions.","capabilities":["Convert File (direct binary upload)","Convert from URL","Support for binary data handling","Get All Supported Formats (grouped by type)","Get Format Conversions (available conversions for a specific format)","Check Conversion Support (for a specific conversion pair)","Get All Supported Conversions (full conversion mappings)","Get Account Details (credits, plan, file size limits)","Job management: check job status, cancel jobs, delete jobs","Optional conversion parameters: Output Filename, Webhook URL for notifications, Quality, Resolution, Bitrate, Sample Rate, Metadata"],"authentication":"API key required (ConvertHub API Key)","commonUseCases":["Convert images, documents, audio, or video files within an n8n workflow","Convert a remote file by providing a URL (URL-based conversion)","Integrate with HTTP Request or Read Binary File nodes to feed files to the ConvertHub node","Automate conversions with asynchronous notifications via webhook URL","Query supported formats and conversion mappings to drive conditional workflow logic"],"limitations":["File size limit: 50MB for direct upload","Converted files are retained for 24 hours","Rate limits vary by plan (see ConvertHub API docs)","Each conversion consumes 1 credit","All API requests require the API key (keep it secure)"],"relatedNodes":["HTTP Request","Read Binary File","Webhook"]}


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

updated_at: 2026-02-19 14:41:52
author_name: petem
author_github_url: https://github.com/docusealco/n8n-nodes-docuseal.git
npm_package_name: @docuseal/n8n-nodes-docuseal
npm_version: 1.0.2
community_fetched_at: 2026-02-19T14:41:52.634Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "createSubmission",
      "options": [
        {
          "name": "Create Submission",
          "value": "createSubmission",
          "action": "Create submission",
          "description": "Create a signature request from template"
        },
        {
          "name": "Create Submission From DOCX",
          "value": "createSubmissionFromDocx",
          "action": "Create submission from DOCX",
          "description": "Create a signature request from DOCX file with dynamic variables"
        },
        {
          "name": "Create Submission From HTML",
          "value": "createSubmissionFromHtml",
          "action": "Create submission from HTML",
          "description": "Create a signature request from HTML content"
        },
        {
          "name": "Create Submission From PDF",
          "value": "createSubmissionFromPdf",
          "action": "Create submission from PDF",
          "description": "Create a signature request from PDF document"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

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

npm_readme:
  # n8n-nodes-docuseal

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

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

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

  ## Table of Contents

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

  ## Installation

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

  ### Community Nodes (Recommended)

  For n8n cloud or instances with UI access:

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

  ### npm Installation

  To install manually in your n8n root directory:

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

  ### Docker Installation

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

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

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

  ## Operations

  This package includes two nodes:

  ### DocuSeal Node

  The main node for creating and managing signature requests.

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

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

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

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

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

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

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

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

  ### DocuSeal Trigger Node

  Webhook-based trigger for DocuSeal events.

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

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

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

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

  ## Credentials

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

  ### Getting Your API Key

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

  ### Setting Up Credentials in n8n

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

  ### Authentication Methods

  This node supports two authentication methods:

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

  ## Compatibility

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

  ## Usage Examples

  ### Example 1: Automated Contract Signing

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

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

  ### Example 2: Onboarding Automation

  Automatically send onboarding documents to new employees:

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

  ### Example 3: Document Archive Workflow

  Archive completed documents automatically:

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

  ### Example 4: Multi-Party Signing

  Send documents requiring multiple signatures in sequence:

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

  ## Advanced Features

  ### Pre-filling Form Fields

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

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

  ### Custom Email Notifications

  Customize the email sent to signers:

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

  ### Metadata and External IDs

  Track your documents by adding:

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

  ### Expiration Dates

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

  ## Troubleshooting

  ### 🧩 Common Issues

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

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

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

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

  ### Getting Help

  If you encounter issues:

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

  ## Resources

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

  ## Support

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

  ## License

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

ai_documentation_summary:
  {"purpose":"Provide n8n nodes to create and manage DocuSeal signature requests (from templates, DOCX/HTML/PDF) and to trigger workflows on DocuSeal events.","capabilities":["Create signature requests from existing templates (select template, define multiple signers, pre-fill fields, customize emails, set expiration, configure signing order)","Create submissions from DOCX (upload DOCX/PDF, dynamic variables for content replacement, merge documents, define signer roles, template merging)","Create submissions from HTML (use HTML with field tags, custom headers/footers, multiple page sizes, merge with templates, automatic HTML-to-PDF conversion)","Create submissions from PDF (upload PDF via Base64 or URL, flatten form fields, remove/preserve text tags, merge multiple PDFs, integrate with templates)","Trigger node for DocuSeal webhook events (Signing Form Completed for individual signer; Submission Completed when all parties have signed)","Support for uploading/merging multiple documents and configuring signing flows (sequential or parallel/random)"],"authentication":"API key (Access Token) required (recommended); OAuth2 supported (requires app setup)","commonUseCases":["Automated contract signing when deals are created in a CRM","Employee onboarding: send DOCX/PDF forms with pre-filled variables to new hires and HR","Archive completed signed documents to storage (e.g., Google Drive) and update databases","Multi-party signing workflows with sequential or parallel signing order","Trigger notifications or downstream workflows when a signer completes or when the entire submission is completed"],"limitations":["Requires a DocuSeal account and an API key (or OAuth2 app setup) to use","Community node — must install community package and accept community-node usage risks","Compatibility requirements: n8n >= 0.187.0 and Node.js >= 18.10","OAuth2 option requires additional app configuration (not automatic)"],"relatedNodes":["Webhook / Trigger nodes","HTTP Request","CRM triggers (e.g., HubSpot, Salesforce)","Google Drive","Slack"]}


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

updated_at: 2026-02-19 14:41:52
author_name: himanshudevgan
author_github_url: https://github.com/deepgaganventurepact/outgrow-n8n.git
npm_package_name: n8n-nodes-outgrow
npm_version: 0.1.10
community_fetched_at: 2026-02-19T14:41:52.635Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # Outgrow Trigger Node for n8n

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

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


  ## Features

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

  ## Prerequisites

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

  ## Installation

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

  ## Node Configuration

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




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

ai_documentation_summary:
  {"purpose":"Trigger node that fetches new leads from a selected Outgrow calculator at configurable intervals, allowing n8n workflows to react to Outgrow lead events.","capabilities":["Poll Outgrow API for new leads at configurable intervals (default: 5 minutes)","Select which Outgrow calculator to monitor via a dynamic dropdown","Manual trigger for immediate testing/instant API call","Emit clear UI notifications when no leads are found"],"authentication":"API key required (configure 'Outgrow API' credentials in n8n with your Outgrow API key)","commonUseCases":["Sync new Outgrow leads to CRMs (e.g., Salesforce, HubSpot)","Send notifications (email, Slack) when new leads are captured","Insert or update leads in a database (MySQL, PostgreSQL)","Enrich or transform lead data and continue processing in an n8n workflow","Test calculator integrations using the manual trigger"],"limitations":["Polling-based (not webhook-driven) — not real-time and may increase API calls","Monitors a single calculator per node (monitor multiple calculators by creating multiple nodes)","Requires an Outgrow account with API access and an API key"],"relatedNodes":["HTTP Request","Webhook","Salesforce","HubSpot","Gmail / SMTP"]}


node_type: n8n-nodes-dalil-ai.dalilAi
package_name: n8n-nodes-dalil-ai
display_name: Dalil AI
description: Consume Dalil AI API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: dalil-ai
author_github_url: https://github.com/dalil-ai/
npm_package_name: n8n-nodes-dalil-ai
npm_version: 0.2.1
community_fetched_at: 2026-02-19T14:41:52.635Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "people",
      "options": [
        {
          "name": "Company",
          "value": "company"
        },
        {
          "name": "Note",
          "value": "note"
        },
        {
          "name": "Note Relation",
          "value": "noteTarget"
        },
        {
          "name": "Opportunity",
          "value": "opportunity"
        },
        {
          "name": "Person",
          "value": "people"
        },
        {
          "name": "Pipeline",
          "value": "pipeline"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "Task Relation",
          "value": "taskTarget"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a person",
          "description": "Create a new person"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a person",
          "description": "Delete a person"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a person",
          "description": "Get a person"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many people",
          "description": "Get many people"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for people",
          "description": "Search for people by name or email"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a person",
          "description": "Update a person"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "people"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a company",
          "description": "Create a new company"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a company",
          "description": "Delete a company"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a company",
          "description": "Get a company"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many companies",
          "description": "Get many companies"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for companies",
          "description": "Search for companies by name"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a company",
          "description": "Update a company"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "company"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a note",
          "description": "Create a new note"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a note",
          "description": "Delete a note"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a note",
          "description": "Get a note"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many notes",
          "description": "Get many notes"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for notes",
          "description": "Search for notes by title"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a note",
          "description": "Update a note"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "note"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a note relation",
          "description": "Create a new note relation"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a note relation",
          "description": "Delete a note relation"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a note relation",
          "description": "Get a note relation"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many note relations",
          "description": "Get many note relations"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a note relation",
          "description": "Update a note relation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "noteTarget"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a task",
          "description": "Create a new task"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a task",
          "description": "Delete a task"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a task",
          "description": "Get a task"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many tasks",
          "description": "Get many tasks"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for tasks",
          "description": "Search for tasks by title"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a task",
          "description": "Update a task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a task relation",
          "description": "Create a new task relation"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a task relation",
          "description": "Delete a task relation"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a task relation",
          "description": "Get a task relation"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many task relations",
          "description": "Get many task relations"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a task relation",
          "description": "Update a task relation"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "taskTarget"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a pipeline record",
          "description": "Create a new pipeline record"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a pipeline record",
          "description": "Delete a pipeline record"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a pipeline record",
          "description": "Get a pipeline record"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many pipeline records",
          "description": "Get many pipeline records"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for pipeline records",
          "description": "Search for pipeline records by name"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a pipeline record",
          "description": "Update a pipeline record"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pipeline"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create an opportunity",
          "description": "Create a new opportunity"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete an opportunity",
          "description": "Delete an opportunity"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an opportunity",
          "description": "Get an opportunity"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many opportunities",
          "description": "Get many opportunities"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for opportunities",
          "description": "Search for opportunities by name"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an opportunity",
          "description": "Update an opportunity"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "opportunity"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a person",
      "description": "Create a new person"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a person",
      "description": "Delete a person"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a person",
      "description": "Get a person"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many people",
      "description": "Get many people"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for people",
      "description": "Search for people by name or email"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a person",
      "description": "Update a person"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a company",
      "description": "Create a new company"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a company",
      "description": "Delete a company"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a company",
      "description": "Get a company"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many companies",
      "description": "Get many companies"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for companies",
      "description": "Search for companies by name"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a company",
      "description": "Update a company"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a note",
      "description": "Create a new note"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a note",
      "description": "Delete a note"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a note",
      "description": "Get a note"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many notes",
      "description": "Get many notes"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for notes",
      "description": "Search for notes by title"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a note",
      "description": "Update a note"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a note relation",
      "description": "Create a new note relation"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a note relation",
      "description": "Delete a note relation"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a note relation",
      "description": "Get a note relation"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many note relations",
      "description": "Get many note relations"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a note relation",
      "description": "Update a note relation"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a task",
      "description": "Create a new task"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a task",
      "description": "Delete a task"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a task",
      "description": "Get a task"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many tasks",
      "description": "Get many tasks"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for tasks",
      "description": "Search for tasks by title"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a task",
      "description": "Update a task"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a task relation",
      "description": "Create a new task relation"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a task relation",
      "description": "Delete a task relation"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a task relation",
      "description": "Get a task relation"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many task relations",
      "description": "Get many task relations"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a task relation",
      "description": "Update a task relation"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a pipeline record",
      "description": "Create a new pipeline record"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a pipeline record",
      "description": "Delete a pipeline record"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a pipeline record",
      "description": "Get a pipeline record"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many pipeline records",
      "description": "Get many pipeline records"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for pipeline records",
      "description": "Search for pipeline records by name"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a pipeline record",
      "description": "Update a pipeline record"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an opportunity",
      "description": "Create a new opportunity"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete an opportunity",
      "description": "Delete an opportunity"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an opportunity",
      "description": "Get an opportunity"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many opportunities",
      "description": "Get many opportunities"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for opportunities",
      "description": "Search for opportunities by name"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an opportunity",
      "description": "Update an opportunity"
    }
  ]

npm_readme:
  # n8n-nodes-dalil-ai

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

  Dalil AI is a CRM platform that helps you manage your customer relationships and sales pipeline.

  [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

  **People:**
  - Create, Update, Delete, Get, Get Many

  **Company:**
  - Create, Update, Delete, Get, Get Many

  **Opportunity:**
  - Create, Update, Delete, Get, Get Many

  **Task:**
  - Create, Update, Delete, Get, Get Many

  **Note:**
  - Create, Update, Delete, Get, Get Many

  **Task Target (Relations):**
  - Create, Update, Delete, Get, Get Many

  **Note Target (Relations):**
  - Create, Update, Delete, Get, Get Many

  **Pipeline:**
  - Create, Update, Delete, Get, Get Many

  ## Credentials

  You'll need to create Dalil AI API credentials. You can find these in your Dalil AI account settings.

  ## Compatibility

  This was tested against n8n version 1.0+.

  ## Usage

  This node allows you to interact with Dalil AI's CRM system to manage contacts, companies, opportunities, tasks, and notes.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Dalil AI](https://dalil.ai)

  ---

  # Dalil AI n8n Node - Complete User Guide

  Welcome to the comprehensive guide for using the Dalil AI n8n node. This documentation will help users of all experience levels - from beginners to advanced developers - understand and effectively use the DalilAI n8n node.

  ## Table of Contents

  1. [Overview](#overview)
  2. [Authentication Setup](#authentication-setup)
  3. [Understanding Resources](#understanding-resources)
  4. [Core Concepts](#core-concepts)
  5. [Operations Guide](#operations-guide)
  6. [Understanding Field Types and Values](#understanding-field-types-and-values)
  7. [Query Parameters](#query-parameters)
  8. [Triggers and Webhooks](#triggers-and-webhooks)
  9. [Advanced Features](#advanced-features)
  10. [Troubleshooting](#troubleshooting)

  ## Overview

  The Dalil AI n8n node allows you to seamlessly integrate with the Dalil AI CRM system, enabling automation of customer relationship management tasks. The node supports comprehensive CRUD (Create, Read, Update, Delete) operations across multiple resources and provides real-time webhook notifications for data changes.

  ### Supported Resources
  - **People**: Individual contacts and customers
  - **Company**: Organizations and businesses
  - **Opportunity**: Sales deals and prospects
  - **Task**: To-do items and assignments
  - **Note**: Documentation and comments
  - **Task Relations**: Link tasks to multiple records
  - **Note Relations**: Link notes to multiple records
  - **Pipeline**: Workflow stages and processes

  ## Authentication Setup

  Before using the Dalil AI node, you need to configure your API credentials:

  1. **Create Credentials**: In your n8n instance, go to Settings > Credentials
  2. **Add New Credential**: Select "Dalil AI API"
  3. **Configure**:
     - **API Key**: Your authentication token from Dalil AI settings

  ## Understanding Resources

  ### Core Resources

  #### People
  Represents individual contacts in your CRM.
  - **Use Case**: Store customer information, contacts, leads
  - **Key Fields**: First Name, Last Name, Email, Phone, Company ID
  - **Relationships**: Belongs to Company, has Tasks/Notes

  #### Company  
  Represents businesses and organizations.
  - **Use Case**: Manage client companies, prospects, vendors
  - **Key Fields**: Name, Domain URL, Industry, Employees, Address
  - **Relationships**: Has People, Opportunities, Tasks/Notes

  #### Opportunity
  Represents sales deals and revenue opportunities.
  - **Use Case**: Track sales pipeline, deals, revenue forecasts
  - **Key Fields**: Name, Amount, Stage, Close Date, Company ID
  - **Relationships**: Belongs to Company and people, has Tasks/Notes

  #### Task
  Represents actionable items and assignments.
  - **Use Case**: Track work items, follow-ups, assignments
  - **Key Fields**: Title, Body, Status, Due Date, Assignee ID
  - **Relationships**: Can be linked to any record via Task Relations

  #### Note
  Represents documentation and comments.
  - **Use Case**: Store meeting notes, customer interactions, documentation
  - **Key Fields**: Title, Body, Visibility Level
  - **Relationships**: Can be linked to any record via Note Relations

  ### Relationship Resources

  #### Task Relations (taskTarget)
  Creates many-to-many relationships between tasks and other records.
  - **Purpose**: One task can be related to multiple People, Companies, or Opportunities
  - **Use Case**: Project tasks affecting multiple contacts or deals
  - **Key Fields**: Task ID, Person ID, Company ID, Opportunity ID

  #### Note Relations (noteTarget)  
  Creates many-to-many relationships between notes and other records.
  - **Purpose**: One note can be related to multiple People, Companies, or Opportunities
  - **Use Case**: Meeting notes involving multiple participants or deals
  - **Key Fields**: Note ID, Person ID, Company ID, Opportunity ID

  #### Pipeline
  Defines workflow stages and custom processes.
  - **Purpose**: Create custom workflows beyond standard opportunity stages
  - **Use Case**: Support tickets, hiring processes, custom workflows
  - **Key Fields**: Name, Status, Custom Fields

  ## Core Concepts

  ### Operations
  Each resource supports standard CRUD operations:

  - **Create**: Add new records
  - **Get**: Retrieve a single record by ID
  - **Get Many**: Retrieve multiple records with filtering
  - **Update**: Modify existing records
  - **Delete**: Remove records

  ### Field Types
  Understanding field types is crucial for proper data entry:

  #### Standard Field Types
  - **TEXT**: Plain text strings (e.g., "John Smith")
  - **NUMBER**: Numeric values (e.g., 100, 3.14)
  - **BOOLEAN**: True/false values
  - **DATE_TIME**: ISO 8601 format dates (e.g., "2024-01-15T10:30:00Z")
  - **SELECT**: Single choice from predefined options
  - **MULTI_SELECT**: Multiple choices from predefined options
  - **RATING**: Scale of 1-5 (represented as "RATING_1" through "RATING_5")

  #### Complex Field Types
  - **EMAILS**: Email addresses with primary and additional emails
  - **PHONES**: Phone numbers with country codes and calling codes
  - **LINKS**: URLs with labels and secondary links
  - **ADDRESS**: Complete address information
  - **FULL_NAME**: First and last name components
  - **MONEY**: Amount with currency code (stored in micros)

  ### Select Values Format
  **IMPORTANT**: Select field values must be in uppercase with underscores, not the display labels.

  **Frontend Display** → **API Value Required**
  - "Lead" → "LEAD"
  - "New Customer" → "NEW_CUSTOMER"  
  - "In Progress" → "IN_PROGRESS"
  - "On Site" → "ON_SITE"
  - "Remote Work" → "REMOTE_WORK"

  **Example for Opportunity Stage:**
  - Display: "Discovery" → Value: "DISCOVERY"
  - Display: "Proposal" → Value: "PROPOSAL"
  - Display: "Negotiation" → Value: "NEGOTIATION"

  ## Operations Guide

  ### Creating Records

  #### People - Create
  **Required Fields:**
  - First Name

  **Example:**
  ```javascript
  {
    "firstName": "John",
    "additionalFields": {
      "lastName": "Smith",
      "primaryEmail": "john.smith@company.com",
      "jobTitle": "Software Engineer",
      "companyId": "123e4567-e89b-12d3-a456-426614174000"
    }
  }
  ```

  #### Company - Create
  **Required Fields:**
  - Company Name

  **Example:**
  ```javascript
  {
    "name": "Acme Corp",
    "additionalFields": {
      "domainUrl": "https://acmecorp.com",
      "industry": "Technology",
      "employees": 50,
      "addressStreet1": "123 Main St",
      "addressCity": "San Francisco",
      "addressState": "CA",
      "addressCountry": "United States"
    }
  }
  ```

  #### Opportunity - Create
  **Required Fields:**
  - Name

  **Example:**
  ```javascript
  {
    "name": "Q1 Software License Deal",
    "additionalFields": {
      "amount": 50000,
      "currencyCode": "USD",
      "stage": "DISCOVERY",
      "closeDate": "2024-03-31",
      "companyId": "123e4567-e89b-12d3-a456-426614174000"
    }
  }
  ```

  #### Task - Create
  **Required Fields:**
  - Title

  **Example:**
  ```javascript
  {
    "title": "Follow up with client",
    "additionalFields": {
      "body": "Call to discuss proposal feedback",
      "status": "TODO",
      "dueAt": "2024-01-20T15:00:00Z",
      "assigneeId": "123e4567-e89b-12d3-a456-426614174000"
    }
  }
  ```

  #### Note - Create
  **Required Fields:**
  - Title

  **Example:**
  ```javascript
  {
    "title": "Client Meeting Notes",
    "additionalFields": {
      "body": "Discussed project requirements and timeline",
      "visibilityLevel": 1
    }
  }
  ```

  ### Creating Relationships

  #### Task Relations (taskTarget) - Create
  Links a task to multiple records.

  **⚠️ Important Constraint: Single Relation Per Record**
  Each taskTarget record can only link to **ONE** relation ID at a time. You cannot add both `personId` and `companyId` in the same taskTarget record.

  **❌ Incorrect - Multiple Relations in One Record:**
  ```javascript
  {
    "taskId": "task-uuid-here",
    "personId": "person-uuid-here",      // ❌ Cannot combine
    "companyId": "company-uuid-here"     // ❌ Cannot combine
  }
  ```

  **✅ Correct - Separate Records for Each Relation:**

  **First Record (Person Relation):**
  ```javascript
  {
    "taskId": "task-uuid-here",
    "personId": "person-uuid-here"
  }
  ```

  **Second Record (Company Relation):**
  ```javascript
  {
    "taskId": "task-uuid-here",
    "companyId": "company-uuid-here"
  }
  ```

  **Third Record (Opportunity Relation):**
  ```javascript
  {
    "taskId": "task-uuid-here",
    "opportunityId": "opportunity-uuid-here"
  }
  ```

  #### Note Relations (noteTarget) - Create
  Links a note to multiple records.

  **⚠️ Important Constraint: Single Relation Per Record**
  Each noteTarget record can only link to **ONE** relation ID at a time. You cannot add both `personId` and `companyId` in the same noteTarget record.

  **❌ Incorrect - Multiple Relations in One Record:**
  ```javascript
  {
    "noteId": "note-uuid-here",
    "personId": "person-uuid-here",      // ❌ Cannot combine
    "companyId": "company-uuid-here"     // ❌ Cannot combine
  }
  ```

  **✅ Correct - Separate Records for Each Relation:**

  **First Record (Person Relation):**
  ```javascript
  {
    "noteId": "note-uuid-here",
    "personId": "person-uuid-here"
  }
  ```

  **Second Record (Company Relation):**
  ```javascript
  {
    "noteId": "note-uuid-here",
    "companyId": "company-uuid-here"
  }
  ```

  **Workflow Example:**
  To link a single note to both a person and a company, create two separate n8n node executions:

  1. **First Node Execution:**
     - Operation: Create noteTarget
     - noteId: "your-note-uuid"
     - personId: "your-person-uuid"

  2. **Second Node Execution:**
     - Operation: Create noteTarget  
     - noteId: "your-note-uuid"
     - companyId: "your-company-uuid"


  ### Updating Records

  Updates require the record ID and any fields you want to modify:

  **Example - Update Person:**
  ```javascript
  {
    "personId": "123e4567-e89b-12d3-a456-426614174000",
    "updateFields": {
      "jobTitle": "Senior Software Engineer",
      "primaryEmail": "john.smith.senior@company.com"
    }
  }
  ```

  ### Getting Records

  #### Get Single Record
  Requires only the record ID:
  - **Person ID**: UUID of the person to retrieve
  - **Depth**: Level of related data to include (0, 1, or 2)

  #### Get Many Records
  Supports filtering, sorting, and pagination:
  - **Return All**: Whether to fetch all results or limit
  - **Limit**: Maximum records to return (1-60)
  - **Filter**: Conditions to filter results
  - **Order By**: Sorting criteria
  - **Depth**: Level of related data to include

  ## Understanding Field Types and Values

  ### Custom Properties
  Each resource can have custom fields specific to your workspace. The node dynamically loads available custom properties and shows the expected format.

  **Custom Property Types:**
  - **Text Fields**: Accept plain strings
  - **Select Fields**: Accept predefined values (use API format, not display labels)
  - **Multi-Select Fields**: Accept arrays of predefined values
  - **Date Fields**: Accept ISO 8601 formatted dates
  - **Boolean Fields**: Accept true/false
  - **Rating Fields**: Accept "RATING_1" through "RATING_5"


  ## Query Parameters

  ### Filtering
  Filter results using field conditions with comparators:

  **Format:** `field[comparator]:value,field2[comparator]:value2`

  **Available Comparators:**
  - `eq`: Equal to
  - `neq`: Not equal to  
  - `gt`: Greater than
  - `gte`: Greater than or equal
  - `lt`: Less than
  - `lte`: Less than or equal
  - `in`: In list (comma-separated values)
  - `startsWith`: Starts with text
  - `like`: Contains text (case-sensitive)
  - `ilike`: Contains text (case-insensitive)
  - `is`: For NULL/NOT_NULL values
  - `containsAny`: For array fields

  **Simple Field Examples:**
  ```
  score[gt]:5
  employees[gte]:50
  stage[in]:[DISCOVERY,PROPOSAL]
  createdAt[gte]:2024-01-01
  city[is]:NOT_NULL
  ```

  **Nested Field Examples:**
  For composite fields, use dot notation to access subfields:

  **People/Person Fields:**
  ```
  name.firstName[eq]:John
  name.lastName[eq]:Smith
  emails.primaryEmail[like]:@company.com
  emails.primaryEmail[is]:NOT_NULL
  phones.primaryPhoneNumber[startsWith]:+1
  phones.primaryPhoneCountryCode[eq]:US
  linkedinLink.primaryLinkUrl[like]:linkedin.com
  whatsapp.primaryPhoneNumber[startsWith]:+1
  ```

  **Company Fields:**
  ```
  name[eq]:Acme Corp
  domainName.primaryLinkUrl[eq]:acme.com
  address.addressCity[eq]:New York
  address.addressCountry[eq]:USA
  annualRecurringRevenue.amountMicros[gt]:1000000
  linkedinLink.primaryLinkUrl[like]:linkedin.com
  ```

  **Opportunity Fields:**
  ```
  name[eq]:Big Deal
  amount.amountMicros[gt]:500000
  amount.currencyCode[eq]:USD
  ```

  **Complex Filters with Conjunctions:**
  Use `and`, `or`, `not` to combine conditions:
  ```
  and(name.firstName[eq]:John,name.lastName[eq]:Smith)
  or(emails.primaryEmail[like]:@company.com,phones.primaryPhoneNumber[startsWith]:+1)
  not(emails.primaryEmail[is]:NULL)
  and(score[gt]:5,or(name.firstName[eq]:John,name.firstName[eq]:Jane))
  ```

  ### Sorting (Order By)
  Sort results by one or more fields:

  **Format:** `field1,field2[DIRECTION]`

  **Available Directions:**
  - `AscNullsFirst`: Ascending, nulls first (default)
  - `AscNullsLast`: Ascending, nulls last
  - `DescNullsFirst`: Descending, nulls first  
  - `DescNullsLast`: Descending, nulls last

  **Simple Field Examples:**
  ```
  createdAt[DescNullsLast]
  score[DescNullsFirst]
  position[AscNullsLast]
  ```

  **Nested Field Examples:**
  For composite fields, use dot notation to access subfields:

  **People/Person Sorting:**
  ```
  name.firstName[AscNullsFirst]
  name.lastName[DescNullsLast]
  emails.primaryEmail[AscNullsLast]
  phones.primaryPhoneNumber[DescNullsFirst]
  ```

  **Company Sorting:**
  ```
  name[AscNullsFirst]
  domainName.primaryLinkUrl[AscNullsLast]
  address.addressCity[DescNullsFirst]
  annualRecurringRevenue.amountMicros[DescNullsLast]
  ```

  **Multiple Field Sorting:**
  ```
  name.firstName,name.lastName[DescNullsFirst]
  score[DescNullsLast],name.firstName[AscNullsLast]
  createdAt[DescNullsFirst],name.firstName[AscNullsFirst]
  ```

  ### Depth Levels
  Control how much related data to include:

  - **Depth 0**: Only the primary object
  - **Depth 1**: Primary object + direct relationships (default)
  - **Depth 2**: Primary object + relationships + their relationships

  **Example:**
  - Depth 0: Just the person record
  - Depth 1: Person + their company info
  - Depth 2: Person + company + company's opportunities

  ## Triggers and Webhooks

  The Dalil AI Trigger node allows you to react to real-time changes in your Dalil AI workspace.

  ### Setting Up Triggers

  1. **Add Trigger Node**: Drag "Dalil AI Trigger" to your workflow
  2. **Configure Entity**: Choose which resource to monitor (Company, People, Opportunity, Task)
  3. **Configure Action**: Choose which events to listen for (Create, Update, Delete, All)
  4. **Save and Activate**: The webhook will be automatically registered

  ### Trigger Configuration

  **Entity Options:**
  - **Company**: Monitor company record changes
  - **People**: Monitor person record changes  
  - **Opportunity**: Monitor opportunity changes
  - **Task**: Monitor task changes

  **Action Options:**
  - **All (*)**: Any change to the entity
  - **Create**: New records created
  - **Update**: Existing records modified
  - **Delete**: Records removed

  ### Webhook Response Structure

  When a trigger fires, you receive a structured webhook payload:

  ```javascript
  [
    {
      "targetUrl": "https://your-n8n-instance.com/webhook/...",
      "eventName": "company.updated",
      "objectMetadata": {
        "id": "8913832e-825b-4374-a527-f9e3524ef3a9",
        "nameSingular": "company"
      },
      "workspaceId": "20202020-1c25-4d02-bf25-6aeccf7ea419",
      "webhookId": "85124f96-2698-4368-8805-c2755070c1c1",
      "eventDate": "2025-06-26T04:51:21.005Z",
      "record": {
        // Complete record data with all fields
        "id": "2f51e0c3-6ed4-4ec7-8ecf-05f0282154fe",
        "name": "Acme Corp",
        "industry": "Technology",
        // ... all other fields
      },
      "updatedFields": [
        "address",
        "industry"
      ]
    }
  ]
  ```

  ### Key Webhook Fields

  #### eventName
  Identifies the specific event that occurred:
  - Format: `{entity}.{action}`
  - Examples: `company.created`, `people.updated`, `opportunity.deleted`
  - **Use Case**: Filter webhook processing based on event type

  #### updatedFields  
  Array of field names that were changed (only for update events):
  - **Use Case**: Process only specific field changes, ignore others
  - **Example**: Only send email notifications when contact info changes

  #### record
  Complete record data after the change:
  - **Create Events**: The newly created record
  - **Update Events**: Record with latest values  
  - **Delete Events**: The record before deletion

  #### eventDate
  ISO timestamp of when the event occurred:
  - **Use Case**: Order events, detect delayed processing

  ### Using Webhook Data

  **Example - Process Only Email Changes:**
  ```javascript
  // In your workflow's JavaScript code
  if (items[0].json.eventName === 'people.updated' && 
      items[0].json.updatedFields.includes('primaryEmail')) {
    // Send notification about email change
    return items;
  } else {
    // Skip processing
    return [];
  }
  ```

  **Example - Route by Event Type:**
  ```javascript
  const eventName = items[0].json.eventName;
  const [entity, action] = eventName.split('.');

  if (entity === 'company' && action === 'created') {
    // Handle new company
  } else if (entity === 'opportunity' && action === 'updated') {
    // Handle opportunity changes
  }
  ```

  ## Troubleshooting

  ### Common Issues

  #### Authentication Errors
  - **Symptom**: "Unauthorized" or credential errors
  - **Solution**: Verify API key

  #### Field Value Errors  
  - **Symptom**: "Invalid value" errors for select fields
  - **Solution**: Use API format values, not display labels
  - **Example**: Use "IN_PROGRESS" not "In Progress"

  #### Date Format Errors
  - **Symptom**: Date validation failures  
  - **Solution**: Use ISO 8601 format: "2024-01-15T10:30:00Z"
  - **Tools**: Use JavaScript `new Date().toISOString()`

  #### Relationship Errors
  - **Symptom**: "Record not found" when creating relations
  - **Solution**: Ensure referenced IDs exist and are valid UUIDs
  - **Check**: Verify record existence before creating relations

  #### Filter Syntax Errors
  - **Symptom**: No results or filter errors
  - **Solution**: Check comparator syntax and field names
  - **Example**: `name[eq]:value` not `name=value`


  ---

  This guide provides comprehensive coverage of the Dalil AI n8n node. For specific use cases or advanced configurations, refer to the API documentation or reach out to the support team.

ai_documentation_summary:
  {"purpose":"Provides an n8n node to interact with the Dalil AI CRM API, enabling automation of CRM tasks such as managing contacts, companies, opportunities, tasks, notes, relations and pipelines. It supports CRUD operations and can be used with webhooks to react to real-time data changes.","capabilities":["Create, Get, Get Many, Update, Delete for People (contacts)","Create, Get, Get Many, Update, Delete for Company (organizations)","Create, Get, Get Many, Update, Delete for Opportunity (sales deals)","Create, Get, Get Many, Update, Delete for Task (to-dos/assignments)","Create, Get, Get Many, Update, Delete for Note (comments/documentation)","Create, Get, Get Many, Update, Delete for Task Relations (many-to-many links between tasks and records)","Create, Get, Get Many, Update, Delete for Note Relations (many-to-many links between notes and records)","Create, Get, Get Many, Update, Delete for Pipeline (workflow stages / custom processes)","Link tasks and notes to multiple records (people, companies, opportunities)","Retrieve multiple records with filtering (Get Many)"],"authentication":"API key required (Dalil AI API credentials)","commonUseCases":["Manage and sync contacts/people in workflows","Manage company records and associated contacts","Track and automate sales opportunities and pipeline stages","Create and assign tasks or follow-ups linked to contacts or deals","Store and link notes to multiple CRM records (meeting notes, comments)"],"limitations":[],"relatedNodes":["Webhook"]}


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

updated_at: 2026-02-19 14:41:52
author_name: robfigroam
author_github_url: https://github.com/WonderInventions/
npm_package_name: n8n-nodes-roam
npm_version: 0.1.9
community_fetched_at: 2026-02-19T14:41:52.636Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Meeting",
          "value": "meeting"
        },
        {
          "name": "Message",
          "value": "message"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send Message",
          "value": "send",
          "action": "Send a message",
          "description": "Send a message to a Roam group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create Meeting Link",
          "value": "create",
          "action": "Create a meeting link",
          "description": "Create a meeting link"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "meeting"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send Message",
      "value": "send",
      "action": "Send a message",
      "description": "Send a message to a Roam group"
    },
    {
      "name": "Create Meeting Link",
      "value": "create",
      "action": "Create a meeting link",
      "description": "Create a meeting link"
    }
  ]

npm_readme:
  # n8n-nodes-roam

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

  Roam is a video conferencing and messaging platform that enables teams to connect, collaborate, and communicate effectively through video meetings, messaging, and integrations.

  [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

  ### Roam Node
  - **Send Message**: Send messages to Roam groups
  - **Create Meeting Link**: Create new video meeting links

  ### Roam Trigger Node
  - **Webhook Events**: Trigger workflows when webhook events are received from Roam

  ## Credentials

  To use this node, you need to authenticate with Roam's API using OAuth2.

  1. Go to your Roam developer account at [developer.ro.am](https://developer.ro.am)
  2. Create an API Key application
  3. Enable permissions corresponding to what you want it to do: 
    - Actions
      - Send chat message: `chat:send_message`, `groups:read`
      - Create meeting link: `meetinglink:write`
    - Webhooks: `webhook:write`
      - New Recording: `recordings:read`
      - New Transcript: `transcript:read`
  3. In n8n, create a new credential of type "Roam API Key"
  4. Fill in your secret key

  ## Compatibility

  - n8n version: 1.0.0+
  - Node.js version: 18.0.0+
  - Tested with n8n versions: 1.0.x, 1.1.x

  ## Usage

  ### Basic Setup
  1. Install the community node
  2. Set up your Roam OAuth2 credentials
  3. Use the Roam node to send messages or create meetings
  4. Use the Roam Trigger node to respond to webhook events

  ### Example Workflow
  1. **Trigger**: HTTP Request (when a form is submitted)
  2. **Action**: Roam - Send Message (notify team about the submission)
  3. **Action**: Roam - Create Meeting Link (schedule a follow-up meeting)

  ## Development

  To run n8n locally: 

  - Run `ngrok http 5678` to support incoming webhooks. Set `WEBHOOK_URL` to the ngrok URL.
  - Run `npm run dev`

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Roam API Documentation](https://developer.ro.am/)
  * [Roam Developer Portal](https://developer.ro.am)

  ## Version history

  ### 0.1.1
  - Initial release
  - Roam node with meeting and messaging operations
  - Roam Trigger node for webhook events
  - Basic transport layer for API communication
  - OAuth2 authentication

ai_documentation_summary:
  {"purpose":"Provide actions and triggers to interact with Roam from n8n workflows — send messages to Roam groups, create video meeting links, and respond to Roam webhook events.","capabilities":["Send Message: send chat messages to Roam groups","Create Meeting Link: create new Roam video meeting links","Trigger on Webhook Events: Roam Trigger node to start workflows when Roam webhooks are received (e.g., new recording, new transcript)"],"authentication":"OAuth2 (Roam API Key credential in n8n; provide Roam secret key and grant required OAuth scopes)","commonUseCases":["Notify a team or group in Roam when an external form or event occurs","Automatically create a Roam meeting link for scheduled follow-ups","Start workflows when Roam posts webhook events such as new recordings or transcripts","Integrate Roam messaging/meetings with other systems (CRMs, ticketing, calendar)"],"limitations":["Requires correct OAuth scopes to be enabled in the Roam developer app (e.g., chat:send_message, groups:read, meetinglink:write, webhook:write, recordings:read, transcript:read)","Webhooks require a publicly reachable webhook URL for n8n (local development typically needs a tunnel like ngrok)","Community node initial release — feature set limited to messaging, meeting link creation, and webhook triggers (no wider Roam API coverage documented)","Compatibility requires n8n >= 1.0.0 and Node.js >= 18.0.0"],"relatedNodes":["Roam Trigger","HTTP Request (trigger examples shown)","Webhook/Trigger nodes (generic webhook handling)"]}


node_type: n8n-nodes-gleanclient.gleanClient
package_name: n8n-nodes-gleanclient
display_name: Glean
description: Retrieve results from the Glean index for the given query and filters
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: djuang1
author_github_url: https://github.com/djuang1/
npm_package_name: n8n-nodes-gleanclient
npm_version: 0.2.0
community_fetched_at: 2026-02-19T14:41:52.636Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "searchGlean",
      "options": [
        {
          "name": "Search Glean",
          "value": "searchGlean"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "post",
      "options": [
        {
          "name": "Search Glean",
          "value": "post",
          "action": "Search",
          "routing": {
            "request": {
              "url": "/rest/api/v1/search",
              "body": {
                "query": "={{$parameter[\"query\"]}}",
                "pageSize": 10,
                "trackingToken": "1"
              },
              "method": "POST"
            }
          },
          "description": "Retrieve results from the index for the given query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "searchGlean"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Search Glean",
      "value": "post",
      "action": "Search",
      "routing": {
        "request": {
          "url": "/rest/api/v1/search",
          "body": {
            "query": "={{$parameter[\"query\"]}}",
            "pageSize": 10,
            "trackingToken": "1"
          },
          "method": "POST"
        }
      },
      "description": "Retrieve results from the index for the given query"
    }
  ]

npm_readme:
  # n8n-nodes-gleanclient

  This is an n8n community node. It lets you use the [Glean Client API](https://developers.glean.com/api/client-api/search/search) in your n8n workflows.

  The Glean Work AI platform lets you embed enterprise search, chat, and agent capabilities into your applications while honoring source‑system permissions by default.

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

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

  ## Installation

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

  ## Operations

  This node allows you to run the search endpoint against your Glean instance.

  ## Credentials

  A Glean account and an API token with the Search scope is required. 

  ## Compatibility

  Tested locally against n8n 1.105.4

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Glean Developers - Client API Reference - Search](https://developers.glean.com/api/client-api/search/search)

  ## Version history

  * August 8, 2025 - 0.1.2 - First.
  * August 8, 2025 - 0.1.3 - Fixed AI Agent tool usage.
  * August 9, 2025 - 0.1.4 - Updated names and added credential test.
  * August 9, 2025 - 0.1.5 - Fixed query body to pass the correct value.

ai_documentation_summary:
  {"purpose":"Run the Glean Client API Search endpoint from an n8n workflow to retrieve results from your Glean index for a provided query and filters.","capabilities":["Execute the Glean Client API 'Search' endpoint","Submit search queries including filters/body parameters","Return search results into the n8n workflow output for downstream processing","Credential test support (validate Glean API token)"],"authentication":"API key required (Glean API token with the Search scope)","commonUseCases":["Fetch relevant documents/results to supply retrieval-augmented generation (RAG) for AI assistants","Automate enterprise search queries and route results into downstream workflow steps (e.g., summarization, notifications)","Feed search results into chatbots or agent workflows to provide context-aware responses","Build search-driven reports, alerts, or data-enrichment processes"],"limitations":["Exposes only the Glean Search (Client API) endpoint — other Glean APIs are not documented in this node","README does not document pagination or comprehensive advanced query parameter coverage; advanced features may be missing or limited","Authentication is via API token only (no OAuth2 flow documented)","Tested against n8n 1.105.4; compatibility with other n8n versions is not guaranteed"],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: sus-tech
author_github_url: https://github.com/S-S-Technologies-GmbH/
npm_package_name: n8n-nodes-matrix42
npm_version: 0.1.3
community_fetched_at: 2026-02-19T14:41:52.637Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "ticket",
      "options": [
        {
          "name": "ASQL",
          "value": "asql"
        },
        {
          "name": "Import",
          "value": "import"
        },
        {
          "name": "Ticket",
          "value": "ticket"
        },
        {
          "name": "Storage",
          "value": "storage"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getFragments",
      "options": [
        {
          "name": "Get Fragments",
          "value": "getFragments",
          "action": "Get fragments",
          "description": "Receives list of fragments with defined list of columns, which match the specified search criteria"
        },
        {
          "name": "Add Fragment",
          "value": "addFragment",
          "action": "Add fragment",
          "description": "Creates a new Data Definition fragment. The operation is required for cases of multi-fragments or optional fragments."
        },
        {
          "name": "Update Fragment",
          "value": "updateFragment",
          "action": "Update fragment",
          "description": "Updates the specified Data Definition fragment, which has been at first retrieved by the Get Fragment operation, and adjusted with the new data. The Server throws the Concurrency exception in case the updated fragment has been updated between Get Fragment operation and Update Fragment."
        },
        {
          "name": "Delete Fragment",
          "value": "deleteFragment",
          "action": "Delete fragment",
          "description": "Deletes the fragment from Database defined by the Data Definition name and the fragment ID. The operation is required for cases of multi-fragments or optional fragments."
        },
        {
          "name": "Add Object",
          "value": "addObject",
          "action": "Add object",
          "description": "Add the Object of the specified Configuration Item"
        },
        {
          "name": "Get Object",
          "value": "getObject",
          "action": "Get object",
          "description": "Reads the whole Object with the specified Configuration Item name and object ID. The Service returns exclusively the data belonged to object (e.g. attributes, N:1 relations) Virtual attributes, like N:M relations are not returned and need to be obtained with the dedicated service request."
        },
        {
          "name": "Update Object",
          "value": "updateObject",
          "action": "Update object",
          "description": "Updates the object of the specified Configuration Item name and object ID. The method works in pair with “Get Object” method, which delivers the original Object with the current Timestamp (market of current state), which is used for concurrency tracking."
        },
        {
          "name": "Delete Object",
          "value": "deleteObject",
          "action": "Delete object",
          "description": "Deletes the object from Database defined by the Configuration Item name and the object ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "asql"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "executeImportDefinition",
      "options": [
        {
          "name": "Execute Import Definition",
          "value": "executeImportDefinition",
          "action": "Execute import definition",
          "description": "Execute an Import Definition"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "import"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createTicket",
      "options": [
        {
          "name": "Create Ticket",
          "value": "createTicket",
          "action": "Create a ticket",
          "description": "Create a ticket"
        },
        {
          "name": "Close Ticket",
          "value": "closeTicket",
          "action": "Close ticket",
          "description": "Close a ticket"
        },
        {
          "name": "Transform Ticket",
          "value": "transformTicket",
          "action": "Transform a ticket",
          "description": "Transform a ticket"
        },
        {
          "name": "Add Journal Entry",
          "value": "addJournalEntry",
          "action": "Add a journal entry",
          "description": "Add a journal entry"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ticket"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "uploadFile",
      "options": [
        {
          "name": "Upload File",
          "value": "uploadFile",
          "action": "Upload file",
          "description": "Upload one or more file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "storage"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Fragments",
      "value": "getFragments",
      "action": "Get fragments",
      "description": "Receives list of fragments with defined list of columns, which match the specified search criteria"
    },
    {
      "name": "Add Fragment",
      "value": "addFragment",
      "action": "Add fragment",
      "description": "Creates a new Data Definition fragment. The operation is required for cases of multi-fragments or optional fragments."
    },
    {
      "name": "Update Fragment",
      "value": "updateFragment",
      "action": "Update fragment",
      "description": "Updates the specified Data Definition fragment, which has been at first retrieved by the Get Fragment operation, and adjusted with the new data. The Server throws the Concurrency exception in case the updated fragment has been updated between Get Fragment operation and Update Fragment."
    },
    {
      "name": "Delete Fragment",
      "value": "deleteFragment",
      "action": "Delete fragment",
      "description": "Deletes the fragment from Database defined by the Data Definition name and the fragment ID. The operation is required for cases of multi-fragments or optional fragments."
    },
    {
      "name": "Add Object",
      "value": "addObject",
      "action": "Add object",
      "description": "Add the Object of the specified Configuration Item"
    },
    {
      "name": "Get Object",
      "value": "getObject",
      "action": "Get object",
      "description": "Reads the whole Object with the specified Configuration Item name and object ID. The Service returns exclusively the data belonged to object (e.g. attributes, N:1 relations) Virtual attributes, like N:M relations are not returned and need to be obtained with the dedicated service request."
    },
    {
      "name": "Update Object",
      "value": "updateObject",
      "action": "Update object",
      "description": "Updates the object of the specified Configuration Item name and object ID. The method works in pair with “Get Object” method, which delivers the original Object with the current Timestamp (market of current state), which is used for concurrency tracking."
    },
    {
      "name": "Delete Object",
      "value": "deleteObject",
      "action": "Delete object",
      "description": "Deletes the object from Database defined by the Configuration Item name and the object ID"
    },
    {
      "name": "Execute Import Definition",
      "value": "executeImportDefinition",
      "action": "Execute import definition",
      "description": "Execute an Import Definition"
    },
    {
      "name": "Create Ticket",
      "value": "createTicket",
      "action": "Create a ticket",
      "description": "Create a ticket"
    },
    {
      "name": "Close Ticket",
      "value": "closeTicket",
      "action": "Close ticket",
      "description": "Close a ticket"
    },
    {
      "name": "Transform Ticket",
      "value": "transformTicket",
      "action": "Transform a ticket",
      "description": "Transform a ticket"
    },
    {
      "name": "Add Journal Entry",
      "value": "addJournalEntry",
      "action": "Add a journal entry",
      "description": "Add a journal entry"
    },
    {
      "name": "Upload File",
      "value": "uploadFile",
      "action": "Upload file",
      "description": "Upload one or more file"
    }
  ]

npm_readme:
  # n8n-nodes-matrix42

  This is an n8n community node that integrates with the Matrix42 ESMP Web Services API. It allows you to retrieve and work with Data Fragments from Matrix42 Data Definitions directly in your n8n workflows.

  Matrix42’s ESMP API exposes CRUD‑style endpoints for data fragments, supporting OData‑like filtering, column selection, paging, sorting, and more.

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

  [Installation](#installation)  
  [Operations](#operations)  
  [Credentials](#credentials)
  [Compatibility](#compatibility)  
  [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 supports multiple operations across different resources:

  ### Data Fragments (asql)

  -   **Get Fragments** (`getFragments`): Retrieve data fragments from a specified Data Definition.

  -   **Add Fragment** (`addFragment`): Create a new data fragment in the specified Data Definition.

  -   **Update Fragment** (`updateFragment`): Update an existing data fragment by its ID.

  -   **Delete Fragment** (`deleteFragment`): Remove a data fragment by its ID.


  ### Data Objects (asql)

  -   **Add Object** (`addObject`): Create a new Data Object under a given fragment.

  -   **Get Object** (`getObject`): Retrieve a Data Object by its ID.

  -   **Update Object** (`updateObject`): Update an existing Data Object by its ID.

  -   **Delete Object** (`deleteObject`): Delete a Data Object by its ID.


  ### Tickets

  -   **Create Ticket** (`createTicket`): Open a new ticket in the Service Desk.

  -   **Close Ticket** (`closeTicket`): Close an existing ticket by ID.

  -   **Transform Ticket** (`transformTicket`): Apply a transformation to a ticket.


  ### Import

  -   **Execute Import Definition** (`executeImportDefinition`): Run a predefined import definition to ingest data.

  ## Credentials

  > **Prerequisite:** You must have access to a running Matrix42 instance with appropriate API permissions.

  This node supports two authentication methods. Configure these under **Workflow → Credentials**.

  ### Matrix42 Token Auth

  1.  **API Token** — Your long‑lived Matrix42 API Token.

  2.  **Base URL** — Your Matrix42 server URL (e.g. `https://api.mycompany.com`).


  On execution, the node:

  -   Exchanges the API Token for a short‑lived Bearer (JWT) token via `GenerateAccessTokenFromApiToken`.

  -   Uses the Bearer token in the `Authorization` header for all subsequent calls.


  > **Self‑signed certificates**: If your Matrix42 server uses a self‑signed SSL certificate, you must add its CA certificate to n8n’s trusted certificate store. For details, see the n8n docs on adding self‑signed certificates: https://docs.n8n.io/hosting/configuration/configuration-examples/custom-certificate-authority/

  ### Matrix42 Basic Auth

  1.  **Username** and **Password** — Your Matrix42 user credentials.

  2.  **Base URL** — As above.

  ## Compatibility

  -   **n8n**: Tested with v1.100.1 and later.

  -   **Node.js**: v22.17.0 or higher.

  -   **Matrix42 ESMP API**: Tested with Matrix42 12.1.2.5325.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Matrix42 Web Services](https://help.matrix42.com/030_ESMP/030_INT/Business_Processes_and_API_Integrations/Matrix42_Web_Services_API#Public_API)

  ## Version History

  **0.1.3:**
  - Added Operations:
  	-   Tickets: `addJournalEntry`

  **0.1.2:**
  - Added Operations:
  	-   Storage Operations: `uploadFile`

  **0.1.1:**
  - Bug Fixes

  **0.1.0:**
    - Initial release supporting operations across multiple resources:
      -   Data Fragments: `getFragments`, `addFragment`, `updateFragment`, `deleteFragment`
      -   Data Objects: `addObject`, `getObject`, `updateObject`, `deleteObject`
      -   Tickets: `createTicket`, `closeTicket`, `transformTicket`
      -   Import: `executeImportDefinition`

    - Authentication methods:
      -   Matrix42 Token API (API Token ↔︎ Bearer JWT exchange)
      -   Matrix42 Basic API (HTTP Basic Authentication)
     

  ## Legal & Disclaimer

  This project is an **unofficial, community-maintained integration** for the Matrix42 ESMP **Public API**.  
  It uses only documented, publicly available endpoints as described in the official
  [Matrix42 Web Services API documentation](https://help.matrix42.com/030_ESMP/030_INT/Business_Processes_and_API_Integrations/Matrix42_Web_Services_API).

  Matrix42 **explicitly provides** a Public API and token-based authentication mechanism to support
  third-party integrations. This node simply wraps those endpoints for easier use within n8n.
  There is **no violation** of Matrix42’s licensing or terms of service in doing so.

  > **No Affiliation:**  
  > This project is **not affiliated with, endorsed, or sponsored by Matrix42 GmbH**.  
  > *MATRIX42* and related marks are trademarks of Matrix42 GmbH, used here for identification purposes only.

ai_documentation_summary:
  {"purpose":"Integrate n8n workflows with Matrix42 ESMP Web Services to manage Data Fragments, Data Objects, Tickets and run import definitions. The node exposes CRUD-style operations and supports OData-like filtering, paging and sorting for Matrix42 data.","capabilities":["Get Fragments (getFragments) — retrieve data fragments from a Data Definition with filtering/selection/paging","Add Fragment (addFragment) — create a new data fragment","Update Fragment (updateFragment) — update a fragment by ID","Delete Fragment (deleteFragment) — delete a fragment by ID","Add Object (addObject) — create a Data Object under a fragment","Get Object (getObject) — retrieve a Data Object by ID","Update Object (updateObject) — update a Data Object by ID","Delete Object (deleteObject) — delete a Data Object by ID","Create Ticket (createTicket) — open a Service Desk ticket","Close Ticket (closeTicket) — close a ticket by ID"],"authentication":"Supports Matrix42 Token Auth (provide long-lived API Token and Base URL; node exchanges API Token for a short-lived Bearer JWT used for requests) and Matrix42 Basic Auth (username & password + Base URL).","commonUseCases":["Sync or query Matrix42 Data Fragments into automation workflows","Create, update or delete Data Objects as part of automation processes","Automate ticket creation, updates, transformations and closing in the Service Desk","Run import definitions to ingest bulk data into Matrix42","Upload files and add journal entries to tickets within workflows"],"limitations":["Requires access to a running Matrix42 instance with appropriate API permissions","If the server uses a self-signed SSL certificate, its CA must be added to n8n’s trusted store","Tested compatibility noted for n8n v1.100.1+, Node.js v22.17.0+, and Matrix42 ESMP API 12.1.2.5325 — other versions unverified","Community-maintained, unofficial integration (not affiliated with Matrix42 GmbH)"],"relatedNodes":[]}


node_type: n8n-nodes-gatus-trigger.gatusTrigger
package_name: n8n-nodes-gatus-trigger
display_name: Gatus Trigger
description: Receives webhook alerts from Gatus monitoring system
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: twin.sh
author_github_url: https://github.com/TwiN/
npm_package_name: n8n-nodes-gatus-trigger
npm_version: 1.0.4
community_fetched_at: 2026-02-19T14:41:52.637Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-gatus-trigger
  [![npm package version](https://img.shields.io/npm/v/n8n-nodes-gatus-trigger)](https://www.npmjs.com/package/n8n-nodes-gatus-trigger)

  This is a n8n community node that lets you receive webhook alerts from [Gatus](https://github.com/TwiN/gatus), a developer-oriented health monitoring and status page system.


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

  ### npm

  ```bash
  npm install n8n-nodes-gatus-trigger
  ```

  ### n8n Cloud
  For n8n cloud users, follow the [n8n Cloud installation guide](https://docs.n8n.io/integrations/community-nodes/installation/gui-install/).

  ## Operations
  This node provides a single trigger operation:

  - **Webhook Trigger**: Receives HTTP POST webhooks from Gatus when alerts are triggered or resolved

  ## Configuring Gatus
  To send alerts to this n8n trigger node, configure Gatus to use the n8n alerting provider:

  ### 1. Get Your Webhook URL
  After adding the Gatus Trigger node to your n8n workflow:
  1. Click "Listen for Test Event" to get the test webhook URL
  2. Once your workflow is activated, use the Production webhook URL

  ### 2. Configure Gatus
  Add the following to your Gatus configuration file (`config.yaml`):

  ```yaml
  alerting:
    n8n:
      webhook-url: "https://your-n8n-instance.com/webhook/your-webhook-path"
    default-alert:
      send-on-resolved: true 

  endpoints:
    - name: example-api
      url: "https://api.example.com/health"
      interval: 1m
      conditions:
        - "[STATUS] == 200"
      alerts:
        - type: n8n
          description: "API health check failed"
  ```

  ### Gatus Webhook Payload Structure
  Gatus automatically sends webhooks with the following JSON structure (based on the [official n8n provider implementation](https://github.com/TwiN/gatus/blob/master/alerting/provider/n8n/n8n.go)):

  - `title`: Title of the alert (configurable in Gatus, defaults to "Gatus")
  - `endpoint_name`: Name of the monitored endpoint
  - `endpoint_group`: Group the endpoint belongs to (optional)
  - `endpoint_url`: URL being monitored
  - `alert_description`: Description from your alert configuration (optional)
  - `resolved`: Boolean - `true` if alert is resolved, `false` if triggered
  - `message`: Auto-generated message describing the alert
  - `condition_results`: Array of condition check results (optional)

  **Note:** You typically don't need to customize the payload - Gatus sends the correct structure automatically. However, if you need to customize the title, you can configure it in your Gatus config:

  ```yaml
  alerting:
    n8n:
      webhook-url: "https://your-n8n-instance.com/webhook/your-webhook-path"
      title: "Production Monitoring"  # Optional: customize the title
  ```

  ## Node Parameters

  ### Path
  - **Optional**: Custom webhook path
  - **Default**: Auto-generated
  - Leave empty to use an automatically generated webhook path, or specify a custom path for easier management

  ### Options

  #### Alert Type Filter
  - **All**: Receive both triggered and resolved alerts (default)
  - **Triggered Only**: Only receive alerts when endpoints fail
  - **Resolved Only**: Only receive alerts when endpoints recover

  #### Endpoint Group Filter
  - Filter alerts by endpoint group
  - Leave empty to receive alerts from all groups
  - Example: Set to "production" to only receive alerts for production endpoints

  #### Endpoint Name Filter
  - Filter alerts by endpoint name
  - Leave empty to receive alerts from all endpoints
  - Example: Set to "api-server" to only receive alerts for that specific endpoint

  ## Example Workflows

  ### Basic Alert Notification

  ```
  Gatus Trigger → Send Email
  ```

  Send an email whenever a Gatus alert is triggered.

  ### Conditional Response Based on Alert Type

  ```
  Gatus Trigger → IF Node → Send Slack Message / Log to Database
  ```

  Send Slack notifications for triggered alerts and log resolved alerts to a database.

  ### Alert Management

  ```
  Gatus Trigger → Set Variables → HTTP Request → Update Dashboard
  ```

  Process the alert data and update an external monitoring dashboard.

  ## Output Data

  The trigger node outputs the following data structure:

  ```json
  {
    "title": "Gatus",
    "endpoint_name": "api-server",
    "endpoint_group": "production",
    "endpoint_url": "https://api.example.com/health",
    "alert_description": "API health check failed",
    "resolved": false,
    "message": "An alert for api-server has been triggered due to having failed 3 time(s) in a row",
    "condition_results": [
      {
        "condition": "[STATUS] == 200",
        "success": false
      },
      {
        "condition": "[RESPONSE_TIME] < 500",
        "success": true
      }
    ]
  }
  ```

  ### Field Descriptions

  - **title**: The configured title from Gatus (defaults to "Gatus")
  - **endpoint_name**: Name of the endpoint that triggered the alert
  - **endpoint_group**: Optional group classification
  - **endpoint_url**: The URL being monitored
  - **alert_description**: Custom description from your Gatus alert configuration
  - **resolved**: `true` when an alert is resolved, `false` when triggered
  - **message**: Human-readable message generated by Gatus
  - **condition_results**: Array of all condition checks with their results

  ## Development

  ### Setup

  ```bash
  # Install dependencies
  npm install

  # Build the node
  npm run build

  # Link for local development
  npm link
  cd ~/.n8n/nodes
  npm link n8n-nodes-gatus-trigger
  ```

  ### Testing

  To test the node locally:

  1. Start n8n with `n8n start`
  2. Add the Gatus Trigger node to a workflow
  3. Click "Listen for Test Event"
  4. Send a test webhook using curl:

  ```bash
  curl -X POST https://your-n8n-instance.com/webhook/your-webhook-path \
    -H "Content-Type: application/json" \
    -d '{
      "title": "Gatus",
      "endpoint_name": "test-api",
      "endpoint_group": "test",
      "endpoint_url": "https://test.example.com",
      "alert_description": "Test alert",
      "resolved": false,
      "message": "An alert for test-api has been triggered due to having failed 3 time(s) in a row",
      "condition_results": [
        {
          "condition": "[STATUS] == 200",
          "success": false
        }
      ]
    }'
  ```

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Gatus documentation](https://gatus.io/docs/)
  - [Gatus GitHub repository](https://github.com/TwiN/gatus)
  - [Gatus alerting configuration](https://gatus.io/docs/alerting-getting-started)

ai_documentation_summary:
  {"purpose":"Receive HTTP POST webhook alerts from the Gatus monitoring system and trigger n8n workflows when alerts are triggered or resolved.","capabilities":["Receive webhook POSTs from Gatus (trigger on alerts and resolved events)","Generate/Get a test webhook URL and provide a production webhook URL when workflow is active","Optional custom webhook path (or auto-generated path)","Filter incoming alerts by alert type (All, Triggered Only, Resolved Only)","Filter incoming alerts by endpoint group","Filter incoming alerts by endpoint name","Expose structured output payload with fields: title, endpoint_name, endpoint_group, endpoint_url, alert_description, resolved, message, condition_results"],"authentication":"None","commonUseCases":["Send email or Slack notifications when a Gatus alert is triggered","Route alerts conditionally (triggered vs resolved) using IF nodes","Log alerts or resolved events to a database","Process alert data and update external dashboards via HTTP Request","Filter workflows to only handle alerts for specific endpoint groups or endpoint names"],"limitations":["Provides a single trigger operation only (webhook trigger)","Designed specifically for Gatus n8n alerting provider payload format — other webhook formats are not directly supported"],"relatedNodes":["IF","Send Email","Slack / Send Slack Message","HTTP Request","Set (Set Variables)"]}


node_type: n8n-nodes-straico-official.straicoOfficial
package_name: n8n-nodes-straico-official
display_name: Straico Official
description: Get data from Straico API
category: Community
development_style: declarative
version: 1,2
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: straico
author_github_url: https://github.com/SaroM0/
npm_package_name: n8n-nodes-straico-official
npm_version: 5.0.4
community_fetched_at: 2026-02-19T14:41:52.638Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "prompt",
      "options": [
        {
          "name": "Agent",
          "value": "agent"
        },
        {
          "name": "Chat",
          "value": "chat"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Image",
          "value": "image"
        },
        {
          "name": "Model",
          "value": "models"
        },
        {
          "name": "Prompt",
          "value": "prompt"
        },
        {
          "name": "RAG",
          "value": "rag"
        },
        {
          "name": "TTS",
          "value": "tts"
        },
        {
          "name": "User",
          "value": "user"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get Info",
          "value": "get",
          "action": "Get user information",
          "routing": {
            "request": {
              "url": "/v0/user",
              "method": "GET"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get all models information v1",
          "routing": {
            "request": {
              "url": "/v1/models",
              "method": "GET"
            }
          }
        },
        {
          "name": "Get All Models v2",
          "value": "getAllModelsInfo",
          "action": "Get all models information v2"
        },
        {
          "name": "Get Specific Model v2",
          "value": "getSpecificModel",
          "action": "Get specific model information v2"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "models"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "completion",
      "options": [
        {
          "name": "Completion",
          "value": "completion",
          "action": "Create a completion",
          "routing": {
            "request": {
              "url": "/v1/prompt/completion",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "prompt"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "completionV2",
      "options": [
        {
          "name": "Completion V2",
          "value": "completionV2",
          "action": "Create a chat completion",
          "routing": {
            "request": {
              "url": "/v2/chat/completions",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chat"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate Image",
          "value": "generate",
          "action": "Generate an image v0",
          "routing": {
            "request": {
              "url": "/v0/image/generation",
              "method": "POST"
            }
          }
        },
        {
          "name": "Generate Image V1",
          "value": "generateV1",
          "action": "Generate an image v1",
          "routing": {
            "request": {
              "url": "/v1/image/generation",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate Video",
          "value": "generate",
          "action": "Generate a video from image",
          "routing": {
            "request": {
              "url": "/v1/image/tovideo",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Convert text to speech",
          "routing": {
            "request": {
              "url": "/v1/tts/create",
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tts"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Add RAG",
          "value": "addRag",
          "action": "Add RAG to agent"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new agent"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete agent"
        },
        {
          "name": "Get Details",
          "value": "get",
          "action": "Get agent details"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all agents"
        },
        {
          "name": "Prompt Completion",
          "value": "promptCompletion",
          "action": "Send a prompt to agent"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update agent details"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload a file",
          "routing": {
            "request": {
              "url": "/v0/file/upload",
              "body": {
                "file": "={{ $parameter[\"file\"] }}"
              },
              "json": false,
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new RAG"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a RAG"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get RAG by ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all ra gs"
        },
        {
          "name": "Prompt Completion",
          "value": "promptCompletion",
          "action": "Send a prompt to a RAG"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a RAG with files"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "rag"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Info",
      "value": "get",
      "action": "Get user information",
      "routing": {
        "request": {
          "url": "/v0/user",
          "method": "GET"
        }
      }
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get all models information v1",
      "routing": {
        "request": {
          "url": "/v1/models",
          "method": "GET"
        }
      }
    },
    {
      "name": "Get All Models v2",
      "value": "getAllModelsInfo",
      "action": "Get all models information v2"
    },
    {
      "name": "Get Specific Model v2",
      "value": "getSpecificModel",
      "action": "Get specific model information v2"
    },
    {
      "name": "Completion",
      "value": "completion",
      "action": "Create a completion",
      "routing": {
        "request": {
          "url": "/v1/prompt/completion",
          "method": "POST"
        }
      }
    },
    {
      "name": "Completion V2",
      "value": "completionV2",
      "action": "Create a chat completion",
      "routing": {
        "request": {
          "url": "/v2/chat/completions",
          "method": "POST"
        }
      }
    },
    {
      "name": "Generate Image",
      "value": "generate",
      "action": "Generate an image v0",
      "routing": {
        "request": {
          "url": "/v0/image/generation",
          "method": "POST"
        }
      }
    },
    {
      "name": "Generate Image V1",
      "value": "generateV1",
      "action": "Generate an image v1",
      "routing": {
        "request": {
          "url": "/v1/image/generation",
          "method": "POST"
        }
      }
    },
    {
      "name": "Generate Video",
      "value": "generate",
      "action": "Generate a video from image",
      "routing": {
        "request": {
          "url": "/v1/image/tovideo",
          "method": "POST"
        }
      }
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Convert text to speech",
      "routing": {
        "request": {
          "url": "/v1/tts/create",
          "method": "POST"
        }
      }
    },
    {
      "name": "Add RAG",
      "value": "addRag",
      "action": "Add RAG to agent"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new agent"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete agent"
    },
    {
      "name": "Get Details",
      "value": "get",
      "action": "Get agent details"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all agents"
    },
    {
      "name": "Prompt Completion",
      "value": "promptCompletion",
      "action": "Send a prompt to agent"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update agent details"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload a file",
      "routing": {
        "request": {
          "url": "/v0/file/upload",
          "body": {
            "file": "={{ $parameter[\"file\"] }}"
          },
          "json": false,
          "method": "POST"
        }
      }
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new RAG"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a RAG"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get RAG by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all ra gs"
    },
    {
      "name": "Prompt Completion",
      "value": "promptCompletion",
      "action": "Send a prompt to a RAG"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a RAG with files"
    }
  ]

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

  # n8n-nodes-straico-official

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

  **Straico** is an AI-powered platform that provides advanced prompt completion, image generation, agent management, and Retrieval-Augmented Generation (RAG) capabilities via a RESTful API.

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

  - [Installation](#installation)  
    - [Self-Hosted Installation](#self-hosted-installation)
    - [Cloud Installation](#cloud-installation)
  - [Operations](#operations)  
  - [Credentials](#credentials)  
  - [Compatibility](#compatibility)  
  - [Usage](#usage)  
    - [Example Workflow](#example-workflow)  
  - [Resources](#resources)  
  - [Version History](#version-history)

  ---

  ## Installation

  ### Cloud Installation

  > **Note**: Limited to n8n instance owners

  Only the n8n instance owner can install and manage verified community nodes. The instance owner is the person who sets up and manages user management. All members of an n8n instance can use already installed community nodes in their workflows.

  Admin accounts can also uninstall any community node, verified or unverified. This helps them remove problematic nodes that may affect the instance's health and functionality.

  #### Install a Community Node

  To install this verified community node:

  1. Go to the Canvas and open the nodes panel (either by selecting '+' or pressing Tab)
  2. Search for "Straico". You will see it in the "More from the community" section at the bottom of the nodes panel
  3. Select the node to view detailed information about supported actions
  4. Click "Install". This will install the node for your instance and enable all members to use it

  #### Enable Installation of Verified Community Nodes

  Some users may not want to show verified community nodes in the nodes panel of their instances. On n8n cloud, instance owners can toggle this in the Cloud Admin Panel.

  #### Uninstall a Community Node

  To uninstall the community node:

  1. Go to Settings > Community nodes
  2. On the node you want to uninstall, select Options (three dots menu)
  3. Select "Uninstall package"
  4. Confirm uninstallation in the modal

  ### Self-Hosted Installation

  For self-hosted n8n instances:

  1. Install the community node package:

     ```bash
     npm install n8n-nodes-straico-official
     ```

  2. Restart your n8n instance to load the new node

  3. In n8n, go to **Settings/Community Nodes** and enable **n8n-nodes-straico-official** if it isn't already

  ---

  ## Operations

  The Straico node supports the following **resources** and **operations**:

  - **User**
    - **Get Info**: Retrieve account details for the authenticated user.
  - **Models**
    - **Get All**: List all available chat and image models.
  - **Prompt**
    - **Completion**: Generate text completions using either specified models or the smart LLM selector.
  - **Image**
    - **Generate Image**: Create images with customizable parameters (model, size, variations, etc.).
  - **Agent**
    - **Create**, **Get Details**, **List**, **Add RAG**, **Update**, **Delete**, **Prompt Completion**.
  - **File**
    - **Upload**: Upload binary files for RAG or prompt operations.
  - **RAG**
    - **Create**, **List**, **Get**, **Update**, **Delete**, **Prompt Completion**.

  ---

  ## Credentials

  To authenticate requests, you need a **Straico API Key**:

  1. Sign up or log in at [Straico](https://straico.com/) and copy your API key from the dashboard.
  2. In n8n, go to **Credentials/New Credential/Straico API**.
  3. Paste your API key and save.

  All node operations will automatically use this credential.

  ---

  ## Compatibility

  - **Minimum n8n version**: `1.0.0`  
  - **Tested with**: n8n `1.x` and Straico API `v1`  
  - **Known issues**: None at this time. If you encounter any, please open an issue in the [GitHub repo](https://github.com/your-org/n8n-nodes-straico-official).

  ---

  ## Usage

  1. **Add Straico Official** node to your workflow.
  2. **Select Resource** and **Operation**.
  3. **Configure Parameters** according to the selected operation.
  4. **Connect** to other nodes as needed.

  ### Example Workflow

  Below is a simple example to generate a text completion and then an image:

  ```json
  [
    {
      "nodes": [
        {
          "parameters": {
            "resource": "prompt",
            "operation": "completion",
            "models": ["gpt-4"],
            "message": "Write a short poem about autumn.",
            "additionalFields": {
              "temperature": 0.8,
              "max_tokens": 100
            }
          },
          "name": "Straico Prompt",
          "type": "n8n-nodes-straico-official.StraicoOfficial",
          "typeVersion": 1,
          "position": [250, 300]
        },
        {
          "parameters": {
            "resource": "image",
            "operation": "generate",
            "model": "openai/dall-e-3",
            "description": "A serene autumn forest with falling leaves",
            "size": "landscape",
            "variations": 1,
            "enhance": true,
            "customEnhancer": "Make it more vibrant and warm"
          },
          "name": "Straico Image",
          "type": "n8n-nodes-straico-official.StraicoOfficial",
          "typeVersion": 1,
          "position": [450, 300]
        }
      ],
      "connections": {
        "Straico Prompt": {
          "main": [
            [
              {
                "node": "Straico Image",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    }
  ]
  ```

  ---

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)  
  - [Straico API Documentation](https://documenter.getpostman.com/view/5900072/2s9YyzddrR)  
  - [n8n Forum](https://community.n8n.io/) – for community support  

  ---

  ## Version History

  - **2.0.0** (2025-06-25)  
    - Initial public release  
    - Supports User, Models, Prompt, Image, Agent, File, and RAG operations  
  - **2.1.0** (pending)  
    - Planned: Add webhook support and batch RAG uploads

  ---

ai_documentation_summary:
  {"purpose":"Expose Straico API functionality inside n8n workflows to perform AI-powered prompt completions, image generation, agent management, file uploads, and RAG operations.","capabilities":["User: Get Info (retrieve authenticated account details)","Models: Get All (list available chat and image models)","Prompt: Completion (generate text completions; supports model selection or smart LLM selector)","Image: Generate Image (create images with model, size, variations, enhancement and custom enhancer options)","Agent: Create, Get Details, List, Add RAG, Update, Delete, Prompt Completion (manage agents and run prompts against agents)","File: Upload (upload binary files for RAG or prompt operations)","RAG: Create, List, Get, Update, Delete, Prompt Completion (manage Retrieval-Augmented Generation resources and run prompts)"],"authentication":"API key required (Straico API Key configured in n8n Credentials)","commonUseCases":["Generate text completions (chat or single-shot prompts) for content, summaries, or responses","Create images from descriptions with configurable size, variations, and enhancement options","Build and manage agents that can run prompts and incorporate RAG knowledge","Upload files and create RAG datasets to augment model responses with custom documents","List and select available models programmatically for dynamic workflows"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-extruct.extruct
package_name: n8n-nodes-extruct
display_name: Extruct AI
description: Add companies to Extruct tables and run enrichment
category: Community
development_style: declarative
version: 3
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: zodackwand
author_github_url: https://github.com/extruct-ai/
npm_package_name: n8n-nodes-extruct
npm_version: 2.1.0
community_fetched_at: 2026-02-19T14:41:52.638Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-extruct

  ![Extruct AI Banner](icons/banner.png)

  **n8n community node for Extruct AI**

  This node lets you enrich and fetch company data from Extruct AI, right inside your n8n workflows.
  Define your own table structure, add any custom columns, and get exactly the data you need.

  ### Instant preview

  Suppose you want to enrich a company by website and get its funding, team size, recent news headline, patent count, and head of HR LinkedIn profile.


  ```json
  {
    "company_name": {
      "value": {
        "answer": "Stripe",
        "source": [
          "https://en.wikipedia.org/wiki/Stripe,_Inc."
        ],
        "explanation": "Full company name as listed on the Stripe Wikipedia page."
      }
    },
    "company_website": {
      "value": {
        "answer": "https://stripe.com/",
        "source": [
          "https://en.wikipedia.org/wiki/Stripe,_Inc.",
          "https://stripe.com"
        ],
        "explanation": "Canonical homepage confirmed on Wikipedia and the stripe.com domain."
      }
    },
    "recent_news_headline": {
      "value": {
        "answer": "Stripe’s first employee, the founder of fintech Increase, sort of bought a bank",
        "source": [
          "https://techcrunch.com/2025/07/03/stripes-first-employee-the-founder-of-fintech-increase-sort-of-bought-a-bank"
        ],
        "explanation": "Headline from a TechCrunch article published July 3, 2025, as the latest news about Stripe."
      }
    },
    "team_size": {
      "value": {
        "answer": "8550",
        "source": [
          "https://techcrunch.com/2025/01/21/stripe-is-laying-off-300-people-but-says-it-still-plans-to-hire-in-2025"
        ],
        "explanation": "About 8,550 employees after a January 2025 layoff of 300 people, per TechCrunch."
      }
    },
    "patent_count": {
      "value": {
        "answer": "247",
        "source": [
          "https://insights.greyb.com/stripe-patents"
        ],
        "explanation": "Total of 247 patents held globally by Stripe, according to GreyB Insights."
      }
    },
    "funding_amount": {
      "value": {
        "answer": "$9.81B",
        "source": [
          "https://tracxn.com/d/companies/stripe/__uahG_IGnVgsUsOG-f8otYHLkOkliWg7YFhJ5ZkNIkpI/funding-and-investors",
          "https://www.crunchbase.com/organization/stripe/company_financials"
        ],
        "explanation": "Raised $9.81 B over 24 rounds, including a $6.87 B round in March 2023, per Tracxn and Crunchbase."
      }
    },
    "head_of_hr_linkedin": {
      "value": {
        "answer": "https://www.linkedin.com/in/maiaj",
        "source": [
          "https://www.comparably.com/companies/stripe/maia-josebachvili",
          "https://www.linkedin.com/in/maiaj"
        ],
        "explanation": "Confirmed as Head of People at Stripe via Comparably and LinkedIn."
      }
    }
  }
  ```



  ## What is Extruct AI?

  **Extruct AI** is a data enrichment platform that lets you create custom tables with any columns you want, and then enrich them with company data from the web and public sources.  

  - **Any info you want:** Define your own columns — get emails, social links, funding, tech stack, or anything else.
  - **No limits:** Works for any company, in any country, any industry.
  - **Built for automation:** Integrate with CRMs, lead gen, analytics, and more.



  ## Features

  - Add a company to your Extruct table and trigger enrichment
  - Poll for enrichment completion automatically
  - Instantly fetch the enriched row with all your custom columns
  - Use in any n8n workflow



  ## Installation

  Follow the [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/) for installing custom nodes.



  ## Usage

  1. **Create an Extruct table:**
     - You can start from a template table or create your own from scratch at [Extruct AI](https://extruct.ai).
     - Add any custom columns you need — you have full control over the table structure and fields.
  2. **Get your Table ID:**
     - After creating the table, copy its Table ID from the Extruct dashboard, or simply grab it from the table page URL.
  3. **Use in n8n:**
     - In the Extruct node, paste your Table ID.
     - Enter the company name or website you want to enrich:
       - You can type it manually in the node field,
       - Or pass it dynamically from a Form Trigger,
       - Or from any other node in your workflow — just connect it to the Extruct node.
     - Run the workflow — the node will add the company, trigger enrichment, and return the enriched data for your custom columns.

  ## Quick Demo

  ![n8n node demo](https://github.com/zodackwand/extruct_screenshots/blob/main/demo.gif?raw=true)


  ## Operations

  ### Enrich Company Info

  - **Input:**  
    - Table ID (your Extruct table)
    - Company Input (website or name)
  - **Output:**  
    - Returns a fully enriched row with all your custom columns as clean JSON, ready to use in your n8n workflow.

  **How it works:**  
  1. Adds a company to your Extruct table  
  2. Triggers enrichment  
  3. Waits for completion  
  4. Returns the enriched row (with all your custom fields)



  ## Output
  The node returns clean JSON with all enriched fields for the company, matching your custom table columns.



  ## Extruct Table Templates
  Use these ready-to-go table templates for your n8n workflows:

  - [Sales and Business Development](https://app.extruct.ai/tables/shared/jlcBdFwKXrC8uw21)  
    *Track leads, enrich company profiles, and automate sales research.*

  - [Complete Startup Overview](https://app.extruct.ai/tables/shared/gQlqQK4pQgPDmk81)  
    *Get a 360° view of startups with funding, team, and product data.*

  - [Social Enrichment](https://app.extruct.ai/tables/shared/VfGemEC1BujAIJx8)  
    *Enrich companies with social profiles, Twitter, LinkedIn, and more.*

  Open a template, get the Table ID, and use it in your node.



  ## Credentials

  - **Extruct API Token**  
    - Sign up at [extruct.ai](https://extruct.ai)
    - Get your API token from the dashboard
    - Add it as a credential in n8n



  ## Resources

  - [Extruct AI website](https://extruct.ai)
  - [n8n Community Nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Extruct AI API Docs](https://www.extruct.ai/docs/extruct-ai/product)



  ## Compatibility

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

ai_documentation_summary:
  {"purpose":"Adds companies to an Extruct AI table from an n8n workflow, triggers and polls for enrichment, and returns the enriched row as clean JSON matching your custom table columns.","capabilities":["Add a company row to an Extruct table (by name or website)","Trigger enrichment for the added company","Automatically poll/wait for enrichment completion","Fetch and return the fully enriched row as JSON with all custom table columns","Accept Table ID and company input both statically or dynamically (e.g., from other nodes)","Work with Extruct table templates (Sales, Startup Overview, Social Enrichment) to bootstrap schemas"],"authentication":"API key required (Extruct API Token added as n8n credential)","commonUseCases":["Automated lead enrichment for CRMs and sales workflows","Sales and business development research and prospecting","Populating analytics or datasets with company attributes (funding, headcount, patents, etc.)","Enriching startup databases with funding, team, and product data","Adding social and contact profile data for lead generation workflows"],"limitations":[],"relatedNodes":["Form Trigger"]}


node_type: @rogerrogerio/n8n-nodes-rogerroger.rogerRoger
package_name: @rogerrogerio/n8n-nodes-rogerroger
display_name: RogerRoger
description: Interact with RogerRoger API for Person, Organization and Task resources
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: royrr
author_github_url: https://github.com/RogerRogerHQ/n8n-nodes-rogerroger.git
npm_package_name: @rogerrogerio/n8n-nodes-rogerroger
npm_version: 1.10.0
community_fetched_at: 2026-02-19T14:41:52.639Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Person",
          "value": "person"
        },
        {
          "name": "Organization",
          "value": "organization"
        },
        {
          "name": "Task",
          "value": "task"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get person",
          "description": "Get person"
        },
        {
          "name": "Get many",
          "value": "getMany",
          "action": "Get many persons",
          "description": "Get many persons"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create person",
          "description": "Create person"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update person",
          "description": "Update person"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete person",
          "description": "Delete person"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "person"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get organization",
          "description": "Get organization"
        },
        {
          "name": "Get many",
          "value": "getMany",
          "action": "Get many organizations",
          "description": "Get many organizations"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create organization",
          "description": "Create organization"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update organization",
          "description": "Update organization"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete organization",
          "description": "Delete organization"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "organization"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get task",
          "description": "Get task"
        },
        {
          "name": "Get many",
          "value": "getMany",
          "action": "Get many tasks",
          "description": "Get many tasks"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create task",
          "description": "Create task"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update task",
          "description": "Update task"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete task",
          "description": "Delete task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get tag",
          "description": "Get tag"
        },
        {
          "name": "Get many",
          "value": "getMany",
          "action": "Get many tags",
          "description": "Get many tags"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create tag",
          "description": "Create tag"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update tag",
          "description": "Update tag"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete tag",
          "description": "Delete tag"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get segment",
          "description": "Get segment"
        },
        {
          "name": "Get many",
          "value": "getMany",
          "action": "Get many segments",
          "description": "Get many segments"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create segment",
          "description": "Create segment"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update segment",
          "description": "Update segment"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete segment",
          "description": "Delete segment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "segment"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get person",
      "description": "Get person"
    },
    {
      "name": "Get many",
      "value": "getMany",
      "action": "Get many persons",
      "description": "Get many persons"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create person",
      "description": "Create person"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update person",
      "description": "Update person"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete person",
      "description": "Delete person"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get organization",
      "description": "Get organization"
    },
    {
      "name": "Get many",
      "value": "getMany",
      "action": "Get many organizations",
      "description": "Get many organizations"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create organization",
      "description": "Create organization"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update organization",
      "description": "Update organization"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete organization",
      "description": "Delete organization"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get task",
      "description": "Get task"
    },
    {
      "name": "Get many",
      "value": "getMany",
      "action": "Get many tasks",
      "description": "Get many tasks"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create task",
      "description": "Create task"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update task",
      "description": "Update task"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete task",
      "description": "Delete task"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get tag",
      "description": "Get tag"
    },
    {
      "name": "Get many",
      "value": "getMany",
      "action": "Get many tags",
      "description": "Get many tags"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create tag",
      "description": "Create tag"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update tag",
      "description": "Update tag"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete tag",
      "description": "Delete tag"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get segment",
      "description": "Get segment"
    },
    {
      "name": "Get many",
      "value": "getMany",
      "action": "Get many segments",
      "description": "Get many segments"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create segment",
      "description": "Create segment"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update segment",
      "description": "Update segment"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete segment",
      "description": "Delete segment"
    }
  ]

npm_readme:
  # n8n-nodes-rogerroger

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

  RogerRoger is a collaborative task and communication platform designed to streamline workflows by turning emails and chats into actionable tasks for teams.

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

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

  ## Installation

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

  ## Operations

  The node supports the following operations:

  - Person
    - Get
    - Get many
    - Create
    - Update
    - Delete
  - Organization
    - Get
    - Get many
    - Create
    - Update
    - Delete
  - Task
    - Get
    - Get many
    - Create
    - Update
    - Delete

  ## Credentials

  The node supports the API Key authentication method that is required to authenticate with the RogerRoger API.

  ## Compatibility

  Tested against n8n version 1.95.3.

  ## Usage

  1. **Generate an API Key**: Visit the [RogerRoger API Admin](https://app.rogerroger.io/admin/api) to create your API key.

  2. **Set Up Credentials in n8n**:
     - Navigate to the RogerRoger node in your n8n workflow.
     - Create a new credential and enter the API key you generated.

  3. **Select a Resource**:
     - Choose one of the available resources you want to interact with: Person, Organization, or Task.

  4. **Choose an Operation**:
     - Select the operation you wish to perform (e.g., Get, Create, Update, Delete).
     - Provide the necessary data for the selected operation.

  5. **Execute the Node**:
     - Run the node to perform the selected operations on the RogerRoger platform.

  ## Resources

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

  ## Version history

  - 1.0.0: Initial release
  - 1.0.1: README updated
  - 1.0.2:
  	- Updated README
  	- Chore: Moved repository to public Github
  	- Text changes to improve consistancy between RogerRoger and N8N
  	- Add fields "dueDate" and "organizations" to task resource
  - 1.0.3:
  	- Wrong path specified for node in package.json
  - 1.0.4:
  	- Wrong path to credentials file specified in package.json 
  - 1.0.5:
  	- Add credential test code
  - 1.0.6:
  	- Fix X-API-KEY header
  - 1.0.7:
  	- Update test endpoint
  - 1.0.8:
  	- Provide rules for credential test
  - 1.0.9
  	- Bump version
  - 1.10.0
      - Added a resource locator to more easily find individual people, organizations, or tasks
      - Improved error reporting by using not only toast notifications but also the output window of n8n
      - Restructured and modularized the code to improve maintainability
      - Get many will now use "return all" and "limit" to provide a list of items

ai_documentation_summary:
  {"purpose":"Provide n8n workflow actions to interact with the RogerRoger API, allowing workflows to create, read, update, and delete Person, Organization, and Task resources.","capabilities":["Person: Get, Get many, Create, Update, Delete","Organization: Get, Get many, Create, Update, Delete","Task: Get, Get many, Create, Update, Delete","Get many supports Return All and Limit for pagination","Resource locator to find individual people, organizations, or tasks","Supports task fields such as dueDate and organizations","Credential test support and uses X-API-KEY header for requests"],"authentication":"API key required (X-API-KEY header)","commonUseCases":["Create tasks in RogerRoger from emails, chats, or other workflow triggers","Sync or bulk-retrieve People, Organizations, or Tasks for reporting or backups","Automate updates to contacts or tasks (update status, due dates, associated organizations)","Delete or clean up stale People, Organizations, or Tasks as part of maintenance workflows"],"limitations":["Authentication is API key only (no OAuth or other auth methods documented)","Tested against n8n version 1.95.3 (compatibility with other versions not guaranteed)","No webhook or real-time/streaming event support documented in the README"],"relatedNodes":[]}


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-02-19 14:41:52
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-02-19T14:41:52.639Z
ai_summary_generated_at: 2026-02-19 16:43:57
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"
    },
    {
      "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"
    },
    {
      "name": "Start",
      "value": "start",
      "action": "Start an agent",
      "description": "Execute an agent/module with provided inputs"
    }
  ]

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":"Provide n8n workflow actions to interact with the DiviUp Connect API for creating/updating run containers and executing agents/modules.","capabilities":["Create a new run container (optionally associate a playbook and provide variables)","Update an existing run's status","Start/execute an agent/module with provided inputs (supports sync and async modes)"],"authentication":"API key required (DiviUp Connect API key; keys start with 'pk_')","commonUseCases":["Create and initialize run containers from n8n workflows","Update run status as part of automated processes","Trigger agents/modules to perform tasks, synchronously or asynchronously","Pass variables and optional playbook associations to runs for automated orchestration"],"limitations":["Compatible only with n8n@1.60.0 or later","Supports a limited set of operations (Run: create/update; Agent: start) as documented","Authentication only via API key (no OAuth or alternate auth methods mentioned)"],"relatedNodes":[]}


node_type: @droidrun/n8n-nodes-droidrun.mobilerun
package_name: @droidrun/n8n-nodes-droidrun
display_name: Mobilerun
description: Access the Mobilerun Cloud Api
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: lukas-droidrun
author_github_url: https://github.com/droidrun/n8n-nodes-droidrun.git
npm_package_name: @droidrun/n8n-nodes-droidrun
npm_version: 1.0.7
community_fetched_at: 2026-02-19T14:41:52.640Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "inspectTask",
      "options": [
        {
          "name": "Appstore",
          "value": "apps"
        },
        {
          "name": "Device",
          "value": "device"
        },
        {
          "name": "Device Credential",
          "value": "credential"
        },
        {
          "name": "Inspect Task",
          "value": "inspectTask"
        },
        {
          "name": "Manage Task",
          "value": "manageTask"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listTasks",
      "options": [
        {
          "name": "Get Task",
          "value": "getTask",
          "action": "Get task",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId }}",
              "method": "GET"
            }
          },
          "description": "Get a task"
        },
        {
          "name": "Get Task Gif",
          "value": "getTaskGif",
          "action": "Get task gif",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId + \"/gif\" }}",
              "method": "GET"
            }
          },
          "description": "Get a screenshot of a task"
        },
        {
          "name": "Get Task Screenshot",
          "value": "getTaskScreenshot",
          "action": "Get task screenshot",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId + \"/screenshots/\" +  $parameter.index }}",
              "method": "GET"
            }
          },
          "description": "Get a screenshot of a task"
        },
        {
          "name": "Get Task Screenshots",
          "value": "getTaskScreenshots",
          "action": "Get task screenshots",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId + \"/screenshots\" }}",
              "method": "GET"
            }
          },
          "description": "Get a list of screenshots of a task"
        },
        {
          "name": "Get Task Trajectory",
          "value": "getTaskTrajectory",
          "action": "Get task trajectory",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId + \"/trajectory\" }}",
              "method": "GET"
            }
          },
          "description": "Get the trajectory of a task"
        },
        {
          "name": "Get Task UI State",
          "value": "getTaskUIState",
          "action": "Get task UI state",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId + \"/ui_states/\" + $parameter.index }}",
              "method": "GET"
            }
          },
          "description": "Get a specific UI state of a task"
        },
        {
          "name": "Get Task UI States",
          "value": "getTaskUIStates",
          "action": "Get task UI states",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId + \"/ui_states\" }}",
              "method": "GET"
            }
          },
          "description": "Get UI states of a task"
        },
        {
          "name": "List Tasks",
          "value": "listTasks",
          "action": "List tasks",
          "routing": {
            "request": {
              "url": "/tasks/",
              "method": "GET"
            }
          },
          "description": "List all tasks you’ve created so far"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "inspectTask"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "runTask",
      "options": [
        {
          "name": "Stop Task",
          "value": "stopTask",
          "action": "Stop task",
          "routing": {
            "request": {
              "url": "={{ \"/tasks/\" + $parameter.taskId + \"/cancel\" }}",
              "method": "POST"
            }
          },
          "description": "Stops a task"
        },
        {
          "name": "Run Task",
          "value": "runTask",
          "action": "Run task",
          "routing": {
            "request": {
              "url": "/tasks/",
              "body": {
                "apps": "={{ $parameter.apps }}",
                "task": "={{ $parameter.task }}",
                "files": "={{ $parameter.files }}",
                "vision": "={{ $parameter.vision }}",
                "deviceId": "={{ $parameter.deviceId }}",
                "llmModel": "={{ $parameter.llmModel }}",
                "maxSteps": "={{ $parameter.maxSteps }}",
                "displayId": "={{ $parameter.deviceSelectionMode === \"manual\" ? $parameter.deviceIdManual : $parameter.deviceId }}",
                "reasoning": "={{ $parameter.reasoning }}",
                "vpnCountry": "={{ $parameter.vpnCountry === \"none\" ? undefined : $parameter.vpnCountry }}",
                "credentials": "={{ $parameter.credentials }}",
                "temperature": "={{ $parameter.temperature }}",
                "outputSchema": "={{ $parameter.outputSchema ? JSON.parse($parameter.outputSchema) : undefined }}",
                "executionTimeout": "={{ $parameter.executionTimeout }}"
              },
              "method": "POST"
            }
          },
          "description": "Run a task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "manageTask"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listApps",
      "options": [
        {
          "name": "List Apps",
          "value": "listApps",
          "action": "List apps",
          "routing": {
            "request": {
              "url": "/apps",
              "method": "GET"
            }
          },
          "description": "Retrieves a paginated list of apps with filtering and search capabilities"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "apps"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listCredentials",
      "options": [
        {
          "name": "Add New Field",
          "value": "addCredentialField",
          "action": "Add field to specific credential",
          "routing": {
            "request": {
              "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName + \"/fields\"  }}",
              "body": {
                "value": "={{ $parameter.credentialValue }}",
                "fieldType": "={{ $parameter.credentialType }}"
              },
              "method": "PATCH"
            }
          },
          "description": "Add a new field to an existing credential"
        },
        {
          "name": "Create Credential Field",
          "value": "createCredentialField",
          "action": "Create credential field",
          "routing": {
            "request": {
              "url": "={{ \"/credentials/packages/\" + $parameter.packageName }}",
              "body": {
                "fields": {
                  "value": "={{ $parameter.credentialValue }}",
                  "fieldsType": "={{ $parameter.credentialType }}"
                },
                "credentialName": "={{ $parameter.credentialName }}"
              },
              "method": "POST"
            }
          },
          "description": "Create a credential with fields for a package"
        },
        {
          "name": "Delete Specific Credential",
          "value": "deleteSpecificCredential",
          "action": "Delete specific credential",
          "routing": {
            "request": {
              "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName }}",
              "method": "DELETE"
            }
          },
          "description": "Delete a credential and all its fields"
        },
        {
          "name": "Delete Specific Credential Field",
          "value": "deleteSpecificCredentialField",
          "action": "Delete specific credential field",
          "routing": {
            "request": {
              "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName + \"/fields/\" + $parameter.credentialType  }}",
              "method": "DELETE"
            }
          },
          "description": "Delete a field from a credential"
        },
        {
          "name": "Get Specific Credential",
          "value": "getSpecificCredential",
          "action": "Get specific credential",
          "routing": {
            "request": {
              "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName}}",
              "method": "GET"
            }
          },
          "description": "Get a specific credential with its fields"
        },
        {
          "name": "Initialize Package",
          "value": "initializePackage",
          "action": "Initialize package",
          "routing": {
            "request": {
              "url": "/credentials",
              "body": {
                "packageName": "={{ $parameter.packageName }}"
              },
              "method": "POST"
            }
          },
          "description": "Initialize a new package/app"
        },
        {
          "name": "List Credentials",
          "value": "listCredentials",
          "action": "List credentials",
          "routing": {
            "request": {
              "url": "/credentials",
              "method": "GET"
            }
          },
          "description": "List all credentials for the authenticated user"
        },
        {
          "name": "List Package Credentials",
          "value": "listPackageCredentials",
          "action": "List package credentials",
          "routing": {
            "request": {
              "url": "={{ \"/credentials/packages/\" + $parameter.packageName }}",
              "method": "GET"
            }
          },
          "description": "List credentials for a specific package"
        },
        {
          "name": "Update Specific Credential Field",
          "value": "updateSpecificCredentialField",
          "action": "Update specific credential field",
          "routing": {
            "request": {
              "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName + \"/fields/\" + $parameter.credentialType  }}",
              "body": {
                "value": "={{ $parameter.credentialValue }}"
              },
              "method": "PATCH"
            }
          },
          "description": "Update the value of a credential field"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "credential"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listDevices",
      "options": [
        {
          "name": "Delete Device",
          "value": "deleteDevice",
          "action": "Delete device",
          "routing": {
            "request": {
              "url": "/devices/{{$parameter.deviceId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a specific device"
        },
        {
          "name": "Get Device",
          "value": "getDevice",
          "action": "Get device details",
          "routing": {
            "request": {
              "url": "/devices/{{$parameter.deviceId}}",
              "method": "GET"
            }
          },
          "description": "Get details of a specific device"
        },
        {
          "name": "Get Device Tasks",
          "value": "getDeviceTasks",
          "action": "Get device tasks",
          "routing": {
            "request": {
              "url": "/devices/{{$parameter.deviceId}}/tasks",
              "method": "GET"
            }
          },
          "description": "Get tasks for a specific device"
        },
        {
          "name": "List Devices",
          "value": "listDevices",
          "action": "List devices",
          "routing": {
            "request": {
              "url": "/devices",
              "method": "GET"
            }
          },
          "description": "Retrieves a paginated list of devices with filtering and search capabilities"
        },
        {
          "name": "Provision Device",
          "value": "provisionDevice",
          "action": "Provision a new device",
          "routing": {
            "request": {
              "url": "/devices",
              "method": "POST"
            }
          },
          "description": "Provision a new device"
        },
        {
          "name": "Wait for Device",
          "value": "waitForDevice",
          "action": "Wait for device",
          "routing": {
            "request": {
              "url": "/devices/{{$parameter.deviceId}}/wait",
              "method": "GET"
            }
          },
          "description": "Wait for a device to be ready"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "device"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Task",
      "value": "getTask",
      "action": "Get task",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId }}",
          "method": "GET"
        }
      },
      "description": "Get a task"
    },
    {
      "name": "Get Task Gif",
      "value": "getTaskGif",
      "action": "Get task gif",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId + \"/gif\" }}",
          "method": "GET"
        }
      },
      "description": "Get a screenshot of a task"
    },
    {
      "name": "Get Task Screenshot",
      "value": "getTaskScreenshot",
      "action": "Get task screenshot",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId + \"/screenshots/\" +  $parameter.index }}",
          "method": "GET"
        }
      },
      "description": "Get a screenshot of a task"
    },
    {
      "name": "Get Task Screenshots",
      "value": "getTaskScreenshots",
      "action": "Get task screenshots",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId + \"/screenshots\" }}",
          "method": "GET"
        }
      },
      "description": "Get a list of screenshots of a task"
    },
    {
      "name": "Get Task Trajectory",
      "value": "getTaskTrajectory",
      "action": "Get task trajectory",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId + \"/trajectory\" }}",
          "method": "GET"
        }
      },
      "description": "Get the trajectory of a task"
    },
    {
      "name": "Get Task UI State",
      "value": "getTaskUIState",
      "action": "Get task UI state",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId + \"/ui_states/\" + $parameter.index }}",
          "method": "GET"
        }
      },
      "description": "Get a specific UI state of a task"
    },
    {
      "name": "Get Task UI States",
      "value": "getTaskUIStates",
      "action": "Get task UI states",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId + \"/ui_states\" }}",
          "method": "GET"
        }
      },
      "description": "Get UI states of a task"
    },
    {
      "name": "List Tasks",
      "value": "listTasks",
      "action": "List tasks",
      "routing": {
        "request": {
          "url": "/tasks/",
          "method": "GET"
        }
      },
      "description": "List all tasks you’ve created so far"
    },
    {
      "name": "Stop Task",
      "value": "stopTask",
      "action": "Stop task",
      "routing": {
        "request": {
          "url": "={{ \"/tasks/\" + $parameter.taskId + \"/cancel\" }}",
          "method": "POST"
        }
      },
      "description": "Stops a task"
    },
    {
      "name": "Run Task",
      "value": "runTask",
      "action": "Run task",
      "routing": {
        "request": {
          "url": "/tasks/",
          "body": {
            "apps": "={{ $parameter.apps }}",
            "task": "={{ $parameter.task }}",
            "files": "={{ $parameter.files }}",
            "vision": "={{ $parameter.vision }}",
            "deviceId": "={{ $parameter.deviceId }}",
            "llmModel": "={{ $parameter.llmModel }}",
            "maxSteps": "={{ $parameter.maxSteps }}",
            "displayId": "={{ $parameter.deviceSelectionMode === \"manual\" ? $parameter.deviceIdManual : $parameter.deviceId }}",
            "reasoning": "={{ $parameter.reasoning }}",
            "vpnCountry": "={{ $parameter.vpnCountry === \"none\" ? undefined : $parameter.vpnCountry }}",
            "credentials": "={{ $parameter.credentials }}",
            "temperature": "={{ $parameter.temperature }}",
            "outputSchema": "={{ $parameter.outputSchema ? JSON.parse($parameter.outputSchema) : undefined }}",
            "executionTimeout": "={{ $parameter.executionTimeout }}"
          },
          "method": "POST"
        }
      },
      "description": "Run a task"
    },
    {
      "name": "List Apps",
      "value": "listApps",
      "action": "List apps",
      "routing": {
        "request": {
          "url": "/apps",
          "method": "GET"
        }
      },
      "description": "Retrieves a paginated list of apps with filtering and search capabilities"
    },
    {
      "name": "Add New Field",
      "value": "addCredentialField",
      "action": "Add field to specific credential",
      "routing": {
        "request": {
          "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName + \"/fields\"  }}",
          "body": {
            "value": "={{ $parameter.credentialValue }}",
            "fieldType": "={{ $parameter.credentialType }}"
          },
          "method": "PATCH"
        }
      },
      "description": "Add a new field to an existing credential"
    },
    {
      "name": "Create Credential Field",
      "value": "createCredentialField",
      "action": "Create credential field",
      "routing": {
        "request": {
          "url": "={{ \"/credentials/packages/\" + $parameter.packageName }}",
          "body": {
            "fields": {
              "value": "={{ $parameter.credentialValue }}",
              "fieldsType": "={{ $parameter.credentialType }}"
            },
            "credentialName": "={{ $parameter.credentialName }}"
          },
          "method": "POST"
        }
      },
      "description": "Create a credential with fields for a package"
    },
    {
      "name": "Delete Specific Credential",
      "value": "deleteSpecificCredential",
      "action": "Delete specific credential",
      "routing": {
        "request": {
          "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName }}",
          "method": "DELETE"
        }
      },
      "description": "Delete a credential and all its fields"
    },
    {
      "name": "Delete Specific Credential Field",
      "value": "deleteSpecificCredentialField",
      "action": "Delete specific credential field",
      "routing": {
        "request": {
          "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName + \"/fields/\" + $parameter.credentialType  }}",
          "method": "DELETE"
        }
      },
      "description": "Delete a field from a credential"
    },
    {
      "name": "Get Specific Credential",
      "value": "getSpecificCredential",
      "action": "Get specific credential",
      "routing": {
        "request": {
          "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName}}",
          "method": "GET"
        }
      },
      "description": "Get a specific credential with its fields"
    },
    {
      "name": "Initialize Package",
      "value": "initializePackage",
      "action": "Initialize package",
      "routing": {
        "request": {
          "url": "/credentials",
          "body": {
            "packageName": "={{ $parameter.packageName }}"
          },
          "method": "POST"
        }
      },
      "description": "Initialize a new package/app"
    },
    {
      "name": "List Credentials",
      "value": "listCredentials",
      "action": "List credentials",
      "routing": {
        "request": {
          "url": "/credentials",
          "method": "GET"
        }
      },
      "description": "List all credentials for the authenticated user"
    },
    {
      "name": "List Package Credentials",
      "value": "listPackageCredentials",
      "action": "List package credentials",
      "routing": {
        "request": {
          "url": "={{ \"/credentials/packages/\" + $parameter.packageName }}",
          "method": "GET"
        }
      },
      "description": "List credentials for a specific package"
    },
    {
      "name": "Update Specific Credential Field",
      "value": "updateSpecificCredentialField",
      "action": "Update specific credential field",
      "routing": {
        "request": {
          "url": "={{ \"/credentials/packages/\" + $parameter.packageName + \"/credentials/\" + $parameter.credentialName + \"/fields/\" + $parameter.credentialType  }}",
          "body": {
            "value": "={{ $parameter.credentialValue }}"
          },
          "method": "PATCH"
        }
      },
      "description": "Update the value of a credential field"
    },
    {
      "name": "Delete Device",
      "value": "deleteDevice",
      "action": "Delete device",
      "routing": {
        "request": {
          "url": "/devices/{{$parameter.deviceId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a specific device"
    },
    {
      "name": "Get Device",
      "value": "getDevice",
      "action": "Get device details",
      "routing": {
        "request": {
          "url": "/devices/{{$parameter.deviceId}}",
          "method": "GET"
        }
      },
      "description": "Get details of a specific device"
    },
    {
      "name": "Get Device Tasks",
      "value": "getDeviceTasks",
      "action": "Get device tasks",
      "routing": {
        "request": {
          "url": "/devices/{{$parameter.deviceId}}/tasks",
          "method": "GET"
        }
      },
      "description": "Get tasks for a specific device"
    },
    {
      "name": "List Devices",
      "value": "listDevices",
      "action": "List devices",
      "routing": {
        "request": {
          "url": "/devices",
          "method": "GET"
        }
      },
      "description": "Retrieves a paginated list of devices with filtering and search capabilities"
    },
    {
      "name": "Provision Device",
      "value": "provisionDevice",
      "action": "Provision a new device",
      "routing": {
        "request": {
          "url": "/devices",
          "method": "POST"
        }
      },
      "description": "Provision a new device"
    },
    {
      "name": "Wait for Device",
      "value": "waitForDevice",
      "action": "Wait for device",
      "routing": {
        "request": {
          "url": "/devices/{{$parameter.deviceId}}/wait",
          "method": "GET"
        }
      },
      "description": "Wait for a device to be ready"
    }
  ]

npm_readme:
  # n8n-nodes-droidrun

  This is an n8n community node that lets you use Droidrun AI in your n8n workflows to automate tasks on Android devices via the Droidrun Cloud API.

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

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

  ## Installation

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

  ## Operations

  This node exposes the following resources and operations:

  - Inspect Task
    - Get Task
    - Get Task Gif
    - Get Task Screenshot
    - Get Task Screenshots
    - Get Task Status
    - List Tasks

  - Manage Task
    - Run Task
      - Supports LLM model selection (fetched from LiteLLM endpoint)
      - Optional device selection (fetched from API or manual entry)
      - Apps selection (fetched from API for dropdown)
      - Structured output support via JSON schema
      - Optional file attachments
    - Stop Task

  ## Credentials

  This node requires a Droidrun API Token.

  - Create a Droidrun account and obtain an API key from your dashboard.
  - In n8n, create new credentials of type `Droidrun API` and paste your token.
  - The token will be sent as `Authorization: Bearer <token>` to the Droidrun API.

  Reference: `https://docs.mobilerun.ai/api-reference/`

  ## Compatibility

  - Built for the n8n Nodes API v1.
  - Developed with Node.js >= 20.15.

  ## Usage

  1. Add the `Droidrun` node to your workflow.
  2. Select the `Resource` (Inspect Task or Manage Task) and choose an `Operation`.
  3. Provide required parameters (for example, `Task ID` for inspect operations or `Task` and model settings for `Run Task`).
  4. Execute the workflow.

  ## Resources

  - n8n community nodes docs: `https://docs.n8n.io/integrations/#community-nodes`
  - Droidrun API reference: `https://docs.mobilerun.ai/api-reference/`
  - Droidrun website: `https://droidrun.ai/`

  ## Version history

  - 1.0.3: Initial public release of the Droidrun Tasks node

ai_documentation_summary:
  {"purpose":"Provides n8n workflow nodes to interact with the Droidrun (Mobilerun) Cloud API to run and manage tasks on Android devices and retrieve task outputs (screenshots, GIFs, status).","capabilities":["Get Task","Get Task Gif","Get Task Screenshot","Get Task Screenshots","Get Task Status","List Tasks","Run Task (supports LLM model selection, optional device selection, apps selection, structured JSON-schema output, optional file attachments)","Stop Task","Fetch available LLM models (from LiteLLM endpoint) and fetch devices/apps for dropdowns"],"authentication":"API token required (Droidrun API Token). Token sent as Authorization: Bearer <token> in requests.","commonUseCases":["Run automated, LLM-driven tasks on Android devices via the Droidrun Cloud","Retrieve task artifacts (screenshots, GIFs) and monitor task status inside workflows","List and inspect historical or current tasks programmatically","Stop or manage running tasks from an automated workflow","Produce structured JSON outputs from tasks and attach files to task runs"],"limitations":["Node surface is focused on Task-related operations (Inspect Task, Manage Task); other device-management endpoints are not exposed in this node","Authentication only via API token (no OAuth flow mentioned)","Built for n8n Nodes API v1 and requires Node.js >= 20.15 (environment requirement)","Initial public release (1.0.3) — may not include all Droidrun API features or advanced integrations"],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: gmrchk
author_github_url: https://github.com/elevenlabs/elevenlabs-n8n.git
npm_package_name: @elevenlabs/n8n-nodes-elevenlabs
npm_version: 0.2.2
community_fetched_at: 2026-02-19T14:41:52.641Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "voice",
      "options": [
        {
          "name": "Voice",
          "value": "voice"
        },
        {
          "name": "Speech",
          "value": "speech"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a voice",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "setKeyValue",
                  "enabled": "={{$parameter[\"simplify\"]}}",
                  "properties": {
                    "name": "={{$responseItem.name}}",
                    "labels": "={{$responseItem.labels}}",
                    "category": "={{$responseItem.category}}",
                    "voice_id": "={{$responseItem.voice_id}}",
                    "description": "={{$responseItem.description}}",
                    "preview_url": "={{$responseItem.preview_url}}"
                  }
                }
              ]
            },
            "request": {
              "url": "={{\"/voices/\"  + $parameter[\"voice\"] }}",
              "method": "GET"
            }
          },
          "description": "Returns metadata about a specific voice"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many voices",
          "routing": {
            "output": {
              "postReceive": [
                {
                  "type": "rootProperty",
                  "properties": {
                    "property": "voices"
                  }
                },
                {
                  "type": "setKeyValue",
                  "enabled": "={{$parameter[\"simplify\"]}}",
                  "properties": {
                    "name": "={{$responseItem.name}}",
                    "labels": "={{$responseItem.labels}}",
                    "category": "={{$responseItem.category}}",
                    "voice_id": "={{$responseItem.voice_id}}",
                    "description": "={{$responseItem.description}}",
                    "preview_url": "={{$responseItem.preview_url}}"
                  }
                }
              ]
            },
            "request": {
              "qs": {
                "page_size": "={{$parameter[\"limit\"]}}"
              },
              "url": "/voices",
              "method": "GET"
            }
          },
          "description": "Returns metadata about all voices"
        },
        {
          "name": "Create Clone",
          "value": "createClone",
          "action": "Create a voice clone",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/voices/add",
              "method": "POST",
              "headers": {
                "Content-Type": "multipart/form-data"
              },
              "returnFullResponse": true
            }
          },
          "description": "Create a voice clone from audio files"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a voice",
          "routing": {
            "request": {
              "url": "={{\"/voices/\" + $parameter[\"voice\"]}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a specific voice"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "voice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "textToSpeech",
      "options": [
        {
          "name": "Text to Speech",
          "value": "textToSpeech",
          "action": "Convert text to speech",
          "routing": {
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/text-to-speech/\"+$parameter[\"voice\"]}}",
              "encoding": "arraybuffer",
              "returnFullResponse": true
            }
          },
          "description": "Converts text into speech and returns audio"
        },
        {
          "name": "Speech to Text",
          "value": "speechToText",
          "action": "Transcribe audio or video",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "request": {
              "url": "/speech-to-text",
              "method": "POST",
              "headers": {
                "Content-Type": "multipart/form-data"
              }
            }
          },
          "description": "Transcribe an audio or video file"
        },
        {
          "name": "Speech to Speech",
          "value": "speechToSpeech",
          "action": "Change a voice",
          "routing": {
            "send": {
              "preSend": [
                null
              ]
            },
            "output": {
              "postReceive": [
                null
              ]
            },
            "request": {
              "url": "={{\"/speech-to-speech/\"+$parameter[\"voice\"]}}",
              "headers": {
                "Content-Type": "multipart/form-data"
              },
              "encoding": "arraybuffer",
              "returnFullResponse": true
            }
          },
          "description": "Transform audio from one voice to another"
        },
        {
          "name": "Custom API Call",
          "value": "__CUSTOM_API_CALL__"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "speech"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get a voice",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "setKeyValue",
              "enabled": "={{$parameter[\"simplify\"]}}",
              "properties": {
                "name": "={{$responseItem.name}}",
                "labels": "={{$responseItem.labels}}",
                "category": "={{$responseItem.category}}",
                "voice_id": "={{$responseItem.voice_id}}",
                "description": "={{$responseItem.description}}",
                "preview_url": "={{$responseItem.preview_url}}"
              }
            }
          ]
        },
        "request": {
          "url": "={{\"/voices/\"  + $parameter[\"voice\"] }}",
          "method": "GET"
        }
      },
      "description": "Returns metadata about a specific voice"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many voices",
      "routing": {
        "output": {
          "postReceive": [
            {
              "type": "rootProperty",
              "properties": {
                "property": "voices"
              }
            },
            {
              "type": "setKeyValue",
              "enabled": "={{$parameter[\"simplify\"]}}",
              "properties": {
                "name": "={{$responseItem.name}}",
                "labels": "={{$responseItem.labels}}",
                "category": "={{$responseItem.category}}",
                "voice_id": "={{$responseItem.voice_id}}",
                "description": "={{$responseItem.description}}",
                "preview_url": "={{$responseItem.preview_url}}"
              }
            }
          ]
        },
        "request": {
          "qs": {
            "page_size": "={{$parameter[\"limit\"]}}"
          },
          "url": "/voices",
          "method": "GET"
        }
      },
      "description": "Returns metadata about all voices"
    },
    {
      "name": "Create Clone",
      "value": "createClone",
      "action": "Create a voice clone",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/voices/add",
          "method": "POST",
          "headers": {
            "Content-Type": "multipart/form-data"
          },
          "returnFullResponse": true
        }
      },
      "description": "Create a voice clone from audio files"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a voice",
      "routing": {
        "request": {
          "url": "={{\"/voices/\" + $parameter[\"voice\"]}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a specific voice"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    },
    {
      "name": "Text to Speech",
      "value": "textToSpeech",
      "action": "Convert text to speech",
      "routing": {
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/text-to-speech/\"+$parameter[\"voice\"]}}",
          "encoding": "arraybuffer",
          "returnFullResponse": true
        }
      },
      "description": "Converts text into speech and returns audio"
    },
    {
      "name": "Speech to Text",
      "value": "speechToText",
      "action": "Transcribe audio or video",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "request": {
          "url": "/speech-to-text",
          "method": "POST",
          "headers": {
            "Content-Type": "multipart/form-data"
          }
        }
      },
      "description": "Transcribe an audio or video file"
    },
    {
      "name": "Speech to Speech",
      "value": "speechToSpeech",
      "action": "Change a voice",
      "routing": {
        "send": {
          "preSend": [
            null
          ]
        },
        "output": {
          "postReceive": [
            null
          ]
        },
        "request": {
          "url": "={{\"/speech-to-speech/\"+$parameter[\"voice\"]}}",
          "headers": {
            "Content-Type": "multipart/form-data"
          },
          "encoding": "arraybuffer",
          "returnFullResponse": true
        }
      },
      "description": "Transform audio from one voice to another"
    },
    {
      "name": "Custom API Call",
      "value": "__CUSTOM_API_CALL__"
    }
  ]

npm_readme:
  # @elevenlabs/n8n-nodes-elevenlabs

  This is the official ElevenLabs n8n community node.

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

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

  ## Installation

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

  ## Operations

  ### Speech
  - Text to Speech
  - Speech to Text
  - Speech to Speech

  ### Voice
  - Get
  - Get Many
  - Create Clone
  - Delete

  ## Credentials

  This node requires an API Key from ElevenLabs, You can generate one by going to your [Dashboard](https://elevenlabs.io/app/settings/api-keys).

  ## Compatibility

  This node has been tested with n8n 1.94.0

  ## Usage

  [To be completed]

  ## Resources

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

ai_documentation_summary:
  {"purpose":"Provides n8n workflow access to the ElevenLabs API to perform text-to-speech, speech-to-text, speech-to-speech operations and to manage voices (list, create clones, delete).","capabilities":["Text to Speech — generate audio from text","Speech to Text — transcribe audio into text","Speech to Speech — convert/transform audio between voices","Voice: Get — retrieve a single voice's details","Voice: Get Many — list available voices","Voice: Create Clone — create a voice clone","Voice: Delete — remove a voice"],"authentication":"API key required (ElevenLabs API key from your ElevenLabs Dashboard)","commonUseCases":["Generate spoken audio for content (podcasts, notifications, IVR) from text","Transcribe recorded audio to text for captions, search/indexing or processing","Convert existing audio into a different voice or style (voice transformation)","Automate voice management: list available voices, create voice clones, and delete voices"],"limitations":["README lacks usage examples, parameter details and example workflows","Compatibility explicitly tested only with n8n v1.94.0","README does not document streaming support, rate limits, or advanced ElevenLabs features/parameters"],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: anthonybrebion
author_github_url: https://github.com/abrebion/
npm_package_name: n8n-nodes-realm
npm_version: 0.1.3
community_fetched_at: 2026-02-19T14:41:52.642Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "chat",
      "options": [
        {
          "name": "Chat",
          "value": "chat"
        },
        {
          "name": "Assistant",
          "value": "assistant"
        },
        {
          "name": "Connector",
          "value": "connector"
        },
        {
          "name": "Document",
          "value": "document"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get chats",
          "routing": {
            "request": {
              "url": "=/chats",
              "method": "GET"
            }
          },
          "description": "Get many chat conversations"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a chat",
          "routing": {
            "request": {
              "url": "=/chats/{{$parameter.chatId}}",
              "method": "GET"
            }
          },
          "description": "Get a single chat conversation"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a chat",
          "routing": {
            "request": {
              "url": "=/chats/{{$parameter.chatId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a chat"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Start a chat",
          "routing": {
            "request": {
              "url": "={{$parameter[\"additionalFields\"]?.streamResponse ? \"/chats-streaming\" : \"/chats\"}}",
              "method": "POST"
            }
          },
          "description": "Start a new chat or continue an existing one"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chat"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get assistants",
          "routing": {
            "request": {
              "url": "/assistants",
              "method": "GET"
            }
          },
          "description": "Get assistants"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assistant"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get connectors",
          "routing": {
            "request": {
              "url": "/connectors",
              "method": "GET"
            }
          },
          "description": "Get connectors"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "connector"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create or Update",
          "value": "createOrUpdate",
          "action": "Create or update documents",
          "routing": {
            "request": {
              "url": "=/documents/{{$parameter.connectorId}}",
              "method": "POST"
            }
          },
          "description": "Create or update documents for a connector"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a document",
          "routing": {
            "request": {
              "url": "=/documents/{{$parameter.connectorId}}/{{$parameter.documentId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a document"
        },
        {
          "name": "Delete Old Documents",
          "value": "deleteOldDocuments",
          "action": "Delete documents older than a specified timestamp",
          "routing": {
            "request": {
              "qs": {
                "older_than": "={{$parameter.olderThan + \"Z\"}}"
              },
              "url": "=/documents/{{$parameter.connectorId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete documents older than a specified timestamp"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a document",
          "routing": {
            "request": {
              "qs": {
                "fields": "={{$parameter.fieldsToInclude}}"
              },
              "url": "=/documents/{{$parameter.connectorId}}/{{$parameter.documentId}}",
              "method": "GET",
              "arrayFormat": "repeat"
            }
          },
          "description": "Get a single document"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get documents",
          "routing": {
            "request": {
              "qs": {
                "fields": "={{$parameter.fieldsToInclude}}"
              },
              "url": "=/documents/{{$parameter.connectorId}}/",
              "method": "GET",
              "arrayFormat": "repeat"
            }
          },
          "description": "Get documents for a connector"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get chats",
      "routing": {
        "request": {
          "url": "=/chats",
          "method": "GET"
        }
      },
      "description": "Get many chat conversations"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a chat",
      "routing": {
        "request": {
          "url": "=/chats/{{$parameter.chatId}}",
          "method": "GET"
        }
      },
      "description": "Get a single chat conversation"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a chat",
      "routing": {
        "request": {
          "url": "=/chats/{{$parameter.chatId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a chat"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Start a chat",
      "routing": {
        "request": {
          "url": "={{$parameter[\"additionalFields\"]?.streamResponse ? \"/chats-streaming\" : \"/chats\"}}",
          "method": "POST"
        }
      },
      "description": "Start a new chat or continue an existing one"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get assistants",
      "routing": {
        "request": {
          "url": "/assistants",
          "method": "GET"
        }
      },
      "description": "Get assistants"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get connectors",
      "routing": {
        "request": {
          "url": "/connectors",
          "method": "GET"
        }
      },
      "description": "Get connectors"
    },
    {
      "name": "Create or Update",
      "value": "createOrUpdate",
      "action": "Create or update documents",
      "routing": {
        "request": {
          "url": "=/documents/{{$parameter.connectorId}}",
          "method": "POST"
        }
      },
      "description": "Create or update documents for a connector"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a document",
      "routing": {
        "request": {
          "url": "=/documents/{{$parameter.connectorId}}/{{$parameter.documentId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a document"
    },
    {
      "name": "Delete Old Documents",
      "value": "deleteOldDocuments",
      "action": "Delete documents older than a specified timestamp",
      "routing": {
        "request": {
          "qs": {
            "older_than": "={{$parameter.olderThan + \"Z\"}}"
          },
          "url": "=/documents/{{$parameter.connectorId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete documents older than a specified timestamp"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a document",
      "routing": {
        "request": {
          "qs": {
            "fields": "={{$parameter.fieldsToInclude}}"
          },
          "url": "=/documents/{{$parameter.connectorId}}/{{$parameter.documentId}}",
          "method": "GET",
          "arrayFormat": "repeat"
        }
      },
      "description": "Get a single document"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get documents",
      "routing": {
        "request": {
          "qs": {
            "fields": "={{$parameter.fieldsToInclude}}"
          },
          "url": "=/documents/{{$parameter.connectorId}}/",
          "method": "GET",
          "arrayFormat": "repeat"
        }
      },
      "description": "Get documents for a connector"
    }
  ]

npm_readme:
  # n8n-nodes-realm

  This is an n8n community node. It lets you consume Realm API in your n8n workflows.

  Realm is an AI-powered enterprise search engine that unifies your knowledge bases (Google Drive, Slack, Jira, Confluence, Salesforce, Gong, etc.) and makes them accessible to custom AI assistants.

  With the Realm API, you can programmatically add, edit, and delete documents for custom connectors (non-native knowledge data sources) and interact with Realm assistants.

  [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

  This node supports the following resources/operations:

  * Create or continue a chat conversation
  * Get a single chat conversation
  * Get many chat conversations
  * Delete a chat conversation
  * Get all asssistants
  * Get all connectors
  * Create or update documents in a connector
  * Get all documents from a connector
  * Get a specific document from a connector
  * Delete a specific document from a connector
  * Delete documents from a connector older than a specified timestamp

  ## Credentials

  * From the Realm app, create an API key and give it access to assistants.
  * In n8n, create a new Realm credential. Enter your API base url (e.g. https://your-account.withrealm.com/api/external/alpha) and the API key you've just created.

  ## Usage

  In your Workflow, find the Realm node and use as you need. I accept comments and suggestions in Issues repository on GitHub.

  ## Compatibility

  Tested against n8n version 1.117.3+

  ## Resources

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

ai_documentation_summary:
  {"purpose":"Provide n8n workflow access to the Realm API to manage documents in custom connectors and interact with Realm assistants and conversations for enterprise search and AI assistant workflows.","capabilities":["Create or continue a chat conversation","Get a single chat conversation","Get many chat conversations","Delete a chat conversation","Get all assistants","Get all connectors","Create or update documents in a connector","Get all documents from a connector","Get a specific document from a connector","Delete a specific document from a connector"],"authentication":"API key required. Provide the Realm API base URL and an API key (create in the Realm app and grant access to assistants).","commonUseCases":["Ingest or update documents into custom connectors to keep knowledge bases synced with Realm","Programmatically remove or purge old documents from a connector by timestamp","Manage and continue chat conversations with Realm assistants from workflows","Retrieve lists of assistants or connectors to drive automation or routing decisions","Fetch specific documents or all documents from a connector for downstream processing or indexing"],"limitations":[],"relatedNodes":[]}


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-02-19 14:41:52
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-02-19T14:41:52.642Z
ai_summary_generated_at: 2026-02-19 16:43:57
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"
    },
    {
      "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"
    },
    {
      "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"
    }
  ]

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":"Generate high-quality PDF and other document formats from Word templates by populating merge tags with dynamic JSON data inside n8n workflows.","capabilities":["Generate Document from a template with JSON data (merge tags)","List Documents generated from a specific template","Get Document details","Update Document (rename generated document)","Delete Document","List Templates","Get Template details (including merge tags)","Delete Template","Supports multiple output formats: .docx, .doc, .pdf, .odt, .txt, .png","Default data field set to {{ $json }} to pull data from the previous node"],"authentication":"API key required (DocuGenerate API Key)","commonUseCases":["Automatically generate invoices, contracts, reports, and other business documents from templates","Populate templates with data retrieved via an HTTP Request or other data-source nodes","Produce PDFs (or other formats) for distribution or archiving","Automate batch document creation using arrays of merge-tag data","Combine with storage nodes (Google Drive, S3, FTP) to save generated files"],"limitations":["No node operation documented for creating/uploading or updating templates (only list/get/delete templates are provided)","Requires n8n version >= 0.198.0 (compatibility constraint)"],"relatedNodes":["HTTP Request","Set / Function (for shaping JSON data to match template merge tags)","Google Drive (save generated files)","AWS S3 (save/generated files)","FTP / SFTP (save generated files)"]}


node_type: n8n-nodes-browserflow.browserflow
package_name: n8n-nodes-browserflow
display_name: Browserflow for LinkedIn
description: Automate LinkedIn actions with Browserflow for LinkedIn
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: browserflow
author_github_url: https://github.com/Browserflow-io/browserflow-n8n.git
npm_package_name: n8n-nodes-browserflow
npm_version: 1.0.6
community_fetched_at: 2026-02-19T14:41:52.643Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "linkedin",
      "options": [
        {
          "name": "",
          "value": "linkedin"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "checkConnection",
      "options": [
        {
          "name": "Check if a Person Is a Connection",
          "value": "checkConnection",
          "action": "Check if a person is a connection"
        },
        {
          "name": "Export LinkedIn Chat History",
          "value": "getChatHistory",
          "action": "Export linked in chat history"
        },
        {
          "name": "Get Data From A Linkedin Profile",
          "value": "getProfileData",
          "action": "Get data from a linkedin profile"
        },
        {
          "name": "Get Job Result",
          "value": "getJobResult",
          "action": "Get the result of a job"
        },
        {
          "name": "Invite Connections to Follow a LinkedIn Page",
          "value": "inviteToFollowPage",
          "action": "Invite connections to follow a linkedin page"
        },
        {
          "name": "List LinkedIn Connections",
          "value": "listConnections",
          "action": "List your linkedin connections"
        },
        {
          "name": "Scrape LinkedIn Posts",
          "value": "scrapePosts",
          "action": "Scrape linkedin posts"
        },
        {
          "name": "Scrape Profiles From A LinkedIn Post",
          "value": "scrapeProfilesFromPostComments",
          "action": "Scrape profiles from a linkedin post"
        },
        {
          "name": "Scrape Profiles From A LinkedIn Search",
          "value": "scrapeProfilesFromSearch",
          "action": "Scrape profiles from a linkedin search"
        },
        {
          "name": "Send A LinkedIn Connection Invite",
          "value": "sendConnectionInvite",
          "action": "Send a linked in connection invite"
        },
        {
          "name": "Send A LinkedIn Message",
          "value": "sendMessage",
          "action": "Send a linkedin message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "linkedin"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Check if a Person Is a Connection",
      "value": "checkConnection",
      "action": "Check if a person is a connection"
    },
    {
      "name": "Export LinkedIn Chat History",
      "value": "getChatHistory",
      "action": "Export linked in chat history"
    },
    {
      "name": "Get Data From A Linkedin Profile",
      "value": "getProfileData",
      "action": "Get data from a linkedin profile"
    },
    {
      "name": "Get Job Result",
      "value": "getJobResult",
      "action": "Get the result of a job"
    },
    {
      "name": "Invite Connections to Follow a LinkedIn Page",
      "value": "inviteToFollowPage",
      "action": "Invite connections to follow a linkedin page"
    },
    {
      "name": "List LinkedIn Connections",
      "value": "listConnections",
      "action": "List your linkedin connections"
    },
    {
      "name": "Scrape LinkedIn Posts",
      "value": "scrapePosts",
      "action": "Scrape linkedin posts"
    },
    {
      "name": "Scrape Profiles From A LinkedIn Post",
      "value": "scrapeProfilesFromPostComments",
      "action": "Scrape profiles from a linkedin post"
    },
    {
      "name": "Scrape Profiles From A LinkedIn Search",
      "value": "scrapeProfilesFromSearch",
      "action": "Scrape profiles from a linkedin search"
    },
    {
      "name": "Send A LinkedIn Connection Invite",
      "value": "sendConnectionInvite",
      "action": "Send a linked in connection invite"
    },
    {
      "name": "Send A LinkedIn Message",
      "value": "sendMessage",
      "action": "Send a linkedin message"
    }
  ]

npm_readme:
  ![Browserflow Logo](https://s3-eu-west-1.amazonaws.com/tpd/logos/675a07be8d2cf551a4f539e0/0x0.png)

  # Browserflow for LinkedIn

  The **Browserflow Node** allows you to automate LinkedIn interactions using the Browserflow API. This node provides a variety of operations to interact with LinkedIn profiles, scrape data, send connection invites, and more.

  You can get a free API key by registering [here](https://browserflow.io/n8n).

  ---

  [![Watch the video](https://img.youtube.com/vi/rwgCf9XJ1hM/0.jpg)](https://www.youtube.com/watch?v=rwgCf9XJ1hM)


  ## Features

  - **Check Connection**: Check the connection status of a LinkedIn profile.
  - **Get Profile Data**: Retrieve data from a LinkedIn profile.
  - **Send Connection Invite**: Send a connection invite to a LinkedIn profile (with an optional message).
  - **Get Chat History**: Retrieve chat history from a LinkedIn conversation.
  - **Scrape Profiles from Search**: Scrape LinkedIn profiles based on search criteria (e.g., category, search term, location).
  - **Scrape Profiles from Post Comments**: Scrape profiles from LinkedIn post comments and reactions.
  - **Send Message**: Send a direct message to a LinkedIn profile (with a mandatory message).

  ---

  ## Node Operations

  ### 1. Check Connection
  - **LinkedIn URL**: The LinkedIn profile URL to check the connection status.
  - **Endpoint**: `/linkedin-check-connection-status`

  ### 2. Get Profile Data
  - **LinkedIn URL**: The LinkedIn profile URL to retrieve data.
  - **Endpoint**: `/linkedin-profile-data`

  ### 3. Send Connection Invite
  - **LinkedIn URL**: The LinkedIn profile URL to send a connection invite.
  - **Add Message**: Toggle to include a custom message.
  - **Message**: Optional message to include in the invite.
  - **Endpoint**: `/linkedin-connection-invite`

  ### 4. Get Chat History
  - **LinkedIn URL**: The LinkedIn profile URL to retrieve chat history.
  - **Endpoint**: `/linkedin-get-chat-history`

  ### 5. Scrape Profiles from Search
  - **Category**: The category to scrape (persons or companies).
  - **Search Term**: The search term to use for scraping.
  - **Number of Pages**: The number of pages to scrape.
  - **City**: The city to filter the search results.
  - **Country**: The country to filter the search results.
  - **Endpoint**: `/linkedin-scrape-profiles-from-search`

  ### 6. Scrape Profiles from Post Comments
  - **Post URL**: The URL of the LinkedIn post to scrape profiles from.
  - **Add Comments**: Toggle to include comments in the scrape results.
  - **Comments Offset**: The number of comments to skip.
  - **Comments Limit**: The maximum number of comments to scrape.
  - **Add Reactions**: Toggle to include reactions in the scrape results.
  - **Reactions Offset**: The number of reactions to skip.
  - **Reactions Limit**: The maximum number of reactions to scrape.
  - **Endpoint**: `/linkedin-scrape-profiles-from-post-comments`

  ### 7. Send Message
  - **LinkedIn URL**: The LinkedIn profile URL to send a message.
  - **Message**: The message to send (mandatory).
  - **Endpoint**: `/linkedin-send-message`

  ---

  ## Example Workflows

  ### Example 1: Send a Connection Invite
  1. Add the **Browserflow Node** to your workflow.
  2. Set the operation to **Send Connection Invite**.
  3. Provide the LinkedIn profile URL.
  4. Optionally, enable **Add Message** and provide a custom message.
  5. Execute the workflow to send the connection invite.

  ### Example 2: Scrape Profiles from Search
  1. Add the **Browserflow Node** to your workflow.
  2. Set the operation to **Scrape Profiles from Search**.
  3. Provide the search criteria (e.g., category, search term, location).
  4. Execute the workflow to scrape profiles based on the search criteria.

  ### Example 3: Send a Direct Message
  1. Add the **Browserflow Node** to your workflow.
  2. Set the operation to **Send Message**.
  3. Provide the LinkedIn profile URL and the message.
  4. Execute the workflow to send the message.

  ---

ai_documentation_summary:
  {"purpose":"Automate LinkedIn interactions via the Browserflow API, enabling programmatic profile scraping, connection invites, messaging, and retrieval of profile and chat data within n8n workflows.","capabilities":["Check Connection — verify connection status of a LinkedIn profile (/linkedin-check-connection-status)","Get Profile Data — retrieve detailed data from a LinkedIn profile (/linkedin-profile-data)","Send Connection Invite — send a connection request with optional custom message (/linkedin-connection-invite)","Get Chat History — retrieve conversation history for a LinkedIn profile (/linkedin-get-chat-history)","Scrape Profiles from Search — scrape profiles by category (persons or companies), search term, pages, city, country (/linkedin-scrape-profiles-from-search)","Scrape Profiles from Post Comments — extract profiles from post comments and reactions with offsets and limits (/linkedin-scrape-profiles-from-post-comments)","Send Message — send a direct message to a LinkedIn profile (message required) (/linkedin-send-message)"],"authentication":"API key required (Browserflow API key)","commonUseCases":["Automated outreach: send connection invites and follow-up direct messages at scale","Lead generation: scrape LinkedIn profiles from searches or post interactions filtered by location/category","Data enrichment: retrieve profile data to augment CRM or contact records","Conversation retrieval: fetch chat history for context before outreach or support","Workflow automation: conditionally trigger actions based on connection status or scraped results"],"limitations":[],"relatedNodes":[]}


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

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

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

npm_readme:
  # n8n Community Node for Crossmint

  ## Table of Contents

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

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

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

  ## 🚀 Installation (Local Development Setup)


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

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

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


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


  ## ⚙️ Your First Workflow Using Crossmint

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

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

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

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


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

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


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

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

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


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

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

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


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

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


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

  ### Getting Test USDC for Staging

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

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

  ## 💡 Supported Operations

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

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

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

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

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

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

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

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

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

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


  ## 📖 API Reference

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

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

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


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

  ## 🔑 Understanding Wallet Locators

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

  ### Locator Types

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


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

  ### Chain Types

  - **Solana**: Solana blockchain

  ### Best Practices

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

  ## 🔐 Admin Signer Private Key

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

  ### What is an Admin Signer?

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

  ### Key Requirements by Blockchain

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

  ### Generating Private Keys

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

  ### Security Best Practices

  ⚠️ **Critical Security Guidelines:**

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

  ### How It Works in Crossmint

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

  ## 📁 Example Workflows

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

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

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

  - [buy-items-amazon.json](workflows-examples/buy-items-amazon.json): Advanced workflow with AI-powered order processing that accepts free-form messages via Chat (can be Telegram), extracts order details using OpenAI, and automatically purchases Amazon products.

  <div align="center">
  <img src="./images/buy-items-from-amazon.png" alt="Buy items from Amazon workflow" width="100%">
  </div>

  To use these examples:
  1. Import the JSON file into your n8n instance
  2. Configure your Crossmint API credentials
  3. Update any personal information (email addresses, wallet addresses, etc.)
  4. Execute the workflow

  ## 📄 License

  MIT

  -----

ai_documentation_summary:
  {"purpose":"Provides n8n workflow nodes to interact with Crossmint Wallet and Checkout APIs so you can create/manage non-custodial wallets and automate purchase/checkout flows within n8n.","capabilities":["Get or Create Wallet — create a non-custodial smart wallet or retrieve an existing one (idempotent)","Get Wallet — retrieve wallet details using a wallet locator (address, email, userId, phone, twitter, x)","Checkout operations — create and manage checkout/purchase flows (automate purchases of physical products) ","Support for owner identification types (email, userId, phone, twitter, x, none) when creating/retrieving wallets","Specify Chain Type (e.g., solana) for wallets and operations","Use an Admin Signer private key to authorize transactions from wallets"],"authentication":"API key required (server-side Crossmint API key). Select environment (Staging/Production) in credentials.","commonUseCases":["Provisioning or retrieving customers' non-custodial wallets programmatically (idempotent wallet creation)","Automating transfers or programming digital money behavior within a wallet using admin-signer authorized transactions","Automating purchase flows and checkout for physical products via Crossmint Checkout integration","End-to-end testing in staging using test USDC (via Circle faucet or Crossmint dev channels)"],"limitations":["Must run on self-hosted n8n; node currently requires running from source (local development build)","Requires server-side API key — client-side keys will not work","README examples call out Solana as the chain type; other chains may not be supported or may require additional config","Admin Signer private key is required to authorize transactions (requires secure handling)","Documentation indicates node is run from source for now; not provided as a hosted/installed package in n8n cloud"],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: inlife
author_github_url: https://github.com/nexrender/nexrender-n8n-node.git
npm_package_name: @nexrender/n8n-nodes-nexrender
npm_version: 0.1.6
community_fetched_at: 2026-02-19T14:41:52.644Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create template",
          "description": "Create a new template"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete template",
          "description": "Delete a template"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get template",
          "description": "Get a template by ID"
        },
        {
          "name": "Get Download URL",
          "value": "getDownloadUrl",
          "action": "Get template download URL",
          "description": "Get a presigned download URL for the template file"
        },
        {
          "name": "Get Upload URL",
          "value": "getUploadUrl",
          "action": "Get template upload URL",
          "description": "Get a fresh upload URL for the template file"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List templates",
          "description": "List templates"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update template",
          "description": "Update a template"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "template"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create job",
          "description": "Create a new job"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List jobs",
          "description": "List jobs"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get job",
          "description": "Get a job by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "job"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload font",
          "description": "Upload a new font"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List fonts",
          "description": "List fonts"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get font",
          "description": "Get a font by ID"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete font",
          "description": "Delete a font"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "font"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List secrets",
          "description": "List secrets"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create secret",
          "description": "Create or update secret"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete secret",
          "description": "Delete secret"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "secret"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "resource",
      "type": "options",
      "default": "job",
      "options": [
        {
          "name": "Template",
          "value": "template"
        },
        {
          "name": "Job",
          "value": "job"
        },
        {
          "name": "Font",
          "value": "font"
        },
        {
          "name": "Secret",
          "value": "secret"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create template",
      "description": "Create a new template"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete template",
      "description": "Delete a template"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get template",
      "description": "Get a template by ID"
    },
    {
      "name": "Get Download URL",
      "value": "getDownloadUrl",
      "action": "Get template download URL",
      "description": "Get a presigned download URL for the template file"
    },
    {
      "name": "Get Upload URL",
      "value": "getUploadUrl",
      "action": "Get template upload URL",
      "description": "Get a fresh upload URL for the template file"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List templates",
      "description": "List templates"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update template",
      "description": "Update a template"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create job",
      "description": "Create a new job"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List jobs",
      "description": "List jobs"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get job",
      "description": "Get a job by ID"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload font",
      "description": "Upload a new font"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List fonts",
      "description": "List fonts"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get font",
      "description": "Get a font by ID"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete font",
      "description": "Delete a font"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List secrets",
      "description": "List secrets"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create secret",
      "description": "Create or update secret"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete secret",
      "description": "Delete secret"
    }
  ]

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

  # n8n-nodes-nexrender

  This is an n8n community node. It lets you use the Nexrender Cloud API in your n8n workflows to manage templates, render jobs, fonts, and secrets.

  Nexrender is a cloud rendering platform for Adobe After Effects projects, providing API-based control for template upload, job creation, asset injection, and more.

  Note that this node requires an active subscription with [Nexrender Cloud](https://nexrender.com/). Get your trial [today](https://www.nexrender.com/contact)!

  [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 official guide to install community nodes in n8n:

  https://docs.n8n.io/integrations/community-nodes/installation/

  Package name: `@nexrender/n8n-nodes-nexrender`

  ## Operations

  The node exposes the following resources and operations:

  - Template
    - Create: POST /templates — register a template and get upload info
    - List: GET /templates — list templates for your team
    - Get: GET /templates/{id} — get template details
    - Update: PATCH /templates/{id} — update display name
    - Delete: DELETE /templates/{id} — delete a template
    - Get Download URL: GET /templates/{id}/upload — presigned URL to download the raw file
    - Get Upload URL: PUT /templates/{id}/upload — fresh presigned upload URL

  - Job
    - Create: POST /jobs — create a render job with template, assets, settings, upload + webhook
    - List: GET /jobs — supports filters: minimal, from, limit, from_date, to_date, states, exclude_states, sort, tags
    - Get: GET /jobs/{id} — job details, progress, stats, output URL
    - Wait For Job (separate node): polls a job ID until status is finished or error

  - Font
    - Upload: POST /fonts — upload a TTF font (multipart/form-data)
    - List: GET /fonts — list fonts
    - Get: GET /fonts/{id} — get font metadata
    - Delete: DELETE /fonts/{id} — delete a font

  - Secret
    - List: GET /secrets — list secrets (values not returned)
    - Create: PUT /secrets — create/update secret (name + value)
    - Delete: DELETE /secrets/{id} — delete a secret

  ## Credentials

  Credential: “Nexrender API”

  - API Token (required): Bearer token used to authenticate. You can generate a token in the Nexrender app: https://app.nexrender.com/team/settings
  - Base URL (optional): Defaults to `https://api.nexrender.com/api/v2`. Override for on-prem environments.

  ## Compatibility

  - Node.js: >= 20 (per package engines)
  - n8n: built with Nodes API v1

  ## Usage

  1) Add the Nexrender node to your workflow and select a Resource and Operation.

  2) Set up “Nexrender API” credentials with your team API token.

  3) Typical flows:

  - Upload a new template
    - Operation: Template → Create (returns upload info)
    - Use the returned upload info to upload your file (via HTTP Request or custom logic)

  - Render a job
    - Operation: Job → Create
    - Provide the Job body including `template.id`, `assets`, optional `settings`, `webhook` and `upload` configuration
    - Optionally add “Nexrender: Wait For Job” node after Create to block until completion

  - Monitor a job
    - Operation: Job → Get with `jobId`, or use Job → List with filters

  - Manage fonts
    - Operation: Font → Upload (multipart/form-data with TTF)
    - Then reference fonts by file name in your job payload if needed

  ## Resources

  - n8n community nodes docs: https://docs.n8n.io/integrations/#community-nodes
  - Nexrender Cloud product site: https://nexrender.com/
  - Generate an API token: https://app.nexrender.com/team/settings

  ## Version history

  - 0.1.0 — Initial release: Templates, Jobs, Fonts, Secrets operations

ai_documentation_summary:
  {"purpose":"Provides n8n workflow access to Nexrender Cloud API to manage After Effects templates, create and monitor render jobs, and manage fonts and secrets.","capabilities":["Template: Create (register template and return presigned upload info)","Template: List (list team templates)","Template: Get (details)","Template: Update (display name)","Template: Delete","Template: Get Download URL (presigned download URL)","Template: Get Upload URL (fresh presigned upload URL)","Job: Create (create render job with template, assets, settings, webhook, upload config)","Job: List (supports filters: minimal, from, limit, date range, states, exclude_states, sort, tags)","Job: Get (details, progress, stats, output URL)"],"authentication":"API token required (Bearer token via \"Nexrender API\" credentials). Optional Base URL override (defaults to https://api.nexrender.com/api/v2).","commonUseCases":["Register a template and upload the project file using the returned presigned upload URL","Create a render job with assets, custom settings, and webhook notifications","Monitor job status and retrieve output URL (use the separate Wait For Job node to block until completion)","Upload and manage custom TTF fonts and reference them in job payloads","Store and manage secrets (note: secret values are not returned by list operations)"],"limitations":["Requires an active Nexrender Cloud subscription (trial available) to use the API","Template Create returns presigned upload info; the node does not directly upload the template file — you must upload via HTTP Request or custom logic","Secrets listing does not return secret values (only metadata/names)","Job polling/waiting is implemented as a separate node (\"Wait For Job\") rather than built into the Create operation","Compatibility requires Node.js >= 20 and n8n Nodes API v1"],"relatedNodes":["Nexrender: Wait For Job (separate node for polling until completion)","HTTP Request (commonly used to upload template file to presigned URL)","Webhook (for receiving job notifications/webhook callbacks)"]}


