# nodes

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

updated_at: 2026-03-25 21:19:40
author_name: zachperigon
author_github_url: https://github.com/goperigon/n8n-nodes-perigon.git
npm_package_name: @goperigon/n8n-nodes-perigon
npm_version: 0.1.4
community_fetched_at: 2026-03-25T21:19:40.748Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "articles",
      "options": [
        {
          "name": "Article",
          "value": "articles",
          "description": "Search and filter news articles"
        },
        {
          "name": "Company",
          "value": "companies",
          "description": "Search for companies in the Perigon database"
        },
        {
          "name": "Journalist",
          "value": "journalists",
          "description": "Search journalists and reporters"
        },
        {
          "name": "Person",
          "value": "people",
          "description": "Search for public figures and newsworthy individuals"
        },
        {
          "name": "Source",
          "value": "sources",
          "description": "Search media sources and publications"
        },
        {
          "name": "Story",
          "value": "stories",
          "description": "Track evolving narratives and news story clusters"
        },
        {
          "name": "Summarize",
          "value": "summarize",
          "description": "Generate AI-powered summaries of search results"
        },
        {
          "name": "Topic",
          "value": "topics",
          "description": "Browse available topics"
        },
        {
          "name": "Wikipedia",
          "value": "wikipedia",
          "description": "Search Wikipedia articles"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search articles using keywords",
          "routing": {
            "request": {
              "url": "/articles/all",
              "method": "GET"
            }
          },
          "description": "Search articles using keyword queries with Boolean operators"
        },
        {
          "name": "Vector Search",
          "value": "vectorSearch",
          "action": "Search articles using vector similarity",
          "routing": {
            "request": {
              "url": "/vector/news/all",
              "method": "POST"
            }
          },
          "description": "Search articles using semantic similarity with natural language queries (best for LLM workflows)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "articles"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search news stories",
          "routing": {
            "request": {
              "url": "/stories/all",
              "method": "GET"
            }
          },
          "description": "Track evolving narratives and top news headlines with story clusters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "stories"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search people",
          "routing": {
            "request": {
              "url": "/people/all",
              "method": "GET"
            }
          },
          "description": "Search for public figures, politicians, celebrities, and newsworthy individuals"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "people"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search sources",
          "routing": {
            "request": {
              "url": "/sources/all",
              "method": "GET"
            }
          },
          "description": "Search and filter 142,000+ media sources available via the Perigon API"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sources"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Get by ID",
          "value": "getById",
          "action": "Get journalist by ID",
          "routing": {
            "request": {
              "url": "=/journalists/{{$parameter.journalistId}}",
              "method": "GET"
            }
          },
          "description": "Find additional details on a journalist by their unique ID"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search journalists",
          "routing": {
            "request": {
              "url": "/journalists/all",
              "method": "GET"
            }
          },
          "description": "Search 230,000+ journalists from around the world"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "journalists"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search companies",
          "routing": {
            "request": {
              "url": "/companies/all",
              "method": "GET"
            }
          },
          "description": "Browse or search for companies Perigon tracks by name, domain, ticker, and more"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companies"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search topics",
          "routing": {
            "request": {
              "url": "/topics/all",
              "method": "GET"
            }
          },
          "description": "Search through all available topics in the Perigon database"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "topics"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search wikipedia using keywords",
          "routing": {
            "request": {
              "url": "/wikipedia/all",
              "method": "GET"
            }
          },
          "description": "Search Wikipedia articles using keyword queries with Boolean operators"
        },
        {
          "name": "Vector Search",
          "value": "vectorSearch",
          "action": "Search wikipedia using vector similarity",
          "routing": {
            "request": {
              "url": "/vector/wikipedia/all",
              "method": "POST"
            }
          },
          "description": "Search Wikipedia articles using semantic similarity with natural language queries (best for LLM workflows)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "wikipedia"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "summarize",
      "options": [
        {
          "name": "Summarize",
          "value": "summarize",
          "action": "Summarize search results",
          "routing": {
            "request": {
              "url": "/summarize",
              "method": "POST"
            }
          },
          "description": "Produce a concise AI-powered summary over articles matching your filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "summarize"
          ]
        }
      },
      "credentialTypes": [
        "has:authenticate"
      ],
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Search",
      "value": "search",
      "action": "Search articles using keywords",
      "routing": {
        "request": {
          "url": "/articles/all",
          "method": "GET"
        }
      },
      "description": "Search articles using keyword queries with Boolean operators"
    },
    {
      "name": "Vector Search",
      "value": "vectorSearch",
      "action": "Search articles using vector similarity",
      "routing": {
        "request": {
          "url": "/vector/news/all",
          "method": "POST"
        }
      },
      "description": "Search articles using semantic similarity with natural language queries (best for LLM workflows)"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search news stories",
      "routing": {
        "request": {
          "url": "/stories/all",
          "method": "GET"
        }
      },
      "description": "Track evolving narratives and top news headlines with story clusters"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search people",
      "routing": {
        "request": {
          "url": "/people/all",
          "method": "GET"
        }
      },
      "description": "Search for public figures, politicians, celebrities, and newsworthy individuals"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search sources",
      "routing": {
        "request": {
          "url": "/sources/all",
          "method": "GET"
        }
      },
      "description": "Search and filter 142,000+ media sources available via the Perigon API"
    },
    {
      "name": "Get by ID",
      "value": "getById",
      "action": "Get journalist by ID",
      "routing": {
        "request": {
          "url": "=/journalists/{{$parameter.journalistId}}",
          "method": "GET"
        }
      },
      "description": "Find additional details on a journalist by their unique ID"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search journalists",
      "routing": {
        "request": {
          "url": "/journalists/all",
          "method": "GET"
        }
      },
      "description": "Search 230,000+ journalists from around the world"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search companies",
      "routing": {
        "request": {
          "url": "/companies/all",
          "method": "GET"
        }
      },
      "description": "Browse or search for companies Perigon tracks by name, domain, ticker, and more"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search topics",
      "routing": {
        "request": {
          "url": "/topics/all",
          "method": "GET"
        }
      },
      "description": "Search through all available topics in the Perigon database"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search wikipedia using keywords",
      "routing": {
        "request": {
          "url": "/wikipedia/all",
          "method": "GET"
        }
      },
      "description": "Search Wikipedia articles using keyword queries with Boolean operators"
    },
    {
      "name": "Vector Search",
      "value": "vectorSearch",
      "action": "Search wikipedia using vector similarity",
      "routing": {
        "request": {
          "url": "/vector/wikipedia/all",
          "method": "POST"
        }
      },
      "description": "Search Wikipedia articles using semantic similarity with natural language queries (best for LLM workflows)"
    },
    {
      "name": "Summarize",
      "value": "summarize",
      "action": "Summarize search results",
      "routing": {
        "request": {
          "url": "/summarize",
          "method": "POST"
        }
      },
      "description": "Produce a concise AI-powered summary over articles matching your filters"
    }
  ]

