# nodes

node_type: n8n-nodes-htmlcsstoimage.htmlCssToImage
package_name: n8n-nodes-htmlcsstoimage
display_name: HTML/CSS to Image
description: Convert HTML/CSS or a URL to an image
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: htmlcsstoimage
author_github_url: https://github.com/HtmlCssToImg/
npm_package_name: n8n-nodes-htmlcsstoimage
npm_version: 0.2.5
community_fetched_at: 2026-02-19T14:41:52.735Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "htmlToImage",
      "options": [
        {
          "name": "HTML to Image",
          "value": "htmlToImage",
          "action": "Convert HTML and CSS to an image",
          "description": "Convert HTML and CSS to an image"
        },
        {
          "name": "URL to Image",
          "value": "urlToImage",
          "action": "Capture a screenshot of a website",
          "description": "Capture a screenshot of a website"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "HTML to Image",
      "value": "htmlToImage",
      "action": "Convert HTML and CSS to an image",
      "description": "Convert HTML and CSS to an image"
    },
    {
      "name": "URL to Image",
      "value": "urlToImage",
      "action": "Capture a screenshot of a website",
      "description": "Capture a screenshot of a website"
    }
  ]

npm_readme:
  # n8n-nodes-htmlcsstoimage

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

  htmlcsstoimg.com is a service that allows you to convert HTML and CSS into images and screenshots of websites.

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

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

  ## Installation

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

  ## Operations

  *   **HTML to Image**: Convert HTML and CSS to an image.
  *   **Capture Website Screenshot**: Capture a screenshot of a website from a URL.

  ## Credentials

  You will need to sign up for an account at [htmlcsstoimg.com](https://htmlcsstoimg.com/) to get an API key.

  ## Compatibility

  This node is tested against n8n version 1.0.0 and above.

  ## Resources

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

ai_documentation_summary:
  {"purpose":"Convert HTML/CSS or a webpage URL into an image using the htmlcsstoimg.com service, for use inside n8n workflows.","capabilities":["Convert provided HTML and CSS into an image","Capture a website screenshot from a URL"],"authentication":"API key required (signup at htmlcsstoimg.com to obtain API key)","commonUseCases":["Generate images from HTML templates (social cards, email previews, invoices)","Capture website screenshots for previews, monitoring, or archival","Create thumbnails or visual assets for reports and automation outputs"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-docutray.docutray
package_name: n8n-nodes-docutray
display_name: Docutray
description: Process documents and search knowledge bases with Docutray services
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: rarce
author_github_url: https://github.com/docutray/
npm_package_name: n8n-nodes-docutray
npm_version: 0.5.2
community_fetched_at: 2026-02-19T14:41:52.736Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "document",
      "options": [
        {
          "name": "Document",
          "value": "document",
          "description": "Process documents with OCR and identification"
        },
        {
          "name": "Knowledge Base",
          "value": "knowledgeBase",
          "description": "Search knowledge bases using RAG technology"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "convert",
      "options": [
        {
          "name": "Convert",
          "value": "convert",
          "action": "Convert document to JSON",
          "routing": {
            "request": {
              "url": "/convert",
              "method": "POST"
            }
          },
          "description": "Extract text from document using OCR"
        },
        {
          "name": "Identify",
          "value": "identify",
          "action": "Identify document type",
          "routing": {
            "request": {
              "url": "/identify",
              "method": "POST"
            }
          },
          "description": "Identify document type from image"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search knowledge base",
          "routing": {
            "request": {
              "method": "POST"
            }
          },
          "description": "Search knowledge base using RAG"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "knowledgeBase"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Convert",
      "value": "convert",
      "action": "Convert document to JSON",
      "routing": {
        "request": {
          "url": "/convert",
          "method": "POST"
        }
      },
      "description": "Extract text from document using OCR"
    },
    {
      "name": "Identify",
      "value": "identify",
      "action": "Identify document type",
      "routing": {
        "request": {
          "url": "/identify",
          "method": "POST"
        }
      },
      "description": "Identify document type from image"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search knowledge base",
      "routing": {
        "request": {
          "method": "POST"
        }
      },
      "description": "Search knowledge base using RAG"
    }
  ]

npm_readme:
  # n8n-nodes-docutray

  This is an n8n community node package that provides seamless integration with [Docutray](https://docutray.com/), a powerful document processing and OCR service. It includes a unified node with organized resource groups to automate document processing and knowledge base search workflows directly within your n8n automations.

  ## Features

  - **Document OCR**: Extract text from images and PDFs using advanced OCR technology
  - **Document Type Identification**: Automatically identify document types with confidence scores
  - **Knowledge Base Search**: RAG-based semantic search in knowledge bases for intelligent information retrieval
  - **Dynamic Knowledge Base Selector**: Dropdown selection from available knowledge bases with metadata
  - **Multiple Input Methods**: Support for file uploads, Base64 encoded images, and image URLs
  - **Wide Format Support**: JPEG, PNG, GIF, BMP, WebP, and PDF files (up to 100MB)

  ## Installation

  Follow the [n8n community nodes installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) to install this package in your n8n instance.

  ## Credentials

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

  1. Sign up for a [Docutray account](https://docutray.com/)
  2. Navigate to your API settings in the dashboard
  3. Generate an API key
  4. Configure the "Docutray API" credentials in n8n with your API key

  ## Available Node

  This package includes a unified Docutray node with organized resource groups:

  ### Docutray Node

  A comprehensive node that provides access to all Docutray services through organized resource groups. Users first select a resource type, then choose from available operations for that resource.

  #### Document Resource

  Handles document OCR and type identification operations.

  #### Convert Operation
  Extract text from documents using OCR technology.

  **Supported Methods:**
  - Upload file directly
  - Provide Base64 encoded image
  - Specify image URL for automatic download

  **Parameters:**
  - Document type code (required)
  - Image content type (optional)
  - Document metadata (optional)

  #### Identify Operation
  Automatically identify document types from a list of options.

  **Supported Methods:**
  - Upload file directly
  - Provide Base64 encoded image
  - Specify image URL for automatic download

  **Parameters:**
  - Document type code options (array of possible document types)
  - Document metadata (optional)

  **Response includes:**
  - Primary document type with confidence score
  - Alternative document type suggestions

  #### Knowledge Base Resource

  Handles semantic search operations within knowledge bases using RAG technology.

  ##### Search Operation
  Perform semantic search within knowledge bases using RAG technology.

  **Parameters:**
  - Knowledge Base Name or ID (required) - Select from dropdown or enter ID manually
  - Query (required) - Search query text (max 1000 characters)
  - Limit (optional) - Maximum number of results (1-50, default: 50)
  - Similarity Threshold (optional) - Minimum similarity threshold (0-1, default: 0.7)
  - Include Metadata (optional) - Whether to include metadata in results (default: true)

  **Features:**
  - Dynamic knowledge base selector with dropdown showing available bases
  - Displays knowledge base name, description, and document count
  - Fallback to manual ID entry if API is unavailable

  **Response includes:**
  - Semantic search results with relevance scores
  - Document excerpts and content snippets
  - Optional metadata for each result

  ## Compatibility

  This node has been tested with n8n version 1.94.0 and newer.

  ## Resources

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

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provide a unified n8n node to process documents (OCR and document-type identification) and perform RAG-based semantic searches over Docutray knowledge bases to automate document and knowledge workflows.","capabilities":["Document OCR (Convert operation) extracting text from images and PDFs","Document Type Identification (Identify operation) returning primary type with confidence and alternative suggestions","Knowledge Base semantic search (RAG) with configurable query, result limit, similarity threshold, and optional metadata inclusion","Dynamic knowledge base selector (dropdown) showing name, description, and document count with manual ID fallback","Multiple input methods for documents: file upload, Base64 image, and image URL (automatic download)","Support for common image formats and PDF (JPEG, PNG, GIF, BMP, WebP, PDF)","Configurable parameters: document type codes, document metadata, query (max 1000 chars), limit (1-50, default 50), similarity threshold (0-1, default 0.7)","Responses include extracted text/snippets, semantic relevance scores, and optional metadata for results"],"authentication":"API key required (Docutray API key configured in n8n credentials)","commonUseCases":["Extract text from scanned documents or images and route content to downstream workflows","Automatically identify document types and branch processing based on classification and confidence scores","Perform semantic (RAG) searches across knowledge bases to retrieve relevant document excerpts and metadata for assistant responses","Allow users to select a knowledge base dynamically in workflows or provide an ID manually as fallback","Ingest documents via URL, Base64, or direct upload to support diverse input sources"],"limitations":["File formats limited to JPEG, PNG, GIF, BMP, WebP and PDF","Individual file size limit up to 100 MB","Search query length capped at 1000 characters","Search results limited to 1–50 items (default 50) and similarity threshold range 0–1 (default 0.7)","README describes search (RAG) and read/identify capabilities but does not document knowledge-base management (create/update/delete) operations"],"relatedNodes":["Docutray (unified node with Document and Knowledge Base resource groups)"]}


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

updated_at: 2026-02-19 14:41:52
author_name: pdf4me_ynoox
author_github_url: https://github.com/pdf4me/
npm_package_name: n8n-nodes-pdf4me
npm_version: 2.0.0
community_fetched_at: 2026-02-19T14:41:52.737Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Comprehensive PDF and document processing: generate barcodes, convert files, extract data, manipulate images, and automate workflows with the PDF4ME API

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "ai",
      "options": [
        {
          "name": "AI",
          "value": "ai",
          "description": "AI-powered document processing and classification"
        },
        {
          "name": "Barcode",
          "value": "barcode",
          "description": "Generate QR codes and barcodes for use in documents"
        },
        {
          "name": "Convert",
          "value": "convert",
          "description": "Convert various document formats to and from PDF"
        },
        {
          "name": "Edit",
          "value": "edit",
          "description": "Edit PDF documents: add attachments, headers, footers, stamps, and signatures"
        },
        {
          "name": "Extract",
          "value": "extract",
          "description": "Extract data, text, tables, and attachments from documents"
        },
        {
          "name": "Invoice",
          "value": "invoice",
          "description": "Create compliant invoices: Swiss QR Bills and Zugferd invoices"
        },
        {
          "name": "Find Search",
          "value": "findSearch",
          "description": "Find and replace text, convert PDF to editable format using OCR"
        },
        {
          "name": "Forms",
          "value": "forms",
          "description": "Create, fill, and manage PDF forms"
        },
        {
          "name": "Generate",
          "value": "generate",
          "description": "Generate PDFs from templates with data, manage Word documents"
        },
        {
          "name": "Image",
          "value": "image",
          "description": "Process and manipulate images: resize, crop, rotate, compress, and extract text"
        },
        {
          "name": "Merge & Split",
          "value": "mergeSplit",
          "description": "Merge multiple PDFs or split PDFs by various criteria"
        },
        {
          "name": "Optimize Compress",
          "value": "optimizeCompress",
          "description": "Compress and optimize PDF files"
        },
        {
          "name": "Organize",
          "value": "organize",
          "description": "Organize PDF pages: delete, extract, and rotate pages"
        },
        {
          "name": "PDF4me",
          "value": "pdf4me",
          "description": "PDF4me-specific operations: upload files, get documents, and update hyperlinks"
        },
        {
          "name": "PDF",
          "value": "pdf",
          "description": "Get PDF metadata and repair PDF documents"
        },
        {
          "name": "Security",
          "value": "security",
          "description": "Protect and unlock PDF documents"
        },
        {
          "name": "Word",
          "value": "word",
          "description": "Manage Word document tracking changes"
        }
      ],
      "description": "Choose the type of PDF operation: generate documents, convert formats, process PDFs, extract data, or manage images",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "AI-Invoice Parser",
      "options": [
        {
          "name": "AI-Invoice Parser",
          "value": "AI-Invoice Parser",
          "action": "AI-Invoice Parser",
          "description": "Extract structured data from invoices using AI/ML technology for automated data entry"
        },
        {
          "name": "AI-Process Contract",
          "value": "AI-Process Contract",
          "action": "AI-Process Contract",
          "description": "Extract structured data from contracts using AI/ML technology for legal document analysis"
        },
        {
          "name": "AI-Process HealthCard",
          "value": "AI-Process HealthCard",
          "action": "AI-Process HealthCard",
          "description": "Extract structured data from health cards using AI/ML technology for member management"
        }
      ],
      "displayName": "AI Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "ai"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Generate Barcode",
      "options": [
        {
          "name": "Add Barcode to PDF",
          "value": "Add Barcode To PDF",
          "action": "Add barcode to PDF",
          "description": "Add barcodes to existing PDF documents with positioning and styling options"
        },
        {
          "name": "Create Barcode",
          "value": "Generate Barcode",
          "action": "Create barcode",
          "description": "Generate various types of barcodes including QR codes, Code 128, Code 39, and more"
        },
        {
          "name": "Read SwissQR Code",
          "value": "Read SwissQR Code",
          "action": "Read SwissQR code",
          "description": "Read Swiss QR code data from PDF documents"
        },
        {
          "name": "Read Barcode from PDF",
          "value": "Read Barcode From PDF",
          "action": "Read barcode from PDF",
          "description": "Read single or multiple Barcodes or QR Codes from your PDF file"
        }
      ],
      "displayName": "Barcode Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "barcode"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Convert To PDF",
      "options": [
        {
          "name": "Convert JSON To Excel",
          "value": "Convert JSON To Excel",
          "action": "Convert JSON to Excel",
          "description": "Convert JSON data to Excel format"
        },
        {
          "name": "Convert to PDF",
          "value": "Convert To PDF",
          "action": "Convert to PDF",
          "description": "Convert various document formats to PDF"
        },
        {
          "name": "Convert VISIO",
          "value": "Convert VISIO",
          "action": "Convert VISIO",
          "description": "Convert VISIO files (.vsdx, .vsd) to PDF format with advanced conversion options"
        },
        {
          "name": "Convert Word to PDF Form",
          "value": "Convert Word To PDF Form",
          "action": "Convert Word to PDF Form",
          "description": "Convert Word documents to PDF forms"
        },
        {
          "name": "Create PDF/A",
          "value": "Create PDF/A",
          "action": "Create PDF/A",
          "description": "Convert PDF to PDF/A for long-term archiving and compliance"
        },
        {
          "name": "Flatten PDF",
          "value": "Flatten PDF",
          "action": "Flatten PDF",
          "description": "Convert interactive PDF elements into static, non-editable content"
        },
        {
          "name": "Convert Html to PDF",
          "value": "Convert HTML To PDF",
          "action": "Convert Html to PDF",
          "description": "Convert HTML files to PDF documents"
        },
        {
          "name": "Linearize PDF",
          "value": "Linearize PDF",
          "action": "Linearize PDF",
          "description": "Optimize PDFs for web viewing with faster loading and progressive display"
        },
        {
          "name": "Convert Markdown To PDF",
          "value": "Convert Markdown To PDF",
          "action": "Convert Markdown To PDF",
          "description": "Convert Markdown files to PDF documents"
        },
        {
          "name": "Convert PDF to Excel",
          "value": "Convert PDF To Excel",
          "action": "Convert PDF to Excel",
          "description": "Convert PDF documents to Excel spreadsheets"
        },
        {
          "name": "Convert PDF to PowerPoint",
          "value": "Convert PDF To PowerPoint",
          "action": "Convert PDF to PowerPoint",
          "description": "Convert PDF documents to PowerPoint format with OCR support"
        },
        {
          "name": "Convert PDF to Word",
          "value": "Convert PDF To Word",
          "action": "Convert PDF to Word",
          "description": "Convert PDF documents to Word format with OCR support"
        },
        {
          "name": "Convert Url to PDF",
          "value": "Convert URL to PDF",
          "action": "Convert Url to PDF",
          "description": "Convert web pages to PDF while preserving layout, styling, and content"
        }
      ],
      "displayName": "Convert Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "convert"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Add Attachment To PDF",
      "options": [
        {
          "name": "Add Attachment To PDF",
          "value": "Add Attachment To PDF",
          "action": "Add attachment to PDF",
          "description": "Add file attachments to PDF documents"
        },
        {
          "name": "Add HTML Header Footer to PDF",
          "value": "Add HTML Header Footer",
          "action": "Add HTML header footer to PDF",
          "description": "Add HTML-based headers and footers to PDF documents"
        },
        {
          "name": "Add Margin to PDF",
          "value": "Add Margin To PDF",
          "action": "Add margin to PDF",
          "description": "Add margins to PDF documents"
        },
        {
          "name": "Add Page Number to PDF",
          "value": "Add Page Number To PDF",
          "action": "Add page number to PDF",
          "description": "Add page numbers to PDF documents"
        },
        {
          "name": "Add Image Stamp To PDF",
          "value": "Add Image Stamp To PDF",
          "action": "Add image stamp to PDF",
          "description": "Add image stamps or watermarks to PDF documents"
        },
        {
          "name": "Sign PDF",
          "value": "Sign PDF",
          "action": "Sign PDF",
          "description": "Digitally sign PDF documents"
        },
        {
          "name": "Add Text Stamp To PDF",
          "value": "Add Text Stamp To PDF",
          "action": "Add text stamp to PDF",
          "description": "Add text stamps or watermarks to PDF documents"
        }
      ],
      "displayName": "Edit Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "edit"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Extract Resources",
      "options": [
        {
          "name": "Classify Document",
          "value": "Classify Document",
          "action": "Classify document",
          "description": "Classify documents using AI to determine document type and extract relevant information"
        },
        {
          "name": "Extract Attachment From PDF",
          "value": "Extract Attachment From PDF",
          "action": "Extract attachment from PDF",
          "description": "Extract file attachments from PDF documents"
        },
        {
          "name": "Extract Form Data From PDF",
          "value": "Extract Form Data From PDF",
          "action": "Extract form data from PDF",
          "description": "Extract form field data from PDF documents"
        },
        {
          "name": "Extract Resources",
          "value": "Extract Resources",
          "action": "Extract resources",
          "description": "Extract text and images from PDF documents"
        },
        {
          "name": "Extract Table From PDF",
          "value": "Extract Table From PDF",
          "action": "Extract table from PDF",
          "description": "Extract tables from PDF documents"
        },
        {
          "name": "Extract Text by Expression",
          "value": "Extract Text By Expression",
          "action": "Extract text by expression",
          "description": "Extract text from PDF using regular expressions"
        },
        {
          "name": "Extract Text from word",
          "value": "Extract Text From Word",
          "action": "Extract text from word",
          "description": "Extract text content from Word documents"
        },
        {
          "name": "Parse Document",
          "value": "Parse Document",
          "action": "Parse document",
          "description": "Parse documents to extract structured data using template-based parsing"
        }
      ],
      "displayName": "Extract Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "extract"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Swiss QR Bill",
      "options": [
        {
          "name": "Create SwissQR Bill",
          "value": "Create Swiss QR Bill",
          "action": "Create SwissQR bill",
          "description": "Create Swiss QR Bills using all compliance standards for digital payment transactions"
        },
        {
          "name": "Create Zugferd Invoice",
          "value": "Zugferd Invoice",
          "action": "Create Zugferd invoice",
          "description": "Create Zugferd compliant invoices from XML, JSON, or CSV data"
        }
      ],
      "displayName": "Invoice Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "invoice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Find And Replace Text",
      "options": [
        {
          "name": "Find and Replace Text",
          "value": "Find And Replace Text",
          "action": "Find and replace text",
          "description": "Find and replace text in PDF documents"
        },
        {
          "name": "Convert PDF to editable PDF using OCR",
          "value": "Convert PDF To Editable PDF Using OCR",
          "action": "Convert PDF to editable PDF using OCR",
          "description": "Convert PDF to editable PDF using OCR for scanned documents"
        }
      ],
      "displayName": "Find Search Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "findSearch"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Fill PDF Form",
      "options": [
        {
          "name": "Add Form Fields To PDF",
          "value": "Add Form Fields To PDF",
          "action": "Add form fields to PDF",
          "description": "Add interactive form fields to PDF documents"
        },
        {
          "name": "Fill a PDF Form",
          "value": "Fill PDF Form",
          "action": "Fill a PDF form",
          "description": "Fill PDF forms with data or generate multiple documents from templates"
        }
      ],
      "displayName": "Forms Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "forms"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Generate Document Single",
      "options": [
        {
          "name": "Enable Tracking changes in word",
          "value": "Enable Tracking Changes in Word",
          "action": "Enable tracking changes in word",
          "description": "Enable tracking changes in Word documents"
        },
        {
          "name": "Generate Document (Single)",
          "value": "Generate Document Single",
          "action": "Generate document (single)",
          "description": "Generate a single document from template with data"
        },
        {
          "name": "Generate Documents (Multiple)",
          "value": "Generate Documents Multiple",
          "action": "Generate documents (multiple)",
          "description": "Generate multiple documents from template with different data sets"
        },
        {
          "name": "Get Tracking Changes In Word",
          "value": "Get Tracking Changes in Word",
          "action": "Get tracking changes in word",
          "description": "Get tracking changes information from Word documents"
        },
        {
          "name": "Replace Text With Image In Word",
          "value": "Replace Text With Image In Word",
          "action": "Replace text with image in word",
          "description": "Replace specific text in Word documents with images"
        }
      ],
      "displayName": "Generate Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "generate"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Compress Image",
      "options": [
        {
          "name": "Add Image watermark To Image",
          "value": "Add Image Watermark To Image",
          "action": "Add image watermark to image",
          "description": "Add image watermark to image documents"
        },
        {
          "name": "Add Text watermark To Image",
          "value": "Add Text Watermark To Image",
          "action": "Add text watermark to image",
          "description": "Add text watermarks to images with positioning and styling options"
        },
        {
          "name": "Compress Image",
          "value": "Compress Image",
          "action": "Compress image",
          "description": "Compress image documents"
        },
        {
          "name": "Convert Image Format",
          "value": "Convert Image Format",
          "action": "Convert image format",
          "description": "Convert image format (BMP, GIF, JPG, PNG, TIFF)"
        },
        {
          "name": "Create Image from PDF",
          "value": "Create Images From PDF",
          "action": "Create image from PDF",
          "description": "Create images from PDF pages"
        },
        {
          "name": "Crop Image",
          "value": "Crop Image",
          "action": "Crop image",
          "description": "Crop images with border or rectangle cropping options"
        },
        {
          "name": "Flip Image",
          "value": "Flip Image",
          "action": "Flip image",
          "description": "Flip image documents horizontally, vertically, or both"
        },
        {
          "name": "Get Image Metadata",
          "value": "Get Image Metadata",
          "action": "Get image metadata",
          "description": "Extract metadata information from images including EXIF data and properties"
        },
        {
          "name": "Image Extract Text",
          "value": "Image Extract Text",
          "action": "Image extract text",
          "description": "Extract text content from images using OCR (Optical Character Recognition)"
        },
        {
          "name": "Replace Text with Image",
          "value": "Replace Text With Image",
          "action": "Replace text with image",
          "description": "Replace specific text in PDF documents with images"
        },
        {
          "name": "Resize Image",
          "value": "Resize Image",
          "action": "Resize image",
          "description": "Resize images by percentage or specific dimensions with aspect ratio control"
        },
        {
          "name": "Rotate Image By Exif Data",
          "value": "Rotate Image By Exif Data",
          "action": "Rotate image by exif data",
          "description": "Rotate image automatically based on EXIF orientation metadata"
        },
        {
          "name": "Rotate Image",
          "value": "Rotate Image",
          "action": "Rotate image",
          "description": "Rotate images with custom angle, background color, and proportionate resize options"
        },
        {
          "name": "Read Barcode From Image",
          "value": "Read Barcode From Image",
          "action": "Read barcode from image",
          "description": "Read barcodes from images using OCR"
        },
        {
          "name": "Remove EXIF Tags From Image",
          "value": "Remove Exif Tags From Image",
          "action": "Remove EXIF tags from image",
          "description": "Remove metadata/EXIF tags from images for privacy and file size reduction"
        }
      ],
      "displayName": "Image Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "image"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Merge Multiple PDFs",
      "options": [
        {
          "name": "Merge Multiple PDF files into Single PDF",
          "value": "Merge Multiple PDFs",
          "action": "Merge multiple PDF files into single PDF",
          "description": "Combine multiple PDF files into a single PDF document"
        },
        {
          "name": "Merge two PDF files one over another as Overlay",
          "value": "Overlay PDFs",
          "action": "Merge two PDF files one over another as overlay",
          "description": "Merge two PDF files one over another as overlay"
        },
        {
          "name": "Split PDF",
          "value": "Split PDF Regular",
          "action": "Split PDF",
          "description": "Split PDF documents by regular expression and output as ZIP"
        },
        {
          "name": "Split PDF by Barcode",
          "value": "Split PDF By Barcode",
          "action": "Split PDF by barcode",
          "description": "Split PDF documents by barcode and output as ZIP"
        },
        {
          "name": "Split PDF by Swiss QR",
          "value": "Split PDF By SwissQR",
          "action": "Split PDF by Swiss QR",
          "description": "Split PDF documents by Swiss QR code and output as ZIP"
        },
        {
          "name": "Split PDF by Text",
          "value": "Split PDF By Text",
          "action": "Split PDF by text",
          "description": "Split PDF documents by text and output as ZIP"
        }
      ],
      "displayName": "Merge & Split Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "mergeSplit"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Compress PDF",
      "options": [
        {
          "name": "Compress PDF",
          "value": "Compress PDF",
          "action": "Compress PDF",
          "description": "Compress and optimize PDF files"
        }
      ],
      "displayName": "Optimize Compress Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "optimizeCompress"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Delete Blank Pages From PDF",
      "options": [
        {
          "name": "Delete Blank Pages from PDF",
          "value": "Delete Blank Pages From PDF",
          "action": "Delete blank pages from PDF",
          "description": "Remove blank pages from PDF documents based on specified criteria"
        },
        {
          "name": "Delete unwanted Pages from PDF",
          "value": "Delete Unwanted Pages From PDF",
          "action": "Delete unwanted pages from PDF",
          "description": "Remove specific pages from PDF documents by page numbers"
        },
        {
          "name": "Extract Pages",
          "value": "Extract Pages From PDF",
          "action": "Extract pages",
          "description": "Extract specific pages from PDF documents"
        },
        {
          "name": "Rotate Page",
          "value": "Rotate PDF Page",
          "action": "Rotate page",
          "description": "Rotate specific pages in PDF documents by 90, 180, or 270 degrees"
        },
        {
          "name": "Rotate Document",
          "value": "Rotate Document",
          "action": "Rotate document",
          "description": "Rotate entire PDF documents by 90, 180, or 270 degrees"
        }
      ],
      "displayName": "Organize Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "organize"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get Document From Pdf4me",
      "options": [
        {
          "name": "Upload File To PDF4me",
          "value": "Upload File To PDF4me",
          "action": "Upload file to PDF4me",
          "description": "Upload a file to PDF4me storage for processing"
        },
        {
          "name": "Get Document from PDF4me",
          "value": "Get Document From Pdf4me",
          "action": "Get document from PDF4me",
          "description": "Retrieve a document from PDF4me storage"
        },
        {
          "name": "Update Hyperlinks Annotation",
          "value": "Update Hyperlinks Annotation",
          "action": "Update hyperlinks annotation",
          "description": "Update hyperlinks in PDF documents"
        }
      ],
      "displayName": "PDF4me Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf4me"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Get PDF Metadata",
      "options": [
        {
          "name": "Get PDF Information",
          "value": "Get PDF Metadata",
          "action": "Get PDF information",
          "description": "Extract metadata and information from PDF files"
        },
        {
          "name": "Get PDF Metadata",
          "value": "Get PDF Metadata",
          "action": "Get PDF metadata",
          "description": "Extract metadata from PDF files"
        },
        {
          "name": "Repair PDF Document",
          "value": "Repair PDF Document",
          "action": "Repair PDF document",
          "description": "Repair corrupted or damaged PDF files"
        }
      ],
      "displayName": "PDF Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "pdf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Protect PDF",
      "options": [
        {
          "name": "Protect Document",
          "value": "Protect PDF",
          "action": "Protect document",
          "description": "Protect PDF documents with encryption, passwords, and permissions"
        },
        {
          "name": "Unlock PDF",
          "value": "Unlock PDF",
          "action": "Unlock PDF",
          "description": "Unlock PDF documents by removing encryption"
        }
      ],
      "displayName": "Security Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "security"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Disable Tracking Changes in Word",
      "options": [
        {
          "name": "Disable Tracking changes In Word",
          "value": "Disable Tracking Changes in Word",
          "action": "Disable tracking changes in word",
          "description": "Disable tracking changes in Word documents"
        }
      ],
      "displayName": "Word Operations",
      "displayOptions": {
        "show": {
          "resource": [
            "word"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "AI-Invoice Parser",
      "value": "AI-Invoice Parser",
      "action": "AI-Invoice Parser",
      "description": "Extract structured data from invoices using AI/ML technology for automated data entry"
    },
    {
      "name": "AI-Process Contract",
      "value": "AI-Process Contract",
      "action": "AI-Process Contract",
      "description": "Extract structured data from contracts using AI/ML technology for legal document analysis"
    },
    {
      "name": "AI-Process HealthCard",
      "value": "AI-Process HealthCard",
      "action": "AI-Process HealthCard",
      "description": "Extract structured data from health cards using AI/ML technology for member management"
    },
    {
      "name": "Add Barcode to PDF",
      "value": "Add Barcode To PDF",
      "action": "Add barcode to PDF",
      "description": "Add barcodes to existing PDF documents with positioning and styling options"
    },
    {
      "name": "Create Barcode",
      "value": "Generate Barcode",
      "action": "Create barcode",
      "description": "Generate various types of barcodes including QR codes, Code 128, Code 39, and more"
    },
    {
      "name": "Read SwissQR Code",
      "value": "Read SwissQR Code",
      "action": "Read SwissQR code",
      "description": "Read Swiss QR code data from PDF documents"
    },
    {
      "name": "Read Barcode from PDF",
      "value": "Read Barcode From PDF",
      "action": "Read barcode from PDF",
      "description": "Read single or multiple Barcodes or QR Codes from your PDF file"
    },
    {
      "name": "Convert JSON To Excel",
      "value": "Convert JSON To Excel",
      "action": "Convert JSON to Excel",
      "description": "Convert JSON data to Excel format"
    },
    {
      "name": "Convert to PDF",
      "value": "Convert To PDF",
      "action": "Convert to PDF",
      "description": "Convert various document formats to PDF"
    },
    {
      "name": "Convert VISIO",
      "value": "Convert VISIO",
      "action": "Convert VISIO",
      "description": "Convert VISIO files (.vsdx, .vsd) to PDF format with advanced conversion options"
    },
    {
      "name": "Convert Word to PDF Form",
      "value": "Convert Word To PDF Form",
      "action": "Convert Word to PDF Form",
      "description": "Convert Word documents to PDF forms"
    },
    {
      "name": "Create PDF/A",
      "value": "Create PDF/A",
      "action": "Create PDF/A",
      "description": "Convert PDF to PDF/A for long-term archiving and compliance"
    },
    {
      "name": "Flatten PDF",
      "value": "Flatten PDF",
      "action": "Flatten PDF",
      "description": "Convert interactive PDF elements into static, non-editable content"
    },
    {
      "name": "Convert Html to PDF",
      "value": "Convert HTML To PDF",
      "action": "Convert Html to PDF",
      "description": "Convert HTML files to PDF documents"
    },
    {
      "name": "Linearize PDF",
      "value": "Linearize PDF",
      "action": "Linearize PDF",
      "description": "Optimize PDFs for web viewing with faster loading and progressive display"
    },
    {
      "name": "Convert Markdown To PDF",
      "value": "Convert Markdown To PDF",
      "action": "Convert Markdown To PDF",
      "description": "Convert Markdown files to PDF documents"
    },
    {
      "name": "Convert PDF to Excel",
      "value": "Convert PDF To Excel",
      "action": "Convert PDF to Excel",
      "description": "Convert PDF documents to Excel spreadsheets"
    },
    {
      "name": "Convert PDF to PowerPoint",
      "value": "Convert PDF To PowerPoint",
      "action": "Convert PDF to PowerPoint",
      "description": "Convert PDF documents to PowerPoint format with OCR support"
    },
    {
      "name": "Convert PDF to Word",
      "value": "Convert PDF To Word",
      "action": "Convert PDF to Word",
      "description": "Convert PDF documents to Word format with OCR support"
    },
    {
      "name": "Convert Url to PDF",
      "value": "Convert URL to PDF",
      "action": "Convert Url to PDF",
      "description": "Convert web pages to PDF while preserving layout, styling, and content"
    },
    {
      "name": "Add Attachment To PDF",
      "value": "Add Attachment To PDF",
      "action": "Add attachment to PDF",
      "description": "Add file attachments to PDF documents"
    },
    {
      "name": "Add HTML Header Footer to PDF",
      "value": "Add HTML Header Footer",
      "action": "Add HTML header footer to PDF",
      "description": "Add HTML-based headers and footers to PDF documents"
    },
    {
      "name": "Add Margin to PDF",
      "value": "Add Margin To PDF",
      "action": "Add margin to PDF",
      "description": "Add margins to PDF documents"
    },
    {
      "name": "Add Page Number to PDF",
      "value": "Add Page Number To PDF",
      "action": "Add page number to PDF",
      "description": "Add page numbers to PDF documents"
    },
    {
      "name": "Add Image Stamp To PDF",
      "value": "Add Image Stamp To PDF",
      "action": "Add image stamp to PDF",
      "description": "Add image stamps or watermarks to PDF documents"
    },
    {
      "name": "Sign PDF",
      "value": "Sign PDF",
      "action": "Sign PDF",
      "description": "Digitally sign PDF documents"
    },
    {
      "name": "Add Text Stamp To PDF",
      "value": "Add Text Stamp To PDF",
      "action": "Add text stamp to PDF",
      "description": "Add text stamps or watermarks to PDF documents"
    },
    {
      "name": "Classify Document",
      "value": "Classify Document",
      "action": "Classify document",
      "description": "Classify documents using AI to determine document type and extract relevant information"
    },
    {
      "name": "Extract Attachment From PDF",
      "value": "Extract Attachment From PDF",
      "action": "Extract attachment from PDF",
      "description": "Extract file attachments from PDF documents"
    },
    {
      "name": "Extract Form Data From PDF",
      "value": "Extract Form Data From PDF",
      "action": "Extract form data from PDF",
      "description": "Extract form field data from PDF documents"
    },
    {
      "name": "Extract Resources",
      "value": "Extract Resources",
      "action": "Extract resources",
      "description": "Extract text and images from PDF documents"
    },
    {
      "name": "Extract Table From PDF",
      "value": "Extract Table From PDF",
      "action": "Extract table from PDF",
      "description": "Extract tables from PDF documents"
    },
    {
      "name": "Extract Text by Expression",
      "value": "Extract Text By Expression",
      "action": "Extract text by expression",
      "description": "Extract text from PDF using regular expressions"
    },
    {
      "name": "Extract Text from word",
      "value": "Extract Text From Word",
      "action": "Extract text from word",
      "description": "Extract text content from Word documents"
    },
    {
      "name": "Parse Document",
      "value": "Parse Document",
      "action": "Parse document",
      "description": "Parse documents to extract structured data using template-based parsing"
    },
    {
      "name": "Create SwissQR Bill",
      "value": "Create Swiss QR Bill",
      "action": "Create SwissQR bill",
      "description": "Create Swiss QR Bills using all compliance standards for digital payment transactions"
    },
    {
      "name": "Create Zugferd Invoice",
      "value": "Zugferd Invoice",
      "action": "Create Zugferd invoice",
      "description": "Create Zugferd compliant invoices from XML, JSON, or CSV data"
    },
    {
      "name": "Find and Replace Text",
      "value": "Find And Replace Text",
      "action": "Find and replace text",
      "description": "Find and replace text in PDF documents"
    },
    {
      "name": "Convert PDF to editable PDF using OCR",
      "value": "Convert PDF To Editable PDF Using OCR",
      "action": "Convert PDF to editable PDF using OCR",
      "description": "Convert PDF to editable PDF using OCR for scanned documents"
    },
    {
      "name": "Add Form Fields To PDF",
      "value": "Add Form Fields To PDF",
      "action": "Add form fields to PDF",
      "description": "Add interactive form fields to PDF documents"
    },
    {
      "name": "Fill a PDF Form",
      "value": "Fill PDF Form",
      "action": "Fill a PDF form",
      "description": "Fill PDF forms with data or generate multiple documents from templates"
    },
    {
      "name": "Enable Tracking changes in word",
      "value": "Enable Tracking Changes in Word",
      "action": "Enable tracking changes in word",
      "description": "Enable tracking changes in Word documents"
    },
    {
      "name": "Generate Document (Single)",
      "value": "Generate Document Single",
      "action": "Generate document (single)",
      "description": "Generate a single document from template with data"
    },
    {
      "name": "Generate Documents (Multiple)",
      "value": "Generate Documents Multiple",
      "action": "Generate documents (multiple)",
      "description": "Generate multiple documents from template with different data sets"
    },
    {
      "name": "Get Tracking Changes In Word",
      "value": "Get Tracking Changes in Word",
      "action": "Get tracking changes in word",
      "description": "Get tracking changes information from Word documents"
    },
    {
      "name": "Replace Text With Image In Word",
      "value": "Replace Text With Image In Word",
      "action": "Replace text with image in word",
      "description": "Replace specific text in Word documents with images"
    },
    {
      "name": "Add Image watermark To Image",
      "value": "Add Image Watermark To Image",
      "action": "Add image watermark to image",
      "description": "Add image watermark to image documents"
    },
    {
      "name": "Add Text watermark To Image",
      "value": "Add Text Watermark To Image",
      "action": "Add text watermark to image",
      "description": "Add text watermarks to images with positioning and styling options"
    },
    {
      "name": "Compress Image",
      "value": "Compress Image",
      "action": "Compress image",
      "description": "Compress image documents"
    },
    {
      "name": "Convert Image Format",
      "value": "Convert Image Format",
      "action": "Convert image format",
      "description": "Convert image format (BMP, GIF, JPG, PNG, TIFF)"
    },
    {
      "name": "Create Image from PDF",
      "value": "Create Images From PDF",
      "action": "Create image from PDF",
      "description": "Create images from PDF pages"
    },
    {
      "name": "Crop Image",
      "value": "Crop Image",
      "action": "Crop image",
      "description": "Crop images with border or rectangle cropping options"
    },
    {
      "name": "Flip Image",
      "value": "Flip Image",
      "action": "Flip image",
      "description": "Flip image documents horizontally, vertically, or both"
    },
    {
      "name": "Get Image Metadata",
      "value": "Get Image Metadata",
      "action": "Get image metadata",
      "description": "Extract metadata information from images including EXIF data and properties"
    },
    {
      "name": "Image Extract Text",
      "value": "Image Extract Text",
      "action": "Image extract text",
      "description": "Extract text content from images using OCR (Optical Character Recognition)"
    },
    {
      "name": "Replace Text with Image",
      "value": "Replace Text With Image",
      "action": "Replace text with image",
      "description": "Replace specific text in PDF documents with images"
    },
    {
      "name": "Resize Image",
      "value": "Resize Image",
      "action": "Resize image",
      "description": "Resize images by percentage or specific dimensions with aspect ratio control"
    },
    {
      "name": "Rotate Image By Exif Data",
      "value": "Rotate Image By Exif Data",
      "action": "Rotate image by exif data",
      "description": "Rotate image automatically based on EXIF orientation metadata"
    },
    {
      "name": "Rotate Image",
      "value": "Rotate Image",
      "action": "Rotate image",
      "description": "Rotate images with custom angle, background color, and proportionate resize options"
    },
    {
      "name": "Read Barcode From Image",
      "value": "Read Barcode From Image",
      "action": "Read barcode from image",
      "description": "Read barcodes from images using OCR"
    },
    {
      "name": "Remove EXIF Tags From Image",
      "value": "Remove Exif Tags From Image",
      "action": "Remove EXIF tags from image",
      "description": "Remove metadata/EXIF tags from images for privacy and file size reduction"
    },
    {
      "name": "Merge Multiple PDF files into Single PDF",
      "value": "Merge Multiple PDFs",
      "action": "Merge multiple PDF files into single PDF",
      "description": "Combine multiple PDF files into a single PDF document"
    },
    {
      "name": "Merge two PDF files one over another as Overlay",
      "value": "Overlay PDFs",
      "action": "Merge two PDF files one over another as overlay",
      "description": "Merge two PDF files one over another as overlay"
    },
    {
      "name": "Split PDF",
      "value": "Split PDF Regular",
      "action": "Split PDF",
      "description": "Split PDF documents by regular expression and output as ZIP"
    },
    {
      "name": "Split PDF by Barcode",
      "value": "Split PDF By Barcode",
      "action": "Split PDF by barcode",
      "description": "Split PDF documents by barcode and output as ZIP"
    },
    {
      "name": "Split PDF by Swiss QR",
      "value": "Split PDF By SwissQR",
      "action": "Split PDF by Swiss QR",
      "description": "Split PDF documents by Swiss QR code and output as ZIP"
    },
    {
      "name": "Split PDF by Text",
      "value": "Split PDF By Text",
      "action": "Split PDF by text",
      "description": "Split PDF documents by text and output as ZIP"
    },
    {
      "name": "Compress PDF",
      "value": "Compress PDF",
      "action": "Compress PDF",
      "description": "Compress and optimize PDF files"
    },
    {
      "name": "Delete Blank Pages from PDF",
      "value": "Delete Blank Pages From PDF",
      "action": "Delete blank pages from PDF",
      "description": "Remove blank pages from PDF documents based on specified criteria"
    },
    {
      "name": "Delete unwanted Pages from PDF",
      "value": "Delete Unwanted Pages From PDF",
      "action": "Delete unwanted pages from PDF",
      "description": "Remove specific pages from PDF documents by page numbers"
    },
    {
      "name": "Extract Pages",
      "value": "Extract Pages From PDF",
      "action": "Extract pages",
      "description": "Extract specific pages from PDF documents"
    },
    {
      "name": "Rotate Page",
      "value": "Rotate PDF Page",
      "action": "Rotate page",
      "description": "Rotate specific pages in PDF documents by 90, 180, or 270 degrees"
    },
    {
      "name": "Rotate Document",
      "value": "Rotate Document",
      "action": "Rotate document",
      "description": "Rotate entire PDF documents by 90, 180, or 270 degrees"
    },
    {
      "name": "Upload File To PDF4me",
      "value": "Upload File To PDF4me",
      "action": "Upload file to PDF4me",
      "description": "Upload a file to PDF4me storage for processing"
    },
    {
      "name": "Get Document from PDF4me",
      "value": "Get Document From Pdf4me",
      "action": "Get document from PDF4me",
      "description": "Retrieve a document from PDF4me storage"
    },
    {
      "name": "Update Hyperlinks Annotation",
      "value": "Update Hyperlinks Annotation",
      "action": "Update hyperlinks annotation",
      "description": "Update hyperlinks in PDF documents"
    },
    {
      "name": "Get PDF Information",
      "value": "Get PDF Metadata",
      "action": "Get PDF information",
      "description": "Extract metadata and information from PDF files"
    },
    {
      "name": "Get PDF Metadata",
      "value": "Get PDF Metadata",
      "action": "Get PDF metadata",
      "description": "Extract metadata from PDF files"
    },
    {
      "name": "Repair PDF Document",
      "value": "Repair PDF Document",
      "action": "Repair PDF document",
      "description": "Repair corrupted or damaged PDF files"
    },
    {
      "name": "Protect Document",
      "value": "Protect PDF",
      "action": "Protect document",
      "description": "Protect PDF documents with encryption, passwords, and permissions"
    },
    {
      "name": "Unlock PDF",
      "value": "Unlock PDF",
      "action": "Unlock PDF",
      "description": "Unlock PDF documents by removing encryption"
    },
    {
      "name": "Disable Tracking changes In Word",
      "value": "Disable Tracking Changes in Word",
      "action": "Disable tracking changes in word",
      "description": "Disable tracking changes in Word documents"
    }
  ]

npm_readme:
  # n8n-nodes-pdf4me

  This is an n8n community node that enables you to integrate PDF4ME's powerful PDF processing capabilities into your n8n workflows. PDF4ME is a comprehensive PDF processing API that allows you to convert, generate barcodes, process images, and manipulate documents programmatically.

  n8n is a fair-code licensed workflow automation platform.

  ## Table of Contents

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

  ## Installation

  ### Community Nodes (Recommended)

  For users on n8n v0.187+, you can install this node directly from the n8n Community Nodes panel in the n8n editor:

  1. Open your n8n editor
  2. Go to **Settings > Community Nodes**
  3. Search for "n8n-nodes-pdf4me"
  4. Click **Install**
  5. Reload the editor

  ### Global Installation (Recommended)

  For global installation that makes the node available across all n8n projects:

  ```bash
  # Install globally
  npm install -g n8n-nodes-pdf4me

  # Restart n8n to load the new node
  n8n start
  ```

  ### Manual Installation

  You can also install this node manually in a specific n8n project:

  1. Navigate to your n8n installation directory
  2. Run the following command:
     ```bash
     npm install n8n-nodes-pdf4me
     ```
  3. Restart your n8n server

  For Docker-based deployments, add the package to your package.json and rebuild the image:

  ```json
  {
    "name": "n8n-custom",
    "version": "0.9.0",
    "description": "",
    "main": "index.js",
    "scripts": {
      "start": "n8n"
    },
    "dependencies": {
      "n8n": "^1.0.0",
      "n8n-nodes-pdf4me": "^2.0.0"
    }
  }
  ```

  ## What's New in Version 2.0.0

  Version 2.0.0 continues to enhance the PDF4ME n8n node with improved functionality and reliability:

  - **🔧 Code Refactoring**: Improved variable declarations and code structure
  - **🖼️ Image Processing**: Enhanced MIME type handling for image operations
  - **📝 Markdown Conversion**: Optimized Markdown to PDF conversion process
  - **🔍 Resource Extraction**: Improved resource extraction functionality
  - **✅ Stability**: Enhanced overall stability and performance
  - **🔄 Backward Compatible**: All existing workflows continue to work seamlessly

  ## Operations

  This node provides comprehensive document processing capabilities through PDF4ME's API. Here are the available features:

  ### 1. AI-Powered Document Processing
  - **AI-Invoice Parser**: Extract structured data from invoices using AI/ML technology for automated data entry
  - **AI-Process HealthCard**: Extract structured data from health cards using AI/ML technology for member management
  - **AI-Process Contract**: Extract structured data from contracts using AI/ML technology for legal document analysis
  - **Classify Document**: Classify documents using AI to determine document type and extract relevant information
  - **Parse Document**: Parse documents to extract structured data using template-based parsing

  ### 2. PDF Processing & Manipulation
  - **Add Attachment to PDF**: Attach files to PDF documents
  - **Add Barcode to PDF**: Add barcodes to PDF documents for identification and tracking
  - **Add Form Fields to PDF**: Add interactive form fields to PDF documents
  - **Add HTML Header Footer**: Add custom HTML headers and footers to PDFs
  - **Add Image Stamp to PDF**: Add image stamps with positioning and opacity controls
  - **Add Margin to PDF**: Add margins to PDF documents
  - **Add Page Number to PDF**: Add page numbers to PDF documents
  - **Add Text Stamp to PDF**: Add text stamps with customizable formatting
  - **Compress PDF**: Optimize PDF files for web, print, or screen viewing
  - **Convert PDF to Editable OCR**: Convert PDFs to editable text using OCR
  - **Convert PDF to Excel**: Convert PDF tables to Excel spreadsheets
  - **Convert PDF to PowerPoint**: Convert PDF content to PowerPoint presentations
  - **Convert PDF to Word**: Convert PDFs to editable Word documents
  - **Create Images from PDF**: Extract images from PDF documents
  - **Delete Blank Pages from PDF**: Remove blank pages from PDF documents
  - **Delete Unwanted Pages from PDF**: Remove specific pages from PDF documents
  - **Extract Pages**: Extract specific pages from PDF documents
  - **Extract Pages from PDF**: Extract pages with advanced options
  - **Fill PDF Form**: Fill interactive PDF forms with data
  - **Find and Replace Text**: Find and replace text in PDF documents
  - **Flatten PDF**: Convert interactive PDF elements into static, non-editable content
  - **Linearize PDF**: Optimize PDFs for web viewing with faster loading and progressive display
  - **Merge Multiple PDFs**: Combine multiple PDF files into one
  - **Overlay PDFs**: Overlay one PDF on top of another
  - **Protect Document**: Add password protection and encryption to PDFs
  - **Repair PDF Document**: Fix corrupted or damaged PDF files
  - **Rotate Document**: Rotate entire PDF documents
  - **Rotate Page**: Rotate specific pages within a PDF
  - **Sign PDF**: Add digital signatures to PDF documents
  - **Split PDF by Barcode**: Split PDFs based on barcode detection
  - **Split PDF by Swiss QR**: Split PDFs based on Swiss QR code detection
  - **Split PDF by Text**: Split PDFs based on text content
  - **Split PDF Regular**: Split PDFs into equal parts or by page ranges
  - **Unlock PDF**: Remove password protection from PDFs
  - **Update Hyperlinks Annotation**: Modify hyperlinks and annotations in PDFs

  ### 3. Image Processing
  - **Add Image Watermark to Image**: Add watermarks to images
  - **Add Text Watermark to Image**: Add text watermarks to images
  - **Compress Image**: Reduce image file sizes while maintaining quality
  - **Convert Image Format**: Convert images between different formats (JPEG, PNG, etc.)
  - **Crop Image**: Crop images with border or rectangle options
  - **Flip Image**: Flip images horizontally, vertically, or both
  - **Get Image Metadata**: Extract metadata from image files
  - **Image Extract Text**: Extract text from images using OCR
  - **Read Barcode from Image**: Read barcodes from images
  - **Remove EXIF Tags from Image**: Remove metadata from images
  - **Replace Text with Image**: Replace text in documents with images
  - **Replace Text with Image in Word**: Replace text in Word documents with images
  - **Resize Image**: Resize images to specific dimensions
  - **Rotate Image**: Rotate images by specific angles
  - **Rotate Image by EXIF Data**: Auto-rotate images based on EXIF orientation

  ### 4. Document Conversion
  - **Convert to PDF**: Convert various document formats to PDF
  - **Convert HTML to PDF**: Convert HTML content to PDF with multiple input options (Binary Data, Base64, HTML Code, URL)
  - **Convert Image Format**: Convert images between different formats
  - **Convert Markdown to PDF**: Convert Markdown files to PDF
  - **Convert Visio**: Convert Visio diagrams to PDF
  - **Convert Word to PDF Form**: Convert Word documents to PDF forms
  - **JSON to Excel**: Convert JSON data to Excel spreadsheets
  - **URL to PDF**: Convert web pages to PDF

  ### 5. Barcode Operations
  - **Barcode Generator**: Generate various types of barcodes (QR, Code 128, EAN, UPC, etc.)
  - **Add Barcode to PDF**: Add barcodes directly to PDF documents for identification and tracking
  - **Read Barcode from Image**: Extract barcode data from images
  - **Read Barcode from PDF**: Extract barcode data from PDF documents
  - **Read Swiss QR Code**: Read Swiss QR codes from documents

  ### 6. Document Analysis & Extraction
  - **Extract Attachment from PDF**: Extract attached files from PDFs
  - **Extract Form Data from PDF**: Extract form field data from PDFs
  - **Extract Pages from PDF**: Extract specific pages from PDFs
  - **Extract Resources**: Extract resources from documents
  - **Extract Table from PDF**: Extract tables from PDF documents
  - **Extract Text by Expression**: Extract text using custom expressions
  - **Extract Text from Word**: Extract text from Word documents
  - **Get Document from PDF4ME**: Retrieve documents from PDF4ME storage
  - **Get PDF Metadata**: Extract metadata from PDF files

  ### 7. Document Management & Generation
  - **Create PDF/A**: Create PDF/A compliant documents
  - **Create Swiss QR Bill**: Create Swiss QR Bills using all compliance standards for digital payment transactions
  - **Disable Tracking Changes in Word**: Remove tracking changes from Word documents
  - **Enable Tracking Changes in Word**: Enable tracking changes in Word documents
  - **Generate Document Single**: Generate single documents from templates
  - **Generate Documents Multiple**: Generate multiple documents from templates
  - **Get Tracking Changes in Word**: Get tracking changes status from Word documents
  - **Upload File to PDF4ME**: Upload files to PDF4ME for further processing
  - **Zugferd Invoice**: Create compliant Zugferd invoices for standardized electronic invoicing

  ### 8. Advanced Features
  - **Create Images from PDF**: Extract and process images from PDF documents
  - **Document Processing**: Advanced document manipulation and processing

  ## Credentials

  To use this node, you need a PDF4ME API key. Here's how to get started:

  1. Sign up for a PDF4ME account at [PDF4ME Developer Portal](https://dev.pdf4me.com/)
  2. Navigate to your dashboard and obtain your API key
  3. In n8n, add your PDF4ME credentials by providing your API key

  ## Usage

  This node allows you to automate document processing tasks in your n8n workflows. With version 2.0.0, the interface has been optimized for better performance and stability. Here are some common use cases:

  ### AI-Powered Document Processing
  - Automatically extract invoice data for accounting systems
  - Process health cards for member management systems
  - Analyze contracts for legal document review
  - Classify documents for automated routing and processing
  - Parse structured data from various document types using templates

  ### Document Processing
  - Convert PDF documents to editable Word format with OCR support
  - Process complex PDFs with enhanced timeout handling (up to 25 minutes)
  - Extract text from PDF documents for data processing
  - Convert various document formats to PDF
  - Extract specific pages from PDF documents for creating shorter versions or digital booklets
  - Add watermarks, stamps, and annotations to documents
  - Compress and optimize PDF files for different use cases
  - Fill interactive PDF forms with data from your workflows
  - Split PDFs based on content, barcodes, or page ranges

  ### Barcode Operations
  - Generate QR codes for product tracking
  - Create product barcodes (EAN-13, UPC-A) for inventory management
  - Generate barcodes for document identification
  - Embed barcodes in documents and reports
  - Read barcodes from images and PDFs for automated processing
  - Process Swiss QR codes for payment transactions

  ### Web Content Processing
  - Convert web pages to PDF for archiving
  - Automatically convert HTML reports to PDF
  - **Write HTML code directly and convert to PDF** - No need to save HTML files first
  - Capture web-based dashboards and reports
  - Convert protected web content with authentication

  ### HTML to PDF Conversion Options
  The Convert HTML to PDF operation supports multiple input methods for maximum flexibility:
  - **Binary Data**: Use HTML files from previous workflow nodes
  - **Base64 String**: Provide HTML content as base64 encoded strings
  - **HTML Code**: Write HTML code directly in the interface (automatically converted to base64)
  - **URL**: Convert HTML content from web URLs

  **Example Use Cases for HTML Code Input:**
  - **Dynamic Reports**: Generate PDFs from HTML templates with real-time data
  - **Email Templates**: Convert HTML email content to PDF for archiving
  - **Custom Dashboards**: Create PDF versions of HTML dashboards
  - **Document Generation**: Build PDFs from HTML snippets without file management
  - **Rapid Prototyping**: Quickly test HTML layouts by converting to PDF

  ### Data Export and Reporting
  - Convert JSON data to Excel spreadsheets
  - Transform API responses to formatted reports
  - Export analytics data to Excel for stakeholder reports
  - Create automated data processing pipelines
  - Generate documents from templates with dynamic data

  ### Image Processing
  - Crop images for specific dimensions
  - Remove borders from scanned documents
  - Process product images for e-commerce
  - Create thumbnails and optimized images
  - Add watermarks to images for branding
  - Extract text from images using OCR
  - Convert images between different formats

  ### Swiss QR Bill Generation
  - Create compliant Swiss QR Bills for digital payment transactions
  - Generate QR codes with all required payment information
  - Support for multiple languages (English, German, French, Italian)
  - Include creditor and debtor information with structured addresses
  - Add billing information and unstructured messages
  - Generate bills with different separator line styles
  - Support for various reference types (QR Reference, Creditor Reference, No Reference)

  ### Zugferd Invoice Generation
  - Create compliant Zugferd invoices for standardized electronic invoicing
  - Generate invoices following the Zugferd standard (ZUGFeRD/Factur-X)
  - Support for structured invoice data exchange
  - Compatible with European e-invoicing requirements
  - Generate PDF/A compliant invoices with embedded XML data

  ### Document Generation & Management
  - Generate documents from templates with dynamic data
  - Create PDF/A compliant documents for long-term archiving
  - Manage Word document tracking changes
  - Process multiple documents in batch operations
  - Extract and manage document metadata

  ### Automated Workflows
  - Chain multiple PDF4ME operations together with simplified configuration
  - Integrate with email nodes for automated document distribution
  - Connect with storage services for file management
  - Build complete document processing pipelines with enhanced reliability
  - Automate document classification and routing
  - Create end-to-end document workflows with improved error handling
  - **Version 2.0.0**: Enhanced stability and performance for reliable workflow execution

  For detailed examples and workflow templates, visit our documentation.

  ## Resources

  - [PDF4me n8n Integration Documentation](https://docs.pdf4me.com/n8n/getting-started/)
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [PDF4ME API Documentation](https://dev.pdf4me.com/apiv2/documentation/)
  - [PDF4ME Developer Portal](https://dev.pdf4me.com/)
  - [PDF4ME Support](mailto:support@pdf4me.com)
  - [Troubleshooting Guide](TROUBLESHOOTING.md)
  - [Publishing Guide](PUBLISHING_GUIDE.md)

  ## Version History

  ### 2.0.0
  - **Latest Version**: Major version update with enhanced features and improvements
  - **Version Upgrade**: Major version bump to 2.0.0
  - **Enhanced Functionality**: Continued improvements to document processing capabilities
  - **Stability**: Enhanced overall stability and performance
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly

  ### 1.6.0
  - **Previous Version**: Stability improvements and code optimizations
  - **Code Refactoring**: Improved variable declarations and code structure across actions
  - **Image Processing**: Enhanced MIME type handling for image operations in extractResources
  - **Markdown Conversion**: Optimized convertMarkdownToPdf functionality
  - **Resource Extraction**: Improved resource extraction with better error handling
  - **Performance**: Enhanced overall stability and processing speed
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly

  ### 1.5.1
  - **Previous Version**: Stability improvements and code optimizations
  - **Code Refactoring**: Improved variable declarations and code structure across actions
  - **Image Processing**: Enhanced MIME type handling for image operations in extractResources
  - **Markdown Conversion**: Optimized convertMarkdownToPdf functionality
  - **Resource Extraction**: Improved resource extraction with better error handling
  - **Performance**: Enhanced overall stability and processing speed
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly

  ### 1.5.0
  - **Previous Version**: Major refactoring and enhanced user experience
  - **Simplified Output Handling**: Removed complex binaryDataName parameters across all actions
  - **Enhanced Response Processing**: Improved response handling to return raw data and metadata consistently
  - **Streamlined Interface**: Simplified action configurations for better usability
  - **Improved Descriptions**: Enhanced action descriptions for clarity and consistency
  - **Better Error Handling**: Refined error handling and response processing
  - **Code Optimization**: Significant code cleanup and optimization across all actions
  - **Maintained Compatibility**: All existing workflows continue to work seamlessly
  - **Enhanced Performance**: Improved processing speed and reliability

  ### 1.3.5
  - **Previous Version**: Enhanced HTML to PDF conversion with direct HTML code input
  - Added **HTML Code** input option for Convert HTML to PDF operation
  - Users can now write HTML code directly in the interface without saving files first
  - HTML code is automatically converted to base64 for API processing
  - Enhanced input flexibility with 4 input methods: Binary Data, Base64, HTML Code, and URL
  - Improved user experience for developers and content creators
  - Maintains backward compatibility with existing workflows

  ### 1.3.0
  - **Previous Version**: AI-powered document processing and enhanced features
  - Added AI-Invoice Parser for automated invoice data extraction
  - Added AI-Process HealthCard for health card data processing
  - Added AI-Process Contract for contract analysis
  - Added Classify Document for AI-powered document classification
  - Added Parse Document for template-based document parsing
  - Added Linearize PDF for web-optimized PDFs
  - Added Flatten PDF for converting interactive elements to static content
  - Enhanced error handling and response processing
  - Improved support for JSON responses in AI processing operations
  - Updated Node.js engine requirement to >=20.15
  - Enhanced build and validation scripts

  ### 1.1.1
  - **Previous Version**: Maintenance and dependency updates
  - Updated dependencies for improved compatibility and security
  - Minor bug fixes and codebase improvements
  - Improved build and validation scripts for publishing
  - **Note:** This version failed the n8n community package security scan due to an ESLint violation: use of restricted global 'setTimeout' is not allowed (see scan results for details).

  ### 1.1.0
  - **Previous Version**: Security and compliance updates
  - Updated to address n8n community package security scan results
  - Added guidance for ESLint compliance and restricted imports
  - Updated dependencies in package.json
  - Improved documentation and publishing guides
  - Minor bug fixes and codebase cleanup

  ### 1.0.0
  - Production-ready release with comprehensive document processing capabilities
  - 60+ document processing operations covering all major use cases
  - Full integration with PDF4ME API services
  - Complete PDF processing suite including conversion, manipulation, and analysis
  - Advanced image processing capabilities with watermarking, cropping, and format conversion
  - Comprehensive barcode generation and reading functionality
  - Document conversion between multiple formats (PDF, Word, Excel, PowerPoint, HTML, etc.)
  - Enhanced timeout handling for complex operations (up to 25 minutes)
  - Improved async processing with exponential backoff and better error handling
  - Support for multiple input types (Binary Data, Base64, URL, File Path)
  - Advanced OCR capabilities with multi-language support
  - Document protection, signing, and security features
  - Metadata extraction and document analysis tools
  - Swiss QR Bill generation with full compliance standards
  - Document template generation and batch processing
  - All critical lint errors resolved for production readiness
  - Optimized package structure and build validation
  - Enhanced error handling and debugging capabilities

  ### 0.9.0
  - Comprehensive document processing capabilities with 50+ actions
  - Full integration with PDF4ME API services
  - Complete PDF processing suite including conversion, manipulation, and analysis
  - Advanced image processing capabilities with watermarking, cropping, and format conversion
  - Comprehensive barcode generation and reading functionality
  - Document conversion between multiple formats (PDF, Word, Excel, HTML, etc.)
  - Enhanced timeout handling for complex operations (up to 25 minutes)
  - Improved async processing with exponential backoff and better error handling
  - Support for multiple input types (Binary Data, Base64, URL, File Path)
  - Advanced OCR capabilities with multi-language support
  - Document protection, signing, and security features
  - Metadata extraction and document analysis tools
  - All critical lint errors resolved for production readiness
  - Optimized package structure and build validation

  ### 0.8.0
  - Comprehensive document processing capabilities
  - Full integration with PDF4ME API services
  - Support for barcode generation, URL to PDF conversion, PDF to Word conversion, JSON to Excel conversion, image cropping, and PDF page extraction
  - Enhanced timeout handling for complex PDF to Word conversions (up to 25 minutes)
  - Improved async processing with exponential backoff and better error handling
  - Support for multiple input types (Binary Data, Base64, URL, File Path)
  - Advanced OCR capabilities with multi-language support
  - Comprehensive barcode generation with 100+ supported formats
  - PDF page extraction for creating shorter versions and digital booklets
  - Standardized API documentation URLs across all files
  - Global installation support for cross-project availability

  ### 0.1.9
  - Fixed package structure and build validation
  - Improved error handling and debugging capabilities

  ### 0.1.3
  - Added global installation support
  - Enhanced package configuration for npm publishing

  ### 0.1.2
  - Initial release with core functionality

ai_documentation_summary:
  {"purpose":"Provides n8n integration with the PDF4ME API to perform comprehensive PDF and document processing — including AI-powered data extraction, file conversions, barcode generation, image manipulation, and document automation within workflows.","capabilities":["AI-Invoice Parser (extract structured invoice data)","AI-Process HealthCard (extract health card data)","AI-Process Contract (extract contract data)","Classify Document (AI-based document classification)","Parse Document (template-based parsing)","Add Attachment to PDF","Add Barcode to PDF","Add Form Fields to PDF","Add HTML Header/Footer to PDFs","Add Image Stamp to PDF (positioning, opacity controls)"],"authentication":"API key required (PDF4ME API credentials)","commonUseCases":["Automatically extract structured data from invoices, contracts, and health cards for downstream processing","Convert PDFs to editable formats (Word, Excel, PowerPoint) or perform OCR to extract text","Automate document assembly tasks: merge, split, add barcodes/stamps, headers/footers, page numbers","Secure and distribute documents: protect/unlock PDFs, add digital signatures, and update hyperlinks","Preprocess documents for other systems: compress, linearize, repair, or extract specific pages/images"],"limitations":[],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: razorpay-dev
author_github_url: https://github.com/razorpay/n8n-nodes-razorpay.git
npm_package_name: @razorpay/n8n-nodes-razorpay
npm_version: 0.3.0
community_fetched_at: 2026-02-19T14:41:52.738Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Order",
          "value": "order",
          "description": "Work with Razorpay Orders"
        },
        {
          "name": "Payment Link",
          "value": "paymentLink",
          "description": "Work with Razorpay Payment Links"
        },
        {
          "name": "Payment",
          "value": "payment",
          "description": "Work with Razorpay Payments"
        },
        {
          "name": "Refund",
          "value": "refund",
          "description": "Work with Razorpay Refunds"
        },
        {
          "name": "Settlement",
          "value": "settlement",
          "description": "Work with Razorpay Settlements"
        },
        {
          "name": "Invoice",
          "value": "invoice",
          "description": "Work with Razorpay Invoices"
        },
        {
          "name": "Dispute",
          "value": "dispute",
          "description": "Work with Razorpay Disputes"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "cre",
      "options": [
        {
          "name": "Fetch All",
          "value": "fetchAllOrders",
          "action": "Fetch all orders",
          "description": "Retrieve details of all orders with optional filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "order"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createPaymentLink",
      "options": [
        {
          "name": "Create",
          "value": "createPaymentLink",
          "action": "Create a payment link",
          "description": "Create a payment link for customers"
        },
        {
          "name": "Fetch",
          "value": "fetchPaymentLink",
          "action": "Fetch a payment link",
          "description": "Fetch payment link details by ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "paymentLink"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchPayment",
      "options": [
        {
          "name": "Fetch Payment",
          "value": "fetchPayment",
          "action": "Fetch a payment",
          "description": "Fetch payment details by payment ID"
        },
        {
          "name": "Fetch All",
          "value": "fetchAllPayments",
          "action": "Fetch all payments",
          "description": "Retrieve details of all payments with optional filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "payment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchAllRefunds",
      "options": [
        {
          "name": "Fetch All",
          "value": "fetchAllRefunds",
          "action": "Fetch all refunds",
          "description": "Retrieve details of all refunds with optional filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "refund"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "",
      "options": [
        {
          "name": "Fetch Settlement",
          "value": "fetchSettlement",
          "action": "Fetch a settlement",
          "description": "Fetch settlement details by settlement ID"
        },
        {
          "name": "Fetch All",
          "value": "fetchAllSettlements",
          "action": "Fetch all settlements",
          "description": "Retrieve details of all settlements with optional filters"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "settlement"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchInvoicesForSubscription",
      "options": [
        {
          "name": "Fetch Invoices for Subscription",
          "value": "fetchInvoicesForSubscription",
          "action": "Fetch invoices for a subscription",
          "description": "Retrieve all invoices of a subscription"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "invoice"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "fetchAllDisputes",
      "options": [
        {
          "name": "Fetch All",
          "value": "fetchAllDisputes",
          "action": "Fetch all disputes",
          "description": "Retrieve all disputes raised by customers"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "dispute"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Fetch All",
      "value": "fetchAllOrders",
      "action": "Fetch all orders",
      "description": "Retrieve details of all orders with optional filters"
    },
    {
      "name": "Create",
      "value": "createPaymentLink",
      "action": "Create a payment link",
      "description": "Create a payment link for customers"
    },
    {
      "name": "Fetch",
      "value": "fetchPaymentLink",
      "action": "Fetch a payment link",
      "description": "Fetch payment link details by ID"
    },
    {
      "name": "Fetch Payment",
      "value": "fetchPayment",
      "action": "Fetch a payment",
      "description": "Fetch payment details by payment ID"
    },
    {
      "name": "Fetch All",
      "value": "fetchAllPayments",
      "action": "Fetch all payments",
      "description": "Retrieve details of all payments with optional filters"
    },
    {
      "name": "Fetch All",
      "value": "fetchAllRefunds",
      "action": "Fetch all refunds",
      "description": "Retrieve details of all refunds with optional filters"
    },
    {
      "name": "Fetch Settlement",
      "value": "fetchSettlement",
      "action": "Fetch a settlement",
      "description": "Fetch settlement details by settlement ID"
    },
    {
      "name": "Fetch All",
      "value": "fetchAllSettlements",
      "action": "Fetch all settlements",
      "description": "Retrieve details of all settlements with optional filters"
    },
    {
      "name": "Fetch Invoices for Subscription",
      "value": "fetchInvoicesForSubscription",
      "action": "Fetch invoices for a subscription",
      "description": "Retrieve all invoices of a subscription"
    },
    {
      "name": "Fetch All",
      "value": "fetchAllDisputes",
      "action": "Fetch all disputes",
      "description": "Retrieve all disputes raised by customers"
    }
  ]

npm_readme:
  # n8n-nodes-razorpay

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

  Razorpay is a comprehensive payment solution that allows businesses to accept, process and disburse payments with its product suite. It gives you access to all payment modes including credit card, debit card, netbanking, UPI and popular wallets including JioMoney, Mobikwik, Airtel Money, FreeCharge, Ola Money and PayZapp.

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

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

  ## Installation

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

  ## Operations

  This node supports the following operations across different Razorpay resources:

  ### Orders
  - **Fetch All Orders** - Retrieve details of all orders with optional filters (authorization status, date range, receipt number, etc.)

  ### Payment Links
  - **Create Payment Link** - Create a payment link for customers with customizable options (amount, currency, customer details, expiry, etc.)
  - **Fetch Payment Link** - Fetch payment link details by ID

  ### Payments
  - **Fetch Payment** - Fetch payment details by payment ID with optional expansion of card, EMI, offer, and UPI details
  - **Fetch All Payments** - Retrieve details of all payments with optional filters (date range, pagination)

  ### Refunds
  - **Fetch All Refunds** - Retrieve details of all refunds with optional filters (date range, pagination)

  ### Settlements
  - **Fetch Settlement** - Fetch settlement details by settlement ID
  - **Fetch All Settlements** - Retrieve details of all settlements with optional filters (date range, pagination)

  ### Invoices
  - **Fetch Invoices for Subscription** - Retrieve all invoices of a subscription

  ### Disputes
  - **Fetch All Disputes** - Retrieve all disputes raised by customers with optional expansion of payment and settlement details

  ## Credentials

  To use this node, you need to authenticate with Razorpay using your API credentials.

  ### Prerequisites

  1. **Sign up for a Razorpay account**: If you don't have one already, create an account at [razorpay.com](https://razorpay.com)
  2. **Complete your KYC**: Ensure your account is activated and KYC is completed to access live mode

  ### Getting Your API Credentials

  1. Log in to your Razorpay Dashboard at [https://dashboard.razorpay.com](https://dashboard.razorpay.com)
  2. Navigate to **Settings** → **API Keys** or directly visit [https://dashboard.razorpay.com/#/app/keys](https://dashboard.razorpay.com/#/app/keys)
  3. You'll find two types of keys:
     - **Test Keys**: For testing and development (starts with `rzp_test_`)
     - **Live Keys**: For production use (starts with `rzp_live_`)

  ### Setting up Credentials in n8n

  1. In n8n, create a new **Razorpay API** credential
  2. Enter your credentials:
     - **Key ID**: Your Razorpay Key ID (e.g., `rzp_test_1234567890` or `rzp_live_1234567890`)
     - **Key Secret**: Your Razorpay Key Secret
  3. **Test the connection** to ensure your credentials are working correctly


  ### Authentication Methods

  This node supports the standard Razorpay API authentication method using:
  - **Key ID and Key Secret**: The primary authentication method for most API operations

  ## Compatibility

  Tested locally against n8n v1.104.2.

  ## Usage

  ### Installing the Razorpay Community Node in n8n

  There are several ways to install this community node in your n8n instance:

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

  1. **Open n8n**: Access your n8n instance
  2. **Go to Settings**: Click on "Settings" in the left sidebar
  3. **Navigate to Community Nodes**: Click on "Community Nodes" in the settings menu
  4. **Install the Node**: 
     - Click "Install a community node"
     - Enter the package name: `@razorpay/n8n-nodes-razorpay`
     - Click "Install"
  5. **Restart n8n**: The node will be available after n8n restarts

  #### Method 2: Install via npm (Self-hosted)

  If you're running n8n in a self-hosted environment:

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

  # Install the community node
  npm install @razorpay/n8n-nodes-razorpay

  # Restart your n8n instance
  ```

  #### Method 3: Install via Docker

  If you're using n8n with Docker, add the package to your Docker setup:

  ```dockerfile
  # In your Dockerfile or docker-compose.yml
  FROM n8nio/n8n:latest
  USER root
  RUN npm install -g @razorpay/n8n-nodes-razorpay
  USER node
  ```

  ### Using the Razorpay Node

  Once installed:

  1. **Create a new workflow** or open an existing one
  2. **Add the Razorpay node**: Search for "Razorpay" in the node panel and drag it into your workflow
  3. **Configure credentials**: Set up your Razorpay API credentials (see [Credentials](#credentials) section)
  4. **Select operation**: Choose the operation you want to perform (Create Order, Fetch Payment, etc.)
  5. **Configure parameters**: Fill in the required parameters for your selected operation
  6. **Test and execute**: Test your workflow to ensure everything works correctly

  ### Getting Started Tips

  - **Start with Test Mode**: Always use test credentials when setting up and testing your workflows
  - **Check API Documentation**: Refer to [Razorpay's API documentation](https://docs.razorpay.com) for detailed parameter information
  - **Use Webhooks**: Consider setting up Razorpay webhooks for real-time payment updates in your workflows

  If you're new to n8n, check out the [Try it out](https://docs.n8n.io/try-it-out/) documentation to help you get started with workflow automation.

  ## Resources

  * [Razorpay API Documentation](https://docs.razorpay.com)
  * [Razorpay Dashboard](https://dashboard.razorpay.com)
  * [Getting Started with Razorpay](https://docs.razorpay.com/docs/getting-started)

ai_documentation_summary:
  {"purpose":"Provides n8n workflow actions to interact with the Razorpay payment gateway API, allowing creation and retrieval of orders, payment links, payments, refunds, settlements, invoices and disputes from within n8n.","capabilities":["Fetch All Orders (with optional filters: authorization status, date range, receipt number)","Create Payment Link (configure amount, currency, customer details, expiry, etc.)","Fetch Payment Link by ID","Fetch Payment by ID (with optional expansion of card, EMI, offer, UPI details)","Fetch All Payments (with optional filters: date range, pagination)","Fetch All Refunds (with optional filters: date range, pagination)","Fetch Settlement by ID","Fetch All Settlements (with optional filters: date range, pagination)","Fetch Invoices for a Subscription","Fetch All Disputes (with optional expansion of payment and settlement details)"],"authentication":"API key required — Key ID and Key Secret (Razorpay API credentials; supports test keys and live keys)","commonUseCases":["Create and share payment links for customers to collect payments","Retrieve payment details and expand card/EMI/UPI info for reconciliation or notifications","List and monitor refunds and disputes for customer support and accounting","Fetch settlements to reconcile payouts with accounting systems","Retrieve invoices associated with subscriptions for billing workflows"],"limitations":["Live mode requires an activated Razorpay account with completed KYC","Authentication is limited to Razorpay Key ID and Key Secret (no OAuth flows documented)","Compatibility explicitly tested against n8n v1.104.2 — other versions may be untested"],"relatedNodes":["Webhook","HTTP Request"]}


node_type: n8n-nodes-sms-advert.smsAdvert
package_name: n8n-nodes-sms-advert
display_name: SMSAdvert
description: SMS Advert API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: apps_makeitfuture
author_github_url: https://github.com/makeitfutureDev/n8n-sms-advert.git
npm_package_name: n8n-nodes-sms-advert
npm_version: 1.0.21
community_fetched_at: 2026-02-19T14:41:52.739Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "sms",
      "options": [
        {
          "name": "SMS",
          "value": "sms"
        }
      ],
      "required": true,
      "description": "Send SMS through own devices",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getDevice",
      "options": [
        {
          "name": "Get Devices",
          "value": "getDevice",
          "action": "Get device list",
          "description": "Get all devices"
        },
        {
          "name": "Get Account Details",
          "value": "getAccountDetails",
          "action": "Get account details",
          "description": "Get your account details and available units"
        },
        {
          "name": "Get SMS Api Queue",
          "value": "getApiQueue",
          "action": "Get SMS API queue count",
          "description": "Get current count of messages in the API queue"
        },
        {
          "name": "Send a Message",
          "value": "textToPhoneNumber",
          "action": "Send text to phone number",
          "description": "Send a text to a phone number"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sms"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get Devices",
      "value": "getDevice",
      "action": "Get device list",
      "description": "Get all devices"
    },
    {
      "name": "Get Account Details",
      "value": "getAccountDetails",
      "action": "Get account details",
      "description": "Get your account details and available units"
    },
    {
      "name": "Get SMS Api Queue",
      "value": "getApiQueue",
      "action": "Get SMS API queue count",
      "description": "Get current count of messages in the API queue"
    },
    {
      "name": "Send a Message",
      "value": "textToPhoneNumber",
      "action": "Send text to phone number",
      "description": "Send a text to a phone number"
    }
  ]

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

  # n8n-nodes-starter

  This repo contains example nodes to help you get started building your own custom integrations for [n8n](https://n8n.io). It includes the node linter and other dependencies.

  To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).

  If you would like your node to be available on n8n cloud you can also [submit your node for verification](https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/).

  ## Prerequisites

  You need the following installed on your development machine:

  * [git](https://git-scm.com/downloads)
  * Node.js and npm. Minimum version Node 20. You can find instructions on how to install both using nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
  * Install n8n with:
    ```
    npm install n8n -g
    ```
  * Recommended: follow n8n's guide to [set up your development environment](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/).

  ## Using this starter

  These are the basic steps for working with the starter. For detailed guidance on creating and publishing nodes, refer to the [documentation](https://docs.n8n.io/integrations/creating-nodes/).

  1. [Generate a new repository](https://github.com/n8n-io/n8n-nodes-starter/generate) from this template repository.
  2. Clone your new repo:
     ```
     git clone https://github.com/<your organization>/<your-repo-name>.git
     ```
  3. Run `npm i` to install dependencies.
  4. Open the project in your editor.
  5. Browse the examples in `/nodes` and `/credentials`. Modify the examples, or replace them with your own nodes.
  6. Update the `package.json` to match your details.
  7. Run `npm run lint` to check for errors or `npm run lintfix` to automatically fix errors when possible.
  8. Test your node locally. Refer to [Run your node locally](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for guidance.
  9. Replace this README with documentation for your node. Use the [README_TEMPLATE](README_TEMPLATE.md) to get started.
  10. Update the LICENSE file to use your details.
  11. [Publish](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) your package to npm.

  ## More information

  Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building your own nodes.

  ## License

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

  ## 📲 n8n-nodes-smsadvert
  * Official n8n node for SMSAdvert API — easily send SMS messages and manage your SMS accounts directly from your n8n workflows.

  ✉️ Features
  ✅ Send SMS messages to phone numbers using your own devices or the SMSAdvert network.
  ✅ Get a list of your registered devices.
  ✅ Check your current API message queue count.

  * ⚡ Fully integrated with n8n authentication.

  🚀 Installation
  npm install n8n-nodes-smsadvert
  After installation, restart n8n. The node will appear in your node list as SMSAdvert.

  🔐 Authentication
  The node uses API Key authentication.
  In n8n, create new credentials of type SMSAdvertAPI and add your API key from your SMSAdvert account.

  💬 Example Workflows
  Simple SMS blast
  Use an HTTP Request node to pull a list of numbers from a CRM or sheet.

  Connect to SMSAdvert node with Send a Message operation.

  Done! Bulk SMS to your audience.

  🧑‍💻 Contributing
  Pull requests are welcome!
  If you'd like to add new features or improve existing functionality, please open an issue first to discuss what you'd like to change.

ai_documentation_summary:
  {"purpose":"Provides an n8n integration for the SMSAdvert API so workflows can send SMS messages and manage SMS account resources (devices, queue) directly from n8n.","capabilities":["Send SMS messages (single or as part of workflow-driven bulk sends)","Retrieve a list of registered devices on the SMSAdvert account","Check the current API message queue count (monitor backlog/status)","Integrates with n8n workflows for building bulk sends (e.g., combine with HTTP Request to fetch recipient lists)"],"authentication":"API key required (create SMSAdvertAPI credentials in n8n and supply your SMSAdvert API key)","commonUseCases":["Send transactional SMS notifications (alerts, confirmations) from workflows","Run marketing or informational SMS blasts by combining with a data source (CRM, sheet) and the SMSAdvert node","Monitor account devices and API queue to track message backlog and device availability","Integrate SMS sending into automation flows (e.g., after form submissions or CRM triggers)"],"limitations":[],"relatedNodes":["HTTP Request"]}


node_type: n8n-nodes-yourtextguru.yourtextGuru
package_name: n8n-nodes-yourtextguru
display_name: Yourtext.Guru
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: web.waboo
author_github_url: https://github.com/webwaboo/n8n-yourtextguru-api.git
npm_package_name: n8n-nodes-yourtextguru
npm_version: 0.3.0
community_fetched_at: 2026-02-19T14:41:52.739Z
ai_summary_generated_at: 2026-02-19 16:43:57
description:
  Yourtext.Guru is an advanced SEO content optimization tool designed to help writers and marketers create high-performing content.

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "project",
      "options": [
        {
          "name": "Group",
          "value": "group"
        },
        {
          "name": "Guide",
          "value": "guide"
        },
        {
          "name": "Project",
          "value": "project"
        },
        {
          "name": "SEO Txl",
          "value": "seotxl"
        },
        {
          "name": "Status",
          "value": "status"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listProjects",
      "options": [
        {
          "name": "Create",
          "value": "createProject",
          "action": "Create project",
          "routing": {
            "request": {
              "url": "=/projects",
              "body": {
                "host": "={{$parameter.host}}",
                "name": "={{$parameter.nameProject}}"
              },
              "method": "POST"
            }
          },
          "description": "Create a new project"
        },
        {
          "name": "Delete",
          "value": "deleteProject",
          "action": "Delete project",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete one project and all guides inside"
        },
        {
          "name": "Get",
          "value": "getProject",
          "action": "Get project information",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}",
              "method": "GET"
            }
          },
          "description": "Get a project's information"
        },
        {
          "name": "Get Many",
          "value": "listProjects",
          "action": "List all projects",
          "routing": {
            "request": {
              "url": "/projects",
              "method": "GET"
            }
          },
          "description": "List all the organization's projects"
        },
        {
          "name": "Update",
          "value": "updateProject",
          "action": "Update project",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}",
              "body": {
                "host": "={{$parameter.host}}",
                "name": "={{$parameter.nameProject}}"
              },
              "method": "POST"
            }
          },
          "description": "Delete one project and all guides inside"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "listGuides",
      "options": [
        {
          "name": "Analyze Text",
          "value": "analyzeText",
          "action": "Analyze text",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/brief/analyze",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          },
          "description": "Analyze a text to see if it meets the brief"
        },
        {
          "name": "Check",
          "value": "check",
          "action": "Check guide",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/check",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          },
          "description": "Analyze a given text against the semantic and SEO recommendations of a specific guide"
        },
        {
          "name": "Create Guide",
          "value": "createGuide",
          "action": "Create guide",
          "routing": {
            "request": {
              "qs": {
                "lang": "={{$parameter.lang}}",
                "type": "={{$parameter.additionalFields.guideType}}",
                "query": "={{$parameter.query}}",
                "groupId": "={{$parameter.additionalFields.groupIdOptional}}",
                "projectId": "={{$parameter.additionalFields.projectIdOptional}}"
              },
              "url": "=/guides",
              "method": "POST"
            }
          },
          "description": "Create a new guide"
        },
        {
          "name": "Create Brief",
          "value": "createBrief",
          "action": "Create guide brief",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/brief",
              "method": "POST"
            }
          },
          "description": "Create a new brief guide"
        },
        {
          "name": "Delete",
          "value": "deleteGuide",
          "action": "Delete guide",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a guide"
        },
        {
          "name": "Get",
          "value": "getGuide",
          "action": "Get guide",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/{{$parameter.guideTypeSearch}}",
              "method": "GET"
            }
          },
          "description": "Get a specific guide"
        },
        {
          "name": "Get Many",
          "value": "listGuides",
          "action": "List all guides",
          "routing": {
            "request": {
              "qs": {
                "lang": "={{$parameter.additionalFields.langOptionnal}}",
                "lastId": "={{$parameter.lastId}}",
                "status": "={{$parameter.additionalFields.status}}",
                "apiOnly": "={{$parameter.additionalFields.apiOnly}}",
                "groupId": "={{$parameter.additionalFields.groupIdOptional}}",
                "projectId": "={{$parameter.projectIdOptional}}"
              },
              "url": "=/guides",
              "method": "GET"
            }
          },
          "description": "List all the organization's guide"
        },
        {
          "name": "Get Brief Analysis",
          "value": "getGuideBriefAnalysis",
          "action": "Get brief analysis",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/brief/analyze/{{$parameter.analyzeId}}",
              "method": "GET"
            }
          },
          "description": "Get the last briefs analysis"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "guide"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getStatus",
      "options": [
        {
          "name": "Get Status",
          "value": "getStatus",
          "action": "Get status",
          "routing": {
            "request": {
              "url": "=/status",
              "method": "GET"
            }
          },
          "description": "Get the current status of the organization's account, including available tokens and guides in progress"
        },
        {
          "name": "Get Consumption",
          "value": "getTokenConsumption",
          "action": "Get consumption",
          "routing": {
            "request": {
              "url": "=/consumption/openai",
              "method": "GET"
            }
          },
          "description": "Get Token Consumption"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "status"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAllGroupsinProject",
      "options": [
        {
          "name": "Add List in Group",
          "value": "addListinGroup",
          "action": "Add list of guide in group",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/guides/add",
              "body": {
                "guideId": "={{$parameter.guideIdCollection}}"
              },
              "method": "POST"
            }
          },
          "description": "Add a list of guide in a group"
        },
        {
          "name": "Create",
          "value": "createGroup",
          "action": "Create group",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups",
              "body": {
                "name": "={{$parameter.nameGroup}}"
              },
              "method": "POST"
            }
          },
          "description": "Create a new group"
        },
        {
          "name": "Create Topical Mesh",
          "value": "createTopicalMesh",
          "action": "Create a topical mesh",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh",
              "method": "POST"
            }
          },
          "description": "Create a thematic mesh from all the guides in the group"
        },
        {
          "name": "List All Groups in a Project",
          "value": "getAllGroupsinProject",
          "action": "List all groups in a project",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups",
              "method": "GET"
            }
          },
          "description": "Get all groups in a project"
        },
        {
          "name": "Get Group Info",
          "value": "getGroupInfo",
          "action": "Get group info",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}",
              "method": "GET"
            }
          },
          "description": "Get info of a group"
        },
        {
          "name": "Get Topical Mesh",
          "value": "getTopicalMesh",
          "action": "Get topical mesh",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh",
              "method": "GET"
            }
          },
          "description": "Get a group topical mesh"
        },
        {
          "name": "Get Topical Mesh Paa",
          "value": "getTopicalMeshPaa",
          "action": "Get topical mesh paa",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh/paa",
              "method": "GET"
            }
          },
          "description": "Get a topical mesh paa"
        },
        {
          "name": "Get Topical Mesh Wordcloud",
          "value": "getTopicalMeshWordcloud",
          "action": "Get topical mesh wordcloud",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh/wordcloud",
              "method": "GET"
            }
          },
          "description": "Get a topical mesh wordcloud"
        },
        {
          "name": "Update",
          "value": "updateGroup",
          "action": "Update group",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}",
              "body": {
                "name": "={{$parameter.nameGroup}}"
              },
              "method": "POST"
            }
          },
          "description": "Update a group"
        },
        {
          "name": "Delete Group",
          "value": "deleteGroup",
          "action": "Delete group",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}",
              "method": "DELETE"
            }
          },
          "description": "Delete a whole group"
        },
        {
          "name": "Delete Guide",
          "value": "removeGuideinGroup",
          "action": "Delete guide from group",
          "routing": {
            "request": {
              "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/guides/remove",
              "body": {
                "guideId": "={{$parameter.guideIdCollection}}"
              },
              "method": "POST"
            }
          },
          "description": "Remove a list of guide from group"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "group"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateOutlineTextBasedonGuideWords",
      "options": [
        {
          "name": "Generate Outline Text Based on Guide Words",
          "value": "generateOutlineTextBasedonGuideWords",
          "action": "Generate outline text based on guide words",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/seotxl/outline",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Generate Questions Based on Guide Words",
          "value": "generateQuestionsBasedonGuideWords",
          "action": "Generate questions based on guide words",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/seotxl/questions",
              "method": "POST"
            }
          }
        },
        {
          "name": "Generate Text Based on Guide Words",
          "value": "generateTextBasedonGuideWords",
          "action": "Generate text based on guide words",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/seotxl/auto",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Generate Text From a Guide",
          "value": "generateTextfromGuide",
          "action": "Generate text from a guide",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/seotxl/create",
              "body": {
                "text": "={{$parameter.text}}",
                "maxWords": "={{$parameter.maxWords}}",
                "temperature": "={{$parameter.temperature}}"
              },
              "method": "POST"
            }
          }
        },
        {
          "name": "Rephrase Text Based on Guide Words",
          "value": "rephraseTextBasedonGuideWords",
          "action": "Rephrase text based on guide words",
          "routing": {
            "request": {
              "url": "=/guides/{{$parameter.guideId}}/seotxl/rephrase",
              "body": {
                "text": "={{$parameter.text}}"
              },
              "method": "POST"
            }
          }
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "seotxl"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "createProject",
      "action": "Create project",
      "routing": {
        "request": {
          "url": "=/projects",
          "body": {
            "host": "={{$parameter.host}}",
            "name": "={{$parameter.nameProject}}"
          },
          "method": "POST"
        }
      },
      "description": "Create a new project"
    },
    {
      "name": "Delete",
      "value": "deleteProject",
      "action": "Delete project",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete one project and all guides inside"
    },
    {
      "name": "Get",
      "value": "getProject",
      "action": "Get project information",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}",
          "method": "GET"
        }
      },
      "description": "Get a project's information"
    },
    {
      "name": "Get Many",
      "value": "listProjects",
      "action": "List all projects",
      "routing": {
        "request": {
          "url": "/projects",
          "method": "GET"
        }
      },
      "description": "List all the organization's projects"
    },
    {
      "name": "Update",
      "value": "updateProject",
      "action": "Update project",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}",
          "body": {
            "host": "={{$parameter.host}}",
            "name": "={{$parameter.nameProject}}"
          },
          "method": "POST"
        }
      },
      "description": "Delete one project and all guides inside"
    },
    {
      "name": "Analyze Text",
      "value": "analyzeText",
      "action": "Analyze text",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/brief/analyze",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      },
      "description": "Analyze a text to see if it meets the brief"
    },
    {
      "name": "Check",
      "value": "check",
      "action": "Check guide",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/check",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      },
      "description": "Analyze a given text against the semantic and SEO recommendations of a specific guide"
    },
    {
      "name": "Create Guide",
      "value": "createGuide",
      "action": "Create guide",
      "routing": {
        "request": {
          "qs": {
            "lang": "={{$parameter.lang}}",
            "type": "={{$parameter.additionalFields.guideType}}",
            "query": "={{$parameter.query}}",
            "groupId": "={{$parameter.additionalFields.groupIdOptional}}",
            "projectId": "={{$parameter.additionalFields.projectIdOptional}}"
          },
          "url": "=/guides",
          "method": "POST"
        }
      },
      "description": "Create a new guide"
    },
    {
      "name": "Create Brief",
      "value": "createBrief",
      "action": "Create guide brief",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/brief",
          "method": "POST"
        }
      },
      "description": "Create a new brief guide"
    },
    {
      "name": "Delete",
      "value": "deleteGuide",
      "action": "Delete guide",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a guide"
    },
    {
      "name": "Get",
      "value": "getGuide",
      "action": "Get guide",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/{{$parameter.guideTypeSearch}}",
          "method": "GET"
        }
      },
      "description": "Get a specific guide"
    },
    {
      "name": "Get Many",
      "value": "listGuides",
      "action": "List all guides",
      "routing": {
        "request": {
          "qs": {
            "lang": "={{$parameter.additionalFields.langOptionnal}}",
            "lastId": "={{$parameter.lastId}}",
            "status": "={{$parameter.additionalFields.status}}",
            "apiOnly": "={{$parameter.additionalFields.apiOnly}}",
            "groupId": "={{$parameter.additionalFields.groupIdOptional}}",
            "projectId": "={{$parameter.projectIdOptional}}"
          },
          "url": "=/guides",
          "method": "GET"
        }
      },
      "description": "List all the organization's guide"
    },
    {
      "name": "Get Brief Analysis",
      "value": "getGuideBriefAnalysis",
      "action": "Get brief analysis",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/brief/analyze/{{$parameter.analyzeId}}",
          "method": "GET"
        }
      },
      "description": "Get the last briefs analysis"
    },
    {
      "name": "Get Status",
      "value": "getStatus",
      "action": "Get status",
      "routing": {
        "request": {
          "url": "=/status",
          "method": "GET"
        }
      },
      "description": "Get the current status of the organization's account, including available tokens and guides in progress"
    },
    {
      "name": "Get Consumption",
      "value": "getTokenConsumption",
      "action": "Get consumption",
      "routing": {
        "request": {
          "url": "=/consumption/openai",
          "method": "GET"
        }
      },
      "description": "Get Token Consumption"
    },
    {
      "name": "Add List in Group",
      "value": "addListinGroup",
      "action": "Add list of guide in group",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/guides/add",
          "body": {
            "guideId": "={{$parameter.guideIdCollection}}"
          },
          "method": "POST"
        }
      },
      "description": "Add a list of guide in a group"
    },
    {
      "name": "Create",
      "value": "createGroup",
      "action": "Create group",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups",
          "body": {
            "name": "={{$parameter.nameGroup}}"
          },
          "method": "POST"
        }
      },
      "description": "Create a new group"
    },
    {
      "name": "Create Topical Mesh",
      "value": "createTopicalMesh",
      "action": "Create a topical mesh",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh",
          "method": "POST"
        }
      },
      "description": "Create a thematic mesh from all the guides in the group"
    },
    {
      "name": "List All Groups in a Project",
      "value": "getAllGroupsinProject",
      "action": "List all groups in a project",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups",
          "method": "GET"
        }
      },
      "description": "Get all groups in a project"
    },
    {
      "name": "Get Group Info",
      "value": "getGroupInfo",
      "action": "Get group info",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}",
          "method": "GET"
        }
      },
      "description": "Get info of a group"
    },
    {
      "name": "Get Topical Mesh",
      "value": "getTopicalMesh",
      "action": "Get topical mesh",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh",
          "method": "GET"
        }
      },
      "description": "Get a group topical mesh"
    },
    {
      "name": "Get Topical Mesh Paa",
      "value": "getTopicalMeshPaa",
      "action": "Get topical mesh paa",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh/paa",
          "method": "GET"
        }
      },
      "description": "Get a topical mesh paa"
    },
    {
      "name": "Get Topical Mesh Wordcloud",
      "value": "getTopicalMeshWordcloud",
      "action": "Get topical mesh wordcloud",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/topicalMesh/wordcloud",
          "method": "GET"
        }
      },
      "description": "Get a topical mesh wordcloud"
    },
    {
      "name": "Update",
      "value": "updateGroup",
      "action": "Update group",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}",
          "body": {
            "name": "={{$parameter.nameGroup}}"
          },
          "method": "POST"
        }
      },
      "description": "Update a group"
    },
    {
      "name": "Delete Group",
      "value": "deleteGroup",
      "action": "Delete group",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}",
          "method": "DELETE"
        }
      },
      "description": "Delete a whole group"
    },
    {
      "name": "Delete Guide",
      "value": "removeGuideinGroup",
      "action": "Delete guide from group",
      "routing": {
        "request": {
          "url": "=/projects/{{$parameter.projectId}}/groups/{{$parameter.groupId}}/guides/remove",
          "body": {
            "guideId": "={{$parameter.guideIdCollection}}"
          },
          "method": "POST"
        }
      },
      "description": "Remove a list of guide from group"
    },
    {
      "name": "Generate Outline Text Based on Guide Words",
      "value": "generateOutlineTextBasedonGuideWords",
      "action": "Generate outline text based on guide words",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/seotxl/outline",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      }
    },
    {
      "name": "Generate Questions Based on Guide Words",
      "value": "generateQuestionsBasedonGuideWords",
      "action": "Generate questions based on guide words",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/seotxl/questions",
          "method": "POST"
        }
      }
    },
    {
      "name": "Generate Text Based on Guide Words",
      "value": "generateTextBasedonGuideWords",
      "action": "Generate text based on guide words",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/seotxl/auto",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      }
    },
    {
      "name": "Generate Text From a Guide",
      "value": "generateTextfromGuide",
      "action": "Generate text from a guide",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/seotxl/create",
          "body": {
            "text": "={{$parameter.text}}",
            "maxWords": "={{$parameter.maxWords}}",
            "temperature": "={{$parameter.temperature}}"
          },
          "method": "POST"
        }
      }
    },
    {
      "name": "Rephrase Text Based on Guide Words",
      "value": "rephraseTextBasedonGuideWords",
      "action": "Rephrase text based on guide words",
      "routing": {
        "request": {
          "url": "=/guides/{{$parameter.guideId}}/seotxl/rephrase",
          "body": {
            "text": "={{$parameter.text}}"
          },
          "method": "POST"
        }
      }
    }
  ]

npm_readme:
  # n8n-nodes-yourtextguru

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

  This API enables developers to integrate SEO optimization tools into their applications, allowing for content analysis, keyword research, and more.

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

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

  ## Installation

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

  ## Operations

  Base URL : https://yourtext.guru/api/v2/

  1. Status Endpoints
  Endpoints for monitoring API availability and usage.
  ________________________________________
  GET /status
  Description:
  Check the current operational status of the API.
  Parameters:
  None
  ________________________________________
  GET /consumption/openai
  Description:
  Retrieve information about OpenAI-related usage and consumption.
  Parameters:
  •	lastId (integer) – Retrieve consumption entries after this ID (for pagination or incremental updates).

  2. Project Endpoints
  Endpoints for managing SEO projects, including creation, retrieval, and deletion.
  ________________________________________
  GET /projects
  Description:
  Retrieve a list of all projects associated with the authenticated user.
  Parameters:
  None
  ________________________________________
  POST /projects
  Description:
  Create a new project.
  Parameters:
  •	name (string) – Name of the project.
  •	host (string) – Associated domain or host (e.g., example.com).
  ________________________________________
  GET /projects/{projectId}
  Description:
  Retrieve detailed information about a specific project.
  Parameters:
  •	projectId (integer) – ID of the project to retrieve.
  ________________________________________
  POST /projects/{projectId}
  Description:
  Update the name or host of an existing project.
  Parameters:
  •	projectId (integer) – ID of the project to update.
  •	name (string) – New name for the project.
  •	host (string) – New host or domain for the project.
  ________________________________________
  DELETE /projects/{projectId}
  Description:
  Delete a specific project by its ID.
  Parameters:
  •	projectId (integer) – ID of the project to delete.

  3. Group Endpoints
  Endpoints for organizing guides into groups and generating topical meshes within a project.
  ________________________________________
  GET /projects/{projectId}/groups
  Description:
  Retrieve all groups within a specific project.
  Parameters:
  •	projectId (integer) – ID of the project.
  ________________________________________
  POST /projects/{projectId}/groups
  Description:
  Create a new group within a project.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	name (string) – Name of the new group.
  ________________________________________
  GET /projects/{projectId}/groups/{groupId}
  Description:
  Retrieve details of a specific group.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  ________________________________________
  POST /projects/{projectId}/groups/{groupId}
  Description:
  Update the name of a specific group.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  •	name (string) – New name for the group.
  ________________________________________
  DELETE /projects/{projectId}/groups/{groupId}
  Description:
  Delete a specific group from a project.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  ________________________________________
  POST /projects/{projectId}/groups/{groupId}/guides/add
  Description:
  Add a list of guide to a group.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  •	guideId (integer) – ID of the guide to add.
  ________________________________________
  POST /projects/{projectId}/groups/{groupId}/guides/remove
  Description:
  Remove guides from a group.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  •	guideId (integer) – ID of the guide to remove.
  ________________________________________
  GET /projects/{projectId}/groups/{groupId}/topicalMesh
  Description:
  Retrieve the topical mesh associated with a group.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  ________________________________________
  POST /projects/{projectId}/groups/{groupId}/topicalMesh
  Description:
  Generate a topical mesh for a group.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  ________________________________________
  GET /projects/{projectId}/groups/{groupId}/topicalMesh/wordcloud
  Description:
  Retrieve a word cloud visualization of the group's topical mesh.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.
  ________________________________________
  GET /projects/{projectId}/groups/{groupId}/topicalMesh/paa
  Description:
  Retrieve "People Also Ask" questions related to the group's topical mesh.
  Parameters:
  •	projectId (integer) – ID of the project.
  •	groupId (integer) – ID of the group.

  4. Guide Endpoints
  Endpoints related to the creation, retrieval, and analysis of SEO guides.
  ________________________________________
  GET /guides
  Description:
  Retrieve a list of guides, optionally filtered by project, group, or other attributes.
  Parameters:
  •	projectId (integer) – ID of the associated project.
  •	lastId (integer) – Retrieve guides after this ID (for pagination).
  •	lang (string) – Language code (e.g., " en_GB", " fr_FR").
  •	apiOnly (integer) – If set to 1, only API-generated guides are returned.
  •	groupId (integer) – ID of the associated group.
  •	status (string) – Filter by guide status.
  ________________________________________
  POST /guides
  Description:
  Create a new SEO guide based on a query (keyword or phrase).
  Parameters:
  •	query (string) – Target keyword or phrase.
  •	lang (string) – Language code for the guide.
  •	projectId (integer) – ID of the project to associate the guide with.
  •	type (string) – Type of guide (, "google" or "bing").
  •	groupId (integer) – group ID to associate the guide with.
  ________________________________________
  GET /guides/{guideId}
  Description:
  Retrieve detailed information about a specific guide.
  Parameters:
  •	guideId (integer) – ID of the guide to retrieve.
  ________________________________________
  DELETE /guides/{guideId}
  Description:
  Delete a specific guide by its ID.
  Parameters:
  •	guideId (integer) – ID of the guide to delete.
  ________________________________________
  GET /guides/{guideId}/paa
  Description:
  Retrieve "People Also Ask" questions related to the guide's query.
  Parameters:
  •	guideId (integer) – ID of the guide.
  ________________________________________
  GET /guides/{guideId}/related
  Description:
  Retrieve keywords and topics related to the guide's query.
  Parameters:
  •	guideId (integer) – ID of the guide.
  ________________________________________
  POST /guides/{guideId}/check
  Description:
  Check the SEO quality of a given text against the guide.
  Parameters:
  •	guideId (integer) – ID of the guide.
  •	text (string) – The content to analyze.
  ________________________________________
  GET /guides/{guideId}/serp
  Description:
  Retrieve SERP (Search Engine Results Page) data related to the guide’s keyword.
  Parameters:
  •	guideId (integer) – ID of the guide.
  ________________________________________
  GET /guides/{guideId}/brief
  Description:
  Get the current brief associated with the guide.
  Parameters:
  •	guideId (integer) – ID of the guide.
  ________________________________________
  POST /guides/{guideId}/brief
  Description:
  Generate or update the brief for the guide.
  Parameters:
  •	guideId (integer) – ID of the guide.
  ________________________________________
  GET /guides/{guideId}/brief/analyze
  Description:
  Retrieve the result of the latest brief analysis.
  Parameters:
  •	guideId (integer) – ID of the guide.
  ________________________________________
  POST /guides/{guideId}/brief/analyze
  Description:
  Submit a brief for SEO analysis.
  Parameters:
  •	guideId (integer) – ID of the guide.
  •	requestBody (string) – Text content to analyze.
  ________________________________________
  GET /guides/{guideId}/brief/analyze/{analyzeId}
  Description:
  Retrieve a specific analysis result by its ID.
  Parameters:
  •	guideId (integer) – ID of the guide.
  •	analyzeId (integer) – ID of the analysis to retrieve.

  5. Seo Txl Endpoints
  Endpoints for generating and manipulating SEO-optimized text (TXL) based on guide data.
  ________________________________________
  POST /guides/{guideId}/seotxl/auto
  Description:
  Automatically generate SEO content based on the guide and input text.
  Parameters:
  •	guide (integer) – ID of the guide.
  •	text (string) – Input text to base the generation on.
  ________________________________________
  POST /guides/{guideId}/seotxl/outline
  Description:
  Generate a structured outline for SEO content.
  Parameters:
  •	guide (integer) – ID of the guide.
  •	text (string) – Input topic or content to guide the outline.
  ________________________________________
  POST /guides/{guideId}/seotxl/questions
  Description:
  Generate a list of relevant questions based on the guide’s topic.
  Parameters:
  •	guide (integer) – ID of the guide.
  ________________________________________
  POST /guides/{guideId}/seotxl/rephrase
  Description:
  Rephrase a given text to improve clarity or SEO performance.
  Parameters:
  •	guide (integer) – ID of the guide.
  •	text (string) – The text to rephrase.
  ________________________________________
  POST /guides/{guideId}/seotxl/create
  Description:
  Generate custom SEO text with configurable temperature and word limit.
  Parameters:
  •	guide (integer) – ID of the guide.
  •	text (string) – Input prompt or content base.
  •	temperature (integer) – Controls creativity (higher = more creative).
  •	maxWords (integer) – Maximum number of words in the output.


  ## Credentials

  To get your API key, please refer to [this page](https://yourtext.guru/en/pricing) for pricing and details.
  All API requests require authentication. You must include your API key in the request headers:

  ```
  Authorization: Bearer YOUR_API_KEY
  ```

  Replace `YOUR_API_KEY` with your actual API key.

  ## Compatibility

  Tested on n8n Version: 1.100.1

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * For more detailed information, refer to the [official API documentation](https://yourtext.guru/api/v2/documentation)
    If you encounter issues or have questions, please contact the YourText.Guru support team through their support portal.


  ## Version history

  version: 0.1.0

ai_documentation_summary:
  {"purpose":"Provides access to YourText.Guru SEO tools from n8n workflows, enabling programmatic management of SEO projects, groups, guides, and retrieval of analysis/artifacts such as topical meshes and usage status.","capabilities":["Check API operational status (GET /status)","Retrieve OpenAI-related consumption/usage (GET /consumption/openai)","List all projects (GET /projects)","Create a project (POST /projects)","Get project details (GET /projects/{projectId})","Update a project (POST /projects/{projectId})","Delete a project (DELETE /projects/{projectId})","List groups within a project (GET /projects/{projectId}/groups)","Create a group within a project (POST /projects/{projectId}/groups)","Get, update, and delete specific groups (GET/POST/DELETE /projects/{projectId}/groups/{groupId})"],"authentication":"Not specified in README (credentials section referenced but details not included)","commonUseCases":["Automate creation and management of SEO projects and associated domains","Organize guides into groups and programmatically add/remove guides","Generate topical meshes and extract supporting artifacts (word clouds, PAA) for content planning","Monitor API availability and OpenAI-related consumption for usage tracking","Fetch and filter lists of guides for downstream processing or content workflows"],"limitations":["Authentication method and credential setup are not documented in the provided README excerpt","README is truncated so some endpoints, request/response schemas, and examples may be missing","No information about rate limits, error formats, or pagination details beyond lastId hints","No sample requests/responses or field-level documentation included in the excerpt"],"relatedNodes":[]}


node_type: @zohomail/n8n-nodes-zohocalendar.zohoCalendar
package_name: @zohomail/n8n-nodes-zohocalendar
display_name: Zoho Calendar
description: Consume Zoho Calendar API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: zohomail
author_github_url: https://github.com/zohomail/zoho_calendar_n8n.git
npm_package_name: @zohomail/n8n-nodes-zohocalendar
npm_version: 1.0.3
community_fetched_at: 2026-02-19T14:41:52.743Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "event",
      "options": [
        {
          "name": "Event",
          "value": "event"
        }
      ],
      "required": true,
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create an Event",
          "value": "create",
          "action": "Create New Event",
          "description": "Creates an event in the specified calendar."
        },
        {
          "name": "Update an Event",
          "value": "update",
          "action": "Update Event",
          "description": "Updates an event in the specified calendar."
        },
        {
          "name": "Delete an Event",
          "value": "delete",
          "action": "Delete Event",
          "description": "Deletes an event from the specified calendar."
        },
        {
          "name": "Quick Add an Event",
          "value": "quick_event",
          "action": "Quick Add Event",
          "description": "Creates an event from a piece of text."
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "event"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create an Event",
      "value": "create",
      "action": "Create New Event",
      "description": "Creates an event in the specified calendar."
    },
    {
      "name": "Update an Event",
      "value": "update",
      "action": "Update Event",
      "description": "Updates an event in the specified calendar."
    },
    {
      "name": "Delete an Event",
      "value": "delete",
      "action": "Delete Event",
      "description": "Deletes an event from the specified calendar."
    },
    {
      "name": "Quick Add an Event",
      "value": "quick_event",
      "action": "Quick Add Event",
      "description": "Creates an event from a piece of text."
    }
  ]

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

  # Zoho Calendar integration with n8n
  Zoho Calendar is an efficient workplace tool that helps you stay on track with your schedules, meetings, and events. n8n's integration with Zoho Calendar helps you to align with your business processes. You can custom-design your workflow by applying triggers and actions to automate your business needs.
  To learn more about n8n
  [n8n homepage](https://n8n.io/).
  To learn more about Zoho Calendar
  [Zoho Calendar homepage](https://calendar.zoho.com/).
  In case of any technical queries 
  [Contact sales](https://www.zoho.com/calendar/contact.html)
  ## Pre-requisites
  - n8n admin login account (https://app.n8n.cloud/login)
  - Zoho Mail account
  - A Verified domain added to the Zoho Mail account
  ## Installation 
  You can install the nodes for n8n via [npm](https://www.npmjs.com/) with the package name as n8n-nodes-zohocalendar.
  - To install :
     - Log in to your n8n account.
     - Navigate to more options->Settings->Community nodes->Install.
     - Enter the package name (n8n-nodes-zohocalendar)

  ## Configuration 
  Follow the steps below to integrate Zoho Calendar from n8n.
  - Log in to your n8n account.
  - Select Create Credential -> Add Credential dialog box -> Enter Zoho CalendarOAuth2 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 Calendar.
  - 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 Calendar is established, and the next step is to create your workflow.
  - Click Create Workflow -> Add first step -> search and select Zoho calendar on the right pane.
  - Build your desired workflow with the list of actions (Create, Delete, Quick add, or Update an event) and triggers (Event Created, Event Deleted, or Event Updated).
  - 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@zohocalendar.com)
  ### Description
  This page explains the integration of Zoho Calendar 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 Calendar : https://www.zoho.com/calendar/
  ### Required
  - Zoho Calendar account and n8n admin account.
  - Module installation and configuration:
  - Information on how the integration between Zoho Calendar and n8n can be made is found in this Readme file.
  - For further queries, visit : https://www.zoho.com/calendar/contact.html

ai_documentation_summary:
  {"purpose":"Provides an n8n community node to interact with Zoho Calendar, allowing workflows to create, update, delete and quick-add events and to trigger automation when events change.","capabilities":["Create event","Delete event","Quick add event (create from text)","Update event","Trigger: Event Created","Trigger: Event Deleted","Trigger: Event Updated","Configure OAuth2 credentials via Zoho Developer Console (Client ID & Client Secret)","Install and run as an n8n community node"],"authentication":"OAuth2 (Zoho OAuth2 using a Client ID and Client Secret; requires configuring the Authorized Redirect URL in the Zoho Developer Console)","commonUseCases":["Automatically create calendar events from other apps (forms, CRM entries, emails)","Trigger follow-up workflows when events are created, updated, or deleted (notifications, CRM updates, logging)","Update or delete events in Zoho Calendar from external systems","Quick-add events to Zoho Calendar from plain-text inputs or parsed content"],"limitations":["Requires a Zoho Mail account and a verified domain on the Zoho Mail account (prerequisite)","Requires n8n admin/cloud account to install community nodes","OAuth2 client must be created manually in the Zoho Developer Console (Client ID/Secret and redirect URL)","README only documents event-level actions and triggers; other calendar features (e.g., calendar listing, attendee management, reminders) are not described"],"relatedNodes":[]}


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

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

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

npm_readme:
  # n8n-nodes-blue

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

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

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

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

  ## Installation

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

  ## Operations

  This node supports the following operations:

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

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

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

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

  ## Credentials

  ### Getting Blue API Credentials

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

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

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

  ### Configuring in n8n

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

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

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

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

  ### Authentication Flow

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

  ### Security Notes

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

  ## Compatibility

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

  ## Usage

  ### Example Workflows

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

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

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

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

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

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

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

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

  ### Quick Start Guide

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

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

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

  ### Advanced Features

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

  ### Operation Details

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

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

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

  ### Tips & Best Practices

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

  ## Troubleshooting

  ### Common Issues

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

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

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

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

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

  ### Getting Help

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

  ### Debug Tips

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

  ## Resources

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

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides n8n nodes to interact with Blue Project Management's GraphQL API to list companies and projects, manage tasks/records (get, create, update), and run custom GraphQL queries within n8n workflows.","capabilities":["Get Companies - list all companies accessible to the API token","Get Projects - list projects for a specified company","Get Records - retrieve tasks/todos with advanced filtering (by project, search terms, completion status)","Create Record - create tasks/todos with support for assignees, tags, custom fields, and checklists","Update Record - update existing records including core fields and custom field values","Custom Query - execute arbitrary GraphQL queries against the Blue API for advanced scenarios","Automatic authentication handling (adds X-Bloo-Token-ID and X-Bloo-Token-Secret headers)","Automatically passes company context (X-Bloo-Company-ID) and routes requests to https://api.blue.cc/graphql"],"authentication":"API token pair required (Token ID and Token Secret). Credentials stored in n8n and sent as headers (X-Bloo-Token-ID and X-Bloo-Token-Secret).","commonUseCases":["Task management dashboard: periodic retrieval of projects and tasks, identify overdue items, notify stakeholders","Automated task creation: create tasks from webhooks or external systems with assignees, tags and custom fields populated","Weekly project reports: aggregate tasks and progress metrics across projects and distribute reports via Slack or email","Custom data integration: sync data between Blue and external systems using custom GraphQL queries and conditional create/update logic"],"limitations":["Blue API enforces rate limits — high-volume workflows should implement delays or batching","API tokens only work for companies the token has access to; many operations require explicit company context (Company ID)","All interactions are via Blue's GraphQL endpoint (https://api.blue.cc/graphql) — GraphQL knowledge may be required for custom queries","Requires n8n version 1.0.0 or later"],"relatedNodes":["Schedule Trigger","Webhook","Email","Slack","HTTP Request / External API"]}


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

updated_at: 2026-02-19 14:41:52
author_name: bookoly
author_github_url: https://github.com/bookoly/n8n-node.git
npm_package_name: n8n-nodes-bookoly
npm_version: 1.0.19
community_fetched_at: 2026-02-19T14:41:52.744Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "sound",
      "options": [
        {
          "name": "Sound",
          "value": "sound"
        },
        {
          "name": "Speech",
          "value": "speech"
        },
        {
          "name": "Speech Dialogue",
          "value": "speech_dialogue"
        },
        {
          "name": "File",
          "value": "file"
        },
        {
          "name": "Transcription",
          "value": "transcript"
        },
        {
          "name": "Video",
          "value": "video"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "combineSounds",
      "options": [
        {
          "name": "Combine Sounds",
          "value": "combineSounds",
          "action": "Combine sounds",
          "description": "Merge multiple sound files into a single seamless audio track"
        },
        {
          "name": "Get a Specific Sound",
          "value": "getSound",
          "action": "Get a sound",
          "description": "Fetches sound data from the API using the sound ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "sound"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createSpeech",
      "options": [
        {
          "name": "Create a Speech Synthesis",
          "value": "createSpeech",
          "action": "Create a speech synthesis",
          "description": "Synthesizes a text into speech"
        },
        {
          "name": "Get a Specific Speech",
          "value": "getSpeech",
          "action": "Get a speech",
          "description": "Fetches speech data from the API using the speech ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "speech"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createSpeechDialogue",
      "options": [
        {
          "name": "Create a Speech Dialogue",
          "value": "createSpeechDialogue",
          "action": "Create a speech dialogue",
          "description": "Generate a conversation between multiple AI voices from text"
        },
        {
          "name": "Get a Specific Speech Dialogue",
          "value": "getSpeechDialogue",
          "action": "Get a speech dialogue",
          "description": "Fetches speech dialogue data from the API using the speech dialogue ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "speech_dialogue"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateSubtitleFile",
      "options": [
        {
          "name": "Generate a Subtitle File",
          "value": "generateSubtitleFile",
          "action": "Generate a subtitle file",
          "description": "Generate subtitle files in multiple formats from a video or audio URL"
        },
        {
          "name": "Get a Specific Subtitle File",
          "value": "getSubtitleFile",
          "action": "Get a subtitle file",
          "description": "Fetches subtitle file data from the API using the subtitle file ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "file"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createTranscript",
      "options": [
        {
          "name": "Transcribe Audio or Video",
          "value": "createTranscript",
          "action": "Transcribe audio or video",
          "description": "Transcribe your audio or video files into clear, accurate text with timestamps"
        },
        {
          "name": "Get a Specific Transcription",
          "value": "getTranscript",
          "action": "Get a transcription",
          "description": "Fetches transcript data from the API using the transcript ID"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transcript"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generateVideo",
      "options": [
        {
          "name": "Add Audio to a Video",
          "value": "addAudioToVideo",
          "action": "Add audio to a video",
          "description": "Seamlessly add audio tracks to your video"
        },
        {
          "name": "Add Audio with Subtitles to a Video",
          "value": "addAudioWithSubtitlesToVideo",
          "action": "Add audio with subtitles to a video",
          "description": "Adds audio to your video and automatically generates and adds subtitles from the audio"
        },
        {
          "name": "Add Subtitles to a Video",
          "value": "addSubtitlesToVideo",
          "action": "Add subtitles to a video",
          "description": "Automatically generates and adds subtitles to your video"
        },
        {
          "name": "Add Subtitles to a Video From a File",
          "value": "addSubtitlesToVideoFromFile",
          "action": "Add subtitles to a video from a file",
          "description": "Automatically generates and adds subtitles to your video"
        },
        {
          "name": "Add Watermark to a Video",
          "value": "addWatermarkToVideo",
          "action": "Add a watermark to a video",
          "description": "Places an image as a watermark on the video at specified coordinates"
        },
        {
          "name": "Blur a Video",
          "value": "blurVideo",
          "action": "Blur a video",
          "description": "Apply a blur effect to a specific area of a video"
        },
        {
          "name": "Clip a Video",
          "value": "clipVideo",
          "action": "Clip a video",
          "description": "Extract a clip from a video using a start time and duration"
        },
        {
          "name": "Create a Slideshow",
          "value": "createSlideshow",
          "action": "Create a slideshow",
          "description": "Creates a video slideshow from images, videos, or a combination of both"
        },
        {
          "name": "Crop a Video",
          "value": "cropVideo",
          "action": "Crop a video",
          "description": "Crops the video to a specific area using custom coordinates and dimensions"
        },
        {
          "name": "Extract Audio From a Video",
          "value": "extractAudioFromVideo",
          "action": "Extract audio from a video",
          "description": "Separates and saves the audio track from a video file"
        },
        {
          "name": "Frame a Video",
          "value": "frameVideo",
          "action": "Frame a video",
          "description": "Extract a single frame from a video at a specified timestamp and save it as an image"
        },
        {
          "name": "Generate a Video",
          "value": "generateVideo",
          "action": "Generate a video",
          "description": "Create a video from images and video clips, generate and add a voice-over with automated subtitles, and integrate background music"
        },
        {
          "name": "Get a Specific Video",
          "value": "getVideo",
          "action": "Get a video",
          "description": "Fetches video data from the API using the video ID"
        },
        {
          "name": "Mute a Video",
          "value": "muteVideo",
          "action": "Mute a video",
          "description": "Mute the video's audio by reducing the volume to zero"
        },
        {
          "name": "Overlay Videos",
          "value": "overlayVideos",
          "action": "Overlay videos",
          "description": "Overlay one video on top of another at a specified position"
        },
        {
          "name": "Rotate a Video",
          "value": "rotateVideo",
          "action": "Rotate a video",
          "description": "Rotate a video by 90, 180, or 270 degrees clockwise"
        },
        {
          "name": "Scale a Video",
          "value": "scaleVideo",
          "action": "Scale a video",
          "description": "Scale a video to different dimensions with various scaling modes"
        },
        {
          "name": "Split a Video Into Scenes",
          "value": "splitVideoIntoScenes",
          "action": "Split a video into scenes",
          "description": "Automatically divide a video into multiple segments based on scene detection or fixed intervals"
        },
        {
          "name": "Stack Videos",
          "value": "stackVideos",
          "action": "Stack videos",
          "description": "Stack two videos together horizontally or vertically"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "video"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Combine Sounds",
      "value": "combineSounds",
      "action": "Combine sounds",
      "description": "Merge multiple sound files into a single seamless audio track"
    },
    {
      "name": "Get a Specific Sound",
      "value": "getSound",
      "action": "Get a sound",
      "description": "Fetches sound data from the API using the sound ID"
    },
    {
      "name": "Create a Speech Synthesis",
      "value": "createSpeech",
      "action": "Create a speech synthesis",
      "description": "Synthesizes a text into speech"
    },
    {
      "name": "Get a Specific Speech",
      "value": "getSpeech",
      "action": "Get a speech",
      "description": "Fetches speech data from the API using the speech ID"
    },
    {
      "name": "Create a Speech Dialogue",
      "value": "createSpeechDialogue",
      "action": "Create a speech dialogue",
      "description": "Generate a conversation between multiple AI voices from text"
    },
    {
      "name": "Get a Specific Speech Dialogue",
      "value": "getSpeechDialogue",
      "action": "Get a speech dialogue",
      "description": "Fetches speech dialogue data from the API using the speech dialogue ID"
    },
    {
      "name": "Generate a Subtitle File",
      "value": "generateSubtitleFile",
      "action": "Generate a subtitle file",
      "description": "Generate subtitle files in multiple formats from a video or audio URL"
    },
    {
      "name": "Get a Specific Subtitle File",
      "value": "getSubtitleFile",
      "action": "Get a subtitle file",
      "description": "Fetches subtitle file data from the API using the subtitle file ID"
    },
    {
      "name": "Transcribe Audio or Video",
      "value": "createTranscript",
      "action": "Transcribe audio or video",
      "description": "Transcribe your audio or video files into clear, accurate text with timestamps"
    },
    {
      "name": "Get a Specific Transcription",
      "value": "getTranscript",
      "action": "Get a transcription",
      "description": "Fetches transcript data from the API using the transcript ID"
    },
    {
      "name": "Add Audio to a Video",
      "value": "addAudioToVideo",
      "action": "Add audio to a video",
      "description": "Seamlessly add audio tracks to your video"
    },
    {
      "name": "Add Audio with Subtitles to a Video",
      "value": "addAudioWithSubtitlesToVideo",
      "action": "Add audio with subtitles to a video",
      "description": "Adds audio to your video and automatically generates and adds subtitles from the audio"
    },
    {
      "name": "Add Subtitles to a Video",
      "value": "addSubtitlesToVideo",
      "action": "Add subtitles to a video",
      "description": "Automatically generates and adds subtitles to your video"
    },
    {
      "name": "Add Subtitles to a Video From a File",
      "value": "addSubtitlesToVideoFromFile",
      "action": "Add subtitles to a video from a file",
      "description": "Automatically generates and adds subtitles to your video"
    },
    {
      "name": "Add Watermark to a Video",
      "value": "addWatermarkToVideo",
      "action": "Add a watermark to a video",
      "description": "Places an image as a watermark on the video at specified coordinates"
    },
    {
      "name": "Blur a Video",
      "value": "blurVideo",
      "action": "Blur a video",
      "description": "Apply a blur effect to a specific area of a video"
    },
    {
      "name": "Clip a Video",
      "value": "clipVideo",
      "action": "Clip a video",
      "description": "Extract a clip from a video using a start time and duration"
    },
    {
      "name": "Create a Slideshow",
      "value": "createSlideshow",
      "action": "Create a slideshow",
      "description": "Creates a video slideshow from images, videos, or a combination of both"
    },
    {
      "name": "Crop a Video",
      "value": "cropVideo",
      "action": "Crop a video",
      "description": "Crops the video to a specific area using custom coordinates and dimensions"
    },
    {
      "name": "Extract Audio From a Video",
      "value": "extractAudioFromVideo",
      "action": "Extract audio from a video",
      "description": "Separates and saves the audio track from a video file"
    },
    {
      "name": "Frame a Video",
      "value": "frameVideo",
      "action": "Frame a video",
      "description": "Extract a single frame from a video at a specified timestamp and save it as an image"
    },
    {
      "name": "Generate a Video",
      "value": "generateVideo",
      "action": "Generate a video",
      "description": "Create a video from images and video clips, generate and add a voice-over with automated subtitles, and integrate background music"
    },
    {
      "name": "Get a Specific Video",
      "value": "getVideo",
      "action": "Get a video",
      "description": "Fetches video data from the API using the video ID"
    },
    {
      "name": "Mute a Video",
      "value": "muteVideo",
      "action": "Mute a video",
      "description": "Mute the video's audio by reducing the volume to zero"
    },
    {
      "name": "Overlay Videos",
      "value": "overlayVideos",
      "action": "Overlay videos",
      "description": "Overlay one video on top of another at a specified position"
    },
    {
      "name": "Rotate a Video",
      "value": "rotateVideo",
      "action": "Rotate a video",
      "description": "Rotate a video by 90, 180, or 270 degrees clockwise"
    },
    {
      "name": "Scale a Video",
      "value": "scaleVideo",
      "action": "Scale a video",
      "description": "Scale a video to different dimensions with various scaling modes"
    },
    {
      "name": "Split a Video Into Scenes",
      "value": "splitVideoIntoScenes",
      "action": "Split a video into scenes",
      "description": "Automatically divide a video into multiple segments based on scene detection or fixed intervals"
    },
    {
      "name": "Stack Videos",
      "value": "stackVideos",
      "action": "Stack videos",
      "description": "Stack two videos together horizontally or vertically"
    }
  ]

npm_readme:
  # n8n-nodes-bookoly

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

  bookoly is a service that makes it easy to create, edit, and process your content automatically.
  With bookoly, you can generate slideshows, add subtitles, create voice-overs, split videos into multiple scenes, and 
  a lot more — all through a simple API.

  [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

  ### 🎞️ Video

  * **Add Audio to a Video** – Add background music or a voice-over to a video.
  * **Add Audio with Subtitles to a Video** – Add a voice-over and automatically generate and add subtitles from the audio.
  * **Add Subtitles to a Video** – Automatically generate subtitles from the video’s audio and insert them into the file.
  * **Add Subtitles to a Video from a File** – Import and embed an external subtitle file (e.g. `.srt`, `.ass`) into a video.
  * **Add Watermark to a Video** – Overlay an image or text watermark onto a video.
  * **Blur a Video** – Apply a blur effect to the entire video or selected regions.
  * **Clip a Video** – Extract a specific section of a video by start time and duration.
  * **Create a Slideshow** – Generate a slideshow video from multiple images and video clips.
  * **Crop a Video** – Trim away unwanted edges of a video by defining crop dimensions.
  * **Extract Audio from a Video** – Save the audio track of a video as a separate sound file.
  * **Frame a Video** – Capture a single image from a video at the desired timestamp.
  * **Generate a Video** – Create a video from images and video clips with a voice-over and subtitles.
  * **Mute a Video** – Set the volume of a video to 0%.
  * **Overlay Videos** – Overlay one video on top of another at a specified position with customizable scale and offset.
  * **Rotate a Video** – Rotate a video by 90, 180, or 270 degrees.
  * **Scale a Video** – Scale videos to different dimensions using various scaling modes (fit, fill, exact, etc.).
  * **Split a Video into Scenes** – Split a video by automatic scene detection, fixed time intervals, or equal segments.
  * **Stack Videos** – Stack two videos together horizontally or vertically.

  ### 🎙️️ Speech

  * **Create a Speech Synthesis** – Convert text into a natural-sounding speech with AI.

  ### 🗣️ Speech Dialogue

  * **Create a Speech Dialogue** – Generate a conversation between multiple AI voices.

  ### 📜 Transcript

  * **Transcribe Media** – Automatically transcribe the audio from a video or audio file.

  ### 🎼 Sound

  * **Combine Sounds** – Merge two or more audio files into a single track.

  ### 📂 File

  * **Generate a Subtitle File** – Create a subtitle file (e.g. `.srt`, `.vtt`) from a video or audio file.

  ## Credentials

  To use the bookoly node, you need an API token:

  1. Sign up for an account at [bookoly](https://bookoly.com).
  2. Open your profile from the left menu and scroll down to the API Tokens section.
  3. Create a new API token. 
     * Enable all permissions.
     * (Optional) Set an expiration date.
  4. Copy the token and store it in a safe place.
  5. In n8n, create new credentials for bookoly and paste your token.

  ## Compatibility

  * Minimum n8n version: 1.106.3
  * Tested with: n8n 1.106.3+
  * Known issues: None at this time.

  ## Usage

  Once installed, you can add the bookoly node to your workflow to automate content generation and processing.

  📺 To see all examples in action check out the full bookoly YouTube tutorial [playlist](https://www.youtube.com/playlist?list=PLaZXufV_18nEQ_P79pD3ccuR8xQwjcJqu)

  If you’re new to n8n, check the [Try it out](https://docs.n8n.io/try-it-out/) guide

  ## Resources

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

  ## Version history

  1.0.19
  * Added 'Stack Videos' operation to stack two videos horizontally or vertically.
  * Added 'Overlay Videos' operation to overlay one video on top of another with position, scale, and offset options.
  * Added 'Scale a Video' operation with multiple scaling modes (scale to width/height, fit, fill, exact, keep aspect ratio).
  * Removed 'Create a Sound Effect' operation.

  1.0.18
  * Add the voice option 'None' for speech synthesis

  1.0.17
  * Enhanced speech synthesis with 38 premium AI voices for more natural and diverse text-to-speech output.

  1.0.16
  * Fix type for subtitle text case

  1.0.15
  * Performance improvements and bug fixes

  1.0.14
  * Replace hardcoded default values with enums

  1.0.13
  * Minor performance improvements

  1.0.12
  * Minor performance improvements and bug fixes 

  1.0.11
  * Improved the 'Generate a Video' node for more flexibility.
  * Added punctuation and text case options for subtitles.
  * Added mute option for scenes.
  * Added transitions that can be used between scenes.

  1.0.10
  * Handle errors with continueOnFail

  1.0.9
  * Added 'Create a speech dialogue' action.
  * Updated 'Combine sounds' action, to expect JSON input for Audio.

  1.0.8
  * Update youtube playlist url in readme.

  1.0.7
  * Refine video clip parameters for clarity.

  1.0.6
  * Change scenes type from fixedCollection to json.

  1.0.5
  * Make the bookoly node usable as a tool.

  1.0.4
  * Initial release with support for all bookoly operations.

ai_documentation_summary:
  {"purpose":"Provide n8n workflow actions to interact with the bookoly API for automated content creation and media processing (video, audio, subtitles, speech and transcription).","capabilities":["Add Audio to a Video (background music or voice-over)","Add Audio with Subtitles to a Video (voice-over + auto-generated subtitles)","Add Subtitles to a Video (auto-generate from audio)","Add Subtitles to a Video from a File (import and embed .srt/.ass etc.)","Add Watermark to a Video (image or text overlay)","Blur a Video (full video or selected regions)","Clip a Video (extract section by start time and duration)","Create a Slideshow (from images and video clips)","Crop a Video (define crop dimensions)","Extract Audio from a Video (export audio track)"],"authentication":"API token required (create API token in bookoly account and add as bookoly credentials in n8n)","commonUseCases":["Automate post-production workflows: add voice-overs, subtitles, watermarks, clips, and effects to videos","Generate videos/slideshows from images and clips with synthesized voice narration and subtitles","Transcribe audio/video and produce subtitle files (.srt/.vtt) for accessibility or publishing","Produce multi-voice AI dialogues or TTS assets for podcasts, presentations, or e-learning","Combine and process audio tracks (merge, extract, and generate final audio files)"],"limitations":["Requires n8n version 1.106.3 or newer (minimum supported)","Authentication is limited to API token-based credentials (no OAuth described)"],"relatedNodes":[]}


node_type: n8n-nodes-targetare.targetareRo
package_name: n8n-nodes-targetare
display_name: Targetare.ro
description: Get data from Targetare.ro API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: apps_makeitfuture
author_github_url: https://github.com/avramandrei85/
npm_package_name: n8n-nodes-targetare
npm_version: 1.0.7
community_fetched_at: 2026-02-19T14:41:52.745Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "companies",
      "options": [
        {
          "name": "Company",
          "value": "companies"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getByRegistration",
      "options": [
        {
          "name": "Get By CUI",
          "value": "getByTaxId",
          "action": "Get company by cui",
          "routing": {
            "request": {
              "url": "=/companies/{{$parameter.taxId}}",
              "method": "GET"
            }
          },
          "description": "Get a single company by its CUI"
        },
        {
          "name": "Get By Registration Date",
          "value": "getByRegistration",
          "action": "Get companies by registration date",
          "routing": {
            "request": {
              "url": "/companies/",
              "method": "GET"
            }
          },
          "description": "Get companies registered from a specific date"
        },
        {
          "name": "Get Company Administrators by CUI",
          "value": "getAdministratorsByTaxId",
          "action": "Get company administrators by cui",
          "routing": {
            "request": {
              "url": "=/companies/{{$parameter.taxId}}/administrators",
              "method": "GET"
            }
          },
          "description": "Get company Administrators by its CUI"
        },
        {
          "name": "Get Company Emails by CUI",
          "value": "getEmailsByTaxId",
          "action": "Get company emails by cui",
          "routing": {
            "request": {
              "url": "=/companies/{{$parameter.taxId}}/emails",
              "method": "GET"
            }
          },
          "description": "Get company Emails by its CUI"
        },
        {
          "name": "Get Company Financial by CUI",
          "value": "getFinancialByTaxId",
          "action": "Get company financial by cui",
          "routing": {
            "request": {
              "url": "=/companies/{{$parameter.taxId}}/financial",
              "method": "GET"
            }
          },
          "description": "Get company financial information by its CUI"
        },
        {
          "name": "Get Company Phones by CUI",
          "value": "getPhonesByTaxId",
          "action": "Get company phones by cui",
          "routing": {
            "request": {
              "url": "=/companies/{{$parameter.taxId}}/phones",
              "method": "GET"
            }
          },
          "description": "Get company Phones by its CUI"
        },
        {
          "name": "Get Company Websites by CUI",
          "value": "getWebsitesByTaxId",
          "action": "Get company websites by cui",
          "routing": {
            "request": {
              "url": "=/companies/{{$parameter.taxId}}/websites",
              "method": "GET"
            }
          },
          "description": "Get company Websites by its CUI"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "companies"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get By CUI",
      "value": "getByTaxId",
      "action": "Get company by cui",
      "routing": {
        "request": {
          "url": "=/companies/{{$parameter.taxId}}",
          "method": "GET"
        }
      },
      "description": "Get a single company by its CUI"
    },
    {
      "name": "Get By Registration Date",
      "value": "getByRegistration",
      "action": "Get companies by registration date",
      "routing": {
        "request": {
          "url": "/companies/",
          "method": "GET"
        }
      },
      "description": "Get companies registered from a specific date"
    },
    {
      "name": "Get Company Administrators by CUI",
      "value": "getAdministratorsByTaxId",
      "action": "Get company administrators by cui",
      "routing": {
        "request": {
          "url": "=/companies/{{$parameter.taxId}}/administrators",
          "method": "GET"
        }
      },
      "description": "Get company Administrators by its CUI"
    },
    {
      "name": "Get Company Emails by CUI",
      "value": "getEmailsByTaxId",
      "action": "Get company emails by cui",
      "routing": {
        "request": {
          "url": "=/companies/{{$parameter.taxId}}/emails",
          "method": "GET"
        }
      },
      "description": "Get company Emails by its CUI"
    },
    {
      "name": "Get Company Financial by CUI",
      "value": "getFinancialByTaxId",
      "action": "Get company financial by cui",
      "routing": {
        "request": {
          "url": "=/companies/{{$parameter.taxId}}/financial",
          "method": "GET"
        }
      },
      "description": "Get company financial information by its CUI"
    },
    {
      "name": "Get Company Phones by CUI",
      "value": "getPhonesByTaxId",
      "action": "Get company phones by cui",
      "routing": {
        "request": {
          "url": "=/companies/{{$parameter.taxId}}/phones",
          "method": "GET"
        }
      },
      "description": "Get company Phones by its CUI"
    },
    {
      "name": "Get Company Websites by CUI",
      "value": "getWebsitesByTaxId",
      "action": "Get company websites by cui",
      "routing": {
        "request": {
          "url": "=/companies/{{$parameter.taxId}}/websites",
          "method": "GET"
        }
      },
      "description": "Get company Websites by its CUI"
    }
  ]

npm_readme:
  # n8n-nodes-targetare

  ![n8n.io - Targetare.ro Node](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  A community node for [n8n](https://n8n.io) to integrate with the [Targetare.ro API](https://api.targetare.ro).  

  This node allows you to query company data from Targetare.ro, including registration information, financials, contacts, administrators, and more.

  ---

  ## Features

  ✅ Authenticate with your Targetare.ro API key  
  ✅ Get companies by registration date  
  ✅ Look up company by CUI (tax ID)  
  ✅ Retrieve financial data, phones, emails, administrators, websites for a given CUI

  ---

  ## Installation

  Make sure you have [n8n](https://n8n.io) installed locally or on your server.

  Install this community node in your n8n instance:

  ```bash
  npm install n8n-nodes-targetare

ai_documentation_summary:
  {"purpose":"Query company data from the Targetare.ro API to retrieve registration details, financials, contacts, administrators and related company information for use in n8n workflows.","capabilities":["Authenticate to Targetare.ro using an API key","Get companies by registration date","Lookup company by CUI (tax ID)","Retrieve financial data for a given CUI","Retrieve phone numbers for a given CUI","Retrieve email addresses for a given CUI","Retrieve administrators for a given CUI","Retrieve websites for a given CUI"],"authentication":"API key required","commonUseCases":["Enrich CRM records with official company registration data and contacts","Verify company identity by CUI (tax ID) before onboarding or transactions","Monitor and ingest newly registered companies by registration date","Fetch financial metrics for risk scoring and decision workflows","Automate outreach by extracting phones, emails, and websites for sales/marketing"],"limitations":[],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: gitadta
author_github_url: https://github.com/gitadta/cyberpulse-node-dev.git
npm_package_name: n8n-nodes-cyberpulse-compliance-dev
npm_version: 0.0.51
community_fetched_at: 2026-02-19T14:41:52.746Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "complianceControl",
      "options": [
        {
          "name": "Compliance Control",
          "value": "complianceControl"
        }
      ],
      "displayName": "Resource"
    },
    {
      "name": "operation",
      "type": "options",
      "default": "evaluate",
      "options": [
        {
          "name": "Evaluate",
          "value": "evaluate",
          "action": "Evaluate compliance control",
          "description": "Evaluate a control against frameworks"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "complianceControl"
          ]
        }
      }
    }
  ]

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

npm_readme:
  ## Try it in 60 seconds

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

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

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

  4) Click **Execute workflow**.


  ## Getting Started (3 steps)

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

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

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

  # CyberPulse Compliance (n8n Community Node)

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

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

  ---

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

  ---

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

  Example workflow:

  Add CyberPulse Compliance Node in your workflow

  Provide compliance control text or questionnaire input

  The node validates and classifies the response

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

  Example Input:

  PCI DSS Control 1.2 – Is a firewall deployed?


  Example Output:

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

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


  📜 License

  This project is licensed under the MIT License

ai_documentation_summary:
  {"purpose":"Evaluate a compliance control and its evidence, classify the control, map it against selected frameworks, and return a compliance score/status (Compliant / Partial / Non-Compliant) with notes and framework mappings.","capabilities":["Classify control text into categories (MFA, Encryption, Logging, Backups, Patching, Access Reviews)","Validate evidence links","Return compliance status: Compliant / Partial / Non-Compliant (with notes)","Map controls to major frameworks via an external crosswalk.json (ISO 27001, NIST CSF, PCI DSS, Essential Eight, GDPR, etc.)","Accept control text or questionnaire input and produce structured outputs for downstream nodes"],"authentication":"API key via HTTP header (HTTP Header Auth credential). Supported header examples: x-api-key: <KEY> or Authorization: Bearer <KEY>","commonUseCases":["Automated evaluation of compliance controls and evidence","Mapping controls to frameworks for audit preparation (ISO 27001, NIST CSF, PCI DSS, GDPR, etc.)","Scorecard/report generation and routing results to Google Sheets, Email, or dashboards","Automating questionnaire processing and producing remediation/notes"],"limitations":["Quota limits (free tier: 100 evaluations/month; paid tiers increase limits)","Rate limiting / burst limits (returns rate_limited with retry_after_seconds)","Missing API key returns auth_required error — requires Header Auth credential","Framework mapping relies on an external crosswalk.json (mapping depends on that file)"],"relatedNodes":["Google Sheets","Email","HTTP Request","Dashboard / Visualization"]}


node_type: n8n-nodes-autocalls.autocalls
package_name: n8n-nodes-autocalls
display_name: Autocalls
description: Make phone calls using AI assistants from Autocalls platform
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: zebi15
author_github_url: https://github.com/Zebi15/n8n-autocalls.git
npm_package_name: n8n-nodes-autocalls
npm_version: 1.0.3
community_fetched_at: 2026-02-19T14:41:52.747Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "call",
      "options": [
        {
          "name": "Call",
          "value": "call"
        },
        {
          "name": "Assistant",
          "value": "assistant"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "make",
      "options": [
        {
          "name": "Make",
          "value": "make",
          "action": "Make a phone call",
          "description": "Make a phone call using an AI assistant"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "call"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAssistants",
      "options": [
        {
          "name": "Get Assistants",
          "value": "getAssistants",
          "action": "Get assistants",
          "description": "Get all assistants from your account"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "assistant"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Make",
      "value": "make",
      "action": "Make a phone call",
      "description": "Make a phone call using an AI assistant"
    },
    {
      "name": "Get Assistants",
      "value": "getAssistants",
      "action": "Get assistants",
      "description": "Get all assistants from your account"
    }
  ]

npm_readme:
  # n8n-nodes-autocalls

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

  Autocalls is an AI-powered calling platform that enables you to automate phone calls using intelligent virtual assistants.

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

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

  ## Installation

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

  ## Operations

  This package provides the Autocalls node with a unified interface for both actions and triggers:

  ### Autocalls Node

  When you add the **Autocalls** node to your workflow, n8n will present you with a submenu to choose between:

  #### Actions (Regular Node)
  - **Call**: Make phone calls using AI assistants
    - **Make**: Initiate phone calls using AI assistants
      - Select an assistant from your Autocalls account (outbound assistants only)
      - Specify the phone number to call
      - Add variables with name/value pairs to customize the conversation

  - **Assistant**: Manage assistants
    - **Get Assistants**: Retrieve assistants from your Autocalls account
      - Fetches all assistants from your account
      - Returns each assistant as a separate item with details like name, ID, status, etc.
      - Regular action that can be used in any workflow

  #### Triggers (Trigger Node)
  - **Call**: Monitor phone call events
    - **Call Ended**: Receive notifications when phone calls end
      - Select an assistant to monitor
      - Receives call details including duration, status, and transcript
      - Gets extracted variables from the conversation
      - Provides input variables that were used
      - Real-time webhook notifications

  ## Credentials

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

  1. Sign up for an account at [Autocalls](https://app.autocalls.ai/)
  2. Generate an API key from your account settings
  3. In n8n, create new credentials of type "Autocalls API"
  4. Enter your API key

  The credentials are automatically validated when you save them.

  ## Compatibility

  - Minimum n8n version: 0.36.1
  - Tested with n8n version: 1.0.0+

  ## Usage

  ### Adding the Autocalls Node

  1. Add the **Autocalls** node to your workflow
  2. n8n will present you with a submenu to choose between **Action** and **Trigger**
  3. Select the type you need:
     - **Action**: For making phone calls (requires input connection)
     - **Trigger**: For receiving events or fetching data (no input connection needed)

  ### Using Actions

  #### Making Phone Calls

  1. Choose **Action** from the submenu
  2. Select **Resource**: Call, **Operation**: Make
  3. Choose an outbound assistant from the dropdown (assistants are loaded from your Autocalls account)
  4. Enter the phone number to call
  5. Add variables using the name/value interface to personalize the conversation (e.g., Name: "customer_name", Value: "John")

  #### Getting Assistants

  1. Choose **Action** from the submenu
  2. Select **Resource**: Assistant, **Operation**: Get Assistants
  3. The action will fetch all assistants from your account
  4. Each assistant will be returned as a separate item with details like name, ID, status, etc.
  5. Can be used like any regular action in your workflows

  ### Using Triggers

  The **Autocalls Call Ended Trigger** receives webhook notifications when phone calls are completed. This trigger provides real-time data about call outcomes, extracted variables, and conversation transcripts.

  #### What Data You Receive

  When a call ends, the trigger receives a webhook with the following information:

  - **Call Details**: ID, duration, status
  - **Phone Numbers**: Customer and assistant phone numbers
  - **Extracted Variables**: AI-extracted data from the conversation
  - **Input Variables**: Variables passed to the assistant before the call
  - **Transcript**: Full conversation transcript
  - **Recording URL**: Link to call recording (if enabled)
  - **Timestamps**: When the call started and ended
  - **Lead Information**: Lead and campaign details (for campaign calls)

  #### Setting Up the Trigger

  1. Choose **Trigger** from the submenu
  2. Select an assistant to monitor from the dropdown
  3. The trigger will automatically generate a webhook URL
  4. **Important**: You must manually register this webhook URL in your Autocalls assistant settings
  5. Go to your assistant settings in Autocalls dashboard
  6. Add the webhook URL ,enable webhook status and save the configuration

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Autocalls Documentation](https://docs.autocalls.ai/)
  * [Autocalls API Reference](https://docs.autocalls.ai/api-reference/)
  * [Autocalls Platform](https://app.autocalls.ai/)

ai_documentation_summary:
  {"purpose":"Provide n8n workflow nodes to make AI-driven phone calls using Autocalls assistants and to receive real-time call events (e.g., call ended) with transcripts and extracted data.","capabilities":["Call -> Make: initiate outbound phone calls using a selected outbound Autocalls assistant, specify destination phone number, and pass name/value variables to personalize the conversation","Assistant -> Get Assistants: fetch all assistants from the Autocalls account; returns each assistant as a separate item with details (name, ID, status, etc.)","Trigger -> Call Ended: webhook-based trigger for call-completion events that provides call details (ID, duration, status), phone numbers, extracted variables, input variables, transcript, recording URL (if enabled), timestamps, and lead/campaign info","Automatic loading of assistants into dropdowns for selection (when available)","Generates webhook URL for triggers (requires manual registration in Autocalls dashboard)"],"authentication":"API key required (provide Autocalls API key via n8n credentials type 'Autocalls API')","commonUseCases":["Automate outbound customer outreach or notifications using AI assistants","Trigger downstream workflows when calls complete (process transcripts, update CRM, create tickets)","Personalize calls by passing variables (e.g., customer name) into assistant conversations","Fetch and manage assistants from the Autocalls account to dynamically select which assistant to use","Store or analyze call transcripts and recordings for quality, analytics, or compliance"],"limitations":["Making calls supports outbound assistants only (must choose an outbound assistant)","Triggers require you to manually register the generated webhook URL in the Autocalls assistant settings","Recording URL is only provided if call recording is enabled in Autocalls","Requires n8n minimum version 0.36.1 (tested with 1.0.0+)"],"relatedNodes":[]}


node_type: @ekyte/n8n-nodes-ekyte.eKyteAction
package_name: @ekyte/n8n-nodes-ekyte
display_name: eKyte
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: lucassebold
author_github_url: https://github.com/ekyte/n8n-nodes-ekyte.git
npm_package_name: @ekyte/n8n-nodes-ekyte
npm_version: 1.1.0
community_fetched_at: 2026-02-19T14:41:52.753Z
description:
  Create and retrieve data from eKyte (tasks, projects, tickets, boards, workspaces, notes, notifications)

properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "task",
      "options": [
        {
          "name": "Board",
          "value": "board"
        },
        {
          "name": "Note",
          "value": "note"
        },
        {
          "name": "Notification",
          "value": "notifications"
        },
        {
          "name": "Project",
          "value": "project"
        },
        {
          "name": "Task",
          "value": "task"
        },
        {
          "name": "Ticket",
          "value": "ticket"
        },
        {
          "name": "Workspace",
          "value": "workspaces"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createBoard",
      "options": [
        {
          "name": "Create",
          "value": "createBoard",
          "action": "Create board",
          "description": "Create a new board for organizing notes and planning content"
        },
        {
          "name": "Get All",
          "value": "getBoards",
          "action": "Get all boards",
          "description": "Retrieve all boards accessible to the authenticated user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "board"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createNote",
      "options": [
        {
          "name": "Create",
          "value": "createNote",
          "action": "Create note",
          "description": "Create a new note inside a board with title, content, and category"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "note"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createProject",
      "options": [
        {
          "name": "Create",
          "value": "createProject",
          "action": "Create project",
          "description": "Create a new project to group related tasks and track progress"
        },
        {
          "name": "Get All",
          "value": "getProjects",
          "action": "Get all projects",
          "description": "Retrieve all projects accessible to the authenticated user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "project"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createTask",
      "options": [
        {
          "name": "Create",
          "value": "createTask",
          "action": "Create task",
          "description": "Create a new task in eKyte with title, dates, priority, and assignment"
        },
        {
          "name": "Get",
          "value": "getTask",
          "action": "Get task",
          "description": "Retrieve a single task by its unique ID"
        },
        {
          "name": "Get Many (with Filters)",
          "value": "getManyTasks",
          "action": "Get many tasks with filters",
          "description": "Search and filter tasks by title, status, workspace, executor, squad, project, or date range"
        },
        {
          "name": "Get Recent",
          "value": "getTasks",
          "action": "Get recent tasks",
          "description": "Get tasks created or updated in the last 15 minutes (basic info)"
        },
        {
          "name": "Get Recent (with Phase)",
          "value": "getTasksPhase",
          "action": "Get recent tasks with phase",
          "description": "Get tasks created or updated in the last 15 minutes including current phase/stage information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "task"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createTicket",
      "options": [
        {
          "name": "Create",
          "value": "createTicket",
          "action": "Create ticket",
          "description": "Create a new ticket with subject, type, priority, and requester information"
        },
        {
          "name": "Get Concluded",
          "value": "getTicketsClosed",
          "action": "Get concluded tickets",
          "description": "Get tickets that were concluded/closed in the last 15 minutes"
        },
        {
          "name": "Get Updated",
          "value": "getTicketsChanged",
          "action": "Get updated tickets",
          "description": "Get tickets that had any changes/updates in the last 15 minutes"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "ticket"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getNotifications",
      "options": [
        {
          "name": "Get All",
          "value": "getNotifications",
          "action": "Get all notifications",
          "description": "Retrieve all unread notifications for the specified user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "notifications"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "createWorkspace",
      "options": [
        {
          "name": "Create",
          "value": "createWorkspace",
          "action": "Create workspace",
          "description": "Create a new workspace for a team or department"
        },
        {
          "name": "Get All",
          "value": "getWorkspaces",
          "action": "Get all workspaces",
          "description": "Retrieve all workspaces accessible to the authenticated user"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workspaces"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "createBoard",
      "action": "Create board",
      "description": "Create a new board for organizing notes and planning content"
    },
    {
      "name": "Get All",
      "value": "getBoards",
      "action": "Get all boards",
      "description": "Retrieve all boards accessible to the authenticated user"
    },
    {
      "name": "Create",
      "value": "createNote",
      "action": "Create note",
      "description": "Create a new note inside a board with title, content, and category"
    },
    {
      "name": "Create",
      "value": "createProject",
      "action": "Create project",
      "description": "Create a new project to group related tasks and track progress"
    },
    {
      "name": "Get All",
      "value": "getProjects",
      "action": "Get all projects",
      "description": "Retrieve all projects accessible to the authenticated user"
    },
    {
      "name": "Create",
      "value": "createTask",
      "action": "Create task",
      "description": "Create a new task in eKyte with title, dates, priority, and assignment"
    },
    {
      "name": "Get",
      "value": "getTask",
      "action": "Get task",
      "description": "Retrieve a single task by its unique ID"
    },
    {
      "name": "Get Many (with Filters)",
      "value": "getManyTasks",
      "action": "Get many tasks with filters",
      "description": "Search and filter tasks by title, status, workspace, executor, squad, project, or date range"
    },
    {
      "name": "Get Recent",
      "value": "getTasks",
      "action": "Get recent tasks",
      "description": "Get tasks created or updated in the last 15 minutes (basic info)"
    },
    {
      "name": "Get Recent (with Phase)",
      "value": "getTasksPhase",
      "action": "Get recent tasks with phase",
      "description": "Get tasks created or updated in the last 15 minutes including current phase/stage information"
    },
    {
      "name": "Create",
      "value": "createTicket",
      "action": "Create ticket",
      "description": "Create a new ticket with subject, type, priority, and requester information"
    },
    {
      "name": "Get Concluded",
      "value": "getTicketsClosed",
      "action": "Get concluded tickets",
      "description": "Get tickets that were concluded/closed in the last 15 minutes"
    },
    {
      "name": "Get Updated",
      "value": "getTicketsChanged",
      "action": "Get updated tickets",
      "description": "Get tickets that had any changes/updates in the last 15 minutes"
    },
    {
      "name": "Get All",
      "value": "getNotifications",
      "action": "Get all notifications",
      "description": "Retrieve all unread notifications for the specified user"
    },
    {
      "name": "Create",
      "value": "createWorkspace",
      "action": "Create workspace",
      "description": "Create a new workspace for a team or department"
    },
    {
      "name": "Get All",
      "value": "getWorkspaces",
      "action": "Get all workspaces",
      "description": "Retrieve all workspaces accessible to the authenticated user"
    }
  ]


node_type: n8n-nodes-bookstack.bookstack
package_name: n8n-nodes-bookstack
display_name: BookStack
description: Manage BookStack resources
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: lucaguindani
author_github_url: https://github.com/lucaguindani/
npm_package_name: n8n-nodes-bookstack
npm_version: 1.1.0
community_fetched_at: 2026-02-19T14:41:52.754Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "global",
      "options": [
        {
          "name": "Book",
          "value": "book"
        },
        {
          "name": "Chapter",
          "value": "chapter"
        },
        {
          "name": "Global",
          "value": "global"
        },
        {
          "name": "Page",
          "value": "page"
        },
        {
          "name": "Shelf",
          "value": "shelf"
        }
      ],
      "description": "The BookStack resource to work with",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "book"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "page"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "shelf"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "chapter"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Global search"
        },
        {
          "name": "Audit Log",
          "value": "auditLogList",
          "action": "Audit log"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "global"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Global search"
    },
    {
      "name": "Audit Log",
      "value": "auditLogList",
      "action": "Audit log"
    }
  ]

npm_readme:
  # n8n-nodes-bookstack

  [![CI](https://github.com/lucaguindani/n8n-nodes-bookstack/actions/workflows/ci.yml/badge.svg)](https://github.com/lucaguindani/n8n-nodes-bookstack/actions/workflows/ci.yml)

  This is an n8n community node that lets you use BookStack in your n8n workflows. The [n8n](https://n8n.io/) project is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.

  BookStack is an open source, self‑hosted documentation / knowledge base platform for organizing and sharing content via books, chapters, pages, and shelves.

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Resources](#resources)
  - [License](#license)
  - [Contributing](#contributing)
  - [Security](#security)
  - [Disclaimer](#disclaimer)

  ---
  ## Installation

  ### Community node
  Follow the official guide: [Install a community node](https://docs.n8n.io/integrations/community-nodes/installation/).

  ### Manual (custom code folder)
  If you are running a self‑hosted n8n and want to build from source:
  ```bash
  # Go to your n8n custom folder
  mkdir -p ~/.n8n/custom && cd ~/.n8n/custom

  # Clone the repository
  git clone https://github.com/lucaguindani/n8n-nodes-bookstack.git
  cd n8n-nodes-bookstack

  # Install dependencies & build
  pnpm install
  pnpm run build

  # Restart n8n so the node is loaded
  ```
  After restart, search for "BookStack" in the node picker.

  ---
  ## Operations
  The node exposes CRUD + search and audit capabilities for core BookStack entities.

  Resource: Book
  - Get Many / Get / Create / Update / Delete

  Resource: Page
  - Get Many / Get / Create / Update / Delete

  Resource: Chapter
  - Get Many / Get / Create / Update / Delete

  Resource: Shelf
  - Get Many / Get / Create / Update / Delete

  Resource: Global
  - Search / Audit Log

  ---
  ## Credentials
  You need a BookStack API Token.
  1. In BookStack, open: My Account → Access & Security (`/my-account/auth`)
  2. Create a token; copy Token ID and Token Secret
  3. In n8n, create new credentials of type "Bookstack API":
     - Base URL: e.g. `https://your-bookstack.example.com/api`
     - Token ID
     - Token Secret
  4. Save and use in the node

  Required permission: The token inherits the permissions of the user who created it. Ensure that user can read/create/update intended entities. Audit Log requires permission to manage both users and system settings.

  ---
  ## Compatibility
  Tested with:
  - n8n 1.109+
  - Bookstack 24.5+
  - Node 20+

  ---
  ## Usage
  ### Listing (Get Many)
  - Return All: When enabled, the node will automatically paginate through all results.
  - Limit: When "Return All" is disabled, sets the maximum number of items to return.
  - Sort By / Sort Direction
  - Filters (field, operation, value)

  Internally, the node handles pagination (count/offset) for you when needed.

  ### Global Search
  - Provide a search query and optionally pick a content type (book, page, chapter, shelf)
  - "Return All" / "Limit" to control the amount of results
  - "Deep Dive" to automatically fetch full content for all search results. This provides complete context but increases execution time and API calls.

  ### Tags
  When creating/updating entities, `tags` can be provided as a comma‑separated list: `tagA, tagB`.

  ### Error Handling
  Common errors are formatted for clarity:
  - 401: credentials invalid
  - 403: insufficient permissions
  - 404: resource not found
  - 422: validation issue
  - 429: rate limit

  ---
  ## Resources
  * n8n Community Nodes Docs: https://docs.n8n.io/integrations/#community-nodes
  * BookStack Documentation: https://www.bookstackapp.com/docs/
  * BookStack API Reference: https://demo.bookstackapp.com/api/docs
  * BookStack GitHub: https://github.com/BookStackApp/BookStack

  ---
  ## License
  This project is licensed under the MIT License – see [LICENSE.md](./LICENSE.md).

  ---
  ## Contributing
  To lunch a local instance, make sure Node 18+ is installed, then run the following from the root directory of the project.

  ```bash
  pnpm install
  pnpm run dev
  ```

  You should be able to connect to `http://localhost:5678`.

  Pull requests are welcome. For significant changes, open an issue first to discuss scope.

  Before committing, ensure build passes and no lint or formatting errors are found.

  ```bash
  pnpm run lint
  pnpm run format
  pnpm run build
  ```

  Please provide a clear PR description.

  ---
  ## Security
  Do not commit BookStack credentials. Tokens inherit user permissions—consider creating a dedicated low‑privilege API user.

  ---
  ## Disclaimer
  This community node is not an official BookStack product. Use at your own risk; validate results in critical workflows.

ai_documentation_summary:
  {"purpose":"Provides n8n workflow actions to manage BookStack documentation resources (books, chapters, pages, shelves) and perform global search and audit operations against a BookStack instance.","capabilities":["Books: Get Many, Get, Create, Update, Delete","Pages: Get Many, Get, Create, Update, Delete","Chapters: Get Many, Get, Create, Update, Delete","Shelves: Get Many, Get, Create, Update, Delete","Global: Search (with optional content type filter) and Audit Log access","Pagination handling (Return All / Limit, automatic count/offset pagination)","Sorting and filtering support for list operations","Global Search Deep Dive: fetch full content for search results","Tag handling when creating/updating entities (comma-separated list)","Formatted error reporting for common HTTP errors (401/403/404/422/429)"],"authentication":"BookStack API token (Token ID + Token Secret) configured via n8n 'Bookstack API' credentials with the BookStack API Base URL. Token inherits the permissions of the creating user.","commonUseCases":["Automate creation and updates of books, chapters, pages, and shelves from other systems","Bulk list, filter, and export BookStack content (using pagination/Return All)","Perform global search across documentation and optionally fetch full page content (Deep Dive)","Monitor or fetch Audit Log entries for change tracking and compliance","Organize content using tags provided during create/update operations"],"limitations":["Community node (not an official BookStack product) — use at your own risk","Requires a BookStack API token; token permissions depend on the user who created it (ensure appropriate permissions for read/create/update/delete and for audit log access)","Audit Log access requires permission to manage users and system settings","Deep Dive option increases execution time and number of API calls","Subject to BookStack API behavior and rate limits (429) and tested compatibility constraints: n8n 1.109+, BookStack 24.5+, Node 20+"],"relatedNodes":[]}


node_type: @decodo/n8n-nodes-decodo.decodo
package_name: @decodo/n8n-nodes-decodo
display_name: Decodo
description: Decodo's Web Scraping API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: decodo
author_github_url: https://github.com/Decodo/n8n-nodes-decodo.git
npm_package_name: @decodo/n8n-nodes-decodo
npm_version: 1.9.1
community_fetched_at: 2026-02-19T14:41:52.768Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "universal",
      "options": [
        {
          "name": "Universal",
          "value": "universal",
          "action": "Scrape using Universal target"
        },
        {
          "name": "Google Search",
          "value": "google_search",
          "action": "Scrape using Google Search target"
        },
        {
          "name": "Amazon",
          "value": "amazon",
          "action": "Scrape using Amazon target"
        },
        {
          "name": "YouTube Transcript",
          "value": "youtube_transcript",
          "action": "Scrape using YouTube Transcript target"
        },
        {
          "name": "Reddit Subreddit",
          "value": "reddit_subreddit",
          "action": "Scrape using Reddit Subreddit target"
        }
      ],
      "required": true,
      "description": "Decodo Scraper API supported target",
      "displayName": "Target",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Universal",
      "value": "universal",
      "action": "Scrape using Universal target"
    },
    {
      "name": "Google Search",
      "value": "google_search",
      "action": "Scrape using Google Search target"
    },
    {
      "name": "Amazon",
      "value": "amazon",
      "action": "Scrape using Amazon target"
    },
    {
      "name": "YouTube Transcript",
      "value": "youtube_transcript",
      "action": "Scrape using YouTube Transcript target"
    },
    {
      "name": "Reddit Subreddit",
      "value": "reddit_subreddit",
      "action": "Scrape using Reddit Subreddit target"
    }
  ]

npm_readme:
  # Decodo n8n Node

  This repository provides an n8n integration for **Decodo's Web Scraping API**, a powerful web scraping tool that automatically bypasses blocks and bot protection to extract data from any target URL. It's designed for developers and startups looking to automate data collection workflows from platforms like Google, eCommerce sites, and job boards.

  [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform that lets you connect apps, APIs, and services to build automated workflows with minimal effort.

  ## Features

  - **Easy integration**. Plug the Decodo's n8n node into existing workflows to start scraping with minimal setup.
  - **Bypassing CAPTCHAs, rate-limits, and IP bans**. Automatic handling of common anti-bot defenses.
  - **Geo-targeting**. Request region-specific results from websites that restrict content based on location.
  - **Rotating proxy support to avoid IP bans**. Built-in proxy rotation to keep requests distributed and persistent.
  - **Structured data output**. Get results in JSON or Markdown formats for easy readability and further analysis.

  ## Installation

  Decodo is an official node integrated into n8n. To use it, simply:

  1. Open the nodes panel.

  <img src="docs/n8n-node-tab.png" width="500px">

  2. Search for "Decodo" to find the node.

  <img src="docs/n8n-decodo-search.png" width="500px">

  3. Click **+ Add to workflow**.

  <img src="docs/n8n-decodo-add-to-workflow.png" width="500px">

  ### Obtaining a Decodo account

  The node requires a [Decodo Web Scraping API](https://decodo.com/scraping) Advanced plan. You can get started with a free trial on the [dashboard](https://dashboard.decodo.com/).

  Once you have a plan activated, take a note of your generated authentication token from the [Web Scraping API page](https://dashboard.decodo.com/web-scraping-api/scraper):

  <img src="docs/decodo_dashboard_auth.png" width="500px">

  ### Setting up credentials on n8n

  1. Open the credentials window on n8n.

  <img src="docs/creds_01.png" width="500px">

  2. Create a new credential.

  <img src="docs/creds_02.png" width="500px">

  3. Find the _Decodo Credentials API_.

  <img src="docs/creds_03.png" width="500px">

  4. Enter your authentication token.

  <img src="docs/n8n_auth.png" width="500px">

  ## Using the node

  The node can be used in 2 ways - as an individual HTTP request node, or a tool for an AI agent.

  ### Individual node

  To use the Decodo node by itself, connect it to an existing workflow. Once you add it, you can set the target **URL** and **Geolocation**.

  <img src="docs/n8n-decodo-node-config.png" width="500px">

  The node requests the target URL through a proxy in the chosen location, scrapes the page, and returns the response for use by downstream nodes such as the **HTML** node to extract content. Below is an example setup:

  <img src="docs/n8n-decodo-workflow.png" width="500px">

  ### AI agent tool

  You can connect the Decodo node to the AI Agent node as a tool. You don't need to modify anything inside the node. Here's what a simple setup would look like:

  <img src="docs/n8n_setup.png" width="500px">

  With this setup, you can prompt the agent to scrape a website in order to extract information. The prompt must be detailed and specific to return the best results.

  **Bad prompt example**

  If your AI model does not have access to the most recent web information, the following question may fail:

  ```
  Who won the NBA in 2025?
  ```

  **Good prompt example**

  The question is more likely to be answered by updating the prompt with an instruction to scrape a reliable source:

  ```
  Scrape Wikipedia and tell me who won the NBA in 2025.
  ```

  ## Parameters

  When used as an AI tool, most parameters can be inferred automatically from messages, for example:

  | Parameter  | Description                                    | Example message                                                         |
  | ---------- | ---------------------------------------------- | ----------------------------------------------------------------------- |
  | `url`      | The target URL to scrape                       | Scrape Wikipedia and tell me the article of the day.                    |
  | `headless` | Render JS when scraping                        | Scrape https://ip.decodo.com/json with JS rendering.                    |
  | `geo`      | The country name from which to scrape          | Scrape https://ip.decodo.com/json with United States geolocation.       |
  | `markdown` | Receive Markdown type responce instead of HTML | Scrape https://ip.decodo.com/json and return result in markdown format. |

  If used as an individual node, all parameters can be manually configured by double-clicking on the node.

  ## Development & releases

  ### Contribution

  To contribute to this node:

  1. Install n8n globally in your development machine.

  ```
  npm install n8n -g
  ```

  2. Pull this repository.

  ```
  git clone https://github.com/Decodo/n8n-nodes-decodo.git

  ```

  3. Navigate to the downloaded folder and build it.

  ```
  cd n8n-nodes-decodo
  npm install
  npm run build
  ```

  4. Inside the project folder, run `npm link` after building to make your local build of `@decodo/n8n-nodes-decodo` available in the local npm registry.
  5. Inside `~/.n8n/custom`, run `npm link @decodo/n8n-nodes-decodo`.

  See this [documentation page](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally) for more information.

  ### Automated releases

  This project uses automated releases via GitHub Actions and semantic-release. When code is merged into the `main` branch, the following happens automatically:

  1. **Semantic analysis**. Commit messages are analyzed to determine the type of release (patch, minor, major).
  2. **Version bump**. The version in `package.json` is automatically updated.
  3. **NPM publish**. The package is built and published to npm as `@decodo/n8n-nodes-decodo`.
  4. **GitHub release**. A GitHub release is created with automatically generated release notes.
  5. **Git tag**. A git tag is created for the new version.

  ### Required secrets

  For automated releases to work, the following GitHub repository secrets must be configured:

  - `NPM_TOKEN`. An npm access token with publish permissions for the `@decodo` organization.
  - `GITHUB_TOKEN`. Automatically provided by GitHub Actions (no setup required).

  ### Commit message format

  To trigger releases, use conventional commit messages:

  - `feat: new feature` → Minor version bump
  - `fix: bug fix` → Patch version bump
  - `feat!: breaking change` or `BREAKING CHANGE:` in footer → Major version bump
  - `docs:`, `style:`, `refactor:`, `test:`, `chore:` → No release

  ## Compatibility

  The Decodo node has been developed and tested with:

  - Node.js v22.17.0
  - n8n nodes API version 1
  - [n8n-workflow](https://www.npmjs.com/package/n8n-workflow) v1.82.0

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [Decodo's Web Scraping API documentation](https://help.decodo.com/docs/web-scraping-api-introduction)

  ## Further reading

  - [Complete guide for building n8n web scraping automations](https://decodo.com/blog/n8n-web-scraping-automation)

ai_documentation_summary:
  {"purpose":"An n8n integration for Decodo's Web Scraping API that lets workflows scrape web pages (including sites with anti-bot protections) via rotating proxies and geo-targeting, returning structured results for downstream processing or AI agents.","capabilities":["Send scraping requests to a target URL through Decodo's proxy infrastructure","Automatically bypass CAPTCHAs, rate-limits, and IP bans","Geo-targeting: request pages from a specified country/region","Rotating proxy support to distribute requests and avoid bans","Render JavaScript (headless) when scraping pages","Return structured output in JSON or Markdown formats","Operate as an individual node (manual configuration) or as a tool for the AI Agent node","Parameters available: url, headless, geo, markdown (can be inferred when used as an AI tool)"],"authentication":"API key / authentication token required (Decodo Web Scraping API token configured via n8n credentials)","commonUseCases":["Automated data collection from search engines, eCommerce sites, job boards, and other target websites","Feeding fresh web data to AI agents by connecting the node as a tool to the AI Agent node","Scraping region-specific content using geo-targeting for localized results","Scraping JavaScript-rendered pages and passing results to HTML or other downstream nodes for parsing","Avoiding blocks and IP bans during high-volume scraping using rotating proxies"],"limitations":["Requires a Decodo Web Scraping API Advanced plan (paid account or trial with plan activation)","When used as an AI tool, prompts must be detailed and specific to get reliable results","Response formats are limited to JSON or Markdown (no other output formats documented)"],"relatedNodes":["AI Agent node","HTML node","HTTP Request-like node (used individually in workflows)"]}


node_type: n8n-nodes-browseract.browserAct
package_name: n8n-nodes-browseract
display_name: BrowserAct
description: browserAct description
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: xing-lin
author_github_url: https://github.com/browseract-ai/
npm_package_name: n8n-nodes-browseract
npm_version: 1.3.0
community_fetched_at: 2026-02-19T14:41:52.769Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "workflow",
      "options": [
        {
          "name": "Workflow",
          "value": "workflow"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "runWorkflow",
      "options": [
        {
          "name": "Run a Workflow",
          "value": "runWorkflow",
          "action": "Run a workflow"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "workflow"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Run a Workflow",
      "value": "runWorkflow",
      "action": "Run a workflow"
    }
  ]

npm_readme:
  # n8n Nodes - BrowserAct Integration

  This is an n8n community node that integrates [BrowserAct](https://www.browseract.com/) with your n8n workflows.

  [BrowserAct](https://www.browseract.com/) is a platform for anyone to launch AI-powered crawling tasks with one click to automate web crawling, data extraction, and content generation—without coding. while [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation tool that allows you to connect various services.

  ## Table of Contents

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

  ## Installation

  To install this community node, please follow the official [n8n community node installation guide](https://docs.n8n.io/integrations/community-nodes/installation/).

  ## Operations

  This node supports a wide range of BrowserAct operations, including:

  - **Run Agent**
    - Start the specified Agent crawler task to obtain the crawled web page data or structured results.
  - **Run Workflow**
    - Execute the specified BrowserAct Workflow, supporting multi-step task orchestration and data processing.

  ## Credentials

  To use a BrowserAct node, you need to complete the following steps:

  1. Create a free account at [BrowserAct.com](https://browseract.com/).

  2. Log in to BrowserAct and visit the "Integrations" page to create your API key.

  3. In n8n, add your `BrowserActApi` to the node's Credentials configuration.

  ⚠️ **Note:** The API key is sensitive information. Please keep it secure and never share it publicly.

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [BrowserAct API Documentation](http://www.browseract.com/docs-api)

ai_documentation_summary:
  {"purpose":"Integrates BrowserAct with n8n to launch AI-powered web crawling and data extraction tasks and to execute BrowserAct workflows from n8n automation flows.","capabilities":["Run Agent — start a specified BrowserAct Agent crawler to obtain crawled web page data or structured results","Run Workflow — execute a specified BrowserAct Workflow for multi-step task orchestration and data processing"],"authentication":"API key required (add BrowserActApi credentials in n8n)","commonUseCases":["Trigger crawlers to fetch web pages and feed results into n8n workflows","Extract structured data from websites and pass it to downstream nodes","Use BrowserAct Workflows to perform multi-step data processing as part of an automated pipeline","Automate content generation or site scraping tasks without writing code"],"limitations":[],"relatedNodes":[]}


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-02-19 14:41:52
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-02-19T14:41:52.769Z
ai_summary_generated_at: 2026-02-19 16:43:57
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":"Trigger node that creates and manages JSONPost webhooks to start n8n workflows when an endpoint receives data (commonly used for form submissions and other webhook events).","capabilities":["Automatically create a webhook subscription on workflow activation","Delete/cleanup webhook subscription when workflow is deactivated","Receive webhook data in real time and output full payload","Subscribe/filter by HTTP event type (POST, GET, PUT, DELETE)","Expose webhook details in outputs: body, headers, query, method, timestamp","Use API key credentials to authenticate with JSONPost"],"authentication":"API key required","commonUseCases":["Start workflows when a form or endpoint receives data (webhook-driven automation)","Filter and route incoming requests by HTTP method (POST/GET/PUT/DELETE)","Extract and forward webhook payloads to other services via HTTP Request nodes","Log or persist incoming webhook data and notify teams (e.g., Email node)"],"limitations":["Community-maintained and not officially supported by n8n or JSONPost","Requires a JSONPost Endpoint ID and API key; limited to JSONPost endpoints","Event filtering limited to the listed HTTP methods (POST, GET, PUT, DELETE)","No mention of advanced webhook security (e.g., signature verification) or additional auth methods"],"relatedNodes":["HTTP Request","Set","Email","Other webhook/trigger nodes"]}


node_type: n8n-nodes-twittershots.twitterShots
package_name: n8n-nodes-twittershots
display_name: TwitterShots
description: Get Tweet screenshots from TwitterShots API
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  {
  "type": "main",
  "required": true
  }
  ]

updated_at: 2026-02-19 14:41:52
author_name: wuxinhua
author_github_url: https://github.com/0xinhua/
npm_package_name: n8n-nodes-twittershots
npm_version: 0.3.0
community_fetched_at: 2026-02-19T14:41:52.770Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "tweetScreenshot",
      "options": [
        {
          "name": "Tweet Screenshot",
          "value": "tweetScreenshot"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get a tweet screenshot",
          "description": "Get a screenshot of a tweet"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "tweetScreenshot"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Get",
      "value": "get",
      "action": "Get a tweet screenshot",
      "description": "Get a screenshot of a tweet"
    }
  ]

npm_readme:
  ![n8n TwitterShots node image](./n8n-TwitterShots-node.png)

  # n8n-nodes-twittershots

  A n8n node lets you easily screenshot X (Twitter) posts in your workflows with TwitterShots API.

  - [TwitterShots](https://twittershots.com/) is professional X/Tweet screenshot generator.
  - [n8n](https://n8n.io/) is a fair-code licensed workflow automation platform.

  ## Features

  - Multiple output formats (SVG, PNG, HTML)
  - Light/Dark theme support
  - Customizable logo options (X, bluebird, or none)
  - Configurable display options (full text, timestamp, view count, statistics)
  - Simple API integration

  ## Authentication

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

  1. Visit [TwitterShots account](https://twittershots.com/account/settings) to get your API key
  2. Add your API key to n8n credentials

  For detailed information about API credentials and parameters, please refer to the [API Documentation](https://twittershots.com/docs/api).

  ## Usage

  1. Search TwitterShots and add TwitterShots node to your workflow
  2. Select "Tweet Screenshot" resource
  3. Select "Get a tweet screenshot" action
  4. Create TwitterShots API credentials
  5. Select Tweet Screenshot Resource
  6. Enter the tweet ID and configure output format and display options
  7. Run the workflow to get your screenshot

  ## Dev and test node local

  ### Prerequisites

  You need the following installed on your development machine:

  * [git](https://git-scm.com/downloads)
  * Node.js and npm. Minimum version Node 20. You can find instructions on how to install both using nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
  * Install n8n with:
    ```
    npm install n8n -g
    ```
  * Recommended: follow n8n's guide to [set up your development environment](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/).

  1.Clone your new repo

    ```
    git clone https://github.com/0xinhua/n8n-nodes-twittershots
    ```

  2.When you are ready to test your node, publish it locally

  ```
  # In your n8n-nodes-twittershots directory
  npm i
  npm run build
  npm link
  ```

  3. Install the node into your local n8n instance:

  ```
  ~/.n8n/custom/

  # In the nodes directory within your n8n installation
  npm link n8n-nodes-twittershots
  ```

  4.Start n8n:

  ```
  n8n start
  ```

  5.Open n8n in your browser. You should see TwitterShots nodes when you search for them in the nodes panel.

  Checkout full docs [test n8n node](https://docs.n8n.io/integrations/creating-nodes/build/declarative-style-node/#test-your-node).

  ### Issues

  If you need help or have any questions:

  - Check the [API Documentation](https://twittershots.com/docs/api)
  - Email us at support@twittershots.com
  - Create an issue on [GitHub Issues](https://github.com/0xinhua/n8n-nodes-twittershots/issues)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Generate screenshots of X (Twitter) posts from n8n workflows using the TwitterShots API.","capabilities":["Get a tweet screenshot by tweet ID","Multiple output formats: SVG, PNG, HTML","Light and dark theme selection","Customizable logo options: X, bluebird, or none","Configurable display options: full text, timestamp, view count, statistics","Simple API integration for returning image/HTML output into workflows"],"authentication":"API key required (TwitterShots API key added to n8n credentials)","commonUseCases":["Archive tweets as images for records or compliance","Embed tweet screenshots in emails, reports, or Slack messages","Automatically generate social-media-ready images from tweets for reposting","Include tweet screenshots in newsletters, blogs, or documentation","Automate capture of tweet content for monitoring or auditing"],"limitations":["Node focuses solely on generating tweet screenshots (the README shows only the 'Tweet Screenshot' resource and 'Get a tweet screenshot' action) — it does not provide broader Twitter API actions (posting, full metadata fetches, etc.)","README does not document rate limits, pricing, or advanced API behaviors; refer to TwitterShots API docs for those details"],"relatedNodes":[]}


node_type: n8n-nodes-oxylabs-ai-studio.oxylabsAiStudio
package_name: n8n-nodes-oxylabs-ai-studio
display_name: Oxylabs AI Studio
description: Interact with Oxylabs AI Studio API
category: Community
development_style: declarative
version: 1
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: oxybrain
author_github_url: https://github.com/oxylabs/n8n-nodes-oxylabs-ai-studio
npm_package_name: n8n-nodes-oxylabs-ai-studio
npm_version: 0.1.5
community_fetched_at: 2026-02-19T14:41:52.772Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "scraper",
      "options": [
        {
          "name": "Browser Agent",
          "value": "browserAgent"
        },
        {
          "name": "Crawler",
          "value": "crawler"
        },
        {
          "name": "Map",
          "value": "map"
        },
        {
          "name": "Scraper",
          "value": "scraper"
        },
        {
          "name": "Search",
          "value": "search"
        }
      ],
      "required": true,
      "description": "Choose the resource to use",
      "displayName": "Resource",
      "noDataExpression": true
    }
  ]

npm_readme:
  # n8n-nodes-oxylabs-ai-studio

  This is an n8n community node. It lets you use Oxylabs Ai Studio Apps in your n8n workflows.


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

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

  ## Installation

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

  ## Credentials

  Sign up and get API KEY from [here](https://aistudio.oxylabs.io/settings/api-key)

  ## Compatibility

  node was tested against version `1.100.1`.

  ## Resources

  The node includes four resources: Scraper, Crawler, Browser Agent, and Search. These correspond directly to the same applications available in Oxylabs AI Studio’s [web apps](https://aistudio.oxylabs.io/apps).

  The parameters are nearly identical to those offered by the official SDKs ([Javscript](https://www.npmjs.com/package/oxylabs-ai-studio) and [Python](https://pypi.org/project/oxylabs-ai-studio/)).

  An additional parameter not found in the web interface is `render_javascript`, which is especially useful for handling websites that rely on JavaScript for rendering content.


  ## Usage

  - Scraper is useful for extracting information from a specific URL without getting blocked.

  - Crawler is ideal for scanning an entire domain to collect URLs and their content in order to locate specific information.

  - Search helps retrieve the latest information related to a particular query.

  - Browser Agent controls a remote browser and can perform interactions, such as logging into an app and clicking buttons, making it valuable for scenarios that require user-like actions.



  ## Version history

  - 0.1.0: First version released

ai_documentation_summary:
  {"purpose":"Provides access to Oxylabs AI Studio apps from n8n workflows, enabling scraping, crawling, search and remote browser automation via the Oxylabs AI Studio API.","capabilities":["Scraper: extract information from a specific URL with anti-blocking measures","Crawler: scan domains to collect URLs and page content","Browser Agent: control a remote browser to perform interactions (logins, clicks, form submissions, user-like actions)","Search: retrieve latest information related to a query","Supports a render_javascript parameter for handling JS-rendered pages","Parameters mirror the official Oxylabs AI Studio SDKs (JavaScript/Python) for rich configuration"],"authentication":"API key required (Oxylabs AI Studio API key)","commonUseCases":["Extract structured data from a single URL while avoiding blocks","Crawl a site or domain to collect pages and locate specific content","Perform query-based searches to get up-to-date information","Automate browser-based interactions such as logging into apps and clicking buttons"],"limitations":[],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: payfunnels
author_github_url: https://github.com/Payfunnels/
npm_package_name: n8n-nodes-payfunnels
npm_version: 0.2.0
community_fetched_at: 2026-02-19T14:41:52.786Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "payment",
      "options": [
        {
          "name": "Payment",
          "value": "payment"
        },
        {
          "name": "Subscription",
          "value": "subscription"
        },
        {
          "name": "One Time Setup Fee",
          "value": "oneTimeSetupFees"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List payments",
          "description": "List payments"
        },
        {
          "name": "Refund",
          "value": "refund",
          "action": "Refund payment",
          "description": "Refund a payment"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "payment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List subscriptions",
          "description": "List subscriptions"
        },
        {
          "name": "Cancel",
          "value": "cancel",
          "action": "Cancel subscription",
          "description": "Cancel a subscription"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "subscription"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "List",
          "value": "list",
          "action": "List one time setup fees",
          "description": "Retrieves a list of one time setup fees based on filters like page and limit"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "oneTimeSetupFees"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "List",
      "value": "list",
      "action": "List payments",
      "description": "List payments"
    },
    {
      "name": "Refund",
      "value": "refund",
      "action": "Refund payment",
      "description": "Refund a payment"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List subscriptions",
      "description": "List subscriptions"
    },
    {
      "name": "Cancel",
      "value": "cancel",
      "action": "Cancel subscription",
      "description": "Cancel a subscription"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List one time setup fees",
      "description": "Retrieves a list of one time setup fees based on filters like page and limit"
    }
  ]

npm_readme:
  # n8n-nodes-payfunnels

  This is the official n8n community node for [PayFunnels](https://www.payfunnels.com/).

  PayFunnels—an all-in-one online payment solution and platform. Collect payments, manage subscriptions, and engage customers seamlessly.

  By using this node, you will be able to integrate Payfunnels events in your n8n workflows.

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

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

  ## Installation

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

  ## Operations

  ### Payment Link
  - Payment Link Created
  - Payment Link Updated
  - Payment Link Deleted

  ### Payment
  - Payment Success
  - Payment Failed
  - First Recurring Payment
  - Refund Payment
  - List Payments

  ### Subscription
  - List Subscriptions
  - Cancel Subscription


  ## Credentials

  You can obtain the credentials from your Payfunnels dashboard. Go to `Billings -> Integrations -> n8n`.

  ## Resources

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

ai_documentation_summary:
  {"purpose":"Integrate PayFunnels into n8n workflows to receive PayFunnels events and manage payments and subscriptions (collect payments, handle refunds, and react to payment-link lifecycle events).","capabilities":["Payment Link Created (trigger)","Payment Link Updated (trigger)","Payment Link Deleted (trigger)","Payment Success (trigger)","Payment Failed (trigger)","First Recurring Payment (trigger)","Refund Payment (trigger)","List Payments (action)","List Subscriptions (action)","Cancel Subscription (action)"],"authentication":"API credentials obtained from the PayFunnels dashboard (Billings -> Integrations -> n8n) — API credential-based authentication required","commonUseCases":["Trigger automated workflows when a payment link is created, updated, or deleted","React to payment outcomes (success, failure) to update CRMs, send receipts, or notify teams","Handle first recurring payments and refund events for accounting and customer support workflows","List payments for reconciliation, reporting, or downstream processing","List and cancel subscriptions from within automation workflows"],"limitations":["Subscription management is limited to listing and canceling — no create/update subscription operations documented","Payment Link support appears limited to event triggers (no documented actions to create or modify payment links)","README provides only minimal credential setup instructions (no detailed auth flow or example keys shown)"],"relatedNodes":[]}


node_type: n8n-nodes-tazzoai.tazzoAi
package_name: n8n-nodes-tazzoai
display_name: Tazzo.ai
description: Trigger a call via Tazzo.ai voice agent
category: Community
development_style: declarative
version: 1
operations:
  [
  {
  "name": "Trigger",
  "value": "trigger",
  "action": "Start a call"
  }
  ]

credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: np_tazzo
author_github_url: https://github.com/TazzoAI/
npm_package_name: n8n-nodes-tazzoai
npm_version: 0.2.1
community_fetched_at: 2026-02-19T14:41:52.787Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "call",
      "options": [
        {
          "name": "Call",
          "value": "call"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "trigger",
      "options": [
        {
          "name": "Trigger",
          "value": "trigger",
          "action": "Start a call"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

npm_readme:
  # n8n-nodes-tazzoai

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

  Tazzo.ai is a voice agent platform that enables automated outbound voice calls with AI-powered conversational agents.

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

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

  Or install directly via npm:

  ```bash
  npm install n8n-nodes-tazzoai
  ```

  Or via the n8n UI:
  * Go to **Settings > Community Nodes**
  * Click **Install a Community Node**
  * Enter: `n8n-nodes-tazzoai`

  ## Operations

  * **Trigger Outbound Call** - Initiate outbound voice calls using Tazzo.ai's voice agents

  ## Credentials

  Before using the node, set up your Tazzo.ai login credentials:

  * Go to **Credentials > Create New**
  * Select: **Tazzo.ai API**
  * Fill in:
     * **Email** – your Tazzo.ai account email
     * **Password** – your Tazzo.ai account password
  * Click **Save**


  ## Usage

  ### Using the Node in a Workflow

  * Drag the **Tazzo.ai** node into your workflow
  * Select the credentials you just created
  * Provide the required input parameters:
     * **Agent ID** – ID of the agent who will make the call
     * **Contact Number** – the phone number to be dialed
  * (Optional) Connect it with a trigger node like Webhook or Schedule
  * Run the workflow

  ✅ This will trigger an outbound voice call via the Tazzo.ai platform.

  ### Sample Output

  ```json
  [
    {
      "message": "Call originated successfully",
      "data": {
        "channelId": "12345678-abcd-efgh-ijkl-9876543210ab",
        "callType": "Outbound",
        "outboundNumber": "9988776655",
        "extension": "1122334455",
        "agentId": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
        "campaignBody": {
          "contactNumber": "9988776655",
          "agentId": "abcd1234-5678-90ef-ghij-klmnopqrstuv",
          "originateEndpoint": "1122334455"
        }
      }
    }
  ]
  ```

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Source Code](https://github.com/TazzoAI/n8n-nodes-tazzoai)
  * [npm Package](https://www.npmjs.com/package/n8n-nodes-tazzoai)

  **Maintainer**: Legitbytes  
  **License**: MIT © 2025 Legitbytes

ai_documentation_summary:
  {"purpose":"Initiate outbound voice calls from n8n workflows using Tazzo.ai conversational voice agents; use a selected agent to dial a contact number and start an AI-powered call.","capabilities":["Trigger Outbound Call to originate a voice call via a specified Tazzo.ai agent","Specify Agent ID for the agent that will make the call","Provide Contact Number (phone number to dial)","Return call metadata on success (channelId, callType, outboundNumber, extension, agentId, campaignBody)","Integrate with n8n trigger nodes (e.g., Webhook or Schedule) to automate call initiation"],"authentication":"Tazzo.ai API credentials (Email and Password) created in n8n Credentials","commonUseCases":["Automated outbound notifications and reminders (appointments, alerts)","Outbound voice campaigns (surveys, customer outreach, telemarketing)","Triggering verification or OTP calls programmatically","Kick off calls from webhooks or scheduled workflows to notify users"],"limitations":["Node provides a single operation (Trigger Outbound Call); no inbound call handling described","No built‑in call control features (transfer, hold, IVR designing) documented","Authentication is email/password credentials; no OAuth2 or token-based flow documented","No explicit support documented for call status callbacks, delivery receipts, rate limits, or monitoring within the node"],"relatedNodes":["Webhook Trigger","Schedule (Cron) Trigger","HTTP Request (for advanced/custom API interactions)","Tazzo.ai API credentials entry in n8n Credentials"]}


node_type: @2chat/n8n-nodes-twochat.twoChat
package_name: @2chat/n8n-nodes-twochat
display_name: 2Chat
description: Sends data to 2Chat
category: Community
development_style: declarative
version: 0.3.0
properties_schema: []
operations: []
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: 2chat_integrations
author_github_url: https://github.com/2ChatCo/2chat-n8n.git
npm_package_name: @2chat/n8n-nodes-twochat
npm_version: 0.3.0
community_fetched_at: 2026-02-19T14:41:52.797Z
ai_summary_generated_at: 2026-02-19 16:43:57
npm_readme:
  # n8n-nodes-twochat

  This is an n8n community node. It lets you use 2Chat WhatsApp API in your n8n workflows.

  2Chat is a conversational commerce automation platform that makes WhatsApp Messenger and WhatsApp Business programmable through a unified API.

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

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

  ## Installation

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

  ```
  npm install n8n-nodes-twochat
  ```

  ## Operations

  ### Message Resource
  - **Send Message**: Send WhatsApp messages to individual contacts
    - Support for text messages
    - Support for media attachments (images, documents, etc.)
    - Support for location pins

  - **Send Message to group**: Send WhatsApp messages to groups
  	- Support for text messages
    - Support for media attachments (images, documents, etc.)
    - Support for location pins

  ### Phone Number Resource
  - **Check Number**: Verify if a phone number is registered on WhatsApp
    - Get detailed information about the number (region, carrier, timezone)
    - Check if the number is a business account
    - Get business profile information when available

  ## Triggers 
  - **WhatsApp Message Events**: Listen for message events
  	- New Message: Triggers when a new message is either sent or received on 2Chat. Works for messages sent by agents or your users/customers.
    - Message Received: Triggers when a WhatsApp message is received on your 2Chat connected number
  	- Message Sent: Triggers when a WhatsApp message is sent from your 2Chat connected number
  	- New Conversation: Triggers when a new WhatsApp Conversation is started within the specified time period.
  	- Message Edited: Triggers when a message is edited. It will also trigger for group messages being edited
  	- Reaction Recieved: Triggers when a WhatsApp message is reacted to

  - **WhatsApp Calls**: Listen for WhatsApp calls events
  	- Call Made: Triggers when a new WhatsApp call is made
  	- Call Received: Triggers when a new WhatsApp call is received or missed on your connected number

  - **WhatsApp group**: Listen for WhatsApp group events
  	- Message Received: Triggers when a new WhatsApp Group Message is received on the configured group
    - Participant Join: Triggers when someone joins a group
    - Participant Left: Triggers when someone leaves a group
  	- Participant Removed: Triggers when someone is kicked/removed from a group
  	- Message Reaction Received: Triggers when a group participant reacts to a message

  - **Phone Calls**: Listen for phone calls events
  	- Incoming completed: Triggers when an incoming phone call is completed (answered or missed)
  	- Oubound Completed: Triggers when an outbound phone call is completed (answered or failed)
  	- Status Update: Triggers when a phone call status changes (e.g., ringing, answered, ended)

  ## Credentials

  You need to create a 2Chat account and get an API key to use this node.

  1. Create a 2Chat account at [2Chat.co](https://2chat.co)
  2. Connect a WhatsApp channel in the channels section
  3. Get an API key from the developers section
  4. Use this API key in the n8n credentials for the 2Chat node

  ## Compatibility

  - Requires n8n version 1.0.0 or later

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [2Chat API Documentation](https://developers.2chat.co/docs/intro)

ai_documentation_summary:
  {"purpose":"Provides an n8n integration to send and receive WhatsApp messages and events via the 2Chat API, enabling conversational commerce workflows inside n8n.","capabilities":["Send Message (individual contact) — text, media attachments (images, documents, etc.), location pins","Send Message to Group — text, media attachments, location pins","Check Phone Number — verify WhatsApp registration; return region, carrier, timezone, business account flag, business profile info","Trigger: WhatsApp Message Events — New Message, Message Received, Message Sent, New Conversation, Message Edited, Reaction Received","Trigger: WhatsApp Calls — Call Made, Call Received (or missed)","Trigger: WhatsApp Group Events — Group Message Received, Participant Join, Participant Left, Participant Removed (kicked), Message Reaction Received","Trigger: Phone Call Events — Incoming Completed, Outbound Completed, Call Status Update"],"authentication":"API key required (create a 2Chat account, connect a WhatsApp channel, obtain API key from 2Chat developers section and add to n8n credentials)","commonUseCases":["Send automated WhatsApp notifications or media to customers or groups","Receive and route incoming WhatsApp messages into workflows (support tickets, CRM updates, chatbots)","Verify phone numbers before onboarding or transactional messaging","Trigger workflows from WhatsApp events (calls, group changes, message reactions)","Integrate WhatsApp conversations with other systems (CRMs, databases, helpdesk)"],"limitations":["Requires a 2Chat account and a connected WhatsApp channel to operate","Requires n8n version 1.0.0 or later"],"relatedNodes":[]}


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

updated_at: 2026-02-19 14:41:52
author_name: mjfk
author_github_url: https://github.com/moorcheh-ai/
npm_package_name: n8n-nodes-moorcheh
npm_version: 0.1.3
community_fetched_at: 2026-02-19T14:41:52.798Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "namespace",
      "options": [
        {
          "name": "Answer",
          "value": "answer"
        },
        {
          "name": "Document",
          "value": "document"
        },
        {
          "name": "Namespace",
          "value": "namespace"
        },
        {
          "name": "Search",
          "value": "search"
        },
        {
          "name": "Vector",
          "value": "vector"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "list",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a new namespace",
          "description": "Create a new namespace"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List all namespaces",
          "description": "List all namespaces"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete a namespace",
          "description": "Delete a namespace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "namespace"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload documents to a namespace",
          "description": "Upload documents to a namespace"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get documents from a namespace",
          "description": "Get documents from a namespace"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete documents from a namespace",
          "description": "Delete documents from a namespace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "document"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "upload",
      "options": [
        {
          "name": "Upload",
          "value": "upload",
          "action": "Upload vectors to a namespace",
          "description": "Upload vectors to a namespace"
        },
        {
          "name": "Delete",
          "value": "delete",
          "action": "Delete vectors from a namespace",
          "description": "Delete vectors from a namespace"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "vector"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "search",
      "options": [
        {
          "name": "Search",
          "value": "search",
          "action": "Search across namespaces",
          "description": "Search across namespaces"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "search"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "generate",
      "options": [
        {
          "name": "Generate",
          "value": "generate",
          "action": "Generate AI answer based on namespace content",
          "description": "Generate AI answer based on namespace content"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "answer"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a new namespace",
      "description": "Create a new namespace"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List all namespaces",
      "description": "List all namespaces"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete a namespace",
      "description": "Delete a namespace"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload documents to a namespace",
      "description": "Upload documents to a namespace"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get documents from a namespace",
      "description": "Get documents from a namespace"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete documents from a namespace",
      "description": "Delete documents from a namespace"
    },
    {
      "name": "Upload",
      "value": "upload",
      "action": "Upload vectors to a namespace",
      "description": "Upload vectors to a namespace"
    },
    {
      "name": "Delete",
      "value": "delete",
      "action": "Delete vectors from a namespace",
      "description": "Delete vectors from a namespace"
    },
    {
      "name": "Search",
      "value": "search",
      "action": "Search across namespaces",
      "description": "Search across namespaces"
    },
    {
      "name": "Generate",
      "value": "generate",
      "action": "Generate AI answer based on namespace content",
      "description": "Generate AI answer based on namespace content"
    }
  ]

npm_readme:
  # n8n-nodes-moorcheh

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

  This is an [n8n](https://n8n.io/) Official node interfacing with [Moorcheh](https://moorcheh.ai).

  Moorcheh is a powerful vector store and AI platform that enables semantic search, document storage, and AI-powered question answering across your data.

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

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

  ### Namespace Operations
  - **[Create](https://console.moorcheh.ai/docs/create-namespace/api-call)**: Create a new namespace for storing documents or vectors
  - **[List](https://console.moorcheh.ai/docs/list-namespaces/api-call)**: List all available namespaces
  - **[Delete](https://console.moorcheh.ai/docs/delete-namespace/api-call)**: Delete a namespace and all its contents

  ### Document Operations
  - **[Upload](https://console.moorcheh.ai/docs/upload-text-data/api-call)**: Upload documents to a namespace for semantic search
  - **[Get](https://console.moorcheh.ai/docs/get-documents/api-call)**: Retrieve specific documents by their IDs
  - **[Delete](https://console.moorcheh.ai/docs/delete-data/api-call)**: Delete documents from a namespace

  ### Vector Operations
  - **[Upload](https://console.moorcheh.ai/docs/upload-vector-data/api-call)**: Upload vector embeddings to a namespace
  - **[Delete](https://console.moorcheh.ai/docs/delete-data/api-call)**: Delete vectors from a namespace

  ### Search Operations
  - **[Search](https://console.moorcheh.ai/docs/search/api-call)**: Perform semantic search across namespaces using text queries or vector embeddings

  ### Answer Operations
  - **[Generate](https://console.moorcheh.ai/docs/gen-ai-answer/api-call)**: Generate AI-powered answers based on namespace content using various LLM models

  ## Credentials

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

  1. Sign up for a Moorcheh account at [console.moorcheh.ai](https://console.moorcheh.ai)
  2. Navigate to your API settings
  3. Generate an API key
  4. Use the API key in the Moorcheh credentials in n8n

  ## Compatibility

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

  ## Usage

  ### Creating a Namespace
  1. Select the "Namespace" resource
  2. Choose "Create" operation
  3. Enter a namespace name
  4. Select the type (Text or Vector)
  5. For vector namespaces, specify the vector dimension

  ### Uploading Documents
  1. Select the "Document" resource
  2. Choose "Upload" operation
  3. Enter the namespace name
  4. Add documents with ID, text content, and optional metadata

  ### Searching Content
  1. Select the "Search" resource
  2. Choose "Search" operation
  3. Enter your query (text or comma-separated vector values)
  4. Specify target namespaces
  5. Set top_k and threshold parameters

  ### Generating AI Answers
  1. Select the "Answer" resource
  2. Choose "Generate" operation
  3. Enter the namespace name
  4. Provide your question
  5. Select an AI model and configure parameters

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  * [Moorcheh API Documentation](https://console.moorcheh.ai/docs)
  * [Moorcheh Console](https://console.moorcheh.ai)

ai_documentation_summary:
  {"purpose":"An n8n community node for interacting with the Moorcheh Vector Store API to manage namespaces, upload and retrieve documents/vectors, perform semantic search, and generate AI-powered answers from stored content.","capabilities":["Create, list, and delete namespaces","Upload documents (with ID, text content, and optional metadata) to a namespace","Retrieve documents by ID","Delete documents from a namespace","Upload vector embeddings to a namespace","Delete vectors from a namespace","Perform semantic search using text queries or vector embeddings (configurable top_k and threshold)","Generate AI-powered answers from namespace content using selectable LLM models and model parameters"],"authentication":"API key required (Moorcheh API key configured in n8n credentials)","commonUseCases":["Indexing and storing documents for semantic search","Uploading and managing vector embeddings for custom vector stores","Performing semantic search across one or more namespaces","Building question-answering workflows that generate answers from stored documents using LLMs","Automating namespace lifecycle (create, list, delete) and data cleanup (delete docs/vectors)"],"limitations":["Requires n8n version 1.0.0 or later","Requires Node.js version 20.15 or later"],"relatedNodes":[]}


node_type: n8n-nodes-contextualai.contextualAi
package_name: n8n-nodes-contextualai
display_name: Contextual AI
description: Access Contextual AI tools for agents, parsing, querying, and reranking.
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: jinash_rouniyar1
author_github_url: https://github.com/ContextualAI/
npm_package_name: n8n-nodes-contextualai
npm_version: 0.1.10
community_fetched_at: 2026-02-19T14:41:52.798Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "Agent",
      "options": [
        {
          "name": "Agent",
          "value": "Agent"
        },
        {
          "name": "Datastore",
          "value": "Datastore"
        },
        {
          "name": "Query",
          "value": "Query"
        },
        {
          "name": "Reranker",
          "value": "Reranker"
        },
        {
          "name": "LMUnit",
          "value": "LMUnit"
        },
        {
          "name": "Parser",
          "value": "Parser"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Agent",
      "options": [
        {
          "name": "Create Agent",
          "value": "Create Agent",
          "action": "Create Agent",
          "description": "Create agent, datastore, and upload documents"
        },
        {
          "name": "List Agents",
          "value": "List Agents",
          "action": "List Agents",
          "description": "Retrieve a list of all agents"
        },
        {
          "name": "Delete Agent",
          "value": "Delete Agent",
          "action": "Delete Agent",
          "description": "Delete a given agent (irreversible operation)"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Agent"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Parse Document",
      "options": [
        {
          "name": "Parse Document",
          "value": "Parse Document",
          "action": "Parse Document",
          "description": "Parse a document using Contextual AI parser"
        },
        {
          "name": "Parse Status",
          "value": "Parse Status",
          "action": "Parse Status",
          "description": "Get the status of a parse job"
        },
        {
          "name": "Parse Result",
          "value": "Parse Result",
          "action": "Parse Result",
          "description": "Get the results of a parse job"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Parser"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Query agent",
      "options": [
        {
          "name": "Query agent",
          "value": "Query agent",
          "action": "Query agent",
          "description": "Query a Contextual AI agent"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Query"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Rerank documents",
      "options": [
        {
          "name": "Rerank documents",
          "value": "Rerank documents",
          "action": "Rerank documents",
          "description": "Rerank documents against a query"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Reranker"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Run LMUnit",
      "options": [
        {
          "name": "Run LMUnit",
          "value": "Run LMUnit",
          "action": "Run LMUnit",
          "description": "Evaluate a response with LMUnit"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "LMUnit"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "Create Datastore",
      "options": [
        {
          "name": "Create Datastore",
          "value": "Create Datastore",
          "action": "Create Datastore",
          "description": "Create a new datastore"
        },
        {
          "name": "Ingest Document",
          "value": "Ingest Document",
          "action": "Ingest Document",
          "description": "Ingest a document into a datastore"
        },
        {
          "name": "Get Document Metadata",
          "value": "Get Document Metadata",
          "action": "Get Document Metadata",
          "description": "Get metadata and processing status for a document"
        },
        {
          "name": "List Datastores",
          "value": "List Datastores",
          "action": "List Datastores",
          "description": "Retrieve a list of all datastores"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "Datastore"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create Agent",
      "value": "Create Agent",
      "action": "Create Agent",
      "description": "Create agent, datastore, and upload documents"
    },
    {
      "name": "List Agents",
      "value": "List Agents",
      "action": "List Agents",
      "description": "Retrieve a list of all agents"
    },
    {
      "name": "Delete Agent",
      "value": "Delete Agent",
      "action": "Delete Agent",
      "description": "Delete a given agent (irreversible operation)"
    },
    {
      "name": "Parse Document",
      "value": "Parse Document",
      "action": "Parse Document",
      "description": "Parse a document using Contextual AI parser"
    },
    {
      "name": "Parse Status",
      "value": "Parse Status",
      "action": "Parse Status",
      "description": "Get the status of a parse job"
    },
    {
      "name": "Parse Result",
      "value": "Parse Result",
      "action": "Parse Result",
      "description": "Get the results of a parse job"
    },
    {
      "name": "Query agent",
      "value": "Query agent",
      "action": "Query agent",
      "description": "Query a Contextual AI agent"
    },
    {
      "name": "Rerank documents",
      "value": "Rerank documents",
      "action": "Rerank documents",
      "description": "Rerank documents against a query"
    },
    {
      "name": "Run LMUnit",
      "value": "Run LMUnit",
      "action": "Run LMUnit",
      "description": "Evaluate a response with LMUnit"
    },
    {
      "name": "Create Datastore",
      "value": "Create Datastore",
      "action": "Create Datastore",
      "description": "Create a new datastore"
    },
    {
      "name": "Ingest Document",
      "value": "Ingest Document",
      "action": "Ingest Document",
      "description": "Ingest a document into a datastore"
    },
    {
      "name": "Get Document Metadata",
      "value": "Get Document Metadata",
      "action": "Get Document Metadata",
      "description": "Get metadata and processing status for a document"
    },
    {
      "name": "List Datastores",
      "value": "List Datastores",
      "action": "List Datastores",
      "description": "Retrieve a list of all datastores"
    }
  ]

npm_readme:
  # n8n-nodes-contextualai

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

  Contextual AI provides enterprise-grade RAG (Retrieval-Augmented Generation) agents, advanced document parsing, intelligent querying, and document reranking capabilities for building sophisticated AI-powered applications.

  [Contextual AI](https://contextual.ai) is a platform for building enterprise-grade AI applications with advanced RAG capabilities, while [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

  ## Table of contents

  - [Installation on self hosted instance](#installation-self-hosted)
  - [Installation on n8n cloud](#installation-n8n-cloud)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Resources](#resources)
  - [Troubleshooting](#troubleshooting)  

  ## Installation (self-hosted)

  To install the Contextual AI 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-contextualai` to install the latest version.
  5. Agree to the [risks](https://docs.n8n.io/integrations/community-nodes/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 **Contextual AI** in the community node registry.
  3. Click **Install node** to add the Contextual AI 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 Contextual AI node, make sure the installation of verified community nodes is enabled.


  ## Operations

  This node supports a comprehensive range of Contextual AI operations, organized by resource type:

  ### Agent
  - **Create agent**: Create a new Contextual AI RAG agent with datastore and upload documents
    - Configure agent name, description, and datastore settings
    - Upload multiple documents via binary data
    - Support for various document formats (PDF, DOC/DOCX, PPT/PPTX)
    - Automatic document processing and indexing
  - **List agents**: Retrieve a list of all agents in your Contextual AI account
    - View agent details and metadata
    - Check agent status and configuration
  - **Delete agent**: Remove an agent from your Contextual AI account
    - Permanent deletion of agent and associated data
    - Requires agent ID for confirmation

  ### Datastore
  - **Create datastore**: Create a new datastore for document storage
    - Configure datastore name and settings
    - Set up document storage and indexing
  - **Ingest document**: Upload and process documents into a datastore
    - Support for multiple document formats (PDF, DOC/DOCX, PPT/PPTX, HTML)
    - Optional metadata attachment
    - Batch processing capabilities
  - **Get document metadata**: Retrieve metadata for a specific document
    - Document information and processing status
    - Metadata and indexing details
  - **List datastores**: Retrieve a list of all datastores in your account
    - View datastore details and configuration
    - Check datastore status and document counts

  ### Query
  - **Query agent**: Query existing Contextual AI agents with intelligent retrieval
    - Natural language querying capabilities
    - Optional retrieval-only mode
    - Document readiness checking
    - Contextual response generation
    - Retrieval content inclusion

  ### Parser  
  - **Parse document**: Parse documents using Contextual AI's advanced document parser
    - Support for PDF, DOC/DOCX, PPT/PPTX files
    - Configurable parsing modes (standard)
    - Figure caption extraction (concise/detailed)
    - Document hierarchy preservation
    - Page range selection
    - Returns job ID for status monitoring
  - **Parse status**: Check the status of a document parsing job
    - Monitor parsing progress
    - Retrieve parsed results when completed
    - Track job status and file information
  - **Parse result**: Get the results of a completed parse job
    - Retrieve parsed content in multiple formats (markdown-document, markdown-per-page, blocks-per-page)
    - Access document metadata and hierarchy information
    - Get structured content blocks with confidence levels and bounding boxes

  ### Reranker
  - **Rerank documents**: Rank documents according to their relevance to a query
    - Instruction-following reranker technology
    - Custom instruction support
    - Metadata integration
    - Relevance scoring and ranking

  ### LMUnit
  - **Run LMUnit**: Evaluate model responses using Contextual AI's scoring system
    - Automated response evaluation
    - Custom unit test criteria
    - Scoring from 1-5 scale
    - Quality assessment and validation

  ### AI Tools Integration

  All Contextual AI node operations can be combined with n8n's AI tools to create powerful workflows.
  For example, you can ingest documents into a datastore, create an agent from that information, and then query over the documents for grounded responses and citations.

  ## Credentials

  This node requires a Contextual AI API key for authentication.

  ### Prerequisites
  - Sign up for a free trial of Contextual AI account at [app.contextual.ai](https://app.contextual.ai)
  - Obtain your API key from the Contextual AI dashboard

  ### Setup
  1. In n8n, go to **Credentials**
  2. Add a new **"Contextual AI API"** credential
  3. Enter your API key in the **API Key** field
  4. Optionally add a **Name** for easy identification
  5. Click **Save** to store the credential

  ### Authentication Methods

  The node supports API key authentication:
  - **API Key**: Configure your Contextual AI API key in the n8n credentials section under `ContextualAiApi`
  - **Security**: API keys are securely stored and encrypted in n8n's credential system

  ## Compatibility

  This node has been tested with n8n version 1.57.0 and is compatible with:

  - **n8n version**: 1.0.0 or later
  - **Node.js version**: 20.15 or later
  - **Contextual AI API**: Latest version

  ## Usage

  ### Getting Started

  1. **Set up credentials**: Configure your Contextual AI API key in n8n credentials
  2. **Create a workflow**: Start a new workflow in n8n
  3. **Add the Contextual AI node**: Insert the Contextual AI node into your workflow
  4. **Select an operation**: Choose the desired operation for your use case
  5. **Execute the workflow**: Run the workflow to perform the Contextual AI operation

  ### Creating an Agent with Documents

  1. Add the Contextual AI node to your workflow
  2. Select **"Agent"** as the resource and **"Create agent"** as the operation
  3. Configure your agent settings:
     - **Agent Name**: Give your agent a descriptive name
     - **Description**: Provide a brief description of the agent's purpose
     - **Datastore Name**: Specify the datastore name for document storage
  4. Provide documents via binary data (supports multiple files)
  5. Configure document processing options if needed
  6. Execute to create the agent and upload documents

  ### Datastore Management

  1. **Create a datastore**:
     - Select **"Datastore"** as the resource and **"Create datastore"** as the operation
     - Enter a datastore name
     - Execute to create the datastore and receive the datastore ID

  2. **Upload documents**:
     - Select **"Ingest document"** as the operation
     - Provide the datastore ID and document files via binary data
     - Optionally add metadata as JSON
     - Execute to upload and process documents

  3. **Using data connectors (Optional)**:
     > **Note**: To use source connectors for your datastore, you need to configure them in the [Contextual AI platform](https://app.contextual.ai) first, then use that datastore in your n8n workflow.
     
     - **Step 1**: Configure connectors in the [Contextual AI platform](https://app.contextual.ai)
       - Go to Datastores → Create → Select "Third-Party Connection"
       - Choose your data source (Google Drive, SharePoint)
       - Authorize and select specific folders to sync
       - Wait for initial sync to complete (status shows "Synced" with green checkmark)
     - **Step 2**: Use the connector datastore in your n8n workflow
       - Copy the datastore ID from the platform
       - Use this ID when creating agents or querying in n8n
       - The datastore will automatically stay in sync with your source data
     - **Benefits**: No manual document uploads, automatic permissions enforcement, real-time data updates

  4. **Manage documents**:
     - Use **"List datastores"** to view all datastores
     - Use **"Get document metadata"** to retrieve specific document information

  ### Querying an Agent

  1. Select **"Query"** as the resource and **"Query agent"** as the operation
  2. Enter the **Agent ID** and your **Query**
  3. Configure query options:
     - Enable **retrieval-only mode** for document search without generation
     - Include **retrieval content text** for context
     - Set **document readiness** checking
  4. Execute to get the agent's response

  ### Document Reranking

  1. Select **"Reranker"** as the resource and **"Rerank documents"** as the operation
  2. Provide a **Query** and **comma-separated list of documents**
  3. Configure reranking options:
     - Add **custom instructions** for ranking criteria
     - Include **metadata** for enhanced ranking
  4. Execute to get ranked results with relevance scores

  ### Response Evaluation

  1. Select **"LMUnit"** as the resource and **"Run LMUnit"** as the operation
  2. Provide the required inputs:
     - **Original Query**: The question that was asked
     - **Model Response**: The response to evaluate
     - **Unit Test Criteria**: The criteria for evaluation
  3. Execute to get a score from 1-5 on the unit test

  ### Document Parsing

  1. Select **"Parser"** as the resource and **"Parse document"** as the operation
  2. Provide a document file via binary data
  3. Configure parsing options:
     - **Parse Mode**: Choose parsing mode (standard)
     - **Figure Caption Mode**: Choose caption extraction (concise/detailed)
     - **Enable Document Hierarchy**: Preserve document structure
     - **Page Range**: Specify pages to parse (e.g., "0-5")
  4. Execute to submit the parse job and receive a job ID
  5. Use **"Parse status"** operation with the job ID to monitor progress and retrieve results


  ### Advanced Workflow Examples

  - **Document Processing Pipeline**: Parse documents → Create datastore → Ingest documents → Create agent → Query agent
  - **Quality Assurance**: Query agent → Evaluate response with LMUnit
  - **Content Optimization**: Rerank documents → Parse top results → Create refined agent
  - **Batch Document Processing**: List datastores → Ingest multiple documents → Monitor processing status
  - **Agent Management**: List agents → Delete unused agents → Create new agents with updated documents

  ## Resources

  * [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Contextual AI Documentation](https://docs.contextual.ai)
  * [Contextual AI API Reference](https://docs.contextual.ai/api-reference)

  ## Troubleshooting

  ### Common issues

  1. **Authentication errors**
     - Verify your API key is correct and active
     - Check if your Contextual AI account has sufficient permissions
     - Ensure the API key hasn't expired

  2. **Agent Not Found**
     - Verify the agent ID format is correct
     - Check if the agent exists in your Contextual AI account
     - Ensure you have access to the agent

  3. **Document parsing failures**
     - Verify the document format is supported (PDF, DOC/DOCX, PPT/PPTX)
     - Check file size limits
     - Ensure the document isn't corrupted or password-protected

  4. **Query operation failures**
     - Verify the agent ID is correct
     - Check if the agent is ready (documents processed)
     - Review query format and parameters

  5. **Reranking errors**
     - Ensure documents are provided in the correct format
     - Check query and document content validity
     - Verify custom instructions are properly formatted

  6. **Parse job failures**
     - Verify the job ID format is correct (should be a UUID)
     - Check if the parse job exists and hasn't expired
     - Ensure the original document was valid and supported

  7. **Datastore operation failures**
     - Verify datastore ID format is correct (should be a UUID)
     - Check if the datastore exists in your account
     - Ensure you have proper permissions for the datastore

  ### Getting help

  If you encounter issues:
  1. Check the [Contextual AI API documentation](https://docs.contextual.ai/api-reference)
  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/contextual-ai/n8n-nodes-contextualai)

ai_documentation_summary:
  {"purpose":"Provides access to Contextual AI services from n8n workflows to build retrieval-augmented generation (RAG) agents, parse and index documents, run intelligent queries, rerank results, and evaluate model outputs.","capabilities":["Create agent (create RAG agent, configure datastore, upload multiple documents via binary, support PDF/DOC/DOCX/PPT/PPTX)","List agents (retrieve agent list, details, status and metadata)","Delete agent (permanently remove agent and associated data by ID)","Create datastore (configure datastore name and settings for storage and indexing)","Ingest document (upload/process documents into datastore; supports PDF, DOC/DOCX, PPT/PPTX, HTML; optional metadata; batch processing)","Get document metadata (retrieve processing status, metadata, indexing details)","List datastores (view datastore details, configuration, status, document counts)","Query agent (natural-language querying, retrieval-only mode, contextual response generation, include retrieval content, document readiness checking)","Parse document (advanced parser with page range selection, figure caption extraction, document hierarchy preservation; returns job ID)","Parse status (monitor parsing job progress and status)"],"authentication":"API key required (Contextual AI API key stored in n8n credentials under ContextualAiApi)","commonUseCases":["Ingest and index enterprise documents for RAG-powered assistants","Create and manage RAG agents that answer queries over uploaded documents","Run natural-language queries against agents with grounded, citation-ready responses","Parse documents into structured content (markdown per page, blocks, metadata) for downstream processing","Rerank search results or retrievals to improve relevance using custom instructions"],"limitations":[],"relatedNodes":["n8n AI tools (integration with n8n's AI nodes)"]}


node_type: @paloaltonetworks/n8n-nodes-prisma-airs.prismaAirs
package_name: @paloaltonetworks/n8n-nodes-prisma-airs
display_name: Prisma AIRS
description: Scan AI prompts and responses for security threats using Prisma AIRS
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  {
  "type": "main"
  }
  ]

updated_at: 2026-02-19 14:41:52
author_name: btorresgil
author_github_url: https://github.com/jroberts2600/n8n-nodes-prisma-airs.git
npm_package_name: @paloaltonetworks/n8n-nodes-prisma-airs
npm_version: 0.2.2
community_fetched_at: 2026-02-19T14:41:52.799Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "operation",
      "type": "options",
      "default": "promptScan",
      "options": [
        {
          "name": "Batch Scan",
          "value": "batchScan",
          "action": "Perform batch scanning of multiple items",
          "description": "Scan multiple items in a single operation (up to 5)"
        },
        {
          "name": "Dual Scan",
          "value": "dualScan",
          "action": "Perform dual scanning of prompt and response",
          "description": "Scan both prompt and response in sequence"
        },
        {
          "name": "Mask Data",
          "value": "maskData",
          "action": "Scan and mask sensitive data",
          "description": "Scan and mask sensitive data in content"
        },
        {
          "name": "Prompt Scan",
          "value": "promptScan",
          "action": "Scan a prompt for security threats",
          "description": "Scan user input/prompts for security threats"
        },
        {
          "name": "Response Scan",
          "value": "responseScan",
          "action": "Scan a response for policy violations",
          "description": "Scan AI-generated responses for policy violations"
        }
      ],
      "displayName": "Operation",
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Batch Scan",
      "value": "batchScan",
      "action": "Perform batch scanning of multiple items",
      "description": "Scan multiple items in a single operation (up to 5)"
    },
    {
      "name": "Dual Scan",
      "value": "dualScan",
      "action": "Perform dual scanning of prompt and response",
      "description": "Scan both prompt and response in sequence"
    },
    {
      "name": "Mask Data",
      "value": "maskData",
      "action": "Scan and mask sensitive data",
      "description": "Scan and mask sensitive data in content"
    },
    {
      "name": "Prompt Scan",
      "value": "promptScan",
      "action": "Scan a prompt for security threats",
      "description": "Scan user input/prompts for security threats"
    },
    {
      "name": "Response Scan",
      "value": "responseScan",
      "action": "Scan a response for policy violations",
      "description": "Scan AI-generated responses for policy violations"
    }
  ]

npm_readme:
  # Prisma AIRS n8n Community Node

  A production-ready n8n community node for integrating with Palo Alto Networks Prisma AIRS (AI Runtime Security) API. This node enables you to scan AI prompts and responses for security threats directly within your n8n workflows.

  ## Features

  - **Multiple Scan Operations**: Prompt scanning, response scanning, dual scanning, batch scanning, and data masking
  - **Batch Processing**: Scan up to 5 items in a single operation for efficiency
  - **Data Masking**: Automatically detect and mask sensitive data in content
  - **Contextual Grounding**: Validate AI responses against provided context (up to 100K characters)
  - **Dynamic Profile Selection**: Override security profiles per scan using profile name or UUID
  - **Sync & Async Support**: Both synchronous (2MB limit) and asynchronous (5MB limit) scanning
  - **Regional Support**: US, EU (Germany), India, and Custom region endpoints
  - **Flexible Profile Management**: Use API key with linked profile or specify profile name/UUID
  - **Attribution Metadata**: Automatic n8n workflow context (workflowId, workflowName, executionId, executionMode) 
  - **Production-Ready**: Comprehensive error handling, retry logic, and timeout management
  - **Security-First**: Secure credential storage and API key management
  - **Real-time Monitoring**: Async scan polling with exponential backoff

  ## Installation

  ### Prerequisites

  - n8n instance (version 1.0+)
  - Prisma AIRS API access with valid API key
  - Access to Strata Cloud Manager to configure AI security profiles

  ### For End Users

  #### Option 1: Install via n8n Community Nodes (Recommended)
  1. Open your n8n instance
  2. Go to **Settings** → **Community Nodes**
  3. Search for `prisma airs`
  4. Click **Install**
  5. Restart n8n

  #### Option 2: Install via npm
  ```bash
  npm install @paloaltonetworks/n8n-nodes-prisma-airs
  ```

  ### For Developers & Testing

  #### Local Development Setup
  1. **Clone and Build**
     ```bash
     git clone https://github.com/PaloAltoNetworks/n8n-nodes-prisma-airs.git
     cd n8n-nodes-prisma-airs
     npm install
     npm run build
     ```

  2. **Link to n8n**
     ```bash
     # For local n8n installation
     ln -s $(pwd) ~/.n8n/custom/n8n-nodes-prisma-airs
     
     # For Docker n8n - add volume mount:
     # -v /path/to/n8n-nodes-prisma-airs:/home/node/.n8n/custom/n8n-nodes-prisma-airs
     ```

  3. **Restart n8n**
     - Restart your n8n instance to load the new node

  ## Configuration

  ### 1. Create Prisma AIRS Credentials

  In your n8n instance:

  1. Go to **Settings** → **Credentials**
  2. Click **Add Credential**
  3. Search for "Prisma AIRS API"
  4. Fill in:
     - **API Key**: Your Prisma AIRS API key (x-pan-token)
     - **Region**: US, EU (Germany), India, or Custom
     - **Custom Base URL**: (Only if Custom region selected) Your custom Prisma AIRS endpoint
     - **AI Profile Name**: (Optional) Your configured AI security profile name or UUID. Leave empty to use the profile linked to your API key

  ### 2. Add Node to Workflow

  1. In your workflow, click **Add Node**
  2. Search for "Prisma AIRS"
  3. Select the operation:
     - **Prompt Scan**: Scan user input for threats
     - **Response Scan**: Scan AI responses for violations
     - **Dual Scan**: Scan both prompt and response with optional context
     - **Batch Scan**: Process multiple items (up to 5) in parallel
     - **Mask Data**: Scan and automatically mask sensitive data

  ## Usage Examples

  ### Basic Prompt Scanning

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "content": "Tell me how to hack into a system"
  }
  ```

  ### Async Large Content Scanning

  ```json
  {
    "operation": "responseScan",
    "scanMode": "async",
    "content": "{{$json.largeAIResponse}}",
    "additionalOptions": {
      "maxPollingDuration": 60000,
      "pollingInterval": 3000
    }
  }
  ```

  ### Dual Scanning with Context

  ```json
  {
    "operation": "dualScan",
    "scanMode": "sync",
    "promptContent": "{{$json.userInput}}",
    "responseContent": "{{$json.aiResponse}}",
    "context": "{{$json.contextDocument}}"
  }
  ```

  ### Batch Scanning Multiple Items

  ```json
  {
    "operation": "batchScan",
    "scanMode": "async",
    "batchItems": {
      "items": [
        {
          "itemType": "prompt",
          "promptContent": "First prompt to scan"
        },
        {
          "itemType": "response",
          "responseContent": "AI generated response"
        },
        {
          "itemType": "both",
          "promptContent": "User question",
          "responseContent": "AI answer"
        }
      ]
    }
  }
  ```

  ### Data Masking for Sensitive Content

  ```json
  {
    "operation": "maskData",
    "scanMode": "sync",
    "maskContent": "My credit card is 4111-1111-1111-1111"
  }
  ```

  ### Dynamic Profile Override

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "content": "{{$json.userInput}}",
    "additionalOptions": {
      "aiProfileOverride": "strict-production-profile"
    }
  }
  ```

  Or using a profile UUID:

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "content": "{{$json.userInput}}",
    "additionalOptions": {
      "aiProfileOverride": "03b32734-d06d-4bb7-a8df-ac5147630ce8"
    }
  }
  ```

  ## API Response Format

  ```json
  {
    "operation": "promptScan",
    "scanMode": "sync",
    "transactionId": "n8n-12345-67890",
    "action": "allow",
    "category": "benign",
    "confidence": 0.95,
    "scan_id": "abc-123-def",
    "blocked": false,
    "violations": [],
    "metadata": {
      "scan_time": "2025-10-21T10:30:00Z",
      "ai_model": "gpt-4",
      "profile": "production-security-profile"
    },
    "workflowId": "rKU3xnZb5S1ayJCG",
    "workflowName": "Customer Support Bot",
    "executionId": "385",
    "executionMode": "manual",
    "environment": "production",
    "timestamp": "2025-10-21T10:30:00Z"
  }
  ```

  ### Attribution Metadata

  The node automatically enriches all outputs with n8n workflow context for enhanced attribution and tracking:

  - **workflowId**: Unique identifier for the workflow
  - **workflowName**: Human-readable workflow name
  - **executionId**: Unique ID for this specific execution
  - **executionMode**: How the workflow was triggered (`manual`, `webhook`, `trigger`, `cli`)
  - **environment**: Optional environment identifier (if configured)

  This metadata is ideal for:
  - **AI Gateway Integration**: Pass to upstream services 
  - **Cost Attribution**: Track usage by workflow or execution
  - **Audit Trails**: Correlate security scans with workflow runs
  - **Multi-tenant Tracking**: Identify which workflows generated requests

  ## Configuration Options

  ### Required Parameters

  - **Content**: Text to scan (for single operations)
  - **Prompt Content**: Prompt text (for dual scan)
  - **Response Content**: Response text (for dual scan)
  - **Batch Items**: Array of items (for batch scan)
  - **Mask Content**: Content to mask (for mask data operation)

  ### Optional Parameters

  - **Context**: Grounding context for dual scan (up to 100K characters)
  - **AI Profile Override**: Override default profile (name or UUID)
  - **Transaction ID**: Custom tracking identifier
  - **AI Model**: Model identifier for metadata (default: 'n8n-integration')
  - **Application Name**: Source application name. Defaults to 'n8n'. If you provide a custom name (e.g., 'testapp'), it will be formatted as 'n8n-testapp'
  - **User ID**: End user identifier (default: 'n8n-user')
  - **Environment**: Optional environment tag for output tracking (e.g., 'production', 'staging', 'development')
    - Note: This field is for workflow-level tracking only and appears in the output
    - The actual environment used by Prisma AIRS is configured in Strata Cloud Manager at the application level
  - **Timeout**: Request timeout (default: 30000ms)
  - **Max Retries**: Retry attempts (default: 3, max: 6)
  - **Polling Interval**: Async polling frequency (default: 2000ms, min: 1000ms)
  - **Max Polling Duration**: Async timeout (default: 300000ms)

  ## Error Handling

  The node includes comprehensive error handling:

  - **Retry Logic**: Exponential backoff for transient failures
  - **Timeout Management**: Configurable timeouts for all operations
  - **Content Validation**: Size limits enforced (2MB sync, 5MB async)
  - **API Error Handling**: Proper HTTP status code handling
  - **Circuit Breaker**: Prevents cascading failures

  ## Testing

  ### Unit Tests

  ```bash
  npm test
  ```

  ### Integration Testing

  1. Configure valid Prisma AIRS credentials
  2. Create test workflows in n8n
  3. Test all operations (sync/async, prompt/response/dual)
  4. Validate error scenarios



  ## Development

  ### Building

  ```bash
  npm run build
  ```

  ### Linting

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

  ### Watching for Changes

  ```bash
  npm run dev
  ```

  ## Security Considerations

  - API keys are encrypted using n8n's credential system
  - No content is logged or stored by the node
  - All communication uses HTTPS/TLS
  - Proper error handling prevents information leakage

  ## Support

  For issues and questions:

  1. Check the [troubleshooting guide](https://pan.dev/prisma-airs/scan/api/)
  2. Review n8n community node documentation
  3. Contact your Prisma AIRS administrator

  ## License

  MIT License - See LICENSE file for details

  ## Contributing

  Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create feature branches from `main`
  3. Test thoroughly with real Prisma AIRS API
  4. Submit pull requests for review
  5. Ensure all tests and linting pass before merging

  ## Changelog

  ### Version 0.2.1 (Upcoming)
  - **New**: AI Profile is now optional - use API key with linked profile or specify profile name/UUID
  - **New**: Smart application name formatting - defaults to 'n8n', custom names are prefixed (e.g., 'testapp' → 'n8n-testapp')
  - Credential test now validates API key connectivity without requiring profile specification

  ### Version 0.2.0
  - **New**: Automatic attribution metadata (workflowId, workflowName, executionId, executionMode) in all outputs
  - **New**: Custom region support for future Prisma AIRS deployments
  - **New**: Optional environment tag field for workflow-level tracking in outputs
  - **New**: India region support
  - **Fixed**: Better handling of UUID vs profile name in credentials
  - Fully backward compatible with v0.1.x

  ### Version 0.1.1
  - Bug fixes and stability improvements

  ### Version 0.1.0
  - Initial implementation
  - All core features implemented
  - Production-ready with comprehensive error handling
  - Support for sync/async operations
  - Regional endpoint support (US, EU)
  - Full TypeScript implementation

ai_documentation_summary:
  {"purpose":"Integrate Prisma AIRS into n8n workflows to scan AI prompts and responses for security threats, mask sensitive data, and enforce AI security profiles (sync or async) directly from n8n.","capabilities":["Prompt scanning (scan user input for threats)","Response scanning (scan AI-generated output for violations)","Dual scanning (scan both prompt and response, with optional contextual grounding)","Batch scanning (process up to 5 items in a single operation)","Data masking (detect and automatically mask sensitive data in content)","Contextual grounding (validate responses against provided context, up to 100K characters)","Dynamic profile selection (override AI security profile by name or UUID per scan)","Sync and async scan modes (sync: 2MB limit, async: 5MB limit) with async polling and exponential backoff","Regional endpoints (US, EU/Germany, India, or custom base URL)","Automatic attribution metadata (workflowId, workflowName, executionId, executionMode) added to outputs"],"authentication":"API key required (x-pan-token) stored in n8n credentials; supports profile linked to API key or specifying profile name/UUID; choose region or provide custom base URL for custom region.","commonUseCases":["Pre-scan user prompts to block or flag harmful instructions before sending to an LLM","Scan AI responses for policy violations, hallucinations, or sensitive data exposure","Dual-scan workflows that validate LLM responses against supplied context or documents","Automatically mask PII/credit-card numbers and other sensitive data in outputs","Batch-process multiple prompts/responses for throughput-sensitive pipelines"],"limitations":["Batch scanning limited to up to 5 items per operation","Contextual grounding input limited to 100,000 characters","Sync scan maximum payload ~2 MB; async scan maximum payload ~5 MB","Requires Prisma AIRS API access and configured AI profiles in Strata Cloud Manager"],"relatedNodes":[]}


node_type: n8n-nodes-get-transcribe.getTranscribe
package_name: n8n-nodes-get-transcribe
display_name: GetTranscribe
description: Interact with GetTranscribe API to transcribe videos from social media platforms
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: danielevz
author_github_url: https://github.com/get-transcribe/
npm_package_name: n8n-nodes-get-transcribe
npm_version: 0.1.4
community_fetched_at: 2026-02-19T14:41:52.800Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "transcription",
      "options": [
        {
          "name": "Transcription",
          "value": "transcription"
        },
        {
          "name": "Folder",
          "value": "folder"
        },
        {
          "name": "User",
          "value": "user"
        }
      ],
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a transcription",
          "description": "Create a new transcription from a video URL"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a transcription",
          "description": "Get a transcription by ID"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List transcriptions",
          "description": "List all transcriptions"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "transcription"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a folder",
          "description": "Create a new folder"
        },
        {
          "name": "List",
          "value": "list",
          "action": "List folders",
          "description": "List all folders"
        },
        {
          "name": "Update",
          "value": "update",
          "action": "Update a folder",
          "description": "Update a folder"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "folder"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "get",
      "options": [
        {
          "name": "Get",
          "value": "get",
          "action": "Get user info",
          "description": "Get user information"
        }
      ],
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "user"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a transcription",
      "description": "Create a new transcription from a video URL"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a transcription",
      "description": "Get a transcription by ID"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List transcriptions",
      "description": "List all transcriptions"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a folder",
      "description": "Create a new folder"
    },
    {
      "name": "List",
      "value": "list",
      "action": "List folders",
      "description": "List all folders"
    },
    {
      "name": "Update",
      "value": "update",
      "action": "Update a folder",
      "description": "Update a folder"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get user info",
      "description": "Get user information"
    }
  ]

npm_readme:
  # n8n-nodes-get-transcribe

  This is an n8n node for integrating with the GetTranscribe API, which allows you to transcribe videos from social media platforms like Instagram, TikTok, YouTube, and more.

  ## Features

  ### Transcriptions
  - **Create**: Create a new transcription from a video URL
  - **Get**: Get a specific transcription by ID
  - **List**: List all transcriptions with optional filters

  ### Folders
  - **Create**: Create new folders to organize transcriptions
  - **List**: List all folders
  - **Update**: Update properties of existing folders

  ### User
  - **Get**: Get user information and account statistics

  ## Installation

  ### Installation on n8n Cloud

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

  ### Installation on self-hosted n8n

  1. Go to your n8n installation root directory
  2. Run: `npm install n8n-nodes-get-transcribe`
  3. Restart n8n

  ## Configuration

  ### Credentials

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

  1. In n8n, go to **Credentials** and create new credentials of type **GetTranscribe API**
  2. Enter your **API Key** from GetTranscribe
     - You can find your API Key in your GetTranscribe account settings
     - The API Key should have the format: `gt_...`

  ### Credential test URL

  The node will automatically verify your credentials by making a request to `/users/me` on the GetTranscribe API.

  ## Usage

  ### Create a Transcription

  1. Add the **GetTranscribe** node to your workflow
  2. Select **Transcription** as resource
  3. Select **Create** as operation
  4. Enter the URL of the video you want to transcribe
  5. Optionally, select a folder ID to organize the transcription

  Supported URL examples:
  - Instagram: `https://www.instagram.com/p/ABC123/`
  - TikTok: `https://www.tiktok.com/@user/video/123456789`
  - YouTube: `https://www.youtube.com/watch?v=ABC123`

  ### List Transcriptions

  1. Select **Transcription** as resource
  2. Select **List** as operation
  3. Configure optional filters:
     - **Limit**: Maximum number of results
     - **Skip**: Number of results to skip (for pagination)
     - **Folder ID**: Filter by specific folder
     - **Platform**: Filter by platform (Instagram, TikTok, YouTube)

  ### Folder Management

  #### Create Folder
  1. Select **Folder** as resource
  2. Select **Create** as operation
  3. Enter the folder name
  4. Optionally, specify a parent folder ID to create subfolders

  #### List Folders
  1. Select **Folder** as resource
  2. Select **List** as operation
  3. Configure the result limit

  ### User Information

  1. Select **User** as resource
  2. Select **Get** as operation
  3. Enter your user ID (you can use your own ID)

  ## API Response

  ### Transcription

  ```json
  {
    "id": 4032,
    "user_id": 2,
    "transcription": "Transcribed text from the video...",
    "platform": "instagram",
    "url": "https://www.instagram.com/p/DM1P8q1MzaG/",
    "thumbnail_url": "https://...",
    "download_video_url": "https://...",
    "download_audio_url": "https://...",
    "duration": "0:30",
    "duration_seconds": 30.159864,
    "word_count": 91,
    "char_count": 515,
    "folder_id": null,
    "transcription_analysis": null,
    "original_transcription": "Original text...",
    "transcription_segments": [...],
    "transcription_words": [...],
    "created_at": "2025-08-07T17:43:15.822Z",
    "updated_at": "2025-08-07T17:43:15.822Z"
  }
  ```

  ## Workflow Examples

  ### Automatic Transcription from Webhook

  1. **Webhook Trigger** - Receives video URLs
  2. **GetTranscribe Node** - Transcribes the video
  3. **Set Node** - Processes the transcribed text
  4. **HTTP Request** - Sends the transcription to another service

  ### Batch Processing

  1. **Schedule Trigger** - Runs periodically
  2. **GetTranscribe Node** - Lists pending transcriptions
  3. **If Node** - Checks if there are new transcriptions
  4. **Loop** - Processes each transcription

  ## Support

  - **Documentation**: [https://www.gettranscribe.ai/n8n-transcription-instagram-tiktok-automation](https://www.gettranscribe.ai/n8n-transcription-instagram-tiktok-automation)
  - **Support**: [support@gettranscribe.ai](mailto:daniel@gettranscribe.ai)
  - **GitHub**: [https://github.com/get-transcribe/n8n-nodes-get-transcribe](https://github.com/get-transcribe/n8n-nodes-get-transcribe)

  ## Contributing

  Contributions are welcome! Please:

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

  ## Contributors

  Thanks to all the people who have contributed to this project:

  - [danielevz](https://github.com/emeagenciadigital) - Contributor

  ## License

  MIT

  ## Changelog

  ### v0.1.1
  - Updated GitHub repository URLs in package.json

  ### v0.1.0
  - Initial release
  - Support for transcriptions (create, get, list)
  - Support for folders (create, list, update)
  - Support for user information
  - API Key authentication

ai_documentation_summary:
  {"purpose":"Integrate n8n workflows with the GetTranscribe API to create, retrieve, and manage video transcriptions from social platforms (Instagram, TikTok, YouTube, etc.).","capabilities":["Create a new transcription from a video URL (optionally assign to a folder)","Get a specific transcription by ID","List transcriptions with filters (limit, skip, folder ID, platform)","Create folders to organize transcriptions","List folders","Update folder properties","Get user information and account statistics","Credential verification via /users/me endpoint"],"authentication":"API key required (GetTranscribe API key, format: gt_...)","commonUseCases":["Automatic transcription pipeline: receive video URLs via Webhook, transcribe, process text, forward to other services","Batch processing: scheduled listing of pending transcriptions and processing in a loop","Transcribing single videos from social links (Instagram, TikTok, YouTube)","Organizing transcriptions into folders and querying/filtering transcriptions","Retrieving user/account stats for monitoring or billing"],"limitations":["README does not mention delete operations for transcriptions or folders (no delete listed)","No real-time/streaming transcription or webhook-based transcription callbacks described","Authentication is limited to API key (no OAuth2 flow documented)","Rate limits/quotas and error-handling specifics are not documented in the README"],"relatedNodes":["Webhook","HTTP Request","Set","If","Schedule Trigger"]}


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

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

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

npm_readme:
  # n8n-nodes-postnitro-ai

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

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

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


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

  ## Installation

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

  ## Operations

  The PostNitro node supports:
  - Generate Carousel from Text (AI)
  - Generate Carousel from Article URL (AI)
  - Generate Carousel from X (Twitter) Post (AI)
  - Import Carousel Slides

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

  ## Credentials

  This node requires API credentials for the PostNitro Embed API.

  Prerequisites:
  - A PostNitro account and API key

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

  ## Compatibility

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

  ## Usage

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

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

  ## Resources

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

  ## Version history

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

ai_documentation_summary:
  {"purpose":"Provides n8n workflow integration with the PostNitro Embed API to generate social-media carousel posts, images, and PDFs using AI or imported slide content.","capabilities":["Generate Carousel from Text (AI)","Generate Carousel from Article URL (AI)","Generate Carousel from X (Twitter) Post (AI)","Import Carousel Slides","Optionally wait for completion by polling post status","On completion: return status only or fetch generated output (JSON)","Download generated output as binary (attach PDF or PNG files to workflow items)","Support for PDF (single file) and PNG (multiple image files) outputs"],"authentication":"API key required (PostNitro Embed API). Configure API Base URL and provide API Key; key is sent in the 'embed-api-key' header.","commonUseCases":["Automatically generate social-media carousel posts from plain text prompts","Convert an article URL into a multi-slide carousel using AI","Create a carousel from an X/Twitter post for repurposing content","Import existing slides into PostNitro and retrieve generated assets (PDF/PNGs) in the workflow","Poll for job completion and attach generated files to subsequent workflow steps"],"limitations":["postType is restricted to CAROUSEL (carousel posts only)","Requires a PostNitro account and API key (no OAuth or alternative auth methods documented)","Output formats limited to PDF (single) and PNG (multiple); other formats not mentioned","Completion is handled via polling (Wait for Completion) — no webhook/streaming completion mechanism documented"],"relatedNodes":[]}


node_type: @meistrari/n8n-nodes-tela.tela
package_name: @meistrari/n8n-nodes-tela
display_name: Tela
description: Integrates with Tela to run AI-driven workflows and automation tasks
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: 0xthierry
author_github_url: https://github.com/meistrari/n8n-nodes-tela.git
npm_package_name: @meistrari/n8n-nodes-tela
npm_version: 1.5.0
community_fetched_at: 2026-02-19T14:41:52.801Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "canvas",
      "options": [
        {
          "name": "Canvas",
          "value": "canvas"
        }
      ],
      "description": "The resource to operate on",
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "execute",
      "options": [
        {
          "name": "Execute",
          "value": "execute",
          "action": "Execute a canvas",
          "description": "Execute a canvas with variables"
        },
        {
          "name": "Execute Workstation",
          "value": "executeWorkstation",
          "action": "Execute workstation task",
          "description": "Create a task in the workstation dashboard"
        },
        {
          "name": "Get Completion",
          "value": "getCompletion",
          "action": "Get completion status",
          "description": "Get the result of an async completion"
        }
      ],
      "description": "The operation to perform",
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "canvas"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Execute",
      "value": "execute",
      "action": "Execute a canvas",
      "description": "Execute a canvas with variables"
    },
    {
      "name": "Execute Workstation",
      "value": "executeWorkstation",
      "action": "Execute workstation task",
      "description": "Create a task in the workstation dashboard"
    },
    {
      "name": "Get Completion",
      "value": "getCompletion",
      "action": "Get completion status",
      "description": "Get the result of an async completion"
    }
  ]

npm_readme:
  # n8n-nodes-tela

  This is an n8n community node that provides seamless integration with the Tela API. It allows you to interact with Tela projects and canvases in your n8n workflows, enabling dynamic content generation and workflow automation.

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

  ## TL;DR

  Don't want to read? Import the sample workflow **"Tela Canvas Execution with Dynamic Variables"** to test this node with real Tela API integration.

  ## What This Node Does

  The Tela node enables you to:

  - **Execute Tela Canvases**: Run AI-powered canvases with dynamic variables and get results
  - **Dynamic Variable Handling**: Automatically detect and configure canvas variables
  - **File Upload Support**: Handle file uploads for canvas processing
  - **Project Management**: List and manage Tela projects and their canvases
  - **Workflow Integration**: Seamlessly integrate Tela AI workflows into your n8n automation

  ## Installation

  ### Community Nodes (Recommended)

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

  ### Manual Installation

  For self-hosted n8n instances:

  ```bash
  npm install @meistrari/n8n-nodes-tela
  ```

  For Docker installations, follow the [custom nodes guide](https://docs.n8n.io/integrations/creating-nodes/deploy/install-private-nodes/).

  ## Configuration

  ### 1. Create Tela API Credentials

  1. Create a new credential of type **"Tela API"**
  2. Enter your Tela API key (find this in your [Tela dashboard](https://app.tela.com))
  3. Test the connection to verify it works

  ### 2. Configure the Node

  1. **Project**: Select the project containing your canvas
  2. **Canvas**: Choose the specific canvas to execute
  3. **Variables**: Configure dynamic fields based on your canvas configuration

  ## Operations

  ### Execute Canvas

  The main operation that runs your Tela canvas with the specified variables and returns the AI-generated results.

  **Parameters:**

  | Field              | Type    | Required | Description                                                                 |
  | ------------------ | ------- | -------- | --------------------------------------------------------------------------- |
  | **Project**        | Options | Yes      | Select the project containing your canvas                                   |
  | **Canvas**         | Options | Yes      | Select the canvas to execute                                                |
  | **Variables**      | Collection | No    | Dynamic fields based on your canvas configuration                           |
  | **Async Execution** | Boolean | No      | When enabled, returns immediately with completion ID instead of waiting     |

  **Use Cases:**

  - Generate dynamic content for emails
  - Create personalized marketing materials
  - Process documents with AI assistance
  - Generate reports based on input data

  ### Execute Workstation

  Create a task in the Tela Workstation dashboard. Tasks are visible in the Tela web interface and can be reviewed, approved, or processed manually.

  **Parameters:**

  | Field         | Type       | Required | Description                                       |
  | ------------- | ---------- | -------- | ------------------------------------------------- |
  | **Project**   | Options    | Yes      | Select the project containing your canvas         |
  | **Canvas**    | Options    | Yes      | Select the canvas to execute                      |
  | **Label**     | String     | No       | Optional label for the workstation task           |
  | **Variables** | Collection | No       | Dynamic fields based on your canvas configuration |

  **Response:**

  - Returns the full API response object

  **Use Cases:**

  - Create tasks for human review in Tela dashboard
  - Queue AI-generated content for approval workflows
  - Build hybrid human-AI pipelines with manual checkpoints

  ### Get Completion

  Retrieve the result of an async canvas execution. Use this operation to poll for completion status when using async execution.

  **Parameters:**

  | Field            | Type   | Required | Description                              |
  | ---------------- | ------ | -------- | ---------------------------------------- |
  | **Completion ID** | String | Yes      | The ID returned from async execution     |

  **Response:**

  - Returns the full API response object with `id`, `status`, and `outputContent`

  **Use Cases:**

  - Poll for long-running canvas executions
  - Build async workflows with wait loops
  - Handle high-latency AI processing without timeouts

  ## Node Reference

  ### Credentials

  | Field       | Description                           |
  | ----------- | ------------------------------------- |
  | **API Key** | Your Tela API key from your dashboard |

  ### Parameters

  | Field         | Type       | Required | Description                                       |
  | ------------- | ---------- | -------- | ------------------------------------------------- |
  | **Project**   | Options    | Yes      | Select the project containing your canvas         |
  | **Canvas**    | Options    | Yes      | Select the canvas to execute                      |
  | **Variables** | Collection | No       | Dynamic fields based on your canvas configuration |

  ## Usage Examples

  ### Example 1: Basic Canvas Execution

  **Input Data:**

  ```json
  {
    "customerName": "John Doe",
    "productType": "Premium Subscription",
    "monthlyAmount": 99.99
  }
  ```

  **Canvas Variables:**

  - `customer_name`: John Doe
  - `product_type`: Premium Subscription
  - `monthly_amount`: 99.99

  **Result:** AI-generated personalized content based on your canvas configuration.

  ### Example 2: File Processing

  **Input Data:**

  ```json
  {
    "document": "binary_file_data",
    "processingType": "summarize"
  }
  ```

  **Canvas Variables:**

  - `document`: [File upload]
  - `processing_type`: summarize

  **Result:** AI-processed document with summary or analysis.

  ### Example 3: Dynamic Content Generation

  **Input Data:**

  ```json
  {
    "industry": "Technology",
    "companySize": "100-500 employees",
    "challenge": "Digital transformation"
  }
  ```

  **Canvas Variables:**

  - `industry`: Technology
  - `company_size`: 100-500 employees
  - `challenge`: Digital transformation

  **Result:** Tailored content addressing specific business challenges.

  ## Sample Workflows

  ### Workflow 1: Automated Customer Onboarding

  1. **Webhook** receives new customer signup
  2. **Tela** generates personalized welcome email
  3. **Send Email** delivers the generated content

  ### Workflow 2: Document Processing Pipeline

  1. **File Upload** receives document
  2. **Tela** processes and analyzes document
  3. **Database** stores processed results
  4. **Notification** sends completion alert

  ### Workflow 3: Marketing Campaign Generator

  1. **CRM** provides customer segments
  2. **Tela** generates personalized campaigns
  3. **Marketing Platform** deploys campaigns
  4. **Analytics** tracks performance

  ## Advanced Features

  ### Dynamic Variable Detection

  The node automatically detects canvas variables and their types:

  - **Text variables**: Standard string inputs
  - **File variables**: Automatic file upload handling
  - **Required fields**: Clearly marked in the interface

  ### Smart File Handling

  - Supports multiple file formats
  - Automatic MIME type detection
  - Secure file upload to Tela servers
  - Binary data processing from n8n workflows

  ### Load Options

  - **Projects**: Dynamically loads available projects
  - **Canvases**: Loads canvases based on selected project
  - **Variables**: Auto-populates variable fields based on canvas

  ## Compatibility

  - **n8n Version**: 0.174.0 or later
  - **Node.js**: 18.0.0 or later
  - **npm**: 8.0.0 or later
  - **Platforms**: n8n Cloud, Self-hosted instances

  ## Troubleshooting

  ### Common Issues

  1. **API Key Invalid**

     - Verify your Tela API key is correct
     - Check if the key has expired
     - Ensure proper permissions

  2. **Project Not Loading**

     - Verify API key has access to projects
     - Check Tela API status
     - Refresh credentials

  3. **Canvas Execution Fails**
     - Verify all required variables are set
     - Check canvas configuration in Tela
     - Review API response for error details

  ### Error Messages

  - `Failed to load projects`: Check API key and permissions
  - `Failed to load canvases`: Verify project ID and access
  - `Failed to execute canvas`: Review variable configuration

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Tela API Documentation](https://docs.tela.com)
  - [n8n Workflow Automation](https://n8n.io)
  - [Community Support](https://community.n8n.io)

  ## Support

  ### Getting Help

  - **GitHub Issues**: [Report bugs and request features](https://github.com/meistrari/n8n-nodes-tela/issues)
  - **n8n Community**: [Ask questions in the community](https://community.n8n.io)
  - **Documentation**: [Check the comprehensive docs](https://docs.n8n.io)

  ## Development

  ### Local Development

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

  # Install dependencies
  npm install

  # Build the project
  npm run build

  # Link locally for testing
  npm link
  ```

  ### Testing

  ```bash
  # Run tests
  npm test

  # Build and test
  npm run build && npm test
  ```

  ## Changelog

  ### Version 1.5.0

  **Improved Binary File Handling**

  #### Improvements

  - **Uses n8n's official helper**: Now uses `helpers.getBinaryDataBuffer()` instead of directly accessing binary data, which works correctly in all n8n storage modes (memory, filesystem, S3)
  - **Any variable can receive files**: Removed type validation - binary files can now be sent to any canvas variable, not just `file` type variables. Tela will automatically parse text content from files when needed
  - **Simplified binary detection**: Cleaner logic with 3 clear cases:
    1. String with binary field name (e.g., `"data"`)
    2. Binary object passed directly (e.g., `{{ $binary.data }}`)
    3. Fallback to first available binary when value is empty
  - **Removed unnecessary API call**: No longer fetches canvas variable definitions just to check types

  #### Migration Guide

  No breaking changes - all existing workflows continue to work. The only difference is:
  - Variables with `type: text` can now receive binary files (previously only `type: file` variables could)

  ### Version 1.4.0

  **BREAKING CHANGE: Simplified API Response Handling**

  All operations now return the raw API response directly instead of formatted/transformed data.

  #### Breaking Changes

  - **Execute Canvas**: Now returns the full `CompletionResponse` object from the API
    - Before: `data.choices[0].message?.content` (sync) or `{ id, status }` (async)
    - After: Full API response object

  - **Execute Workstation**: Now returns the full API response
    - Before: `{ status: "created" }`
    - After: Full `CompletionResponse` object from the API

  - **Get Completion**: Now returns the full API response
    - Before: `{ status, ...outputContent }` (succeeded) or `{ status }` (pending)
    - After: Full `GetCompletionResponse` object with `id`, `status`, and `outputContent`

  #### Migration Guide

  If your workflows depend on the previous response format, you'll need to update your expressions:

  ```
  # Execute Canvas (sync) - accessing content
  Before: {{ $json.fieldName }}
  After:  {{ $json.choices[0].message.content.fieldName }}

  # Execute Canvas (async) - accessing id/status
  Before: {{ $json.id }}
  After:  {{ $json.id }}  (no change needed)

  # Get Completion - accessing output content
  Before: {{ $json.fieldName }}
  After:  {{ $json.outputContent.content.fieldName }}
  ```

  #### Why This Change?

  - Provides full API response data for advanced use cases
  - Eliminates data loss from response transformation
  - Gives users complete control over how to process the response
  - Simplifies codebase maintenance

  ### Version 1.2.0

  **New Features: Async Execution, Completion Polling & Workstation Integration**

  #### New Operations
  - **Execute Workstation**: Create tasks in the Tela Workstation dashboard
    - Tasks are visible in the Tela web interface for review and approval
    - Supports optional `label` field for task identification
    - Automatically fetches `application_id` from the canvas
    - Returns `{ status: "created" }` on success

  - **Get Completion**: Retrieve the result of an async canvas execution
    - Accepts a `completionId` parameter
    - Returns `{ status, ...content }` when succeeded
    - Returns `{ status }` when still processing (for polling workflows)

  #### Execute Canvas Enhancements
  - **Async Execution**: New toggle to execute canvases asynchronously
    - When enabled, returns immediately with `{ id, status }` instead of waiting for completion
    - Ideal for long-running AI tasks that may exceed timeout limits
    - Enables building polling workflows with Wait + If nodes

  #### Use Case: Async Workflow Pattern
  ```
  1. [Tela: Execute Canvas] (Async: ON) → { id: "abc-123", status: "pending" }
  2. [Wait] → 5 seconds
  3. [Tela: Get Completion] (ID: {{ $json.id }}) → { status: "pending" } or { status: "succeeded", ...content }
  4. [If] status !== "succeeded" → Loop back to step 2
  5. [Continue] → Process the completed result
  ```

  #### Use Case: Workstation Task Creation
  ```
  1. [Webhook] → Receive data from external system
  2. [Tela: Execute Workstation] → Create task with label "{{ $json.customer }} - {{ $json.orderId }}"
  3. [Task appears in Tela dashboard for human review]
  ```

  #### Technical Details
  - Added `async` parameter to completion request body
  - Added `status` field to completion response types
  - New `GetCompletionResponse` type for get completion endpoint
  - New `PromptApplication` and `WorkstationRequest` types
  - New `/prompt-application` endpoint integration
  - Graceful error handling for polling requests

  ### Version 1.1.2

  **UX Pattern compliance for n8n verification:**

  #### n8n Verification Requirements
  - **Implemented Resources and Operations pattern**: Added standard n8n UX pattern with Resource and Operation dropdowns
    - Resource: Canvas (single option, extensible for future resources)
    - Operation: Execute (executes a canvas with variables)
    - All existing functionality preserved and unchanged
    - No breaking changes - workflows continue to work seamlessly

  #### User Experience Improvements
  - **Better discoverability**: Users can now see available resources and operations in dropdown menus
  - **Consistent with n8n ecosystem**: Follows the same UX pattern as official n8n nodes
  - **Future-proof architecture**: Easy to extend with additional operations (Get Details, List, etc.)

  #### Technical Details
  - Added `resource` property with 'canvas' option
  - Added `operation` property with 'execute' action
  - Updated all existing properties with `displayOptions` to show conditionally
  - Maintains backwards compatibility with existing workflows

  #### Breaking Changes
  - None - all changes are backwards compatible

  ### Version 1.1.0

  **Major improvements for n8n Cloud verification compliance:**

  #### Critical Fixes
  - **Removed dependency overrides**: Eliminated `overrides` section from package.json to prevent masking security vulnerabilities
  - **Replaced native fetch() with n8n HTTP helpers**: All API requests now use n8n's `httpRequest` helper for proper proxy support, retry logic, and request logging
  - **Added pairedItem linking**: Implemented proper data flow tracking with `pairedItem` metadata on all outputs

  #### High Priority Improvements
  - **Enhanced error logging**: Replaced `console.error` with n8n's logger service for better debugging in production
  - **Added continueOnFail support**: Workflows can now handle errors gracefully and continue processing remaining items
  - **Multi-item processing**: Refactored execute() method to properly process multiple input items in batch

  #### Quality Improvements
  - **Converted icon to SVG format**: Replaced PNG icon with SVG for better scalability and 70% smaller file size
    - Updated both node and credential files to use `tela.svg`
    - Removed legacy PNG icon from build output
    - Consistent icon format across entire package
  - **Improved error handling**: Added `NodeOperationError` with detailed metadata including itemIndex
  - **Better type safety**: Enhanced TypeScript types for HTTP request methods

  #### Breaking Changes
  - None - all changes are backwards compatible

  #### Developer Experience
  - Enhanced logging visibility in n8n execution logs
  - Better error messages with actionable descriptions
  - Improved workflow debugging with proper data flow tracking

  ### Version 1.0.16

  - Replace get prompts call (includeLastVersion=true) for /promoted-version endpoint (the old one was deprecated internally)

  ### Version 1.0.15

  - Fixed critical security vulnerabilities in transitive dependencies
  - Updated axios from vulnerable version to 1.12.2 (fixes CVE-2025-58754)
  - Updated form-data from vulnerable version to 4.0.4 (fixes CVE-2025-7783)
  - Added npm overrides to ensure secure dependency versions across all packages
  - Zero vulnerabilities reported by npm audit

  ### Version 1.0.14

  - Added credential test method to fix n8n verification pre-checks
  - Fixed n8n verification pre-checks by restructuring project to match n8n-nodes-starter template
  - Moved credentials and nodes to proper directories as required by n8n
  - Enhanced README documentation for n8n verification compliance
  - Added comprehensive usage examples and sample workflows
  - Improved installation and configuration instructions
  - Added troubleshooting guide and development documentation

  ### Version 1.0.1

  - Enhanced error handling
  - Improved file upload support
  - Better variable validation

  ### Version 1.0.0

  - Initial release
  - Basic Tela API integration
  - Dynamic variable support

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"Integrates n8n with the Tela API to run AI-powered canvases and automate Tela workflows, manage projects/canvases, and handle file-based AI processing within n8n.","capabilities":["Execute Canvas (supports sync and async execution, returns results or completion ID)","Execute Workstation (create tasks visible in the Tela web dashboard)","Get Completion (poll for async execution results using completion ID)","List and manage Tela projects and canvases","Automatic detection and configuration of dynamic canvas variables","File upload support for canvas processing (binary file handling)","Returns full API response objects for operations"],"authentication":"API key required (Tela API key via 'Tela API' credential)","commonUseCases":["Generate dynamic, personalized content for emails or marketing materials","Process and summarize documents using AI (file uploads)","Generate reports based on input data through canvases","Create tasks for human review and approval in the Tela dashboard","Build hybrid human-AI pipelines with manual checkpoints (workstation tasks)"],"limitations":[],"relatedNodes":[]}


node_type: n8n-nodes-kargo-entegrator.kargoEntegrator
package_name: n8n-nodes-kargo-entegrator
display_name: Kargo Entegratör
description: Interact with Kargo Entegratör API for shipment management
category: Community
development_style: declarative
version: 1
credentials_required: []
outputs:
  [
  "main"
  ]

updated_at: 2026-02-19 14:41:52
author_name: gurmesoftcom
author_github_url: https://github.com/gurmesoft/
npm_package_name: n8n-nodes-kargo-entegrator
npm_version: 0.1.1
community_fetched_at: 2026-02-19T14:41:52.803Z
ai_summary_generated_at: 2026-02-19 16:43:57
properties_schema:
  [
    {
      "name": "resource",
      "type": "options",
      "default": "shipment",
      "options": [
        {
          "name": "Cargo",
          "value": "cargo",
          "description": "Get cargo companies information"
        },
        {
          "name": "Return",
          "value": "return",
          "description": "Manage return shipments"
        },
        {
          "name": "Setting",
          "value": "settings",
          "description": "Get system settings"
        },
        {
          "name": "Shipment",
          "value": "shipment",
          "description": "Manage shipments"
        },
        {
          "name": "Warehouse",
          "value": "warehouse",
          "description": "Manage warehouses"
        }
      ],
      "required": true,
      "displayName": "Resource",
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a shipment",
          "description": "Create a new shipment"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a shipment",
          "description": "Get shipment details"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many shipments",
          "description": "Get many shipments with pagination"
        },
        {
          "name": "Print Shipment PDF",
          "value": "printPdf",
          "action": "Print shipment PDF",
          "description": "Generate PDF document for shipments"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "shipment"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "create",
      "options": [
        {
          "name": "Create",
          "value": "create",
          "action": "Create a return shipment",
          "description": "Create a return shipment"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a return shipment",
          "description": "Get a return shipment by ID"
        },
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many return shipments",
          "description": "Get many return shipments"
        },
        {
          "name": "Print Returned PDF",
          "value": "printReturnedPdf",
          "action": "Print returned PDF",
          "description": "Generate PDF output for a returned shipment"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "return"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many cargo companies",
          "description": "Get many cargo companies"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a cargo company",
          "description": "Get specific cargo company"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "cargo"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getAll",
      "options": [
        {
          "name": "Get Many",
          "value": "getAll",
          "action": "Get many warehouses",
          "description": "Get many warehouses"
        },
        {
          "name": "Get",
          "value": "get",
          "action": "Get a warehouse",
          "description": "Get specific warehouse"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "warehouse"
          ]
        }
      },
      "noDataExpression": true
    },
    {
      "name": "operation",
      "type": "options",
      "default": "getShipmentSettings",
      "options": [
        {
          "name": "Get Shipment Settings",
          "value": "getShipmentSettings",
          "action": "Get shipment settings"
        },
        {
          "name": "Get Return Settings",
          "value": "getReturnSettings",
          "action": "Get return settings"
        }
      ],
      "required": true,
      "displayName": "Operation",
      "displayOptions": {
        "show": {
          "resource": [
            "settings"
          ]
        }
      },
      "noDataExpression": true
    }
  ]

operations:
  [
    {
      "name": "Create",
      "value": "create",
      "action": "Create a shipment",
      "description": "Create a new shipment"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a shipment",
      "description": "Get shipment details"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many shipments",
      "description": "Get many shipments with pagination"
    },
    {
      "name": "Print Shipment PDF",
      "value": "printPdf",
      "action": "Print shipment PDF",
      "description": "Generate PDF document for shipments"
    },
    {
      "name": "Create",
      "value": "create",
      "action": "Create a return shipment",
      "description": "Create a return shipment"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a return shipment",
      "description": "Get a return shipment by ID"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many return shipments",
      "description": "Get many return shipments"
    },
    {
      "name": "Print Returned PDF",
      "value": "printReturnedPdf",
      "action": "Print returned PDF",
      "description": "Generate PDF output for a returned shipment"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many cargo companies",
      "description": "Get many cargo companies"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a cargo company",
      "description": "Get specific cargo company"
    },
    {
      "name": "Get Many",
      "value": "getAll",
      "action": "Get many warehouses",
      "description": "Get many warehouses"
    },
    {
      "name": "Get",
      "value": "get",
      "action": "Get a warehouse",
      "description": "Get specific warehouse"
    },
    {
      "name": "Get Shipment Settings",
      "value": "getShipmentSettings",
      "action": "Get shipment settings"
    },
    {
      "name": "Get Return Settings",
      "value": "getReturnSettings",
      "action": "Get return settings"
    }
  ]

npm_readme:
  # n8n-nodes-kargo-entegrator

  This is an n8n community node. It lets you use Kargo Entegratör API in your n8n workflows.

  Kargo Entegratör is a Turkish cargo integration platform that allows you to manage shipments across multiple cargo companies from a single interface.

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

  ## Table of Contents

  - [Quick Start](#quick-start)
  - [Development Setup](#development-setup)
  - [Docker Environment](#docker-environment)
  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Scripts](#scripts)
  - [Compatibility](#compatibility)
  - [Usage](#usage)
  - [Resources](#resources)
  - [Version History](#version-history)
  - [License](#license)

  ## Quick Start

  ### Prerequisites
  - Node.js >= 20.15
  - npm or yarn
  - Docker (optional, for containerized development)

  ### Local Development

  1. **Clone and Install**
     ```bash
     git clone https://github.com/gurmesoft/n8n-nodes-kargo-entegrator.git
     cd n8n-nodes-kargo-entegrator
     npm install
     ```

  2. **Build the Project**
     ```bash
     npm run build
     ```

  3. **Start Development**
     ```bash
     npm run dev
     ```

  ### Docker Development (Recommended)

  1. **Quick Start with Docker**
     ```bash
     # Build and start development environment
     npm run dev:docker
     
     # Access N8N at http://localhost:5678
     # Username: admin
     # Password: admin123
     ```

  2. **View Logs**
     ```bash
     npm run dev:docker:logs
     ```

  3. **Stop Environment**
     ```bash
     npm run dev:docker:stop
     ```

  ## Development Setup

  ### Environment Requirements
  - **Node.js**: >= 20.15
  - **TypeScript**: ^5.8.2
  - **n8n-workflow**: Latest (peer dependency)

  ### Project Structure
  ```
  n8n-nodes-kargo-entegrator/
  ├── credentials/           # API credentials configuration
  ├── nodes/                # Node implementations
  │   └── KargoEntegrator/
  │       ├── *.node.ts     # Node logic
  │       ├── actions/      # Node actions
  │       └── resources/    # Node resources
  ├── dist/                 # Built files (generated)
  ├── docker-compose*.yml   # Docker configurations
  └── package.json          # Project configuration
  ```

  ### Development Workflow

  1. **Make Changes**: Edit TypeScript files in `nodes/` or `credentials/`
  2. **Build**: Run `npm run build` to compile TypeScript
  3. **Test**: Use Docker environment or local N8N instance
  4. **Format**: Run `npm run format` to format code
  5. **Lint**: Run `npm run lint` to check code quality

  ## Docker Environment

  Three Docker configurations are available:

  ### 1. Development Environment (Recommended)
  ```bash
  npm run dev:docker
  # or
  docker-compose -f docker-compose.dev.yml up -d
  ```
  - **Services**: N8N + PostgreSQL + Node development container
  - **Features**: Hot reload, debugging, persistent data
  - **Access**: http://localhost:5678

  ### 2. Simple Environment
  ```bash
  docker-compose -f docker-compose.simple.yml up -d
  ```
  - **Services**: N8N only (SQLite database)
  - **Use Case**: Quick testing
  - **Access**: http://localhost:5678

  ### 3. Production Environment
  ```bash
  docker-compose up -d
  ```
  - **Services**: N8N + PostgreSQL
  - **Use Case**: Production deployment
  - **Access**: http://localhost:5678

  ### Docker Commands
  ```bash
  # Start development environment
  npm run dev:docker

  # View logs
  npm run dev:docker:logs

  # Restart services
  npm run dev:docker:restart

  # Stop environment
  npm run dev:docker:stop

  # Build and restart with live reload
  npm run dev:live
  ```

  ### Access Information
  - **N8N Web Interface**: http://localhost:5678
  - **Username**: admin
  - **Password**: admin123
  - **PostgreSQL**: localhost:5432 (production) / localhost:5433 (development)
    - User: n8n
    - Password: n8n123
    - Database: n8n

  ## Scripts

  | Script | Description |
  |--------|-------------|
  | `npm run build` | Build TypeScript and copy icons |
  | `npm run dev` | Watch TypeScript files for changes |
  | `npm run dev:live` | Development with auto-restart |
  | `npm run dev:docker` | Start Docker development environment |
  | `npm run dev:docker:logs` | View Docker logs |
  | `npm run dev:docker:stop` | Stop Docker environment |
  | `npm run dev:docker:restart` | Restart Docker services |
  | `npm run format` | Format code with Prettier |
  | `npm run lint` | Lint code with ESLint |
  | `npm run lintfix` | Fix linting issues automatically |  

  ## Installation

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

  ### Community Nodes (Recommended)

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-kargo-entegrator`
  4. Agree to the risks of using community nodes
  5. Select **Install**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-kargo-entegrator
  ```

  ## Operations

  ### Shipment
  - **Create**: Create a new shipment
  - **Get**: Retrieve shipment details
  - **Create Return**: Create a return shipment

  ### Customer
  - **Update**: Update customer information

  ### Cargo
  - **Get All**: Get all available cargo companies
  - **Get**: Get specific cargo company details

  ## Credentials

  To use this node, you need:

  1. Sign up for an account at [https://app.kargoentegrator.com](https://app.kargoentegrator.com)
  2. Get your API key from the dashboard
  3. Configure the credentials in n8n:
     - **API Key**: Your Kargo Entegratör API key
     - **Base URL**: https://app.kargoentegrator.com/api (default)

  ## Compatibility

  Tested against n8n version 1.0+.

  ## Usage

  ### Creating a Shipment

  1. Select "Shipment" as the resource
  2. Choose "Create" as the operation
  3. Fill in the required fields:
     - Receiver name, phone, and address
     - City and district
     - Cargo company ID
     - Package details (weight, count, description)

  ### Managing Returns

  Use the "Create Return" operation to create return shipments with the same interface as regular shipments.

  ### Getting Cargo Companies

  Use the "Cargo" resource to get information about available cargo companies and their IDs for use in shipment creation.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Kargo Entegratör API Documentation](https://documenter.getpostman.com/view/25047990/2sAY4vg2RR)
  * [Kargo Entegratör Website](https://kargoentegrator.com/)

  ## Version History

  ### 0.1.0
  - Initial release
  - Support for shipment creation, retrieval, and PDF generation
  - Support for return shipment management
  - Cargo company and warehouse information retrieval
  - Webhook trigger for shipment status changes
  - System settings access

  ## Contributing

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

  ## Support

  For support, please contact [destek@kargoentegrator.com](mailto:destek@kargoentegrator.com) or visit our [website](https://kargoentegrator.com/).

  ## License

  [MIT](https://github.com/gurmesoft/n8n-nodes-kargo-entegrator/blob/main/LICENSE.md)

ai_documentation_summary:
  {"purpose":"Provides actions to interact with the Kargo Entegratör API from n8n workflows to manage shipments, returns, customers and cargo company information.","capabilities":["Create shipment","Get shipment details","Create return shipment","Update customer information","Get all cargo companies","Get specific cargo company details","Configure API base URL (default https://app.kargoentegrator.com/api)"],"authentication":"API key required (configure API Key and Base URL in n8n credentials)","commonUseCases":["Automate creation of outbound shipments in a single workflow","Lookup shipment details programmatically","Create and manage return shipments","Update customer records when orders change","Fetch available cargo companies and their details to route shipments"],"limitations":["Community node — install/use at your own risk (must enable community nodes in n8n)","Documentation truncated in README; additional operations or details may be undocumented","No mention of event/webhook-triggered operations (appears to be action-based only)","No details about rate limits, pagination, or bulk operations in README"],"relatedNodes":[]}