npm_readme:
  # n8n-nodes-perigon

  This is the official n8n community node for the Perigon API. It provides comprehensive access to news intelligence APIs, including news articles, story clusters, companies, public figures, journalists, media sources, topics, Wikipedia data, and AI-powered summarization capabilities.

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

  [Perigon](https://www.perigon.io/) provides contextual news intelligence APIs trusted by leading organizations for real-time news monitoring, media analysis, and AI-powered insights.

  ## Installation

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

  1. Go to **Settings > Community Nodes**
  2. Select **Install Another Node**
  3. Enter `@goperigon/n8n-nodes-perigon`
  4. Click **Install**

  Alternatively, you can install it using npm:

  ```bash
  npm install @goperigon/n8n-nodes-perigon
  ```

  ## Documentation

  For complete documentation about the Perigon API and its capabilities, visit:

  - **[API Documentation](https://perigon.io/docs)** - Comprehensive guides and tutorials
  - **[API Reference](https://perigon.io/reference)** - Detailed endpoint documentation
  - **[Perigon Website](https://www.perigon.io/)** - Product information and use cases

  ## Credentials

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

  ### Getting Your API Key

  1. Visit [Perigon's website](https://www.perigon.io)
  2. Sign up for an account or log in
  3. Navigate to your dashboard to retrieve your API key

  ### Adding Credentials to n8n

  1. In n8n, go to **Credentials > New Credential**
  2. Search for "Perigon API"
  3. Enter your API key
  4. Save the credential

  Your credentials will be securely stored and automatically used for all Perigon node operations.

  ## Resources and Operations

  The Perigon node supports the following resources:

  ### 📰 Article

  Search and filter news articles from over 140,000 sources worldwide with comprehensive filtering capabilities.

  **Operations:**

  - **Search**: Keyword-based article search with advanced Boolean operators (AND, OR, NOT)
  - **Vector Search**: Semantic similarity search using natural language queries (optimized for AI and LLM workflows)

  **Key Features:**

  - **Query Filtering**: Full Boolean operator support with exact phrase matching using quotes
  - **Content Filtering**: Search within article titles, descriptions, and full content
  - **Categorical Filtering**: Filter by categories (Tech, Business, Politics, etc.) and granular topics
  - **Geographic Filtering**: Filter by country, state, or city
  - **Temporal Filtering**: Date range filtering with `from` and `to` parameters
  - **Source Filtering**: Filter by specific publisher domains (supports wildcards)
  - **Language Support**: Multi-language article filtering
  - **Sorting Options**: Sort by date, relevance, publication date, refresh date, or add date
  - **Pagination**: Retrieve up to 1,000 results per page with 0-based pagination
  - **Result Count**: Optional total result count display

  **Common Use Cases:**

  - Real-time news monitoring and alerting
  - Media analysis and trend detection
  - Competitive intelligence gathering
  - Content aggregation for research
  - AI-powered news summarization pipelines

  ### 📚 Story

  Track evolving news narratives through automatically clustered headlines from multiple sources.

  **Operations:**

  - **Search**: Discover and monitor story clusters to understand how news narratives develop over time

  **Key Features:**

  - **Query Filtering**: Search within story names, summaries, and key points using Boolean operators
  - **Cluster Configuration**: Set minimum cluster size and required number of unique sources
  - **Categorical Filtering**: Filter by categories, countries, and topics
  - **Temporal Filtering**: Date range filtering to track story evolution
  - **Source Filtering**: Filter by specific publisher domains
  - **Sorting Options**: Sort by article count, creation date, relevance, total count, or last update
  - **Pagination**: Navigate through results with configurable page size
  - **Result Count**: Optional display of total matching stories

  **Common Use Cases:**

  - Breaking news monitoring and narrative tracking
  - Understanding media coverage patterns across sources
  - Crisis communications and reputation management
  - Competitive intelligence on industry developments
  - Research on how stories evolve in the media

  ### 🌐 Wikipedia

  Search and analyze Wikipedia articles with advanced filtering and semantic capabilities.

  **Operations:**

  - **Search**: Keyword-based Wikipedia search with Boolean operators
  - **Vector Search**: Semantic similarity search using natural language queries

  **Key Features:**

  - **Multi-Field Search**: Search across article queries, titles, summaries, full text, and references
  - **Category Filtering**: Filter by Wikipedia categories
  - **Wikidata Integration**: Filter by Wikidata entity IDs and instance types
  - **Popularity Metrics**: Filter by page view statistics (minimum and maximum)
  - **Wiki Project Filtering**: Filter by wiki codes (currently supports English Wikipedia - `enwiki`)
  - **Sorting Options**: Sort by relevance, creation date, or last update date
  - **Pagination**: Navigate results with configurable page size
  - **Pageview Statistics**: Option to include only pages with viewership data

  **Common Use Cases:**

  - Knowledge base enrichment and fact-checking
  - Entity disambiguation and research
  - Background information gathering for news stories
  - Educational content creation
  - Semantic search for related topics and concepts

  ### 👤 Person

  Search for public figures, politicians, celebrities, business leaders, and other newsworthy individuals.

  **Operations:**

  - **Search**: Discover people by name, occupation, or unique identifiers

  **Key Features:**

  - **Name Search**: Search by person name with full Boolean operator support and wildcards
  - **Occupation Filtering**: Filter by occupation label (e.g., "politician", "CEO", "actor") or Wikidata occupation IDs
  - **Wikidata Integration**: Filter by Wikidata entity IDs for precise identification
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Media monitoring for specific individuals
  - Building contact databases for PR and outreach
  - Research on public figures and their activities
  - Identifying experts and thought leaders in specific fields
  - Enriching CRM data with public figure information

  ### 🏢 Company

  Search and discover companies with detailed business information and filtering options.

  **Operations:**

  - **Search**: Find companies by name, domain, ticker symbol, industry, and various business attributes

  **Key Features:**

  - **Query Search**: Search across company names, alternative names, domains, and ticker symbols
  - **Name-Specific Search**: Direct filtering by company name with Boolean operator support
  - **Geographic Filtering**: Filter by headquarters country
  - **Domain Filtering**: Filter by company website domains
  - **Stock Market Data**: Filter by stock exchange (NASDAQ, NYSE, etc.) and ticker symbols
  - **Industry Classification**: Filter by industry and sector with Boolean operators
  - **Company Size**: Filter by employee count ranges
  - **Direct ID Lookup**: Filter by specific company IDs
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Competitive intelligence and market research
  - Lead generation and prospecting
  - Investment research and due diligence
  - Building company databases for sales and marketing
  - Monitoring industry trends and company developments

  ### ✍️ Journalist

  Search through over 230,000 journalists and reporters from around the world.

  **Operations:**

  - **Search**: Find journalists by name, publication, coverage area, or activity level
  - **Get by ID**: Retrieve comprehensive details about a specific journalist using their unique identifier

  **Key Features:**

  - **Query Search**: Search across journalist names, titles, and Twitter biographies with Boolean operators
  - **Name-Specific Search**: Direct filtering by journalist name
  - **Coverage Filtering**: Filter by categories (Tech, Business, Politics, etc.) and granular topics
  - **Geographic Focus**: Filter by countries they commonly cover in their reporting
  - **Publication Filtering**: Filter by publisher domains and news sources
  - **Activity Metrics**: Filter by monthly posting activity (minimum and maximum thresholds)
  - **Direct ID Lookup**: Find specific journalists by their unique IDs
  - **Result Count**: Optional display of total matching journalists
  - **Pagination**: Navigate results with configurable page size (up to 1,000 per page)

  **Common Use Cases:**

  - Building media lists and PR contact databases
  - Finding subject matter experts for interviews
  - Monitoring journalist coverage and beats
  - Analyzing media landscape and journalist activity
  - Targeted outreach for press releases and stories

  ### 📡 Source

  Discover and analyze over 140,000 media sources and publications worldwide.

  **Operations:**

  - **Search**: Search and filter news sources with comprehensive criteria

  **Key Features:**

  - **Name Search**: Search by source name with full Boolean operator support
  - **Domain Filtering**: Filter by publisher domains with wildcard support (e.g., `*.cnn.com`)
  - **Category Filtering**: Filter by primary content categories
  - **Geographic Filtering**: Filter by country coverage
  - **Traffic Metrics**: Filter by monthly visit ranges (minimum and maximum)
  - **Paywall Status**: Filter sources by paywall presence
  - **Source Groups**: Filter by predefined publisher bundles (e.g., "top100")
  - **Sorting Options**: Sort by relevance, global rank, monthly visits, or average monthly posts
  - **Result Count**: Optional display of total matching sources
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Building media monitoring source lists
  - Analyzing media landscape and publication reach
  - Identifying authoritative sources for specific topics
  - Filtering sources by audience size and engagement
  - Creating custom news feeds from trusted publications

  ### 🏷️ Topic

  Browse and discover topics available in the Perigon database for precise content filtering.

  **Operations:**

  - **Search**: Search through all available topics with hierarchical filtering

  **Key Features:**

  - **Name Search**: Search topics by exact name or partial text match
  - **Category Filtering**: Filter topics by broad article categories (Tech, Business, Politics, etc.)
  - **Subcategory Filtering**: Filter by specific subcategories for granular topic discovery
  - **Pagination**: Navigate results with configurable page size

  **Common Use Cases:**

  - Discovering available topics for content filtering
  - Understanding topic taxonomy and structure
  - Building topic-based content categorization systems
  - Exploring related topics within categories
  - Creating targeted news feeds by topic

  ### 🤖 Summarize

  Generate AI-powered summaries of news articles using state-of-the-art language models.

  **Operations:**

  - **Summarize**: Produce intelligent, concise summaries from articles matching your search criteria

  **Key Features:**

  - **Query Filtering**: Filter articles using Boolean operators before summarization
  - **Custom Prompts**: Provide detailed instructions (up to 2,048 characters) to guide summary generation
  - **Model Selection**: Choose from multiple leading AI models:
    - GPT-4.1, GPT-4.1 Mini, GPT-4.1 Nano
    - GPT-4o, GPT-4o Mini
    - Llama 3.3 70B Versatile
    - DeepSeek R1 Distill Llama 70B
  - **Article Limits**: Control the number of articles to include (max 100) and return
  - **Summarization Methods**:
    - **ARTICLES**: Include all matching articles
    - **CLUSTERS**: Select one representative article per story cluster
  - **Field Selection**: Choose which article fields to summarize (title, content, summary)
  - **Token Control**: Set maximum token limits for generated summaries
  - **Article Filtering**: Apply all standard filters (category, country, source, date range)

  **Common Use Cases:**

  - Automated news briefings and digests
  - Competitive intelligence reports
  - Market research summaries
  - Crisis monitoring and alerts
  - Content curation for newsletters
  - AI-powered research assistance

  ## Example Usage

  ### Search Recent Tech News

  1. Add the Perigon node to your workflow
  2. Select **Article** as the resource
  3. Select **Search** as the operation
  4. Enter your search query: `"artificial intelligence" AND technology`
  5. In Additional Options:
     - Category: `Tech`
     - From Date: `2024-01-01`
     - Size: `20`
  6. Run the workflow

  ### Find News Stories About Climate Change

  1. Add the Perigon node
  2. Select **Story** as the resource
  3. Select **Search** as the operation
  4. Enter query: `climate change`
  5. Set minimum unique sources: `3`
  6. Run the workflow

  ### Search for Journalists Covering Finance

  1. Add the Perigon node
  2. Select **Journalist** as the resource
  3. Select **Search** as the operation
  4. Enter query: `finance`
  5. In Additional Options:
     - Category: `Business,Finance`
     - Min Monthly Posts: `10`
  6. Run the workflow

  ### Semantic Search for Similar Articles (LLM Workflows)

  1. Add the Perigon node
  2. Select **Article** as the resource
  3. Select **Vector Search** as the operation
  4. Enter natural language query: `Articles about renewable energy innovations and their impact on climate policy`
  5. Set size to desired number of results
  6. Run the workflow

  ### Generate AI Summary of News

  1. Add the Perigon node
  2. Select **Summarize** as the resource
  3. Select **Summarize** as the operation
  4. Enter query: `electric vehicles`
  5. Customize the prompt field with your summary instructions
  6. In Additional Options:
     - Category: `Tech,Business`
     - Max Article Count: `20`
     - Model: `gpt-4.1`
  7. Run the workflow

  ### Search Companies by Industry

  1. Add the Perigon node
  2. Select **Company** as the resource
  3. Select **Search** as the operation
  4. Enter query: `Tesla OR Apple OR Microsoft`
  5. In Additional Options:
     - Industry: `Technology OR Auto Manufacturers`
     - Num Employees From: `1000`
  6. Run the workflow

  ### Find Journalist Contacts for PR Campaign

  1. Add the Perigon node
  2. Select **Journalist** as the resource
  3. Select **Search** as the operation
  4. Enter query: `technology reporter`
  5. In Additional Options:
     - Category: `Tech`
     - Min Monthly Posts: `5`
     - Source: `techcrunch.com,theverge.com,wired.com`
  6. Run the workflow

  ### Get Detailed Journalist Information

  1. Add the Perigon node
  2. Select **Journalist** as the resource
  3. Select **Get by ID** as the operation
  4. Enter the journalist ID (obtained from a previous search)
  5. Run the workflow to retrieve full profile details

  ## AI Agent Compatibility

  This node is compatible with n8n's AI agent functionality (`usableAsTool: true`), allowing it to be used as a tool within AI agent workflows. This enables:

  - Dynamic news retrieval based on agent decisions
  - Automated research and fact-checking
  - Context-aware content generation
  - Multi-step information gathering workflows

  ## Advanced Features

  ### Boolean Search Syntax

  Many search fields support advanced Boolean operators for precise querying:

  - **AND**: Both terms must be present (e.g., `climate AND policy`)
  - **OR**: Either term can be present (e.g., `Biden OR Trump`)
  - **NOT**: Exclude terms (e.g., `energy NOT fossil`)
  - **Wildcards**: Use `*` for multiple characters, `?` for single character (e.g., `climat*`, `wom?n`)
  - **Grouping**: Use parentheses to group terms (e.g., `(renewable OR clean) AND energy`)
  - **Exact Phrases**: Use double quotes for exact matching (e.g., `"climate change"`)

  **Example Complex Query:**

  ```
  ("artificial intelligence" OR AI OR "machine learning") AND (healthcare OR medical) NOT cryptocurrency
  ```

  ### Semantic Vector Search

  Both Article and Wikipedia resources support vector search for semantic similarity matching:

  - Use natural language queries instead of keywords
  - Find conceptually related content even without exact keyword matches
  - Ideal for AI/LLM workflows and exploratory research
  - Better results for complex, multi-faceted queries

  ## Resources

  - **[Perigon Website](https://www.perigon.io/)** - Product information and pricing
  - **[API Documentation](https://www.perigon.io/docs)** - Complete API guides
  - **[API Reference](https://www.perigon.io/reference)** - Endpoint documentation
  - **[n8n Documentation](https://docs.n8n.io/)** - Learn about n8n workflows
  - **[Community Nodes](https://docs.n8n.io/integrations/community-nodes/)** - n8n community node information

  ## Support

  For issues, questions, or feature requests:

  - **GitHub Issues**: [Report bugs or request features](https://github.com/goperigon/n8n-nodes-perigon/issues)
  - **Perigon Support**: Contact support@perigon.io
  - **n8n Community**: [Join the n8n community](https://community.n8n.io/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"This n8n community node enables automation workflows to interact with the Perigon API for accessing news intelligence, including articles, story clusters, Wikipedia data, and public figures.","capabilities":["Search and filter news articles from 140,000+ sources","Vector search for semantic similarity on news articles","Track evolving news narratives through story clusters","Search and analyze Wikipedia articles","Search for public figures, politicians, and celebrities","AI-powered summarization capabilities","Boolean operator support (AND, OR, NOT)","Advanced filtering by category, geography, language, and source","Temporal filtering with date ranges","Pagination support"],"authentication":"API key required","commonUseCases":["Real-time news monitoring and alerting","Media analysis and trend detection","Competitive intelligence gathering","Crisis communications and reputation management","Knowledge base enrichment and fact-checking"],"limitations":[],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Code"]}


node_type: n8n-nodes-binalyze-air.air
package_name: n8n-nodes-binalyze-air
display_name: AIR
description: Manage Binalyze AIR resources
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: emretinaztepe
author_github_url: https://github.com/binalyze/
npm_package_name: n8n-nodes-binalyze-air
npm_version: 1.4.3
community_fetched_at: 2026-03-25T21:19:40.748Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "organizations",
      "options": [
        {
          "name": "Acquisition",
          "value": "acquisitions",
          "description": "Manage acquisition profiles and remote acquisitions"
        },
        {
          "name": "Asset",
          "value": "assets",
          "description": "Manage endpoint assets and their operations"
        },
        {
          "name": "Baseline",
          "value": "baselines",
          "description": "Manage baselines and comparisons"
        },
        {
          "name": "Case",
          "value": "cases",
          "description": "Manage cases and case operations"
        },
        {
          "name": "InterACT",
          "value": "interact",
          "description": "Interactive shell sessions and command execution on devices"
        },
        {
          "name": "Organization",
          "value": "organizations",
          "description": "Manage organizations"
        },
        {
          "name": "Repository",
          "value": "repositories",
          "description": "Manage evidence repositories"
        },
        {
          "name": "Task",
          "value": "tasks",
          "description": "Manage tasks and task assignments"
        },
        {
          "name": "Triage Rule",
          "value": "triagerules",
          "description": "Manage triage rules"
        },
        {
          "name": "User",
          "value": "users",
          "description": "Manage users"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Assign Evidence Acquisition Task",
          "value": "assignEvidenceTask",
          "action": "Assign an evidence acquisition task",
          "description": "Assign an evidence acquisition task by filter"
        },
        {
          "name": "Get Acquisition Profile",
          "value": "get",
          "action": "Get an acquisition profile",
          "description": "Retrieve a specific acquisition profile"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "acquisitions"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Add Tags",
          "value": "addTags",
          "action": "Add tags to assets",
          "description": "Add tags to assets by filter"
        },
        {
          "name": "Assign Isolation Task",
          "value": "setIsolation",
          "action": "Assign isolation task to an asset",
          "description": "Assign isolation task to an asset"
        },
        {
          "name": "Assign Reboot Task",
          "value": "reboot",
          "action": "Assign reboot task to assets",
          "description": "Assign reboot task to an asset"
        },
        {
          "name": "Assign Shutdown Task",
          "value": "shutdown",
          "action": "Assign shutdown task to asset",
          "description": "Assign shutdown task to an asset"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an asset",
          "description": "Retrieve a specific asset"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many assets",
          "description": "Retrieve many assets"
        },
        {
          "name": "Get Tasks",
          "value": "getAssetTasks",
          "action": "Get asset tasks",
          "description": "Get tasks for a specific asset"
        },
        {
          "name": "Remove Tags",
          "value": "removeTags",
          "action": "Remove tags from assets",
          "description": "Remove tags from assets by filter"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assets"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "acquireBaseline",
      "options": [
        {
          "name": "Acquire Baseline",
          "value": "acquireBaseline",
          "action": "Acquire a baseline",
          "description": "Acquire baseline for endpoints"
        },
        {
          "name": "Compare Baselines",
          "value": "compareBaseline",
          "action": "Compare baselines",
          "description": "Compare two baseline acquisition results from the same endpoint"
        },
        {
          "name": "Get Comparison Report",
          "value": "getComparisonReport",
          "action": "Get comparison report",
          "description": "Get baseline comparison report"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "baselines"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Change Owner",
          "value": "changeOwner",
          "action": "Change case owner",
          "description": "Change the owner of a case"
        },
        {
          "name": "Check Name",
          "value": "checkName",
          "action": "Check case name availability",
          "description": "Check if a case name is available"
        },
        {
          "name": "Close Case",
          "value": "closeCase",
          "action": "Close a case",
          "description": "Close a specific case"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create a case",
          "description": "Create a new case"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a case",
          "description": "Retrieve a specific case"
        },
        {
          "name": "Get Activities",
          "value": "getActivities",
          "action": "Get case activities",
          "description": "Get activities for a specific case"
        },
        {
          "name": "Get Endpoints",
          "value": "getEndpoints",
          "action": "Get case endpoints",
          "description": "Get endpoints for a specific case"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many cases",
          "description": "Retrieve many cases"
        },
        {
          "name": "Get Tasks",
          "value": "getTasks",
          "action": "Get case tasks",
          "description": "Get tasks for a specific case"
        },
        {
          "name": "Get Users",
          "value": "getUsers",
          "action": "Get case users",
          "description": "Get users for a specific case"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "cases"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createSession",
      "options": [
        {
          "name": "Close Session",
          "value": "closeSession",
          "action": "Close a session",
          "description": "Close an InterACT session"
        },
        {
          "name": "Create InterACT Session",
          "value": "createSession",
          "action": "Create an interact session",
          "description": "Create a new InterACT shell session for an asset"
        },
        {
          "name": "Execute Async Command",
          "value": "executeAsyncCommand",
          "action": "Execute an async command",
          "description": "Execute an asynchronous command in an InterACT session"
        },
        {
          "name": "Execute Command",
          "value": "executeCommand",
          "action": "Execute a command",
          "description": "Execute a command in an InterACT session"
        },
        {
          "name": "Get Command Response",
          "value": "getCommandMessage",
          "action": "Get a command response",
          "description": "Get the result of a command execution"
        },
        {
          "name": "Interrupt Command",
          "value": "interruptCommand",
          "action": "Interrupt a command",
          "description": "Interrupt a running command"
        },
        {
          "name": "Wait for Session to Be Live",
          "value": "waitForSession",
          "action": "Wait for session to be live",
          "description": "Wait for an InterACT session to become live by monitoring task status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "interact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Add Tags",
          "value": "addTags",
          "action": "Add tags to an organization",
          "description": "Add tags to an organization"
        },
        {
          "name": "Assign User",
          "value": "assignUser",
          "action": "Assign a user to an organization",
          "description": "Assign a user to an organization"
        },
        {
          "name": "Check Name Exists",
          "value": "checkNameExists",
          "action": "Check if organization name exists",
          "description": "Check if an organization name already exists"
        },
        {
          "name": "Create",
          "value": "create",
          "action": "Create an organization",
          "description": "Create a new organization"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get an organization",
          "description": "Retrieve a specific organization"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many organizations",
          "description": "Retrieve many organizations"
        },
        {
          "name": "Get Users",
          "value": "getUsers",
          "action": "Get users of an organization",
          "description": "Retrieve users assigned to an organization"
        },
        {
          "name": "Remove Tags",
          "value": "removeTags",
          "action": "Remove tags from an organization",
          "description": "Remove tags from an organization"
        },
        {
          "name": "Remove User",
          "value": "removeUser",
          "action": "Remove a user from an organization",
          "description": "Remove a user from an organization"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update an organization",
          "description": "Update an organization"
        },
        {
          "name": "Update Shareable Deployment",
          "value": "updateShareableDeployment",
          "action": "Update shareable deployment status",
          "description": "Update organization shareable deployment status"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "organizations"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a repository",
          "description": "Get a repository by name"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many repositories",
          "description": "Get many repositories"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "repositories"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a task",
          "description": "Retrieve a specific task"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many tasks",
          "description": "Retrieve many tasks"
        },
        {
          "name": "Get Task Assignments",
          "value": "getTaskAssignments",
          "action": "Get task assignments",
          "description": "Retrieve assignments for a specific task"
        },
        {
          "name": "Wait for Completion",
          "value": "waitForCompletion",
          "action": "Wait for task completion",
          "description": "Wait for a task to complete with polling"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tasks"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Assign Triage Task",
          "value": "assignTask",
          "action": "Assign a triage task",
          "description": "Assign a triage task"
        },
        {
          "name": "Create Triage Rule",
          "value": "create",
          "action": "Create a triage rule",
          "description": "Create a new triage rule"
        },
        {
          "name": "Delete Triage Rule",
          "value": "delete",
          "action": "Delete a triage rule",
          "description": "Delete a triage rule"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a triage rule",
          "description": "Retrieve a specific triage rule"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many triage rules",
          "description": "Retrieve many triage rules"
        },
        {
          "name": "Update Triage Rule",
          "value": "update",
          "action": "Update a triage rule",
          "description": "Update a triage rule"
        },
        {
          "name": "Validate Triage Rule",
          "value": "validate",
          "action": "Validate a triage rule",
          "description": "Validate a triage rule"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "triagerules"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many users",
          "description": "Retrieve many users"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a user",
          "description": "Retrieve a specific user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "users"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Assign Evidence Acquisition Task",
      "value": "assignEvidenceTask",
      "action": "Assign an evidence acquisition task",
      "description": "Assign an evidence acquisition task by filter"
    },
    {
      "name": "Get Acquisition Profile",
      "value": "get",
      "action": "Get an acquisition profile",
      "description": "Retrieve a specific acquisition profile"
    },
    {
      "name": "Add Tags",
      "value": "addTags",
      "action": "Add tags to assets",
      "description": "Add tags to assets by filter"
    },
    {
      "name": "Assign Isolation Task",
      "value": "setIsolation",
      "action": "Assign isolation task to an asset",
      "description": "Assign isolation task to an asset"
    },
    {
      "name": "Assign Reboot Task",
      "value": "reboot",
      "action": "Assign reboot task to assets",
      "description": "Assign reboot task to an asset"
    },
    {
      "name": "Assign Shutdown Task",
      "value": "shutdown",
      "action": "Assign shutdown task to asset",
      "description": "Assign shutdown task to an asset"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an asset",
      "description": "Retrieve a specific asset"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many assets",
      "description": "Retrieve many assets"
    },
    {
      "name": "Get Tasks",
      "value": "getAssetTasks",
      "action": "Get asset tasks",
      "description": "Get tasks for a specific asset"
    },
    {
      "name": "Remove Tags",
      "value": "removeTags",
      "action": "Remove tags from assets",
      "description": "Remove tags from assets by filter"
    },
    {
      "name": "Acquire Baseline",
      "value": "acquireBaseline",
      "action": "Acquire a baseline",
      "description": "Acquire baseline for endpoints"
    },
    {
      "name": "Compare Baselines",
      "value": "compareBaseline",
      "action": "Compare baselines",
      "description": "Compare two baseline acquisition results from the same endpoint"
    },
    {
      "name": "Get Comparison Report",
      "value": "getComparisonReport",
      "action": "Get comparison report",
      "description": "Get baseline comparison report"
    },
    {
      "name": "Change Owner",
      "value": "changeOwner",
      "action": "Change case owner",
      "description": "Change the owner of a case"
    },
    {
      "name": "Check Name",
      "value": "checkName",
      "action": "Check case name availability",
      "description": "Check if a case name is available"
    },
    {
      "name": "Close Case",
      "value": "closeCase",
      "action": "Close a case",
      "description": "Close a specific case"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a case",
      "description": "Create a new case"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a case",
      "description": "Retrieve a specific case"
    },
    {
      "name": "Get Activities",
      "value": "getActivities",
      "action": "Get case activities",
      "description": "Get activities for a specific case"
    },
    {
      "name": "Get Endpoints",
      "value": "getEndpoints",
      "action": "Get case endpoints",
      "description": "Get endpoints for a specific case"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many cases",
      "description": "Retrieve many cases"
    },
    {
      "name": "Get Tasks",
      "value": "getTasks",
      "action": "Get case tasks",
      "description": "Get tasks for a specific case"
    },
    {
      "name": "Get Users",
      "value": "getUsers",
      "action": "Get case users",
      "description": "Get users for a specific case"
    },
    {
      "name": "Close Session",
      "value": "closeSession",
      "action": "Close a session",
      "description": "Close an InterACT session"
    },
    {
      "name": "Create InterACT Session",
      "value": "createSession",
      "action": "Create an interact session",
      "description": "Create a new InterACT shell session for an asset"
    },
    {
      "name": "Execute Async Command",
      "value": "executeAsyncCommand",
      "action": "Execute an async command",
      "description": "Execute an asynchronous command in an InterACT session"
    },
    {
      "name": "Execute Command",
      "value": "executeCommand",
      "action": "Execute a command",
      "description": "Execute a command in an InterACT session"
    },
    {
      "name": "Get Command Response",
      "value": "getCommandMessage",
      "action": "Get a command response",
      "description": "Get the result of a command execution"
    },
    {
      "name": "Interrupt Command",
      "value": "interruptCommand",
      "action": "Interrupt a command",
      "description": "Interrupt a running command"
    },
    {
      "name": "Wait for Session to Be Live",
      "value": "waitForSession",
      "action": "Wait for session to be live",
      "description": "Wait for an InterACT session to become live by monitoring task status"
    },
    {
      "name": "Add Tags",
      "value": "addTags",
      "action": "Add tags to an organization",
      "description": "Add tags to an organization"
    },
    {
      "name": "Assign User",
      "value": "assignUser",
      "action": "Assign a user to an organization",
      "description": "Assign a user to an organization"
    },
    {
      "name": "Check Name Exists",
      "value": "checkNameExists",
      "action": "Check if organization name exists",
      "description": "Check if an organization name already exists"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create an organization",
      "description": "Create a new organization"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get an organization",
      "description": "Retrieve a specific organization"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many organizations",
      "description": "Retrieve many organizations"
    },
    {
      "name": "Get Users",
      "value": "getUsers",
      "action": "Get users of an organization",
      "description": "Retrieve users assigned to an organization"
    },
    {
      "name": "Remove Tags",
      "value": "removeTags",
      "action": "Remove tags from an organization",
      "description": "Remove tags from an organization"
    },
    {
      "name": "Remove User",
      "value": "removeUser",
      "action": "Remove a user from an organization",
      "description": "Remove a user from an organization"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update an organization",
      "description": "Update an organization"
    },
    {
      "name": "Update Shareable Deployment",
      "value": "updateShareableDeployment",
      "action": "Update shareable deployment status",
      "description": "Update organization shareable deployment status"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a repository",
      "description": "Get a repository by name"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many repositories",
      "description": "Get many repositories"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a task",
      "description": "Retrieve a specific task"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many tasks",
      "description": "Retrieve many tasks"
    },
    {
      "name": "Get Task Assignments",
      "value": "getTaskAssignments",
      "action": "Get task assignments",
      "description": "Retrieve assignments for a specific task"
    },
    {
      "name": "Wait for Completion",
      "value": "waitForCompletion",
      "action": "Wait for task completion",
      "description": "Wait for a task to complete with polling"
    },
    {
      "name": "Assign Triage Task",
      "value": "assignTask",
      "action": "Assign a triage task",
      "description": "Assign a triage task"
    },
    {
      "name": "Create Triage Rule",
      "value": "create",
      "action": "Create a triage rule",
      "description": "Create a new triage rule"
    },
    {
      "name": "Delete Triage Rule",
      "value": "delete",
      "action": "Delete a triage rule",
      "description": "Delete a triage rule"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a triage rule",
      "description": "Retrieve a specific triage rule"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many triage rules",
      "description": "Retrieve many triage rules"
    },
    {
      "name": "Update Triage Rule",
      "value": "update",
      "action": "Update a triage rule",
      "description": "Update a triage rule"
    },
    {
      "name": "Validate Triage Rule",
      "value": "validate",
      "action": "Validate a triage rule",
      "description": "Validate a triage rule"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many users",
      "description": "Retrieve many users"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a user",
      "description": "Retrieve a specific user"
    }
  ]

npm_readme:
  ![Banner image](https://github.com/binalyze/n8n-nodes-binalyze-air/blob/main/assets/header-image.jpg)

  # n8n-nodes-binalyze-air

  This is an n8n community node that integrates with Binalyze AIR (Automated Incident Response) platform.

  ## Table of Contents

  - [Installation](#installation)
  - [Configuration](#configuration)
  - [Supported Resources](#supported-resources)
    - [Acquisitions](#acquisitions)
    - [Assets](#assets)
    - [Baselines](#baselines)
    - [Cases](#cases)
    - [InterACT](#interact)
    - [Organizations](#organizations)
    - [Repositories](#repositories)
    - [Tasks](#tasks)
    - [Triage Rules](#triage-rules)
    - [Users](#users)
  - [Trigger Node](#trigger-node)
    - [How to Use](#how-to-use)
    - [Supported Event Types](#supported-event-types)
    - [Event Data Structure](#event-data-structure)
  - [Development](#development)
  - [Testing](#testing)
  - [TODO](#todo)

  ## Installation

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

  ## Configuration

  Before using this node, you need to configure your Binalyze AIR credentials:

  ### Step 1: Create AIR API Key

  1. Go to AIR > Integrations > API Tokens > Add New
  	* Provide a Token Name
  	* Select an Organization
  	* Select a Role
  	* Define Expiration time
  2. Click Save button, and copy the token as you will not be able to see it again
  3. Click 'I got the token' button

  ### Step 2: Create AIR Credentials on your n8n instance

  1. In n8n, go to Settings → Credentials
  2. Add a new credential for "Binalyze AIR API"
  3. Enter your AIR instance URL and API token

  ## Supported Resources

  This node provides comprehensive coverage of Binalyze AIR's features listed below:

  ### Acquisitions
  Manage evidence acquisition profiles and tasks.

  **Operations:**
  - `get` - Retrieve a specific acquisition profile
  - `assignEvidenceTask` - Assign an evidence acquisition task by filter
  - `assignImageTask` - Assign an image acquisition task by filter
  - `createOffNetworkTask` - Create an off-network acquisition task

  ### Assets
  Manage endpoints and their associated tasks, tags, and status.

  **Operations:**
  - `addTags` - Add tags to assets by filter
  - `get` - Retrieve a specific asset
  - `getAssetTasks` - Get tasks for a specific asset
  - `getAll` - Retrieve many assets
  - `reboot` - Assign reboot task to a specific asset (returns standardized response with success status, message, asset details, task, and error information)
  - `removeTags` - Remove tags from assets by filter
  - `setIsolation` - Assign isolation task to a specific asset (checks for existing tasks and current isolation status, returns standardized response)
  - `shutdown` - Assign shutdown task to a specific asset (returns standardized response with success status, message, asset details, task, and error information)

  ### Baselines
  Acquire and compare system baselines.

  **Operations:**
  - `acquireBaseline` - Acquire baseline for endpoints
  - `compareBaseline` - Compare two baseline acquisition results from the same endpoint
  - `getComparisonReport` - Get baseline comparison report

  ### Cases
  Manage incident response cases, notes, and activities.

  **Operations:**
  - `changeOwner` - Change the owner of a case
  - `checkName` - Check if a case name is available
  - `closeCase` - Close a specific case
  - `create` - Create a new case
  - `get` - Retrieve a specific case
  - `getActivities` - Get activities for a specific case
  - `getEndpoints` - Get endpoints for a specific case
  - `getAll` - Retrieve many cases
  - `getTasks` - Get tasks for a specific case
  - `getUsers` - Get users for a specific case

  ### InterACT
  Execute commands and interact with endpoints remotely.

  **Operations:**
  - `createSession` - Create a new InterACT shell session for an asset
  - `waitForSession` - Wait for an InterACT session to become live by monitoring task status (supports indefinite wait with timeout=0)
  - `closeSession` - Close an InterACT session
  - `executeCommand` - Execute a command in an InterACT session
  - `executeAsyncCommand` - Execute an asynchronous command in an InterACT session
  - `getCommandMessage` - Get the result of a command execution
  - `interruptCommand` - Interrupt a running command

  ### Organizations
  Manage organizations and their users.

  **Operations:**
  - `addTags` - Add tags to an organization
  - `assignUser` - Assign a user to an organization
  - `checkNameExists` - Check if an organization name already exists
  - `create` - Create a new organization
  - `get` - Retrieve a specific organization
  - `getAll` - Retrieve many organizations
  - `getUsers` - Retrieve users assigned to an organization
  - `removeTags` - Remove tags from an organization
  - `removeUser` - Remove a user from an organization
  - `update` - Update an organization
  - `updateShareableDeployment` - Update organization shareable deployment status

  ### Repositories
  Manage evidence repositories.

  **Operations:**
  - `get` - Get a repository by name, ID, or from list selection
  - `getAll` - Get many repositories with filtering options

  ### Tasks
  Manage and monitor tasks and assignments.

  **Operations:**
  - `cancelTask` - Cancel a specific task
  - `cancelTaskAssignment` - Cancel a specific task assignment
  - `deleteTask` - Delete a specific task
  - `deleteTaskAssignment` - Delete a specific task assignment
  - `get` - Retrieve a specific task
  - `getAll` - Retrieve many tasks
  - `getTaskAssignments` - Retrieve assignments for a specific task
  - `waitForCompletion` - Wait for a task to complete with polling

  ### Triage Rules
  Create and manage triage rules for automated analysis.

  **Operations:**
  - `assignTask` - Assign a triage task
  - `create` - Create a new triage rule
  - `delete` - Delete a triage rule
  - `get` - Retrieve a specific triage rule
  - `getAll` - Retrieve many triage rules
  - `update` - Update a triage rule
  - `validate` - Validate a triage rule

  ### Users
  Manage user accounts and permissions.

  **Operations:**
  - `getAll` - Retrieve many users
  - `get` - Retrieve a specific user

  ## Trigger Node

  The On AIR Event-Trigger node allows you to trigger workflows based on AIR events.

  ### How to Use

  1. Add the On new AIR Trigger node to your workflow
  2. Configure your AIR API credentials
  3. Select the event types you want to listen for from the dynamically loaded list
  4. Configure the Bearer token that AIR will use for webhook authentication
  5. Copy the webhook URL from the node
  6. Create an event subscription in AIR:
     - Go to AIR > Integrations > Event Subscriptions
     - Add a new subscription with the webhook URL
     - Select the same event types
     - Provide the same Bearer token you configured in the trigger node

  ### Supported Event Types

  The trigger node dynamically loads available [event types](https://kb.binalyze.com/air/features/event-subscription) from your AIR instance, which may include:
  - TaskProcessingCompletedEvent
  - TaskProcessingFailedEvent
  - TaskCompletedEvent
  - TaskFailedEvent
  - CaseClosedEvent
  - EndpointRegisteredEvent
  - ...  

  ### Event Data Structure

  When an event is triggered, the node outputs data in the following format:
  ```json
  {
    "eventName": "TaskCompletedEvent",
    "organizationId": 0,
    "data": {
      "id": "task-id",
      "name": "Task Name",
      "type": "Task Type",
      "organizationId": "org-id",
      "totalAssignedEndpoints": 5,
      "totalCompletedEndpoints": 4
    }
  }
  ```

  ## Development

  To set up the development environment:

  1. Clone this repository
  2. Install dependencies: `yarn install`
  3. Build the project: `yarn build`
  4. Link the project using: 
     - `npm link`
     - `npm link n8n-nodes-binalyze-air`
  5. Start the development environment:
     - `yarn dev` - Start n8n in watch mode with automatic rebuilds
     - `yarn debug` - Start n8n in debug mode with verbose logging

  ### Development Scripts

  - `yarn build` - Build the project
  - `yarn dev` - Start development environment with file watching
  - `yarn debug` - Start development environment with debug logging enabled
  - `yarn restart:n8n` - Restart n8n without rebuilding

  ### Debug Mode

  The `yarn debug` command enables comprehensive debug logging to help troubleshoot issues:

  **Features:**
  - **Verbose Logging**: Sets `N8N_LOG_LEVEL=debug` for detailed n8n logs
  - **Console Output**: Direct log output to console (`N8N_LOG_OUTPUT=console`)
  - **Debug Patterns**: Enables debug output for n8n core and community nodes (`DEBUG=n8n*,n8n-nodes-*`)
  - **Error Details**: Shows detailed error information (`N8N_DETAILED_ERROR_OUTPUT=true`)
  - **Development Mode**: Sets `NODE_ENV=development` for enhanced debugging

  **Usage:**
  ```bash
  # Start development with debug logging
  yarn debug

  # Or manually start debug mode
  ./scripts/dev-watch.sh --debug
  ./scripts/restart-n8n.sh --debug
  ```

  **Debug Output Examples:**
  ```
  16:38:21.490   debug   Loaded all credentials and nodes from n8n-nodes-binalyze-air { "credentials": 1, "nodes": 1 }
  16:38:21.662   info    n8n ready on ::, port 5678
  16:38:23.607   info    Version: 1.103.2
  ```

  When debug mode is active, you'll see detailed information about:
  - Node and credential loading
  - API requests and responses
  - Workflow execution steps
  - Error stack traces
  - Internal n8n operations

  ## Testing

  The project includes an end-to-end testing workflow that can be managed using the e2e.js script.

  ### Prerequisites

  1. Create a `.env.local.yml` file in the project root with your credentials:
     ```yaml
     # n8n instance configuration
     N8N:
       INSTANCE_URL: http://127.0.0.1:5678
       API_TOKEN: your_n8n_api_token_here
     ```

  2. Ensure your n8n instance is running and you have a valid API token.

  ### Download Test Workflow

  To download the test workflow from your n8n instance:
  ```bash
  npm run test:download
  # or
  yarn test:download
  ```
  Or using the Node.js script directly:
  ```bash
  node test/e2e.js download
  ```

  This will download the `n8n-nodes-binalyze-air-e2e` workflow and save it to `test/n8n-nodes-binalyze-air-e2e.json`.

  ### Command Options

  Both commands support additional options:

  ```bash
  # Use a custom n8n instance URL
  node test/e2e.js download --url http://n8n.example.com:5678

  # Use a custom workflow name
  node test/e2e.js download --name my-custom-workflow

  # Use a custom output file
  node test/e2e.js download --file my-workflow.json
  ```


  ## TODO
  - Add interACT Library related operations

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with the Binalyze AIR (Automated Incident Response) platform to manage security operations, evidence acquisition, and incident response workflows.","capabilities":["Manage evidence acquisition profiles and tasks","Manage endpoints, tags, and asset status (reboot, shutdown, isolation)","Acquire and compare system baselines","Create, manage, and close incident response cases","Execute remote commands via InterACT sessions","Manage organizations and user assignments","Manage evidence repositories","Monitor and manage task assignments and completion","Create, update, and validate triage rules","Manage user accounts and permissions"],"authentication":"API Key required (Binalyze AIR API Token)","commonUseCases":["Automated incident response workflows","Remote endpoint management and command execution","Evidence collection and acquisition automation","System baseline comparison and reporting","Incident case management and triage"],"limitations":["Community node (not official n8n node)","Requires manual API token creation in Binalyze AIR platform","README truncated (some details may be incomplete)"],"relatedNodes":["n8n-nodes-base-code","n8n-nodes-base-if","n8n-nodes-base-set"]}


node_type: n8n-nodes-llmlayer.llmLayer
package_name: n8n-nodes-llmlayer
display_name: LLMLayer
description: Search and answer questions using LLMLayer API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: yassine.khazzan
author_github_url: https://github.com/YassKhazzan/
npm_package_name: n8n-nodes-llmlayer
npm_version: 1.0.3
community_fetched_at: 2026-03-25T21:19:40.749Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "answer",
      "options": [
        {
          "name": "Answer",
          "value": "answer",
          "description": "Search and generate AI answers"
        },
        {
          "name": "Web Search",
          "value": "webSearch",
          "description": "Search the web for information"
        },
        {
          "name": "Scrape",
          "value": "scrape",
          "description": "Scrape content from a URL"
        },
        {
          "name": "YouTube",
          "value": "youtube",
          "description": "Get YouTube video transcript"
        },
        {
          "name": "PDF",
          "value": "pdf",
          "description": "Extract content from PDF"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate an answer",
          "description": "Generate an answer based on search results"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "answer"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search the web",
          "description": "Search the web"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrapeUrl",
      "options": [
        {
          "name": "Scrape URL",
          "value": "scrapeUrl",
          "action": "Scrape content from URL",
          "description": "Scrape content from a URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "scrape"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getTranscript",
      "options": [
        {
          "name": "Get Transcript",
          "value": "getTranscript",
          "action": "Get YouTube transcript",
          "description": "Get YouTube video transcript"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtube"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "extractContent",
      "options": [
        {
          "name": "Extract Content",
          "value": "extractContent",
          "action": "Extract PDF content",
          "description": "Extract text from PDF"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate an answer",
      "description": "Generate an answer based on search results"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search the web",
      "description": "Search the web"
    },
    {
      "name": "Scrape URL",
      "value": "scrapeUrl",
      "action": "Scrape content from URL",
      "description": "Scrape content from a URL"
    },
    {
      "name": "Get Transcript",
      "value": "getTranscript",
      "action": "Get YouTube transcript",
      "description": "Get YouTube video transcript"
    },
    {
      "name": "Extract Content",
      "value": "extractContent",
      "action": "Extract PDF content",
      "description": "Extract text from PDF"
    }
  ]

npm_readme:
  # n8n-nodes-llmlayer

  An n8n **Community Node** for [LLMLayer](https://llmlayer.ai) — a Search & Answer API that combines web search with AI-generated, source-grounded responses.

  ---

  ## Features

  * **AI‑Powered Answers**: Generate comprehensive answers using popular models (GPT‑4o, Claude 3.5, Gemini, etc.).
  * **Web Search**: General, news, shopping, videos, images, and scholar search types.
  * **Content Extraction**: Scrape public pages and return Markdown/HTML, or request PDFs/screenshots.
  * **YouTube Transcripts**: Retrieve transcripts from YouTube videos.
  * **PDF Text**: Extract text and metadata from PDFs.

  > Availability of specific models/features depends on your LLMLayer account and current API support.

  ---

  ## Compatibility

  * **n8n**: 1.68+ recommended
  * **Node.js**: 20+ recommended (align with n8n’s LTS baseline)

  ---

  ## Installation

  ### A) n8n Cloud / In‑Editor Browse

  If/when this package is **verified by n8n**, you can install it directly from the editor:

  1. **Settings → Community Nodes → Browse**
  2. Search for `LLMLayer` or `n8n-nodes-llmlayer`
  3. Click **Install**

  > If it’s not yet verified, use the self‑hosted options below.

  ### B) Self‑Hosted n8n

  **From the UI**

  1. **Settings → Community Nodes → Install**
  2. Enter `n8n-nodes-llmlayer`
  3. Install and restart n8n if prompted

  **Using npm inside your instance**

  ```bash
  npm install n8n-nodes-llmlayer
  ```

  **Using Docker (inside the container)**

  ```bash
  docker exec -it <n8n-container> npm install n8n-nodes-llmlayer
  ```

  Then restart your container.

  **Via environment variable (install at startup)**

  ```bash
  # Add to your n8n environment
  N8N_COMMUNITY_PACKAGES=n8n-nodes-llmlayer
  ```

  ---

  ## Authentication

  1. Sign up at **[https://app.llmlayer.ai](https://app.llmlayer.ai)** and create an API key.
  2. In n8n, go to **Credentials → New → LLMLayer**.
  3. Paste your API key and **Save**.

  > This node sends your queries/URLs to LLMLayer; review your privacy and data‑handling requirements before production use.

  ---

  ## Node Overview

  The node exposes the following **resources**:

  ### 1) Answer

  Generate AI answers grounded in real‑time search.

  * **Query** — Question/prompt
  * **Model** — Pick from supported models
  * **Answer Type** — `markdown` | `html` | `json`
  * **Search Type** — `general` | `news`
  * **System Prompt** — Optional instructions
  * **Location / Date Filter / Recency** — Tune search context
  * **Citations / Return Sources** — Include sources and documents
  * **Temperature / Max Tokens** — Output control

  ### 2) Web Search

  Perform targeted searches.

  * **Search Type** — `general`, `news`, `shopping`, `videos`, `images`, `scholar`
  * **Query**, **Location**, **Recency**
  * **Domain Filters** — Include/exclude specific domains

  ### 3) Scrape

  Extract content from public web pages.

  * **URL**
  * **Format** — `markdown`, `html`, `pdf`, `screenshot`
  * **Include Images / Links**

  ### 4) YouTube

  Fetch video transcripts.

  * **URL**
  * **Language** (optional)

  ### 5) PDF

  Extract text from a PDF URL.

  * **URL**

  ---

  ## Usage Examples

  ### Answer (Markdown)

  ```json
  {
    "resource": "answer",
    "query": "What are the latest developments in AI?",
    "model": "openai/gpt-4o-mini",
    "answer_type": "markdown",
    "citations": true,
    "return_sources": true
  }
  ```

  ### News Search (Past Week, US)

  ```json
  {
    "resource": "webSearch",
    "query": "artificial intelligence breakthroughs",
    "search_type": "news",
    "recency": "week",
    "location": "us"
  }
  ```

  ### Structured JSON Answer

  ```json
  {
    "resource": "answer",
    "query": "List top 5 programming languages",
    "model": "anthropic/claude-3-5-sonnet-latest",
    "answer_type": "json",
    "json_schema": {
      "type": "object",
      "properties": {
        "languages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {"type": "string"},
              "rank": {"type": "number"},
              "use_cases": {"type": "array"}
            },
            "required": ["name", "rank"]
          }
        }
      },
      "required": ["languages"]
    }
  }
  ```

  ---

  ## Error Handling & Tips

  * Enable **Continue On Fail** to keep workflows running on non‑critical errors.
  * Common issues:

      * **401/403** → Invalid/expired API key
      * **429** → Rate limit exceeded (add a Wait node or retry)
      * **Network timeouts** → Increase node timeout or add retries
      * **Access‑restricted pages** (Scrape) → Paywalls/blocks/dynamic content may limit extraction

  ---

  ## Support

  * **Docs**: [https://docs.llmlayer.ai](https://docs.llmlayer.ai)
  * **Issues**: [https://github.com/YassKhazzan/n8n-nodes-llmlayer/issues](https://github.com/YassKhazzan/n8n-nodes-llmlayer/issues)
  * **Email**: [support@llmlayer.ai](mailto:support@llmlayer.ai)

  ---

  ## License

  MIT

  ---

  ## Author

  Yassine Khazzan — [LLMLayer](https://llmlayer.ai)

  ---

  ## Changelog

  ### 1.0.2

  * Polish: README, metadata, minor fixes

  ### 1.0.1

  * Passed security scan

  ### 1.0.0

  * Initial release with Answer, Web Search, Scrape, YouTube, PDF

ai_documentation_summary:
  {"purpose":"A community n8n node that integrates with the LLMLayer API to perform web search, scrape content, extract PDFs, and generate AI-powered answers grounded in real-time sources.","capabilities":["Generate AI answers with citations and source grounding","Perform web searches across multiple types (general, news, shopping, videos, images, scholar)","Scrape public web pages and extract content in Markdown, HTML, PDF, or screenshot formats","Retrieve YouTube video transcripts","Extract text and metadata from PDF URLs","Configure output formats (Markdown, HTML, JSON) with custom schemas","Filter search results by location, date, and domain","Control AI generation via temperature and token limits"],"authentication":"API key required (configured via n8n Credentials)","commonUseCases":["Researching current events with source citations","Extracting structured data from web pages","Analyzing YouTube content via transcripts","Processing PDF documents for text extraction","Generating grounded answers for RAG workflows"],"limitations":["Availability of specific models and features depends on the user's LLMLayer account and API support","Scraping may be limited by paywalls, access restrictions, or dynamic content on target pages","Rate limits may require retry logic or wait nodes to prevent 429 errors","Not yet verified by n8n for direct installation in n8n Cloud (may require self-hosted installation)"],"relatedNodes":["n8n-nodes-webhook.webhook","n8n-nodes-http.request","n8n-nodes.wait.wait","n8n-nodes.code.code"]}


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-03-25 21:19:40
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-03-25T21:19:40.749Z
ai_summary_generated_at: 2026-03-25 22:51:43
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":"This n8n community node enables interaction with Crossmint's Wallet and Checkout APIs to manage digital wallets, create non-custodial smart wallets, and automate the purchase of physical products within n8n workflows.","capabilities":["Create or retrieve non-custodial smart wallets","Manage wallet details using various locator types (address, email, userId, phone, twitter, x)","Automate purchase of physical products via Checkout API","Handle blockchain transactions (e.g., Solana)","Support multiple owner identifier types (email, userId, phone, twitter, x, none)","Test transactions using Staging environment and testnet tokens"],"authentication":"API key required (server-side API key from Crossmint Console)","commonUseCases":["Automating digital wallet creation for AI agents or users","Testing wallet transactions in a staging environment","Automating the purchase of physical goods using blockchain payments","Managing wallet ownership via email or social identifiers"],"limitations":["Requires self-hosted n8n version (not available in cloud-hosted n8n)","Must use server-side API keys; client-side keys are not supported","Initial setup requires running node from source (git clone, npm install, npm run build)","Development mode requires manual setup of npm run dev for auto-rebuilds"],"relatedNodes":["n8n HTTP Request","n8n Credentials","n8n Blockchain nodes"]}


node_type: @picsart/n8n-nodes-picsart-creative-apis.picsartVideo
package_name: @picsart/n8n-nodes-picsart-creative-apis
display_name: Picsart Video AI
description: Generate images and stickers with Picsart API: generate from prompt
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: romiksar
author_github_url: https://github.com/PicsArt/n8n-plugin.git
npm_package_name: @picsart/n8n-nodes-picsart-creative-apis
npm_version: 5.3.2
community_fetched_at: 2026-03-25T21:19:40.749Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "video",
      "options": [
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Watermark",
      "options": [
        {
          "name": "Add Watermark",
          "value": "Add Watermark",
          "action": "Add watermark to video",
          "description": "Add a watermark image to your video"
        },
        {
          "name": "Clip a Video",
          "value": "Clip a Video",
          "action": "Clip a video",
          "description": "Trim the video to a specific segment (start/end in milliseconds)"
        },
        {
          "name": "Compress Video to Size",
          "value": "Compress video to size",
          "action": "Compress video to size",
          "description": "Reduce your video file to a specific size in MB without losing quality"
        },
        {
          "name": "Crop Video",
          "value": "Crop Video",
          "action": "Crop video to desired size",
          "description": "Crop the video to width/height with optional start position"
        },
        {
          "name": "Fit Video",
          "value": "Fit Video",
          "action": "Fit video to ratio or dimensions",
          "description": "Fit video to different ratios or width/height; optional background"
        },
        {
          "name": "Make Video CTV-Compatible",
          "value": "Make Video CTV-Compatible",
          "action": "Make video ctv compatible",
          "description": "Convert video to meet CTV (Connected TV) requirements"
        },
        {
          "name": "Mute Video",
          "value": "Mute Video",
          "action": "Mute video audio",
          "description": "Set video volume to 0 (mute) or keep original volume"
        },
        {
          "name": "Video Filters and Effects",
          "value": "Video Filters and Effects",
          "action": "Apply effect or filter to video",
          "description": "Apply one of 24+ effects (e.g. vignette, sharpen, noise) to a video"
        },
        {
          "name": "Video FPS Upscale",
          "value": "Video FPS Upscale",
          "action": "Upscale video to 60 FPS",
          "description": "Upscale low FPS video to 60 FPS using Generative AI"
        },
        {
          "name": "Video Highlights",
          "value": "Video Highlights",
          "action": "Create highlights video",
          "description": "Pick segments from a video and concatenate them into one output"
        },
        {
          "name": "Video to GIF",
          "value": "Video to GIF",
          "action": "Convert video to GIF",
          "description": "Convert video to GIF (format GIF)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Add Watermark",
      "value": "Add Watermark",
      "action": "Add watermark to video",
      "description": "Add a watermark image to your video"
    },
    {
      "name": "Clip a Video",
      "value": "Clip a Video",
      "action": "Clip a video",
      "description": "Trim the video to a specific segment (start/end in milliseconds)"
    },
    {
      "name": "Compress Video to Size",
      "value": "Compress video to size",
      "action": "Compress video to size",
      "description": "Reduce your video file to a specific size in MB without losing quality"
    },
    {
      "name": "Crop Video",
      "value": "Crop Video",
      "action": "Crop video to desired size",
      "description": "Crop the video to width/height with optional start position"
    },
    {
      "name": "Fit Video",
      "value": "Fit Video",
      "action": "Fit video to ratio or dimensions",
      "description": "Fit video to different ratios or width/height; optional background"
    },
    {
      "name": "Make Video CTV-Compatible",
      "value": "Make Video CTV-Compatible",
      "action": "Make video ctv compatible",
      "description": "Convert video to meet CTV (Connected TV) requirements"
    },
    {
      "name": "Mute Video",
      "value": "Mute Video",
      "action": "Mute video audio",
      "description": "Set video volume to 0 (mute) or keep original volume"
    },
    {
      "name": "Video Filters and Effects",
      "value": "Video Filters and Effects",
      "action": "Apply effect or filter to video",
      "description": "Apply one of 24+ effects (e.g. vignette, sharpen, noise) to a video"
    },
    {
      "name": "Video FPS Upscale",
      "value": "Video FPS Upscale",
      "action": "Upscale video to 60 FPS",
      "description": "Upscale low FPS video to 60 FPS using Generative AI"
    },
    {
      "name": "Video Highlights",
      "value": "Video Highlights",
      "action": "Create highlights video",
      "description": "Pick segments from a video and concatenate them into one output"
    },
    {
      "name": "Video to GIF",
      "value": "Video to GIF",
      "action": "Convert video to GIF",
      "description": "Convert video to GIF (format GIF)"
    }
  ]

npm_readme:
  # @picsart/n8n-nodes-picsart-creative-apis

  [![npm version](https://img.shields.io/npm/v/@picsart/n8n-nodes-picsart-creative-apis.svg)](https://www.npmjs.com/package/@picsart/n8n-nodes-picsart-creative-apis)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  n8n community nodes for image processing and generation using Picsart APIs.
  ## 💻 Development

  ### Setup
  ```bash
  git clone <repository-url>
  cd n8n-nodes-picsart-creative-apis
  pnpm install
  pnpm run build
  ```

  ### Available Scripts
  ```bash
  pnpm run dev        # Watch mode
  pnpm run build      # Build
  pnpm run lint       # Lint code
  pnpm run lintfix    # Fix linting issues
  ```

  ### Docker Development
  ```bash
  ./rebuild.sh
  # Open http://localhost:5678
  ```

  ## 🚀 Release

  Use the automated release script:

  ```bash
  ./release.sh patch    # Bug fixes (0.1.0 → 0.1.1)
  ./release.sh minor    # New features (0.1.0 → 0.2.0)
  ./release.sh major    # Breaking changes (0.1.0 → 1.0.0)
  ```

  Then push:
  ```bash
  git push && git push --tags
  ```

  CI/CD will automatically publish to npm.

  ## 📖 Resources

  - [Picsart API Documentation](https://docs.picsart.io/)
  - [n8n Documentation](https://docs.n8n.io/)
  - [Creating n8n Nodes](https://docs.n8n.io/integrations/creating-nodes/)
    
  ## Installation

  **For n8n Cloud:**
  1. Settings > Community Nodes > Install
  2. Enter: `@picsart/n8n-nodes-picsart-creative-apis`

  **For Self-hosted:**

  npm install @picsart/n8n-nodes-picsart-creative-apis

  Then restart n8n.

  **Setup Credentials:**
  1. Get API key from [Picsart Console](https://console.picsart.io/dashboard)
  2. In n8n: Settings → Credentials → Add "Picsart API"
  3. Paste your API key


  ## 📚 Nodes

  ### Picsart Text2Image
  Generate images from text prompts using Picsart GenAI API.

  **Key Parameters:**
  - Prompt (required): Text description of the image to generate
  - Width: Image width in pixels (default: 1024, max: 1024)
  - Height: Image height in pixels (default: 1024, max: 1024)

  **Output:** Binary image + JSON with prompt, dimensions, transaction ID, and image URL

  **Documentation:** [Picsart Text2Image API](https://docs.picsart.io/reference/genai-text2image-1)

  ### Picsart Enhance
  Upscale and enhance images with AI.

  **Key Parameters:**
  - Image URL (required, supports JPG/PNG/WEBP)
  - Upscale Factor: 2x, 4x, 6x, 8x, 16x
  - Format: JPG | PNG | WEBP

  **Output:** Binary image + JSON with URL and credits

  ### Picsart Remove Background

  **Key Parameters:**
  - Image URL (required)
  - Output Type: cutout | mask
  - Background: color, image URL, or transparent
  - Effects: blur, stroke, shadow
  - Format: JPG | PNG | WEBP

  **Output:** Binary image + JSON with URL and credits

ai_documentation_summary:
  {"purpose":"This n8n community node package provides three nodes for generating and processing images using the Picsart API, including text-to-image generation, image enhancement, and background removal.","capabilities":["Generate images from text prompts (Text2Image)","Upscale and enhance images (Enhance)","Remove image backgrounds (Remove Background)","Support for JPG, PNG, and WEBP formats","Variable image dimensions for generation","Multiple upscale factors (2x to 16x)","Customizable background options (color, image URL, transparent)"],"authentication":"API key required","commonUseCases":["Creating custom images from descriptive text prompts","Upscaling low-resolution images for print quality","Removing backgrounds for product listings or e-commerce","Batch processing image assets for content creation"],"limitations":["Text2Image generation limited to 1024x1024 maximum dimensions","Enhance and Remove Background nodes require image URLs as input","Background removal supports only specific output types (cutout or mask)"],"relatedNodes":["Picsart Text2Image","Picsart Enhance","Picsart Remove Background"]}


node_type: @picsart/n8n-nodes-picsart-creative-apis.picsartGeneration
package_name: @picsart/n8n-nodes-picsart-creative-apis
display_name: Picsart Generative AI-Hub
description: Generate images and stickers with Picsart API: generate from prompt
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: romiksar
author_github_url: https://github.com/PicsArt/n8n-plugin.git
npm_package_name: @picsart/n8n-nodes-picsart-creative-apis
npm_version: 5.3.2
community_fetched_at: 2026-03-25T21:19:40.750Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "text2Image",
      "options": [
        {
          "name": "text2Image",
          "value": "text2Image",
          "action": "Generate an image from text prompt",
          "description": "Generate an image from a text prompt using AI"
        },
        {
          "name": "text2Sticker",
          "value": "text2Sticker",
          "action": "Generate a sticker from text prompt",
          "description": "Generate a sticker from a text prompt using AI"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "text2Image",
      "value": "text2Image",
      "action": "Generate an image from text prompt",
      "description": "Generate an image from a text prompt using AI"
    },
    {
      "name": "text2Sticker",
      "value": "text2Sticker",
      "action": "Generate a sticker from text prompt",
      "description": "Generate a sticker from a text prompt using AI"
    }
  ]

npm_readme:
  # @picsart/n8n-nodes-picsart-creative-apis

  [![npm version](https://img.shields.io/npm/v/@picsart/n8n-nodes-picsart-creative-apis.svg)](https://www.npmjs.com/package/@picsart/n8n-nodes-picsart-creative-apis)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  n8n community nodes for image processing and generation using Picsart APIs.
  ## 💻 Development

  ### Setup
  ```bash
  git clone <repository-url>
  cd n8n-nodes-picsart-creative-apis
  pnpm install
  pnpm run build
  ```

  ### Available Scripts
  ```bash
  pnpm run dev        # Watch mode
  pnpm run build      # Build
  pnpm run lint       # Lint code
  pnpm run lintfix    # Fix linting issues
  ```

  ### Docker Development
  ```bash
  ./rebuild.sh
  # Open http://localhost:5678
  ```

  ## 🚀 Release

  Use the automated release script:

  ```bash
  ./release.sh patch    # Bug fixes (0.1.0 → 0.1.1)
  ./release.sh minor    # New features (0.1.0 → 0.2.0)
  ./release.sh major    # Breaking changes (0.1.0 → 1.0.0)
  ```

  Then push:
  ```bash
  git push && git push --tags
  ```

  CI/CD will automatically publish to npm.

  ## 📖 Resources

  - [Picsart API Documentation](https://docs.picsart.io/)
  - [n8n Documentation](https://docs.n8n.io/)
  - [Creating n8n Nodes](https://docs.n8n.io/integrations/creating-nodes/)
    
  ## Installation

  **For n8n Cloud:**
  1. Settings > Community Nodes > Install
  2. Enter: `@picsart/n8n-nodes-picsart-creative-apis`

  **For Self-hosted:**

  npm install @picsart/n8n-nodes-picsart-creative-apis

  Then restart n8n.

  **Setup Credentials:**
  1. Get API key from [Picsart Console](https://console.picsart.io/dashboard)
  2. In n8n: Settings → Credentials → Add "Picsart API"
  3. Paste your API key


  ## 📚 Nodes

  ### Picsart Text2Image
  Generate images from text prompts using Picsart GenAI API.

  **Key Parameters:**
  - Prompt (required): Text description of the image to generate
  - Width: Image width in pixels (default: 1024, max: 1024)
  - Height: Image height in pixels (default: 1024, max: 1024)

  **Output:** Binary image + JSON with prompt, dimensions, transaction ID, and image URL

  **Documentation:** [Picsart Text2Image API](https://docs.picsart.io/reference/genai-text2image-1)

  ### Picsart Enhance
  Upscale and enhance images with AI.

  **Key Parameters:**
  - Image URL (required, supports JPG/PNG/WEBP)
  - Upscale Factor: 2x, 4x, 6x, 8x, 16x
  - Format: JPG | PNG | WEBP

  **Output:** Binary image + JSON with URL and credits

  ### Picsart Remove Background

  **Key Parameters:**
  - Image URL (required)
  - Output Type: cutout | mask
  - Background: color, image URL, or transparent
  - Effects: blur, stroke, shadow
  - Format: JPG | PNG | WEBP

  **Output:** Binary image + JSON with URL and credits

ai_documentation_summary:
  {"purpose":"A community n8n node package that enables image generation and manipulation using Picsart's creative APIs, including text-to-image generation, image enhancement, and background removal.","capabilities":["Generate images from text prompts (Text2Image)","Upscale and enhance images (Enhance)","Remove image backgrounds (Remove Background)","Support for JPG, PNG, and WEBP formats","Variable image dimensions for generation","Multiple upscale factors (2x to 16x)","Customizable background options (color, image URL, transparent)"],"authentication":"API Key required (obtained from Picsart Console)","commonUseCases":["Creating images from descriptive text prompts for content generation","Upscaling low-resolution images for high-quality output","Removing backgrounds from product photos or illustrations","Batch processing image enhancements in automated workflows"],"limitations":["Text2Image generation is limited to 1024x1024 pixel dimensions","Enhance and Remove Background nodes require input image URLs","Background removal supports limited effect types (blur, stroke, shadow)","No specific rate limits mentioned in documentation"],"relatedNodes":["Picsart Text2Image","Picsart Enhance","Picsart Remove Background","n8n Binary Node","n8n HTTP Request Node"]}


node_type: @socradar/n8n-nodes-socradar.socradar
package_name: @socradar/n8n-nodes-socradar
display_name: SOCRadar
description: Comprehensive SOCRadar API integration
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: ahmetkurukose
author_github_url: https://github.com/socradar-io/n8n-nodes-socradar.git
npm_package_name: @socradar/n8n-nodes-socradar
npm_version: 1.8.7
community_fetched_at: 2026-03-25T21:19:40.750Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "incident",
      "options": [
        {
          "name": "Incident",
          "value": "incident"
        },
        {
          "name": "Takedown",
          "value": "takedown"
        },
        {
          "name": "User Audit Logs",
          "value": "auditLogs"
        },
        {
          "name": "Digital Footprint",
          "value": "digitalFootprint"
        },
        {
          "name": "Dark Web Monitoring",
          "value": "darkWebMonitoring"
        },
        {
          "name": "DRP Fraud Protection",
          "value": "fraudProtection"
        },
        {
          "name": "Brand Protection",
          "value": "brandProtection"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all user audit logs",
          "description": "Get all user audit logs"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "auditLogs"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getBrandProtection",
      "options": [
        {
          "name": "Get Brand Protection",
          "value": "getBrandProtection",
          "action": "Get brand protection data by type",
          "description": "Get brand protection data by type"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "brandProtection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getBotnetData",
      "options": [
        {
          "name": "Get Botnet Data",
          "value": "getBotnetData",
          "action": "Get botnet data",
          "description": "Get botnet data"
        },
        {
          "name": "Get Blackmarket Data",
          "value": "getBlackmarket",
          "action": "Get blackmarket data",
          "description": "Get blackmarket data"
        },
        {
          "name": "Get Suspicious Content",
          "value": "getSuspiciousContent",
          "action": "Get suspicious content",
          "description": "Get suspicious content"
        },
        {
          "name": "Get PII Exposure",
          "value": "getPiiExposure",
          "action": "Get PII exposure data",
          "description": "Get PII exposure data"
        },
        {
          "name": "Get IM Content",
          "value": "getImContent",
          "action": "Get IM content",
          "description": "Get IM content"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "darkWebMonitoring"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDigitalAssets",
      "options": [
        {
          "name": "Get Digital Assets",
          "value": "getDigitalAssets",
          "action": "Get all digital assets",
          "description": "Get all digital assets"
        },
        {
          "name": "Add Asset",
          "value": "addAsset",
          "action": "Add a new digital asset",
          "description": "Add a new digital asset"
        },
        {
          "name": "Mark False Positive",
          "value": "markFalsePositive",
          "action": "Mark an asset as false positive",
          "description": "Mark an asset as false positive"
        },
        {
          "name": "Toggle Monitoring",
          "value": "toggleMonitoring",
          "action": "Toggle monitoring for an asset",
          "description": "Toggle monitoring for an asset"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "digitalFootprint"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getFraudProtection",
      "options": [
        {
          "name": "Get Fraud Protection",
          "value": "getFraudProtection",
          "action": "Get fraud protection data",
          "description": "Get fraud protection data"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "fraudProtection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get All",
          "value": "getAll",
          "action": "Get all incidents",
          "description": "Get all incidents"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a single incident",
          "description": "Get a single incident"
        },
        {
          "name": "Add Comment",
          "value": "addComment",
          "action": "Add a comment to an incident",
          "description": "Add a comment to an incident"
        },
        {
          "name": "Add Tag",
          "value": "addTag",
          "action": "Add a tag to an incident",
          "description": "Add a tag to an incident"
        },
        {
          "name": "Remove Tag",
          "value": "removeTag",
          "action": "Remove a tag from an incident",
          "description": "Remove a tag from an incident"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "incident"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createDomain",
      "options": [
        {
          "name": "Create Domain Takedown",
          "value": "createDomain",
          "action": "Create a domain takedown request",
          "description": "Create a domain takedown request"
        },
        {
          "name": "Create Social Media Takedown",
          "value": "createSocialMedia",
          "action": "Create a social media takedown request",
          "description": "Create a social media takedown request"
        },
        {
          "name": "Create Source Code Leak Takedown",
          "value": "createSourceCode",
          "action": "Create a source code leak takedown request",
          "description": "Create a source code leak takedown request"
        },
        {
          "name": "Get Progress",
          "value": "getProgress",
          "action": "Get takedown request progress",
          "description": "Get takedown request progress"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "takedown"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all user audit logs",
      "description": "Get all user audit logs"
    },
    {
      "name": "Get Brand Protection",
      "value": "getBrandProtection",
      "action": "Get brand protection data by type",
      "description": "Get brand protection data by type"
    },
    {
      "name": "Get Botnet Data",
      "value": "getBotnetData",
      "action": "Get botnet data",
      "description": "Get botnet data"
    },
    {
      "name": "Get Blackmarket Data",
      "value": "getBlackmarket",
      "action": "Get blackmarket data",
      "description": "Get blackmarket data"
    },
    {
      "name": "Get Suspicious Content",
      "value": "getSuspiciousContent",
      "action": "Get suspicious content",
      "description": "Get suspicious content"
    },
    {
      "name": "Get PII Exposure",
      "value": "getPiiExposure",
      "action": "Get PII exposure data",
      "description": "Get PII exposure data"
    },
    {
      "name": "Get IM Content",
      "value": "getImContent",
      "action": "Get IM content",
      "description": "Get IM content"
    },
    {
      "name": "Get Digital Assets",
      "value": "getDigitalAssets",
      "action": "Get all digital assets",
      "description": "Get all digital assets"
    },
    {
      "name": "Add Asset",
      "value": "addAsset",
      "action": "Add a new digital asset",
      "description": "Add a new digital asset"
    },
    {
      "name": "Mark False Positive",
      "value": "markFalsePositive",
      "action": "Mark an asset as false positive",
      "description": "Mark an asset as false positive"
    },
    {
      "name": "Toggle Monitoring",
      "value": "toggleMonitoring",
      "action": "Toggle monitoring for an asset",
      "description": "Toggle monitoring for an asset"
    },
    {
      "name": "Get Fraud Protection",
      "value": "getFraudProtection",
      "action": "Get fraud protection data",
      "description": "Get fraud protection data"
    },
    {
      "name": "Get All",
      "value": "getAll",
      "action": "Get all incidents",
      "description": "Get all incidents"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a single incident",
      "description": "Get a single incident"
    },
    {
      "name": "Add Comment",
      "value": "addComment",
      "action": "Add a comment to an incident",
      "description": "Add a comment to an incident"
    },
    {
      "name": "Add Tag",
      "value": "addTag",
      "action": "Add a tag to an incident",
      "description": "Add a tag to an incident"
    },
    {
      "name": "Remove Tag",
      "value": "removeTag",
      "action": "Remove a tag from an incident",
      "description": "Remove a tag from an incident"
    },
    {
      "name": "Create Domain Takedown",
      "value": "createDomain",
      "action": "Create a domain takedown request",
      "description": "Create a domain takedown request"
    },
    {
      "name": "Create Social Media Takedown",
      "value": "createSocialMedia",
      "action": "Create a social media takedown request",
      "description": "Create a social media takedown request"
    },
    {
      "name": "Create Source Code Leak Takedown",
      "value": "createSourceCode",
      "action": "Create a source code leak takedown request",
      "description": "Create a source code leak takedown request"
    },
    {
      "name": "Get Progress",
      "value": "getProgress",
      "action": "Get takedown request progress",
      "description": "Get takedown request progress"
    }
  ]

npm_readme:
  # n8n-nodes-socradar

  This is an n8n community node for integrating with the SOCRadar API. It provides a comprehensive node to interact with SOCRadar's services.

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

  [SOCRadar](https://socradar.io/) is a Digital Risk Protection Platform that provides threat intelligence, brand protection, attack surface management, and other cybersecurity services.

  ## SOCRadar n8n Integration

  This is a community node for n8n that integrates with SOCRadar's API. It provides access to SOCRadar's services

  ## Features

  ### Incident Management
  - **Comprehensive API Support**: Single consolidated node supporting all incident operations
  - **Advanced Filtering Options**:
    - Filter by status, severity, resolution state
    - Date range filtering
    - Sorting capabilities
    - Tag-based filtering
  - **Operations**:
    - Get All Incidents
    - Get Single Incident
    - Add Comment
    - Add Tag
    - Remove Tag

  ### Takedown Services
  - Create and manage takedown requests
  - Filter and retrieve takedown status
  - **Operations**:
    - Create Takedown Request
    - Get Single Takedown
    - Get All Takedowns
    - Update Takedown Status
    - Add Tags

  ### Digital Footprint
  - Discover and manage digital assets across your organization
  - Monitor cloud resources, domains, and other digital assets
  - **Advanced Filtering Options**:
    - Filter by asset type (Domain, IP, URL, Cloud Bucket)
    - Pagination support
    - Sorting capabilities
    - Status filtering
  - **Operations**:
    - Get Digital Assets
    - Get Cloud Buckets
    - Add Asset (Domain, Cloud Bucket)
    - Mark False Positive
    - Toggle Monitoring

  ### Brand Protection
  - Monitor and protect your brand across digital channels
  - **Advanced Detection**:
    - Impersonating Accounts
    - Impersonating Domains
    - Rogue Mobile Applications
    - Bad Reputation
    - Social Media Findings
  - **Operations**:
    - Get Brand Protection Data
    - Filter by Finding Type
    - Sort by Risk Score

  ### Fraud Protection
  - Detect and prevent digital fraud attempts
  - **Comprehensive Coverage**:
    - Phishing Detection
    - Scam Detection
    - Brand Abuse
    - Payment Fraud
  - **Operations**:
    - Get Fraud Protection Data
    - Filter by Risk Level
    - Sort by Detection Time

  ### Dark Web Monitoring
  - Monitor dark web for sensitive information
  - **Data Sources**:
    - Botnet Data
    - Blackmarket Data
    - Suspicious Content
    - PII Exposure
    - IM Content
  - **Operations**:
    - Get Dark Web Findings
    - Filter by Source Type
    - Sort by Relevance

  ### User Audit Logs
  - Retrieve user activity logs for compliance and security monitoring
  - **Advanced Filtering Options**:
    - Date range filtering
    - Limit number of records
    - Activity type filtering
  - **Operations**:
    - Get All User Audit Logs
    - Filter by Date Range
    - Filter by Activity Type

  ## Prerequisites

  - n8n v1.0.0 or later
  - SOCRadar API credentials

  ## Installation

  Follow these steps to install this custom node:

  ```bash
  # Install with npm
  npm install @socradar/n8n-nodes-socradar

  # Install with pnpm
  pnpm add @socradar/n8n-nodes-socradar

  # Alternatively, for n8n installed globally
  npm install -g @socradar/n8n-nodes-socradar
  ```

  For Docker-based n8n installations, you can use the [n8n-docker-custom](https://github.com/n8n-io/n8n-docker-custom) approach.

  ## Usage

  ### Authentication
  The SOCRadar node requires SOCRadar API credentials:
  1. API Key: Your SOCRadar API key
  2. Company ID: Your SOCRadar company identifier

  ### SOCRadar Node
  The consolidated SOCRadar node provides access to all SOCRadar Extended Threat Intelligence platform features:

  - **Resource**: Choose from:
    - Incident Management
    - Takedown Management
    - Digital Footprint
    - Brand Protection
    - Fraud Protection
    - Dark Web Monitoring
    - User Audit Logs
  - **Operation**: Select the specific operation to perform
  - **Parameters**: Configure operation-specific parameters

  ## Version History

  - **1.8.7**: Fix public github url
  - **1.8.6**: Added repository link and improved package structure for n8n compatibility
  - **1.8.5**: Removed external dependencies (axios, dotenv) in favor of n8n's built-in functionality
  - **1.8.4**: Fixed credential icon display issue
  - **1.8.2**: Fixed README.md with correct package name and latest features
  - **1.8.1**: Optimized build process and improved CI/CD pipeline
  - **1.8.0**: Enhanced Digital Footprint API integration with improved asset type handling
  - **1.7.0**: Added Brand Protection API V2 support with comprehensive filtering
  - **1.6.0**: Added Fraud Protection API V2 support
  - **1.5.0**: Added Dark Web Monitoring API V2 support
  - **1.4.0**: Added Digital Footprint API support
  - **1.3.0**: Added User Audit Logs API support
  - **1.2.0**: Consolidated all functionality into a single SOCRadar node
  - **1.1.0**: Added Takedown API support
  - **1.0.0**: Initial release with Incident API support

  ## Credentials

  You need to create a credentials entry with your SOCRadar API key:

  1. Go to **Credentials** in n8n
  2. Select **Create New**
  3. Search for "SOCRadar API"
  4. Enter your API key from the SOCRadar platform
  5. Save the credentials

  ## Support

  For issues, feature requests, or questions about this node package:
  - Contact SOCRadar support at support@socradar.io

  ## License

  This node package is released under the [MIT License](LICENSE.md).

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with the SOCRadar API to provide comprehensive threat intelligence, brand protection, and cybersecurity services within workflow automation.","capabilities":["Incident Management (Get All/Single, Add/Remove Comments/Tags, Filter by Status/Severity/Tags)","Takedown Request Management (Create, Get, Update Status, Add Tags)","Digital Footprint Monitoring (Get Assets/Buckets, Add Assets, Mark False Positive, Toggle Monitoring)","Brand Protection (Detect Impersonating Accounts/Domains/Apps, Social Media Findings, Filter by Type)","Fraud Protection (Phishing/Scam Detection, Brand Abuse, Payment Fraud, Filter by Risk Level)","Dark Web Monitoring (Monitor Botnet/Blackmarket/PII/IM Content, Filter by Source)","User Audit Logs (Retrieve Activity Logs, Filter by Date Range/Activity Type)"],"authentication":"API Key and Company ID required via n8n Credentials entry","commonUseCases":["Automated incident tracking and response workflows","Brand reputation monitoring and protection","Digital asset discovery and threat detection","Fraud prevention and phishing detection","Compliance monitoring via user audit logs"],"limitations":["Requires n8n v1.0.0 or later","Single consolidated node may lack granular control over specific API versions compared to separate nodes","No built-in error handling or retry logic mentioned in README"],"relatedNodes":["SOCRadar API","n8n Credentials","n8n Community Nodes"]}


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

updated_at: 2026-03-25 21:19:40
author_name: sysmonitor
author_github_url: https://github.com/CaspioInnovations/n8n-node-caspioofficial.git
npm_package_name: n8n-nodes-caspioofficial
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:40.751Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "record",
      "options": [
        {
          "name": "Attachment",
          "value": "attachment"
        },
        {
          "name": "Data Import/Export Task",
          "value": "task"
        },
        {
          "name": "Directory",
          "value": "directory"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Record",
          "value": "record"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMany",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create record",
          "description": "Create a new record in a table"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete records",
          "description": "Delete a record from a table"
        },
        {
          "name": "Get Many",
          "value": "getMany",
          "action": "Get many records",
          "description": "Returns records from a table or a view"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update records",
          "description": "Update a record in a table"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "record"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listFiles",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete file",
          "description": "Delete a file from Files area"
        },
        {
          "name": "Download",
          "value": "download",
          "action": "Download file",
          "description": "Download a file from Files area"
        },
        {
          "name": "Get File Properties",
          "value": "listFiles",
          "action": "Get file properties",
          "description": "Returns file properties from Fiels area"
        },
        {
          "name": "Get Folder Properties",
          "value": "listFolders",
          "action": "Get folder properties",
          "description": "Returns folder properties from Files area"
        },
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload file",
          "description": "Upload a file to Files area"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete attachments",
          "description": "Delete files from an attachment field"
        },
        {
          "name": "Download",
          "value": "download",
          "action": "Download attachments",
          "description": "Download files from an attachment field"
        },
        {
          "name": "Get Properties",
          "value": "list",
          "action": "Get attachment properties",
          "description": "Returns file properties stored in an attachment field"
        },
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload attachment",
          "description": "Upload a file to an attachment field"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "attachment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get Many",
          "value": "get",
          "action": "Get many data import export tasks",
          "description": "Returns the list of data import/export tasks"
        },
        {
          "name": "Run",
          "value": "run",
          "action": "Run data import export task",
          "description": "Run a chosen data import export task"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getUsers",
      "options": [
        {
          "name": "Activate User",
          "value": "activateUser",
          "action": "Activate user",
          "description": "Activate a user in a directory"
        },
        {
          "name": "Create User",
          "value": "createUser",
          "action": "Create user",
          "description": "Create a new user in a directory"
        },
        {
          "name": "Delete User",
          "value": "deleteUsers",
          "action": "Delete users",
          "description": "Delete users from a directory"
        },
        {
          "name": "Get Many Directories",
          "value": "list",
          "action": "Get many directories",
          "description": "Returns the list of directories"
        },
        {
          "name": "Get Many Users",
          "value": "getUsers",
          "action": "Get many users",
          "description": "Returns the list of users in a directory"
        },
        {
          "name": "Update User",
          "value": "updateUsers",
          "action": "Update users",
          "description": "Update a user in a directory"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "directory"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create record",
      "description": "Create a new record in a table"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete records",
      "description": "Delete a record from a table"
    },
    {
      "name": "Get Many",
      "value": "getMany",
      "action": "Get many records",
      "description": "Returns records from a table or a view"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update records",
      "description": "Update a record in a table"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete file",
      "description": "Delete a file from Files area"
    },
    {
      "name": "Download",
      "value": "download",
      "action": "Download file",
      "description": "Download a file from Files area"
    },
    {
      "name": "Get File Properties",
      "value": "listFiles",
      "action": "Get file properties",
      "description": "Returns file properties from Fiels area"
    },
    {
      "name": "Get Folder Properties",
      "value": "listFolders",
      "action": "Get folder properties",
      "description": "Returns folder properties from Files area"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload file",
      "description": "Upload a file to Files area"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete attachments",
      "description": "Delete files from an attachment field"
    },
    {
      "name": "Download",
      "value": "download",
      "action": "Download attachments",
      "description": "Download files from an attachment field"
    },
    {
      "name": "Get Properties",
      "value": "list",
      "action": "Get attachment properties",
      "description": "Returns file properties stored in an attachment field"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload attachment",
      "description": "Upload a file to an attachment field"
    },
    {
      "name": "Get Many",
      "value": "get",
      "action": "Get many data import export tasks",
      "description": "Returns the list of data import/export tasks"
    },
    {
      "name": "Run",
      "value": "run",
      "action": "Run data import export task",
      "description": "Run a chosen data import export task"
    },
    {
      "name": "Activate User",
      "value": "activateUser",
      "action": "Activate user",
      "description": "Activate a user in a directory"
    },
    {
      "name": "Create User",
      "value": "createUser",
      "action": "Create user",
      "description": "Create a new user in a directory"
    },
    {
      "name": "Delete User",
      "value": "deleteUsers",
      "action": "Delete users",
      "description": "Delete users from a directory"
    },
    {
      "name": "Get Many Directories",
      "value": "list",
      "action": "Get many directories",
      "description": "Returns the list of directories"
    },
    {
      "name": "Get Many Users",
      "value": "getUsers",
      "action": "Get many users",
      "description": "Returns the list of users in a directory"
    },
    {
      "name": "Update User",
      "value": "updateUsers",
      "action": "Update users",
      "description": "Update a user in a directory"
    }
  ]

npm_readme:
  # n8n-nodes-caspioofficial

  This is an n8n community node for integrating with [Caspio](https://www.caspio.com/). Caspio is a low-code platform that helps you create custom business applications fast, combining database management, application building, and workflow automation in a single platform.

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

  ## Installation

  ### Community Nodes (n8n Cloud)

  For verified community nodes on n8n Cloud:

  1. Open your n8n workflow editor
  2. Select the **+** button or press **Tab** to open the nodes panel
  3. Search for "Caspio" and select it
  4. Select **Install** to add the node

  ### Self-Hosted

  For self-hosted n8n instances:

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter the npm package name: `n8n-nodes-caspioofficial`
  4. Agree to the risks of installing community nodes
  5. Select **Install**

  Note: Only the instance owner can install community nodes. Admin accounts can uninstall nodes if needed.

  ## Documentation

  This node provides comprehensive integration with Caspio's REST API:

  - **[Credentials Setup](https://howto.caspio.com/integrate-your-apps/integration-with-n8n/n8n-integration-credentials)** - Configure OAuth2 authentication with your Caspio account
  - **[Action Node Operations](https://howto.caspio.com/integrate-your-apps/integration-with-n8n/n8n-integration-actions)** - Work with tables, views, directories, files, attachments, and tasks
  - **[Trigger Node Setup](https://howto.caspio.com/integrate-your-apps/integration-with-n8n/n8n-integration-triggers)** - Set up webhooks for real-time event notifications

  ## Compatibility

  This node uses Caspio REST API v3.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Caspio REST API documentation](https://howto.caspio.com/web-services-api/rest-api/)
  - [Caspio homepage](https://www.caspio.com/)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with Caspio's REST API v3 for integrating low-code business applications with n8n workflows.","capabilities":["OAuth2 authentication with Caspio accounts","Work with Caspio tables","Work with Caspio views","Work with Caspio directories","Work with Caspio files","Work with Caspio attachments","Work with Caspio tasks","Set up webhooks for real-time event notifications"],"authentication":"OAuth2","commonUseCases":["Automate data entry and updates in Caspio applications","Trigger Caspio workflows via n8n webhooks","Sync data between n8n and Caspio databases","Manage Caspio files and attachments programmatically"],"limitations":["Requires manual installation via npm package (n8n-nodes-caspioofficial)","Only available as a community node (not official n8n node)","Limited to Caspio REST API v3"],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Credentials"]}


node_type: n8n-nodes-documentero.documentero
package_name: n8n-nodes-documentero
display_name: Documentero
description: Generate Word, Excel or PDF Document based on Document Template. Get API Key from Documentero APP
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: documentero
author_github_url: https://github.com/documentero/
npm_package_name: n8n-nodes-documentero
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:40.752Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate Document",
          "value": "generate",
          "action": "Generate document"
        },
        {
          "name": "Generate Document and Send as Email Attachment",
          "value": "generateAndEmail",
          "action": "Generate document and send as email attachment"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Generate Document",
      "value": "generate",
      "action": "Generate document"
    },
    {
      "name": "Generate Document and Send as Email Attachment",
      "value": "generateAndEmail",
      "action": "Generate document and send as email attachment"
    }
  ]

npm_readme:
  # n8n-nodes-documentero

  An n8n community node that integrates the **Documentero API - Document Generation** into your workflows.

  [Documentero – Document Generation](https://documentero.com) is a cloud-based document generation service. Generate Word, Excel, and PDF documents from ****.docx/.xlsx templates** via API. Templates support dynamic fields, tables, formulas, conditional sections, images, HTML, Markdown, and QR codes.

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

  ## Installation

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

  ## Operations

  Supported operations:

  - **Generate Document** — Populate a .xlsx or .docx template and generate a document.
  - **Generate and Email Document** — Populate a .xlsx or .docx template and send the generated document as an email attachment.

  Response fields:

  - **data (binary)** — The generated document as a binary file (.docx / .pdf / .xlsx). JSON metadata from the API response is returned alongside the binary; base64 content is removed.

  ## Credentials

  Obtain your API key for Documentero:

  1. Log in: https://app.documentero.com/login
  2. Open Account Settings: https://app.documentero.com/admin/account
  3. Copy the API key assigned to your account.
     
  	![Documentero API Key Location](assets/documenteroapikey.png)

  4. Use this API key when creating the n8n credentials for the node.
     
  	![Documentero n8n Connection](assets/n8napikey.png)

  ## Usage

  - Create or upload template(s) (.docx/.xlsx) in your Documentero account: https://app.documentero.com
    
  	![Documentero Sample Template](assets/documenterosample.png)

  - Optional: After adding the template, set the output format and default filename on the template overview page in Documentero.
  - Add a Documentero node to your workflow.
    
  	![Documentero Workflow](assets/n8nflow.png)

  - Choose an operation:
  	- Generate Document — pass the generated file to downstream nodes (e.g., OneDrive, Google Drive, Outlook).
  	- Generate and Email Document — let Documentero email the generated file for you.
  - Select the template to use from the “Document Template” dropdown.
  - In Documentero (Template Overview → API/JSON), copy the JSON structure and paste it into the node’s Data (JSON) field, then fill in values.
    
  	![Documentero Template Overview](assets/documenterodef.png)

  - Run the workflow.
  - The node outputs the generated file under binary > data for further processing (.docx / .pdf / .xlsx).

  	![Documentero Flow](assets/n8nnodesample.png)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Documentero Homepage](https://documentero.com)
  * [Documentero App](https://app.documentero.com)
  * [Documentero Docs](https://docs.documentero.com)

  ## License

  MIT © Documentero

ai_documentation_summary:
  {"purpose":"This n8n community node integrates the Documentero API to generate Word, Excel, or PDF documents from templates populated with dynamic data.","capabilities":["Generate documents from .docx or .xlsx templates","Output documents in Word, Excel, or PDF formats","Support dynamic fields, tables, formulas, conditional sections, images, HTML, Markdown, and QR codes in templates","Generate and email documents directly as attachments","Return generated files as binary data for downstream processing"],"authentication":"API key required (obtained from Documentero app account settings)","commonUseCases":["Automated invoice or contract generation","Creating personalized marketing materials","Generating reports with dynamic data","Sending document attachments via email workflows"],"limitations":["Limited to document generation; no direct editing of existing documents","Templates must be pre-uploaded to Documentero account","Requires external API key management"],"relatedNodes":["n8n-nodes-base.binary","n8n-nodes-base.email","n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


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-03-25 21:19:40
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-03-25T21:19:40.752Z
ai_summary_generated_at: 2026-03-25 22:51:43
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":"This n8n community node enables automation of customer relationship management tasks by allowing integration with the Dalil AI CRM platform.","capabilities":["Create, Update, Delete, Get, Get Many operations for People","Create, Update, Delete, Get, Get Many operations for Company","Create, Update, Delete, Get, Get Many operations for Opportunity","Create, Update, Delete, Get, Get Many operations for Task","Create, Update, Delete, Get, Get Many operations for Note","Create, Update, Delete, Get, Get Many operations for Task Target Relations","Create, Update, Delete, Get, Get Many operations for Note Target Relations","Create, Update, Delete, Get, Get Many operations for Pipeline","Real-time webhook notifications for data changes","Many-to-many relationship management between tasks and records"],"authentication":"API Key required","commonUseCases":["Automating customer contact management and lead tracking","Managing sales pipeline and opportunity tracking","Automating task assignments and follow-ups","Storing and linking meeting notes to customers and deals","Creating custom workflow processes and support tickets"],"limitations":[],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-webhook","n8n-nodes-crm"]}


node_type: n8n-nodes-dart.dart
package_name: n8n-nodes-dart
display_name: Dart
description: Dart streamlines project management so your team can get back to work that matters.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: dart-software
author_github_url: https://github.com/its-dart/
npm_package_name: n8n-nodes-dart
npm_version: 0.2.4
community_fetched_at: 2026-03-25T21:19:40.753Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Attachment",
      "options": [
        {
          "name": "Attachment",
          "value": "Attachment"
        },
        {
          "name": "Comment",
          "value": "Comment"
        },
        {
          "name": "Config",
          "value": "Config"
        },
        {
          "name": "Dartboard",
          "value": "Dartboard"
        },
        {
          "name": "Doc",
          "value": "Doc"
        },
        {
          "name": "Folder",
          "value": "Folder"
        },
        {
          "name": "Help Center Article",
          "value": "Help Center Article"
        },
        {
          "name": "Skill",
          "value": "Skill"
        },
        {
          "name": "Task",
          "value": "Task"
        },
        {
          "name": "View",
          "value": "View"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Task Comment",
      "options": [
        {
          "name": "Add Task Comment",
          "value": "Add Task Comment",
          "action": "Create a new comment",
          "routing": {
            "request": {
              "url": "=/comments",
              "method": "POST"
            }
          },
          "description": "Record a new comment that the user intends to add to a given task. This will save the comment in Dart for later access, search, etc."
        },
        {
          "name": "List Comments",
          "value": "List Comments",
          "action": "List comments",
          "routing": {
            "request": {
              "url": "=/comments/list",
              "method": "GET"
            }
          },
          "description": "List comments for a task with filtering options. Filter by author, text content, or date range. Sort by date or hierarchical thread order. Task ID required. Supports pagination."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Comment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Config",
      "options": [
        {
          "name": "Get Config",
          "value": "Get Config",
          "action": "Get user space configuration",
          "routing": {
            "request": {
              "url": "=/config",
              "method": "GET"
            }
          },
          "description": "Get information about the user's space, including all of the possible values that can be provided to other endpoints"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Config"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Dartboard",
      "options": [
        {
          "name": "Get Dartboard",
          "value": "Get Dartboard",
          "action": "Retrieve an existing dartboard",
          "routing": {
            "request": {
              "url": "=/dartboards/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing dartboard. This will return the dartboard's information, including the title and description."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Dartboard"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Doc",
      "options": [
        {
          "name": "Create Doc",
          "value": "Create Doc",
          "action": "Create a new doc",
          "routing": {
            "request": {
              "url": "=/docs",
              "method": "POST"
            }
          },
          "description": "Record a new doc that the user intends to write down. This will save the doc in Dart for later access, search, etc. By default the created doc will be in the Docs folder. More information can be included in the text."
        },
        {
          "name": "Delete Doc",
          "value": "Delete Doc",
          "action": "Delete an existing doc",
          "routing": {
            "request": {
              "url": "=/docs/{{$parameter[\"id\"]}}",
              "method": "DELETE"
            }
          },
          "description": "Move an existing doc to the trash, where it can be recovered if needed. Nothing else about the doc will be changed."
        },
        {
          "name": "Get Doc",
          "value": "Get Doc",
          "action": "Retrieve an existing doc",
          "routing": {
            "request": {
              "url": "=/docs/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing doc. This will return the doc's information, including the title, folder, text and others."
        },
        {
          "name": "List Docs",
          "value": "List Docs",
          "action": "List docs",
          "routing": {
            "request": {
              "url": "=/docs/list",
              "method": "GET"
            }
          },
          "description": "List docs with filtering and search capabilities. Filter by folder, title, text content, or use full-text search. Sort by creation/update date or title. Supports pagination."
        },
        {
          "name": "Update Doc",
          "value": "Update Doc",
          "action": "Update an existing doc",
          "routing": {
            "request": {
              "url": "=/docs/{{$parameter[\"id\"]}}",
              "method": "PUT"
            }
          },
          "description": "Update certain properties of an existing doc. This will save the doc in Dart for later access, search, etc. Any properties that are not specified will not be changed."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Folder",
      "options": [
        {
          "name": "Get Folder",
          "value": "Get Folder",
          "action": "Retrieve an existing folder",
          "routing": {
            "request": {
              "url": "=/folders/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing folder. This will return the folder's information, including the title, description, all docs within it, and others."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "List Help Center Articles",
      "options": [
        {
          "name": "List Help Center Articles",
          "value": "List Help Center Articles",
          "action": "List help center articles by query",
          "routing": {
            "request": {
              "url": "=/help-center-articles/list",
              "method": "GET"
            }
          },
          "description": "Search for up to two help center articles by their semantic similarity to a short (1-5 word) query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Help Center Article"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Retrieve Skill By Title",
      "options": [
        {
          "name": "Retrieve Skill By Title",
          "value": "Retrieve Skill By Title",
          "action": "Retrieve a skill by title",
          "routing": {
            "request": {
              "url": "=/skills/by-title",
              "method": "GET"
            }
          },
          "description": "Retrieve a skill by its title. Skills are user-defined instructions or templates for performing specific task types in the workspace. Returns the skill's title and instructions if found."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Skill"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Task Time Tracking",
      "options": [
        {
          "name": "Add Task Time Tracking",
          "value": "Add Task Time Tracking",
          "action": "Add a time tracking entry to a task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}/time-tracking",
              "method": "POST"
            }
          },
          "description": "Record an additional time tracking entry on a task and return the updated task with refreshed time tracking"
        },
        {
          "name": "Create Task",
          "value": "Create Task",
          "action": "Create a new task",
          "routing": {
            "request": {
              "url": "=/tasks",
              "method": "POST"
            }
          },
          "description": "Record a new task that the user intends to do. By default the task will be assigned to the current user, have an unstarted status, have no parent, and be in the default dartboard. More information can be included in the description."
        },
        {
          "name": "Delete Task",
          "value": "Delete Task",
          "action": "Delete an existing task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}",
              "method": "DELETE"
            }
          },
          "description": "Move an existing task to the trash, where it can be recovered if needed. Nothing else about the task will be changed."
        },
        {
          "name": "Get Task",
          "value": "Get Task",
          "action": "Retrieve an existing task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing task. This will return the task's information, including the title, dartboard, status, description and others."
        },
        {
          "name": "List Tasks",
          "value": "List Tasks",
          "action": "List tasks",
          "routing": {
            "request": {
              "url": "=/tasks/list",
              "method": "GET"
            }
          },
          "description": "List tasks with powerful filtering options. Filter by dartboard, status, assignee, tags, priority, dates, completion state, view, and more. Supports pagination with limit/offset."
        },
        {
          "name": "Move Task",
          "value": "Move Task",
          "action": "Move a task within its dartboard",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}/move",
              "method": "POST"
            }
          },
          "description": "Move a task to a specific position within results sorted by the order field. Use afterTaskId to place the task after a specific task, or beforeTaskId to place it before one."
        },
        {
          "name": "Update Task",
          "value": "Update Task",
          "action": "Update an existing task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}",
              "method": "PUT"
            }
          },
          "description": "Update properties of an existing task. For customProperties, use property NAME (not ID) as key. Get property names from workspace config. Example: {\"customTextProperty\": \"Some text\"}. Fields not provided are unchanged."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Task Attachment From Url",
      "options": [
        {
          "name": "Add Task Attachment From Url",
          "value": "Add Task Attachment From Url",
          "action": "Attach a file from a provided URL to a task",
          "routing": {
            "request": {
              "url": "=/tasks/{{$parameter[\"id\"]}}/attachments/from-url",
              "method": "POST"
            }
          },
          "description": "Attach a file from a provided URL to a task. The file will be downloaded and attached asynchronously. This operation may take a few moments to complete."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Attachment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get View",
      "options": [
        {
          "name": "Get View",
          "value": "Get View",
          "action": "Retrieve an existing view",
          "routing": {
            "request": {
              "url": "=/views/{{$parameter[\"id\"]}}",
              "method": "GET"
            }
          },
          "description": "Retrieve an existing view. This will return the view's information, including the title, description, and others."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "View"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /comments",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Comment"
          ],
          "operation": [
            "Add Task Comment"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /comments/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Comment"
          ],
          "operation": [
            "List Comments"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /config",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Config"
          ],
          "operation": [
            "Get Config"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /dartboards/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Dartboard"
          ],
          "operation": [
            "Get Dartboard"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /docs",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Create Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /docs/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Get Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /docs/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Update Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /docs/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "Delete Doc"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /docs/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Doc"
          ],
          "operation": [
            "List Docs"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /folders/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Folder"
          ],
          "operation": [
            "Get Folder"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /help-center-articles/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Help Center Article"
          ],
          "operation": [
            "List Help Center Articles"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /skills/by-title",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Skill"
          ],
          "operation": [
            "Retrieve Skill By Title"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Create Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tasks/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Get Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "PUT /tasks/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Update Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "DELETE /tasks/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Delete Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks/{ID}/attachments/from-url",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Attachment"
          ],
          "operation": [
            "Add Task Attachment From Url"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks/{ID}/move",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Move Task"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "POST /tasks/{ID}/time-tracking",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "Add Task Time Tracking"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /tasks/list",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "Task"
          ],
          "operation": [
            "List Tasks"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "notice",
      "default": "",
      "displayName": "GET /views/{ID}",
      "typeOptions": {
        "theme": "info"
      },
      "displayOptions": {
        "show": {
          "resource": [
            "View"
          ],
          "operation": [
            "Get View"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "name": "Add Task Comment",
      "value": "Add Task Comment",
      "action": "Create a new comment",
      "routing": {
        "request": {
          "url": "=/comments",
          "method": "POST"
        }
      },
      "description": "Record a new comment that the user intends to add to a given task. This will save the comment in Dart for later access, search, etc."
    },
    {
      "name": "List Comments",
      "value": "List Comments",
      "action": "List comments",
      "routing": {
        "request": {
          "url": "=/comments/list",
          "method": "GET"
        }
      },
      "description": "List comments for a task with filtering options. Filter by author, text content, or date range. Sort by date or hierarchical thread order. Task ID required. Supports pagination."
    },
    {
      "name": "Get Config",
      "value": "Get Config",
      "action": "Get user space configuration",
      "routing": {
        "request": {
          "url": "=/config",
          "method": "GET"
        }
      },
      "description": "Get information about the user's space, including all of the possible values that can be provided to other endpoints"
    },
    {
      "name": "Get Dartboard",
      "value": "Get Dartboard",
      "action": "Retrieve an existing dartboard",
      "routing": {
        "request": {
          "url": "=/dartboards/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing dartboard. This will return the dartboard's information, including the title and description."
    },
    {
      "name": "Create Doc",
      "value": "Create Doc",
      "action": "Create a new doc",
      "routing": {
        "request": {
          "url": "=/docs",
          "method": "POST"
        }
      },
      "description": "Record a new doc that the user intends to write down. This will save the doc in Dart for later access, search, etc. By default the created doc will be in the Docs folder. More information can be included in the text."
    },
    {
      "name": "Delete Doc",
      "value": "Delete Doc",
      "action": "Delete an existing doc",
      "routing": {
        "request": {
          "url": "=/docs/{{$parameter[\"id\"]}}",
          "method": "DELETE"
        }
      },
      "description": "Move an existing doc to the trash, where it can be recovered if needed. Nothing else about the doc will be changed."
    },
    {
      "name": "Get Doc",
      "value": "Get Doc",
      "action": "Retrieve an existing doc",
      "routing": {
        "request": {
          "url": "=/docs/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing doc. This will return the doc's information, including the title, folder, text and others."
    },
    {
      "name": "List Docs",
      "value": "List Docs",
      "action": "List docs",
      "routing": {
        "request": {
          "url": "=/docs/list",
          "method": "GET"
        }
      },
      "description": "List docs with filtering and search capabilities. Filter by folder, title, text content, or use full-text search. Sort by creation/update date or title. Supports pagination."
    },
    {
      "name": "Update Doc",
      "value": "Update Doc",
      "action": "Update an existing doc",
      "routing": {
        "request": {
          "url": "=/docs/{{$parameter[\"id\"]}}",
          "method": "PUT"
        }
      },
      "description": "Update certain properties of an existing doc. This will save the doc in Dart for later access, search, etc. Any properties that are not specified will not be changed."
    },
    {
      "name": "Get Folder",
      "value": "Get Folder",
      "action": "Retrieve an existing folder",
      "routing": {
        "request": {
          "url": "=/folders/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing folder. This will return the folder's information, including the title, description, all docs within it, and others."
    },
    {
      "name": "List Help Center Articles",
      "value": "List Help Center Articles",
      "action": "List help center articles by query",
      "routing": {
        "request": {
          "url": "=/help-center-articles/list",
          "method": "GET"
        }
      },
      "description": "Search for up to two help center articles by their semantic similarity to a short (1-5 word) query"
    },
    {
      "name": "Retrieve Skill By Title",
      "value": "Retrieve Skill By Title",
      "action": "Retrieve a skill by title",
      "routing": {
        "request": {
          "url": "=/skills/by-title",
          "method": "GET"
        }
      },
      "description": "Retrieve a skill by its title. Skills are user-defined instructions or templates for performing specific task types in the workspace. Returns the skill's title and instructions if found."
    },
    {
      "name": "Add Task Time Tracking",
      "value": "Add Task Time Tracking",
      "action": "Add a time tracking entry to a task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}/time-tracking",
          "method": "POST"
        }
      },
      "description": "Record an additional time tracking entry on a task and return the updated task with refreshed time tracking"
    },
    {
      "name": "Create Task",
      "value": "Create Task",
      "action": "Create a new task",
      "routing": {
        "request": {
          "url": "=/tasks",
          "method": "POST"
        }
      },
      "description": "Record a new task that the user intends to do. By default the task will be assigned to the current user, have an unstarted status, have no parent, and be in the default dartboard. More information can be included in the description."
    },
    {
      "name": "Delete Task",
      "value": "Delete Task",
      "action": "Delete an existing task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}",
          "method": "DELETE"
        }
      },
      "description": "Move an existing task to the trash, where it can be recovered if needed. Nothing else about the task will be changed."
    },
    {
      "name": "Get Task",
      "value": "Get Task",
      "action": "Retrieve an existing task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing task. This will return the task's information, including the title, dartboard, status, description and others."
    },
    {
      "name": "List Tasks",
      "value": "List Tasks",
      "action": "List tasks",
      "routing": {
        "request": {
          "url": "=/tasks/list",
          "method": "GET"
        }
      },
      "description": "List tasks with powerful filtering options. Filter by dartboard, status, assignee, tags, priority, dates, completion state, view, and more. Supports pagination with limit/offset."
    },
    {
      "name": "Move Task",
      "value": "Move Task",
      "action": "Move a task within its dartboard",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}/move",
          "method": "POST"
        }
      },
      "description": "Move a task to a specific position within results sorted by the order field. Use afterTaskId to place the task after a specific task, or beforeTaskId to place it before one."
    },
    {
      "name": "Update Task",
      "value": "Update Task",
      "action": "Update an existing task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}",
          "method": "PUT"
        }
      },
      "description": "Update properties of an existing task. For customProperties, use property NAME (not ID) as key. Get property names from workspace config. Example: {\"customTextProperty\": \"Some text\"}. Fields not provided are unchanged."
    },
    {
      "name": "Add Task Attachment From Url",
      "value": "Add Task Attachment From Url",
      "action": "Attach a file from a provided URL to a task",
      "routing": {
        "request": {
          "url": "=/tasks/{{$parameter[\"id\"]}}/attachments/from-url",
          "method": "POST"
        }
      },
      "description": "Attach a file from a provided URL to a task. The file will be downloaded and attached asynchronously. This operation may take a few moments to complete."
    },
    {
      "name": "Get View",
      "value": "Get View",
      "action": "Retrieve an existing view",
      "routing": {
        "request": {
          "url": "=/views/{{$parameter[\"id\"]}}",
          "method": "GET"
        }
      },
      "description": "Retrieve an existing view. This will return the view's information, including the title, description, and others."
    }
  ]

npm_readme:
  <div align="center">
    <h1>Dart n8n Node</h1>
    <p>
      <a href="https://www.npmjs.com/package/n8n-nodes-dart"><img src="https://img.shields.io/npm/v/n8n-nodes-dart" alt="NPM"></a>
      <a href="LICENSE"><img src="https://img.shields.io/github/license/its-dart/n8n-nodes-dart" alt="License"></a>
    </p>
  </div>

  [Dart](https://dartai.com?nr=1) is Project Management powered by AI.

  `n8n-nodes-dart` is the Dart n8n community node. It enables direct integration with Dart through n8n workflows.

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

  ## Installation

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

  ## Credentials

  This node uses bearer token authentication with the Dart API. You'll need to:

  1. Sign up for a [Dart account](https://app.dartai.com)
  2. Get your API token from [your Dart profile](https://app.dartai.com/home?settings=account)
  3. Configure the Dart API credentials in n8n with your token

  ## Help and Resources

  - [Homepage](https://dartai.com/?nr=1)
  - [Web App](https://app.dartai.com/)
  - [Help Center](https://help.dartai.com/)
  - [Bugs and Features](https://app.dartai.com/p/r/JFyPnhL9En61)
  - [Library Source](https://github.com/its-dart/n8n-nodes-dart/)
  - [Chat on Discord](https://discord.gg/RExv8jEkSh)
  - Email us at [support@dartai.com](mailto:support@dartai.com)

  ## Contributing

  Contributions are welcome! Please open an issue or submit a pull request.

  ## License

  This project is licensed under [the MIT License](LICENSE).

ai_documentation_summary:
  {"purpose":"The Dart n8n node enables direct integration with the Dart AI project management platform, allowing users to manage projects and tasks within n8n workflows.","capabilities":["Project management automation","Task creation and updates","Team collaboration features","AI-powered project insights"],"authentication":"Bearer token authentication via API key","commonUseCases":["Automating project tracking in n8n","Integrating AI project management with existing workflows","Streamlining team collaboration tasks"],"limitations":["Requires manual API token setup from Dart dashboard"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-github","n8n-nodes-jira"]}


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-03-25 21:19:40
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-03-25T21:19:40.754Z
ai_summary_generated_at: 2026-03-25 22:51:43
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":"Retrieves search results from a Glean index using the Glean Client API within n8n workflows.","capabilities":["Execute search queries against Glean instances","Apply filters to search results","Retrieve enterprise search data","Support AI Agent tool usage"],"authentication":"API token required with Search scope","commonUseCases":["Enterprise search integration","Embedding search capabilities into applications","Querying Glean-indexed documents"],"limitations":["Requires a Glean account with appropriate API token","Search scope permission is mandatory"],"relatedNodes":["n8n-nodes-gleanclient.gleanClient"]}


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

updated_at: 2026-03-25 21:19:40
author_name: geocapture
author_github_url: https://github.com/geocapture/n8n-nodes-geocapture.git
npm_package_name: @geocapture/n8n-nodes-geocapture
npm_version: 0.1.5
community_fetched_at: 2026-03-25T21:19:40.754Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "project",
      "options": [
        {
          "name": "Project",
          "value": "project"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new project",
          "description": "Create a new project"
        },
        {
          "name": "Create or Update",
          "value": "upsert",
          "action": "Create or update a project",
          "description": "Create a new project, or update the current one if it already exists (upsert)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

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

npm_readme:
  # @geocapture/n8n-nodes-geocapture

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

  ## Installation

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

  ## Operations

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

  ## Credentials

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

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

  ## Compatibility

  Compatible with n8n@1.60.0 or later

ai_documentation_summary:
  {"purpose":"This n8n node enables interaction with the geoCapture API to manage projects and monitor project events within automated workflows.","capabilities":["Create a new project","Update an existing project","Watch for project events (Create, Update, Delete)","Retrieve project data via API"],"authentication":"API Token required (configured via n8n credentials with geoCapture API Token)","commonUseCases":["Automating project lifecycle management","Monitoring project status changes in real-time","Integrating geoCapture services into n8n workflows"],"limitations":["Requires n8n version 1.60.0 or later","Requires manual setup of API Token and service configuration in geoCapture dashboard"],"relatedNodes":[]}


node_type: @seclore/n8n-nodes-seclore.secloreProtect
package_name: @seclore/n8n-nodes-seclore
display_name: Seclore
description: Protect files using Seclore DRM
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: seclore_admin
author_github_url: https://github.com/seclore-tech/n8n-nodes-seclore.git
npm_package_name: @seclore/n8n-nodes-seclore
npm_version: 1.0.8
community_fetched_at: 2026-03-25T21:19:40.755Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "drmProtection",
      "options": [
        {
          "name": "DRM Protection",
          "value": "drmProtection",
          "description": "DRM file protection operations"
        },
        {
          "name": "DRM Unprotection",
          "value": "drmUnprotection",
          "description": "DRM file unprotection operations"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "protectWithHotFolder",
      "options": [
        {
          "name": "Protect Using Policy",
          "value": "protectWithHotFolder",
          "action": "Protect file using policy",
          "description": "Protect a file using HotFolder ID configuration"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "drmProtection"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "unprotect",
      "options": [
        {
          "name": "Unprotect",
          "value": "unprotect",
          "action": "Unprotect file",
          "description": "Unprotect a protected file"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "drmUnprotection"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Protect Using Policy",
      "value": "protectWithHotFolder",
      "action": "Protect file using policy",
      "description": "Protect a file using HotFolder ID configuration"
    },
    {
      "name": "Unprotect",
      "value": "unprotect",
      "action": "Unprotect file",
      "description": "Unprotect a protected file"
    }
  ]

npm_readme:
  # n8n-nodes-seclore

  This is an n8n community node. It lets you use Seclore DRM Server in your n8n workflows.

  [Seclore](https://www.seclore.com) is a leading data-centric security platform that provides enterprise-grade Digital Rights Management (DRM) capabilities to protect sensitive files and documents throughout their lifecycle.

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

  Use `n8n-nodes-seclore` as the package name.

  ## Operations

  This node supports the following operations with Seclore DRM Server:

  ### DRM Protection
  #### Protect using Policy
  - **Description**: Protects files using Seclore's HotFolder ID configuration and policy-based protection
  - **Required Parameters**:
    - **HotFolder ID**: The ID of the HotFolder configuration to use for protection
    - **Input Binary Property**: Name of the binary property containing the file to protect (default: 'data')
  - **Output**: Protected file with DRM protection applied according to the specified policy


  ### DRM Unprotection
  #### Unprotect
  - **Description**: Removes DRM protection from Seclore-protected files
  - **Required Parameters**:
    - **Input Binary Property**: Name of the binary property containing the protected file (default: 'data')
  - **Output**: Unprotected original file content


  ## Credentials

  To use this node, you need to authenticate with your Seclore DRM Server. The following credentials are required:

  ### Prerequisites
  - Access to a Seclore DRM Server instance
  - Valid tenant credentials (Tenant ID and Tenant Secret)
  - Appropriate permissions for file protection/unprotection operations

  ### Authentication Setup
  1. **Base URL**: The base URL of your Seclore DRM Server (e.g., `https://api.seclore.com`)
  2. **Tenant ID**: Your unique Seclore tenant identifier
  3. **Tenant Secret**: Your tenant's secret key for API authentication

  ### Configuration Steps
  1. In n8n, go to **Credentials** → **Create New**
  2. Search for "Seclore API" and select it
  3. Fill in your Seclore DRM Server details:
     - **Base URL**: Enter your Seclore DRM Server base URL
     - **Tenant ID**: Provide your unique tenant identifier
     - **Tenant Secret**: Enter your tenant's secret key (will be masked for security)
  4. Test the connection to ensure credentials are valid (tests against `/seclore/drm/1.0/auth/login` endpoint)
  5. Save the credentials for use in your workflows

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Tested with n8n versions**: 1.0.0+
  - **Node.js version**: 18.x or higher
  - **Seclore API version**: Compatible with Seclore DRM API v1.0

  ## Usage

  ### Basic Workflow Examples

  #### Protecting Files with Policy
  1. Use a trigger node to receive files (HTTP Request, File Trigger, etc.)
  2. Add the **Seclore** node to your workflow
  3. Configure the node:
     - **Resource**: Select "DRM Protection"
     - **Operation**: Select "Protect using Policy"
     - **HotFolder ID**: Enter your HotFolder configuration ID
     - **Input Binary Property**: Specify the binary property name (default: 'data')
  4. Configure your Seclore API credentials
  5. The node will return the protected file with DRM encryption applied according to your policy

  #### Unprotecting Files
  1. Receive protected Seclore files in your workflow
  2. Add the **Seclore** node to your workflow
  3. Configure the node:
     - **Resource**: Select "DRM Unprotection"
     - **Operation**: Select "Unprotect"
     - **Input Binary Property**: Specify the binary property containing the protected file (default: 'data')
  4. Configure your Seclore API credentials
  5. The node will return the original unprotected file content

  ### Important Notes
  - Ensure your Seclore DRM Server is accessible from your n8n instance
  - File operations may take time depending on file size and server performance
  - Always handle errors appropriately in your workflows
  - Protected files can only be unprotected by authorized users with proper credentials
  - HotFolder ID must be configured in your Seclore Policy Server before using protection operations
  - The node supports binary data processing for both input and output files

  ### Error Handling
  The node includes comprehensive error handling and logging:
  - Connection failures to Seclore server
  - Authentication errors
  - File processing errors
  - Automatic cleanup of temporary files

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Seclore Official Documentation](https://docs.seclore.com/)
  * [Seclore Support](https://support.seclore.com/)

  ## License

  Refer the [LICENSE.md](LICENSE.md) file for details.

  ## Support

  For issues related to this n8n node:
  - Create an issue in this repository
  - Contact: support@seclore.com

  For Seclore platform support:
  - Visit [Seclore Support Portal](https://support.seclore.com/)
  - Check [Seclore Documentation](https://docs.seclore.com/)

ai_documentation_summary:
  {"purpose":"This n8n community node enables protection and unprotection of files using Seclore DRM Server, allowing secure handling of sensitive documents within automated workflows.","capabilities":["Protect files using Seclore DRM with policy-based HotFolder configuration","Unprotect files to retrieve original content from Seclore-protected files","Process binary data for input and output files","Authenticate with Seclore DRM Server via Base URL, Tenant ID, and Tenant Secret","Handle errors including connection failures, authentication errors, and file processing issues"],"authentication":"API key required (Tenant ID and Tenant Secret)","commonUseCases":["Securing sensitive documents in automated workflows","Protecting files before distribution or storage","Removing DRM restrictions from previously protected files","Integrating with file-based triggers or HTTP requests for secure file handling"],"limitations":["Requires access to a Seclore DRM Server instance","HotFolder ID must be pre-configured in the Seclore Policy Server","Protected files can only be unprotected by authorized users with proper credentials","File operations may experience latency based on file size and server performance","Requires n8n version 1.0.0+ and Node.js 18.x or higher"],"relatedNodes":["HTTP Request","File Trigger","Binary File"]}


node_type: n8n-nodes-supadata.supadata
package_name: n8n-nodes-supadata
display_name: Supadata
description: Access Supadata API to fetch video metadata, transcripts, and web data from multiple platforms
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: rafalzawadzki
author_github_url: https://github.com/supadata-ai/
npm_package_name: n8n-nodes-supadata
npm_version: 0.5.1
community_fetched_at: 2026-03-25T21:19:40.756Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "media",
      "options": [
        {
          "name": "Media",
          "value": "media"
        },
        {
          "name": "YouTube",
          "value": "youtube"
        },
        {
          "name": "Web",
          "value": "webScrape"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getMetadata",
      "options": [
        {
          "name": "Extract Structured Data",
          "value": "extractData",
          "action": "Extract structured data from a video",
          "description": "Extract structured data from a video using AI"
        },
        {
          "name": "Get Metadata",
          "value": "getMetadata",
          "action": "Get metadata",
          "description": "Get metadata of a video from multiple platforms (YouTube, TikTok, Instagram, Twitter)"
        },
        {
          "name": "Get Transcript",
          "value": "getTranscript",
          "action": "Get transcript",
          "description": "Get the transcript of a video from multiple platforms (YouTube, TikTok, etc.)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "media"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getChannel",
      "options": [
        {
          "name": "Get Channel",
          "value": "getChannel",
          "action": "Get channel details",
          "description": "Get details of a YouTube channel"
        },
        {
          "name": "Get Channel Videos",
          "value": "getChannelVideos",
          "action": "Get channel videos",
          "description": "Get videos of a YouTube channel"
        },
        {
          "name": "Get Playlist",
          "value": "getPlaylist",
          "action": "Get playlist details",
          "description": "Get details of a YouTube playlist"
        },
        {
          "name": "Get Playlist Videos",
          "value": "getPlaylistVideos",
          "action": "Get playlist videos",
          "description": "Get videos of a YouTube playlist"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "youtube"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "scrapeUrl",
      "options": [
        {
          "name": "Scrape URL",
          "value": "scrapeUrl",
          "action": "Scrape data from a URL",
          "description": "Scrape data from a URL"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "webScrape"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Extract Structured Data",
      "value": "extractData",
      "action": "Extract structured data from a video",
      "description": "Extract structured data from a video using AI"
    },
    {
      "name": "Get Metadata",
      "value": "getMetadata",
      "action": "Get metadata",
      "description": "Get metadata of a video from multiple platforms (YouTube, TikTok, Instagram, Twitter)"
    },
    {
      "name": "Get Transcript",
      "value": "getTranscript",
      "action": "Get transcript",
      "description": "Get the transcript of a video from multiple platforms (YouTube, TikTok, etc.)"
    },
    {
      "name": "Get Channel",
      "value": "getChannel",
      "action": "Get channel details",
      "description": "Get details of a YouTube channel"
    },
    {
      "name": "Get Channel Videos",
      "value": "getChannelVideos",
      "action": "Get channel videos",
      "description": "Get videos of a YouTube channel"
    },
    {
      "name": "Get Playlist",
      "value": "getPlaylist",
      "action": "Get playlist details",
      "description": "Get details of a YouTube playlist"
    },
    {
      "name": "Get Playlist Videos",
      "value": "getPlaylistVideos",
      "action": "Get playlist videos",
      "description": "Get videos of a YouTube playlist"
    },
    {
      "name": "Scrape URL",
      "value": "scrapeUrl",
      "action": "Scrape data from a URL",
      "description": "Scrape data from a URL"
    }
  ]

npm_readme:
  # n8n-nodes-supadata

  This is an n8n community node that allows you to integrate Supadata into your n8n workflows.

  Supadata is a service that provides tools for extracting and analyzing data from YouTube videos, channels, and web pages. With this node, you can easily retrieve video details, transcripts, channel information, and scrape web content directly within your n8n workflows.

  Supadata Website: [https://supadata.ai](https://supadata.ai)

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

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

  ## Installation

  Community Node Installation

  - Go to Settings > Community Nodes
  - Select Install
  - Enter n8n-nodes-supadata in the input field
  - Click Install

  Manual Installation

  - To install this node manually

  ```bash
  npm install n8n-nodes-supadata
  ```

  ## Operations

  - Get Video Metadata: Retrieve details about a YouTube video.
  - Get Transcript: Fetch the transcript of a YouTube video.
  - Get Channel Metadata: Retrieve information about a YouTube channel.
  - Get Channel Videos: Fetch a list of videos from a specific YouTube channel.
  - Get Playlist Metadata: Retrieve information about a YouTube playlist.
  - Get Playlist Videos: Fetch a list of videos from a specific YouTube playlist.
  - Get URL Content: Extract data from a web page.

  ## Credentials

  To use this node, you need to authenticate with Supadata using an API key. Follow these steps:

  - Sign up for an account with Supadata and obtain your API key.
  - Add the API key to the Supadata node in n8n credentials.

  ## Usage

  1. Create a new workflow in n8n.
  2. Add a Supadata node to your workflow.
  3. Authenticate using your Supadata API key via n8n’s credentials interface.
  4. Select the action you want to perform, and enter the required fields.
  5. Execute the node.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Supadata API Documentation](https://docs.supadata.ai)

  ## License

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

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with the Supadata API to extract and analyze data from YouTube videos, channels, playlists, and web pages within automation workflows.","capabilities":["Retrieve YouTube video metadata","Fetch YouTube video transcripts","Retrieve YouTube channel metadata","Fetch video lists from YouTube channels","Retrieve YouTube playlist metadata","Fetch video lists from YouTube playlists","Scrape and extract data from web pages"],"authentication":"API key required","commonUseCases":["Automating YouTube content analysis and research","Extracting video transcripts for content processing","Monitoring channel or playlist activity","Web scraping for data aggregation"],"limitations":[],"relatedNodes":["n8n-nodes-youtube","n8n-nodes-web","n8n-nodes-http-request"]}


node_type: n8n-nodes-groner.groner
package_name: n8n-nodes-groner
display_name: Groner
description: Integrate with Groner CRM to manage deals, contacts, tasks, and more
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: ronaldoasevedo
author_github_url: https://github.com/gronerbr/
npm_package_name: n8n-nodes-groner
npm_version: 0.1.35
community_fetched_at: 2026-03-25T21:19:40.756Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "contact",
      "options": [
        {
          "name": "Contact",
          "value": "contact"
        },
        {
          "name": "Deal",
          "value": "deal"
        },
        {
          "name": "Note",
          "value": "note"
        },
        {
          "name": "Tag",
          "value": "tag"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "WhatsApp",
          "value": "whatsapp"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new deal",
          "description": "Create a new deal in Groner"
        },
        {
          "name": "Edit by Property",
          "value": "editByProperty",
          "action": "Edit deal by property",
          "description": "Edit deal by specific property"
        },
        {
          "name": "Get Quote",
          "value": "getQuote",
          "action": "Get deal quote",
          "description": "Get quote information for a deal"
        },
        {
          "name": "Move",
          "value": "move",
          "action": "Move a deal",
          "description": "Move a deal to a different stage"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search for deals",
          "description": "Search deals with filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "deal"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "editByProperty",
      "options": [
        {
          "name": "Edit by Property",
          "value": "editByProperty",
          "action": "Edit contact by property",
          "description": "Edit contact by specific property"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a task",
          "description": "Create a new task"
        },
        {
          "name": "Search",
          "value": "search",
          "action": "Search tasks",
          "description": "Search for tasks"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "action": "Add a note",
          "description": "Add a note to a deal"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "note"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "add",
      "options": [
        {
          "name": "Add",
          "value": "add",
          "action": "Add tags",
          "description": "Add tags to a deal"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tag"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "send",
      "options": [
        {
          "name": "Send",
          "value": "send",
          "action": "Send whats app message",
          "description": "Send a WhatsApp message"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "whatsapp"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new deal",
      "description": "Create a new deal in Groner"
    },
    {
      "name": "Edit by Property",
      "value": "editByProperty",
      "action": "Edit deal by property",
      "description": "Edit deal by specific property"
    },
    {
      "name": "Get Quote",
      "value": "getQuote",
      "action": "Get deal quote",
      "description": "Get quote information for a deal"
    },
    {
      "name": "Move",
      "value": "move",
      "action": "Move a deal",
      "description": "Move a deal to a different stage"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search for deals",
      "description": "Search deals with filters"
    },
    {
      "name": "Edit by Property",
      "value": "editByProperty",
      "action": "Edit contact by property",
      "description": "Edit contact by specific property"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a task",
      "description": "Create a new task"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search tasks",
      "description": "Search for tasks"
    },
    {
      "name": "Add",
      "value": "add",
      "action": "Add a note",
      "description": "Add a note to a deal"
    },
    {
      "name": "Add",
      "value": "add",
      "action": "Add tags",
      "description": "Add tags to a deal"
    },
    {
      "name": "Send",
      "value": "send",
      "action": "Send whats app message",
      "description": "Send a WhatsApp message"
    }
  ]

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

  # n8n-nodes-groner

  This repository contains custom nodes for integrating n8n with the Groner API (Solar CRM). The Groner node provides comprehensive functionality to manage leads, projects, tasks, and communications within the Groner CRM system.

  ---

  ## 🚀 Main Node

  - **Groner**: Primary node for integration with the Groner API, covering all major CRM operations including lead management, project tracking, task creation, and WhatsApp messaging.

  ## 📋 Available Resources and Operations

  ### 🔗 Available Resources

  | Resource | Description |
  |----------|-------------|
  | **Contact** | Contact/lead management |
  | **Deal** | Deal/project management |
  | **Note** | Note/occurrence addition |
  | **Tag** | Tag management |
  | **Task** | Task creation and search |
  | **WhatsApp** | WhatsApp message sending |

  ### 📊 Operations by Resource

  #### **Deal (Deal/Project)**
  | Operation | Description | HTTP Method |
  |-----------|-------------|-------------|
  | **Create** | Creates a new deal (lead/project) in Groner | POST |
  | **Search** | Searches deals with advanced filters and pagination | GET |
  | **Edit by Property** | Edits specific properties of a deal | PUT |
  | **Get Quote** | Gets quotes for a specific deal | GET |
  | **Move** | Moves a deal to a different stage | POST |

  #### **Contact (Contact)**
  | Operation | Description | HTTP Method |
  |-----------|-------------|-------------|
  | **Edit** | Edits contact information | PUT |
  | **Edit by Property** | Edits specific properties of a contact | PUT |

  #### **Task (Task)**
  | Operation | Description | HTTP Method |
  |-----------|-------------|-------------|
  | **Create** | Creates a new task | POST |
  | **Search** | Searches tasks with filters | GET |

  #### **Note (Note)**
  | Operation | Description | HTTP Method |
  |-----------|-------------|-------------|
  | **Add** | Adds a note/occurrence to a deal | POST |

  #### **Tag (Tag)**
  | Operation | Description | HTTP Method |
  |-----------|-------------|-------------|
  | **Add** | Adds tags to a deal | POST |

  #### **WhatsApp**
  | Operation | Description | HTTP Method |
  |-----------|-------------|-------------|
  | **Send** | Sends WhatsApp message | POST |

  ---

  ## 🔧 Prerequisites

  Before installing and using this package, ensure you have the following installed on your development machine:

  ### Required Software
  - **[Git](https://git-scm.com/downloads)** - Version control system
  - **[Node.js](https://nodejs.org/)** - Version 18.10 or higher
  - **[pnpm](https://pnpm.io/)** - Package manager (Version 9.1 or higher)

  ### n8n Installation
  Install n8n globally using pnpm:
  ```bash
  pnpm install n8n -g
  ```

  ### System Requirements
  - **Node.js**: >=18.10
  - **pnpm**: >=9.1
  - **n8n-workflow**: Compatible version

  ---

  ## 📦 Installation

  ### 1. Clone the Repository
  ```bash
  git clone https://github.com/gronerbr/n8n-nodes-groner.git
  cd n8n-nodes-groner
  ```

  ### 2. Install Dependencies
  ```bash
  pnpm install
  ```

  ### 3. Build the Project
  ```bash
  pnpm build
  ```
  This command will:
  - Compile TypeScript files
  - Copy custom icons to the distribution folder
  - Prepare the package for use

  ### 4. Development Mode (Optional)
  For development with automatic recompilation:
  ```bash
  pnpm dev
  ```

  ---

  ## 🔐 Credentials Configuration

  ### Setting Up Groner API Credentials

  1. **Access n8n Credentials**: In your n8n instance, navigate to Settings → Credentials
  2. **Add New Credential**: Click "Add Credential" and select **Groner API**
  3. **Configure Credentials**:
     - **Tenant**: Your Groner subdomain (e.g., `mycompany`)
     - **API Key**: Your Groner API authentication key

  ### Credential Details

  | Field | Type | Required | Description | Example |
  |-------|------|----------|-------------|---------|
  | **Tenant** | String | Yes | Your Groner subdomain identifier | `mycompany` |
  | **API Key** | Password | Yes | Your Groner API authentication token | `groner_api_key_123...` |

  ### API Endpoint Structure
  The node automatically constructs API endpoints using your tenant:
  ```
  https://{tenant}.api.groner.app/api/{endpoint}
  ```

  ---

  ## 🎯 How to Use the Groner Node

  ### Basic Workflow Setup

  1. **Add the Node**: Drag and drop the **Groner** node into your n8n workflow
  2. **Select Resource**: Choose the desired resource (Deal, Contact, Task, etc.)
  3. **Select Operation**: Choose the desired operation from the "Operation" dropdown
  4. **Configure Parameters**: Fill in required and optional fields based on the selected operation
  5. **Execute**: Run the workflow to process the operation

  ### Output Format
  - **Success**: Returns API response data as JSON
  - **Search Operations**: Each returned item becomes an individual n8n item
  - **Error Handling**: Errors are displayed in the node execution panel

  ---

  ## 📖 Detailed Operation Guide

  ### 1. Create Deal

  Creates a new lead or project in Groner with comprehensive tracking capabilities.

  #### Required Fields
  - **Name** (`nome`): Full name of the contact
  - **Email** (`email`): Contact email address
  - **Phone** (`telefone`): Contact phone number
  - **Origin Name or ID** (`codOrigem`): Lead origin (loadOptions)

  #### Optional Fields
  - **Account Value** (`valorConta`): Estimated project value
  - **City** (`cidade`): Contact's city
  - **Document** (`documento`): CPF or CNPJ number
  - **Person Type** (`tipoPessoa`): PF (Individual) or PJ (Company)
  - **State** (`uf`): Brazilian state abbreviation
  - **Responsible Name or ID** (`responsavelId`): Responsible salesperson (loadOptions)
  - **Responsible Email** (`emailResponsavel`): Salesperson email
  - **Note** (`nota`): Initial notes about the lead
  - **Campaign** (`campanha`): Marketing campaign identifier
  - **Advertisement** (`anuncio`): Ad campaign reference
  - **Ad Set** (`conjuntoAnuncios`): Ad group identifier
  - **Lead Tracking Code** (`codigoLeadTracking`): Tracking code for analytics
  - **Trade Name** (`nomeFantasia`): Company trade name (for PJ)
  - **Segment** (`segmento`): Business segment classification
  - **Deal Type Name or ID** (`tipoProjetoId`): Type of solar project (loadOptions)
  - **URL** (`url`): Custom endpoint URL (optional)

  #### Example Usage
  ```json
  {
    "nome": "John Doe",
    "email": "john.doe@example.com",
    "telefone": "+5511999999999",
    "codOrigem": "1",
    "cidade": "São Paulo",
    "documento": "123.456.789-00",
    "tipoPessoa": "F",
    "valorConta": 25000,
    "nota": "Interested in residential solar installation"
  }
  ```

  ### 2. Search Deals

  Searches for existing deals with advanced filtering and pagination.

  #### Filter Parameters
  - **Page Size** (`pageSize`): Items per page (default: 20)
  - **Search** (`query`): Text search across deal data
  - **Criterio** (`criterio`): Search criteria
  - **Filters**:
    - **Deal Type ID** (`dealTypeId`): Filter by project type (loadOptions)
    - **Stage ID** (`stageId`): Filter by sales pipeline stage (loadOptions)
    - **Status ID** (`statusId`): Filter by status (loadOptions)
    - **Responsible Seller ID** (`responsibleSellerId`): Filter by responsible seller (loadOptions)
    - **Responsible Technician ID** (`responsibleTechnicianId`): Filter by responsible technician (loadOptions)
    - **Pre Seller ID** (`preSellerId`): Filter by pre-seller (loadOptions)
  - **Additional Fields**:
    - **Lead ID** (`leadId`): Filter by specific lead
    - **Stores IDs** (`storesIds`): Filter by store locations (multiOptions)
    - **Tags IDs** (`tagsIds`): Filter by specific tags (multiOptions)
    - **Origins IDs** (`originsIds`): Filter by origins (multiOptions)
    - **Status History IDs** (`statusHistoryIds`, `nStatusHistoryIds`): Filter by status history (multiOptions)
    - **Order By** (`orderBy`): Sort criteria
    - **Initial Qualification** (`initialQualification`): Initial qualification (0-10)
    - **Final Qualification** (`finalQualification`): Final qualification (0-10)
    - **Indicator** (`indicator`): Performance indicator
    - **Contact Owner ID** (`contactOwnerId`): Filter by contact owner
    - **Campaign** (`campaign`): Filter by campaign
    - **Advertisement** (`advertisement`): Filter by advertisement
    - **Ad Set** (`adSet`): Filter by ad set
  - **Location**:
    - **City** (`city`): Filter by city
    - **State** (`state`): Filter by state
  - **Financial**:
    - **Initial Power** (`initialPower`): Initial power in kW
    - **Final Power** (`finalPower`): Final power in kW
    - **Initial Value** (`initialValue`): Initial project value
    - **Final Value** (`finalValue`): Final project value
    - **Initial Consumption** (`initialConsumption`): Initial consumption in kWh
    - **Final Consumption** (`finalConsumption`): Final consumption in kWh
  - **Dates**:
    - **Start Date** (`startDate`): Start date
    - **End Date** (`endDate`): End date
    - **Initial Closing Forecast Date** (`initialClosingForecastDate`): Initial closing forecast date
    - **Final Closing Forecast Date** (`finalClosingForecastDate`): Final closing forecast date
    - **Initial Proposal Date** (`initialProposalDate`): Initial proposal date
    - **Final Proposal Date** (`finalProposalDate`): Final proposal date
    - **Initial Sale Date** (`initialSaleDate`): Initial sale date
    - **Final Sale Date** (`finalSaleDate`): Final sale date
    - **Initial Loss Date** (`initialLossDate`): Initial loss date
    - **Final Loss Date** (`finalLossDate`): Final loss date

  #### Example Usage
  ```json
  {
    "pageSize": 50,
    "query": "solar installation",
    "filters": {
      "stageId": "1",
      "statusId": "2"
    },
    "financial": {
      "initialValue": 10000,
      "finalValue": 50000
    }
  }
  ```

  ### 3. Add Tags

  Adds organizational labels to existing deals.

  #### Required Fields
  - **Deal ID** (`dealId`): Deal ID
  - **Tag IDs** (`tagIds`): Array of tag IDs

  #### Example Usage
  ```json
  {
    "dealId": "12345",
    "tagIds": ["1", "2", "3"]
  }
  ```

  ### 4. Add Note

  Adds notes or occurrences to track deal interactions.

  #### Required Fields
  - **Deal ID** (`dealId`): Deal ID
  - **Occurrence** (`ocorrencia`): Note content

  #### Optional Fields
  - **Mentions** (`marcacoes`): Optional user mentions

  #### Example Usage
  ```json
  {
    "dealId": "12345",
    "ocorrencia": "Customer requested quote for 10kW system",
    "marcacoes": "@sales_team"
  }
  ```

  ### 5. Create Task

  Creates tasks linked to deals with assignment capabilities.

  #### Required Fields
  - **Title** (`titulo`): Task title
  - **Type ID** (`tipoId`): Task type identifier (loadOptions)
  - **Status ID** (`statusId`): Task status (loadOptions)
  - **Project ID** (`projetoId`): Associated deal ID
  - **Users IDs** (`usuariosIds`): Assigned user IDs (multiOptions)

  #### Optional Fields
  - **Description** (`descricao`): Task description
  - **Start Date** (`dataInicial`): Task start date (YYYY-MM-DD)
  - **Delivery Date** (`dataEntrega`): Task delivery date (YYYY-MM-DD)

  #### Example Usage
  ```json
  {
    "titulo": "Follow up call",
    "descricao": "Call customer to discuss proposal",
    "tipoId": "1",
    "statusId": "1",
    "projetoId": 12345,
    "usuariosIds": ["user1", "user2"],
    "dataInicial": "2024-01-15",
    "dataEntrega": "2024-01-20"
  }
  ```

  ### 6. Search Tasks

  Searches for tasks with comprehensive filtering options.

  #### Filter Parameters
  - **Page Size** (`pageSize`): Items per page (default: 20)
  - **Search** (`query`): Text search
  - **Additional Fields**:
    - **Lead ID** (`leadId`): Filter by associated lead
    - **Project ID** (`projetoId`): Filter by associated project
    - **Type ID** (`tipoId`): Filter by task type (loadOptions)
    - **Status ID** (`statusId`): Filter by task status (loadOptions)
    - **User ID** (`usuarioId`): Filter by assigned user (loadOptions)
    - **Stores IDs** (`lojasIds`): Filter by store locations (multiOptions)
    - **Order By** (`ordenarPor`): Sort criteria
    - **Start Date** (`dataInicial`): Filter by start date (YYYY-MM-DD)
    - **End Date** (`dataFinal`): Filter by end date (YYYY-MM-DD)
    - **Page Number** (`pageNumber`): Page number

  #### Example Usage
  ```json
  {
    "projetoId": 12345,
    "statusId": "1",
    "pageSize": 20,
    "ordenarPor": "dataCriacao"
  }
  ```

  ### 7. Edit Contact by Property

  Updates specific properties of existing contacts.

  #### Required Fields
  - **Contact ID** (`contactId`): Contact/Lead ID (number)
  - **Property** (`propriedade`): Property name to update (loadOptions)
  - **Value** (`valor`): New property value

  #### Example Usage
  ```json
  {
    "contactId": 12345,
    "propriedade": "email",
    "valor": "new.email@example.com"
  }
  ```

  ### 8. Edit Deal by Property

  Updates specific properties of existing deals.

  #### Required Fields
  - **Deal ID** (`dealId`): Deal ID (number)
  - **Property** (`propriedade`): Property name to update (loadOptions)
  - **Value** (`valor`): New property value

  #### Example Usage
  ```json
  {
    "dealId": 12345,
    "propriedade": "valorConta",
    "valor": "30000"
  }
  ```

  ### 9. Send WhatsApp Message

  Sends WhatsApp messages through Groner's integrated messaging system.

  #### Required Fields
  - **Message** (`mensagem`): Message content

  #### Optional Fields
  - **Lead ID** (`leadId`): Target lead ID (number)
  - **Phone** (`celular`): Direct phone number
  - **Image URL** (`urlImagem`): Image attachment URL
  - **Audio URL** (`urlAudio`): Audio attachment URL
  - **Video URL** (`urlVideo`): Video attachment URL
  - **Document URL** (`urlDocumento`): Document attachment URL
  - **Send to Pre-Seller** (`preVendedor`): Whether to send to Pre-Seller (boolean)
  - **Send to Seller** (`vendedor`): Whether to send to Seller (boolean)
  - **Send to Technician** (`tecnico`): Whether to send to Technician (boolean)
  - **Send to Lead** (`lead`): Whether to send to Lead (boolean)

  #### Example Usage
  ```json
  {
    "leadId": 12345,
    "mensagem": "Hello! Here's your solar installation quote.",
    "urlImagem": "https://example.com/quote.pdf",
    "vendedor": true
  }
  ```

  ### 10. Move Deal

  Changes the status/stage of a deal in the sales pipeline.

  #### Required Fields
  - **Deal ID** (`dealId`): Deal ID
  - **Status ID** (`statusId`): New status identifier (loadOptions)

  #### Optional Fields
  - **Validate Status Available** (`validaStatusDisponivel`): Whether to validate if the status is available (boolean)

  #### Example Usage
  ```json
  {
    "dealId": "12345",
    "statusId": "2",
    "validaStatusDisponivel": true
  }
  ```

  ### 11. Get Deal Quote

  Retrieves quotes associated with a specific deal.

  #### Required Fields
  - **Project ID** (`projetoId`): Deal/Project ID

  #### Example Usage
  ```json
  {
    "projetoId": "12345"
  }
  ```

  ---

  ## 🔄 Workflow Examples

  ### Example 1: Process Deals with Content.List

  This example shows how to use Content.List to process multiple deals:

  ```
  [Groner: Search Deals] → [Content.List] → [Groner: Edit Deal] → [Result]
  ```

  **Content.List Configuration:**
  ```
  Input Data: {{ $json.data }}
  Output Field Name: deal
  ```

  **Edit Deal Configuration:**
  ```
  Resource: Deal
  Operation: Edit by Property
  Deal ID: {{ $json.deal.id }}
  Property: valorConta
  Value: {{ $json.deal.valorConta * 1.1 }}
  ```

  ### Example 2: Complete Follow-up Workflow

  ```
  [Groner: Search Deals] → [IF] → [Groner: Add Note] → [Groner: Send WhatsApp]
  ```

  **IF Condition:**
  ```
  {{ $json.status === "Em Negociação" }}
  ```

  ---

  ## 🔧 Development Scripts

  | Script | Description |
  |--------|-------------|
  | `pnpm build` | Compiles TypeScript and copies icons |
  | `pnpm dev` | Runs TypeScript compiler in watch mode |
  | `pnpm lint` | Checks for linting issues |
  | `pnpm lintfix` | Automatically fixes linting issues |
  | `pnpm format` | Formats code using Prettier |
  | `pnpm prepublishOnly` | Builds and lints before publishing |

  ---

  ## 📁 Project Structure

  ```
  n8n-nodes-groner/
  ├── credentials/
  │   └── GronerApi.credentials.ts    # API authentication
  ├── nodes/
  │   └── Groner/
  │       ├── loadOptions/            # Dynamic options
  │       │   ├── getStatuses.ts      # Status options
  │       │   ├── getOrigins.ts       # Origin options
  │       │   ├── getResponsibles.ts  # Responsible user options
  │       │   ├── getDealTypes.ts     # Deal type options
  │       │   ├── getTags.ts          # Tag options
  │       │   ├── getStores.ts        # Store options
  │       │   ├── getEtapas.ts        # Stage options
  │       │   ├── getTaskTypes.ts     # Task type options
  │       │   ├── getTaskStatuses.ts  # Task status options
  │       │   ├── getContactProperties.ts # Contact property options
  │       │   └── getDealProperties.ts    # Deal property options
  │       ├── Groner.node.ts          # Main node file
  │       └── logogroner.svg          # Custom icon
  ├── package.json                    # Project configuration
  ├── tsconfig.json                   # TypeScript configuration
  └── gulpfile.js                     # Build configuration
  ```

  ---

  ## ⚠️ Important Notes

  ### API Response Handling
  - **Search Operations**: Each item returned by the API becomes an individual n8n item for easy processing
  - **Error Handling**: API errors are displayed in the node execution panel with detailed error messages
  - **Authentication**: Uses Bearer token authentication with your API key

  ### Load Options
  The node provides dynamic loading of options for various fields:
  - **Statuses**: Available deal statuses
  - **Origins**: Lead origin sources
  - **Responsibles**: Available users/responsible persons
  - **Deal Types**: Types of projects/deals
  - **Tags**: Available tags/labels
  - **Stores**: Store locations
  - **Etapas**: Sales pipeline stages
  - **Task Types**: Types of tasks
  - **Task Statuses**: Task status options
  - **Contact Properties**: Available contact properties
  - **Deal Properties**: Available deal properties

  ### Custom Icon
  - The node displays the Groner logo if the `logogroner.svg` file is present in the node directory
  - The icon is automatically copied during the build process

  ### Data Validation
  - Empty fields are automatically removed from API requests
  - Required fields are validated before sending requests
  - Date formats should follow YYYY-MM-DD standard
  - Arrays are automatically converted to comma-separated strings for API compatibility

  ### Rate Limiting
  - Be aware of Groner API rate limits
  - Implement appropriate delays between requests in high-volume workflows

  ---

  ## 🤝 Contributing

  We welcome contributions! Here's how you can help:

  ### Reporting Issues
  - Use the GitHub issue tracker
  - Provide detailed error messages and steps to reproduce
  - Include your n8n version and node configuration

  ### Submitting Pull Requests
  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run `pnpm lint` and `pnpm build`
  5. Submit a pull request with detailed description

  ### Development Guidelines
  - Follow TypeScript best practices
  - Maintain consistent code formatting
  - Add appropriate error handling
  - Include field validation where necessary

  ---

  ## 📄 License

  This project is licensed under the [MIT License](LICENSE.md).

  ---

  ## 📞 Support

  For support and questions:
  - **Email**: contato@gronercrm.com.br
  - **GitHub Issues**: [Create an issue](https://github.com/gronerbr/n8n-nodes-groner/issues)
  - **Documentation**: This README and inline code comments

  ---

  ## 🌐 Language Versions

  - **[English Version](README.md)** (Current)
  - **[Portuguese Version](README_PT.md)**

  ---

  ## 🔄 Version History

  - **v0.1.18**: Current version with comprehensive CRM operations and updated field structure
  - **v0.1.17**: Added WhatsApp messaging capabilities
  - **v0.1.16**: Enhanced search and filtering options
  - **v0.1.15**: Improved error handling and validation
  - **v0.1.14**: Initial release with basic operations

  For detailed changelog, see the [GitHub releases](https://github.com/gronerbr/n8n-nodes-groner/releases).

ai_documentation_summary:
  {"purpose":"Integrates n8n with the Groner CRM API to manage leads, deals, contacts, tasks, notes, tags, and send WhatsApp messages.","capabilities":["Create deals/leads","Search deals with advanced filters and pagination","Edit deal properties","Get quotes for deals","Move deals to different stages","Manage contacts (edit contact info)","Create and search tasks","Add notes/occurrences to deals","Manage tags on deals","Send WhatsApp messages"],"authentication":"API Key required (Tenant subdomain and API Key)","commonUseCases":["Automating lead capture and deal creation from web forms","Syncing contact information between external systems and Groner CRM","Automating task assignment and follow-ups","Sending automated WhatsApp notifications to clients","Tracking and managing sales pipelines"],"limitations":["Requires manual installation of custom n8n package (git clone, pnpm build)","Requires specific Node.js version (>=18.10) and pnpm version (>=9.1)","README truncated, so some optional fields and detailed operation parameters may be incomplete in documentation"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.whatsapp","n8n-nodes-base.credential"]}


node_type: n8n-nodes-featherless.featherless
package_name: n8n-nodes-featherless
display_name: Featherless
description: Interact with Featherless API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs: "={{[\"main\"]}}"
updated_at: 2026-03-25 21:19:40
author_name: darinverheijke
author_github_url: https://github.com/featherlessai/
npm_package_name: n8n-nodes-featherless
npm_version: 0.1.6
community_fetched_at: 2026-03-25T21:19:40.757Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "chat",
      "options": [
        {
          "name": "Chat",
          "value": "chat",
          "action": "Send a chat message",
          "description": "Send a chat message"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Chat",
      "value": "chat",
      "action": "Send a chat message",
      "description": "Send a chat message"
    }
  ]

npm_readme:
  # n8n-nodes-featherless

  This is an n8n community node for Featherless API integration. It allows you to interact with various AI models through the Featherless AI platform directly from your n8n workflows.

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

  [Featherless](https://featherless.ai/) is a platform that provides access to over 10,000+ open-weight models through a unified API.

  ## Features

  - Interact with multiple AI models through a single node
  - Send chat messages to AI models
  - Customize model parameters such as temperature, max tokens, frequency penalty, and presence penalty
  - View truncated model descriptions in the model selector
  - Easy integration with n8n workflows

  ## Installation

  ### Community Node (Recommended)

  To install this node as a community node in n8n, follow these steps:

  1. Open your n8n instance
  2. Go to "Settings" > "Community Nodes"
  3. Select "Install"
  4. Enter `n8n-nodes-featherless` in the "Enter npm package name" field
  5. Agree to the risks of using community nodes (if prompted)
  6. Click "Install"

  After installation, the node will be available in the "Featherless" category in the node palette.

  ### Manual Installation (Advanced)

  If you prefer manual installation or are using a custom n8n setup:

  1. Open your n8n installation directory
  2. Navigate to the `nodes` subdirectory
  3. Run the following command:
     ```
     npm install n8n-nodes-featherless
     ```
  4. Restart your n8n instance

  **Note:** If you're using Docker or a server deployment, you may need to rebuild your container or restart your server for the changes to take effect.

  ### Troubleshooting

  If you encounter issues with the node not updating to new versions correctly or not displaying changes inside n8n, try the following:

  1. Clear your browser cache
  2. Restart your n8n instance
  3. If using Docker, rebuild and restart your container:
     ```
     docker-compose down
     docker-compose build
     docker-compose up -d
     ```
  4. For server deployments, restart the n8n service:
     ```
     sudo systemctl restart n8n
     ```

  ## Usage

  1. Add the Featherless node to your workflow
  2. Configure the Featherless API credentials (see Configuration section)
  3. Select the desired operation (currently only 'Chat' is available)
  4. Enter the model ID you want to use (click "View Available Models" button to see options)
  5. (Optional) Provide a system prompt to set the behavior of the AI
  6. Enter your message
  7. Adjust additional parameters as needed (temperature, max tokens, etc.)
  8. Execute the node to receive the AI's response

  ## Model Selection

  Enter the model ID directly in the "Model Name or ID" field. Use the "View Available Models" button next to the input field to open the [Featherless Models page](https://featherless.ai/models) in a new tab, where you can browse and copy the model IDs of available models.

  ## Configuration

  ### Featherless API Credentials

  To use this node, you need to set up Featherless API credentials:

  1. Sign up for an account at [Featherless](https://featherless.ai/)
  2. Generate an API key in your Featherless dashboard
  3. In n8n, create a new credential of type 'Featherless API'
  4. Enter your API key

  ### Node Parameters

  - **Operation**: Currently, only 'Chat' is available
  - **Model**: Enter the model ID you want to use (e.g., "meta-llama/Meta-Llama-3.1-8B-Instruct")
  - **System Prompt**: (Optional) Set the behavior or role of the AI assistant
  - **Message**: The user's input message to the AI
  - **Temperature**: Controls the randomness of the AI's output (0.0 to 1.0)
  - **Additional Fields**: 
    - **Frequency Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far.
    - **Max Tokens**: The maximum number of tokens to generate in the chat completion.
    - **Presence Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.
    - **Top P**: An alternative to sampling with temperature, called nucleus sampling. Top_p of 0.1 means only the tokens comprising the top 10% probability mass are considered.

  ## Examples

  ### Basic Chat Workflow

  1. Add a "Manual" trigger node
  2. Connect an Featherless node
  3. Configure the Featherless node:
     - Operation: Chat
     - Model: Enter a model ID (e.g., "deepseek-ai/DeepSeek-V3-0324")
     - Message: "Hello, can you explain what n8n is?"
  4. Execute the workflow
  5. The Featherless node will return the AI's response explaining n8n

  ### Dynamic System Prompt

  1. Start with a "Manual" trigger node
  2. Add a "Set" node to define a variable for the system prompt
  3. Connect a Featherless node
  4. Configure the Featherless node:
     - Operation: Chat
     - Model: Enter a model ID (use the "View Available Models" button to see options)
     - System Prompt: {{$node["Set"].json["systemPrompt"]}}
     - Message: "What's your primary function?"
  5. Execute the workflow
  6. The AI will respond based on the system prompt set in the "Set" node

  ## Support

  If you encounter any issues or have questions about this node, please [open an issue](https://github.com/darinverheijke/n8n-nodes-featherless/issues) on the GitHub repository.

  ## Contributing

  Contributions to improve this node are welcome. Please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

  ## License

  This project is licensed under the [MIT License](LICENSE.md).

  ## About n8n
  n8n is a free and open [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation tool. It can be self-hosted, easily extended, and used to automate workflows across various services and applications. n8n enables you to connect anything to everything.

  ## About Featherless
  Featherless AI is a serverless AI inference platform that offers access to over 10,000+ open-source models. Our goal is to make all AI models available for serverless inference. We provide inference via API to a continually expanding library of open-weight models.

  ## Changelog

  For a full list of changes, please refer to the [CHANGELOG.md](CHANGELOG.md) file.

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with Featherless AI's API to send chat messages to over 10,000+ open-weight models.","capabilities":["Send chat messages to AI models","Select from multiple open-weight models via API","Customize generation parameters (temperature, max tokens, frequency penalty, presence penalty, top p)","Set system prompts to define AI behavior","View available models through integrated browser interface"],"authentication":"API key required (Featherless API credentials)","commonUseCases":["Integrating open-weight LLMs into n8n workflows","Building chatbot applications with customizable models","Automating text generation tasks with dynamic system prompts"],"limitations":["Currently supports only 'Chat' operation type","Community node requires manual installation or community node setup","Model selection requires manual ID entry or browser lookup"],"relatedNodes":["Manual Trigger","Set","Code","HTTP Request"]}


node_type: n8n-nodes-wati.watiTrigger
package_name: n8n-nodes-wati
display_name: Wati
description: Trigger workflows on WhatsApp events via Wati — incoming messages, delivery updates, and more.
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: nick-wati
author_github_url: https://github.com/nick-wati/
npm_package_name: n8n-nodes-wati
npm_version: 0.3.2
community_fetched_at: 2026-03-25T21:19:40.758Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # n8n-nodes-wati

  This is an [n8n](https://n8n.io/) community node for [Wati](https://www.wati.io/) (WhatsApp Team Inbox). It lets you automate WhatsApp messaging workflows using the Wati API.

  [Wati](https://www.wati.io/) is a WhatsApp Business API solution that enables businesses to communicate with customers at scale through WhatsApp.

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

  1. Go to **Settings → Community Nodes** in your n8n instance.
  2. Click **Install a community node**.
  3. Enter `n8n-nodes-wati` and click **Install**.

  ## Credentials

  You need a Wati account to use this node. To set up credentials:

  1. Log in to your [Wati Dashboard](https://app.wati.io/).
  2. Go to **API Docs** to find your **API Endpoint URL** and **Access Token**.
  3. In n8n, create a new **Wati API** credential and enter these values.

  ## Supported Operations

  ### Wati Node

  #### Message
  - **Send Text Message** — Send a text message to an active WhatsApp conversation (within 24h window)
  - **Send Button Message** — Send a message with interactive buttons
  - **Send List Message** — Send a message with a selectable list
  - **Get Messages** — Retrieve messages for a conversation by conversation ID
  - **Get Media** — Download a media file (image, video, document, audio, etc.) by message ID

  #### Template Message
  - **Send Template Message** — Send a template message (works outside the 24h window)
  - **Get Templates** — Get a list of available message templates

  #### Contact
  - **Get Contacts** — Get a list of contacts
  - **Get Contact Detail** — Get details of a specific contact by phone number
  - **Add Contact** — Add a new contact

  ### Wati Trigger

  - **Webhook Trigger** — Receive incoming messages and status updates via webhook

  ## Resources

  - [Sign up for Wati](https://auth.wati.io/register/?utm_source=n8n&utm_medium=referral&utm_campaign=n8n)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"Automates WhatsApp messaging workflows by triggering on incoming events and enabling sending of various message types via the Wati API.","capabilities":["Send text messages (within 24h window)","Send button messages","Send list messages","Send template messages (outside 24h window)","Retrieve conversation messages","Download media files","Get available message templates","Manage contacts (add, retrieve details)","Webhook trigger for incoming messages and status updates"],"authentication":"API key required (Access Token and API Endpoint URL from Wati Dashboard)","commonUseCases":["Automated customer support responses on WhatsApp","Order status notifications via WhatsApp","Two-factor authentication verification messages","Marketing campaigns using interactive buttons or templates","Automated media delivery (images, documents)"],"limitations":["Text messages can only be sent within a 24-hour window of the conversation creation","Template messages are required for sending outside the 24-hour window"],"relatedNodes":["n8n-nodes-whatsapp.whatsappTrigger","n8n-nodes-whatsapp.whatsappSendTextMessage","n8n-nodes-whatsapp.whatsappSendTemplateMessage"]}


node_type: n8n-nodes-greip.greip
package_name: n8n-nodes-greip
display_name: Greip
description: Get fraud prevention, threat intelligence, and risk scoring data from Greip.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: greip
author_github_url: https://github.com/Greipio/
npm_package_name: n8n-nodes-greip
npm_version: 1.0.7
community_fetched_at: 2026-03-25T21:19:40.758Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "dataLookup",
      "options": [
        {
          "name": "Data Lookup",
          "value": "dataLookup"
        },
        {
          "name": "Risk Scoring",
          "value": "riskScoring"
        }
      ],
      "displayName": "Resources",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ipLookup",
      "options": [
        {
          "name": "ASN Lookup",
          "value": "asnLookup",
          "action": "ASN Lookup",
          "description": "Lookup Autonomous System Number (ASN) data"
        },
        {
          "name": "BIN Lookup",
          "value": "binLookup",
          "action": "BIN Lookup",
          "description": "Retrieve comprehensive information associated with a debit or credit card"
        },
        {
          "name": "Country Lookup",
          "value": "countryLookup",
          "action": "Country lookup",
          "description": "Retrieve detailed information about a given country"
        },
        {
          "name": "Domain Lookup",
          "value": "domainLookup",
          "action": "Domain lookup",
          "description": "Lookup any domain name and retrieve associated data and risk evaluation metrics"
        },
        {
          "name": "IBAN Lookup",
          "value": "ibanLookup",
          "action": "IBAN Lookup",
          "description": "Validate a given IBAN and obtain essential information about the issuing country"
        },
        {
          "name": "IP Lookup",
          "value": "ipLookup",
          "action": "IP Lookup",
          "description": "Retrieve comprehensive information about a given IP address"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dataLookup"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "ipThreats",
      "options": [
        {
          "name": "Email Scoring",
          "value": "emailScoring",
          "action": "Email scoring",
          "description": "Score any email address and retrieve its risk evaluation metrics"
        },
        {
          "name": "IP Scoring",
          "value": "ipThreats",
          "action": "IP Scoring",
          "description": "Get threat intelligence and risk scoring for an IP address"
        },
        {
          "name": "Payment Fraud Detection",
          "value": "paymentFraudDetection",
          "action": "Payment fraud detection",
          "description": "Detect and score payment fraud risk for a transaction",
          "displayOptions": {
            "show": {
              "resource": [
                "riskScoring"
              ]
            }
          }
        },
        {
          "name": "Phone Scoring",
          "value": "phoneScoring",
          "action": "Phone number scoring",
          "description": "Score any phone number and retrieve its risk evaluation metrics"
        },
        {
          "name": "Profanity Detection",
          "value": "profanityDetection",
          "action": "Profanity detection",
          "description": "Detect offensive or inappropriate language in a given text"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "riskScoring"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "ASN Lookup",
      "value": "asnLookup",
      "action": "ASN Lookup",
      "description": "Lookup Autonomous System Number (ASN) data"
    },
    {
      "name": "BIN Lookup",
      "value": "binLookup",
      "action": "BIN Lookup",
      "description": "Retrieve comprehensive information associated with a debit or credit card"
    },
    {
      "name": "Country Lookup",
      "value": "countryLookup",
      "action": "Country lookup",
      "description": "Retrieve detailed information about a given country"
    },
    {
      "name": "Domain Lookup",
      "value": "domainLookup",
      "action": "Domain lookup",
      "description": "Lookup any domain name and retrieve associated data and risk evaluation metrics"
    },
    {
      "name": "IBAN Lookup",
      "value": "ibanLookup",
      "action": "IBAN Lookup",
      "description": "Validate a given IBAN and obtain essential information about the issuing country"
    },
    {
      "name": "IP Lookup",
      "value": "ipLookup",
      "action": "IP Lookup",
      "description": "Retrieve comprehensive information about a given IP address"
    },
    {
      "name": "Email Scoring",
      "value": "emailScoring",
      "action": "Email scoring",
      "description": "Score any email address and retrieve its risk evaluation metrics"
    },
    {
      "name": "IP Scoring",
      "value": "ipThreats",
      "action": "IP Scoring",
      "description": "Get threat intelligence and risk scoring for an IP address"
    },
    {
      "name": "Payment Fraud Detection",
      "value": "paymentFraudDetection",
      "action": "Payment fraud detection",
      "description": "Detect and score payment fraud risk for a transaction",
      "displayOptions": {
        "show": {
          "resource": [
            "riskScoring"
          ]
        }
      }
    },
    {
      "name": "Phone Scoring",
      "value": "phoneScoring",
      "action": "Phone number scoring",
      "description": "Score any phone number and retrieve its risk evaluation metrics"
    },
    {
      "name": "Profanity Detection",
      "value": "profanityDetection",
      "action": "Profanity detection",
      "description": "Detect offensive or inappropriate language in a given text"
    }
  ]

npm_readme:
  # n8n Nodes - Greip Integration

  This is an n8n community node that integrates with the Greip API, allowing users to interact with Greip's services directly from n8n workflows.

  [Greip](https://greip.io) is a platform that provides various services for fraud detection, proxy detection, content moderation, and more.

  ## Table of contents

  ## Installation (self-hosted)

  To install the Greip community node directly from the n8n Editor UI:

  1. Open your n8n instance.
  2. Go to Settings > Community Nodes
  3. Select Install.
  4. Enter the npm package name: n8n-nodes-greip to install the latest version.
  5. Agree to the risks of using community nodes and select Install.
  6. The node is now available to use in your workflows.

  ## Installation (n8n Cloud)

  If you're using n8n Cloud, installing community nodes is even simpler:

  1. Go to the Canvas and open the nodes panel.
  2. Search for Greip in the community node registry.
  3. Click Install node to add the Greip node to your instance.

  > On n8n cloud users can choose not to show verified community nodes. Instance owners can toggle this in the Cloud Admin Panel. To install the Greip node, make sure the installation of verified community nodes is enabled.

  ## Operations

  This node supports a wide range of Greip operations, organized by resource type:

  ### Data Lookup

  - ASN Lookup: Retrieve Autonomous System Number information and prefixes by AS number.
  - BIN Lookup: Get Bank Identification Number details.
  - IP Lookup: Retrieve information about an IP address, including location, ASN, security threats, and more.
  - Country Lookup: Get details about a country using its ISO code.
  - Domain Lookup: Fetch information about a domain, including its registration details and associated threats.
  - IBAN Lookup: Retrieve International Bank Account Number information.

  ### Risk Scoring

  - Email Scoring: Assess the risk associated with an email address.
  - IP Scoring: Evaluate the risk level of an IP address.
  - Phone Scoring: Determine the risk score of a phone number.
  - Payment Fraud Detection: Analyze payment details for potential fraud.
  - Profanity Detection: Check text for offensive language and profanity.

  ## AI Tools

  All Greip node operations can be combined with n8n's AI tools to create powerful workflows. For example, you can use AI to generate personalized marketing messages and then use the Greip Email Scoring operation to ensure the email addresses are valid and low-risk.

  ## Credentials

  To use the Greip node, you need to set up your Greip API credentials in n8n:

  1. Go to Settings > Credentials in n8n.
  2. Click on New Credential and select Greip API from the list.
  3. Enter your Greip API Key, which you can obtain from your Greip account dashboard.
  4. Save the credentials.

  ## Compatibility

  This node has been tested with n8n version `1.112.3`.

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Greip API Documentation](https://docs.greip.io/knowledge-base/integrations/n8n)

  ## Troubleshooting

  ### Common issues

  1. Authentication errors
     - Ensure that your Greip API Key is correct and has the necessary permissions.
     - Check for any typos or formatting issues in the API Key.
  2. Resource Not Found
     - Verify that the resource you are trying to access exists and that you have the correct identifiers.
     - Ensure you have access to the resource based on your Greip account plan.
  3. Operation failures
     - Double-check the parameters you are passing to the operation.
     - Verify resource limits (memory, timeout)

  ### Getting help

  If you encounter any issues or need assistance with the Greip node, consider the following options:

  1. Check our [N8N integration guide](https://docs.greip.io/knowledge-base/integrations/n8n)
  2. Review the [n8n Community Nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  3. Open an issue in the [GitHub repository](https://github.com/Greipio/n8n-nodes-greip)

ai_documentation_summary:
  {"purpose":"This n8n community node integrates with the Greip API to perform fraud detection, threat intelligence checks, and risk scoring on various data types.","capabilities":["ASN Lookup","BIN Lookup","IP Lookup","Country Lookup","Domain Lookup","IBAN Lookup","Email Scoring","IP Scoring","Phone Scoring","Payment Fraud Detection"],"authentication":"API Key required","commonUseCases":["Fraud prevention workflows","Threat intelligence gathering","Risk scoring for emails, IPs, and phone numbers","Content moderation using profanity detection"],"limitations":["Community node (requires installation in n8n Editor UI or n8n Cloud)","Requires active Greip API account and subscription","Resource access depends on Greip account plan permissions"],"relatedNodes":["n8n-nodes-core.httpRequest","n8n-nodes-core.code"]}


node_type: n8n-nodes-zohoteaminbox.zohoTeamInbox
package_name: n8n-nodes-zohoteaminbox
display_name: Zoho TeamInbox
description: Consume Zoho TeamInbox API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: zohomail
author_github_url: https://github.com/zohomail/zoho_teaminbox_n8n.git
npm_package_name: n8n-nodes-zohoteaminbox
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:40.759Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "message",
      "options": [
        {
          "name": "Message",
          "value": "message"
        },
        {
          "name": "Contact",
          "value": "contact"
        }
      ],
      "required": true,
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "sendemail",
      "options": [
        {
          "name": "Send Email",
          "value": "sendemail",
          "action": "Send Email",
          "description": "Create and send a new email."
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "message"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createcontact",
      "options": [
        {
          "name": "Create Contact",
          "value": "createcontact",
          "action": "Create Contact",
          "description": "Creates a new contact"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "contact"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Send Email",
      "value": "sendemail",
      "action": "Send Email",
      "description": "Create and send a new email."
    },
    {
      "name": "Create Contact",
      "value": "createcontact",
      "action": "Create Contact",
      "description": "Creates a new contact"
    }
  ]

npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)
  # Zoho TeamInbox integration with n8n
  Zoho TeamInbox is a multichannel shared inbox platform that enables teams to manage conversations from business WhatsApp, Telegram, Facebook, Instagram DMs, and emails—all in one shared space that enhance collaboration and transparency.
  With n8n’s integration, you can align Zoho TeamInbox with your business processes by custom-designing workflows using triggers and actions to automate your operations.
  To learn more about n8n
  [n8n homepage](https://n8n.io/).
  To learn more about Zoho TeamInbox
  [Zoho Calendar homepage]( https://www.zoho.com/teaminbox/ )
  In case of any technical queries 
  [Contact sales]( https://www.zoho.com/teaminbox/contact.html )
  ## Pre-requisites
  - n8n admin login account (https://app.n8n.cloud/login)
  - TeamInbox account
  - Verified domain added to TeamInbox
  ## Installation 
  You can install the nodes for n8n via [npm]( https://www.npmjs.com/ ) with the package name as "n8n-nodes-zohoteaminbox".
  - To install :
    - Log in to your n8n account.
    - Navigate to more options->Settings->Community nodes->Install.
    - Enter the package name (n8n-nodes-zohoteaminbox)
    - The node will be installed successfully.

  ## Configuration 
  Follow the steps below to integrate Zoho TeamInbox from n8n.
  - Log in to your n8n account.
  - Select Create Credential -> Add Credential dialog box -> Enter Zoho TeamInbox OAuth2 API -> Click Continue.
  - Copy the Authorized Redirection URL from the connection page.
  - Access the [Zoho Developer Console](https://api-console.zoho.com/) to create a new Client ID and Client Secret to establish the connection between n8n and Zoho TeamInbox.
  - Click on Get Started if you have no existing Client. If you have an existing client, click on Add Client in the top-right corner. Select Server-based Applications in the Client Type window.
  - Provide the appropriate Client Name and your domain in the Homepage URL along with the Authorized Redirect URL copied from the Connection page.
  - Click Create to generate the Client ID and Client Secret.
  - Enter the Client ID and Client secret in the Connection Page and click Connect my account.
  - Now, the connection between n8n and Zoho TeamInbox is established, and the next step is to create your workflow.
  - Click Create Workflow -> Add first step -> search and select Zoho TeamInbox on the right pane.
  - Build your desired workflow with the list of actions (Send an email or Create contact).
  - Once the workflow is created, you can test it by selecting the Test Workflow option.
  ## Troubleshooting 
  Write to us in case of any queries
  [Contact support]( support@zohoteaminbox.com )

  ### Description
  This page explains the integration of Zoho TeamInbox with n8n. n8n is a powerful, open-source workflow automation software that allows you to connect with different apps and automate tasks with ease.

  For more information on Zoho TeamInbox: https://www.zoho.com/teaminbox/
    
  ### Required :
  - Zoho TeamInbox account and n8n admin account.
  - Module installation and configuration
  - Information on how the integration between Zoho TeamInbox and n8n can be made is found in this Readme file.
  - For further queries, visit :  https://www.zoho.com/teaminbox/contact.html  

ai_documentation_summary:
  {"purpose":"This n8n node enables automation of Zoho TeamInbox workflows by consuming the Zoho TeamInbox API to manage multichannel conversations from platforms like WhatsApp, Telegram, Facebook, Instagram DMs, and email.","capabilities":["Trigger on new messages from multiple channels","Send emails via TeamInbox","Create contacts in TeamInbox","Align TeamInbox with business processes through custom workflows"],"authentication":"OAuth2 API","commonUseCases":["Automating responses to customer inquiries across social media and messaging apps","Centralizing team collaboration on shared conversations","Integrating TeamInbox data into other business workflows"],"limitations":["Requires a verified domain added to the TeamInbox account","Requires manual setup of Client ID and Client Secret in Zoho Developer Console before OAuth2 flow"],"relatedNodes":["Zoho Calendar","Generic Email nodes","Contact Management nodes"]}


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

updated_at: 2026-03-25 21:19:40
author_name: lucianholt
author_github_url: https://github.com/anny-co/anny-n8n.git
npm_package_name: n8n-nodes-anny
npm_version: 1.1.2
community_fetched_at: 2026-03-25T21:19:40.759Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "booking",
      "options": [
        {
          "name": "Availability",
          "value": "availability"
        },
        {
          "name": "Booking",
          "value": "booking"
        },
        {
          "name": "Customer",
          "value": "customer"
        },
        {
          "name": "Invoice",
          "value": "invoice"
        },
        {
          "name": "Order",
          "value": "order"
        },
        {
          "name": "Plan Subscription",
          "value": "planSubscription"
        },
        {
          "name": "Resource",
          "value": "resource"
        },
        {
          "name": "Service",
          "value": "service"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getUpcomingIntervals",
      "options": [
        {
          "name": "Get End Times",
          "value": "getEndTimes",
          "action": "Get end times",
          "description": "Get all interval end dates for a start datetime"
        },
        {
          "name": "Get Start Times",
          "value": "getStartTimes",
          "action": "Get start times",
          "description": "Get all interval start dates for a given date"
        },
        {
          "name": "Get Upcoming Intervals",
          "value": "getUpcomingIntervals",
          "action": "Get upcoming intervals",
          "description": "Get a list of upcoming available intervals"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "availability"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Cancel",
          "value": "cancel",
          "action": "Cancel booking",
          "description": "Cancel an existing booking"
        },
        {
          "name": "Check In",
          "value": "checkIn",
          "action": "Check in booking",
          "description": "Check in a customer for their booking"
        },
        {
          "name": "Check Out",
          "value": "checkOut",
          "action": "Check out booking",
          "description": "Check out a customer from their booking"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get booking",
          "description": "Get a single booking by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many bookings",
          "description": "Get multiple bookings"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "booking"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create customer",
          "description": "Create a new customer"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete customer",
          "description": "Delete an existing customer"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get customer",
          "description": "Get a single customer by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many customers",
          "description": "Get multiple customers"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update customer",
          "description": "Update an existing customer"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "customer"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get order",
          "description": "Get a single order by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many orders",
          "description": "Get multiple orders"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "order"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get invoice",
          "description": "Get a single invoice by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many invoices",
          "description": "Get multiple invoices"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "invoice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get service",
          "description": "Get a single service by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many services",
          "description": "Get multiple services"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "service"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get resource",
          "description": "Get a single resource by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many resources",
          "description": "Get multiple resources"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "resource"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get plan subscription",
          "description": "Get a single plan subscription by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many plan subscriptions",
          "description": "Get multiple plan subscriptions"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "planSubscription"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get End Times",
      "value": "getEndTimes",
      "action": "Get end times",
      "description": "Get all interval end dates for a start datetime"
    },
    {
      "name": "Get Start Times",
      "value": "getStartTimes",
      "action": "Get start times",
      "description": "Get all interval start dates for a given date"
    },
    {
      "name": "Get Upcoming Intervals",
      "value": "getUpcomingIntervals",
      "action": "Get upcoming intervals",
      "description": "Get a list of upcoming available intervals"
    },
    {
      "name": "Cancel",
      "value": "cancel",
      "action": "Cancel booking",
      "description": "Cancel an existing booking"
    },
    {
      "name": "Check In",
      "value": "checkIn",
      "action": "Check in booking",
      "description": "Check in a customer for their booking"
    },
    {
      "name": "Check Out",
      "value": "checkOut",
      "action": "Check out booking",
      "description": "Check out a customer from their booking"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get booking",
      "description": "Get a single booking by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many bookings",
      "description": "Get multiple bookings"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create customer",
      "description": "Create a new customer"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete customer",
      "description": "Delete an existing customer"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get customer",
      "description": "Get a single customer by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many customers",
      "description": "Get multiple customers"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update customer",
      "description": "Update an existing customer"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get order",
      "description": "Get a single order by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many orders",
      "description": "Get multiple orders"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get invoice",
      "description": "Get a single invoice by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many invoices",
      "description": "Get multiple invoices"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get service",
      "description": "Get a single service by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many services",
      "description": "Get multiple services"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get resource",
      "description": "Get a single resource by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many resources",
      "description": "Get multiple resources"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get plan subscription",
      "description": "Get a single plan subscription by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many plan subscriptions",
      "description": "Get multiple plan subscriptions"
    }
  ]

npm_readme:
  # n8n-nodes-anny

  This is an n8n community node for the [anny](https://anny.co) booking platform. It lets you manage bookings, customers, orders, invoices, resources, and services, plus react to anny webhooks inside n8n.

  anny offers scheduling, payments, and resource management for online booking flows.

  [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

  - Bookings: get, list (with filters), cancel, check-in, check-out
  - Customers: create, get, list (with filters), update, delete
  - Orders, invoices, plan subscriptions, services, resources: get and list with filters and includes
  - Availability: get upcoming intervals for a resource/service combination
  - API Call: run arbitrary requests against `/api/*` with custom method, params, headers, and body
  - Triggers: webhooks for bookings (created/started/ended/updated/checked-in/checked-out/cancelled/deleted), customers (created/updated/deleted), orders (created/updated/deleted), invoices (created/updated/deleted)

  ## Credentials

  - Uses OAuth2 with preconfigured scopes; only pick your region (anny.co, anny.eu, staging, or local) and complete the OAuth flow.
  - The credential tests by fetching your user profile from the selected region.

  ## Compatibility

  - Built with nodes API v1 via `@n8n/node-cli` 0.13.0 (`n8n-workflow` 1.113.0).
  - Tested locally with n8n 1.x; use a current n8n release for best results.

  ## Usage

  - Add the **anny OAuth2 API** credential first; choose the right region and finish the OAuth consent.
  - Use **anny Booking** to create or manage bookings; include related data via the `include` field when needed.
  - Use the trigger nodes to subscribe to anny webhooks automatically; they create and clean up webhook subscriptions for the selected events.
  - For unsupported endpoints, use **anny API Call** to hit any `/api/v1/*` path with custom parameters.

  ## Resources

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

  ## Version history

  - 0.1.0: Initial release of the anny node pack (bookings, customers, orders, invoices, plan subscriptions, resources, services, triggers, and generic API call).

ai_documentation_summary:
  {"purpose":"This n8n community node enables interaction with the anny booking platform to manage bookings, customers, orders, invoices, and resources, while also handling webhooks for automated event responses.","capabilities":["Get and list bookings with filters","Cancel bookings","Check-in and check-out bookings","Create, retrieve, update, and delete customers","Manage orders, invoices, subscriptions, services, and resources","Retrieve availability for resource/service combinations","Execute arbitrary API calls to /api/* endpoints","Subscribe to webhooks for bookings, customers, orders, and invoices"],"authentication":"OAuth2 with preconfigured scopes; requires selecting a region (anny.co, anny.eu, staging, or local) and completing the OAuth flow","commonUseCases":["Automating booking confirmations and reminders","Syncing customer data between systems","Processing order and invoice updates","Monitoring booking status changes via webhooks"],"limitations":["Requires a current n8n release (tested with n8n 1.x)","Uses nodes API v1 via @n8n/node-cli 0.13.0","Generic API Call node required for unsupported endpoints"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.oauth2"]}


node_type: n8n-nodes-hedy.hedy
package_name: n8n-nodes-hedy
display_name: Hedy
description: Interact with Hedy API to retrieve meeting intelligence data
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  {
  "type": "main"
  }
  ]

updated_at: 2026-03-25 21:19:40
author_name: julian-hedy
author_github_url: https://github.com/HedyAI/
npm_package_name: n8n-nodes-hedy
npm_version: 1.2.1
community_fetched_at: 2026-03-25T21:19:40.760Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "session",
      "options": [
        {
          "name": "Context",
          "value": "context",
          "description": "Session context operations for AI instructions"
        },
        {
          "name": "Highlight",
          "value": "highlight",
          "description": "Meeting highlight operations"
        },
        {
          "name": "Session",
          "value": "session",
          "description": "Meeting session operations"
        },
        {
          "name": "Todo",
          "value": "todo",
          "description": "Todo item operations"
        },
        {
          "name": "Topic",
          "value": "topic",
          "description": "Topic operations for organizing sessions"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a session context",
          "description": "Create a new session context"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a session context",
          "description": "Delete a session context"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a session context",
          "description": "Get a specific session context by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many session contexts",
          "description": "Get all session contexts"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a session context",
          "description": "Update a session context"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "context"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a session",
          "description": "Get a specific session by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many sessions",
          "description": "Get multiple sessions"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "session"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a highlight",
          "description": "Get a specific highlight by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many highlights",
          "description": "Get multiple highlights"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "highlight"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many todos",
          "description": "Get all todos"
        },
        {
          "name": "Get by Session",
          "value": "getBySession",
          "action": "Get todos by session",
          "description": "Get todos for a specific session"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "todo"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a topic",
          "description": "Get a specific topic by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many topics",
          "description": "Get all topics"
        },
        {
          "name": "Get Topic Sessions",
          "value": "getSessions",
          "action": "Get sessions by topic",
          "description": "Get all sessions for a specific topic"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "topic"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a session context",
      "description": "Create a new session context"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a session context",
      "description": "Delete a session context"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a session context",
      "description": "Get a specific session context by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many session contexts",
      "description": "Get all session contexts"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a session context",
      "description": "Update a session context"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a session",
      "description": "Get a specific session by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many sessions",
      "description": "Get multiple sessions"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a highlight",
      "description": "Get a specific highlight by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many highlights",
      "description": "Get multiple highlights"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many todos",
      "description": "Get all todos"
    },
    {
      "name": "Get by Session",
      "value": "getBySession",
      "action": "Get todos by session",
      "description": "Get todos for a specific session"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a topic",
      "description": "Get a specific topic by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many topics",
      "description": "Get all topics"
    },
    {
      "name": "Get Topic Sessions",
      "value": "getSessions",
      "action": "Get sessions by topic",
      "description": "Get all sessions for a specific topic"
    }
  ]

npm_readme:
  # n8n-nodes-hedy

  [![npm version](https://badge.fury.io/js/n8n-nodes-hedy.svg)](https://www.npmjs.com/package/n8n-nodes-hedy)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![n8n Community Node](https://img.shields.io/badge/n8n-Community%20Node-orange)](https://n8n.io)

  This is an n8n community node that lets you integrate [Hedy](https://hedy.bot) - your AI-powered meeting intelligence assistant - into your n8n workflows.

  Hedy helps you be the brightest person in the room by providing real-time transcription, meeting summaries, action items, and intelligent insights from your meetings.

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

  ## 🚀 Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings** > **Community Nodes**
  2. Search for `n8n-nodes-hedy`
  3. Click **Install**

  ### Manual Installation

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

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

  ### Docker Installation

  Add the following to your docker-compose.yml:

  ```yaml
  n8n:
    image: n8nio/n8n
    environment:
      - N8N_CUSTOM_EXTENSIONS=n8n-nodes-hedy
  ```

  ## 🔑 Authentication

  1. Get your API key from [Hedy Dashboard](https://app.hedy.bot):
     - Navigate to Settings → API
     - Click "Generate New Key"
     - Copy the key (starts with `hedy_live_`)

  2. In n8n:
     - Go to Credentials
     - Create new "Hedy API" credential
     - Paste your API key
     - Click "Save"

  ## 📦 Nodes Included

  ### Hedy Trigger
  Receives real-time webhook notifications when events occur in Hedy:

  - **Session Created** - When a new meeting session starts
  - **Session Ended** - When a meeting session completes
  - **Highlight Created** - When a highlight is created during a meeting
  - **Todo Exported** - When a todo item is exported

  ### Hedy
  Performs actions and retrieves data from Hedy:

  - **Sessions**
    - Get Session - Retrieve detailed session information
    - Get Many Sessions - List multiple sessions with pagination
    
  - **Highlights**
    - Get Highlight - Retrieve specific highlight details
    - Get Many Highlights - List multiple highlights
    
  - **Todos**
    - Get Many Todos - List all todo items
    - Get Todos by Session - Get todos for a specific session

  ## 🎯 Example Workflows

  ### 1. Meeting Summary to Slack
  Send meeting summaries to Slack when sessions end:

  ```
  [Hedy Trigger: Session Ended]
      → [Hedy: Get Session Details]
      → [Slack: Send Message]
  ```

  ### 2. Highlight Collection to Notion
  Save important highlights to a Notion database:

  ```
  [Hedy Trigger: Highlight Created]
      → [Hedy: Get Highlight Details]
      → [Notion: Create Database Entry]
  ```

  ### 3. Todo Export to Project Management
  Export todos to your project management tool:

  ```
  [Hedy Trigger: Todo Exported]
      → [Jira/Trello/Asana: Create Task]
  ```

  ### 4. Daily Meeting Report
  Generate daily meeting reports:

  ```
  [Schedule Trigger: Daily at 5 PM]
      → [Hedy: Get Many Sessions (today)]
      → [Transform: Format Report]
      → [Email: Send Report]
  ```

  ## 📊 Data Structures

  ### Session Object
  ```json
  {
    "id": "sess_abc123",
    "title": "Team Standup",
    "startTime": "2024-01-10T10:00:00Z",
    "endTime": "2024-01-10T10:30:00Z",
    "duration": 1800,
    "transcript": "Full transcript...",
    "cleaned_transcript": "AI-cleaned transcript...",
    "cleaned_at": "2024-01-10T11:00:00Z",
    "conversations": [...],
    "meeting_minutes": "Meeting notes...",
    "recap": "Summary...",
    "user_todos": [...],
    "topic": {...}
  }
  ```

  > **Note:** `cleaned_transcript` and `cleaned_at` are `null` when the transcript has not yet been cleaned.

  ### Highlight Object
  ```json
  {
    "id": "high_xyz789",
    "sessionId": "sess_abc123",
    "timestamp": "2024-01-10T10:15:00Z",
    "title": "Key Decision",
    "rawQuote": "Original quote...",
    "cleanedQuote": "Cleaned quote...",
    "mainIdea": "Core concept...",
    "aiInsights": "Analysis..."
  }
  ```

  ### Todo Object
  ```json
  {
    "id": "todo_123",
    "sessionId": "sess_abc123",
    "text": "Follow up with marketing team",
    "dueDate": "2024-01-15",
    "completed": false,
    "topic": {...}
  }
  ```

  ## ⚙️ Configuration

  ### Webhook Limits
  - Maximum of 10 webhooks per Hedy account
  - Webhooks must use HTTPS URLs
  - Each webhook receives a unique signing secret for security

  ### Pagination
  - Default page size: 50 items
  - Maximum page size: 100 items
  - Supports cursor-based pagination for large datasets

  ### Rate Limiting
  The API follows standard rate limiting practices. If you encounter rate limit errors, implement exponential backoff in your workflows.

  ## 🔒 Security

  ### Webhook Signature Verification
  All webhooks include an `X-Hedy-Signature` header for verification:

  1. The signature is an HMAC SHA-256 hash of the request body
  2. Each webhook has a unique signing secret
  3. Signature verification is enabled by default (recommended)

  ### API Key Security
  - Never share your API key publicly
  - Rotate keys regularly (every 90 days recommended)
  - Use n8n's built-in credential encryption
  - Keys can be revoked instantly from the Hedy dashboard

  ## 🐛 Troubleshooting

  ### Common Issues

  **Webhook Registration Fails**
  - Ensure your n8n instance uses HTTPS
  - Check you haven't exceeded the 10 webhook limit
  - Verify your API key has the necessary permissions

  **No Data Returned**
  - Verify the resource ID exists
  - Check your API key is valid
  - Ensure you have access to the requested resource

  **Signature Verification Fails**
  - Don't modify webhook payloads
  - Ensure signature verification is using the correct secret
  - Check for clock skew between servers

  ## 📚 Resources

  - [Hedy Website](https://hedy.bot)
  - [Hedy API Documentation](https://api.hedy.bot/docs)
  - [n8n Documentation](https://docs.n8n.io)
  - [n8n Community Forum](https://community.n8n.io)

  ## 💬 Support

  - **Hedy Support**: support@hedy.bot
  - **API Issues**: api@hedy.bot
  - **n8n Node Issues**: [GitHub Issues](https://github.com/HedyAI/n8n-nodes-hedy/issues)

  ## 🤝 Contributing

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

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

  ## 📄 License

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

  ## 🙏 Acknowledgments

  - Thanks to the n8n team for their excellent workflow automation platform
  - Thanks to the Hedy team for providing comprehensive API documentation
  - Thanks to all contributors and users of this node

  ## 📈 Version History

  See [CHANGELOG.md](CHANGELOG.md) for a list of changes in each version.

  ---

  Made with ❤️ by the Hedy team

ai_documentation_summary:
  {"purpose":"This n8n community node enables integration with Hedy, an AI-powered meeting intelligence assistant, to retrieve meeting data such as transcripts, summaries, action items, and highlights.","capabilities":["Webhook Trigger for real-time event notifications (Session Created, Session Ended, Highlight Created, Todo Exported)","Retrieve single session details","List multiple sessions with pagination","Retrieve single highlight details","List multiple highlights with pagination","List all todo items","Retrieve todos for a specific session"],"authentication":"API key required (Hedy Dashboard API key)","commonUseCases":["Automated meeting summary delivery to Slack or email","Storing meeting highlights in Notion or other databases","Exporting meeting action items to project management tools (Jira, Trello, Asana)","Generating daily meeting reports"],"limitations":["Maximum of 10 webhooks per Hedy account","Webhooks must use HTTPS URLs","Webhook signature verification is enabled by default and requires correct secret configuration","API follows standard rate limiting practices","Webhook registration fails if n8n instance does not use HTTPS"],"relatedNodes":["Webhook Trigger","Slack","Notion","Jira","Trello"]}


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-03-25 21:19:40
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.8.0
community_fetched_at: 2026-03-25T21:19:40.761Z
ai_summary_generated_at: 2026-03-25 22:51:43
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"
        },
        {
          "name": "Upsert HTML Page",
          "value": "upsert",
          "action": "Upsert 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"
    },
    {
      "name": "Upsert HTML Page",
      "value": "upsert",
      "action": "Upsert 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":"This n8n community node acts as an all-in-one toolkit for PDF manipulation, file conversions, website interactions, and document generation using the CustomJS API.","capabilities":["Convert HTML to PDF","Merge multiple PDF files","Take website screenshots","Convert PDF to PNG","Convert PDF to text","Extract pages from PDF","Compress PDF files","Check SSL certificate status","Scrape websites with optional user actions","Convert Markdown to HTML"],"authentication":"API Key required (CustomJS API credentials)","commonUseCases":["Automated document generation for invoices","Converting web content to PDF or image formats","Extracting text from scanned documents","Automating website scraping and data collection","Filling out digital forms programmatically"],"limitations":["Large files (exceeding 6MB) must be passed as URLs instead of binary files for most operations","Requires valid CustomJS API credentials","Community node status may indicate less official support compared to core n8n nodes"],"relatedNodes":["HTTP Request","Binary File","Code","Webhook"]}


node_type: n8n-nodes-jsonpost.jsonPostTrigger
package_name: n8n-nodes-jsonpost
display_name: CrispForms Trigger
description: Starts the workflow when a form is submitted to CrispForms
category: Community
development_style: declarative
version: 1
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: ubergeekady
author_github_url: https://github.com/ubergeekady/
npm_package_name: n8n-nodes-jsonpost
npm_version: 0.1.6
community_fetched_at: 2026-03-25T21:19:40.762Z
ai_summary_generated_at: 2026-03-25 22:51:43
npm_readme:
  # n8n-nodes-jsonpost

  A custom n8n node for integrating with JSONPost.com webhooks. This node allows you to easily create, manage, and receive webhooks from JSONPost endpoints in your n8n workflows.

  ## Features

  - **Easy Webhook Management**: Create and delete webhooks for JSONPost endpoints
  - **Real-time Data Reception**: Receive webhook data in real-time within your n8n workflows
  - **Secure Authentication**: Uses API key authentication for secure access to JSONPost services
  - **Event Filtering**: Subscribe to specific event types from your JSONPost endpoints
  - **Automatic Cleanup**: Properly handles webhook cleanup when workflows are deactivated

  ## Installation

  ### From npm (Recommended)

  ```bash
  npm install n8n-nodes-jsonpost
  ```

  ### n8n Community Nodes

  You can also install this node directly through n8n's community nodes feature:

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

  ## Quick Start

  ### 1. Set up Credentials

  1. In n8n, go to **Credentials** and create a new **JSONPost API** credential
  2. Enter your JSONPost API key (get it from your JSONPost dashboard)
  3. Test the connection to ensure it's working properly

  ### 2. Add the Node

  1. Add the **JSONPost Trigger** node to your workflow
  2. Select your JSONPost API credential
  3. Enter your **Endpoint ID** (from your JSONPost dashboard)
  4. Choose the **Event Type** you want to listen for (POST, GET, PUT, DELETE)

  ### 3. Activate and Test

  1. Activate the workflow
  2. The node will automatically create a webhook subscription with JSONPost
  3. Send data to your JSONPost endpoint to trigger your workflow

  ## Usage

  ### Accessing Webhook Data

  The JSONPost Trigger node outputs the complete webhook payload. You can access this data in subsequent nodes using:

  - `{{ $json.body }}` - The request body
  - `{{ $json.headers }}` - Request headers  
  - `{{ $json.query }}` - Query parameters
  - `{{ $json.method }}` - HTTP method used
  - `{{ $json.timestamp }}` - When the request was received

  ### Example Workflow

  1. **JSONPost Trigger** - Receives webhook data
  2. **Set Node** - Extract specific fields from the payload
  3. **HTTP Request** - Send processed data to another service
  4. **Email Node** - Send notification about the received data

  ## Configuration Options

  ### JSONPost Trigger Node

  - **Credential**: Your JSONPost API credential
  - **Endpoint ID**: The ID of your JSONPost endpoint (found in your JSONPost dashboard)
  - **Event Type**: The HTTP method to listen for:
    - `POST` - Listen for POST requests (default)
    - `GET` - Listen for GET requests
    - `PUT` - Listen for PUT requests
    - `DELETE` - Listen for DELETE requests

  ## Support

  - **Issues & Bug Reports**: [GitHub Issues](https://github.com/yourusername/n8n-nodes-jsonpost/issues)
  - **Feature Requests**: [GitHub Issues](https://github.com/yourusername/n8n-nodes-jsonpost/issues)
  - **General n8n Questions**: [n8n Community Forum](https://community.n8n.io/)
  - **JSONPost API Questions**: [JSONPost.com](https://jsonpost.com)

  ## Documentation

  - **User Guide**: This README
  - **Developer Documentation**: See [DEVELOPER.md](./DEVELOPER.md) for technical details, development setup, and contribution guidelines
  - **Changelog**: See [CHANGELOG.md](./CHANGELOG.md) for version history

  ## License

  This project is licensed under the MIT License. See the LICENSE file for details.

  ---

  **Note**: This is a community-maintained node and is not officially supported by n8n or JSONPost. Use at your own discretion and always test thoroughly in your environment before production use.

ai_documentation_summary:
  {"purpose":"Triggers n8n workflows when a form is submitted to a JSONPost.com webhook endpoint by receiving real-time webhook data.","capabilities":["Create and delete JSONPost webhooks","Receive webhook data in real-time","Filter events by HTTP method (POST, GET, PUT, DELETE)","Access webhook payload data including body, headers, query parameters, HTTP method, and timestamp","Automatic cleanup of webhook subscriptions when workflows are deactivated"],"authentication":"API key required (JSONPost API key)","commonUseCases":["Triggering workflows upon form submissions","Receiving data from third-party services via JSONPost endpoints","Automating tasks based on incoming HTTP requests"],"limitations":["Community-maintained node not officially supported by n8n or JSONPost","Requires manual setup of JSONPost API credentials and Endpoint ID","Users must test thoroughly in their environment before production use"],"relatedNodes":["n8n-nodes-jsonpost.jsonPost","n8n-nodes-http.request","n8n-nodes-set","n8n-nodes-email.sendEmail"]}


node_type: n8n-nodes-docuprox.docuProx
package_name: n8n-nodes-docuprox
display_name: DocuProx
description: Process documents using DocuProx API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-03-25 21:19:40
author_name: docuprox
author_github_url: https://github.com/docuprox/n8n-docuprox.git
npm_package_name: n8n-nodes-docuprox
npm_version: 1.0.8
community_fetched_at: 2026-03-25T21:19:40.762Z
ai_summary_generated_at: 2026-03-25 22:51:43
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Document",
          "value": "document",
          "description": "Real-time document processing"
        },
        {
          "name": "Job",
          "value": "job",
          "description": "Background job submission and management"
        }
      ],
      "required": true,
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "process",
      "options": [
        {
          "name": "Process",
          "value": "process",
          "action": "Process a document",
          "description": "Process a document in real-time with a template"
        },
        {
          "name": "Process Agent",
          "value": "process_agent",
          "action": "Process with agent",
          "description": "Process a document using AI agent with custom instructions and extraction prompts"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      }
    },
    {
      "name": "operation",
      "type": "options",
      "default": "processJob",
      "options": [
        {
          "name": "Submit Job",
          "value": "processJob",
          "action": "Submit a job",
          "description": "Submit a batch job with a template ID and ZIP file"
        },
        {
          "name": "Get Job Status",
          "value": "jobStatus",
          "action": "Get job status",
          "description": "Get the status of a submitted job"
        },
        {
          "name": "Get Job Results",
          "value": "jobResults",
          "action": "Get job results",
          "description": "Retrieve the results of a completed job"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "job"
          ]
        }
      }
    }
  ]

operations:
  [
    {
      "name": "Process",
      "value": "process",
      "action": "Process a document",
      "description": "Process a document in real-time with a template"
    },
    {
      "name": "Process Agent",
      "value": "process_agent",
      "action": "Process with agent",
      "description": "Process a document using AI agent with custom instructions and extraction prompts"
    },
    {
      "name": "Submit Job",
      "value": "processJob",
      "action": "Submit a job",
      "description": "Submit a batch job with a template ID and ZIP file"
    },
    {
      "name": "Get Job Status",
      "value": "jobStatus",
      "action": "Get job status",
      "description": "Get the status of a submitted job"
    },
    {
      "name": "Get Job Results",
      "value": "jobResults",
      "action": "Get job results",
      "description": "Retrieve the results of a completed job"
    }
  ]

npm_readme:
  # n8n-nodes-docuprox

  An n8n custom node for integrating with the DocuProx API to process documents using AI-powered document processing templates.

  ## Description

  This n8n node allows you to process documents by providing a template ID and an image (either as a binary file upload or base64 encoded string). The node communicates with the DocuProx API to extract structured data from documents based on predefined templates.

  ## Installation

  1. Clone or download this repository
  2. Navigate to the project directory
  3. Install dependencies:
     ```bash
     npm install
     ```
  4. Build the project:
     ```bash
     npm run build
     ```
  5. Copy the `dist` folder to your n8n custom nodes directory
  6. Restart n8n

  ## Usage

  1. Add the "DocuProx" node to your n8n workflow
  2. Configure your DocuProx API credentials (see Configuration section)
  3. Set the Template ID for the document processing template you want to use
  4. Choose your image source:
     - **Upload Image File**: Provide the binary property name containing the image file
     - **Base64 String**: Directly input the base64 encoded image data
  5. Execute the workflow

  The node will return the processed document data from the DocuProx API.

  ## Configuration

  ### Credentials Setup

  Before using the node, you need to set up your DocuProx API credentials:

  1. Go to your n8n instance
  2. Navigate to Settings > Credentials
  3. Create a new credential of type "DocuProx API"
  4. Enter your DocuProx API key
  5. Save the credential

  ### Node Properties

  - **Template ID** (required): The ID of the template to use for document processing
  - **Image Source** (required):
    - Upload Image File: Upload an image file from binary data
    - Base64 String: Provide image as Base64 encoded string
  - **Binary Property Name** (required when using Upload): Name of the binary property containing the image file
  - **Base64 Image** (required when using Base64): The base64 encoded image data

  ## API Reference

  ### Input
  - Template ID: String
  - Image: Binary file or Base64 string

  ### Output
  - Success status
  - Template ID used
  - API response data
  - Timestamp

  ### Error Handling
  The node includes comprehensive error handling and will return error details if the API call fails. You can configure the node to continue on failure or stop the workflow.

  ## Development

  ### Prerequisites
  - Node.js
  - npm
  - n8n instance

  ### Scripts
  - `npm run build`: Build the TypeScript code and copy assets
  - `npm run dev`: Watch mode for development

  ## Release and npm publish

  Publishing is automated through GitHub Actions with npm provenance.

  1. Add an npm automation token as `NPM_TOKEN` in the GitHub repository secrets
  2. Bump `version` in `package.json`
  3. Create and push a tag matching that version in `vX.Y.Z` format (for example `v1.0.8`)
  4. The `Publish to npm` workflow will build and run `npm publish --provenance`

  ### Project Structure
  ```
  ├── credentials/
  │   └── DocuProxApi.credentials.ts    # API credentials definition
  ├── nodes/
  │   └── DocuProx/
  │       ├── DocuProx.node.ts          # Main node implementation
  │       └── douprox-logo.svg          # Node icon
  ├── dist/                             # Built files
  ├── package.json
  ├── tsconfig.json
  └── README.md
  ```

  ## License

  This project is licensed under the MIT License - see the LICENSE file for details.

ai_documentation_summary:
  {"purpose":"Processes documents using the DocuProx API by applying AI-powered document processing templates to extract structured data from uploaded images.","capabilities":["Process documents using predefined DocuProx templates","Accept image input as binary file uploads","Accept image input as Base64 encoded strings","Extract structured data from documents","Return processed document data with success status and API response","Handle API errors with configurable workflow continuation"],"authentication":"API key required (via n8n Credentials system)","commonUseCases":["Extracting text and data from invoices","Processing ID documents for verification","Analyzing receipts or forms","Automating document data entry into databases"],"limitations":["Requires a valid DocuProx API key and template ID","Input must be provided as an image file or Base64 string","Dependent on DocuProx API availability and template support"],"relatedNodes":["n8n-nodes-base.credential","n8n-nodes-base.binaryData","n8n-nodes-base.httpRequest"]}


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-03-25 21:19:40
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-03-25T21:19:40.763Z
ai_summary_generated_at: 2026-03-25 22:51:43
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":"This n8n community node enables interaction with the Realm API to manage AI-powered enterprise search, including chat conversations and document operations across various knowledge bases.","capabilities":["Create or continue a chat conversation","Retrieve single, multiple, or specific chat conversations","Delete chat conversations","List all available assistants","List all available connectors","Create or update documents in custom connectors","Retrieve all documents from a connector","Retrieve a specific document from a connector","Delete specific documents from a connector","Delete documents older than a specified timestamp"],"authentication":"API key required","commonUseCases":["Integrating custom data sources into an AI knowledge base","Managing chat history and conversations programmatically","Automating document indexing and retrieval from external systems","Cleaning up old documents from connectors"],"limitations":["Requires manual setup of Realm API key and base URL in n8n credentials","Limited to operations supported by the Realm API (no custom logic beyond API calls)","Community node status may imply less official support or updates"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-github","n8n-nodes-slack","n8n-nodes-gdrive"]}


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-03-25 21:19:40
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-03-25T21:19:40.764Z
ai_summary_generated_at: 2026-03-25 22:51:43
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":"This n8n community node enables automation workflows by integrating with the Straico API, which provides AI-powered text completion, image generation, agent management, and Retrieval-Augmented Generation (RAG) capabilities.","capabilities":["Retrieve user account information","List available chat and image models","Generate text completions with custom models or smart LLM selector","Generate images with customizable parameters (model, size, variations, enhancers)","Manage AI agents (create, list, get details, update, delete)","Add RAG data to agents","Upload binary files for RAG or prompt operations","Create, list, get, update, and delete RAG collections","Perform prompt completion on agents and RAG collections"],"authentication":"API key required (Straico API Key)","commonUseCases":["Automated content generation using AI text models","Workflow automation with AI-powered image creation","Building RAG-based knowledge retrieval systems","Managing and configuring AI agents for specific tasks"],"limitations":["Limited to n8n instance owners for cloud installation","Self-hosted installation requires manual npm package installation","Requires valid Straico API key for all operations"],"relatedNodes":["HTTP Request","Code","Wait Until"]}


