# nodes

node_type: n8n-nodes-cloudconvert.Cloudconvert
package_name: n8n-nodes-cloudconvert
display_name: Cloudconvert
description: A Node to send file conversion jobs to cloudconvert.com
category: Community
development_style: declarative
version: 0.1.7
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: yann_j
author_github_url: git+https://github.com/Yann-J/n8n-nodes-cloudconvert.git
npm_package_name: n8n-nodes-cloudconvert
npm_version: 0.1.7
community_fetched_at: 2026-01-07T20:08:17.647Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-cloudconvert

  ![logo](./nodes/CloudConvert/cloudconvert-logo.png)

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

  [![.github/workflows/publish-npm.yml](https://github.com/Yann-J/n8n-nodes-cloudconvert/actions/workflows/publish-npm.yml/badge.svg)](https://github.com/Yann-J/n8n-nodes-cloudconvert/actions/workflows/publish-npm.yml)

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

  [_CloudConvert_](https://cloudconvert.com) is an online service providing all sorts of file processing / transformation features, that can be used to convert or tweak PDFs, images, ebooks, audio, documents, etc...

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

  ## Installation

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

  ## Operations

  ### Action Node

  - Jobs:
    - Create (sync or async, with file upload / download options)
    - List
    - Get One
    - Delete
  - Webhooks
    - List
    - Delete

  ### Trigger Node

  - Receive webhook (with file download option)

  ## Credentials

  Authentication relies on an API key that you can generate from your CloudConvert [dashboard](https://cloudconvert.com/dashboard). Both live and [sandbox](https://sandbox.cloudconvert.com) environments are supported. You will likely need the `task.read` and `task.write` scopes, but the Trigger node also requires the `webhook.read` and `webhook.write` scopes.

  Note that sandbox credentials are separate from live credentials.

  ## Compatibility

  Tested on n8n 0.206.1

  ## Usage

  ### Sandbox Usage

  Note that it's strongly recommended to perform your tests against the sandbox environment, which needs to be enabled first and which uses a separate API key. Note that:

  - Separate credentials should be created for the live and sandbox environments.
  - The main limitation of the sandbox environment is that all imported files need to be whitelisted first before processing (based on the file's `md5` hash).

  ### Job Definitions

  The most useful operation is to send new conversion jobs to CloudConvert. The definition of each job is done in JSON format, and the [CloudConvert Job Builder UI](https://cloudconvert.com/api/v2/jobs/builder) can be used to build the job definition visually and interactively, and copy-paste the resulting JSON.

  Here's a sample workflow / node definition:

  ![logo](./docs/workflow.png)

  ![logo](./docs/sample.png)

  ### File Upload Support

  When checked, in the Create Job operation, the __Upload Input Binaries__ option will cause the following:

  - Binary attachments of any item sent to the node as input will be uploaded to CloudConvert as an `import/base64` task.
  - The tasks will be named `autoimport-<binary_name>`, where `<binary_name>` is the property name holding the attachment
  - The tasks will be automatically added to the job definition, there's no need to specify them. However, you will still need to specify the task name as input to any following task that is expected to process that imported file.

  ### File Download Support

  In the Create Job operation (only if the call is made synchronously), as well as in the Trigger node, there is an option to automatically download any resulting file exported by the job upon completion. Note that:

  - Only the files generated by `export/url` tasks are supported
  - The files will be added as binary attachments to the node's output items. The name of the binary property will be `<task_name>_<N>` where:
    - `<task_name>` is the name of the export task
    - `<N>` is the sequence number - since an export task may output more than one file. This will most often be `0`

  ### Webhook Signature Verification

  The Trigger node can optionally enforce signature verification on incoming calls. It will automatically fetch the signature key from the webhook definition in CloudConvert, and will use it to validate the signature sent in the webhook calls in the `CloudConvert-Signature` HTTP header, to ensure that the call is indeed being initiated from CloudConvert.

  When enabled, incoming webhook calls failing validation will be silently ignored.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [CloudConvert API Docs](https://cloudconvert.com/api/v2)
  - [The CloudConvert Visual Job Builder](https://cloudconvert.com/api/v2/jobs/builder#) which can be used to build the job definition JSON

  ## TODO

  - Improve logging?

ai_documentation_summary:
  {"purpose":"The Cloudconvert node allows users to send file conversion jobs to CloudConvert.com, enabling operations like converting files between formats (e.g., PDF, images, audio) using a JSON-defined job configuration, with support for uploading input files and downloading output files via synchronous calls or webhooks.","capabilities":["Create conversion jobs (sync or async) with file upload/download options","List, get, and delete jobs","List and delete webhooks","Receive webhook triggers with file download option","Upload input binaries as import/base64 tasks with auto-naming","Download output files from export/url tasks with sequence-based naming","Enforce webhook signature verification for security"],"authentication":"API key required; keys can be generated in the CloudConvert dashboard. Both live and sandbox environments are supported with separate credentials. Required scopes: `task.read`, `task.write` for actions; `webhook.read`, `webhook.write` for trigger node.","commonUseCases":["Converting documents (PDFs, DOCX) to other formats","Transforming images or audio files using CloudConvert's built-in tools","Automating file processing workflows with webhook triggers","Processing uploaded files directly in n8n workflows with automatic import and export"],"limitations":["Sandbox environment requires file whitelisting via MD5 hash","Only files generated by `export/url` tasks can be downloaded","Export files may have multiple outputs, requiring sequence numbering in naming","Webhook signature verification only validates incoming calls from CloudConvert"],"relatedNodes":["Webhook nodes","File handling nodes (for input/output management)"]}


node_type: plugins-help.PluginsHelp
package_name: plugins-help
display_name: PluginsHelp
description: Community node from plugins-help
category: Community
development_style: declarative
version: 0.0.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: aichats
author_github_url: git+https://github.com/<...>/n8n-nodes-<...>.git
npm_package_name: plugins-help
npm_version: 0.0.2
community_fetched_at: 2026-01-07T20:08:17.647Z
npm_readme: ERROR: No README data found!
ai_summary_generated_at: 2026-01-08 10:45:31
ai_documentation_summary:
  {"purpose":"The PluginsHelp node is a community-developed n8n node designed to provide assistance with plugins, likely offering help or information about available plugins in the n8n ecosystem.","capabilities":["Provides plugin-related help and information","May assist in discovering or understanding plugin functionality"],"authentication":"None","commonUseCases":["Helping users understand available plugins","Providing guidance on plugin usage or integration"],"limitations":["No detailed functionality or usage examples available","Lacks specific documentation or implementation details"],"relatedNodes":[]}


node_type: n8n-nodes-anymailfinder-official.AnymailfinderOfficial
package_name: n8n-nodes-anymailfinder-official
display_name: AnymailfinderOfficial
description: Official n8n community node for Anymail Finder - Find and verify email addresses
category: Community
development_style: declarative
version: 0.1.25
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: anymailfinder
npm_package_name: n8n-nodes-anymailfinder-official
npm_version: 0.1.25
community_fetched_at: 2026-01-07T20:08:17.647Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-anymailfinder-official

  Official n8n community node for [Anymail Finder](https://anymailfinder.com).

  Find and verify email addresses using Anymail Finder.

  ## Installation

  In n8n, go to **Settings → Community Nodes**, enter `n8n-nodes-anymailfinder-official`, and click **Install**.

  ## Authentication

  1. Get your Anymail Finder API key from `https://newapp.anymailfinder.com/settings/api`
  2. In n8n, go to **Credentials → Add New Credential**
  3. Search for **Anymail Finder API**, paste your key, and save

  ## Available Actions

  - Find a Person's Email
  - Find All Emails at a Company
  - Find Emails by LinkedIn URL
  - Find a Decision Maker's Email
  - Verify an Email

  ## Example Usage

  1. Add an **Anymail Finder** node to your workflow
  2. Select an operation (e.g., "Find a Person's Email")
  3. Enter the required fields (domain/company + name)
  4. Execute the node to get results

  **Tip:** Chain with other nodes, use a spreadsheet trigger to batch-find emails, or connect to a CRM to enrich contacts automatically.

  ## Documentation

  👉 <a href="https://anymailfinder.com/help/integrations/n8n" target="_blank" rel="noopener noreferrer">Full guide with screenshots and examples</a>

  API documentation: <a href="https://anymailfinder.com/email-finder-api/docs" target="_blank" rel="noopener noreferrer">Anymail Finder API docs</a>

  ## Support

  For questions or issues, contact [team@anymailfinder.com](mailto:team@anymailfinder.com).

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"The AnymailfinderOfficial node enables users to find and verify email addresses using Anymail Finder's API, supporting operations like finding emails by company, person, LinkedIn URL, or decision maker, and verifying email validity.","capabilities":["Find a Person's Email","Find All Emails at a Company","Find Emails by LinkedIn URL","Find a Decision Maker's Email","Verify an Email"],"authentication":"API key required; obtain it from https://newapp.anymailfinder.com/settings/api and configure it in n8n under Credentials → Add New Credential → Anymail Finder API","commonUseCases":["Batch finding email addresses for lead enrichment","Automatically verifying email addresses before outreach","Integrating with CRM systems to populate contact details","Using LinkedIn URLs to extract decision-maker emails"],"limitations":[],"relatedNodes":["Spreadsheet Trigger","CRM Nodes","Email Sending Nodes"]}


node_type: n8n-nodes-dinastiapi.Dinastiapi
package_name: n8n-nodes-dinastiapi
display_name: Dinastiapi
description: n8n community nodes for DinastiAPI - WhatsApp Multi-Device REST API
category: Community
development_style: declarative
version: 1.1.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: guilhermejansenoficial
author_github_url: git+https://github.com/guilhermejansen/n8n-nodes-dinastiapi.git
npm_package_name: n8n-nodes-dinastiapi
npm_version: 1.1.9
community_fetched_at: 2026-01-07T20:08:17.648Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-dinastiapi

  This is an n8n community node that provides a complete integration with [DinastiAPI](https://github.com/asternic/dinastiapi) - a multi-user and multi-device REST API for WhatsApp.

  DinastiAPI implements a robust WhatsApp Web API that allows you to send and receive messages, manage groups, handle media files, and much more through a simple REST interface.

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

  ## Table of Contents

  - [Installation](#installation)
  - [Operations](#operations)
  - [Credentials](#credentials)
  - [Nodes Overview](#nodes-overview)
  - [Message Configuration Parameters](#message-configuration-parameters)
  - [Usage Examples](#usage-examples)
  - [Features](#features)
  - [Error Handling](#error-handling)
  - [Compatibility](#compatibility)
  - [Resources](#resources)

  ## Installation

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

  ### Quick Installation

  1. In n8n, go to **Settings** > **Community Nodes**
  2. Click **Install a community node**
  3. Enter `n8n-nodes-dinastiapi`
  4. Click **Install**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-dinastiapi
  ```

  ## Operations

  This package includes 11 specialized nodes, each focused on specific WhatsApp operations:

  ### 🔐 DinastiAPI Credentials
  Handles authentication with your DinastiAPI instance.

  ### 📱 DinastiAPI Session
  - **Connect** - Connect to WhatsApp servers
  - **Disconnect** - Disconnect from WhatsApp
  - **Get Status** - Check connection status
  - **Get QR Code** - Get QR code for scanning
  - **Logout** - Logout and terminate session
  - **Pair Phone** - Get pairing code for phone
  - **Set Proxy** - Configure proxy settings
  - **Configure S3** - Set up S3 storage for media
  - **Test S3** - Test S3 connection

  ### 💬 DinastiAPI Message
  Send various types of messages:
  - **Text** - Send text messages
  - **Image** - Send images with optional captions
  - **Audio** - Send audio messages
  - **Video** - Send videos with optional captions
  - **Document** - Send documents of any type
  - **Sticker** - Send stickers
  - **Location** - Send location coordinates
  - **Contact** - Send contact cards (vCard)
  - **Template** - Send template messages with buttons
  - **Buttons** - Send interactive button messages
  - **List** - Send list messages
  - **Poll** - Send polls to groups

  ### 🗨️ DinastiAPI Chat
  Manage chat interactions:
  - **Delete Message** - Delete sent messages
  - **Edit Message** - Edit previously sent messages
  - **Download Media** - Download media from messages
  - **Mark as Read** - Mark messages as read
  - **React to Message** - Send reactions to messages
  - **Set Presence** - Show typing/recording indicators

  ### 👤 DinastiAPI User
  User information and presence:
  - **Check Users** - Check if users have WhatsApp
  - **Get User Info** - Get detailed user information
  - **Get Avatar** - Get user profile pictures
  - **Get Contacts** - Get all contacts
  - **Set Presence** - Set global online/offline status
  - **Get Business Profile** - Get complete business profile information
  - **Get Privacy Settings** - Get privacy settings for the current user
  - **Get My Status** - Get current user status message
  - **Set My Status** - Set current user status message
  - **Update Push Name** - Update display name (push name)
  - **Get LID From Phone** - Get Local ID (LID) from phone number/JID
  - **Get Phone From LID** - Get phone number/JID from Local ID (LID)
  - **List LID Mappings** - List all LID-Phone mappings

  ### 👥 DinastiAPI Group
  Complete group management:
  - **Create** - Create new groups
  - **List** - List all groups
  - **Get Info** - Get group information
  - **Get Invite Link** - Get group invite link
  - **Join** - Join group via invite
  - **Leave** - Leave a group
  - **Set Name** - Change group name
  - **Set Description** - Set group description
  - **Set Photo** - Set group photo
  - **Remove Photo** - Remove group photo
  - **Set Announce** - Enable/disable admin-only messages
  - **Set Locked** - Lock/unlock group info editing
  - **Set Ephemeral** - Configure disappearing messages
  - **Update Participants** - Add/remove/promote/demote members

  ### 🔗 DinastiAPI Webhook
  Configure webhook settings:
  - **Get** - Get current webhook configuration
  - **Set** - Configure webhook URL and events
  - **Update** - Update webhook settings
  - **Delete** - Remove webhook configuration

  ### 👨‍💼 DinastiAPI Admin
  Administrative operations (requires admin token):
  - **List Users** - List all DinastiAPI users
  - **Create User** - Create new user with token
  - **Delete User** - Delete user from database
  - **Delete User Full** - Complete user removal (DB, S3, logout)

  ### 🔔 DinastiAPI Trigger
  Receive real-time WhatsApp events with complete event mapping:
  - **Events** - Message, Read Receipt, Presence, History Sync, Chat Presence, All Events
  - **Advanced Filters** - Filter by sender phone, chat ID, message type, content, groups/direct, from me/others, token
  - **Message Type Detection** - Automatic detection of text, media, PTT, documents, stickers, URLs, locations, contacts, buttons, lists, templates, polls, orders, and unknown types
  - **Media Support** - Complete base64 and S3 media data extraction
  - **Content Parsing** - Intelligent message content extraction with type-specific fields
  - **Simplified Output** - Clean, structured output with all relevant fields mapped
  - **Raw Data Access** - Optional complete raw webhook data for debugging

  ### ⏳ DinastiAPI Send and Wait
  Send messages and wait for responses:
  - **Approval Messages** - Send messages with approval buttons
  - **Free Text Response** - Wait for user text input via web form
  - **Custom Forms** - Create custom forms for user responses
  - **Wait Time Limits** - Set maximum wait times
  - **Attribution** - Optional n8n branding

  ### 🤖 DinastiAPI AI
  Optimized for AI workflows and tools with complete message type support:
  - **Send Text** - Send text messages with AI-friendly interface
  - **Send Image** - Send images with captions (Binary/Base64/URL)
  - **Send Audio** - Send audio messages with PTT support (Binary/Base64/URL)
  - **Send Video** - Send videos with captions (Binary/Base64/URL)
  - **Send Document** - Send documents with filenames (Binary/Base64/URL)
  - **Send Location** - Send geographical coordinates with location names
  - **Send Contact** - Send contact information with VCard data
  - **Send Sticker** - Send stickers in WebP format (Binary/Base64/URL)
  - **Send Buttons** - Send interactive button messages for AI decision trees
  - **Send List** - Send structured lists with multiple options for AI menus
  - **Send Poll** - Send group polls for AI-driven surveys and decisions
  - **Get Status** - WhatsApp connection and session status
  - **Get Business Profile** - Get complete business profile information including business hours, categories, and contact details
  - **Get My Status** - Get current user status message and status settings
  - **Check User** - Validate if phone numbers have WhatsApp accounts
  - **Get Avatar** - Universal avatar retrieval for users, groups, newsletters, and LIDs
  - **Get User Info** - Detailed user information and presence data
  - **List Groups** - All WhatsApp groups with metadata
  - **List Newsletters** - Available newsletters and channels
  - **Universal Media Support** - All media types support Binary Data, Base64, and URL sources
  - **Mention System** - Complete mention support for specific users and all group members
  - **Batch Processing** - Process multiple recipients and message types efficiently
  - **Error Tolerance** - Continue workflow execution on individual failures
  - **AI Tools Compatible** - Perfect for use with n8n AI Tools and automation

  ## Credentials

  To use these nodes, you need to configure the DinastiAPI credentials:

  1. **API Token** - Your DinastiAPI user token for authentication
  2. **API URL** - The base URL of your DinastiAPI instance

  ### Credential Validation

  The credentials are automatically validated when configured. The validation provides real-time information about your DinastiAPI session:

  - **Authentication Status** - Confirms API token validity
  - **Session Information** - Shows session name, connection status, and login state
  - **Dynamic Messages** - Example: "Connected to setupautomatizado (Connected, Logged In)"

  3. **Advanced Options** (Optional):
     - **Proxy URL** - HTTP/SOCKS5 proxy for requests
     - **Request Timeout** - Timeout in milliseconds
     - **Retry on Failure** - Enable automatic retries
     - **Max Retries** - Maximum retry attempts

  ### Setting up DinastiAPI

  1. Install and run DinastiAPI following the [official documentation](https://github.com/asternic/dinastiapi)
  2. Create a user with an authentication token
  3. Use the token and API URL in n8n credentials

  ## Nodes Overview

  ### Modular Design

  This package follows a modular design where each node focuses on specific functionality:

  - **Session Management** - Connection, authentication, and configuration
  - **Messaging** - All message sending operations
  - **Chat Operations** - Message management and interactions
  - **User Operations** - User information and presence
  - **Group Management** - Complete group functionality
  - **Webhook Configuration** - Event subscription management
  - **Administration** - User management (admin only)
  - **Event Trigger** - Real-time event reception
  - **Send and Wait** - Interactive approval workflows
  - **AI Integration** - Optimized node for AI Tools and workflows

  ### Key Features

  - ✅ **Complete API Coverage** - All DinastiAPI endpoints implemented across 11 specialized nodes
  - 🔄 **Automatic Retry Logic** - Built-in retry mechanism with exponential backoff
  - 🛡️ **Robust Error Handling** - Graceful error handling with detailed messages
  - 🎯 **Type Safety** - Full TypeScript implementation with comprehensive type checking
  - 📦 **Universal Media Support** - Handle all media types with Binary Data, Base64, and URL sources
  - 🔐 **Multi-tenant Support** - Each user has independent WhatsApp sessions
  - ☁️ **S3 Integration** - Optional cloud storage for media files with automatic delivery
  - 🌐 **Proxy Support** - HTTP/SOCKS5 proxy configuration for all operations
  - ⚡ **High Performance** - Optimized for production use with efficient media handling
  - 🎨 **User-Friendly** - Intuitive interface with helpful descriptions and examples
  - 🤖 **Complete AI Integration** - Dedicated AI node with full message type support (11 types)
  - 💬 **Interactive Messages** - Full support for buttons, lists, polls, and stickers
  - 🎯 **Mention System** - Complete mention support for individuals and group-wide mentions
  - 📱 **Media Optimization** - Smart media source detection and URL support for reduced payloads
  - ✅ **Enhanced Validation** - Real-time credential validation with session status
  - 🔧 **Batch Processing** - Efficient processing of multiple operations with error tolerance
  - 🌍 **Multi-format Support** - WebP stickers, VCard contacts, geographic locations
  - 📊 **Group Intelligence** - Advanced group management with polls and administrative controls

  ## Message Configuration Parameters

  ### Advanced Message Options

  Both **DinastiAPIMessage** and **DinastiAPIAI** nodes support comprehensive message configuration through the **Additional Options** section:

  #### Core Parameters
  - **Message ID** - Custom message identifier for tracking (auto-generated if not provided)
  - **Presence Simulation** - Simulate typing/recording indicators (0-30,000ms)
    - Text/Documents: Shows typing indicator
    - Audio/Video: Shows recording indicator
    - Example: `2000` for 2-second typing simulation

  #### WhatsApp Features
  - **Message Duration** - Disappearing messages with expiration times:
    - `0` - No expiration (default)
    - `86400` - 24 hours
    - `604800` - 7 days  
    - `7776000` - 90 days

  - **View Once** - Single-view messages (image/video/audio only)
    - `true` - Message disappears after single view
    - `false` - Normal message (default)

  - **Link Preview** - Automatic URL preview for text messages
    - `true` - Generate rich link previews
    - `false` - Plain text URLs (default)

  #### Message Context & Threading
  - **Forward Message** - Mark message as forwarded
    - `isForwarded: true` - Shows "Forwarded" label
    
  - **Reply To Message** - Thread replies to specific messages
    ```json
    {
      "contextInfo": {
        "context": [{
          "stanzaId": "MESSAGE_ID_TO_REPLY_TO",
          "participant": "5491155553935@s.whatsapp.net"
        }]
      }
    }
    ```

  - **Forward Information** - Enhanced forwarding structure
    ```json
    {
      "forwardInfo": {
        "forward": [{
          "isForwarded": true
        }]
      }
    }
    ```

  #### Mention System
  - **Specific Users** - Mention individual users
    ```json
    {
      "mentions": {
        "mentionConfig": [{
          "type": "specific",
          "jids": "5491155553934@s.whatsapp.net,5491155553935@s.whatsapp.net"
        }]
      }
    }
    ```

  - **All Group Members** - Mention everyone in group
    ```json
    {
      "mentions": {
        "mentionConfig": [{
          "type": "all"
        }]
      }
    }
    ```

  ### Supported Recipients

  All messaging operations support multiple recipient types:

  - **Phone Numbers**: `5491155553934` (automatically formatted to @s.whatsapp.net)
  - **Groups**: `120363312246943103@g.us`
  - **Newsletters**: `120363025246943103@newsletter`
  - **LIDs**: `user@lid`

  ### Media Source Options

  All media types (image, audio, video, document, sticker) support three source types:

  #### Binary Data
  ```json
  {
    "imageSource": "binary",
    "binaryProperty": "data"
  }
  ```

  #### Base64 Encoding
  ```json
  {
    "imageSource": "base64", 
    "imageBase64": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAA..."
  }
  ```

  #### URL Sources
  ```json
  {
    "imageSource": "url",
    "imageUrl": "https://example.com/image.jpg"
  }
  ```

  ### Message Types & Parameters

  #### Text Messages
  ```json
  {
    "messageType": "text",
    "phone": "5491155553934",
    "body": "Hello World!",
    "additionalOptions": {
      "linkPreview": true,
      "presence": 2000
    }
  }
  ```

  #### Image Messages
  ```json
  {
    "messageType": "image",
    "phone": "5491155553934", 
    "imageSource": "url",
    "imageUrl": "https://example.com/image.jpg",
    "caption": "Check this out!",
    "additionalOptions": {
      "viewOnce": true,
      "presence": 1500
    }
  }
  ```

  #### Audio Messages
  ```json
  {
    "messageType": "audio",
    "phone": "5491155553934",
    "audioSource": "url", 
    "audioUrl": "https://example.com/audio.ogg",
    "additionalOptions": {
      "presence": 3000
    }
  }
  ```

  #### Video Messages
  ```json
  {
    "messageType": "video",
    "phone": "5491155553934",
    "videoSource": "url",
    "videoUrl": "https://example.com/video.mp4", 
    "caption": "Amazing video!",
    "additionalOptions": {
      "viewOnce": true,
      "duration": 86400
    }
  }
  ```

  #### Document Messages
  ```json
  {
    "messageType": "document",
    "phone": "5491155553934",
    "documentSource": "url",
    "documentUrl": "https://example.com/document.pdf",
    "fileName": "report.pdf",
    "additionalOptions": {
      "presence": 2500
    }
  }
  ```

  #### Location Messages
  ```json
  {
    "messageType": "location",
    "phone": "5491155553934",
    "latitude": 48.858370,
    "longitude": 2.294481,
    "locationName": "Eiffel Tower"
  }
  ```

  #### Contact Messages
  ```json
  {
    "messageType": "contact",
    "phone": "5491155553934",
    "contactName": "John Doe",
    "vcard": "BEGIN:VCARD\nVERSION:3.0\nFN:John Doe\nTEL:+1234567890\nEND:VCARD"
  }
  ```

  #### Button Messages
  ```json
  {
    "messageType": "buttons",
    "phone": "5491155553934",
    "body": "Choose an option:",
    "additionalOptions": {
      "mentions": {
        "mentionConfig": [{
          "type": "all"
        }]
      }
    }
  }
  ```

  #### List Messages  
  ```json
  {
    "messageType": "list",
    "phone": "120363312246943103@g.us",
    "buttonText": "Choose Service",
    "description": "Select the service you need",
    "topText": "Available Services",
    "footerText": "Powered by AI",
    "listItems": {
      "item": [
        {
          "title": "Technical Support",
          "desc": "Get help with technical issues", 
          "rowId": "tech_support"
        },
        {
          "title": "Sales Information",
          "desc": "Learn about our products",
          "rowId": "sales_info"
        }
      ]
    }
  }
  ```

  #### Poll Messages
  ```json
  {
    "messageType": "poll",
    "phone": "120363312246943103@g.us",
    "pollHeader": "Which feature should we prioritize?",
    "pollOptions": "AI Chat,Voice Messages,File Sharing,Video Calls"
  }
  ```

  #### Link Messages
  ```json
  {
    "messageType": "link",
    "phone": "5491155553934",
    "link": "https://example.com",
    "linkCaption": "Check out this amazing website!",
    "additionalOptions": {
      "presence": 1000
    }
  }
  ```

  #### Sticker Messages
  ```json
  {
    "messageType": "sticker",
    "phone": "5491155553934",
    "stickerSource": "url",
    "stickerUrl": "https://example.com/sticker.webp"
  }
  ```

  ### Complete Example with All Features

  ```json
  {
    "messageType": "image",
    "phone": "120363312246943103@g.us",
    "imageSource": "url",
    "imageUrl": "https://example.com/photo.jpg",
    "caption": "Team photo from today's meeting! @everyone",
    "additionalOptions": {
      "id": "custom_msg_001",
      "presence": 2000,
      "duration": 604800,
      "viewOnce": false,
      "isForwarded": true,
      "contextInfo": {
        "context": [{
          "stanzaId": "PREVIOUS_MESSAGE_ID",
          "participant": "5491155553935@s.whatsapp.net"
        }]
      },
      "mentions": {
        "mentionConfig": [{
          "type": "all"
        }]
      },
      "forwardInfo": {
        "forward": [{
          "isForwarded": true
        }]
      }
    }
  }
  ```

  ### Best Practices

  #### Presence Simulation
  - **Text Messages**: Use 1000-3000ms for natural typing simulation
  - **Audio Messages**: Use 2000-5000ms for recording simulation  
  - **Long Messages**: Calculate ~100ms per word for realistic timing
  - **Groups**: Keep under 2000ms to avoid spam appearance

  #### Message Duration
  - **Sensitive Data**: Use 24 hours (86400) for confidential information
  - **Temporary Messages**: Use 7 days (604800) for time-sensitive content
  - **Compliance**: Use 90 days (7776000) for audit trail requirements

  #### View Once Messages
  - **Security**: Use for passwords, sensitive documents, private photos
  - **Business**: Use for confidential reports, temporary access codes
  - **Support**: Supported only for image, video, and audio messages

  #### Mentions
  - **Groups**: Use `type: "all"` sparingly to avoid notification fatigue
  - **Specific**: Always include proper JID format (@s.whatsapp.net)
  - **Mixed**: You can combine specific mentions with other message features

  #### Media Sources
  - **Performance**: URL sources are fastest and reduce payload size
  - **Reliability**: Binary data is most reliable for critical media
  - **Compatibility**: Base64 offers good balance of reliability and performance

  #### Error Handling
  - **Continue on Fail**: Enable for batch operations to process all items
  - **Validation**: Always validate phone numbers and JIDs before sending
  - **Timeouts**: Set appropriate timeouts for media-heavy operations

  ## Usage Examples

  ### Send a Text Message

  ```javascript
  // Using DinastiAPI Message node
  {
    "messageType": "text",
    "phone": "5491155553934",
    "body": "Hello from n8n!"
  }
  ```

  ### Send an Image with Caption

  ```javascript
  // Using DinastiAPI Message node
  {
    "messageType": "image",
    "phone": "5491155553934",
    "imageSource": "binary",
    "binaryProperty": "data",
    "caption": "Check out this image!"
  }
  ```

  ### Create a Group

  ```javascript
  // Using DinastiAPI Group node
  {
    "operation": "create",
    "groupName": "My n8n Group",
    "participants": "5491155553934,5491155553935"
  }
  ```

  ### Set Up Webhook Trigger

  ```javascript
  // Using DinastiAPI Trigger node - Basic setup
  {
    "events": ["Message", "ReadReceipt"],
    "filters": {
      "messageType": "text",
      "isGroup": "false"
    }
  }
  ```

  ### Advanced Trigger Configuration

  ```javascript
  // Complete trigger setup with all features
  {
    "events": ["Message"],
    "filters": {
      "fromPhone": "5521971532700@s.whatsapp.net",
      "chatId": "120363312246943103@g.us",
      "messageType": "media",
      "containsText": "urgent",
      "isGroup": "true",
      "isFromMe": "false",
      "tokenFilter": "setupautomatizado"
    },
    "options": {
      "simplifyOutput": true,
      "includeMediaData": true,
      "parseMessageContent": true,
      "includeRawData": false
    }
  }
  ```

  ### Trigger Output Example

  ```javascript
  // Simplified output for a text message
  {
    "eventType": "Message",
    "token": "setupautomatizado",
    "messageId": "A6BA5FB09055C47722F936C3FC74D98F",
    "chat": "5521971532700@s.whatsapp.net", 
    "sender": "5521971532700@s.whatsapp.net",
    "timestamp": "2025-05-28T06:47:26-03:00",
    "messageType": "text",
    "isFromMe": false,
    "isGroup": false,
    "pushName": "Guilherme Jansen",
    "verifiedName": "Guilherme Jansen - Setup Automatizado",
    "text": "Oi"
  }
  ```

  ### Media Message Output

  ```javascript
  // Output for audio message with S3 and base64 data
  {
    "eventType": "Message",
    "messageType": "ptt",
    "audioUrl": "https://mmg.whatsapp.net/v/...",
    "duration": 3,
    "mimeType": "audio/ogg; codecs=opus",
    "mediaBase64": "T2dnUwACAAAAAAAA...",
    "mediaMimeType": "application/ogg",
    "mediaFileName": "DB56752B6A203E5A96A2E533C4D0A7CF.oga",
    "s3Data": {
      "bucket": "evolution",
      "key": "users/2fb8378b312c1d2dd127e094d9a99115/inbox/...",
      "url": "https://s3.setupautomatizado.com.br/evolution/...",
      "size": 8084
    }
  }
  ```

  ### Interactive Message Output

  ```javascript
  // Output for buttons message
  {
    "eventType": "Message",
    "messageType": "buttons",
    "text": "ESCOLHA O MENU!",
    "buttons": [
      {
        "id": "81ad952f-1085-4d2c-a4b9-de228cfc4117",
        "text": "SUPORTE",
        "type": 1
      },
      {
        "id": "a4767ccb-ded6-4edd-be6a-363972fdaa0f",
        "text": "COMERCIAL",
        "type": 1
      },
      {
        "id": "8f72fd66-1e6f-48bd-a5b5-c509fcc5a9f1",
        "text": "ATENDIMENTO",
        "type": 1
      }
    ]
  }

  // Output for list message
  {
    "eventType": "Message",
    "messageType": "list",
    "title": "<HEADER_TEXT>",
    "text": "<BODY_TEXT>",
    "buttonText": "<BUTTON_TEXT>",
    "sections": [
      {
        "title": "<LIST_SECTION_1_TITLE>",
        "rows": [
          {
            "id": "<LIST_SECTION_1_ROW_1_ID>",
            "title": "<SECTION_1_ROW_1_TITLE>",
            "description": "<SECTION_1_ROW_1_DESC>"
          }
        ]
      }
    ]
  }
  ```

  ### Send AI-Generated Message

  ```javascript
  // Using DinastiAPI AI node - Perfect for AI workflows
  {
    "operation": "sendText",
    "phoneNumber": "5491155553934",
    "message": "Hello! This is an AI-generated response from n8n."
  }
  ```

  ### Send Multiple Media Files (AI Batch)

  ```javascript
  // Using DinastiAPI AI node with multiple items
  [
    {
      "operation": "sendImage",
      "phoneNumber": "5491155553934",
      "imageSource": "url",
      "imageUrl": "https://example.com/image1.jpg",
      "caption": "AI Analysis Result 1"
    },
    {
      "operation": "sendDocument",
      "phoneNumber": "5491155553935",
      "documentSource": "url", 
      "documentUrl": "https://example.com/report.pdf",
      "fileName": "AI_Report.pdf",
      "caption": "Generated Report"
    }
  ]
  ```

  ### Send Interactive Messages with AI

  ```javascript
  // Send sticker for reactions
  {
    "operation": "sendSticker",
    "phoneNumber": "5491155553934",
    "stickerSource": "url",
    "stickerUrl": "https://example.com/thumbs-up.webp"
  }

  // Send buttons for AI decision tree
  {
    "operation": "sendButtons",
    "phoneNumber": "5491155553934",
    "message": "How can I help you today?",
    "additionalOptions": {
      "mentions": {
        "mentionConfig": [{
          "type": "specific",
          "jids": "5491155553934@s.whatsapp.net"
        }]
      }
    }
  }

  // Send list for AI-generated menu
  {
    "operation": "sendList",
    "phoneNumber": "120363312246943103@g.us",
    "buttonText": "Choose Service",
    "description": "Select the service you need",
    "topText": "AI Assistant Services",
    "footerText": "Powered by AI",
    "listItems": {
      "item": [
        {
          "title": "Technical Support",
          "desc": "Get help with technical issues",
          "rowId": "tech_support"
        },
        {
          "title": "Sales Information", 
          "desc": "Learn about our products",
          "rowId": "sales_info"
        },
        {
          "title": "General Questions",
          "desc": "Ask any general questions",
          "rowId": "general_qa"
        }
      ]
    }
  }

  // Send poll for group decisions
  {
    "operation": "sendPoll",
    "phoneNumber": "120363312246943103@g.us",
    "pollHeader": "Which feature should we prioritize?",
    "pollOptions": "AI Chat Enhancement,Voice Messages,File Sharing,Video Calls"
  }
  ```

  ### AI Tools Integration Examples

  ```javascript
  // Complete AI workflow with mentions and media
  {
    "operation": "sendVideo",
    "phoneNumber": "5491155553934",
    "videoSource": "base64",
    "videoBase64": "data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc...",
    "caption": "Here's your AI-generated tutorial video",
    "additionalOptions": {
      "id": "ai_tutorial_001",
      "mentions": {
        "mentionConfig": [{
          "type": "all"
        }]
      }
    }
  }

  // AI processing with binary data from previous nodes
  {
    "operation": "sendDocument",
    "phoneNumber": "5491155553934",
    "documentSource": "binary",
    "documentBinaryProperty": "processed_report",
    "fileName": "AI_Analysis_Report.pdf",
    "caption": "Your personalized AI analysis is ready!"
  }

  // Get business profile information
  {
    "operation": "businessProfile",
    "businessPhone": "5491155553934"
  }

  // Get privacy settings
  {
    "operation": "privacySettings"
  }

  // Update push name
  {
    "operation": "updatePushName",
    "pushName": "João Silva - Updated"
  }

  // Get current status
  {
    "operation": "getMyStatus"
  }

  // Set new status
  {
    "operation": "setMyStatus",
    "statusMessage": "Available for work! 🚀"
  }

  // AI Tools - Get business profile
  {
    "operation": "getBusinessProfile",
    "businessPhoneNumber": "5491155553934"
  }

  // AI Tools - Get my status
  {
    "operation": "getMyStatus"
  }
  ```

  ## Error Handling

  All nodes include comprehensive error handling:

  - **Automatic Retries** - Failed requests are retried with exponential backoff
  - **Continue on Fail** - Option to continue workflow execution on errors
  - **Detailed Error Messages** - Clear error descriptions for debugging
  - **HTTP Status Codes** - Proper status code handling
  - **Authentication Errors** - No retry on authentication failures

  ## Compatibility

  - **n8n Version**: Minimum n8n Version: While the node might work with earlier versions, it has been developed and tested primarily on n8n version 1.19.3.
  - **Node.js**: 20.15 or higher  
  - **DinastiAPI**: Compatible with all DinastiAPI versions
  - **WhatsApp**: Supports all current WhatsApp message types including interactive content
  - **Media Formats**: 
    - Images: JPEG, PNG, WebP
    - Videos: MP4, AVI, MOV (H.264 codec recommended)
    - Audio: OGG (Opus), MP3, WAV, AAC
    - Documents: PDF, DOCX, XLSX, TXT, and all file types
    - Stickers: WebP format (recommended), PNG with transparency

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [DinastiAPI Documentation](https://github.com/asternic/dinastiapi)
  - [DinastiAPI API Documentation](https://github.com/asternic/dinastiapi/blob/main/API.md)
  - [WhatsApp Business API](https://developers.facebook.com/docs/whatsapp)

  ## Support

  For issues and feature requests, please use the [GitHub issues page](https://github.com/guilhermejansen/n8n-nodes-dinastiapi/issues).

  ## License

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

  ## Author

  Guilherme Jansen - [guilherme@setupautomatizado.com.br](mailto:guilherme@setupautomatizado.com.br)

  ---

  Made with ❤️ for the n8n community

ai_documentation_summary:
  {"purpose":"The Dinastiapi node enables full integration with DinastiAPI's WhatsApp multi-device REST API, allowing users to send and receive messages, manage chats, groups, users, and configure webhooks in n8n workflows.","capabilities":["Send text, image, audio, video, document, sticker, location, contact, template, button, list, and poll messages","Manage WhatsApp chats: delete, edit, download media, mark as read, react, and set presence","Manage users: check availability, get info, update status, push name, and LID mappings","Create, join, leave, and manage groups with full configuration (name, description, photo, permissions, etc.)","Configure webhooks to receive real-time WhatsApp events with filtering and content parsing","Send messages with approval or custom forms and wait for user responses","Support for S3 media storage and proxy configuration","Handle media files via base64 or S3 with automatic content extraction"],"authentication":"API key or admin token required via credentials node","commonUseCases":["Automated WhatsApp messaging for customer support","Real-time event triggering on new messages or group activities","User onboarding with interactive forms and approval workflows","Group management automation (e.g., adding members, updating settings)","Media sharing and retrieval in automated workflows"],"limitations":["Requires a valid DinastiAPI instance and active WhatsApp session","Webhook events may have latency or depend on server-side processing","No support for end-to-end encryption or WhatsApp business account verification","Limited to multi-device setup; single-device functionality may not be fully supported"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.httpRequest","n8n-nodes-base.function","n8n-nodes-base.set","n8n-nodes-base.wait"]}


node_type: n8n-nodes-bedrive.Bedrive
package_name: n8n-nodes-bedrive
display_name: Bedrive
description: n8n nodes for Bedrive integration
category: Community
development_style: declarative
version: 1.5.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: rdawgemfl
author_github_url: git+https://github.com/rfitzpat/n8n-nodes-bedrive.git
npm_package_name: n8n-nodes-bedrive
npm_version: 1.5.1
community_fetched_at: 2026-01-07T20:08:17.648Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-bedrive

  This package provides n8n nodes for integrating with Bedrive cloud storage.

  ## Installation

  Install the package from the n8n community nodes directory or build from source.

  ## Features

  - Upload files to Bedrive
  - Download files from Bedrive
  - List files and folders
  - Delete files
  - Create folders

  ## Usage

  1. Configure your Bedrive API credentials in n8n
  2. Add the Bedrive node to your workflow
  3. Select the desired operation (upload, download, list, delete, create folder)
  4. Configure the operation parameters

  ## Development

  ### Building

  ```bash
  npm install
  npm run build
  ```

  ### Development

  ```bash
  npm run dev
  ```

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"The Bedrive node enables integration with Bedrive cloud storage by allowing users to upload, download, list, delete files, and create folders within the Bedrive platform.","capabilities":["Upload files to Bedrive","Download files from Bedrive","List files and folders","Delete files","Create folders"],"authentication":"API credentials required","commonUseCases":["Syncing files between local systems and Bedrive","Automating file organization by creating folders and listing contents","Automated backups by uploading or downloading files","Managing file storage through deletion and retrieval"],"limitations":[],"relatedNodes":["Cloud storage nodes","File management nodes"]}


node_type: n8n-nodes-feishu-lark.FeishuLark
package_name: n8n-nodes-feishu-lark
display_name: FeishuLark
category: Community
development_style: declarative
version: 0.10.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: GitHub Actions
author_github_url: git+https://github.com/zhgqthomas/n8n-nodes-feishu-lark.git
npm_package_name: n8n-nodes-feishu-lark
npm_version: 0.10.0
community_fetched_at: 2026-01-07T20:08:17.648Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n custom nodes for n8n to interact with Feishu/Lark, including Lark Bot, Lark MCP, and Lark Trigger.

npm_readme:
  [English](https://github.com/zhgqthomas/n8n-nodes-feishu-lark/blob/main/README-EN.md)

  # n8n-nodes-feishu-lark

  本项目是基于 [n8n-nodes-feishu-lite](https://github.com/other-blowsnow/n8n-nodes-feishu-lite) 之上进行的二次开发，感谢原作者的开源贡献。在原有功能基础上，增加了 `LarkTrigger` 和 `LarkMCP` 节点以及一些操作上的优化。

  # 使用教程
  ## 视频教程
  - [从0开始在飞书搭建一个AI生图工具！【n8n 教程】](https://www.bilibili.com/video/BV1Zos1zME16/?vd_source=d35758d60056879c9a188d7e8760e7f1)
  - [如何把 Zlibrary 搬到飞书里【n8n教程】](https://www.bilibili.com/video/BV1tj1yBJEuX/?vd_source=d35758d60056879c9a188d7e8760e7f1)

  ## Credentials

  在调用飞书开放平台 OpenAPI 时，可能会用到 `tenant_access_token`、`user_access_token`。

  `tenant_access_token` 代表使用应用的身份操作 OpenAPI，API 所能操作的数据资源范围受限于应用的身份所能操作的资源范围。

  `user_access_token` 代表使用应用的使用者的身份操作 OpenAPI，API 所能操作的数据资源范围受限于用户的身份所能操作的资源范围。

  ### Tenant Token 配置

  在 Add new credential 的选项里选择 `Lark Tenant Token API`，将飞书应用后台里的 `App ID` 和 `App Secret` 依次填入到图片中的输入框里即可。
  ![](./images/lark_tenant_token_credential.png)

  > `App ID` 和 `App Secret` 的获取方法，请查看飞书的[官方文档](https://open.feishu.cn/document/server-docs/api-call-guide/terminology)。

  ### User Token 配置

  在 Add new credential 的选项里选择 `Lark OAuth2 API`，将飞书应用后台里的 `App ID` 和 `App Secret` 依次填入到图片中的输入框里对应的 `Client ID` 和 `Client Secret`。
  ![](./images/lark_oauth2_credential.png)

  上图中的 `OAuth Redirect URL` 需要配置在飞书的应用后台当中。具体路径为打开应用的详情页面，选择`安全设置`，即可看见设置`重定向 URL`的地方。
  ![](./images/lark_redirect_url_setting.png)

  OAuth2.0 的认证方式里是需要设置权限的对应 Scope 有哪些，需要在飞书的应用后台的`权限管理`选项里，开通对应的权限后，将权限名称以特定的格式输入到`Lark OAuth2 API` 的 `Scope` 输入框里。

  例如，需要授权离线访问数据和创建多维表格的权限，首先要在应用后台的`权限管理`，点击`开通权限`，在弹出的选项当中选择离线访问数据和创建多维表格，开通对应的权限。然后将 Scope 的名称 `base:app:create,offline_access` 输入到 `Lark OAuth2 API` 中的 Scope 输入框中。点击保存后，会弹出飞书的认证页面。
  ![](./images/lark_oauth2_scope.png)

  > 建议开通 `offline_access` 的权限，以方便 n8n 可以通过 refresh token 来自动对过期的 access token 进行更新

  ## Triggers

  通过事件订阅，n8n 应用可以及时响应飞书中的变更事件。当事件发生时，开放平台会按照配置的订阅方式发送事件消息。

  ### Websocket

  **Websocket 是飞书推荐的接收事件的方式，但是目前只适用于中国版的飞书，国际版的 Lark 只能选择 Webhook 的方式来接收事件。**

  通过在空白的 n8n canvas 上搜索并点击 Lark 后，会自动出现 Trigger 的选项，该 Trigger 使用的就是 Websocket 链接方式
  ![](./images/lark_trigger_canvas.png)

  `Lark Trigger` 是使用 `tenant_access_token` 来接收飞书发送的事件推送因为必须提前配置好 `Lark Tenant Token API` 的 Credential.
  ![](./images/lark_trigger.png)

  `Any Event` 是可以接受所有的来自飞书的事件，而无需单独选择某个特定的事件。但是依旧需要在飞书后台的`事件与回调`的选项里添加对应的事件后，应用才可以正常收到对应的事件通知。

  ![](./images/lark_add_event.png)

  > 关于 Websocket 连接方式在飞书后台的配置方法，请查看飞书[官方文档](https://open.feishu.cn/document/server-docs/event-subscription-guide/event-subscription-configure-/request-url-configuration-case)。

  ### Webhook

  Webhook 接收飞书的事件方式是使用 `parse webhook` operation 然后搭配 n8n 的官方 `Webhook` 和 `Respond to Webhook` 来实现的。

  ![](./images/lark_webhook_flow.png)

  源码当中提供了 Webhook 的一个 Workflow 的[演示文件](https://github.com/zhgqthomas/n8n-nodes-feishu-lark/blob/main/demo/webhook_workflow.json)，可以直接导入到 n8n 当进行使用。

  > 关于 Webhook 连接方式在飞书后台的配置方法，请查看飞书[官方文档](https://open.feishu.cn/document/event-subscription-guide/event-subscriptions/event-subscription-configure-/choose-a-subscription-mode/send-notifications-to-developers-server)。

  ## 自定义的 Operations

  ### Parse Message

  对飞书的事件回调数据结构进行解析，并根据不同的事件类型进行分支处理
  ![](./images/lark_parse_content.png)

  > 查看飞书[官方文档](https://open.feishu.cn/document/server-docs/im-v1/message-content-description/message_content)了解不同的消息内容类型。

  ### Send and Wait

  通过选择 `Send and Wait` 操作，应用会发送一个消息到飞书，并暂停工作流的执行，直到有人确认该操作或提供更多信息。

  ![](./images/lark_send_and_wait.png)

  > 可以通过该 Operation 来实现 Human in the loop 的策略机制。

  ### Send Streaming Message

  n8n 在 1.3.0 版本当中，[为 `Webhook node` 和 `AI Agent node` 添加了 Streaming 的能力](https://docs.n8n.io/release-notes/#n8n11030)。`Send Streaming Message` node 通过调用 Webhook node 将 AI Agent 的 output 以 Streaming 的形式，推送给飞书机器人。效果如下所示。

  ![485422619-bb057729-c802-4052-bb10-eadf8b6cb843](https://github.com/user-attachments/assets/5ef79b84-bdb1-4203-b561-807e52676d16)


  > [Demo json 文件](https://github.com/zhgqthomas/n8n-nodes-feishu-lark/blob/main/demo/send_streaming_message.json)

  ### MCP node

  `listTool` 和 `executeTool` 两个 Operation，会调用飞书官方的 lark-openapi-mcp 开源库，实现 AI Agent 通过 MCP 协议调用飞书 OpenAPI。并且为 MCP Operation 添加了特有的 Crediential 以实现 MCP 可以使用 user token 进行飞书 API 的调用。[Demo json 文件](https://github.com/zhgqthomas/n8n-nodes-feishu-lark/blob/main/demo/lark_mcp.json)

  ![](./images/lark_mcp_nodes.png)

  > 关于 lark-openapi-mcp 更多的介绍，请查看[飞书官方文档](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/mcp_integration/mcp_introduction)

  ## 许可证

  MIT License

  ## 链接

  - [项目主页](https://github.com/zhgqthomas/n8n-nodes-lark-feishu)
  - [飞书开放平台文档](https://open.feishu.cn/document/)
  - [n8n 社区节点文档](https://docs.n8n.io/integrations/community-nodes/)

  ## Star History

  [![Star History Chart](https://api.star-history.com/svg?repos=zhgqthomas/n8n-nodes-feishu-lark&type=Date)](https://www.star-history.com/#zhgqthomas/n8n-nodes-feishu-lark&Date)

ai_documentation_summary:
  {"purpose":"The FeishuLark node enables n8n workflows to interact with Feishu/Lark by providing integration with Lark Bot, Lark MCP, and Lark Trigger, allowing event subscription, message parsing, AI agent tool execution, and real-time message streaming.","capabilities":["Lark Trigger via Websocket (China version) or Webhook (international version)","Parse incoming Lark event messages by type","Send messages to Lark with support for streaming (n8n 1.3.0+)","Send and wait for user confirmation (human-in-the-loop)","Execute Lark MCP tools using user or tenant tokens","Access Lark OpenAPI via MCP protocol with scoped permissions"],"authentication":"Requires either a Tenant Access Token (using App ID and App Secret) or User Access Token (via OAuth2 with Client ID, Client Secret, and Scope; includes offline_access for token refresh)","commonUseCases":["Set up real-time event triggers from Lark (e.g., message, file, or task updates)","Integrate AI agents with Lark via MCP to perform actions like creating tables or sending messages","Implement human-in-the-loop workflows by pausing execution until user confirmation","Stream AI-generated content directly to Lark bots in real time","Automate data synchronization or notifications between n8n and Lark"],"limitations":["Websocket trigger only works with China version of Feishu; international Lark users must use Webhook","MCP operations require proper scopes configured in Lark app settings and user-level permissions","Streaming message support requires n8n 1.3.0 or later","No built-in support for all Lark APIs; functionality depends on available scopes and MCP tool availability"],"relatedNodes":["Webhook","Respond to Webhook","AI Agent","Parse JSON","Human in the Loop"]}


node_type: n8n-nodes-autentique.Autentique
package_name: n8n-nodes-autentique
display_name: Autentique
description: Node customizado do n8n para integração com Autentique
category: Community
development_style: declarative
version: 2.1.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: ramonmatias19
author_github_url: git+https://github.com/ramonmatias19/n8n-nodes-autentique.git
npm_package_name: n8n-nodes-autentique
npm_version: 2.1.3
community_fetched_at: 2026-01-07T20:08:17.649Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-autentique

  <p align="center"><br>
  Este Community Node é uma solução 100% gratuita, criada com o intuito de simplificar e auxiliar toda a comunidade a integrar e utilizar ao máximo os principais recursos oferecidos pela <b>Autentique</b> em seus projetos no N8N.
  </p>
  <br>
  	
  <div align="center">
    <img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.npmjs.org%2Fdownloads%2Fpoint%2Flast-year%2Fn8n-nodes-autentique&query=downloads&style=for-the-badge&label=Total%20de%20Downloads&labelColor=%230d1117&color=%23359514&cacheSeconds=30&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fn8n-nodes-agendor" alt="Downloads Badge">
    <img src="https://img.shields.io/npm/v/n8n-nodes-autentique?style=for-the-badge&label=Versão&labelColor=%230d1117&color=%23007ACC" alt="Version Badge">
    <img src="https://img.shields.io/npm/l/n8n-nodes-autentique?style=for-the-badge&label=Licença&labelColor=%230d1117&color=%23FFA500" alt="License Badge">
  </div>
  <br>

  <p align="center">
    <a href="mailto:contato@lumiaria.com.br"><img src="https://img.shields.io/badge/Email-Suporte-red?style=for-the-badge&logo=gmail&logoColor=white" alt="Email"></a>     
    <a href="https://github.com/ramonmatias19/n8n-nodes-autentique"><img src="https://img.shields.io/badge/GitHub-Repositório-black?style=for-the-badge&logo=github&logoColor=white" alt="GitHub"></a>     
    <a href="https://www.npmjs.com/package/n8n-nodes-autentique"><img src="https://img.shields.io/badge/NPM-Package-red?style=for-the-badge&logo=npm&logoColor=white" alt="NPM"></a>
  </p>

  > **Aviso:** Este node foi desenvolvido de forma independente para facilitar integrações com a API pública da Autentique no n8n.  
  > Não é afiliado, endossado ou mantido pela Autentique.  
  > Todas as marcas citadas pertencem aos seus respectivos proprietários.

  <h1></h1>

  <h3>⚙️ Requisitos</h3>

  Para utilizar o nosso **Community Node**, é necessário atender aos seguintes requisitos:  
  - **N8N** na versão **1.54.4** ou superior  
  - **Node.js** na versão **16.0.0** ou superior  
  - **Conta ativa** na **Autentique** com token de API  

  <h1></h1>

  <h3>📌 Recursos Disponíveis</h3>

  <h3>📄 Documentos</h3>
  📋 Este recurso oferece acesso completo às principais funcionalidades relacionadas ao gerenciamento de documentos na Autentique. Ele permite realizar operações essenciais, como criar novos documentos, fazer upload de arquivos, buscar documentos existentes, atualizar informações e monitorar o status de processamento de forma prática e eficiente.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Criar Documento</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Upload de Arquivo</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Documento</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Listar Documentos</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Atualizar Documento</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Verificar Status</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Download Documento</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Deletar Documento</b></summary>
  	</details>
  </details>

  <h3>✍️ Assinaturas</h3>
  🔏 Este recurso concentra todas as funcionalidades relacionadas ao processo de assinatura digital através da Autentique. Com ele, você pode solicitar assinaturas, definir signatários, configurar tipos de assinatura, monitorar o progresso, enviar lembretes e gerenciar todo o ciclo de vida das assinaturas de forma automatizada e eficiente.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Solicitar Assinatura</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Adicionar Signatário</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Remover Signatário</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Verificar Status da Assinatura</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Enviar Lembrete</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Cancelar Assinatura</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Reenviar Email</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Histórico de Assinaturas</b></summary>
  	</details>
  </details>

  <h3>👥 Organizações</h3>
  🏢 Com este recurso, você conta com um conjunto completo de funcionalidades para gerenciamento de organizações e usuários na Autentique. Ele abrange desde a criação e administração de organizações até o gerenciamento de membros, configuração de permissões e controle de acesso. Tudo foi projetado para oferecer controle eficiente na administração organizacional.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Criar Organização</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Organização</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Listar Organizações</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Atualizar Organização</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Adicionar Membro</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Remover Membro</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Gerenciar Permissões</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Listar Membros</b></summary>
  	</details>
  </details>

  <h3>🔐 Autenticação</h3>
  🛡️ Este recurso disponibiliza ferramentas essenciais para gerenciamento de autenticação e segurança. Com ele, é possível validar tokens, gerenciar sessões, verificar permissões de usuário e monitorar atividades de segurança. Todas as operações são desenvolvidas para garantir a integridade e segurança das operações realizadas através da API.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Validar Token</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Renovar Token</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Verificar Permissões</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Buscar Usuário</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Histórico de Atividades</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Logout</b></summary>
  	</details>
  </details>

  <h3>🔔 Webhooks</h3>
  📡 Este recurso oferece funcionalidades completas para receber notificações em tempo real de eventos da Autentique através de webhooks. Com ele, você pode monitorar assinaturas de documentos, rejeições, criação de novos documentos e outros eventos importantes, permitindo automações instantâneas baseadas no status dos seus documentos.
  <br>
  <details>
    <summary><b>Lista de operações</b></summary>
  	<details>
    	<summary>   ✅ <b> Documento Assinado</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Documento Rejeitado</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Signatário Assinou</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Signatário Rejeitou</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Documento Criado</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Filtros Personalizados</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Validação de Segurança</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Configuração Flexível</b></summary>
  	</details>
  </details>

  <h1></h1>

  <h3>🚀 Instalação</h3>

  **Via n8n Community Nodes:**
  1. Abra sua instância do n8n
  2. Vá para **Settings** → **Community Nodes**
  3. Instale o pacote: `n8n-nodes-autentique`
  4. Reinicie o n8n

  **Via NPM:**
  ```bash
  npm install n8n-nodes-autentique
  ```

  ### 📡 Configuração de Webhooks

  Para receber notificações em tempo real da Autentique:

  1. **Configure o Trigger**: Use o nó "Autentique Trigger" em seus workflows
  2. **Configure na Autentique**: Os webhooks precisam ser configurados manualmente no painel da Autentique
  3. **Documentação**: Consulte o arquivo [`WEBHOOK_SETUP.md`](WEBHOOK_SETUP.md) para instruções detalhadas

  **Eventos suportados:**
  - Documento totalmente assinado
  - Documento rejeitado  
  - Signatário individual assinou
  - Signatário rejeitou assinatura
  - Novo documento criado

  <h1></h1>

  <h3>🤝 Contribuição</h3>

  Contribua para o crescimento deste projeto! Você pode ajudar de diversas formas:  
  - **Pull Requests**: Envie melhorias, correções ou novas funcionalidades.  
  - **Issues**: Relate problemas ou sugira novas ideias.  
  - **Sugestões**: Compartilhe suas opiniões e feedbacks.  
  - **Documentação**: Ajude a melhorar ou expandir a documentação existente.  

  <h1></h1>

  <p align="center">
  Desenvolvido com ❤️ por <b>Ramon Matias</b>
  </p> 

ai_documentation_summary:
  {"purpose":"O node Autentique permite integrar o n8n com a plataforma Autentique, facilitando automações para gerenciamento de documentos, assinaturas digitais e organizações através de operações como criar, buscar, atualizar, deletar e monitorar itens relacionados.","capabilities":["Criar documento","Upload de arquivo","Buscar documento","Listar documentos","Atualizar documento","Verificar status de documento","Download de documento","Deletar documento","Solicitar assinatura","Adicionar signatário"],"authentication":"Token de API da Autentique","commonUseCases":["Automatizar o envio e armazenamento de documentos","Gerenciar processos de assinatura digital com lembretes e monitoramento","Administrar organizações e permissões de membros","Integrar fluxos de trabalho com criação e atualização de documentos"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-http-request"]}


node_type: n8n-nodes-playwright-remote.PlaywrightRemote
package_name: n8n-nodes-playwright-remote
display_name: PlaywrightRemote
description: n8n-community-node-package for browser automation using Playwright with remote control
category: Community
development_style: declarative
version: 0.3.32
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: luis.cortina
author_github_url: git+https://github.com/toema/n8n-playwright.git
npm_package_name: n8n-nodes-playwright-remote
npm_version: 0.3.32
community_fetched_at: 2026-01-07T20:08:17.649Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-playwright

  This is an n8n community node. It lets you automate browser actions using Playwright 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)

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

  ```bash
  pnpm install n8n-nodes-playwright

  ```

  Note: The package will automatically download and set up the required browser binaries during installation. This requires approximately 1GB of disk space.

  If you need to manually trigger the browser setup:

  ```bash
  pnpm rebuild n8n-nodes-playwright

  ```

  Operations
  ----------

  This node supports the following operations:

  -   Navigate: Go to a specified URL
  -   Take Screenshot: Capture a screenshot of a webpage
  -   Get Text: Extract text from an element using CSS selector
  -   Click Element: Click on an element using CSS selector
  -   Fill Form: Fill a form field using CSS selector

  ### Browser Options

  -   Choose between Chromium, Firefox, or WebKit
  -   Configure headless mode
  -   Adjust operation speed with slow motion option

  ### Screenshot Options

  -   Full page capture
  -   Custom save path
  -   Base64 output

  Compatibility
  -------------

  -   Requires n8n version 1.0.0 or later
  -   Tested with Playwright version 1.49.0
  -   Supports Windows, macOS, and Linux

  ### System Requirements

  -   Node.js 18.10 or later
  -   Approximately 1GB disk space for browser binaries
  -   Additional system dependencies may be required for browser automation

  Resources
  ---------

  -   [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  -   [Playwright documentation](https://playwright.dev/docs/intro)

  Version history
  ---------------

  ### 0.1.*

  -   Initial release
  -   Basic browser automation operations
  -   Support for Chromium, Firefox, and WebKit.
  -   Screenshot and form interaction capabilities

  ### Troubleshooting

  If browsers are not installed correctly:

  1.  Clean the installation:

  ```bash
  rm -rf ~/.cache/ms-playwright
  # or for Windows:
  rmdir /s /q %USERPROFILE%\AppData\Local\ms-playwright

  ```

  1.  Rebuild the package:

  ```bash
  pnpm rebuild n8n-nodes-playwright

  ```

  ### License

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

ai_documentation_summary:
  {"purpose":"The PlaywrightRemote node enables browser automation in n8n workflows using Playwright, allowing actions like navigating, clicking, filling forms, and taking screenshots with support for multiple browsers and customization options.","capabilities":["Navigate to a specified URL","Take a screenshot of a webpage (full page or custom area)","Extract text from an element using CSS selector","Click on an element using CSS selector","Fill a form field using CSS selector"],"authentication":"None required","commonUseCases":["Automating web form submissions","Extracting data from dynamic web pages","Testing UI elements and functionality","Capturing screenshots for documentation or monitoring"],"limitations":["Requires approximately 1GB of disk space for browser binaries","Browser binaries must be installed and configured (manual setup may be needed)","Limited to CSS selector-based element interactions","System dependencies may vary by OS and require proper setup"],"relatedNodes":["Webhook","HTTP Request","Function","Database"]}


node_type: n8n-nodes-pacifica.Pacifica
package_name: n8n-nodes-pacifica
display_name: Pacifica
category: Community
development_style: declarative
version: 0.5.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: maxwellmelo
author_github_url: git+https://github.com/maxwellmelo/n8n-nodes-pacifica.git
npm_package_name: n8n-nodes-pacifica
npm_version: 0.5.0
community_fetched_at: 2026-01-07T20:08:17.650Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n community node for Pacifica - perpetual futures trading with AI-powered features on the Pacifica exchange

npm_readme:
  # n8n-nodes-pacifica

  This is an n8n community node that integrates with **Pacifica**, a next-generation derivatives trading platform offering perpetual futures trading with AI-powered features.

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

  [Pacifica](https://pacifica.fi/) is a perpetual futures DEX with advanced trading features.

  ## Installation

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

  ```bash
  npm install n8n-nodes-pacifica
  ```

  ## Operations

  ### Market Data (Public)
  - **Get Market Info** - Get specifications for all trading pairs
  - **Get Prices** - Get current prices, funding rates, and stats for all symbols
  - **Get Symbol Price** - Get price for a specific symbol
  - **Get Orderbook** - Get order book depth for a symbol
  - **Get Candles** - Get historical OHLCV candlestick data
  - **Get Mark Price Candles** - Get historical candles based on mark price
  - **Get Recent Trades** - Get recent trades for a symbol
  - **Get Historical Funding** - Get historical funding rate data

  ### Account (Authenticated)
  - **Get Account Info** - Get account balance, equity, margin details
  - **Get Account Settings** - Get leverage and margin mode settings per symbol
  - **Get Trade History** - Get historical trade records
  - **Get Equity History** - Get historical equity data
  - **Get Balance History** - Get historical balance data
  - **Get Account Funding** - Get funding payments history
  - **Request Withdrawal** - Request a withdrawal from the account

  ### Orders (Authenticated + Signing)
  - **Create Market Order** - Place immediate market orders with slippage control
  - **Create Limit Order** - Place limit orders with GTC, IOC, ALO, or TOB time-in-force
  - **Create Stop Market Order** - Place stop market orders triggered at a price
  - **Create Stop Limit Order** - Place stop limit orders with trigger and limit prices
  - **Create Position TP/SL** - Set take profit and stop loss for an existing position
  - **Create Multi TP/SL** - Create multiple take profit levels with a single stop loss
  - **Edit Order** - Modify price and amount of existing orders
  - **Cancel Order** - Cancel a specific order by ID or client order ID
  - **Cancel Stop Order** - Cancel a stop order by ID or client order ID
  - **Cancel All Orders** - Cancel all open orders (optionally filtered by symbols)
  - **Batch Orders** - Submit multiple orders in a single request
  - **Get Open Orders** - Get all currently open orders
  - **Get Order History** - Get historical order records
  - **Get Order By ID** - Get a specific order by its ID

  ### Positions (Authenticated)
  - **Get Positions** - Get all open positions
  - **Update Leverage** - Update leverage for a symbol
  - **Update Margin Mode** - Switch between cross and isolated margin
  - **Close Position** - Close a position with a market order

  ## Credentials

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

  1. Go to [https://app.pacifica.fi/apikey](https://app.pacifica.fi/apikey) to generate an Agent Wallet
  2. In n8n, create new Pacifica API credentials with:
     - **Network**: Mainnet or Testnet
     - **Account Address**: Your main wallet public address
     - **Agent Wallet Address**: The generated agent wallet public address
     - **Agent Private Key**: The agent wallet private key (used for signing)

  The Agent Wallet can only execute trades and cannot withdraw funds, making it safe for automated trading.

  ## Compatibility

  - n8n version: >= 1.0.0
  - Node.js version: >= 20.15

  ## Resources

  - [Pacifica Documentation](https://docs.pacifica.fi/)
  - [Pacifica API Reference](https://docs.pacifica.fi/api-documentation/api)
  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Pacifica Python SDK](https://github.com/pacifica-fi/python-sdk)

  ## Development

  ```bash
  # Install dependencies
  npm install

  # Build the project
  npm run build

  # Watch for changes
  npm run dev

  # Lint code
  npm run lint
  ```

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"The Pacifica n8n community node enables automation of perpetual futures trading on the Pacifica exchange, offering access to market data, account management, order execution, and position control with AI-powered features.","capabilities":["Retrieve market data including prices, order books, candles, and funding rates","Access account information such as balances, equity, leverage, and margin settings","Place and manage market, limit, stop market, and stop limit orders","Set and edit take-profit and stop-loss levels for positions","Manage open orders, cancel orders or all open orders, and retrieve order history","Get position details, update leverage, switch margin mode, and close positions","Request withdrawals from the account"],"authentication":"API key authentication via Agent Wallet: requires Mainnet or Testnet selection, Account Address, Agent Wallet Address, and Agent Private Key (for signing transactions). The Agent Wallet is restricted to trading and cannot withdraw funds.","commonUseCases":["Automated trading strategies based on market signals","Real-time price monitoring and order execution","Backtesting trading strategies using historical candle data","Monitoring account equity and funding rates","Managing open positions with dynamic take-profit and stop-loss levels"],"limitations":["Agent Wallet cannot perform withdrawals; withdrawals must be handled manually or via separate workflows","No support for advanced AI model integration directly within the node (AI features are platform-level)","Requires manual setup of API credentials with private keys, posing security considerations"],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-telegram","n8n-nodes-email"]}


node_type: @bitovi/n8n-nodes-excel.Excel
package_name: @bitovi/n8n-nodes-excel
display_name: Excel
description: N8N node to work with Excel files
category: Community
development_style: declarative
version: 0.2.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-excel.git
npm_package_name: @bitovi/n8n-nodes-excel
npm_version: 0.2.1
community_fetched_at: 2026-01-07T20:08:17.650Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @bitovi/n8n-nodes-excel

  This repo contains [N8N](https://n8n.io/) node to work with Excel files.

  ## Installation

  - Make sure to allow community nodes with `N8N_COMMUNITY_PACKAGES_ENABLED=true`
  - Once logged in to your N8N web UI, go to `/settings/community-nodes` and type `@bitovi/n8n-nodes-excel`

  ## Need help or have questions?

  Need guidance on leveraging AI agents or N8N for your business? Our [AI Agents workshop](https://hubs.ly/Q02X-9Qq0) will equip you with the knowledge and tools necessary to implement successful and valuable agentic workflows.

  ## License

  [MIT](./LICENSE.md)

ai_documentation_summary:
  {"purpose":"A node that enables users to work with Excel files within n8n workflows, facilitating operations such as reading from or writing to Excel files.","capabilities":["Read Excel files","Write to Excel files"],"authentication":"None","commonUseCases":["Importing data from Excel files into n8n workflows","Exporting data from n8n to Excel files for reporting or sharing","Automating data processing between databases and Excel spreadsheets"],"limitations":[],"relatedNodes":["Database nodes","File nodes","Data transformation nodes"]}


node_type: n8n-nodes-github-copilot.GithubCopilot
package_name: n8n-nodes-github-copilot
display_name: GithubCopilot
category: Community
development_style: declarative
version: 4.1.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: hugodeco
author_github_url: git+https://github.com/sufficit/n8n-nodes-github-copilot.git
npm_package_name: n8n-nodes-github-copilot
npm_version: 4.1.2
community_fetched_at: 2026-01-07T20:08:17.651Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n community node for GitHub Copilot with NEW CLI programmatic mode, Chat API access, and AI Chat Model for workflows - access GPT-5, Claude Sonnet 4.5, Gemini and more using your Copilot subscription

npm_readme:
  # n8n-nodes-github-copilot

  ![GitHub Copilot](https://img.shields.io/badge/GitHub-Copilot-blue?logo=github)
  ![n8n](https://img.shields.io/badge/n8n-Community%20Node-red?logo=n8n)
  ![License](https://img.shields.io/badge/license-MIT-green)

  Este é um **community node** para [n8n](https://n8n.io/) que integra o **GitHub Copilot** através do novo **GitHub Copilot CLI** em modo programático e da **API oficial do GitHub Copilot**, permitindo acesso direto aos modelos avançados de IA como GPT-5, Claude Sonnet 4.5, Gemini 2.5 Pro e muito mais usando seus créditos existentes do Copilot.

  ## 🚀 Nodes Disponíveis

  ### 1. GitHub Copilot CLI (Novo! ⭐ Modo Programático)
  - **Modo Programático**: Execute qualquer tarefa ou consulta do Copilot diretamente via `copilot -p "prompt"`
  - **Agentic Capabilities**: Copilot pode planejar e executar tarefas complexas automaticamente
  - **Tool Approval**: Controle fino sobre quais ferramentas o Copilot pode usar (shell, write, MCP servers)
  - **Múltiplos Modelos**: Claude Sonnet 4.5 (padrão), Claude Sonnet 4, GPT-5
  - **Integração GitHub**: Trabalhe com repositórios, issues, PRs diretamente da CLI
  - **MCP Support**: Suporte nativo para Model Context Protocol servers

  ### 2. GitHub Copilot Chat API
  - **Chat Completion**: Conversas diretas com modelos avançados de IA
  - **Análise de Imagens**: Processamento de imagens com modelos de visão
  - **Modelos Disponíveis**: GPT-5, GPT-5 Mini, Claude Opus 4.1, Gemini 2.5 Pro, Grok Code Fast 1, GPT-4.1 Copilot
  - **Sem Custos Extras**: Usa seus créditos existentes do GitHub Copilot

  ## 🎯 Funcionalidades

  - **Novo Copilot CLI**: Agente conversacional com modo programático
  - **API oficial**: Acesso direto aos modelos via API
  - **Modelos Premium**: GPT-5, Claude Sonnet 4.5, Gemini através de sua assinatura

  ## 📋 Pré-requisitos

  ### 1. Assinatura do GitHub Copilot
  Você precisa ter uma assinatura ativa do GitHub Copilot:
  - **GitHub Copilot Individual**: $10/mês
  - **GitHub Copilot Business**: $19/usuário/mês
  - **GitHub Copilot Enterprise**: $39/usuário/mês

  ### 2. Novo GitHub Copilot CLI
  O node agora usa o **novo GitHub Copilot CLI standalone** (não mais a extensão `gh copilot` que foi depreciada):

  #### Linux/Ubuntu:
  ```bash
  # Via install script
  curl -fsSL https://gh.io/copilot-install | bash

  # Ou via npm
  npm install -g @github/copilot

  # Autenticar (primeira vez)
  copilot
  # Use o comando /login quando solicitado
  ```

  #### macOS:
  ```bash
  # Usando Homebrew
  brew install copilot-cli

  # Ou via npm
  npm install -g @github/copilot

  # Autenticar
  copilot
  ```

  #### Windows:
  ```powershell
  # Usando npm
  npm install -g @github/copilot

  # Ou via WinGet
  winget install GitHub.Copilot

  # Autenticar
  copilot
  ```

  **⚠️ IMPORTANTE**: O antigo `gh copilot` (extensão do GitHub CLI) foi depreciado. Este node agora usa o novo `copilot` CLI standalone.
  1. Clone este repositório
  2. Execute `npm run build`
  3. Copie a pasta `dist` para o diretório de nodes do n8n

  ## ⚙️ Configuração

  ### 🔐 IMPORTANTE: Autenticação

  **GitHub Copilot CLI tem requisitos específicos de autenticação:**

  #### ✅ **O que FUNCIONA:**
  - **Autenticação Local**: `gh auth login` (recomendado para servidores)
  - **Tokens do GitHub CLI**: Gerados por `gh auth token` após fazer login

  #### ❌ **O que NÃO FUNCIONA:**
  - **Personal Access Tokens** criados no site do GitHub
  - **OAuth App Tokens** de aplicações externas
  - **GitHub App Tokens** de aplicações personalizadas

  ### 🛠️ **Configuração Recomendada:**

  #### **Opção 1: Autenticação Local (Servidores)**
  ```bash
  # No servidor onde roda o n8n
  gh auth login
  gh extension install github/gh-copilot

  # Testar se funciona
  gh copilot explain "ls -la"
  ```

  #### **Opção 2: Token Manual (Para workflows específicos)**
  ```bash
  # Primeiro faça login local
  gh auth login

  # Depois obtenha o token
  gh auth token
  # Resultado: gho_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

  # Use este token no campo "GitHub Token (Optional)" do node
  ```

  ### 1. Adicionar o Node

  1. Crie um novo workflow
  2. Procure por **GitHub Copilot** na lista de nodes
  3. Arraste para o canvas
  4. **Deixe o campo token vazio** (se o servidor tem `gh auth login`)
  5. **OU** insira um token gerado por `gh auth token`

  ### 2. Configuração para GitHub Copilot Chat API

  Para usar o **GitHub Copilot Chat API** (com modelos GPT-5, Claude, etc.):

  #### **Opção A: OAuth2 Automático (Recomendado) ✅**
  1. **Use a nova credencial**: Selecione **"GitHub Copilot OAuth2 API"**
  2. **Clique em "Connect"**: Use o botão OAuth2 para autenticação automática
  3. **Configure GitHub OAuth App**:
     - Vá para GitHub → Settings → Developer settings → OAuth Apps
     - Clique em "New OAuth App"
     - **Authorization callback URL**: `https://your-n8n-instance.com/rest/oauth2-credential/callback`
     - Copie Client ID e Client Secret para a credencial N8N
  4. **Vantagens**: Botão de autenticação, renovação automática de tokens, interface padrão N8N

  #### **Opção B: OAuth2 Manual (Compatibilidade)**
  1. **Use autenticação OAuth2**: Selecione **"GitHub OAuth2 API"** (credencial padrão do n8n)
  2. **Configure a credencial OAuth2**:
     - **Client ID**: Seu GitHub OAuth App Client ID
     - **Client Secret**: Seu GitHub OAuth App Client Secret
     - **Scope**: `copilot read:org repo user`
  3. **Crie uma GitHub OAuth App**:
     - Vá para GitHub → Settings → Developer settings → OAuth Apps
     - Clique em "New OAuth App" e configure callback URL do n8n
  4. **Vantagens**: Autenticação segura, renovação automática de tokens, acesso organizacional

  ## 🎮 Como Usar

  ### Operações Disponíveis

  #### 1. **Suggest Code** (Sugerir Código)
  Gera sugestões de código em linguagens específicas.

  **Parâmetros:**
  - **Prompt**: Descreva o que você quer criar
  - **Language**: Selecione a linguagem de programação
  - **Additional Context**: Contexto adicional (opcional)

  **Exemplo:**
  ```
  Prompt: "create a function to validate email addresses"
  Language: "JavaScript"
  ```

  #### 2. **Explain Code** (Explicar Código)
  Explica funcionalidades de código existente.

  **Parâmetros:**
  - **Prompt**: Cole o código que quer explicar
  - **Additional Context**: Contexto adicional (opcional)

  **Exemplo:**
  ```
  Prompt: "function validateEmail(email) { return /\S+@\S+\.\S+/.test(email); }"
  ```

  #### 3. **Shell Command** (Comando Shell)
  Sugere comandos shell para tarefas específicas.

  **Parâmetros:**
  - **Prompt**: Descreva a tarefa que quer executar
  - **Command Type**: Tipo de comando (Git, Docker, NPM, etc.)
  - **Additional Context**: Contexto adicional (opcional)

  **Exemplo:**
  ```
  Prompt: "commit all changes with message"
  Command Type: "Git Command"
  ```

  ### Dados de Saída

  O node retorna um objeto JSON com:
  ```json
  {
    "operation": "suggest",
    "prompt": "create a REST API endpoint",
    "language": "javascript",
    "suggestion": "// Código sugerido pelo Copilot",
    "rawOutput": "Saída completa do CLI",
    "timestamp": "2024-01-15T10:30:00.000Z"
  }
  ```

  ## 🔧 Exemplo de Workflow

  ### Gerador de Código Automático
  ```
  Webhook (POST) → GitHub Copilot (Suggest) → HTTP Response
  ```

  **Payload do Webhook:**
  ```json
  {
    "prompt": "create a login function",
    "language": "python",
    "context": "using Flask framework"
  }
  ```

  ### Bot de Ajuda para Comandos
  ```
  Telegram Bot → GitHub Copilot (Shell) → Telegram Bot (Reply)
  ```

  ## 🐳 Docker

  ### Dockerfile para n8n com GitHub Copilot
  ```dockerfile
  FROM n8nio/n8n:latest

  USER root

  # Instalar GitHub CLI
  RUN apt-get update && apt-get install -y curl gnupg
  RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
  RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null
  RUN apt-get update && apt-get install -y gh

  # Instalar o community node
  RUN npm install -g n8n-nodes-github-copilot

  USER node

  # Definir variáveis de ambiente
  ENV GITHUB_TOKEN=""
  ENV N8N_COMMUNITY_PACKAGES="n8n-nodes-github-copilot"
  ```

  ### docker-compose.yml
  ```yaml
  version: '3.8'
  services:
    n8n:
      build: .
      ports:
        - "5678:5678"
      environment:
        - GITHUB_TOKEN=${GITHUB_TOKEN}
        - N8N_COMMUNITY_PACKAGES=n8n-nodes-github-copilot
      volumes:
        - n8n_data:/home/node/.n8n

  volumes:
    n8n_data:
  ```

  ## 🔒 Segurança

  - **Dados Sensíveis**: Evite enviar informações confidenciais nos prompts
  - **Rate Limiting**: O GitHub Copilot tem limites de uso - monitore seu consumo
  - **Tokens**: Mantenha seus tokens seguros e com permissões mínimas necessárias
  - **Logs**: O node registra atividades para auditoria

  ## 🚨 Limitações

  - **Requer Assinatura**: Necessário ter GitHub Copilot ativo
  - **Dependência CLI**: Requer GitHub CLI instalado no sistema
  - **Rate Limits**: Sujeito aos limites de uso do GitHub Copilot
  - **Contexto**: Limitado pelo contexto que o Copilot CLI suporta

  ## 🛠️ Desenvolvimento

  ### Construir do Código Fonte
  ```bash
  # Clonar repositório
  git clone https://github.com/sufficit/n8n-nodes-github-copilot.git
  cd n8n-nodes-github-copilot

  # Instalar dependências
  npm install

  # Construir
  npm run build

  # Lint
  npm run lint

  # Formatar código
  npm run format
  ```

  ### Estrutura do Projeto
  ```
  ├── nodes/
  │   ├── GitHubCopilot/
  │   │   ├── GitHubCopilot.node.ts
  │   │   └── githubcopilot.svg
  │   ├── GitHubCopilotChatAPI/
  │   │   └── GitHubCopilotChatAPI.node.ts
  │   └── GitHubCopilotChatModel/
  │       └── GitHubCopilotChatModel.node.ts
  ├── shared/
  │   └── models/
  │       └── GitHubCopilotModels.ts
  ├── package.json
  ├── tsconfig.json
  ├── gulpfile.js
  └── README.md
  ```

  ## 📄 Licença

  MIT License - veja [LICENSE](LICENSE) para detalhes.

  ## 🤝 Contribuindo

  1. Fork o projeto
  2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
  3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
  4. Push para a branch (`git push origin feature/AmazingFeature`)
  5. Abra um Pull Request

  ## 📞 Suporte

  - **Email**: development@sufficit.com.br
  - **Issues**: [GitHub Issues](https://github.com/sufficit/n8n-nodes-github-copilot/issues)
  - **Documentação**: [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)

  ## 🙏 Agradecimentos

  - [n8n.io](https://n8n.io/) - Plataforma de automação incrível
  - [GitHub Copilot](https://copilot.github.com/) - IA que torna este node possível
  - [GitHub CLI](https://cli.github.com/) - Interface de linha de comando essencial

  ---

  **Feito com ❤️ pela equipe [Sufficit](https://sufficit.com.br)**

ai_documentation_summary:
  {"purpose":"A community node that integrates GitHub Copilot into n8n, enabling programmatic access to AI-powered code suggestions and chat via the new GitHub Copilot CLI and official Chat API, supporting advanced models like GPT-5, Claude Sonnet 4.5, and Gemini using existing Copilot credits.","capabilities":["Execute code suggestions via Copilot CLI in programmatic mode","Perform AI chat interactions with advanced models (GPT-5, Claude Sonnet 4.5, Gemini 2.5 Pro, etc.)","Analyze images using vision models","Plan and execute complex tasks with agentic capabilities","Control tool usage (e.g., shell, write, MCP servers)","Work directly with GitHub repositories, issues, and PRs","Support for Model Context Protocol (MCP) servers"],"authentication":"GitHub Copilot CLI requires authentication via `gh auth login` (local login) or a token generated from `gh auth token`. For Chat API, OAuth2 is required with a GitHub OAuth App configured with callback URL to n8n instance. Personal Access Tokens or OAuth App Tokens are not supported.","commonUseCases":["Generating code suggestions for specific programming languages","Automating code writing tasks in CI/CD pipelines","Integrating AI-powered code analysis into workflows","Using advanced AI models (GPT-5, Claude, Gemini) in development workflows","Creating agent-based automation that plans and executes code tasks"],"limitations":["Requires an active GitHub Copilot subscription (Individual, Business, or Enterprise)","Deprecates the old `gh copilot` CLI; must use standalone `copilot` CLI","Only supports models available in the user's Copilot subscription","OAuth2 setup requires manual configuration of a GitHub OAuth App with callback URL","No support for Personal Access Tokens or GitHub App Tokens"],"relatedNodes":["GitHub","OAuth2","Code Generation","AI/ML","Agentic Workflows"]}


node_type: n8n-nodes-ffmpeg.Ffmpeg
package_name: n8n-nodes-ffmpeg
display_name: Ffmpeg
description: Merge videos using FFMPEG
category: Community
development_style: declarative
version: 0.1.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: chelovek86
author_github_url: git+https://github.com/shmeller86/n8n-nodes-ffmpeg.git
npm_package_name: n8n-nodes-ffmpeg
npm_version: 0.1.4
community_fetched_at: 2026-01-07T20:08:17.652Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-ffmpeg

  This package contains an n8n node that allows you to work with FFmpeg for video and audio file processing.

  ## Installation

  **Important**: Make sure FFmpeg is installed on your system.

  ## Operations

  The node supports the following operations:

  ### 1. Merge Videos
  - Combines multiple video files into one
  - Configurable minimum number of files to merge
  - Support for custom FFmpeg arguments

  ### 2. Overlay Audio
  - Overlays an audio track onto a video file
  - Configurable encoding parameters

  ### 3. Media Info
  - Get technical information about video/audio files
  - Detailed information about streams, codecs, and metadata

  ### 4. Custom Command
  - Execute arbitrary FFmpeg commands
  - Full control over processing parameters

  ## Parameters

  ### Common Parameters
  - **Operation**: Choose operation (merge/overlay/info/custom)
  - **Output File Name**: Name of the output file
  - **Output Binary Property**: Name of the binary property for the output file

  ### Merge Parameters
  - **Minimum Files to Merge**: Minimum number of files required before merging
  - **FFmpeg Merge Arguments**: Command line arguments for merging

  ### Overlay Parameters
  - **FFmpeg Overlay Arguments**: Command template for audio overlay

  ### Custom Parameters
  - **Custom FFmpeg Command**: Arbitrary FFmpeg command

  ## Usage Examples

  ### Merging Videos
  {
    "operation": "merge",
    "minFiles": 2,
    "outputFileName": "merged_video.mp4",
    "outputBinary": "mergedVideo",
    "ffmpegMergeArgs": "-f concat -safe 0 -i \"{input}\" -c:v libx264 -c:a aac \"{output}\""
  }

  ### Overlaying Audio
  {
    "operation": "overlay",
    "outputFileName": "video_with_audio.mp4",
    "outputBinary": "videoWithAudio",
    "ffmpegOverlayArgs": "-i \"{video}\" -i \"{audio}\" -c:v copy -c:a aac \"{output}\""
  }

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The FFMPEG node in n8n allows users to process video and audio files using FFmpeg commands, supporting operations like merging videos, overlaying audio, retrieving media information, and executing custom FFmpeg commands.","capabilities":["Merge multiple video files into a single output","Overlay audio tracks onto video files","Retrieve technical details about video and audio files","Execute arbitrary FFmpeg commands with full parameter control"],"authentication":"None","commonUseCases":["Combining multiple video clips into a single video","Adding background audio to a video file","Extracting metadata from media files","Performing custom video/audio processing tasks"],"limitations":[],"relatedNodes":["Video Processing","File Operations","Media Handling"]}


node_type: n8n-nodes-googlesearch.Googlesearch
package_name: n8n-nodes-googlesearch
display_name: Googlesearch
description: n8n node for Google Search API without Python dependency
category: Community
development_style: declarative
version: 0.2.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: ziobudda
author_github_url: git+https://github.com/ziobuddalabs/n8n-google-search.git
npm_package_name: n8n-nodes-googlesearch
npm_version: 0.2.4
community_fetched_at: 2026-01-07T20:08:17.654Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-google-search

  An n8n node for Google Search that directly uses the Google Custom Search API without Python dependencies.

  ## Features

  - Web search using Google Custom Search API
  - Support for image search
  - Minimal dependencies (only axios for HTTP requests)
  - Daily query counter with automatic reset
  - Fully integrated with n8n

  ## Installation

  ### Prerequisites

  - Node.js 14+
  - n8n installation
  - Google Cloud API Key
  - Google Custom Search Engine ID (CX)

  ### Installation Steps

  ```bash
  # Clone the repository
  git clone https://github.com/ziobuddalabs/n8n-google-search.git

  # Install in n8n (from n8n installation directory)
  npm install /path/to/n8n-google-search/n8n-nodes-googlesearch-js
  ```

  Or using the prebuilt package:

  ```bash
  # Install in n8n
  npm install /path/to/n8n-google-search/n8n-nodes-googlesearch-js/n8n-nodes-googlesearch-0.2.4.tgz
  ```

  ## Configuration

  ### Step 1: Get Google API Key

  1. Go to [Google Cloud Console](https://console.cloud.google.com/)
  2. Create a new project (or use an existing one)
  3. Enable "Custom Search JSON API"
  4. Go to "Credentials" and create a new API Key

  ### Step 2: Create a Custom Search Engine

  1. Go to [Google Programmable Search](https://programmablesearchengine.google.com/)
  2. Create a new search engine
  3. Configure the settings (sites to search, etc.)
  4. Copy the Search Engine ID (cx)

  > **Important**: See `CX_GUIDE.md` for detailed instructions on how to create and configure the Google Custom Search Engine.

  ### Step 3: Configure Credentials in n8n

  1. In n8n, go to Settings > Credentials
  2. Create a new credential of type "Google Search API"
  3. Enter your API Key and Custom Search Engine ID (CX)

  ## Usage

  1. Add the "Google Search" node to your workflow
  2. Select the Google Search API credentials
  3. Configure the search:
     - Operation: Web Search or Image Search
     - Query: the text to search for
     - Limit: number of results (max 10)
     - Options: Safe Search, Site Search, Language

  ## Troubleshooting

  If you encounter errors, check the `TROUBLESHOOTING.md` file for solutions to common problems.

  ## Limitations

  - Google Custom Search API is limited to 100 free queries per day
  - Each request can return a maximum of 10 results

  ## Additional Features

  - **Daily Query Counter**: The node keeps track of how many searches you've performed today, displayed in the node subtitle (resets at midnight)
  - **Version and Author Info**: Version and author information is shown in the node description footer

  ## Changelog

  See the `CHANGELOG.md` file for version history and changes.

  ## License

  Mozilla Public License 2.0

  ---

  # n8n-google-search (Italiano)

  Un nodo n8n per la ricerca Google che utilizza direttamente l'API Google Custom Search senza dipendenze da Python.

  ## Caratteristiche

  - Ricerca sul web utilizzando l'API Google Custom Search
  - Supporto per la ricerca di immagini
  - Dipendenze minime (solo axios per le richieste HTTP)
  - Contatore di query giornaliere con reset automatico
  - Completamente integrato con n8n

  ## Installazione

  ### Prerequisiti

  - Node.js 14+
  - Installazione n8n
  - API Key di Google Cloud
  - ID motore di ricerca personalizzato Google (CX)

  ### Passi per l'installazione

  ```bash
  # Clona la repository
  git clone https://github.com/ziobuddalabs/n8n-google-search.git

  # Installa in n8n (dalla directory di installazione n8n)
  npm install /percorso/a/n8n-google-search/n8n-nodes-googlesearch-js
  ```

  Oppure usando il pacchetto precompilato:

  ```bash
  # Installa in n8n
  npm install /percorso/a/n8n-google-search/n8n-nodes-googlesearch-js/n8n-nodes-googlesearch-0.2.4.tgz
  ```

  ## Configurazione

  ### Passo 1: Ottenere API Key Google

  1. Vai su [Google Cloud Console](https://console.cloud.google.com/)
  2. Crea un nuovo progetto (o usa uno esistente)
  3. Attiva l'API "Custom Search JSON API"
  4. Vai su "Credenziali" e crea una nuova API Key

  ### Passo 2: Creare un motore di ricerca personalizzato

  1. Vai su [Google Programmable Search](https://programmablesearchengine.google.com/)
  2. Crea un nuovo motore di ricerca
  3. Configura le impostazioni (siti da cercare, ecc.)
  4. Copia l'ID del motore di ricerca (cx)

  > **Importante**: Vedi `CX_GUIDE.md` per istruzioni dettagliate su come creare e configurare il motore di ricerca personalizzato Google.

  ### Passo 3: Configurare le credenziali in n8n

  1. In n8n, vai su Impostazioni > Credenziali
  2. Crea una nuova credenziale di tipo "Google Search API"
  3. Inserisci la tua API Key e l'ID del motore di ricerca (CX)

  ## Utilizzo

  1. Aggiungi il nodo "Google Search" al tuo workflow
  2. Seleziona le credenziali Google Search API
  3. Configura la ricerca:
     - Operazione: Web Search o Image Search
     - Query: il testo da cercare
     - Limit: numero di risultati (max 10)
     - Opzioni: Safe Search, ricerca per sito, lingua

  ## Risoluzione dei problemi

  Se incontri errori, consulta il file `TROUBLESHOOTING.md` per le soluzioni ai problemi più comuni.

  ## Limitazioni

  - L'API Google Custom Search è limitata a 100 query gratuite al giorno
  - Ogni richiesta può restituire un massimo di 10 risultati

  ## Funzionalità aggiuntive

  - **Contatore di query giornaliere**: Il nodo tiene traccia di quante ricerche hai effettuato oggi, mostrate nel sottotitolo del nodo (si resetta a mezzanotte)
  - **Informazioni su versione e autore**: Le informazioni su versione e autore sono mostrate nel footer della descrizione del nodo

  ## Changelog

  Vedi il file `CHANGELOG.md` per la cronologia delle versioni e le modifiche.

  ## Licenza

  Mozilla Public License 2.0

ai_documentation_summary:
  {"purpose":"A node that enables web and image searches using Google's Custom Search API without requiring Python, fully integrated into n8n workflows.","capabilities":["Web search using Google Custom Search API","Image search functionality","Support for safe search, site-specific search, and language filtering","Daily query counter that resets at midnight","Maximum of 10 results per search request"],"authentication":"API Key and Custom Search Engine ID (CX) required; configured via n8n credentials","commonUseCases":["Searching for information on websites","Finding images based on keywords","Automating research tasks in workflows","Monitoring specific websites or topics over time"],"limitations":["Limited to 100 free queries per day","Maximum of 10 results per request","No support for advanced Google Search features beyond Custom Search API"],"relatedNodes":["n8n-nodes-base","n8n-nodes-web","n8n-nodes-utility"]}


node_type: n8n-nodes-crawl-nafer.CrawlNafer
package_name: n8n-nodes-crawl-nafer
display_name: CrawlNafer
description: Advanced web scraping and data extraction nodes with AI-powered content analysis
category: Community
development_style: declarative
version: 1.0.12
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: naferok
author_github_url: git+https://github.com/nafer/n8n-nodes-crawl-nafer.git
npm_package_name: n8n-nodes-crawl-nafer
npm_version: 1.0.12
community_fetched_at: 2026-01-07T20:08:17.655Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-crawl-nafer

  This is an n8n community node for advanced web scraping, data extraction, and browser automation.

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

  ## Installation

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

  ### Community Nodes (Recommended)

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

  ### Manual Installation

  ```bash
  npm install n8n-nodes-crawl-nafer
  ```

  ## Credentials

  This node requires API credentials:

  - **API URL**: Your API endpoint
  - **API Key**: Your API authentication key
  - **LLM Provider** (optional): For AI-powered extraction
  - **LLM API Key** (optional): API key for LLM provider
  - **LLM Base URL** (optional): Base URL for LLM API

  ## Nodes

  This package provides three nodes:

  ### Basic Crawler

  Perform synchronous or asynchronous web scraping with advanced features:
  - Multiple output formats (Markdown, HTML, JSON)
  - Stealth mode for anti-detection
  - Proxy support with authentication
  - Session management with cookies (JSON and Netscape format)
  - Screenshot capabilities
  - Custom JavaScript execution
  - AI-powered content extraction

  ### Content Extractor

  Extract structured data from web pages using multiple strategies:
  - **CSS Selectors**: Extract data using JSON schema with CSS selectors
  - **LLM Extraction**: Use AI models for intelligent content extraction
  - **JSON Schema**: Define custom extraction schemas

  ### Browser Actions

  Automate browser interactions and form submissions:
  - **JavaScript Actions**: Execute custom JavaScript code
  - **LLM Automation**: AI-powered browser automation
  - **Form Filling**: Automated form filling
  - **Screenshot**: Capture page screenshots
  - **PDF Export**: Export pages to PDF format

  ## Features

  - ✅ Anti-detection (Stealth mode)
  - ✅ Proxy support with authentication
  - ✅ Cookie management (import/export)
  - ✅ Session persistence
  - ✅ Asynchronous task processing
  - ✅ AI-powered extraction
  - ✅ Browser automation
  - ✅ Screenshot and PDF export
  - ✅ Custom headers and JavaScript

  ## Compatibility

  Tested with n8n version 1.0.0+

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [GitHub Repository](https://github.com/nafer/n8n-nodes-crawl-nafer)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The CrawlNafer node enables advanced web scraping, data extraction, and browser automation with AI-powered features such as content analysis, stealth mode, proxy support, and intelligent form filling.","capabilities":["Synchronous and asynchronous web scraping","Multiple output formats (Markdown, HTML, JSON)","Stealth mode to avoid detection","Proxy support with authentication","Cookie management (JSON and Netscape format)","Session persistence","Screenshot capture","PDF export","Custom JavaScript execution","CSS selector-based data extraction"],"authentication":"API key required; additional optional LLM provider credentials (LLM API key, LLM Base URL) for AI-powered features","commonUseCases":["Extracting structured data from websites using CSS or JSON schemas","Automating form submissions with AI-driven input generation","Performing stealth web scraping to avoid IP blocking","Capturing screenshots or exporting pages to PDF","Using AI models to interpret and extract complex or unstructured content"],"limitations":[],"relatedNodes":["Web Scraper","Browser Automation","AI/LLM Integration","Data Extraction"]}


node_type: @watzon/n8n-nodes-perplexity.Perplexity
package_name: @watzon/n8n-nodes-perplexity
display_name: Perplexity
description: n8n node to interact with the Perplexity AI API
category: Community
development_style: declarative
version: 0.5.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: watzon
author_github_url: git+https://github.com/watzon/n8n-nodes-perplexity.git
npm_package_name: @watzon/n8n-nodes-perplexity
npm_version: 0.5.2
community_fetched_at: 2026-01-07T20:08:17.655Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-perplexity

  This is an n8n community node for the [Perplexity AI API](https://docs.perplexity.ai/). It provides access to Perplexity's large language models through n8n workflows.

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

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

  ## Installation

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

  ### Quick Installation

  1. Go to **Settings > Community Nodes**
  2. Select **Install**
  3. Enter `@watzon/n8n-nodes-perplexity` in **Enter npm package name**
  4. Agree to the risks of using community nodes
  5. Select **Install**

  **Note:** After installation, you need to restart your n8n instance for the new node to be recognized.

  ## Operations

  ### Chat Completion

  Create chat completions using Perplexity's LLMs. The node supports:

  - Multiple messages with system, user, and assistant roles
  - All available Perplexity models:
    - Sonar Reasoning Pro
    - Sonar Reasoning
    - Sonar Pro
    - Sonar
    - R1 1776
    - Llama 3.1 Sonar Small (Legacy)
    - Llama 3.1 Sonar Large (Legacy)
    - Llama 3.1 Sonar Huge (Legacy)
  - Customizable parameters:
    - Temperature (0-2)
    - Max tokens
    - Top P

  ## Credentials

  To use this node, you need a Perplexity API key. You can obtain one by:

  1. Going to [Perplexity AI](https://www.perplexity.ai/)
  2. Creating an account or signing in
  3. Navigating to the API section
  4. Generating an API key

  ## Compatibility

  - Requires n8n version 1.0.0 or later
  - Tested up to n8n version 1.24.0

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Perplexity API documentation](https://docs.perplexity.ai/)

  ## Version History

  ### 0.5.2

  - Add support for Deep Research

  ### 0.5.1

  - Update n8n-workflow to the latest version

  ### 0.5.0

  - Added support for new Perplexity models

  ### 0.4.2

  - Initial usable release

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Perplexity n8n node enables users to interact with Perplexity AI's large language models via n8n workflows, supporting chat completions and deep research using Perplexity's LLMs.","capabilities":["Generate chat completions with support for multiple message roles (system, user, assistant)","Use all available Perplexity models including Sonar Reasoning Pro, Sonar Pro, R1 1776, and Llama 3.1 Sonar variants (legacy)","Customize generation parameters such as temperature, max tokens, and top P","Support for deep research functionality"],"authentication":"API key required; obtain from the Perplexity AI dashboard under the API section","commonUseCases":["Generating AI-powered responses to user queries in chat-based workflows","Performing research tasks using Perplexity's deep research capabilities","Automating content creation or summarization using LLMs"],"limitations":[],"relatedNodes":["LLM nodes","AI content generation nodes","Research automation nodes"]}


node_type: @mantovani.bruno/n8n-nodes-imobzi-new.ImobziNew
package_name: @mantovani.bruno/n8n-nodes-imobzi-new
display_name: ImobziNew
description: Nodes para integração com a API da Imobzi no n8n - Atualizado para nova API (api.imobzi.app)
category: Community
development_style: declarative
version: 1.2.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mantovani.bruno
author_github_url: git+https://github.com/redeuno/imobzi-new.git
npm_package_name: @mantovani.bruno/n8n-nodes-imobzi-new
npm_version: 1.2.3
community_fetched_at: 2026-01-07T20:08:17.656Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-imobzi

  Este é um pacote de nodes da comunidade n8n que permite integrar com a API da Imobzi em seus workflows.

  A Imobzi é uma plataforma de CRM imobiliário que oferece uma API aberta para integração com outros softwares. Para utilizar a API, é necessário possuir o plano CRM Business ou a Gestão de Locação Real Estate.

  [n8n](https://n8n.io/) é uma plataforma de automação de workflows com licença fair-code.

  [Instalação](#instalação)  
  [Configuração](#configuração)  
  [Recursos](#recursos)  
  [Operações](#operações)  
  [Webhooks](#webhooks)  
  [Exemplos](#exemplos)  
  [Compatibilidade](#compatibilidade)  
  [Recursos](#recursos-1)  

  ## Instalação

  Siga o [guia de instalação](https://docs.n8n.io/integrations/community-nodes/installation/) na documentação dos nodes da comunidade n8n.

  ```bash
  npm install -g @mantovani.bruno/n8n-nodes-imobzi-new
  ```

  Ou instale direto pela interface do n8n (Settings → Community Nodes → Install):
  ```
  @mantovani.bruno/n8n-nodes-imobzi-new
  ```

  ## Configuração

  ### 1. Gerar Chave de API no Imobzi

  1. Acesse o menu lateral do Imobzi
  2. Clique em **"Integrações & Automações"**
  3. Selecione **"Chave de API"**
  4. Clique em **"Adicionar uma nova chave de API"**
  5. Nomeie a chave conforme o serviço que irá utilizá-la
  6. Copie a chave gerada

  Para mais detalhes, consulte: [Como funciona a chave de API](https://help.imobzi.com/pt-br/article/como-funciona-a-chave-de-api-1nieky8/)

  ### 2. Configurar Permissões da Chave de API

  1. Ao criar ou editar uma chave de API, defina exatamente quais métodos (funções) a integração poderá acessar
  2. Marque os métodos desejados ou utilize a opção **"Selecionar todos os métodos"** para liberar todas as funções

  ### 3. Configurar Credenciais no n8n

  1. No n8n, vá para **Settings** > **Credentials**
  2. Clique em **Add Credential**
  3. Procure por **"Imobzi API"**
  4. Configure:
     - **API Key**: Cole a chave gerada no Imobzi

  ## Recursos

  O node suporta os seguintes recursos da API da Imobzi (atualizado para nova API `api.imobzi.app`):

  ### Recursos Principais

  | Recurso | Endpoint | Descrição |
  |---------|----------|-----------|
  | **Account** | `/v1/users` | Informações da conta (agora via users) |
  | **Leads** | `/v1/contacts` | Gerenciamento de leads (parte de contacts) |
  | **Properties** | `/v1/properties` | Gerenciamento de imóveis |
  | **Contacts** | `/v1/contacts` | Gerenciamento de contatos |
  | **Contracts** | `/v1/contracts` | Gerenciamento de contratos |
  | **Financial** | `/v1/financial/accounts` | Contas financeiras |
  | **Leases** | `/v1/leases` | Gerenciamento de locações (antes rentals) |
  | **Documents** | `/v1/documents` | Gerenciamento de documentos |
  | **Calendar** | `/v1/calendar` | Agenda e eventos (unificado) |
  | **Integrations** | `/v1/integrations` | Integrações configuradas |
  | **Users** | `/v1/users` | Gerenciamento de usuários |

  ### Novos Recursos Disponíveis

  | Recurso | Endpoint | Descrição |
  |---------|----------|-----------|
  | **Deal** | `/v1/deals` | Negócios e oportunidades |
  | **Pipeline** | `/v1/pipelines` | Funis de vendas |
  | **Invoice** | `/v1/invoices` | Faturas |
  | **Transaction** | `/v1/financial/transactions` | Transações financeiras |
  | **Webhook** | `/v1/webhooks` | Gerenciamento de webhooks |
  | **Team** | `/v1/user-teams` | Equipes |
  | **Neighborhood** | `/v1/neighborhoods` | Bairros |
  | **Property Type** | `/v1/property-types` | Tipos de imóveis |
  | **Property Feature** | `/v1/property-features` | Características de imóveis |
  | **Media Source** | `/v1/media-sources` | Fontes de mídia |
  | **Nota Fiscal** | `/v1/notas-fiscais` | Notas fiscais |
  | **Timeline** | `/v1/timeline` | Linha do tempo |
  | **Notification** | `/v1/notifications` | Notificações |

  > **Nota**: Esta versão (1.0.0+) usa a nova API da Imobzi (`api.imobzi.app`) com suporte a 300+ endpoints.

  ## Operações

  Cada recurso suporta as seguintes operações:

  ### Create
  Cria um novo item no recurso selecionado.

  **Campos específicos por recurso:**

  #### Leads
  - `name` - Nome do lead
  - `email` - Email do lead
  - `phone` - Telefone do lead
  - `description` - Descrição do lead
  - `source` - Origem do lead
  - `status` - Status do lead

  #### Properties
  - `title` - Título do imóvel
  - `type` - Tipo do imóvel (casa, apartamento, etc.)
  - `price` - Preço do imóvel
  - `address` - Endereço do imóvel
  - `city` - Cidade do imóvel
  - `state` - Estado do imóvel

  #### Contacts
  - `name` - Nome do contato
  - `email` - Email do contato
  - `phone` - Telefone do contato
  - `description` - Descrição do contato
  - `company` - Empresa do contato

  #### Tasks
  - `title` - Título da tarefa
  - `description` - Descrição da tarefa
  - `dueDate` - Data de vencimento
  - `priority` - Prioridade da tarefa

  #### Events
  - `title` - Título do evento
  - `description` - Descrição do evento
  - `startDate` - Data de início
  - `endDate` - Data de término

  ### Get
  Obtém um item específico. Suporta busca por:
  - **ID**: Busca pelo ID numérico (padrão)
  - **Código**: Busca pelo código do item
  - **Email**: Busca por email (Contacts/Leads)
  - **Telefone**: Busca por telefone (Contacts/Leads)
  - **CPF**: Busca por CPF (Contacts/Leads)
  - **Nome**: Busca por nome (retorna primeiro resultado)

  **Exemplo - Buscar Contato por Email:**
  ```
  Recurso: Contact
  Operação: Get
  Buscar por: Email
  Valor: joao@exemplo.com
  ```

  ### Get All
  Lista todos os itens do recurso com suporte a:
  - **Busca Rápida**: Campos específicos (Email, Telefone, CPF, Nome) para Contacts/Leads
  - **Filtros Avançados**: Baseados nos campos reais da API
  - **Operadores**: igual, diferente, maior que, menor que, contém, etc.
  - **Ordenação**: Por campo específico
  - **Paginação**: Limit e offset

  **Exemplo - Listar Leads por Telefone:**
  ```
  Recurso: Lead
  Operação: Get All
  Busca Rápida:
    Telefone: (11) 99999-9999
  ```

  ### Update
  Atualiza um item existente por ID.

  ### Delete
  Remove um item por ID.

  ## Webhooks

  O node webhook permite receber notificações em tempo real sobre eventos específicos no Imobzi.

  ### Eventos Suportados

  - `lead.created` - Lead criado
  - `lead.updated` - Lead atualizado
  - `property.created` - Imóvel criado
  - `property.updated` - Imóvel atualizado
  - `contact.created` - Contato criado
  - `contact.updated` - Contato atualizado
  - `visit.scheduled` - Visita agendada
  - `visit.cancelled` - Visita cancelada
  - `task.created` - Tarefa criada
  - `task.updated` - Tarefa atualizada
  - `event.created` - Evento criado
  - `event.updated` - Evento atualizado
  - `contract.created` - Contrato criado
  - `contract.updated` - Contrato atualizado
  - `document.created` - Documento criado
  - `document.updated` - Documento atualizado

  ### Configuração de Webhooks

  Para configurar webhooks na Imobzi:

  1. Acesse o painel da Imobzi
  2. Vá para **Configurações** > **Webhooks**
  3. Adicione uma nova URL de webhook
  4. Selecione os eventos que devem acionar o webhook

  Para um guia completo, consulte: [Como criar e usar webhooks na Imobzi](https://www.imobzi.com/docs/primeiros-passos/integracoes-e-automacoes/como-criar-e-usar-webhooks-na-imobzi/)

  ## Exemplos

  ### Exemplo 1: Criar Lead Automaticamente

  1. Adicione o **Imobzi Webhook** como trigger
  2. Configure para eventos de "Lead Criado"
  3. Conecte com o **Imobzi Node**
  4. Configure para criar um contato baseado no lead

  ### Exemplo 2: Sincronizar Imóveis

  1. Use um **Cron** ou **Schedule** trigger
  2. Conecte com **Imobzi Node** (Get All Properties)
  3. Processe os dados conforme necessário

  ### Exemplo 3: Filtrar Imóveis por Preço

  ```json
  {
    "resource": "property",
    "operation": "getAll",
    "filters": {
      "filter": [
        {
          "field": "price",
          "operator": "gte",
          "value": "100000"
        }
      ]
    }
  }
  ```

  ## Compatibilidade

  - **n8n**: Versão mínima 1.0.0
  - **Node.js**: >=20.15
  - **Plano Imobzi**: CRM Business ou Gestão de Locação Real Estate

  ## Recursos e Links

  * [Repositório GitHub](https://github.com/redeuno/imobzi-new)
  * [Pacote npm](https://www.npmjs.com/package/@mantovani.bruno/n8n-nodes-imobzi-new)
  * [Documentação da comunidade n8n](https://docs.n8n.io/integrations/#community-nodes)
  * [Documentação da API Imobzi](https://developer.imobzi.com/)
  * [Como funciona a chave de API](https://help.imobzi.com/pt-br/article/como-funciona-a-chave-de-api-1nieky8/)
  * [Como utilizar a API para integrar com aplicativos externos](https://help.imobzi.com/pt-br/article/como-utilizar-a-api-para-integrar-com-aplicativos-externos-n4fbe7/)
  * [Como criar e usar webhooks na Imobzi](https://www.imobzi.com/docs/primeiros-passos/integracoes-e-automacoes/como-criar-e-usar-webhooks-na-imobzi/)

  ## Histórico de Versões

  ### v1.0.0 (Atual)
  - 🎉 **Atualização Major**: Nova API Imobzi (`api.imobzi.app`)
  - ✅ URL base atualizada: `api.imobzi.com` → `api.imobzi.app`
  - ✅ 15+ novos recursos adicionados
  - ✅ Suporte a 300+ endpoints da API
  - ✅ Recursos atualizados conforme nova estrutura
  - ✅ Endpoint de teste atualizado (`/v1/users`)
  - ⚠️ **Breaking Changes**: Alguns recursos mudaram de endpoint (ver CHANGELOG.md)

  ### v0.3.48
  - Versão anterior com API antiga

  ### v0.3.47
  - ✅ Endpoints corrigidos para usar `/v1/` conforme documentação oficial
  - ✅ URL base corrigida para `https://api.imobzi.com`
  - ✅ Autenticação Bearer Token implementada
  - ✅ Campos específicos por recurso implementados
  - ✅ Webhooks com eventos oficiais da API
  - ✅ Filtros dinâmicos funcionais
  - ✅ Todos os erros de linting corrigidos

  ---

  **Criado por**: Bruno Mantovani  
  **Versão Atual**: 1.0.1  
  **Última atualização**: Dezembro 2025  
  **API Base**: `https://api.imobzi.app`  
  **Repositório**: https://github.com/redeuno/imobzi-new

ai_documentation_summary:
  {"purpose":"O node ImobziNew permite integrar o n8n com a API da Imobzi (api.imobzi.app), facilitando o gerenciamento de leads, imóveis, contratos, contatos, finanças e outros recursos do CRM imobiliário, com suporte a operações como criar, buscar, atualizar e excluir itens.","capabilities":["Criar leads, imóveis, contatos, contratos, tarefas, eventos e outros recursos","Buscar itens por ID, email, telefone, CPF, nome ou código","Listar todos os itens com filtros avançados, busca rápida e paginação","Atualizar e excluir itens existentes","Gerenciar webhooks para recebimento de notificações em tempo real","Acessar novos recursos como negócios (Deal), funis de vendas (Pipeline), faturas (Invoice), locações (Leases), notas fiscais e equipe (Team)"],"authentication":"API key required","commonUseCases":["Automatizar o cadastro de leads e contatos em imóveis","Sincronizar dados de imóveis entre n8n e o Imobzi","Criar e atualizar contratos e faturas automaticamente","Monitorar eventos em tempo real via webhooks","Gerenciar tarefas e eventos no calendário do Imobzi"],"limitations":["Webhook documentation is truncated in the README","No information on rate limits or error handling in the provided content"],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-database"]}


node_type: n8n-nodes-bozonx-redis-sugar.BozonxRedisSugar
package_name: n8n-nodes-bozonx-redis-sugar
display_name: BozonxRedisSugar
description: n8n community nodes for Redis: Cache, Streams, and Queue
category: Community
development_style: declarative
version: 1.33.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: bozonx
author_github_url: git+https://github.com/bozonx/ivan-k-automation-tools.git
npm_package_name: n8n-nodes-bozonx-redis-sugar
npm_version: 1.33.0
community_fetched_at: 2026-01-07T20:08:17.656Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n Nodes: Bozonx Redis Sugar

  Community nodes for n8n to work with Redis, offering cache, streams, queues, and list management:

  - **Redis Cache**: read/write JSON values with optional TTL
  - **Redis Pub**: append entries to Redis Streams (XADD)
  - **Redis Sub Trigger**: consume entries from Redis Streams (XREAD)
  - **Redis Queue Add**: add jobs to a Redis-based queue for sequential processing
  - **Redis Queue Trigger**: process jobs from a Redis-based queue
  - **Redis Queue Complete**: mark queue job as complete and release lock
  - **Redis List Sugar**: manage simple lists with YAML/JSON parsing

  n8n is a fair-code licensed workflow automation platform: https://n8n.io/

  ## Installation

  Follow the official community nodes installation guide: https://docs.n8n.io/integrations/community-nodes/installation/

  Package name: **`n8n-nodes-bozonx-redis-sugar`**

  ## Credentials

  All nodes use the same Redis credentials:

  - **Host** (default: `localhost`)
  - **Port** (default: `6379`)
  - **Username** (optional)
  - **Password** (optional)
  - **TLS** (boolean)
  - **DB Index** (default: `0`)

  You can use expressions and environment variables, e.g., `{{$env.REDIS_HOST}}`, `{{$env.REDIS_PASSWORD}}`.

  ---

  ## Nodes

  ### 1) Redis Cache

  Read and write JSON data to Redis with optional TTL (Time To Live).

  **Parameters:**
  - **Mode**: Write or Read
  - **Key**: Redis key name
  - **Payload Type** (Write only): YAML/JSON or Data Fields
  - **TTL**: Expiration time (0 = no expiration). Units: seconds, minutes, hours, days

  **Output:**
  - Write: `{ ok: true, key, ttlSeconds, data }`
  - Read (hit): `{ found: true, key, data }`
  - Read (miss): `{ found: false, key }`

  **Details:**
  - **YAML/JSON mode**: Input is parsed as YAML (superset of JSON), then falls back to JSON parsing.
  - **Data Fields mode**: Define multiple typed fields (string, number, boolean, json, null). JSON values are validated.
  - **TTL**: Set to 0 for no expiration.

  ---

  ### 2) Redis Pub (Streams)

  Append entries to Redis Streams using `XADD`.

  **Parameters:**
  - **Event Name**: Redis stream key
  - **Payload Mode**: YAML/JSON or Key-Value
  - **Stream Trimming**: `MAXLEN ~ 1000000` (optional)
  - **Stream TTL**: `EXPIRE 86400` seconds (optional)

  **Output:**
  ```json
  {
    "payload": "<parsed_payload>",
    "_stream": "mystream",
    "_id": "1728666000000-0"
  }
  ```

  **Details:**
  - **YAML/JSON mode**: Sends a single field `data`. If input is empty, uses the incoming item (stringified).
  - **Key-Value mode**: Define typed fields. Invalid JSON values are rejected.

  ---

  ### 3) Redis Sub Trigger (Streams)

  Consume entries from Redis Streams using `XREAD`.

  **Parameters:**
  - **Stream Key**: Redis stream to listen to
  - **Allowed Stale (Seconds)**: If > 0, emits recent entries on start; 0 = only new entries
  - **Blocking Read**: `BLOCK 10000` (10 seconds)
  - **Batch Size**: `COUNT 50`

  **Output:**
  ```json
  {
    "payload": "<parsed_payload_or_fields>",
    "_stream": "mystream",
    "_id": "1728666000000-0"
  }
  ```

  **Details:**
  - Persists the last stream ID in workflow static data to resume from the correct position.

  ---

  ### 4) Redis Queue Add

  Add jobs to a Redis-based queue for **strictly sequential** processing. Jobs with the same **Queue Identifier** are processed one-by-one; different identifiers run in parallel.

  **Parameters (all required except Queue Identifier):**
  - **Callback ID** (required): Unique identifier linking this node to a specific **Redis Queue Trigger**. Must match exactly.
  - **Queue Identifier** (optional): Creates separate queues (e.g., per user: `user-123`). Jobs with the same identifier are sequential. **Do not use "##" in this value.**
  - **Data (YAML/JSON)**: Job payload. Leave empty to use the incoming item.
  - **Lock TTL (seconds)**: Maximum job execution time. If exceeded, the lock expires and the next job can start.
  - **Response Timeout (seconds)**: How long to wait for the job result before throwing an error.
  - **Include Other Input Fields**: Merge input data into output (default: false)

  **Output:**
  ```json
  {
    "result": {
      "callbackId": "my-queue",
      "queueIdentifier": "user-456",
      "jobId": "user-456##1735308000000##0##abc12",
      "batchIndex": 0,
      "isFirstInBatch": true,
      "isLastInBatch": true,
      "queuePosition": 1,
      "isFirstInQueue": false,
      "data": { "result": "from worker" },
      "isQueueEmpty": false
    }
  }
  ```

  **Output Fields:**
  - `callbackId`: Callback identifier
  - `queueIdentifier`: Queue identifier (or `null`)
  - `jobId`: Unique job ID (format: `queueIdentifier##executionId##itemIndex##random`)
  - `batchIndex`, `isFirstInBatch`, `isLastInBatch`: Batch position info
  - **`queuePosition`**: Position in queue **at enqueue time** (snapshot, may change)
  - **`isFirstInQueue`**: Whether this was the first job **at enqueue time** (snapshot)
  - `data`: Result data from the worker
  - `isQueueEmpty`: Whether the queue is now empty

  **Important:**
  - `queuePosition` and `isFirstInQueue` are **snapshots** taken when the job is added. They do not update if jobs are deferred or re-queued.

  ---

  ### 5) Redis Queue Trigger

  Process jobs from a Redis-based queue. Automatically discovers and consumes jobs from all active queue identifiers.

  **Parameters:**
  - **Callback ID** (required): Identifier linking this trigger to **Redis Queue Add** nodes. Must match exactly.
  - **Polling Interval (ms)**: Delay before retrying when a lock is busy (default: 1000ms)

  **Output:**
  ```json
  {
    "callbackId": "my-queue",
    "data": { "your": "job data" },
    "jobId": "user-456##1735308000000##0##abc12",
    "queueIdentifier": "user-456",
    "batchIndex": 0,
    "isFirstInBatch": true,
    "isLastInBatch": true,
    "queuePosition": 1,
    "isFirstInQueue": false
  }
  ```

  **Details:**
  - Uses `BLPOP` for efficient, event-driven job consumption.
  - Supports multiple queue identifiers in parallel.
  - **Requires Redis 6.0.6+** for queue position tracking (`LPOS` command).

  ---

  ### 6) Redis Queue Complete

  **ESSENTIAL NODE**: Releases the queue lock and allows the next job to start. Place this at the end of your queue processing workflow.

  **Parameters:**
  - **Callback ID** (required): Default: `={{ $json.callbackId }}`
  - **Job ID** (required): Default: `={{ $json.jobId }}`
  - **Include Other Input Fields**: Merge input data into output (default: false)

  **Output:**
  ```json
  {
    "result": {
      "data": { "your": "processed data" },
      "isQueueEmpty": true,
      "callbackId": "my-queue",
      "queueIdentifier": "user-456",
      "jobId": "user-456##1735308000000##0##abc12",
      "batchIndex": 0,
      "isFirstInBatch": true,
      "isLastInBatch": true,
      "queuePosition": 0,
      "isFirstInQueue": true
    }
  }
  ```

  **Output Fields:**
  - `isQueueEmpty`: `true` if this was the last job (queue is now empty)
  - Other fields: Passed through from the trigger for convenience

  **Critical Warning:**
  - **Always call this node**, even on errors! Use n8n's **Error Trigger** or **Error Stub** to ensure the lock is released.
  - If not called, the queue will freeze until the Lock TTL expires.

  ---

  ### Understanding the Queue System

  #### Strictly Sequential Execution
  - Within a single `Callback ID` + `Queue Identifier`, **only one job runs at a time**.
  - New jobs wait in the queue until the current job calls **Redis Queue Complete**.
  - Different `Queue Identifiers` (e.g., `user-123`, `user-456`) process in parallel.

  #### The "Leaked Lock" Problem
  If a workflow crashes before **Redis Queue Complete** is called, the lock remains in Redis and the queue freezes.

  **Solutions:**
  1. **Set a reasonable Lock TTL**: Match your actual job duration (e.g., 60s for a 10s job). The queue auto-unfreezes after TTL expires.
  2. **Error Handling**: Use n8n's **Error Trigger** to call **Redis Queue Complete** even on failure.
  3. **Manual Fix**: Delete the lock key in Redis: `lock:{callbackId}:{queueIdentifier}`.

  ---

  ### 7) Redis List Sugar

  Manage sophisticated lists of objects in Redis with built-in JSON/YAML parsing and multi-field matching logic.

  **Key Features:**
  - **Strict Object Mode**: All elements are enforced to be valid JSON objects.
  - **Smart Parsing**: Input data in YAML or JSON format.
  - **Multi-Field Matching**: Delete, Update, and Filter (Get Range) operations match elements that contain ALL specified fields from your search object.
  - **Batch Add**: Add a single object or an array of objects in one operation.
  - **Atomic Patch**: Update specific fields in matching objects without overwriting the entire item.

  #### Operations
  - **Add Element**: Adds one or more objects to the list. Supports YAML/JSON strings or arrays of objects.
      - Example (Single): `{ "id": 1, "name": "Item 1" }`
      - Example (Batch): `[{ "id": 2 }, { "id": 3 }]` (Each will be a separate list item)
  - **Delete Elements**: Removes ALL objects that match your criteria.
      - Matching logic: If you search for `{ "status": "expired" }`, all objects containing that field and value will be removed.
  - **Update Elements**: Updates objects matching your criteria.
      - **Patch (Merge Fields)**: Merges new fields into the existing object.
      - **Replace (Overwrite)**: Replaces the entire object.
  - **Get Range / All Elements**: Retrieves objects. Optionally filters them using the multi-field matching logic.
  - **Clear List**: Deletes the entire Redis key.

  #### Matching Example
  If your Redis list contains:
  1. `{"id": 101, "category": "books", "price": 10}`
  2. `{"id": 102, "category": "toys", "price": 10}`
  3. `{"id": 103, "category": "books", "price": 20}`

  Searching for `{"category": "books"}` will match items **1** and **3**.
  Searching for `{"category": "books", "price": 10}` will match only item **1**.

  ---

  ## Quick Start

  ### Cache Example
  1. Add **Redis credentials** in n8n
  2. **Redis Cache (Write)**: Set key, payload, TTL
  3. **Redis Cache (Read)**: Read the same key

  ### Streams Example
  1. **Redis Pub**: Set stream key and payload
  2. **Redis Sub Trigger**: Listen to the same stream

  ### Queue Example
  **Workflow 1 (Producer):**
  - **Schedule Trigger** → **Redis Queue Add**
    - Callback ID: `emails`
    - Queue Identifier: `={{ $json.userId }}`
    - Data: `{ "email": "user@example.com" }`

  **Workflow 2 (Consumer):**
  - **Redis Queue Trigger** (Callback ID: `emails`)
    - → **Send Email**
    - → **Redis Queue Complete**
    - → **IF** node: `={{ $json.result.isQueueEmpty }}`
      - **True** → Send summary email
      - **False** → End

  ---

  ## Usage Examples

  ### Redis Cache (Write)
  - Mode: Write
  - Key: `cache:user:42`
  - Payload Type: YAML/JSON
  - Data: `{ "id": 42, "name": "Ada" }`
  - TTL: 24 hours

  ### Redis Cache (Read)
  - Mode: Read
  - Key: `cache:user:42`

  ### Redis Pub
  - Stream Key: `events:main`
  - Payload Mode: YAML/JSON
  - Payload: (leave empty to use incoming item)

  ### Redis Sub Trigger
  - Stream Key: `events:main`
  - Allowed Stale: `0` (only new entries)

  ### Redis Queue Add
  - Callback ID: `image-processor` (required)
  - Queue Identifier: `={{ $json.userId }}` (e.g., `user-123`)
  - Data: `{ "url": "https://example.com/image.jpg", "format": "webp" }`
  - Lock TTL: `120` seconds
  - Response Timeout: `300` seconds

  ### Redis Queue Trigger
  - Callback ID: `image-processor` (must match producer)
  - Polling Interval: `1000` ms

  ### Redis Queue Complete
  - Callback ID: `={{ $json.callbackId }}`
  - Job ID: `={{ $json.jobId }}`

  ### Redis List Sugar
  - **Operation**: Update Elements
  - **Update Mode**: Patch (Merge Fields)
  - **List ID**: `active_users`
  - **Search Value**: `{"status": "expired"}`
  - **Value**: `{"status": "archived", "updatedAt": "2024-01-01"}`
  - **TTL**: `3600` (refreshes whole list expiration to 1 hour)

  ---

  ## Development

  ```bash
  # Install dependencies
  pnpm install

  # Lint
  pnpm lint

  # Build
  pnpm build

  # Watch mode
  pnpm dev
  # or
  pnpm run build:watch
  ```

  ### Local Redis (for testing)

  The package includes a `compose.yaml` for local development:
  - **Redis**: `localhost:6379`
  - **RedisInsight UI**: `http://localhost:5540`

  ```bash
  # Start
  docker compose -f compose.yaml up -d

  # Stop
  docker compose -f compose.yaml down
  ```

  **Connection params:**
  - Host: `localhost`
  - Port: `6379`
  - Username: (empty)
  - Password: (empty)
  - TLS: `false`
  - DB Index: `0`

  **Quick test:**
  ```bash
  redis-cli -h localhost -p 6379 ping
  ```

  **Docker networking:**
  - If n8n runs in the same Compose network, use `redis` as the host.
  - If separate networks, expose Redis and use the reachable host.

  ### Publishing

  - **n8n Community Node flow**: `pnpm release:n8n`
  - **Plain npm publish**: See `dev_docs/publish.md`

  Before publishing, `n8n-node prerelease` runs automatically.

  ---

  ## Requirements

  - **n8n**: 1.60.0+
  - **node-redis**: 5.x
  - **Redis Server**: 6.0.6+ (required for queue nodes)

  ## Compatibility

  Built and tested with:
  - n8n 1.60.0+
  - node-redis 5.x
  - Redis 6.0.6+

  **Note:** Redis Queue nodes require **Redis 6.0.6+** due to the `LPOS` command used for queue position tracking.

  ---

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"Provides n8n community nodes to interact with Redis for caching, streaming, queuing, and list management, enabling efficient data storage, real-time messaging, and sequential job processing.","capabilities":["Read and write JSON/YAML data to Redis with TTL support (Redis Cache)","Append entries to Redis Streams (Redis Pub)","Consume entries from Redis Streams (Redis Sub Trigger)","Add jobs to a Redis-based queue with sequential or parallel processing (Redis Queue Add)","Process jobs from a Redis queue (Redis Queue Trigger)","Mark a job as complete and release lock (Redis Queue Complete)","Manage simple lists using YAML/JSON parsing (Redis List Sugar)"],"authentication":"Redis credentials (Host, Port, Username, Password, TLS, DB Index) required; supports expressions and environment variables","commonUseCases":["Caching API responses or session data with TTL","Building real-time messaging systems using Redis Streams","Implementing background job queues for sequential processing (e.g., email sending, file processing)","Managing workflows with state tracking via queue position and batch information","Storing and retrieving structured data using JSON/YAML parsing"],"limitations":["Redis Queue Complete node is truncated in the README and its functionality is not fully described","Queue position and first-in-queue status are snapshots at enqueue time and do not update dynamically","Redis Queue Trigger requires Redis 6.0.6+ for queue position tracking via LPOS command","Queue identifiers must not contain '##' characters"],"relatedNodes":["Redis Cache","Redis Streams","Queue Nodes","Event-Driven Processing","Caching Nodes"]}


node_type: n8n-nodes-msdefender.Msdefender
package_name: n8n-nodes-msdefender
display_name: Msdefender
description: Integration with Microsoft Defender API
category: Community
development_style: declarative
version: 1.7.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: reothor
author_github_url: git+https://github.com/frodehus/n8n-nodes-msdefender.git
npm_package_name: n8n-nodes-msdefender
npm_version: 1.7.1
community_fetched_at: 2026-01-07T20:08:17.656Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-msdefender

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

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

  Microsoft Defender is a comprehensive security solution that helps protect your devices and data from threats.
  This node allows you to interact with the Microsoft Defender API to perform various security operations, such as managing devices, retrieving threat intelligence, and more.

  For a some background, visit [I made a n8n node for Microsoft Defender](https://www.frodehus.dev/i-made-a-n8n-node-for-microsoft-defender/).

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

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

  ## Installation

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

  ## Operations

  - Advanced Query: Run advanced queries against Microsoft Defender.
  - Alert: Manage and retrieve information about security alerts.
    - Get Many: Retrieve many alerts.
    - Get By ID: Retrieve a specific alert by its ID.
    - Update Alert: Update the properties of a specific alert.
  - Remediation: Manage and retrieve information about remediation activities.
    - Get Remediation Activities: Retrieve all remediation activities.
    - Get Remediation Activity: Retrieve a specific remediation activity by ID.
    - Get Devices By Remediation Activity: Retrieve devices exposed in a specific remediation activity by ID
  - Machine: Manage and retrieve information about devices.
    - Add Or Remove Tag For Machine
    - Find By Tag
    - Get Many: Retrieve many machines.
    - Get Security Recommendations For Machine
    - List Installed Software For Machine
  - Exposure
    - Get Current Exposure Score
    - Get Exposure Score By Machine Groups.
  - Machine Actions
    - Isolate Machine
    - Release Machine from Isolation
    - List Machine Actions
    - Offboard Machine
    - Cancel Machine Action
    - Run Antivirus Scan
  - Vulnerability
    - Get All Vulnerabilities
    - Get Machines By CVE
    - Get By Machine And Software
  - Investigation
    - Get All Investigations
    - Get Investigation By ID
    - Start Investigation on Machine
  - Indicator
    - Get All Indicators
    - Submit Indicator
    - Delete Indicator
  - Recommendation
    - Get Security Recommendations
    - Get Security Recommendation By ID
    - Get Machines By Security Recommendation
    - Get Vulnerabilities By Security Recommendation
    - Get Recommendations By Software
  - Software
    - Get All Software
    - Get Software By ID
    - Get Software Version Distribution
    - Get Machines By Software
    - Get Vulnerabilities By Software
    - Get Missing KBs By Software

  ## Triggers

  - Microsoft Defender Trigger
    - Polling trigger for alert created or updated

  ## Credentials

  To use this node, you need to set up an Entra ID (Azure AD) application and obtain the necessary credentials to access the Microsoft Defender API.

  1. Register an application in the [Azure Portal](https://portal.azure.com/).
  2. Assign the required API permissions to the application for Microsoft Defender.
      - Application permissions: `AdvancedQuery.Read.All`, `Machine.ReadWrite.All`, `Score.Read.All`, `Machine.Isolate`, `Vulnerability.Read.All`, `SecurityRecommendation.Read.All`, `Machine.Scan`, `Machine.Offboard`
  3. Grant admin consent for the permissions.
  4. Generate a client secret for the application.
  5. Note down the Application (client) ID, Directory (tenant) ID, and client secret.

  ![Entra ID App Permissions](/images/app-permissions.png)

  When configuring the Microsoft Defender node in n8n, use the following credentials:

  - **Client ID**: The Application (client) ID from your Azure AD application.
  - **Client Secret**: The client secret generated for your Azure AD application.
  - **Access Token URL**: `https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token`



  ## Compatibility

  This node is compatible with latest n8n versions.

  ## Usage

  [Try it out](https://docs.n8n.io/try-it-out/)

  ## Resources

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

  ## Version history

  [Changelog](./CHANGELOG.md)

ai_documentation_summary:
  {"purpose":"The Msdefender node enables integration with Microsoft Defender's API to perform security operations such as managing devices, retrieving alerts, vulnerability assessments, and threat intelligence within n8n workflows.","capabilities":["Run advanced queries","Manage and retrieve security alerts (get many, get by ID, update)","Manage remediation activities (get, retrieve devices exposed)","Manage devices (tagging, finding by tag, get security recommendations, list installed software)","Retrieve exposure scores (current, by machine groups)","Perform machine actions (isolate, release, offboard, scan, cancel action)","Retrieve vulnerabilities (by CVE, by machine/software)","Start and manage investigations","Submit and manage indicators","Retrieve security recommendations (by ID, by software, by machine)"],"authentication":"API key required via Azure AD application credentials: Client ID, Client Secret, and Tenant ID. Access token is obtained via OAuth2 at https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token.","commonUseCases":["Monitor and respond to security alerts in real-time","Automate device isolation or remediation actions","Assess device exposure and vulnerability risks","Generate security reports using threat intelligence and recommendations","Integrate with incident response workflows"],"limitations":[],"relatedNodes":["Microsoft 365","Azure AD","Security Monitoring","Incident Response"]}


node_type: n8n-nodes-evolution-api-english.EvolutionApiEnglish
package_name: n8n-nodes-evolution-api-english
display_name: EvolutionApiEnglish
description: The Evolution API is a channel hub focused on WhatsApp
category: Community
development_style: declarative
version: 1.1.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: sormagec
author_github_url: git+https://github.com/bsormagec/n8n-nodes-evolution-api.git
npm_package_name: n8n-nodes-evolution-api-english
npm_version: 1.1.2
community_fetched_at: 2026-01-07T20:08:17.657Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-evolution-api

  <p align="center">
    <img src="https://raw.githubusercontent.com/bsormagec/n8n-nodes-evolution-api/main/nodes/EvolutionApi/evolutionapi.svg" alt="Evolution API" width="120">
  </p>

  <p align="center">
  This Community Node is a comprehensive solution for integrating <b>Evolution API v2.3+</b> with n8n, providing full access to WhatsApp messaging, automation, and AI bot features.
  </p>

  <div align="center">
    <img src="https://img.shields.io/npm/v/n8n-nodes-evolution-api-english?style=for-the-badge&color=%23359514" alt="npm version">
    <img src="https://img.shields.io/npm/dt/n8n-nodes-evolution-api-english?style=for-the-badge&color=%230d1117" alt="npm downloads">
    <img src="https://img.shields.io/github/license/bsormagec/n8n-nodes-evolution-api?style=for-the-badge" alt="license">
  </div>

  <h1></h1>

  <h3>⚙️ Requirements</h3>

  To use this **Community Node**, the following requirements must be met:
  - **N8N** version **1.54.4** or higher
  - **Evolution API** version **2.3.0** or higher

  <h1></h1>

  <h3>🚀 What's New in v1.1.0</h3>

  - **🔔 Trigger Node** - Listen to 31+ WhatsApp events in real-time (messages, calls, groups, etc.)
  - **📞 Call Management** - Make voice/video calls
  - **🏷️ Label Management** - Create and manage WhatsApp labels
  - **🤖 OpenAI Integration** - ChatGPT bot management (14 operations)
  - **⚡ N8N Integration** - Native n8n workflow triggers
  - **🧠 EvoAI Integration** - EvoAI bot management
  - **📋 Template Messages** - WhatsApp message templates
  - **🏪 Business Catalog** - Product catalog management
  - **📍 New Message Types** - Location, Sticker, PTV (video notes), Template messages
  - **📡 New Event Systems** - WebSocket, AWS SQS, Kafka, NATS, Pusher

  <h1></h1>

  <h3>📦 Installation</h3>

  ```bash
  # Via npm
  npm install n8n-nodes-evolution-api-english

  # Or via n8n Community Nodes
  # Go to Settings > Community Nodes > Install > n8n-nodes-evolution-api-english
  ```

  <h1></h1>

  <h3>📌 Available Features</h3>

  <h3>🔔 Trigger Node (NEW!)</h3>
  📡 The Evolution API Trigger node allows you to start workflows automatically when WhatsApp events occur. It supports 31+ event types and automatically registers/deregisters webhooks when workflows are activated/deactivated.
  <br>
  <details>
    <summary><b>Supported Events</b></summary>
  	<details>
    	<summary>   ✅ <b>Message Events</b> - Message Received, Sent, Updated, Deleted, Edited</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Connection Events</b> - QR Code Updated, Connection Status, Application Startup</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Chat Events</b> - Chat Created, Updated, Deleted, Sync</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Contact Events</b> - Contact Created, Updated, Presence Update</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Group Events</b> - Group Created, Updated, Participants Update</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Call Events</b> - Incoming/Outgoing Calls</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Label Events</b> - Label Created, Association Changed</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Instance Events</b> - Instance Created, Deleted, Logout, Status</summary>
  	</details>
  	<details>
    	<summary>   ✅ <b>Integration Events</b> - Typebot Started, Status Changed</summary>
  	</details>
  </details>

  <h3>Instance</h3>
  🖥️ Full access to Evolution API instance management - create, connect, configure, monitor, and delete instances.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   ✅ <b> Create Instance</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Generate Qr-Code</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Fetch Instance</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Set Behavior</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Set Presence</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Set Proxy</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Fetch Proxy</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Disconnect WhatsApp</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Delete Instance</b></summary>
  	</details>
  </details>

  <h3>Message</h3>
  ✉️ Send various message types including text, media, polls, contacts, lists, buttons, and more.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   ✅ <b> Send Text</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Image</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Video</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Audio</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Document</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Poll</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Contact</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send List</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Button</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Pix</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Status</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> React to Message</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Send Location</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Send Sticker</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Send PTV (Video Note)</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Send Template Message</b></summary>
  	</details>
  </details>

  <h3>Group</h3>
  👥 Complete group management - create, configure, manage participants, and handle invites.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   ✅ <b> Create Group</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Update Group Picture</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Update Group Name</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Update Group Description</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Update Group Settings</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Update Members</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Fetch Group Invite Link</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Revoke Group Invite Link</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Group Invite Link</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Find Participants</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Temporary Messages</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Leave Group</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Join Group</b></summary>
  	</details>
  </details>

  <h3>Chat</h3>
  💬 Manage conversations - verify numbers, read messages, handle media, manage contacts.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   ✅ <b> Verify Number</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Read Message</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Manage Archive</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Mark as Unread</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Delete Message</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Fetch Profile Picture</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Get Media in Base64</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Edit Message</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Send Presence</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Block Contact</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Fetch Contacts</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Search Messages</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Search Status</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Search Chats</b></summary>
  	</details>
  </details>

  <h3>Event</h3>
  ⚡ Configure webhooks and event integrations for real-time monitoring.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   ✅ <b> Webhook</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> RabbitMQ</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> WebSocket</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> AWS SQS</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Kafka</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> NATS</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Pusher</b></summary>
  	</details>
  </details>

  <h3>Integration</h3>
  🔗 Connect with Chatwoot, Typebot, Dify, Flowise, and Evolution Bot.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   ✅ <b> Chatwoot</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Evolution Bot</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Typebot</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Dify</b></summary>
  	</details>
  	<details>
    	<summary>   ✅ <b> Flowise</b></summary>
  	</details>
  </details>

  <h3>📞 Call (NEW!)</h3>
  📱 Make voice and video calls through WhatsApp.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   🆕 <b> Make Call</b></summary>
  	</details>
  </details>

  <h3>🏷️ Label (NEW!)</h3>
  🏷️ Manage WhatsApp Business labels for organizing chats and contacts.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   🆕 <b> Find Labels</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Handle Label</b></summary>
  	</details>
  </details>

  <h3>🤖 OpenAI (NEW!)</h3>
  🧠 Complete OpenAI/ChatGPT integration for AI-powered WhatsApp bots.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   🆕 <b> Add Credentials</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Find Credentials</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Delete Credentials</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Create Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Find Bots</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Update Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Delete Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Change Status</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Set Settings</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Settings</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Sessions</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Ignore JID</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Get Models</b></summary>
  	</details>
  </details>

  <h3>⚡ N8N Integration (NEW!)</h3>
  🔄 Native n8n workflow integration for triggering workflows from WhatsApp messages.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   🆕 <b> Create Workflow</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Find Workflows</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Workflow</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Update Workflow</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Delete Workflow</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Change Status</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Set Settings</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Settings</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Sessions</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Ignore JID</b></summary>
  	</details>
  </details>

  <h3>🧠 EvoAI (NEW!)</h3>
  🤖 EvoAI bot management for advanced AI-powered automation.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   🆕 <b> Create Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Find Bots</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Update Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Delete Bot</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Change Status</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Set Settings</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Settings</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Fetch Sessions</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Ignore JID</b></summary>
  	</details>
  </details>

  <h3>📋 Template (NEW!)</h3>
  📝 Manage WhatsApp message templates for business messaging.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   🆕 <b> Create Template</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Find Templates</b></summary>
  	</details>
  </details>

  <h3>🏪 Business (NEW!)</h3>
  🛒 Manage WhatsApp Business catalogs and product collections.
  <br>
  <details>
    <summary><b>List of operations</b></summary>
  	<details>
    	<summary>   🆕 <b> Get Catalog</b></summary>
  	</details>
  	<details>
    	<summary>   🆕 <b> Get Collections</b></summary>
  	</details>
  </details>

  <h1></h1>

  <h3>🤝 Contributing</h3>

  Contributions are welcome! You can help in various ways:
  - **Pull Requests**: Submit improvements, fixes, or new features
  - **Issues**: Report problems or suggest new ideas
  - **Documentation**: Help improve or expand the documentation

  <h1></h1>

  <h3>📌 Contributors</h3>

  <a href="https://github.com/bsormagec/n8n-nodes-evolution-api/graphs/contributors">
    <img src="https://contrib.rocks/image?repo=bsormagec/n8n-nodes-evolution-api" />
  </a>

  <h1></h1>

  <h3>📄 License</h3>

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

  <h1></h1>

  <p align="center">
  Developed with ❤️ by <a href="https://github.com/bsormagec">Burak Sormagec</a>
  </p>

ai_documentation_summary:
  {"purpose":"The EvolutionApiEnglish node enables full integration with the Evolution API v2.3+ for WhatsApp, allowing real-time event triggering, message sending, call management, label handling, and AI bot operations within n8n workflows.","capabilities":["Real-time WhatsApp event triggering (31+ event types including messages, calls, groups, contacts, and labels)","Send various message types: text, image, video, audio, document, poll, contact, list, button, Pix, status, location, sticker, PTV (video note), and template messages","Manage WhatsApp instances: create, connect, configure, disconnect, delete, generate QR codes, set behavior and presence, and manage proxies","Make voice and video calls","Manage WhatsApp labels and associations","Integrate with OpenAI and EvoAI for AI bot management (14 OpenAI operations and EvoAI bot operations)","Support for new message types and event systems including WebSocket, AWS SQS, Kafka, NATS, and Pusher"],"authentication":"API key required (via Evolution API credentials)","commonUseCases":["Automatically respond to WhatsApp messages with AI-powered bots","Monitor WhatsApp group activities and trigger alerts on changes","Send automated messages (e.g., notifications, product updates) using templates","Manage WhatsApp business instances and connections dynamically","Create workflows for handling incoming calls or contact updates"],"limitations":[],"relatedNodes":["n8n-nodes-base.trigger","n8n-nodes-base.httpRequest","n8n-nodes-base.function","n8n-nodes-base.set","n8n-nodes-base.webhook"]}


node_type: n8n-nodes-imobzi-latest.ImobziLatest
package_name: n8n-nodes-imobzi-latest
display_name: ImobziLatest
description: Nodes para integração com a API da Imobzi no n8n
category: Community
development_style: declarative
version: 2.14.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mantovani.bruno
author_github_url: git+https://github.com/redeuno/n8n-nodes-imobzi-latest.git
npm_package_name: n8n-nodes-imobzi-latest
npm_version: 2.14.0
community_fetched_at: 2026-01-07T20:08:17.657Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-imobzi-latest

  Node customizado para integração com a **API da Imobzi** no n8n.

  [![npm version](https://badge.fury.io/js/n8n-nodes-imobzi-latest.svg)](https://www.npmjs.com/package/n8n-nodes-imobzi-latest)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  ## 🆕 Novidades v2.14.0

  ### FASE 1 COMPLETA - CRUD (100% Testado)

  - ✅ **Transação Financeira**: Get by ID, Create, Update, Delete
  - ✅ **Calendário**: Create, Update, Delete atividades
  - ✅ **Locação**: Create, Update, Delete contratos
  - ✅ **Fatura**: Create, Update faturas
  - ✅ **Deal Get by ID**: Bug corrigido pela Imobzi!

  ### FASE 2 - NOVOS RECURSOS (Testados)

  - ✅ **Histórico (Timeline)**: Buscar/criar histórico do contato
  - ✅ **Reserva de Imóvel**: Criar/cancelar reservas

  ### ❌ Removidos (API não autorizada)
  - Proposta (erro 401)
  - Match de Imóveis (erro 401)

  ## 📋 Recursos Disponíveis

  ### Recursos Principais (CRUD Completo)

  | Recurso | Operações |
  |---------|-----------|
  | **Contato** | Listar, Buscar por ID, Buscar por Código, Verificar Existência, Criar, Atualizar, Deletar |
  | **Imóvel** | Listar, Buscar por ID, Buscar por Código, Estatísticas, Criar, Atualizar, Deletar |
  | **Locação** | Listar, Buscar por ID, **Criar, Atualizar, Deletar** ✨ |
  | **Fatura** | Listar, Buscar por ID, **Criar, Atualizar** ✨ |
  | **Funil (Deal)** | Listar, Buscar por ID, Criar, Atualizar |
  | **Funil Por Estágio** | Listar (visão Kanban) |
  | **Transação Financeira** | Listar, **Buscar por ID, Criar, Atualizar, Deletar** ✨ |
  | **Calendário** | Listar, **Criar, Atualizar, Deletar** atividades ✨ |
  | **Documento** | Listar |
  | **Usuário** | Listar |

  ### Novos Recursos (Fase 2) ✨

  | Recurso | Operações |
  |---------|-----------|
  | **Histórico (Timeline)** | Listar histórico, Criar nota |
  | **Reserva de Imóvel** | Listar, Criar, Cancelar reservas |

  ### Recursos Auxiliares (para dropdowns)

  - Estágio (Pipeline)
  - Grupo de Funil
  - Tipo de Imóvel
  - Origem (Media Source)
  - Tag de Contato
  - Motivo de Perda
  - Banco
  - Conta Financeira

  ## 🚀 Instalação

  ### Via npm (recomendado)

  ```bash
  npm install n8n-nodes-imobzi-latest -g
  ```

  ### No n8n Cloud

  1. Vá em **Settings** > **Community Nodes**
  2. Clique em **Install a community node**
  3. Digite: `n8n-nodes-imobzi-latest`
  4. Clique em **Install**

  ### VPS / Self-hosted

  ```bash
  cd ~/.n8n/nodes
  npm install n8n-nodes-imobzi-latest
  # Reiniciar n8n
  pm2 restart n8n
  ```

  ## ⚙️ Configuração

  ### Obter API Key

  1. Acesse sua conta Imobzi
  2. Vá em **Configurações** > **Integrações** > **API**
  3. Copie sua **API Key**

  ### Configurar no n8n

  1. Adicione um node **Imobzi**
  2. Clique em **Create New Credential**
  3. Cole sua **API Key**
  4. Salve

  ## 📖 Uso

  ### Listar Contatos

  ```
  Recurso: Contato
  Operação: Get Many
  Filtros:
    - Usuário Responsável: Dropdown com 16 usuários
    - Origem: Dropdown com 38 opções
    - Tags: Dropdown com 57 opções
    - Smart List: Meus Contatos, Novos Leads, etc
  ```

  ### Criar/Atualizar Contato

  ```
  Recurso: Contato
  Operação: Criar / Atualizar
  Tipo de Contato: Pessoa/Lead/Organização
  Dados (JSON):
  {
    "name": "Nome do Contato",
    "email": "email@exemplo.com",
    "phones": [{"number": "67999999999"}]
  }
  ```

  ### Listar Transações Financeiras

  ```
  Recurso: Transação Financeira
  Operação: Get Many
  Filtros:
    - Data Início / Data Fim
    - Status: Pago / Pendente
    - Tipo: Receita / Despesa
    - Conta Bancária
    - Ordenar Por / Ordem
  ```

  ### Listar Calendário

  ```
  Recurso: Calendário
  Operação: Get Many
  Ano: 2025
  Mês: Dezembro
  Filtros:
    - Usuário: Dropdown (Todos ou específico)
    - Tipo de Item: Visita/Tarefa/WhatsApp/Chamada
    - Exibir Feriados: Sim/Não
  ```

  ## 🔧 Auto-Paginação

  O node suporta auto-paginação automática. Selecione a quantidade de registros:

  - 50 registros
  - 100 registros
  - 200 registros
  - 500 registros
  - Todos (máx 5000)

  ## 📊 Filtros Disponíveis (v2.9.0)

  ### Contato
  - **⚠️ Usuário Responsável**: Dropdown com 16 usuários - *Não funciona na API*
  - **✅ Origem**: Dropdown com 38 origens
  - **✅ Tags**: Dropdown com 57 tags (sistema + personalizadas)
  - **✅ Smart List**: 12 opções (all, my_contacts, new_leads, etc.)
  - **⚠️ Tipo de Contato**: person ✅, lead ⚠️, organization ❌
  - **Busca**: Por nome, email ou telefone

  ### Imóvel
  - **✅ Corretor**: Dropdown com 16 usuários
  - **✅ Smart List**: 16 opções (available, rent, sale, without_photos, etc.)
  - **⚠️ Status**: available, reserved, unavailable - *Não confirmado*
  - **⚠️ Finalidade**: residential, commercial, rural - *Não confirmado*

  ### Locação
  - **✅ Smart List**: 9 opções (active, inactive, expiring, finished, etc.)

  ### Fatura - v2.12.0 ✅ CONFIRMADO
  - **✅ Período**: 15, 30, 60, 90 dias, Personalizado ou Todos
  - **✅ Status**: pending, paid, overdue, `canceled` (1 L!), partially_paid, expired, deleted, all
  - **✅ Método de Pagamento**: bank_slip, pix, credit_card
  - **✅ Ordenar Por / Ordem**
  - **⚠️ status=cancelled**: Com 2 L's causa erro 422 (usar `canceled`)

  ### Deal (Lista) - v2.12.0 ✅ ATUALIZADO
  Agora usa `/v1/deals` com filtros extensivamente testados:
  - **✅ Grupo de Funil**: Todos + 5 grupos
  - **✅ Etapa**: Todas + 7 estágios
  - **✅ Status do Deal**: `all` (233), `win` (19), `lost` (220), `stagnant` (229), `property_radar` (100), `out_of_date` (201)
  - **✅ Tipo de Negócio**: `all` (233), `rent` (138)
  - **✅ Corretor**: Todos + 16 usuários
  - **📤 Output**: Lista plana de deals

  ### Deal Por Estágio (Kanban)
  Mesmos filtros do Deal (Lista):
  - **✅ Grupo de Funil**: Todos + 5 grupos
  - **✅ Etapa**: Todas + 7 estágios
  - **✅ Status do Deal**: 6 opções testadas (win, lost, stagnant, property_radar, out_of_date, all)
  - **✅ Tipo de Negócio**: all, rent
  - **✅ Corretor**: Todos + 16 usuários
  - **📤 Output**: Estrutura Kanban (deals agrupados por estágio)

  ### Transação Financeira
  - **✅ Data Início / Data Fim**: Período de busca
  - **✅ Status**: Pago, Pendente, Todos
  - **✅ Tipo**: Receita, Despesa, Transferência
  - **✅ Conta Bancária**: Dropdown dinâmico
  - **✅ Ordenar Por**: Data de Vencimento, Data de Pagamento, Valor
  - **✅ Ordem**: Crescente, Decrescente

  ### Calendário - v2.12.0 ✅ ATUALIZADO
  - **✅ Usuário**: Dropdown (Todos ou específico)
  - **✅ Tipo de Item**: `task` (461 itens), `whatsapp` (326), `visit`, `call`
  - **✅ Exibir Feriados**: Sim/Não
  - **⚠️ item_type=all/meeting**: Causam erro 422 (não suportados pela API)

  ## 🔗 Webhook

  O pacote inclui também o node **Imobzi Trigger** para receber webhooks da Imobzi.

  Eventos suportados:
  - contact.created / contact.updated
  - property.created / property.updated
  - deal.created / deal.updated / deal.lost / deal.won
  - lease.created
  - invoice.created / invoice.paid
  - visit.scheduled / visit.cancelled
  - E outros...

  ## 📝 Notas Importantes

  ### CRUD
  - **Create**: POST para criar novos registros
  - **Update**: POST para atualizar (API Imobzi não usa PATCH)
  - **Delete**: DELETE para remover registros

  ### Paginação
  - Contacts: A API ignora o limite e sempre retorna 50 por página (auto-paginação via cursor)
  - Invoices e Transactions: Usam `next_page` (número) para paginação
  - Outros: Usam `cursor` para paginação

  ### IDs
  - Usuários: STRING (ex: "P1ibK4GFPqZYKIx9e55RpQobt7J2")
  - Contatos/Imóveis: STRING numérica
  - Locações/Pipelines: NUMBER
  - Faturas: STRING UUID

  ## ⚠️ Limitações Conhecidas da API (v2.9.0)

  | Endpoint | Problema |
  |----------|----------|
  | `/v1/contacts?user_id=` | Não filtra - sempre retorna todos |
  | `/v1/deals/search?user_id=` | Não filtra |
  | `/v1/deals/search?pipeline_id=` | Não filtra |
  | `/v1/deal/{id}` | Bug - Retorna erro 500 |
  | `/v1/organization/code/{code}` | Retorna 404 |
  | `/v1/lead/code/{code}` | Retorna 404 |
  | `/v1/property/exists?code=` | Retorna dados incorretos |

  ### Soluções
  - **Para filtrar Deals**: Use **"Deal Por Estágio"** com `pipeline_group_id`
  - **Para buscar contato por código**: Só funciona para tipo **"Pessoa"**

  ## 📋 Histórico de Versões

  ### v2.14.0 (Atual) ✨
  - ✅ **FASE 1 COMPLETA**: CRUD para Transação, Calendário, Locação, Fatura
  - ✅ **FASE 2**: Timeline, Reserva de Imóvel (testados e funcionando)
  - ✅ **Deal Get by ID**: Bug corrigido pela Imobzi!
  - ❌ **Removidos**: Proposta e Match de Imóveis (API erro 401)
  - ✅ **28 endpoints testados**: 100% funcionando

  ### v2.13.0
  - ✅ **FASE 1 COMPLETA**: CRUD para Transação, Calendário, Locação, Fatura
  - ✅ **FASE 2**: Timeline, Proposta, Reserva, Match de Imóveis

  ### v2.12.0
  - ✅ **DEALS Status**: Adicionados `win`, `stagnant`, `property_radar`, `out_of_date`
  - ✅ **DEALS Tipo**: Adicionado `rent` (138 deals de locação)
  - ✅ **Calendário item_type**: Filtro atualizado com `task` (461), `whatsapp` (326)
  - ✅ **Faturas**: Confirmado `canceled` (1 L), não `cancelled` (2 L's)
  - ✅ **+250 testes**: Todos os filtros extensivamente testados

  ### v2.11.0
  - ✅ **DEALS user_id**: Corrigido filtro "Todos Os Corretores"
  - ✅ **CALENDÁRIO**: Lógica corrigida para usar search_all=true

  ### v2.10.0
  - ✅ **Deal (Lista)**: Agora usa `/v1/deals` com todos os filtros
  - ✅ **Filtro de Etapa**: Adicionado em Deal e Deal Por Estágio
  - ✅ **Output Lista Plana**: Deals extraídos da estrutura Kanban
  - ✅ **Todos os filtros têm "Todos"**: Consistência em todos os nodes

  ### v2.9.0
  - Deal Por Estágio: Pipeline Groups (5 grupos) + Pipelines (7 estágios)
  - Avisos visuais: Filtros que não funcionam marcados com ⚠️
  - Documentação: Mapeamento completo de filtros da API

  ### v2.8.0
  - Análise completa de todos os filtros da API
  - Documento de mapeamento consolidado

  ### v2.6.0
  - Transações Financeiras: 7 filtros completos
  - CRUD Contato, Imóvel, Deal

  ### v2.5.0
  - Calendar corrigido
  - 57 Tags, 38 Origens, 16 Usuários em dropdowns

  ## 📄 Licença

  MIT © Bruno Mantovani

  ## 🔗 Links

  - [Imobzi](https://imobzi.com)
  - [n8n](https://n8n.io)
  - [Repositório](https://github.com/redeuno/n8n-nodes-imobzi-latest)
  - [npm](https://www.npmjs.com/package/n8n-nodes-imobzi-latest)

  ## 📞 Suporte

  - Issues: [GitHub Issues](https://github.com/redeuno/n8n-nodes-imobzi-latest/issues)
  - Email: bruno@redeuno.com.br

  ---

  **Versão:** 2.14.0  
  **Última atualização:** 14 Dezembro 2025  
  **Testes:** 28 endpoints testados - 100% funcionando  
  **Changelog:** [docs/CHANGELOG_v2.14.md](docs/CHANGELOG_v2.14.md)

ai_documentation_summary:
  {"purpose":"O node ImobziLatest permite integração com a API da Imobzi, oferecendo operações CRUD completas para recursos como Contato, Imóvel, Locação, Fatura, Transação Financeira, Calendário e Histórico, além de novos recursos como Reserva de Imóvel e Histórico de Notas.","capabilities":["Listar e buscar contatos por ID, código, usuário, origem, tags ou smart lists","Criar, atualizar e deletar contratos de locação","Criar, atualizar e deletar faturas","Criar, atualizar e deletar transações financeiras","Criar, atualizar e deletar atividades no calendário","Criar e cancelar reservas de imóveis","Listar histórico de contatos (timeline) e criar notas","Listar deals (funil) com filtros por etapa, grupo, status e corretor","Listar deals por estágio em formato Kanban","Auto-paginação com opções de 50 a 5000 registros"],"authentication":"API Key requerida","commonUseCases":["Sincronizar contatos e leads com o sistema de CRM da Imobzi","Gerenciar contratos de locação e faturas automatizados","Monitorar o funil de vendas com análise por estágio e status","Automatizar atividades no calendário de visitas e chamadas","Gerar relatórios de transações financeiras por período"],"limitations":["Proposta e Match de Imóveis foram removidos devido a erro 401 (não autorizados)","Filtros como 'Usuário Responsável' e 'Status' em Imóvel não estão confirmados ou funcionam parcialmente","Tipo de Contato 'Lead' e 'Organization' têm limitações ou não funcionam corretamente","Status 'cancelled' em faturas causa erro 422; deve ser usado 'canceled'","Filtros de 'Status' em Imóvel e 'Finalidade' não confirmados"],"relatedNodes":["n8n-nodes-base","n8n-nodes-http-request","n8n-nodes-database"]}


node_type: n8n-nodes-edit-image-plus.EditImagePlus
package_name: n8n-nodes-edit-image-plus
display_name: EditImagePlus
description: N8N Edit Image Plus
category: Community
development_style: declarative
version: 0.1.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: unilogica
author_github_url: git+https://github.com/unilogica/n8n-edit-image-plus.git
npm_package_name: n8n-nodes-edit-image-plus
npm_version: 0.1.10
community_fetched_at: 2026-01-07T20:08:17.657Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-edit-image-plus

  # Node with Alignment Enhancement for Edit Node

  This repository contains an enhanced version of oficial `n8n-nodes-base.editImage`, a Node module for text editing with alignment support.

  ## Description

  The `n8n-nodes-edit-image-plus` is a Node module that allows text editing within a node environment. However, the alignment functionality in the oficial N8N Edit Image can be complex and challenging to use. This enhanced version adds improved alignment features to make the task of aligning text easier as needed.

  ## Added Features

  - Align(Gravity): Left, center, and right, top and bottom text alignment.
  - Enhanced user interface for alignment options selection with Text Width and Height.

  ## Example

  ![Print sample](https://github.com/unilogica/n8n-edit-image-plus/blob/master/print-sample.png?raw=true)


  ## Installing n8n-nodes-edit-image-plus

  To install a custom node in n8n, follow these steps:

  1. Refer to the official documentation: [n8n Custom Node Installation](https://docs.n8n.io/integrations/community-nodes/installation/)

  2. Choose the custom node you want to install, for example, `n8n-nodes-edit-image-plus`.

  3. Follow the instructions provided in the documentation to install and configure the custom node.

  For detailed installation steps and configuration options, please visit the official n8n documentation linked above.

  ## License

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

ai_documentation_summary:
  {"purpose":"The EditImagePlus node enhances the official n8n Edit Image node by adding improved text alignment capabilities, including left, center, right, top, and bottom alignment, along with better UI controls for text width and height adjustments.","capabilities":["Text alignment (left, center, right, top, bottom)","Adjust text width and height in the user interface","Improved user interface for alignment options"],"authentication":"None","commonUseCases":["Aligning text within images for better visual design","Creating formatted image content for marketing or reports","Customizing image text placement in workflows"],"limitations":[],"relatedNodes":["n8n-nodes-base.editImage"]}


node_type: n8n-nodes-gagem.Gagem
package_name: n8n-nodes-gagem
display_name: Gagem
description: n8n node for Gagem (Google Gemini) API
category: Community
development_style: declarative
version: 1.0.15
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: quanchun
npm_package_name: n8n-nodes-gagem
npm_version: 1.0.15
community_fetched_at: 2026-01-07T20:08:17.658Z
npm_readme: ERROR: No README data found!
ai_summary_generated_at: 2026-01-08 10:45:31
ai_documentation_summary:
  {"purpose":"The Gagem node enables integration with the Gagem (Google Gemini) API, allowing users to interact with Google's Gemini AI model within n8n workflows for tasks like generating text, answering questions, or processing natural language inputs.","capabilities":["Generate text using Google Gemini","Answer questions via AI","Process natural language inputs","Integrate with n8n workflows for automated AI responses"],"authentication":"API key required","commonUseCases":["Automated content generation","Customer support chatbots","AI-powered question answering","Data analysis with natural language queries"],"limitations":["No README content available for detailed functionality or constraints","Limited visibility into rate limits, supported models, or input/output formats"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.function","n8n-nodes-base.set","n8n-nodes-base.json"]}


node_type: n8n-nodes-evolution-go.EvolutionGo
package_name: n8n-nodes-evolution-go
display_name: EvolutionGo
category: Community
development_style: declarative
version: 0.1.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: oriondesign
author_github_url: git+https://github.com/oriondesign2015/n8n-nodes-evolution-go.git
npm_package_name: n8n-nodes-evolution-go
npm_version: 0.1.2
community_fetched_at: 2026-01-07T20:08:17.658Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Evolution Go API is a REST API developed in Go to integrate WhatsApp with applications, offering support for multiple instances and advanced messaging features.

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

  # n8n-nodes-starter

  This starter repository helps you build custom integrations for [n8n](https://n8n.io). It includes example nodes, credentials, the node linter, and all the tooling you need to get started.

  ## Quick Start

  > [!TIP]
  > **New to building n8n nodes?** The fastest way to get started is with `npm create @n8n/node`. This command scaffolds a complete node package for you using the [@n8n/node-cli](https://www.npmjs.com/package/@n8n/node-cli).

  **To create a new node package from scratch:**

  ```bash
  npm create @n8n/node
  ```

  **Already using this starter? Start developing with:**

  ```bash
  npm run dev
  ```

  This starts n8n with your nodes loaded and hot reload enabled.

  ## What's Included

  This starter repository includes two example nodes to learn from:

  - **[Example Node](nodes/Example/)** - A simple starter node that shows the basic structure with a custom `execute` method
  - **[GitHub Issues Node](nodes/GithubIssues/)** - A complete, production-ready example built using the **declarative style**:
    - **Low-code approach** - Define operations declaratively without writing request logic
    - Multiple resources (Issues, Comments)
    - Multiple operations (Get, Get All, Create)
    - Two authentication methods (OAuth2 and Personal Access Token)
    - List search functionality for dynamic dropdowns
    - Proper error handling and typing
    - Ideal for HTTP API-based integrations

  > [!TIP]
  > The declarative/low-code style (used in GitHub Issues) is the recommended approach for building nodes that interact with HTTP APIs. It significantly reduces boilerplate code and handles requests automatically.

  Browse these examples to understand both approaches, then modify them or create your own.

  ## Finding Inspiration

  Looking for more examples? Check out these resources:

  - **[npm Community Nodes](https://www.npmjs.com/search?q=keywords:n8n-community-node-package)** - Browse thousands of community-built nodes on npm using the `n8n-community-node-package` tag
  - **[n8n Built-in Nodes](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/nodes)** - Study the source code of n8n's official nodes for production-ready patterns and best practices
  - **[n8n Credentials](https://github.com/n8n-io/n8n/tree/master/packages/nodes-base/credentials)** - See how authentication is implemented for various services

  These are excellent resources to understand how to structure your nodes, handle different API patterns, and implement advanced features.

  ## Prerequisites

  Before you begin, install the following on your development machine:

  ### Required

  - **[Node.js](https://nodejs.org/)** (v22 or higher) and npm
    - Linux/Mac/WSL: Install via [nvm](https://github.com/nvm-sh/nvm)
    - Windows: Follow [Microsoft's NodeJS guide](https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows)
  - **[git](https://git-scm.com/downloads)**

  ### Recommended

  - Follow n8n's [development environment setup guide](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/)

  > [!NOTE]
  > The `@n8n/node-cli` is included as a dev dependency and will be installed automatically when you run `npm install`. The CLI includes n8n for local development, so you don't need to install n8n globally.

  ## Getting Started with this Starter

  Follow these steps to create your own n8n community node package:

  ### 1. Create Your Repository

  [Generate a new repository](https://github.com/n8n-io/n8n-nodes-starter/generate) from this template, then clone it:

  ```bash
  git clone https://github.com/<your-organization>/<your-repo-name>.git
  cd <your-repo-name>
  ```

  ### 2. Install Dependencies

  ```bash
  npm install
  ```

  This installs all required dependencies including the `@n8n/node-cli`.

  ### 3. Explore the Examples

  Browse the example nodes in [nodes/](nodes/) and [credentials/](credentials/) to understand the structure:

  - Start with [nodes/Example/](nodes/Example/) for a basic node
  - Study [nodes/GithubIssues/](nodes/GithubIssues/) for a real-world implementation

  ### 4. Build Your Node

  Edit the example nodes to fit your use case, or create new node files by copying the structure from [nodes/Example/](nodes/Example/).

  > [!TIP]
  > If you want to scaffold a completely new node package, use `npm create @n8n/node` to start fresh with the CLI's interactive generator.

  ### 5. Configure Your Package

  Update `package.json` with your details:

  - `name` - Your package name (must start with `n8n-nodes-`)
  - `author` - Your name and email
  - `repository` - Your repository URL
  - `description` - What your node does

  Make sure your node is registered in the `n8n.nodes` array.

  ### 6. Develop and Test Locally

  Start n8n with your node loaded:

  ```bash
  npm run dev
  ```

  This command runs `n8n-node dev` which:

  - Builds your node with watch mode
  - Starts n8n with your node available
  - Automatically rebuilds when you make changes
  - Opens n8n in your browser (usually http://localhost:5678)

  You can now test your node in n8n workflows!

  > [!NOTE]
  > Learn more about CLI commands in the [@n8n/node-cli documentation](https://www.npmjs.com/package/@n8n/node-cli).

  ### 7. Lint Your Code

  Check for errors:

  ```bash
  npm run lint
  ```

  Auto-fix issues when possible:

  ```bash
  npm run lint:fix
  ```

  ### 8. Build for Production

  When ready to publish:

  ```bash
  npm run build
  ```

  This compiles your TypeScript code to the `dist/` folder.

  ### 9. Prepare for Publishing

  Before publishing:

  1. **Update documentation**: Replace this README with your node's documentation. Use [README_TEMPLATE.md](README_TEMPLATE.md) as a starting point.
  2. **Update the LICENSE**: Add your details to the [LICENSE](LICENSE.md) file.
  3. **Test thoroughly**: Ensure your node works in different scenarios.

  ### 10. Publish to npm

  Publish your package to make it available to the n8n community:

  ```bash
  npm publish
  ```

  Learn more about [publishing to npm](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).

  ### 11. Submit for Verification (Optional)

  Get your node verified for n8n Cloud:

  1. Ensure your node meets the [requirements](https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/):
     - Uses MIT license ✅ (included in this starter)
     - No external package dependencies
     - Follows n8n's design guidelines
     - Passes quality and security review

  2. Submit through the [n8n Creator Portal](https://creators.n8n.io/nodes)

  **Benefits of verification:**

  - Available directly in n8n Cloud
  - Discoverable in the n8n nodes panel
  - Verified badge for quality assurance
  - Increased visibility in the n8n community

  ## Available Scripts

  This starter includes several npm scripts to streamline development:

  | Script                | Description                                                      |
  | --------------------- | ---------------------------------------------------------------- |
  | `npm run dev`         | Start n8n with your node and watch for changes (runs `n8n-node dev`) |
  | `npm run build`       | Compile TypeScript to JavaScript for production (runs `n8n-node build`) |
  | `npm run build:watch` | Build in watch mode (auto-rebuild on changes)                    |
  | `npm run lint`        | Check your code for errors and style issues (runs `n8n-node lint`) |
  | `npm run lint:fix`    | Automatically fix linting issues when possible (runs `n8n-node lint --fix`) |
  | `npm run release`     | Create a new release (runs `n8n-node release`)                   |

  > [!TIP]
  > These scripts use the [@n8n/node-cli](https://www.npmjs.com/package/@n8n/node-cli) under the hood. You can also run CLI commands directly, e.g., `npx n8n-node dev`.

  ## Troubleshooting

  ### My node doesn't appear in n8n

  1. Make sure you ran `npm install` to install dependencies
  2. Check that your node is listed in `package.json` under `n8n.nodes`
  3. Restart the dev server with `npm run dev`
  4. Check the console for any error messages

  ### Linting errors

  Run `npm run lint:fix` to automatically fix most common issues. For remaining errors, check the [n8n node development guidelines](https://docs.n8n.io/integrations/creating-nodes/).

  ### TypeScript errors

  Make sure you're using Node.js v22 or higher and have run `npm install` to get all type definitions.

  ## Resources

  - **[n8n Node Documentation](https://docs.n8n.io/integrations/creating-nodes/)** - Complete guide to building nodes
  - **[n8n Community Forum](https://community.n8n.io/)** - Get help and share your nodes
  - **[@n8n/node-cli Documentation](https://www.npmjs.com/package/@n8n/node-cli)** - CLI tool reference
  - **[n8n Creator Portal](https://creators.n8n.io/nodes)** - Submit your node for verification
  - **[Submit Community Nodes Guide](https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/)** - Verification requirements and process

  ## Contributing

  Have suggestions for improving this starter? [Open an issue](https://github.com/n8n-io/n8n-nodes-starter/issues) or submit a pull request!

  ## License

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

ai_documentation_summary:
  {"purpose":"The EvolutionGo node integrates with the EvolutionGo WhatsApp API to enable messaging functionalities within n8n workflows, supporting advanced WhatsApp messaging features across multiple instances.","capabilities":["Send messages via WhatsApp","Support for multiple instances","Advanced messaging features through the EvolutionGo API"],"authentication":"Not explicitly specified in the README; likely requires API key or token based on standard EvolutionGo API practices","commonUseCases":["Sending automated WhatsApp messages to customers","Integrating WhatsApp with CRM or customer support systems","Managing multi-instance WhatsApp campaigns"],"limitations":[],"relatedNodes":["n8n-nodes-base.WhatsApp","n8n-nodes-base.HTTP Request"]}


node_type: @zensoftbr/n8n-nodes-zenerp.Zenerp
package_name: @zensoftbr/n8n-nodes-zenerp
display_name: Zenerp
description: Zen ERP integration for n8n
category: Community
development_style: declarative
version: 0.1.14
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: fabianobonin
author_github_url: git+https://github.com/zensoft-br/zen.erp.connector.n8n.git
npm_package_name: @zensoftbr/n8n-nodes-zenerp
npm_version: 0.1.14
community_fetched_at: 2026-01-07T20:08:17.659Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @zensoftbr/n8n-nodes-zenerp

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

  **Zen ERP** is a cloud-based enterprise management system for small and medium businesses that centralizes operations across modules like commercial, finance, inventory, fiscal, and supply chain.

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

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

  ## Installation

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

  ## Operations

  This node dynamically exposes **all operations available in the Zen ERP API**.

  Operations are generated directly from the Zen ERP OpenAPI definition and organized by service/module inside n8n.  
  This ensures that all current and future API endpoints are automatically available without requiring manual updates to the node documentation.

  For the complete and up-to-date API reference, see:
  https://api.zenerp.app.br/platform/openapi

  ## Credentials

  To use the Zen ERP n8n node, you need a **permanent access token**.  
  This token must be generated in the Zen ERP application by an authorized user.

  Follow the steps below:

  - Log in to the Zen ERP application.
  - Go to **System → Security → Users**.
  - Select the user for which you want to generate the token.
  - Click **Forward**.
  - Choose **Get a permanent token**.
  - Enter your user credentials to confirm.
  - Copy and securely store the generated token.

  After generating the token, paste it into the Zen ERP credentials configuration in n8n.

  ## Compatibility

  - Tested with: **n8n v2.1.5**

  No known incompatibilities at this time.

  ## Usage

  The Zen ERP node dynamically exposes all available API operations based on the Zen ERP OpenAPI definition.

  After configuring the credentials, add the Zen ERP node to your workflow and:

  - Select the desired service/module.
  - Choose the operation you want to execute.
  - Fill in the required parameters as defined by the API schema.

  All available operations, inputs, and outputs are generated automatically and stay in sync with the Zen ERP API.

  If you are new to n8n, see the official “Try it out” guide:
  https://docs.n8n.io/try-it-out

  ## Resources

  - [Zen ERP website](https://zenerp.com.br)
  - [Zen ERP documentation](https://docs.zenerp.com.br)
  - [Zen ERP API documentation](https://api.zenerp.app.br/platform/openapi)
  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)

ai_documentation_summary:
  {"purpose":"The Zenerp node enables integration with Zen ERP's cloud-based enterprise management system, allowing users to automate workflows by accessing operations across modules such as commercial, finance, inventory, fiscal, and supply chain via the Zen ERP API.","capabilities":["Access all API operations dynamically generated from Zen ERP's OpenAPI definition","Execute operations by selecting a service/module and specific API endpoint","Automatically syncs with the latest API endpoints without manual updates","Supports full API input/output schema mapping as defined by Zen ERP"],"authentication":"API key (permanent access token) required; generated in Zen ERP under System → Security → Users → Get a permanent token","commonUseCases":["Automating invoice creation or updates in the commercial module","Syncing inventory levels across systems","Triggering financial transactions or reports","Managing fiscal compliance and supply chain operations"],"limitations":[],"relatedNodes":["n8n core nodes","API-based integration nodes"]}


node_type: n8n-nodes-kiwify.Kiwify
package_name: n8n-nodes-kiwify
display_name: Kiwify
description: n8n node for Kiwify API integration
category: Community
development_style: declarative
version: 0.2.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: 99lab.dev
author_github_url: git+https://github.com/99labdev/n8n-nodes-kiwify.git
npm_package_name: n8n-nodes-kiwify
npm_version: 0.2.0
community_fetched_at: 2026-01-07T20:08:17.659Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-kiwify

  ![logo](logo.png)

  Este é um node da comunidade n8n que permite integrar com a API da Kiwify. Ele possibilita acessar vários serviços e dados da Kiwify dentro dos seus workflows do n8n.

  [Kiwify](https://kiwify.com.br/) é uma plataforma de vendas de produtos digitais que permite criadores venderem cursos, ebooks e outros conteúdos digitais.

  ## Instalação

  Siga o [guia de instalação](https://docs.n8n.io/integrations/community-nodes/installation/) na documentação de nodes da comunidade do n8n.

  ## Operações

  ### Conta
  - **Obter Detalhes da Conta**: Recupera detalhes sobre sua conta Kiwify

  ### Produtos
  - **Listar Produtos**: Obtenha uma lista de todos os produtos
    - **Page Size** (opcional): Número de produtos a retornar por página (padrão: 10)
    - **Page Number** (opcional): Número da página a recuperar (padrão: 1)
  - **Consultar Produto**: Obtenha os detalhes de um produto específico
    - **ID Do Produto** (obrigatório): ID do produto a ser consultado

  ### Vendas
  - **Listar Vendas**: Obtenha uma lista de todas as vendas
    - **Data De Início** (obrigatório): Data de início para buscar vendas (formato: YYYY-MM-DD)
    - **Data De Fim** (obrigatório): Data de fim para buscar vendas (formato: YYYY-MM-DD)
    - **Status** (opcional): Filtrar vendas por status
    - **Método De Pagamento** (opcional): Filtrar vendas por método de pagamento
    - **ID Do Produto** (opcional): Filtrar vendas por ID do produto
    - **Detalhes Completos Da Venda** (opcional): Se deve retornar detalhes completos da venda
  - **Consultar Venda**: Obtenha os detalhes de uma venda específica
    - **ID Da Venda** (obrigatório): ID da venda a ser consultada
  - **Reembolsar Venda**: Reembolse uma venda específica
    - **ID Da Venda** (obrigatório): ID da venda a ser reembolsada
    - **Chave PIX** (opcional): Chave PIX para reembolso
  - **Consultar Estatísticas De Vendas**: Obtenha estatísticas de vendas
    - **Data De Início** (obrigatório): Data de início para estatísticas (formato: YYYY-MM-DD)
    - **Data De Fim** (obrigatório): Data de fim para estatísticas (formato: YYYY-MM-DD)
    - **ID Do Produto** (opcional): ID do produto para estatísticas específicas

  ### Afiliados
  - **Listar Afiliados**: Obtenha uma lista de todos os afiliados
    - **Tamanho Da Página** (opcional): Número de afiliados a retornar por página (padrão: 10)
    - **Número Da Página** (opcional): Número da página a recuperar (padrão: 1)
    - **Status** (opcional): Filtrar afiliados por status (ativo, bloqueado, recusado)
    - **ID Do Produto** (opcional): Filtrar afiliados por ID do produto
    - **Buscar** (opcional): Termo de busca para filtrar afiliados
  - **Consultar Afiliado**: Obtenha detalhes de um afiliado específico
    - **ID Do Afiliado** (obrigatório): ID do afiliado a ser consultado
  - **Editar Afiliado**: Edite informações de um afiliado específico
    - **ID Do Afiliado** (obrigatório): ID do afiliado a ser editado
    - **Comissão** (opcional): Nova comissão do afiliado
    - **Status** (opcional): Novo status do afiliado (ativo, bloqueado, recusado)

  ### Webhooks
  - **Listar Webhooks**: Obtenha uma lista de todos os webhooks
    - **Tamanho Da Página** (opcional): Número de webhooks a retornar por página (padrão: 10)
    - **Número Da Página** (opcional): Número da página a recuperar (padrão: 1)
    - **ID Do Produto** (opcional): Filtrar webhooks por ID do produto
    - **Buscar** (opcional): Termo de busca para filtrar webhooks
  - **Consultar Webhook**: Obtenha detalhes de um webhook específico
    - **ID Do Webhook** (obrigatório): ID do webhook a ser consultado
  - **Criar Webhook**: Crie um novo webhook
    - **Nome Do Webhook** (obrigatório): Nome do webhook
    - **URL Do Webhook** (obrigatório): URL de destino do webhook
    - **Produtos** (opcional): ID do produto específico ou "all" para todos os produtos (padrão: "all")
    - **Triggers** (obrigatório): Eventos que irão disparar o webhook
    - **Token** (opcional): Token personalizado para o webhook
  - **Atualizar Webhook**: Atualize um webhook específico
    - **ID Do Webhook** (obrigatório): ID do webhook a ser atualizado
    - **Nome Do Webhook** (obrigatório): Nome do webhook
    - **URL Do Webhook** (obrigatório): URL de destino do webhook
    - **Produtos** (opcional): ID do produto específico ou "all" para todos os produtos (padrão: "all")
    - **Triggers** (obrigatório): Eventos que irão disparar o webhook
    - **Token** (opcional): Token personalizado para o webhook
  - **Deletar Webhook**: Delete um webhook específico
    - **ID Do Webhook** (obrigatório): ID do webhook a ser deletado

  ### Eventos
  - **Listar Participantes**: Obtenha uma lista de participantes de eventos
    - **ID Do Produto** (obrigatório): ID do produto para listar participantes
    - **Check-in Realizado** (opcional): Filtrar por participantes que fizeram check-in
    - **Tamanho Da Página** (opcional): Número de participantes a retornar por página (padrão: 10)
    - **Número Da Página** (opcional): Número da página a recuperar (padrão: 1)
    - **Data De Criação - Início** (opcional): Data de início para filtrar por data de criação (formato: YYYY-MM-DD)
    - **Data De Criação - Fim** (opcional): Data de fim para filtrar por data de criação (formato: YYYY-MM-DD)
    - **Data De Atualização - Início** (opcional): Data de início para filtrar por data de atualização (formato: YYYY-MM-DD)
    - **Data De Atualização - Fim** (opcional): Data de fim para filtrar por data de atualização (formato: YYYY-MM-DD)
    - **External ID** (opcional): Filtrar por External ID do participante
    - **Batch ID** (opcional): Filtrar por Batch ID do lote
    - **Telefone** (opcional): Filtrar por telefone do participante
    - **CPF** (opcional): Filtrar por CPF do participante
    - **ID Do Pedido** (opcional): Filtrar por ID do pedido

  ### Financeiro
  - **Consultar Saldos**: Obtenha todos os saldos da conta
  - **Consultar Saldo Específico**: Obtenha um saldo específico por Legal Entity ID
    - **Legal Entity ID** (obrigatório): ID da entidade legal para consultar saldo específico
  - **Listar Saques**: Obtenha uma lista de todos os saques
    - **Legal Entity ID** (opcional): Filtrar saques por Legal Entity ID
    - **Tamanho Da Página** (opcional): Número de saques a retornar por página (padrão: 10)
    - **Número Da Página** (opcional): Número da página a recuperar (padrão: 1)
  - **Consultar Saque**: Obtenha detalhes de um saque específico
    - **ID Do Saque** (obrigatório): ID do saque a ser consultado
  - **Realizar Saque**: Solicite a realização de um saque
    - **Valor Do Saque** (obrigatório): Valor do saque a ser solicitado (em centavos)
    - **Legal Entity ID** (obrigatório): ID da entidade legal para consultar saldo específico

  ## Credenciais

  Para usar este node, você precisa configurar as credenciais da API da Kiwify:

  1. **Client ID**: Seu Client ID da API Kiwify
  2. **Client Secret**: Seu Client Secret da API Kiwify
  3. **Account ID**: Seu Account ID da Kiwify

  ### Como obter suas credenciais:

  1. Faça login no seu painel da Kiwify
  2. Navegue para Apps > API > Criar Chave API
  3. Copie o `client_id`
  4. Copie o `client_secret`
  5. Copie o `account_id` da mesma página

  O node automaticamente gerenciará o fluxo OAuth 2.0:
  1. Usando seu Client ID e Client Secret para obter um access token
  2. Usando o access token e Account ID para requisições subsequentes da API

  ### Fluxo de Autenticação:

  O node implementa o fluxo OAuth 2.0 completo conforme especificado na documentação da API da Kiwify:

  1. **Requisição de Token**: `POST /oauth/token` com client_id e client_secret
  2. **Requisições da API**: Usa o access_token retornado no cabeçalho Authorization junto com x-kiwify-account-id

  Para mais informações sobre autenticação, visite a [documentação da API da Kiwify](https://docs.kiwify.com.br/api-reference/general).

  ## Recursos

  * [Documentação de nodes da comunidade n8n](https://docs.n8n.io/integrations/community-nodes/)
  * [Documentação da API da Kiwify](https://docs.kiwify.com.br/api-reference/general)

  ## Licença

  [MIT](https://github.com/99labdev/n8n-nodes-kiwify/blob/master/LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Kiwify n8n node enables integration with the Kiwify platform to manage digital products, sales, affiliates, webhooks, and event participants within n8n workflows.","capabilities":["Retrieve account details","List and retrieve product details","List and retrieve sales with filtering by date, status, payment method, and product ID","Reimburse a sale with optional PIX key","Retrieve sales statistics by date and product","List and retrieve affiliate details and edit affiliate information","Manage webhooks: list, create, update, delete, and retrieve details","List and filter event participants with various criteria including date ranges, contact info, and check-in status"],"authentication":"API key required (not explicitly mentioned in README, but implied by standard Kiwify API access)","commonUseCases":["Track sales performance over time","Monitor affiliate activity and commissions","Automate webhook triggers for product or sale events","Generate reports on product sales and participant check-ins","Manage digital product inventory and sales data"],"limitations":["No explicit mention of rate limits or error handling in the documentation","Webhook triggers and product filtering options may require testing for full functionality","Event participant filtering has many optional parameters, which may impact performance or usability"],"relatedNodes":["n8n-nodes-base.Http Request","n8n-nodes-base.Database","n8n-nodes-base.Function","n8n-nodes-base.Set"]}


node_type: n8n-nodes-pagespeed-insights.PagespeedInsights
package_name: n8n-nodes-pagespeed-insights
display_name: PagespeedInsights
description: n8n node for Google PageSpeed Insights API with OAuth2
category: Community
development_style: declarative
version: 1.0.11
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mrazari
npm_package_name: n8n-nodes-pagespeed-insights
npm_version: 1.0.11
community_fetched_at: 2026-01-07T20:08:17.659Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-pagespeed-insights

  This is an n8n community node that lets you use Google PageSpeed Insights API with OAuth2 authentication in your n8n workflows.

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

  ## Installation

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

  ### Community Nodes (Recommended)

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

  ### Manual Installation

  To get started install the package in your n8n root directory:
  ```bash
  npm install n8n-nodes-pagespeed-insights
  ```

  For Docker-based deployments add the following line before the font installation command in your [n8n Dockerfile](https://github.com/n8n-io/n8n/blob/master/docker/images/n8n/Dockerfile):
  ```bash
  RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-pagespeed-insights
  ```

  ## Operations

  - **PageSpeed Analysis**: Get comprehensive performance, accessibility, SEO, and best practices scores for any URL

  ## Credentials Setup

  This node uses OAuth2 authentication with Google API. Follow these steps:

  1. Go to [Google Cloud Console](https://console.cloud.google.com/)
  2. Create a new project or select an existing one
  3. Enable the **PageSpeed Insights API**
  4. Go to **Credentials** and create **OAuth 2.0 Client ID**
  5. Set authorized redirect URIs to your n8n instance OAuth callback URL
  6. Copy the **Client ID** and **Client Secret**
  7. In n8n, create new credentials:
     - Select **PageSpeed Insights OAuth2 API**
     - Enter Client ID and Client Secret
     - Click **Connect my account** and authorize access

  ## Features

  - **Multiple Strategies**: Analyze for mobile or desktop
  - **Multiple Categories**: Performance, Accessibility, Best Practices, and SEO
  - **Simplified Response**: Get clean, easy-to-use metrics
  - **Full Response Option**: Access complete Lighthouse data
  - **Locale Support**: Get results in your preferred language
  - **Core Web Vitals**: FCP, LCP, TBT, CLS, Speed Index, TTI

  ## Compatibility

  Tested against n8n version 1.0.0 and above.

  ## Usage

  ### PageSpeed Analysis

  1. Add the PageSpeed Insights node to your workflow
  2. Configure OAuth2 credentials
  3. Enter the URL to analyze
  4. Select strategy (Mobile/Desktop)
  5. Choose categories to analyze
  6. Enable/disable simplified response
  7. Execute the node

  The node will return:
  - **Scores** (0-100) for each category
  - **Core Web Vitals metrics**
  - **Loading experience data**
  - **Full Lighthouse audit results** (if simplified response is disabled)

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Google PageSpeed Insights API Documentation](https://developers.google.com/speed/docs/insights/v5/get-started)
  - [Google Cloud Console](https://console.cloud.google.com/)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The PagespeedInsights node enables n8n workflows to analyze website performance, accessibility, SEO, and best practices using Google's PageSpeed Insights API via OAuth2 authentication.","capabilities":["Perform performance, accessibility, SEO, and best practices analysis","Analyze URLs in mobile or desktop strategy modes","Retrieve Core Web Vitals metrics (FCP, LCP, TBT, CLS, Speed Index, TTI)","Support for multiple language locales","Option to return simplified scores or full Lighthouse audit results"],"authentication":"OAuth2 with Google API: Requires creating a Google Cloud Project, enabling the PageSpeed Insights API, and setting up an OAuth 2.0 Client ID with redirect URI pointing to n8n's OAuth callback.","commonUseCases":["Automated performance audits of websites","Monitoring website speed and SEO health over time","Integrating performance data into CI/CD or reporting pipelines","Generating accessibility and best practices compliance reports"],"limitations":[],"relatedNodes":["Google Analytics","Lighthouse","Webhook","HTTP Request"]}


node_type: n8n-nodes-puppeteer-extended.PuppeteerExtended
package_name: n8n-nodes-puppeteer-extended
display_name: PuppeteerExtended
description: n8n node for requesting webpages using Puppeteer
category: Community
development_style: declarative
version: 0.1.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: hckdotng
author_github_url: git+https://github.com/hckdotng/n8n-nodes-puppeteer-extended.git
npm_package_name: n8n-nodes-puppeteer-extended
npm_version: 0.1.0
community_fetched_at: 2026-01-07T20:08:17.660Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-puppeteer-extended

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

  [n8n](https://www.n8n.io) node based on [n8n-nodes-puppeteer](https://github.com/drudge/n8n-nodes-puppeteer) for requesting webpages using [Puppeteer](https://pptr.dev/), a Node library which provides a high-level API to control Chrome or Chromium over the [DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/).

  This version brings features allowing more complex interactions with web pages:

  - Click on elements
  - Fill in fields
  - Fetch content or take a screenshot of a specific area (via CSS selectors)
  - Convert HTML to JSON (and turn any page into an API)
  - Configure the viewport
  - Set additional conditions to validate the loading of a page (ex: wait for selector)
  - Inject HTML/CSS/JS
  - Allow sequences of actions by combining nodes on a single execution while you keep the same session (navigate on multiple pages, take several screenshots...)
  - Allow multiple output combination on a single node
  - Granular management of options (globally and on each sequence)

  ## How to install

  ### Community Nodes (Recommended)

  For users on n8n v0.187+, your instance owner can install this node from [Community Nodes](https://docs.n8n.io/integrations/community-nodes/installation/).

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

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

  ### Manual installation

  To get started install the package in your n8n root directory:

  `npm install n8n-nodes-puppeteer-extended`


  For Docker-based deployments, you'll need to make sure [puppeteer is installed](https://developer.chrome.com/docs/puppeteer/troubleshooting/#running-puppeteer-in-docker) first. Then, add the following line before the font installation command in your [n8n Dockerfile](https://github.com/n8n-io/n8n/blob/master/docker/images/n8n/Dockerfile):


  `RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-puppeteer-extended`

  Check out [this gist](https://gist.github.com/hckdotng/4232ceaaab6a3533aaca022cc2fdd726) for a working example with docker-compose.

  >
  > **Note:** If you've having issues running puppeteer, please check their [Troubleshooting guide](https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md) before opening an issue here.
  >

  ## Node Reference

  * **Global options**
      * **Emulate Device**: Allows you to specify a [device](https://github.com/puppeteer/puppeteer/blob/main/src/common/DeviceDescriptors.ts) to emulate when requesting the page.
      * **Extra Headers**: Allows you add additional headers when requesting the page.
      * **Launch Arguments**: Allows you to specify additional command line arguments passed to the browser instance.
      * **Viewport**: Allows you to specify a window size in pixels (Width and Height)
      * **Timeout**: Allows you to specify tge maximum navigation time in milliseconds. You can pass 0 to disable the timeout entirely.
      * **Wait Until**: Allows you to change how Puppeteer considers navigation completed.
          * `load`: The load event is fired.
          * `networkidle0`: No more than 0 connections for at least 500 ms.
          * `networkidle2`: No more than 2 connections for at least 500 ms.
      * **Time to Wait**: Allows you specify a time (ms) for Puppeteer to wait before any interactions and content output.
      * **Wait for Selector**: Allows you specify Puppeteer to wait for a selector to appear in page before any interactions and content output.
      * **Page Caching**: Allows you to toggle whether pages should be cached when requesting.
      * **Headless mode**: Allows you to change whether to run browser runs in headless mode or not.
      * **Stealth mode**: When enabled, applies various techniques to make detection of headless Puppeteer harder. Powered by [puppeteer-extra-plugin-stealth](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth).
      * **Proxy Server**: Allows Puppeteer to use a custom proxy configuration. You can specify a custom proxy configuration in three ways:
          By providing a semi-colon-separated mapping of list scheme to url/port pairs.
          For example, you can specify:

              http=foopy:80;ftp=foopy2

          to use HTTP proxy "foopy:80" for http URLs and HTTP proxy "foopy2:80" for ftp URLs.

          By providing a single uri with optional port to use for all URLs.
          For example:

              foopy:8080

          will use the proxy at foopy:8080 for all traffic.

          By using the special "direct://" value.

              direct://" will cause all connections to not use a proxy.
      * **Inject HTML**: Allows you to append HTML to the body.
      * **Inject CSS**: Allows you to append raw CSS to the head.
      * **Inject JS**: Allows you to append raw JS to the head.
  * **Node options**: These options override any corresponding global options for the step
      * **Timeout**: Allows you to specify tge maximum navigation time in milliseconds. You can pass 0 to disable the timeout entirely.
      * **Wait Until**: Allows you to change how Puppeteer considers navigation completed.
          * `load`: The load event is fired.
          * `networkidle0`: No more than 0 connections for at least 500 ms.
          * `networkidle2`: No more than 2 connections for at least 500 ms.
      * **Time to Wait**: Allows you specify a time (ms) for Puppeteer to wait before any interactions and content output.
      * **Wait for Selector**: Allows you specify Puppeteer to wait for a selector to appear in page before any interactions and content output.
      * **Inject HTML**: Allows you to append HTML to the body.
      * **Inject CSS**: Allows you to append raw CSS to the head.
      * **Inject JS**: Allows you to append raw JS to the head.
  * **URL**: URL to the requesting page. Required on the first node but if it's empty in a following node, Puppeteer will stay on the same page. It can be useful to achieve complex operations.
  * **Query Parameters**: The query parameter to send.
  * **Interactions**: Allows you to click on elements or fill fields, in order Puppeteer will wait for the element to display (timeout 10s) so you can easily chain multiple interactions even if there is asynchonous call.
      * **Selector**: CSS selector to specify the element to interact with.
      * **Value**: If specified, Puppeteer will try to type the value with the keyboard emulation, if not, Puppeteer will click on the element.
      * **Wait for navigation**: Set it to true only if the click triggers a page change, so Puppeteer will wait before any other action.
  * **Output**: Output is optional, but if you decide to output data in the current step, you can't select multiple data output even if the UI of n8n allows it. If you need multiple output just add another step without URL to stay on the same page.
      * **Page content**: Returns raw HTML (string) or JSON depending on the options selected and the context.
        * **Property name**: Name of the property returned for this output.
        * **CSS selector**: If empty it will returns the whole page (document), if not the specified element.
        * **Select All**: Instead of grabbing the first element matching the CSS selector, all matching elements will be returned.
        * **innerHTML**: In case of CSS selector (and HTML to JSON set to false), it will returns the raw innerHTML instead of the outerHTML.
        * **HTML to JSON**: Try to convert HTML nodes to JSON with the following logic:
              
              <a href="/contact" class="mr-2 text-sm">Contact</a>

              "a": {
                  "@href": "/contact",
                  "@class": [
                      "mr-2",
                      "text-sm"
                  ],
                  "#text": "Contact"
              }

              <div>
                  <div class="bg-red-500">
                      <p>Hello</p>
                      <p class="text-xl">Wo<b>r</b>ld!</p>
                  </div>
              </div>

              "div": {
                  "div": {
                      "@class": "bg-red-500",
                      "p": [
                          "Hello",
                          {
                              "@class": "text-xl",
                              "#text": [
                                  "Wo",
                                  "ld!"
                              ],
                              "b": "r"
                          }
                      ]
                  }
              }

        * **No attributes**: Ignore HTML attributes while converting to JSON.

      * **Screenshot**: Returns binary.
          * **CSS selector**: If empty it captures the whole window or page depending on the options, if not it captures the corresponding zone.
          * **Property Name**: Name of the binary property returned.
          * **Type**: Image type to use between JPG, PNG and WebP.
          * **Quality**: The quality of the image, between 0-100. Not applicable to PNG.
          * **Full Page**: Allows you to capture a screen of the full scrollable content.
      * **PDF**: Returns binary.
          * **Property Name**: Name of the binary property returned.
          * **Page Ranges**: Allows you to specify paper ranges to print, e.g. 1-5, 8, 11-13.
          * **Scale**: Allows you to scale the rendering of the web page. Amount must be between 0.1 and 2
          * **Prefer CSS Page Size**: Give any CSS @page size declared in the page priority over what is declared in the width or height or format option.
          * **Format**: Allows you to specify the paper format types when printing a PDF. eg: Letter, A4.
          * **Height**: Allows you to set the height of paper. You can pass in a number or a string with a unit.
          * **Width**: Allows you to set the width of paper. You can pass in a number or a string with a unit.
          * **Landscape**: Allows you to control whether to show the header and footer
          * **Margin**: Allows you to specify top, left, right, and bottom margin.
          * **Display Header/Footer**: Allows you to specify whether to show the header and footer.
          * **Header Template**: Allows you to specify the HTML template for the print header. Should be valid HTML with the following classes used to inject values into them:
              - `date`: Formatted print date
              - `title`: Document title
              - `url`: Document location
              - `pageNumber` Current page number
              - `totalPages` Total pages in the document
           * **Footer Template**: Allows you to specify the HTML template for the print footer. Should be valid HTML with the following classes used to inject values into them:
              - `date`: Formatted print date
              - `title`: Document title
              - `url`: Document location
              - `pageNumber` Current page number
              - `totalPages` Total pages in the document
          * **Transparent Background**: Allows you to hide the default white background and allows generate PDFs with transparency.
          * **Background Graphic**: Allows you to include background graphics.

  ## Screenshot

  ![](images/screenshot.png)

  ## License

  MIT License

  Copyright (c) 2022 Nicholas Penree <nick@penree.com>

  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files (the "Software"), to deal
  in the Software without restriction, including without limitation the rights
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  copies of the Software, and to permit persons to whom the Software is
  furnished to do so, subject to the following conditions:

  The above copyright notice and this permission notice shall be included in all
  copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  SOFTWARE.

ai_documentation_summary:
  {"purpose":"The PuppeteerExtended node allows automation of web page interactions using Puppeteer, enabling actions like clicking, filling forms, waiting for elements, taking screenshots, fetching content, and converting HTML to JSON, all within an n8n workflow.","capabilities":["Click on webpage elements","Fill form fields","Fetch page content or take screenshots via CSS selectors","Convert HTML to JSON to create APIs","Configure viewport size","Wait for specific selectors to load before proceeding","Inject custom HTML, CSS, or JavaScript","Execute sequences of actions in a single session (e.g., navigate multiple pages)","Combine multiple outputs from a single node","Set granular global and per-sequence options"],"authentication":"None required; authentication is not handled by this node. It operates by controlling a headless browser instance via Puppeteer.","commonUseCases":["Automating form submissions on websites","Scraping dynamic content from web pages","Taking screenshots of specific page sections","Validating page loads with conditional waits","Creating web APIs from HTML pages"],"limitations":["Requires Puppeteer to be installed and properly configured (especially in Docker environments)","Performance may degrade with complex or heavily JavaScript-heavy pages","Stealth mode may not fully evade all detection systems","Limited error handling and debugging tools compared to native browser automation tools"],"relatedNodes":["Webhook","HTTP Request","Function","Set","Filter"]}


node_type: @bitovi/n8n-nodes-utils.Utils
package_name: @bitovi/n8n-nodes-utils
display_name: Utils
description: N8N util nodes from Bitovi
category: Community
development_style: declarative
version: 0.2.6
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-utils.git
npm_package_name: @bitovi/n8n-nodes-utils
npm_version: 0.2.6
community_fetched_at: 2026-01-07T20:08:17.661Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @bitovi/n8n-nodes-utils

  This is an n8n community node package that provides utility nodes for enhancing your n8n workflows. It includes nodes for JSON schema validation, regex operations, data manipulation, and Wikipedia integration.

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

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

  ### Quick Installation

  1. Make sure to allow community nodes with `N8N_COMMUNITY_PACKAGES_ENABLED=true`
  2. Once logged in to your N8N web UI, go to `/settings/community-nodes` and type `@bitovi/n8n-nodes-utils`
  3. Click install and restart your n8n instance

  ## Operations

  This package includes the following utility nodes:

  ### JSONSchema Validation
  Validates JSON data against a provided JSON schema using the AJV library.

  ### Regex
  Perform regular expression operations on text data.
  - **Get Matches**: Extract all matches from text using a regex pattern
  - **Replace**: Replace text using regex patterns with support for capture groups

  ### Skip
  Skip a specified number of items from the input data stream.
  - **Data filtering**: Remove the first N items from your data flow
  - **Pagination support**: Useful for implementing pagination or data chunking

  ### Wikipedia
  Integrate with Wikipedia to fetch content and metadata.
  - **Get Content**: Retrieve the full content of a Wikipedia page
  - **Get Links**: Extract all links from a Wikipedia page
  - These automatically suggest the closest matching page name and follow redirects to the correct page

  ## Compatibility

  - **Minimum n8n version**: Compatible with n8n API version 1
  - **Node.js version**: Requires Node.js >= 18.10
  - **Package manager**: Uses pnpm >= 9.1

  This package has been tested with recent versions of n8n and follows the community node standards.

  ## Usage

  ### JSONSchema Validation Example
  Use this node to validate API responses or user input data:
  ```json
  {
    "type": "object",
    "properties": {
      "name": { "type": "string" },
      "age": { "type": "number", "minimum": 0 },
      "email": { "type": "string", "format": "email" }
    },
    "required": ["name", "email"]
  }
  ```

  ### Regex Example
  Extract email addresses from text:
  - **Pattern**: `[\w\.-]+@[\w\.-]+\.\w+`
  - **Flags**: `g` (global to find all matches)

  ### Wikipedia Integration
  Fetch content about a topic for AI processing or content generation:
  - Set **Page Name** to your topic of interest
  - Enable **Auto Suggest** for fuzzy matching
  - Use **Get Content** for full article text or **Get Links** for related topics

  ## Need help or have questions?

  Need guidance on leveraging AI agents or N8N for your business? Our [AI Agents workshop](https://hubs.ly/Q02X-9Qq0) will equip you with the knowledge and tools necessary to implement successful and valuable agentic workflows.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [AJV JSON Schema Validator](https://ajv.js.org/)
  - [Wikipedia API](https://github.com/dopecodez/Wikipedia)
  - [Bitovi GitHub Repository](https://github.com/bitovi/n8n-nodes-utils)

  ## License

  [MIT](./LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Utils node package provides a set of utility functions to enhance n8n workflows, including JSON schema validation, regular expression operations, data skipping, and Wikipedia integration for content retrieval and linking.","capabilities":["Validate JSON data against a provided schema using AJV","Perform regex operations such as extracting matches and replacing text with capture group support","Skip a specified number of items from input data for pagination or data chunking","Fetch Wikipedia page content and extract links with auto-suggest and redirect handling"],"authentication":"None required for any of the utility nodes","commonUseCases":["Validating incoming API responses or user inputs","Extracting structured data (e.g., email addresses) from free-text fields","Implementing pagination by skipping initial data items","Fetching Wikipedia content for AI agents or content generation workflows"],"limitations":[],"relatedNodes":["JSON Validation","Text Processing","Data Filtering","AI/Content Generation"]}


node_type: @premiertutors/n8n-nodes-missive.Missive
package_name: @premiertutors/n8n-nodes-missive
display_name: Missive
description: n8n node for Missive API
category: Community
development_style: declarative
version: 2.4.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: pravinbansal-pt
author_github_url: git+https://github.com/premiertutors/n8n-nodes.git
npm_package_name: @premiertutors/n8n-nodes-missive
npm_version: 2.4.5
community_fetched_at: 2026-01-07T20:08:17.661Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @premiertutors/n8n-nodes-missive

  This package contains n8n community nodes maintained by Premier Tutors.

  ## Features

  - Missive nodes: drafts, posts, contacts, contact books, conversations, organizations

  ## Installation

  ### In n8n

  1. Go to **Settings** > **Community Nodes**
  2. Click on **Install**
  3. Enter `@premiertutors/n8n-nodes-missive` in **Name**
  4. Click **Install**

  ### In your own n8n installation

  1. Go to your n8n installation directory
  2. Run `npm install @premiertutors/n8n-nodes-missive`
  3. Start n8n

  ## Usage

  ### Authentication

  To use the Missive nodes, you'll need an API token from Missive:

  1. Open your Missive preferences
  2. Click on the API tab
  3. Create a new token
  4. Use this token when setting up your Missive credentials in n8n

  ### Available Resources and Operations

  - **Drafts**
    - Create a new draft

  - **Posts**
    - Create a new post in a conversation

  - **Contacts**
    - Create a new contact
    - Get a specific contact
    - Get all contacts
    - Update a contact
    - Delete a contact

  - **Contact Books**
    - Get all contact books

  - **Conversations**
    - Get a specific conversation
    - Get all conversations

  - **Organizations**
    - Get all organizations

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Missive API documentation](https://learn.missiveapp.com/api-documentation/rest-endpoints)

  ## Local GUI dev loop (recommended)

  From the repo root:

  - Install deps: `npm ci`
  - Start local n8n UI + auto-reload on save: `npm run dev:gui:watch`

  Open `http://localhost:5678/` and look for the **Missive** node.

  ## Local publishing (manual, repeatable)

  From the repo root:

  - Publish this package (patch bump): `npm run publish:n8n-nodes-missive`
  - Or use the generic helper: `npm run publish:workspace -- --workspace packages/missive --bump patch`

  Notes:

  - First-time publishing requires `npm login` and permission to publish the package name.
  - For scoped packages you may need `--access public` the first time (depends on your npm org defaults).

  ## Scaffold a new node

  From the repo root:

  `npm run scaffold:node -- --workspace packages/missive --folder MyNode --class MyNode --node myNode --display "My Node"`

  (You can also scaffold into `packages/notion` for Notion-related nodes.)

  ## Releases

  This repo is a monorepo using Changesets. See the repo root README for the release process.

ai_documentation_summary:
  {"purpose":"The Missive node enables integration with the Missive API to manage various entities such as drafts, posts, contacts, contact books, conversations, and organizations within n8n workflows.","capabilities":["Create a new draft","Create a new post in a conversation","Create, retrieve, update, and delete contacts","Get all contacts and specific contacts","Get all contact books","Get specific and all conversations","Get all organizations"],"authentication":"API token required; obtain a token from the Missive API settings under the 'API' tab and use it in the n8n Missive credentials","commonUseCases":["Automating contact management in CRM-like workflows","Creating and scheduling posts in conversations","Syncing contact data between systems","Managing organizational data and communication threads"],"limitations":[],"relatedNodes":["Contact management nodes","Communication automation nodes","CRM integration nodes"]}


node_type: n8n-nodes-wasapress.Wasapress
package_name: n8n-nodes-wasapress
display_name: Wasapress
description: n8n node for Wasapress Wordpress Plugin. Make your Whatsapp Marketing Better!
category: Community
development_style: declarative
version: 0.4.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: jiqtech
npm_package_name: n8n-nodes-wasapress
npm_version: 0.4.1
community_fetched_at: 2026-01-07T20:08:17.662Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-wasapress

  This is an n8n community node that lets you use [Wasapress Wordpress Plugin](https://wasapress.com) for your WhatsApp Marketing in your n8n workflows.

  Wasapress is a WordPress plugin for WhatsApp marketing automation. This package provides both action and trigger nodes, allowing you to send messages, media, validate WhatsApp numbers, and receive incoming messages directly in n8n.

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

  ## Nodes Included

  - **WasaPress** - Action node for sending messages and media
  - **WasaPress Trigger** - Webhook trigger for receiving incoming WhatsApp messages

  ## 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** in n8n
  2. Select **Install**
  3. Enter `n8n-nodes-wasapress` in the npm Package Name field
  4. Click **Install**

  ### Manual Installation

  ```bash
  npm install n8n-nodes-wasapress
  ```

  ## Credentials

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

  1. **Base URL** - Your WasaPress server URL (default: `https://server.wasapress.com`)
  2. **Secret Key** - Your WasaPress API secret key (format: `wsk-...`)
  3. **API Key** - Your WasaPress API key (used as ID in all requests)

  You can get your API credentials from your WasaPress WordPress plugin settings.

  **Note:** The API Key is configured once in the credentials and automatically used in all operations, so you don't need to enter it repeatedly.

  ## WasaPress Trigger Node

  The WasaPress Trigger node starts your workflow when incoming WhatsApp messages are received.

  ### Setup

  1. Add the **WasaPress Trigger** node to your workflow
  2. Configure your Wasapress API credentials
  3. Copy the webhook URL from the node
  4. Configure your Wasapress WordPress plugin to send webhooks to this URL
  5. Activate the workflow

  ### Trigger Features

  #### Number Filtering
  - **No Filter** - Accept messages from all numbers
  - **Only From Number** - Only trigger for messages from a specific number
  - **Exclude Number** - Accept all messages except from a specific number

  #### Keyword Filtering
  - **No Keyword Filter** - Accept all messages
  - **Contains Keyword** - Message must contain the keyword (e.g., "help me" contains "help")
  - **Exact Match** - Message must exactly match the keyword

  #### Time-based Filter
  - Set business hours (e.g., 09:00 to 17:00)
  - Configure timezone (e.g., Asia/Kuala_Lumpur)
  - Only trigger during specified hours

  #### Additional Options
  - **Trigger Once Per Number** - Only trigger once per phone number (resets on workflow restart)
  - **Extract Phone Number** - Automatically extracts clean phone number from webhook data

  ### Webhook Payload

  The trigger receives webhook data with the following structure:

  ```json
  {
    "whatsapp_number": "60123456789@s.whatsapp.net",
    "display_name": "John Doe",
    "message": "Hello",
    "phone_number": "60123456789"
  }
  ```

  The `phone_number` field is automatically added when "Extract Phone Number" is enabled.

  ## WasaPress Action Node

  The WasaPress action node supports the following operations:

  ### Send Audio (MP3)
  Send an MP3 audio file to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number (with country code, no + or spaces)
  - File URL - URL of the MP3 audio file

  **Optional Fields:**
  - Pin Time - Time to pin the message in seconds (default: 7)
  - View Once - Whether the audio can only be viewed once (default: false)

  ### Send Audio (PTT)
  Send a voice message (Push-to-Talk format) to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number (with country code, no + or spaces)
  - File URL - URL of the audio file (PTT/voice message format, typically .opus)

  **Optional Fields:**
  - Pin Time - Time to pin the message in seconds (default: 7)
  - View Once - Whether the audio can only be viewed once (default: false)

  ### Send Contact
  Share a contact card to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number to send to (with country code, no + or spaces)
  - Contact Name - Name of the contact to share
  - Contact Number - Phone number of the contact (with country code, no + or spaces)

  **Optional Fields:**
  - Pin Time - Time to pin the message in seconds (default: 7)

  ### Send Document
  Send a document file (PDF, DOC, etc.) to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number (with country code, no + or spaces)
  - File URL - URL of the document file

  **Optional Fields:**
  - Caption - Caption for the document
  - Filename - Filename to display
  - Pin Time - Time to pin the message in seconds (default: 7)

  ### Send Image
  Send an image to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number (with country code, no + or spaces)
  - File URL - URL of the image file

  **Optional Fields:**
  - Caption - Caption for the image
  - Pin Time - Time to pin the message in seconds (default: 7)
  - View Once - Whether the image can only be viewed once (default: false)

  ### Send Location
  Share a GPS location to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number (with country code, no + or spaces)
  - Location Name - Name of the location
  - Latitude - Latitude coordinate (e.g., "40.7128")
  - Longitude - Longitude coordinate (e.g., "-74.0060")

  **Optional Fields:**
  - Pin Time - Time to pin the message in seconds (default: 7)

  ### Send Message
  Send a text message to a WhatsApp number.

  **Required Fields:**
  - Number - WhatsApp number (with country code, no + or spaces)
  - Message - The text message to send

  **Optional Fields:**
  - Pin Time - Time to pin the message in seconds (default: 7)

  ### Send Video
  Send a video with caption to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number (with country code, no + or spaces)
  - File URL - URL of the video file

  **Optional Fields:**
  - Caption - Caption for the video
  - Pin Time - Time to pin the message in seconds (default: 7)
  - View Once - Whether the video can only be viewed once (default: true)

  ### Send Video Note
  Send a video note (without caption) to a WhatsApp number.

  **Required Fields:**
  - ID - Your API key
  - Number - WhatsApp number (with country code, no + or spaces)
  - File URL - URL of the video file

  **Optional Fields:**
  - Pin Time - Time to pin the message in seconds (default: 7)

  ### Validate
  Validate a WhatsApp number.

  **Required Fields:**
  - ID - The ID to validate
  - Number - WhatsApp number to validate (with country code, no + or spaces)

  ## Usage Examples

  ### Example 1: Auto-Reply to Incoming Messages

  1. Add a **Wasapress Trigger** node
  2. Set keyword filter to "Contains Keyword" with keyword "help"
  3. Add a **Wasapress** action node
  4. Select **Send Message** operation
  5. Use `{{$json.phone_number}}` for the Number field
  6. Type your reply message
  7. Activate the workflow

  Now whenever someone sends a message containing "help", they'll automatically receive your reply.

  ### Example 2: Business Hours Auto-Responder

  1. Add a **Wasapress Trigger** node
  2. Enable **Time-based Filter**
  3. Set Start Time: `09:00`, End Time: `17:00`
  4. Set your timezone
  5. Add an **IF** node to check if message is outside business hours
  6. Add a **Wasapress** node to send "We're closed" message
  7. Activate the workflow

  ### Example 3: Send a Simple Text Message

  1. Configure your WasaPress credentials (including API Key)
  2. Add the WasaPress node to your workflow
  3. Select **Send Message** operation
  4. Enter the recipient's WhatsApp number (e.g., `60123456789`)
  5. Type your message in the **Message** field
  6. Execute the node

  ### Example 4: Send an Image with Caption

  1. Add the Wasapress node to your workflow
  2. Select **Send Image** operation
  3. Enter your API key in the **ID** field
  4. Enter the recipient's WhatsApp number
  5. Enter the image URL in the **File URL** field
  6. Add a caption in the **Caption** field
  7. Execute the node

  ### Example 5: Validate a Number Before Sending

  1. Add a Wasapress node and select **Validate** operation
  2. Enter your API key and the number to validate
  3. Add an IF node to check the response status code
  4. If valid (status code 200), add another Wasapress node to send your message
  5. If invalid (status code 422), handle the error appropriately

  ## Response Format

  All operations return a response with the following structure:

  ```json
  {
    "statusCode": 200,
    "message": "Success message from API",
    // ... other response data from Wasapress API
  }
  ```

  **Status Codes:**
  - `200` - Success
  - `422` - Validation error (e.g., invalid WhatsApp number)
  - `4xx/5xx` - Other errors

  The node handles errors gracefully and includes the status code in the response, so you can use IF nodes to handle different scenarios.

  ## Phone Number Format

  All phone numbers must be in international format:
  - ✅ Include country code
  - ✅ No spaces, dashes, or special characters
  - ✅ No plus (+) sign

  **Examples:**
  - ✅ `60123456789` (Malaysia)
  - ✅ `14155552671` (USA)
  - ✅ `447700900123` (UK)
  - ❌ `+60123456789` (has + sign)
  - ❌ `0123456789` (missing country code)
  - ❌ `60 123 456 789` (has spaces)

  ## Compatibility

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

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Wasapress Website](https://wasapress.com)
  - [Wasapress Documentation](https://wasapress.com/docs)

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Wasapress node enables integration with the Wasapress WordPress plugin to automate WhatsApp marketing by sending messages, media, and receiving incoming WhatsApp messages directly within n8n workflows.","capabilities":["Send text messages","Send audio (MP3 and PTT/voice)","Send images","Send documents (PDF, DOC, etc.)","Send location","Send contact cards","Receive incoming WhatsApp messages via webhook trigger","Filter messages by number, keyword, and time","Pin messages or set view-once options"],"authentication":"API key and secret key required; API key is used as ID in all operations and configured once in credentials","commonUseCases":["Automated customer support via WhatsApp","Sending promotional content to customers","Triggering workflows based on customer messages","Sending product information or documents via WhatsApp","Managing customer inquiries with keyword-based routing"],"limitations":["Webhook payload does not include full message context beyond basic fields","No support for sending rich media like interactive buttons or templates","File URLs must be publicly accessible","Time-based filtering requires correct timezone configuration"],"relatedNodes":["Webhook Trigger","Action Nodes","Message Automation","Customer Engagement"]}


node_type: @zurdai/n8n-nodes-form-ultimate.FormUltimate
package_name: @zurdai/n8n-nodes-form-ultimate
display_name: FormUltimate
description: Enhanced Form Node for n8n with multi-file upload and custom HTML support
category: Community
development_style: declarative
version: 1.0.29
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: zurdai
npm_package_name: @zurdai/n8n-nodes-form-ultimate
npm_version: 1.0.29
community_fetched_at: 2026-01-07T20:08:17.663Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @zurdai/n8n-nodes-form-ultimate

  This provides an enhanced Form Trigger node for n8n.

  ## Features

  - **Multi-File Upload**: Support for uploading multiple files in a single form field.
  - **Binary Data Preservation**: Files are mapped directly to n8n binary data, ensuring they are ready for upload to Google Drive, OneDrive, SharePoint, etc.
  - **Custom HTML**: Option to paste your own HTML code for complete design control.
  - **Custom CSS**: Add custom CSS to style the standard form builder.

  ## Usage

  1. Install the node in your n8n instance.
  2. Search for "Form Ultimate" in the node creation menu.
  3. Configure the path (e.g., `form`).
  4. Select "Form Mode":
      - **Standard**: Build your form using the UI and fields list.
      - **Custom HTML**: Paste your own HTML form.
  5. Connect to other nodes!

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"FormUltimate is an enhanced form trigger node for n8n that allows users to create forms with multi-file upload support, custom HTML design, and custom CSS styling, enabling greater flexibility and control over form appearance and functionality.","capabilities":["Multi-file upload in a single form field","Preservation of binary data for direct integration with cloud storage (e.g., Google Drive, OneDrive, SharePoint)","Custom HTML form creation with full design control","Custom CSS support for styling forms"],"authentication":"None","commonUseCases":["Collecting documents or files from users in a workflow","Building branded or custom forms for customer data collection","Integrating with cloud storage services via preserved binary data"],"limitations":[],"relatedNodes":["Google Drive","OneDrive","SharePoint","n8n Form Node"]}


node_type: n8n-nodes-thesocialwarehouse.Thesocialwarehouse
package_name: n8n-nodes-thesocialwarehouse
display_name: Thesocialwarehouse
description: n8n community node for TheSocialWarehouse API
category: Community
development_style: declarative
version: 0.8.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: n8d-node-thesocialwarehouse
npm_package_name: n8n-nodes-thesocialwarehouse
npm_version: 0.8.1
community_fetched_at: 2026-01-07T20:08:17.663Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # TheSocialWarehouse n8n Community Node

  Connect n8n to TheSocialWarehouse API to automate social media data integration. This community node allows you to fetch profile information from platforms like Instagram, with plans for further expansion.

  ## Features

  *   **Instagram Profile Lookup:** Retrieve comprehensive profile details (e.g., bio, follower count, avatar URL) using an Instagram username. Optionally provide a User ID for more robust lookups.
  *   **Instagram User Search:** Search for users by name using the **User Finder** tool.
  *   **Instagram Media Posting:** Upload profile pictures, standard feed posts, stories, and reels directly from n8n with caption, hashtag, and location controls.
  *   **Instagram Media Engagement:** Repost, like, comment, pin, or remove reels from the grid to orchestrate engagement workflows alongside posting.
  *   **Trending Sounds & Music:** Fetch currently **Trending Sounds** or perform a **Sound Lookup** using an audio ID to find the perfect track for your content.
  *   **Inbox + Relationship Actions:** Send DMs, manage follow/unfollow flows, and **Block/Unblock** accounts to maintain your account's social health.
  *   **API Key Authentication:** Securely authenticate with TheSocialWarehouse API using a dedicated API Key.
  *   **Extensible Design:** Built with a Resource/Operation pattern, enabling easy expansion to other social media platforms (e.g., TikTok, Threads) and additional API operations in future releases.

  ## Installation

  There are three ways to install this community node in n8n:

  ### Option 1: Install via n8n UI (Recommended)

  The easiest method for most users:

  1. Open your n8n instance
  2. Go to **Settings** > **Community Nodes**
  3. Click **Install**
  4. Enter `n8n-nodes-thesocialwarehouse`
  5. Click **Install**
  6. Restart n8n when prompted

  ### Option 2: Manual Installation (npm)

  For self-hosted n8n instances:

  ```bash
  # Install the package in n8n's custom nodes directory
  cd ~/.n8n/nodes
  npm install n8n-nodes-thesocialwarehouse
  ```

  Then restart your n8n instance.

  ### Option 3: Docker Installation

  For n8n running in Docker:

  ```bash
  # Access your Docker container shell
  docker exec -it n8n sh

  # Create the nodes directory if it doesn't exist
  mkdir -p ~/.n8n/nodes
  cd ~/.n8n/nodes

  # Install the package
  npm install n8n-nodes-thesocialwarehouse

  # Exit the container
  exit
  ```

  Then restart your n8n container:

  ```bash
  docker restart n8n
  ```

  ### Verify Installation

  After installation and restart, the **TheSocialWarehouse** node should appear when you search for nodes in your workflow editor.

  ## Credentials Setup

  To use the TheSocialWarehouse node, you need to configure your API Key:

  1.  In your n8n editor, click on "Credentials" in the left sidebar.
  2.  Click "New Credential".
  3.  Search for and select "TheSocialWarehouse API".
  4.  Enter your API Key, which you can obtain from your TheSocialWarehouse dashboard.
  5.  Save the credential.

  The API Key is sent via the `X-Insta-Api-Client` header for Instagram-related requests.

  ## Usage Example: Instagram - Get Profile

  Here's how to use the TheSocialWarehouse node to get an Instagram user's profile:

  1.  **Add the Node:** In your n8n workflow, add a "TheSocialWarehouse" node (search for "TheSocialWarehouse").
  2.  **Configure Credentials:** Select your configured "TheSocialWarehouse API" credential.
  3.  **Select Resource & Operation:**
      *   Set **Resource** to `Instagram`.
      *   Set **Operation** to `Get Profile`.
  4.  **Enter Account Details:**
      *   **Account Username:** Enter the Instagram username (e.g., `therock`). This is a required path parameter.
      *   **User ID (Optional):** Optionally, enter the Instagram user ID (e.g., `232192182` for `therock`). This is sent as a query parameter (`user_id`).
  5.  **Execute Workflow:** Run the workflow. The node will return the JSON response containing the Instagram profile data.

  ## Development

  *   `npm run dev`: Start n8n with hot-reloading for development.
  *   `npm run build`: Compile the TypeScript code to the `dist/` directory and copy to n8n custom nodes.
  *   `npm run lint`: Lint the codebase for style and errors.

  ## Contributing

  Contributions are welcome! Please refer to the [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) and [CONTRIBUTING.md](CONTRIBUTING.md) (if it exists) for guidelines.

ai_documentation_summary:
  {"purpose":"TheSocialWarehouse n8n community node enables automation of social media data integration by connecting n8n to TheSocialWarehouse API, allowing users to retrieve and manage Instagram profile data, post content, engage with users, and access trending sounds and music.","capabilities":["Retrieve Instagram profile details (bio, follower count, avatar URL) via username or user ID","Search for Instagram users by name using the User Finder tool","Post media (profile pictures, feed posts, stories, reels) with captions, hashtags, and location","Engage with content by reposting, liking, commenting, pinning, or removing reels","Fetch trending sounds or look up sounds by audio ID","Send direct messages (DMs), follow/unfollow, and block/unblock accounts","Support for API key authentication via X-Insta-Api-Client header"],"authentication":"API key required; the key is sent in the X-Insta-Api-Client header for Instagram-related requests","commonUseCases":["Automated Instagram profile data collection for analytics","Scheduled posting of content with metadata (captions, hashtags)","Engagement automation (liking, commenting, replying to posts)","Finding trending sounds for content creation","Managing social media relationships (follow/unfollow, block/unblock)"],"limitations":[],"relatedNodes":["Instagram-related operations","Social media automation nodes","Content scheduling nodes"]}


node_type: @ceneos.net/n8n-nodes-sevdesk.Sevdesk
package_name: @ceneos.net/n8n-nodes-sevdesk
display_name: Sevdesk
description: n8n node for SevDesk API
category: Community
development_style: declarative
version: 0.3.16
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: hightowersu
author_github_url: git+ssh://git@github.com/highTowerSU/n8n-nodes-sevdesk.git
npm_package_name: @ceneos.net/n8n-nodes-sevdesk
npm_version: 0.3.16
community_fetched_at: 2026-01-07T20:08:17.664Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n node for SevDesk API

  ## Overview

  This node integrates the SevDesk API into n8n to manage contacts, invoices, and other accounting resources.

  ![node-actions.png](node-actions.png)

  ## Installation

  Add the `@wiesinghilker/n8n-nodes-sevdesk` package to your n8n installation:

  ![installation.png](installation.png)

  ## Configuration

  To use the SevDesk API, you need an API token from your SevDesk account. Enter the token in the node credentials. The node sends it as `Authorization` header to `https://my.sevdesk.de/api/v2`.

ai_documentation_summary:
  {"purpose":"The SevDesk node integrates with the SevDesk API to manage accounting resources such as contacts and invoices within n8n workflows.","capabilities":["Manage contacts","Manage invoices","Send API requests to SevDesk via authenticated HTTP calls"],"authentication":"API token required; token is sent as an Authorization header to https://my.sevdesk.de/api/v2","commonUseCases":["Syncing customer data between n8n and SevDesk","Automating invoice creation or updates in SevDesk","Fetching contact information for downstream processes"],"limitations":[],"relatedNodes":["n8n nodes for accounting integrations","n8n nodes for data synchronization"]}


node_type: @bitovi/n8n-nodes-langfuse.Langfuse
package_name: @bitovi/n8n-nodes-langfuse
display_name: Langfuse
description: n8n node to process Langfuse configuration files
category: Community
development_style: declarative
version: 0.1.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-langfuse.git
npm_package_name: @bitovi/n8n-nodes-langfuse
npm_version: 0.1.0
community_fetched_at: 2026-01-07T20:08:17.664Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @bitovi/n8n-nodes-langfuse

  This repo contains [N8N](https://n8n.io/) node to work with Langfuse.

  ## Installation

  - Make sure to allow community nodes with `N8N_COMMUNITY_PACKAGES_ENABLED=true`
  - Once logged in to your N8N web UI, go to `/settings/community-nodes` and type `@bitovi/n8n-nodes-langfuse`

  ## Need help or have questions?

  Need guidance on leveraging AI agents or N8N for your business? Our [AI Agents workshop](https://hubs.ly/Q02X-9Qq0) will equip you with the knowledge and tools necessary to implement successful and valuable agentic workflows.

  ## License

  [MIT](./LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Langfuse node for n8n enables users to process and manage Langfuse configuration files within n8n workflows, facilitating integration with Langfuse's observability and tracing capabilities for AI applications.","capabilities":["Process Langfuse configuration files","Integrate with Langfuse for AI agent monitoring and tracing"],"authentication":"Not specified in the README","commonUseCases":["Monitoring AI model executions using Langfuse traces","Configuring and managing Langfuse settings within n8n workflows"],"limitations":[],"relatedNodes":["AI Agents","Observability","Tracing"]}


node_type: n8n-nodes-new-evolution-api.NewEvolutionApi
package_name: n8n-nodes-new-evolution-api
display_name: NewEvolutionApi
description: n8n Community Node for New Evolution API - WhatsApp Integration Hub (140+ operations)
category: Community
development_style: declarative
version: 3.2.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: flaviokosta
author_github_url: git+https://github.com/flaviokosta79/NewEvolutionAPI.git
npm_package_name: n8n-nodes-new-evolution-api
npm_version: 3.2.0
community_fetched_at: 2026-01-07T20:08:17.665Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ﻿# n8n-nodes-new-evolution-api

  ![New Evolution API](https://github.com/user-attachments/assets/813b7b34-377c-42e8-9f1a-12e27e682c7f)

  <p align="center">
  Community Node para integração completa da <b>New Evolution API v2.2+</b> com o <b>n8n</b>.<br>
  Permite automação de WhatsApp com suporte a mensagens, grupos, canais, integrações e muito mais.
  </p>

  <div align="center">
    <img src="https://img.shields.io/badge/version-1.9.29-blue?style=for-the-badge" alt="Version">
    <img src="https://img.shields.io/badge/operations-130+-green?style=for-the-badge" alt="Operations">
    <img src="https://img.shields.io/badge/resources-14-orange?style=for-the-badge" alt="Resources">
  </div>

  ---

  ##  Requisitos

  - **n8n** versão **1.54.4** ou superior
  - **Evolution API** versão **2.2.0** ou superior
  - **Node.js** >= 18.10
  - **pnpm** >= 9.1.4 (para desenvolvimento)

  ---

  ##  Instalação

  ### Via npm (Recomendado)
  ```bash
  npm install n8n-nodes-new-evolution-api
  ```

  ### Manual
  1. Clone o repositório
  2. Execute `pnpm install`
  3. Execute `pnpm build`
  4. Copie para a pasta de nodes customizados do n8n

  ---

  ##  Recursos Disponíveis (14)

  ###  Instância
  Gerenciamento completo de instâncias da Evolution API.

  | Operação | Descrição |
  |----------|-----------|
  | Criar Instância | Cria nova instância WhatsApp |
  | Gerar QR-Code | Obtém QR code para conexão |
  | Buscar Instância | Lista instâncias disponíveis |
  | Estado da Conexão | Verifica estado atual |
  | Definir Comportamento | Configura comportamento |
  | Definir Presença | Define status de presença |
  | Definir Proxy | Configura proxy |
  | Buscar Proxy | Obtém configuração de proxy |
  | Desconectar | Desconecta do WhatsApp |
  | Deletar | Remove instância |

  ###  Mensagem
  Envio de diversos tipos de mensagens.

  | Operação | Descrição |
  |----------|-----------|
  | Enviar Texto | Mensagem de texto simples |
  | Enviar Imagem | Envio de imagens |
  | Enviar Vídeo | Envio de vídeos |
  | Enviar Áudio | Envio de áudios |
  | Enviar Documento | Envio de documentos |
  | Enviar Enquete | Criação de enquetes |
  | Enviar Contato | Compartilhamento de contatos |
  | Enviar Lista | Mensagem com lista de opções |
  | Enviar Botão | Mensagem com botões |
  | Enviar Pix | Mensagem de pagamento PIX |
  | Enviar Status | Publicar no status |
  | Reagir | Adicionar reação a mensagem |

  ###  Grupo
  Gerenciamento completo de grupos.

  | Operação | Descrição |
  |----------|-----------|
  | Criar Grupo | Cria novo grupo |
  | Atualizar Imagem | Altera foto do grupo |
  | Atualizar Nome | Altera nome do grupo |
  | Atualizar Descrição | Altera descrição |
  | Atualizar Configurações | Altera configurações |
  | Atualizar Membros | Adiciona/remove membros |
  | Buscar Link de Convite | Obtém link de convite |
  | Revogar Link | Revoga link atual |
  | Enviar Link de Convite | Envia convite |
  | Encontrar Participantes | Lista participantes |
  | Mensagens Temporárias | Configura mensagens temporárias |
  | Sair do Grupo | Remove instância do grupo |
  | Entrar no Grupo | Entra via link de convite |

  ###  Canais (Newsletter)
  Gerenciamento de canais/newsletters do WhatsApp.

  | Operação | Descrição |
  |----------|-----------|
  | Criar Canal | Cria novo canal |
  | Buscar Canais | Lista canais disponíveis |
  | Buscar Mensagens | Lista mensagens do canal |
  | Enviar Texto | Envia texto para canal próprio |
  | Enviar Mídia | Envia imagem/vídeo/áudio/documento |
  | Enviar Enquete | Cria enquete no canal |
  | Enviar Pergunta Q&A | Cria pergunta interativa (⚠️ respostas não disponíveis) |
  | Repostar Mensagem | Reposta de um canal para outro |
  | Info do Convite | Obtém info do código de convite |
  | Seguir | Segue um canal |
  | Deixar de Seguir | Para de seguir |
  | Silenciar | Silencia notificações |
  | Reativar | Reativa notificações |

  > ⚠️ **Limitação do WhatsApp**: Respostas a perguntas Q&A são processadas apenas server-side pelo WhatsApp. Não é possível capturar as respostas dos inscritos via API.

  ###  Comunidade
  Gerenciamento de comunidades WhatsApp.

  | Operação | Descrição |
  |----------|-----------|
  | Criar Comunidade | Cria nova comunidade |
  | Buscar Comunidades | Lista comunidades |
  | Buscar Participantes | Lista membros |
  | Atualizar Participantes | Gerencia membros |
  | Sair da Comunidade | Remove da comunidade |

  ###  Chat
  Operações de chat e mensagens.

  | Operação | Descrição |
  |----------|-----------|
  | Verificar Número | Valida número WhatsApp |
  | Ler Mensagem | Marca como lida |
  | Gerenciar Arquivo | Arquiva/desarquiva |
  | Marcar como Não Lido | Marca conversa |
  | Deletar Mensagem | Remove mensagem |
  | Buscar Foto de Perfil | Obtém foto |
  | Obter Mídia em Base64 | Converte mídia |
  | Editar Mensagem | Edita mensagem enviada |
  | Enviar Presença | Envia status de digitando |
  | Bloquear Contato | Bloqueia/desbloqueia |
  | Buscar Contatos | Lista contatos |
  | Procurar Mensagens | Busca mensagens |
  | Procurar Status | Busca status |
  | Procurar Chats | Lista conversas |
  | Buscar Chat por JID | Busca chat específico |

  ###  Etiquetas
  Gerenciamento de etiquetas (labels).

  | Operação | Descrição |
  |----------|-----------|
  | Criar Etiqueta | Cria nova label |
  | Buscar Etiquetas | Lista labels |
  | Adicionar a Chat | Adiciona label ao chat |
  | Remover de Chat | Remove label do chat |

  ###  Chamadas
  Controle de chamadas de voz.

  | Operação | Descrição |
  |----------|-----------|
  | Simular Chamada | Inicia chamada fake |
  | Buscar Chamadas | Lista chamadas |

  ###  Negócios
  Recursos do WhatsApp Business.

  | Operação | Descrição |
  |----------|-----------|
  | Buscar Catálogo | Lista produtos |
  | Buscar Coleções | Lista coleções |

  ###  Perfil
  Gerenciamento de perfil.

  | Operação | Descrição |
  |----------|-----------|
  | Buscar Perfil | Obtém informações |
  | Atualizar Nome | Altera nome |
  | Atualizar Status | Altera status |
  | Atualizar Foto | Altera foto |
  | Remover Foto | Remove foto |
  | Configurações de Privacidade | Gerencia privacidade |

  ###  Templates (Meta Business)
  Gerenciamento de templates do Meta Business.

  | Operação | Descrição |
  |----------|-----------|
  | Criar Template | Cria novo template |
  | Buscar Templates | Lista templates |

  ###  Armazenamento S3
  Integração com armazenamento S3.

  | Operação | Descrição |
  |----------|-----------|
  | Buscar Mídia | Obtém mídia do S3 |
  | Buscar URL da Mídia | Obtém URL assinada |

  ###  Evento
  Configuração de eventos e integrações.

  | Operação | Descrição |
  |----------|-----------|
  | Webhook | Configura webhook |
  | RabbitMQ | Configura RabbitMQ |
  | WebSocket | Configura WebSocket |
  | SQS | Configura Amazon SQS |
  | NATS | Configura NATS |
  | Pusher | Configura Pusher |
  | Kafka | Configura Apache Kafka |

  ###  Integração
  Integrações com plataformas externas.

  | Operação | Descrição |
  |----------|-----------|
  | Chatwoot | Integração Chatwoot |
  | Evolution Bot | Bot nativo |
  | Typebot | Integração Typebot |
  | Dify | Integração Dify AI |
  | Flowise | Integração Flowise |
  | OpenAI | Integração OpenAI |
  | N8N Bot | Bot do n8n |
  | EvoAI | Integração EvoAI |

  ---

  ##  Cenários de Uso

  ### Workflow Reativo (Webhook)
  Processa mensagens recebidas:
  ```
  Webhook n8n  Processa dados  Evolution API Node  Responde
  ```

  ### Workflow Proativo (Consultas)
  Inicia ações programadas:
  ```
  Schedule/Trigger  Evolution API Node  Busca/Envia dados
  ```

  ---

  ##  Desenvolvimento

  ```bash
  # Instalar dependências
  pnpm install

  # Build de produção
  pnpm build

  # Modo de desenvolvimento (watch)
  pnpm dev

  # Lint
  pnpm lint

  # Lint com correção automática
  pnpm lintfix
  ```

  ---

  ##  Changelog

  ### v1.9.29 (2025-12-06)
  - ❌ **Removido**: Evento `NEWSLETTER_QUESTION_REPLY` (limitação do WhatsApp - respostas Q&A não são enviadas para terceiros)
  - 🧹 Limpeza de código de debug

  ### v1.9.27 (2025-12-02)
  - ✨ **Newsletter Send Question**: Enviar perguntas Q&A para canais próprios
  - ✨ **Newsletter Send Poll**: Enquetes em canais

  ### v1.9.19 (2025-12-01)
  - ✨ **S3 Media URL**: Suporte a `mediaS3Url` no trigger e repost
  - 🔧 Fix: `ignoreOwnNewsletters` default true (evita loop de duplicação)

  ### v1.9.0 (2025-11-30)
  - ✨ **Seleção Dinâmica**: Canais, grupos e instâncias com dropdown
  - ✨ **LoadOptions**: Busca dinâmica via API
  - ✨ **Repost Newsletter**: Reposta mensagens entre canais

  ### v1.8.0 (2025-11-30)
  - ✨ **Repost Newsletter Message**: Reposta de canais seguidos para canais próprios
  - ✨ **Modificar Legenda/Mídia**: Edita conteúdo ao repostar
  - 🔧 Otimização de payload (~40-50% menor)

  ### v1.7.0 (2025-11-27)
  - ✨ **Trigger Node**: Recebe webhooks com endpoint editável
  - ✨ **Auto-extração**: 30+ campos extraídos automaticamente
  - ✨ **Newsletter Media Base64**: Mídia completa no webhook

  ### v1.6.0 (2025-11-28)
  - ✨ **Newsletter Send**: Enviar texto e mídia para canais próprios
  - ✨ **Newsletter Invite Info**: Obter informações de código de convite
  - ✨ **Newsletter Fetch Messages**: Buscar mensagens do canal
  - 🔧 Correções de tipos TypeScript para Newsletter API
  - 📊 **127+ operações** cobrindo toda API

  ### v1.5.0 (2025-11-27)
  - ✨ **Community**: 10 operações adicionais (convites, solicitações, configurações)
  - 🔧 Melhorias no Trigger Node para webhooks

  ### v1.2.0 (2025-11-25)
  -  **14 Recursos** completos
  -  **~114 Operações** cobrindo toda API
  -  Novos: Templates API, S3 API
  -  Novos eventos: WebSocket, SQS, NATS, Pusher, Kafka
  -  Novas integrações: OpenAI, N8N Bot, EvoAI
  -  Newsletter renomeado para "Canais" (localização PT-BR)
  -  Correções de bugs e melhorias de UI

  ### v1.1.0
  - Adicionado suporte a Newsletter/Canais
  - Melhorias no gerenciamento de grupos
  - Novos campos para mensagens

  ### v1.0.0
  - Release inicial
  - Suporte básico a instâncias e mensagens

  ---

  ##  Contribuição

  Contribuições são bem-vindas! Por favor:
  - Abra **Issues** para reportar bugs
  - Envie **Pull Requests** com melhorias
  - Sugira novas funcionalidades

  ---

  ##  Licença

  MIT License - Veja [LICENSE.md](LICENSE.md) para detalhes.

  ---

  <p align="center">
  Desenvolvido com  para a comunidade Evolution API
  </p>

ai_documentation_summary:
  {"purpose":"A community node that enables full integration with New Evolution API v2.2+ for WhatsApp automation, offering 140+ operations across messaging, groups, channels, communities, calls, business features, and more.","capabilities":["Create and manage WhatsApp instances with QR code generation and connection status","Send various message types including text, images, videos, audio, documents, polls, contacts, buttons, PIX, and status updates","Manage WhatsApp groups (create, update, add/remove members, send invites, view participants)","Handle newsletters/channels (create, send messages, polls, Q&A, reposts, follow/unfollow)","Manage WhatsApp communities (create, list members, update members)","Chat operations (verify numbers, read messages, edit/delete messages, block contacts, search chats)","Manage labels (create, assign to chats)","Simulate and track voice calls","Access WhatsApp Business catalog and collections","Manage user profile (name, status, photo, privacy settings)"],"authentication":"API key or authentication via New Evolution API v2.2+ (credentials required for instance and operation access)","commonUseCases":["Automated WhatsApp messaging for customer service","Sending promotional content via newsletters or channels","Managing WhatsApp groups and community engagement","Creating interactive polls and Q&A sessions","Automating business catalog updates and product promotions"],"limitations":["Q&A responses cannot be captured via API; processed only server-side by WhatsApp","Limited support for certain features in templates (truncated in README)","No direct access to user responses in Q&A or interactive messages"],"relatedNodes":["WhatsApp Integration Nodes","Messaging Automation Nodes","CRM/Lead Management Nodes","Business Automation Nodes"]}


node_type: n8n-nodes-memory.Memory
package_name: n8n-nodes-memory
display_name: Memory
description: Custom memory node for n8n AI Agent with external API support
category: Community
development_style: declarative
version: 0.6.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: filipexyz
author_github_url: git+https://github.com/filipexyz/n8n-nodes-memory.git
npm_package_name: n8n-nodes-memory
npm_version: 0.6.3
community_fetched_at: 2026-01-07T20:08:17.665Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-memory

  Custom memory nodes for n8n AI Agent with workflow-based storage.

  ## Two Nodes

  | Node | Use Case |
  |------|----------|
  | **Memory API** | External webhook/API as memory backend |
  | **Memory Workflow** | Sub-workflow within n8n as memory backend |

  ## The Power: Memory as Workflows

  Traditional memory nodes are passive storage. This node transforms memory into **event-driven workflows** - each memory operation (get, add, clear) can trigger complete n8n workflows with access to 400+ integrations.

  ### On GET (before AI responds)
  - Fetch context from vector databases (RAG)
  - Load user preferences from CRM
  - Inject real-time data (weather, stocks, news)
  - Summarize old conversations automatically
  - Generate dynamic context with another AI
  - Apply predictive loading for likely questions

  ### On ADD (after each message)
  - Analyze sentiment in real-time
  - Extract entities and intents
  - Update user profiles and CRM records
  - Create tasks/tickets automatically
  - Trigger notifications and alerts
  - Route to different AI agents based on intent
  - Build knowledge graphs from conversations
  - Feed training data pipelines

  ### On CLEAR (end of session)
  - Generate conversation summaries
  - Extract action items
  - Send follow-up emails
  - Archive to compliance systems
  - Update customer journey stages

  ## Use Cases

  **Self-Evolving AI** - Behavior rules that adapt based on conversation patterns. Detect frustration, switch to empathetic mode.

  **Multi-Agent Orchestration** - Route messages to specialized agents. One memory feeding an agent swarm.

  **Memory as API Gateway** - Natural language interface to any system. "Check my order status" triggers lookup workflows.

  **Semantic Compression** - Compress long exchanges into dense summaries, expand on retrieval. Effectively infinite context window.

  **Cross-Platform Identity** - Sync across WhatsApp, Telegram, Web. Same AI remembers you everywhere.

  **Conversation Branching** - Create save points, fork conversations, explore different paths. Git for chat.

  **Regulatory Firewall** - Check compliance before storing, redact sensitive info based on user role. GDPR/LGPD by design.

  **Continuous Learning** - Route high-quality exchanges to training datasets. Self-improving system.

  **Social Graph Memory** - Map relationships mentioned in conversations. Build knowledge graphs of user's world.

  **Emotional State Machine** - Track emotional journey, maintain consistent AI "mood" across sessions.

  ## Installation

  ```bash
  npm install n8n-nodes-memory
  ```

  Then restart n8n.

  ## Setup

  1. **Create a Memory API workflow** - A webhook that handles `get`, `add`, and `clear` actions
  2. **Set up your storage** - PostgreSQL, Redis, or any backend
  3. **Connect to AI Agent** - Link the Memory API node to your agent's memory input

  ## API Contract

  Your webhook must handle POST requests with:

  | Action | Purpose | Returns |
  |--------|---------|---------|
  | `get` | Retrieve messages for session | `{ messages: [{ type, content }, ...] }` |
  | `add` | Store a message | `{ success: true }` |
  | `clear` | Clear session history | `{ success: true }` |

  Message types: `human` or `ai`

  ## Parameters

  ### Memory API

  | Parameter | Description |
  |-----------|-------------|
  | API URL | Your memory webhook URL |
  | Session ID | Unique conversation identifier |
  | API Key | Optional Bearer token |
  | Context Window Length | Messages to include (default: 10) |

  ### Memory Workflow

  | Parameter | Description |
  |-----------|-------------|
  | Workflow ID | ID of the sub-workflow to execute |
  | Session ID | Unique conversation identifier |
  | Context Window Length | Messages to include (default: 10) |

  ## How It Works

  Implements LangChain's `BaseListChatMessageHistory` with `BufferWindowMemory`. The AI Agent calls your workflows automatically during conversation.

  ## License

  MIT

  ## Author

  [Filipe Labs](https://github.com/filipexyz)

ai_documentation_summary:
  {"purpose":"The Memory node enables AI agents in n8n to store, retrieve, and manage conversation history using external workflows or internal sub-workflows, transforming static memory into dynamic, event-driven processes that can trigger actions like data retrieval, sentiment analysis, and automated responses.","capabilities":["Trigger workflows on GET, ADD, and CLEAR memory operations","Fetch context from vector databases, CRM, or real-time data sources during AI responses","Analyze sentiment, extract entities and intents, and update user profiles on message addition","Generate summaries, action items, and follow-up emails on session end","Route messages to specialized AI agents based on intent","Support cross-platform identity and conversation branching","Enable compliance checks, data redaction, and regulatory firewall features","Build knowledge graphs and feed training data pipelines","Act as a natural language API gateway to external systems"],"authentication":"API Key (optional Bearer token) required for Memory API node; no authentication specified for Memory Workflow node","commonUseCases":["Self-evolving AI with adaptive behavior based on conversation patterns","Multi-agent orchestration by routing messages to specialized agents","Memory as an API gateway for natural language queries to external systems","Semantic compression and summarization of long conversations","Cross-platform user identity synchronization"],"limitations":[],"relatedNodes":["AI Agent","Webhook","Workflow","Vector Database","CRM Integration"]}


node_type: n8n-nodes-opensearch.Opensearch
package_name: n8n-nodes-opensearch
display_name: Opensearch
description: Adds OpenSearch vector store and generic nodes to n8n
category: Community
development_style: declarative
version: 0.2.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: stevenlafl
author_github_url: git+https://github.com/stevenlafl/n8n-nodes-opensearch.git
npm_package_name: n8n-nodes-opensearch
npm_version: 0.2.5
community_fetched_at: 2026-01-07T20:08:17.666Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-opensearch

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

  The [OpenSearch](https://opensearch.org/) project, created by Amazon, is a forked search project based on old versions of Elasticsearch and Kibana.

  [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)
  [Sample Workflows](#sample-workflows)
  [Version History](#version-history)
  [Resources](#resources)  

  ## Installation

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

  ## Operations

  **Document Actions**

   - Create a document
   - Delete a document
   - Get a document
   - Get many documents
   - Update a document

  **Index Actions**

  - Create an index
  - Delete an index
  - Get an index
  - Get many indices

  **OpenSearch Vector Store**

  - Retrieve
  - Insert
  - Get Many

  ## Credentials

  You will need a baseURL and a username and password to authenticate to the OpenSearch service.

  ## Compatibility

  | Package Version | n8n Version | Notes |
  |-----------------|-------------|-------|
  | @0.1.4 | 1.48.0+ | Tested with 1.62.1 |
  | @0.2.x | 2.0.0+ | Full support including AI tools |
  | @0.2.x | 1.100.0+ | AI tools supported |

  ### Using as AI Tool

  The OpenSearch node supports `usableAsTool: true`, which allows it to be used as an AI Agent tool. This creates an `opensearchTool` node type automatically.

  **Requirements:**
  - n8n **1.100.0 or later** is required for AI tool support with community packages. Earlier versions of n8n 1.x (< 1.100.0) only support tool nodes from built-in `n8n-nodes-base` packages.

  **Query Parameter:**
  The Search Index operation's Query parameter accepts:
  - **Plain text**: e.g., `"my search term"` - automatically converted to a `query_string` search across all fields
  - **JSON**: e.g., `{"query": {"match": {"title": "hello"}}}` - passed directly to OpenSearch

  When using as an AI tool, set up the Query field with `$fromAI()`:
  ```
  {{ $fromAI('Query', 'Search term to find documents', 'string') }}
  ```

  **Important:** The `$fromAI()` must use `'string'` type (not `'json'`). If upgrading from an older version where you had `'json'` type, you'll need to either:
  1. Manually change `'json'` to `'string'` in the expression
  2. Delete and re-add the tool node, then click "let the model define the parameters"

  **n8n 1.x vs 2.x:** Both versions work with AI tools. n8n 1.x uses AgentV2 which validates tool inputs with Zod schemas directly. n8n 2.x uses AgentV3 with a different execution model. Using `'string'` type ensures compatibility with both.

  ## Sample Workflows

  Sample n8n workflows demonstrating OpenSearch node usage are available in the [`tests/workflows/`](tests/workflows/) folder:

  - `opensearch-all-modes-test-1.123.7.json` - For n8n 1.x
  - `opensearch-all-modes-test-2.1.0.json` - For n8n 2.x

  Import these into your n8n instance to see examples of all operations including document CRUD, index management, and vector store usage.

  ## Version History

  ### 0.2.5 (2025-12-19)
  - Fixed PostgreSQL/MySQL compatibility for VectorStoreOpenSearch node versioning
  - Migrated to `@n8n/node-cli` for build tooling
  - Added dark icon variants for theme support
  - Improved UX: cleaner operation names, better descriptions, proper delete output format
  - Moved codex metadata to separate `.node.json` files (scaffold pattern)

  ### 0.2.4 (2025-12-18)
  - Fixed module resolution issue preventing installation via n8n community package installer
  - Replaced `@langchain/community` OpenSearch vectorstore with custom implementation to avoid dependency conflicts

  ### 0.2.3 (2025-12-18)
  - Moved `@langchain/community` and `@langchain/core` to peerDependencies to avoid version conflicts

  ### 0.2.2 (2025-12-18)
  - Fixed OpenSearch node not appearing in n8n 2.x search (removed incorrect 'AI' category)

  ### 0.2.1 (2025-12-18)
  - Extensive refactor with full test coverage
  - Added support for OpenSearch 2.x and 3.x
  - Added nmslib engine deprecation handling for OpenSearch 3.x
  - Fixed build and packaging issues

  ### 0.2.0 (2025-12-17)
  - Upgraded to `@langchain/classic` 1.0.5 for n8n 2.x compatibility
  - Added n8n 2.x support while maintaining n8n 1.x compatibility

  ### 0.1.3 (2025-10-02)
  - Added Search Index operation with Scroll API support
  - Fixed HTTP methods for complex queries

  ### 0.1.2 (2025-07-10)
  - Fixed missing dependency issue

  ### 0.1.1 (2024-10-04)
  - Documentation updates

  ### 0.1.0 (2024-10-04)
  - Initial release with OpenSearch document and index operations
  - OpenSearch Vector Store for AI/LangChain workflows

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [OpenSearch Langchain documentation](https://js.langchain.com/docs/integrations/vectorstores/opensearch/)

ai_documentation_summary:
  {"purpose":"The Opensearch node enables integration with OpenSearch in n8n workflows, providing operations for document and index management, as well as support for OpenSearch vector stores to power AI/LLM applications using LangChain-style workflows.","capabilities":["Create, delete, get, and update documents","Create, delete, get, and get many indices","Retrieve, insert, and get many documents via OpenSearch vector store","Use as an AI tool with support for AI agents (via `$fromAI()` in query parameters)","Support for OpenSearch 2.x and 3.x versions","Query using plain text (converted to query_string) or JSON (with proper schema handling)"],"authentication":"API authentication required with a baseURL, username, and password","commonUseCases":["Storing and retrieving structured data in OpenSearch","Implementing search functionality with full-text queries","Using OpenSearch as a vector store for AI/LLM applications","Integrating with LangChain workflows for semantic search and retrieval","Managing indexes and documents in automated workflows"],"limitations":["AI tool support requires n8n 1.100.0 or later; earlier versions only support built-in tool nodes","Query parameter must use 'string' type with `$fromAI()`; using 'json' type may cause compatibility issues","Vector store operations rely on custom implementation and may not support all LangChain features from the original `@langchain/community` package","No support for OpenSearch features beyond 2.x and 3.x as of current version"],"relatedNodes":["n8n-nodes-base (for AI tool nodes)","LangChain vector store nodes","Search and retrieval nodes"]}


node_type: n8n-nodes-apolloio.Apolloio
package_name: n8n-nodes-apolloio
display_name: Apolloio
description: n8n node for Apollo.io - Search, Enrich, and Prospect People & Organizations via API
category: Community
development_style: declarative
version: 0.3.17
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: tayoonabule
author_github_url: git+https://github.com/tayoonabule/n8n-nodes-apollo-enrich-and-search.git
npm_package_name: n8n-nodes-apolloio
npm_version: 0.3.17
community_fetched_at: 2026-01-07T20:08:17.666Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-apolloio

  > Official n8n node for Apollo.io – Search, enrich, and automate with Apollo’s sales intelligence API.

  ---

  **Why use this node?**
  - Plug and play: add Apollo enrichment or sequence management to your n8n flows in seconds.
  - Fully certified for API best-practices.
  - Secure credential handling & works with n8n’s cloud or self-hosted.

  ---

  **Compatibility:**
  - n8n v1.x and v2.x
  - Node.js 18.10+

  ---

  ## 📦 Installation

  Run in your n8n custom nodes environment:

  ```bash
  npm install n8n-nodes-apolloio
  # or
  pnpm add n8n-nodes-apolloio
  # or
  yarn add n8n-nodes-apolloio
  ```

  > Activate custom nodes in n8n (Settings → Community Nodes, then add this package).
  > See [n8n docs](https://docs.n8n.io/integrations/creating-nodes/code/) for help.


  ---

  ## 🔐 Authentication

  1. Obtain your Apollo.io API Key from the [Apollo dashboard](https://apollo.io/api).
  2. In your n8n instance, open the credentials manager and search for “Apollo.io API”.
  3. Enter your API Key securely.

  ---

  ## 🎛 Node Operations Overview

  This node supports the following resources and operations:

  ### Sequences

  #### Search

  - Search sequences by (partial) name.
  - Paginated.

  #### Add Contacts

  - Add contacts (by Apollo contact IDs) to a specific sequence.

  ### Person

  #### Enrich

  - Get full Apollo data for a person using:
    - Email,
    - LinkedIn URL,
    - Apollo Person ID, or,
    - First name + last name + company domain
  - Any single identifier or full name + domain required.

  #### Bulk Enrich (People)

  - Enrich up to 10 people at once (input as JSON array).

  #### Search

  - Search for people using extensive filters:
    - Job Titles, Keywords, Locations, Seniority
    - Organization details (Domain, Location, IDs, Employee Count, Revenue)
    - Contact Email Status

  ### Organization

  #### Enrich

  - Enrich by company domain (org ID supported as well).

  #### Bulk Enrich (Organizations)

  - Enrich up to 10 organizations at once (input as JSON array).

  #### Search

  - Search for organizations using extensive filters:
    - Locations (Include/Exclude), Keywords, Name
    - Employee Count, Revenue Range
    - Funding (Latest Amount/Date, Total Amount)
    - Job Postings (Titles, Locations, Count, Date Ranges)

  ---

  ## 📝 Node Parameters

  | Resource      | Operation       | Required Fields                                          |
  |---------------|----------------|---------------------------------------------------------|
  | Sequence      | Search         | `sequenceName` (optional), `page`, `perPage`            |
  | Sequence      | Add Contacts   | `sequenceId` (required), `contactIds` (CSV or JSON)     |
  | Person        | Enrich         | See [Person Enrich Identifiers](#person-enrich-identifiers)   |
  | Person        | Bulk Enrich    | `peopleDetailsJson` (JSON array, 1-10 items)            |
  | Person        | Search         | `page`, `perPage` + optional filters (Titles, Location...) |
  | Organization  | Enrich         | `organizationDomain` (required), `organizationId` (opt) |
  | Organization  | Bulk Enrich    | `organizationDomainsJson` (JSON array, 1-10 domains)    |
  | Organization  | Search         | `page`, `perPage` + optional filters (Revenue, Funding...) |

  ### Person Enrich Identifiers

  - **Any ONE of:**
    - Email
    - LinkedIn URL
    - Apollo Person ID
    - (First Name + Last Name + Company Domain)

  ---

  ## 🚀 Example Workflows

  ### Enrich New CRM Contacts

  1. **Trigger:** New sheet row/CRM webhook
  2. **Apollo Node:** Resource=Person, Operation=Enrich, Email from Sheet
  3. **Salesforce/HubSpot Node:** Update contact with response data

  ### Batch Company Enrichment

  1. **Trigger:** Schedule/CSV Import
  2. **Apollo Node:** Resource=Organization, Operation=Bulk Enrich, paste domain array
  3. **Sheet/CRM Node:** Update organization records with enriched fields

  ---

  ## 🛠 Troubleshooting

  - **Authentication failures:** Check your API Key, and if the problem persists, test the credential using the “Test Credential” button in n8n.
  - **Rate limits:** Apollo.io may throttle requests based on your plan. Check API response headers for `x-minute-requests-left`.
  - **Bulk Operations:** API maxes batches to 10 records. For more, loop in batches via n8n’s SplitInBatches node.
  - **Debugging:** Use n8n’s node error handling; errors are descriptive and indicate which item failed.

  ---

  ## 📚 Resources

  - [Apollo API Docs](https://apolloio.github.io/apollo-api-docs/)
  - [n8n Docs](https://docs.n8n.io/)

  ---

  ## 🤝 Open Source & Issues

  PRs and community contributions welcome! Please file issues with error output and usage example.

  ---

  ## License

  MIT

  ---

  ## Maintainer

  [Drewl](https://drewl.com) / [tayoonabule](https://github.com/tayoonabule)

  ---

  Let me know if you’d like workflow screenshots, more advanced use-case templates, or NPM-ready formatting!

ai_documentation_summary:
  {"purpose":"The Apolloio node enables users to search, enrich, and prospect people and organizations using Apollo.io's sales intelligence API, integrating seamlessly into n8n workflows for data enrichment and automation.","capabilities":["Search people and organizations with extensive filters (job titles, locations, domains, revenue, funding, etc.)","Enrich individual people or organizations using email, LinkedIn URL, Apollo ID, or name+domain combinations","Bulk enrich up to 10 people or organizations at once","Manage sequences by searching and adding contacts to specific sequences","Support for both person and organization data with detailed field mapping"],"authentication":"API key required; obtained from the Apollo.io dashboard and entered in n8n's credentials manager under 'Apollo.io API'","commonUseCases":["Enriching new CRM contacts from spreadsheets or webhooks with detailed person data","Batch enriching company records using domain lists for revenue, employee count, and funding insights","Automating prospecting sequences by adding contacts to targeted sequences","Adding enriched data to Salesforce or HubSpot via workflow automation"],"limitations":["Bulk operations are limited to 10 records per batch; larger volumes require splitting with n8n's SplitInBatches node","Rate limits may apply based on plan; monitor `x-minute-requests-left` header in API responses","Person enrichment requires at least one of: email, LinkedIn URL, Apollo Person ID, or first/last name + domain"],"relatedNodes":["n8n-nodes-base.Sheet","n8n-nodes-base.Webhook","n8n-nodes-base.Salesforce","n8n-nodes-base.HubSpot","n8n-nodes-base.SplitInBatches"]}


node_type: @bitovi/n8n-nodes-semantic-text-splitter.SemanticTextSplitter
package_name: @bitovi/n8n-nodes-semantic-text-splitter
display_name: SemanticTextSplitter
description: N8N node for semantic text splitting
category: Community
development_style: declarative
version: 0.1.3
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-semantic-text-splitter.git
npm_package_name: @bitovi/n8n-nodes-semantic-text-splitter
npm_version: 0.1.3
community_fetched_at: 2026-01-07T20:08:17.667Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @bitovi/n8n-nodes-semantic-text-splitter

  This is an n8n community node. It lets you use semantic text splitting in your n8n workflows.

  Semantic text splitting is an advanced text processing technique that splits text based on semantic similarity rather than simple character or token counts. This node implements the methodology described in [5 Levels Of Text Splitting](https://github.com/FullStackRetrieval-com/RetrievalTutorials/blob/main/tutorials/LevelsOfTextSplitting/5_Levels_Of_Text_Splitting.ipynb), which uses embedding models to identify natural breakpoints in text where meaning shifts significantly.

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

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

  **Quick Installation:**
  - Make sure to allow community nodes with `N8N_COMMUNITY_PACKAGES_ENABLED=true`
  - Once logged in to your N8N web UI, go to `/settings/community-nodes` and type `@bitovi/n8n-nodes-semantic-text-splitter`

  ## Operations

  The Semantic Text Splitter node provides intelligent text splitting capabilities:

  - **Semantic Text Splitting**: Splits text into semantically coherent chunks using embedding-based similarity analysis
  - **Configurable Parameters**: Control splitting behavior with customizable thresholds and window sizes
  - **Integration with Embedding Models**: Works with any n8n-compatible embedding model for similarity calculations

  ## Compatibility

  - **Minimum n8n version**: Compatible with n8n v1.0+
  - **Node.js version**: Requires Node.js 18.10 or higher
  - **Dependencies**: Requires @langchain/core and @langchain/textsplitters

  This node is tested with the latest stable version of n8n and should work with most n8n installations that support community nodes.

  ## Usage

  ### Node Configuration

  The Semantic Text Splitter node requires an embedding model connection and supports the following parameters:

  - **Percentile Threshold for Breakpoints** (default: 0.95): Controls how selective the algorithm is when identifying breakpoints. Higher values result in fewer, larger chunks.
  - **Number of Sentences to Consider in Sliding Window** (default: 3): The size of the sliding window used for embedding comparison.
  - **Minimum Chunk Size** (default: 100): Minimum character length for generated chunks.
  - **Sentence Delimiters** (default: ".!?"): Characters used to identify sentence boundaries.

  ### How It Works

  1. **Sentence Splitting**: Text is first split into sentences using the configured delimiters
  2. **Sliding Windows**: Creates overlapping windows of sentences based on the window size
  3. **Embedding Generation**: Each window is converted to embeddings using the connected embedding model
  4. **Distance Calculation**: Calculates cosine distances between sequential window embeddings
  5. **Breakpoint Detection**: Identifies breakpoints where semantic distance exceeds the threshold
  6. **Chunk Creation**: Creates final text chunks based on identified breakpoints

  ### Example Workflow

  1. Connect a text input (e.g., from a document loader)
  2. Connect an embedding model (e.g., OpenAI Embeddings)
  3. Configure the splitting parameters based on your needs
  4. Connect the output to downstream processing nodes (e.g., vector store, document processing)

  This approach creates more coherent chunks compared to simple character or token-based splitting, making it ideal for RAG (Retrieval Augmented Generation) applications and document processing workflows.

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [5 Levels Of Text Splitting Tutorial](https://github.com/FullStackRetrieval-com/RetrievalTutorials/blob/main/tutorials/LevelsOfTextSplitting/5_Levels_Of_Text_Splitting.ipynb)
  * [LangChain Text Splitters Documentation](https://js.langchain.com/docs/modules/data_connection/document_transformers/)

  ## Version history

  - **v0.1.2** (Current): Latest stable release with full semantic splitting functionality
  - **v0.1.x**: Initial releases with core semantic text splitting features

  ## Need help or have questions?

  Need guidance on leveraging AI agents or N8N for your business? Our [AI Agents workshop](https://hubs.ly/Q02X-9Qq0) will equip you with the knowledge and tools necessary to implement successful and valuable agentic workflows.

  ## License

  [MIT](./LICENSE.md)

ai_documentation_summary:
  {"purpose":"The SemanticTextSplitter node splits text into semantically coherent chunks using embedding-based similarity analysis, enabling more meaningful and contextually relevant text segments for applications like Retrieval-Augmented Generation (RAG) and document processing.","capabilities":["Splits text based on semantic similarity rather than character or token counts","Uses embedding models to detect natural breakpoints in text where meaning shifts","Configurable parameters including percentile threshold, sliding window size, minimum chunk size, and sentence delimiters","Integrates with any n8n-compatible embedding model for similarity calculations"],"authentication":"None required; relies on an externally connected embedding model (e.g., OpenAI) which may require its own authentication","commonUseCases":["Preparing documents for RAG systems","Improving document chunk coherence in knowledge bases","Processing long-form text for semantic search or AI agents","Enhancing downstream NLP tasks with contextually relevant text segments"],"limitations":["Requires a compatible embedding model to be connected and configured","Performance may depend on the speed and quality of the underlying embedding model","Does not support real-time or streaming text input natively","Limited to text inputs; does not process files directly without prior extraction"],"relatedNodes":["Embedding Model nodes (e.g., OpenAI Embeddings)","Document Loader nodes","Vector Store nodes","RAG nodes"]}


node_type: @acrewity/n8n-nodes-acrewity.Acrewity
package_name: @acrewity/n8n-nodes-acrewity
display_name: Acrewity
category: Community
development_style: declarative
version: 0.1.16
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: adamlauzon
author_github_url: git+https://github.com/Acrewity/acrewity-n8n.git
npm_package_name: @acrewity/n8n-nodes-acrewity
npm_version: 0.1.16
community_fetched_at: 2026-01-07T20:08:17.670Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n community node for Acrewity API - A unified API platform with 22+ utility services including PDF processing, data conversion, QR codes, barcodes, and more

npm_readme:
  # n8n-nodes-acrewity

  This is an n8n community node for [Acrewity](https://acrewity.com) - a unified API platform with 22+ utility services.

  ## Features

  This node provides access to all Acrewity API services:

  ### Data & Utilities
  - **UUID Generator** - Generate unique identifiers (v1, v4)
  - **Regex Matcher** - Pattern matching and text extraction
  - **Text Diff** - Compare two texts and highlight differences
  - **URL Encoder/Decoder** - Safely encode and decode URLs
  - **Timezone Converter** - Convert times between timezones
  - **JSON Schema Validator** - Validate JSON against schemas

  ### Content Processing
  - **URL to Markdown** - Convert web pages to Markdown
  - **HTML to Markdown** - Convert HTML content to Markdown
  - **Markdown to HTML** - Convert Markdown to HTML with syntax highlighting
  - **HTML to PDF** - Generate PDF documents from HTML

  ### Document Generation
  - **QR Code Generator** - Generate QR codes (PNG/SVG)
  - **Barcode Generator** - Generate 1D barcodes (Code128, EAN-13, EAN-8, UPC, Code39, ITF-14, Codabar)
  - **Markdown Table Generator** - Create formatted Markdown tables
  - **Sitemap Generator** - Extract links from web pages and generate XML sitemaps

  ### File Conversion
  - **Image Converter** - Convert between JPEG, PNG, WebP, BMP, GIF, ICO, TIFF
  - **Excel to JSON** - Parse Excel files to JSON
  - **JSON to Excel** - Create Excel files from JSON (single or multi-sheet, with cell positioning and formula support)

  ### PDF Operations
  - **PDF Merge** - Combine multiple PDF files
  - **PDF Extract Page** - Extract specific pages from PDFs
  - **PDF to HTML** - Convert PDFs to HTML
  - **PDF to Markdown** - Convert PDFs to Markdown

  ### Communication
  - **Email Access** - Send emails via SMTP, fetch emails via IMAP/POP3, mark as read

  ## Installation

  ### In n8n Desktop/Self-hosted

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

  ### Manual Installation

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

  ## Credentials

  To use this node, you need an Acrewity API key:

  1. Sign up at [acrewity.com](https://acrewity.com)
  2. Go to your Dashboard > API Keys
  3. Create a new API key
  4. Copy the key (starts with `ak_`)

  In n8n:
  1. Go to **Credentials**
  2. Create new **Acrewity API** credential
  3. Paste your API key

  ## Usage

  1. Add the **Acrewity** node to your workflow
  2. Select a **Resource** (service type)
  3. Select an **Operation**
  4. Fill in the required parameters
  5. Execute!

  ### Example: Generate UUIDs

  1. Resource: `UUID Generator`
  2. Operation: `Generate UUID`
  3. UUID Version: `Version 4 (Random)`
  4. Count: `5`

  ### Example: Convert HTML to PDF

  1. Resource: `HTML to PDF`
  2. Operation: `Convert to PDF`
  3. HTML Content: `<html><body><h1>Invoice #123</h1>...</body></html>`

  ## API Documentation

  Full API documentation is available at [acrewity.com/docs](https://acrewity.com/docs)

  ## Credits

  Each API operation costs **1 credit**. Check your credit balance in the Acrewity dashboard.

  ## Support

  - **Documentation**: [acrewity.com/docs](https://acrewity.com/docs)
  - **Issues**: [GitHub Issues](https://github.com/Acrewity/n8n-nodes-acrewity/issues)
  - **Contact**: [acrewity.com/contact](https://acrewity.com/contact)

  ## License

  [MIT](LICENSE)

ai_documentation_summary:
  {"purpose":"The Acrewity n8n node provides access to a unified API platform with 22+ utility services, enabling automation of tasks such as data processing, content conversion, document generation, file manipulation, and communication via email.","capabilities":["Generate UUIDs (v1, v4)","Perform regex matching and text extraction","Compare texts and highlight differences","Encode/decode URLs","Convert between timezones","Validate JSON against schemas","Convert web pages to Markdown","Convert HTML to Markdown and HTML","Generate PDFs from HTML","Generate QR codes and barcodes"],"authentication":"API key required (starts with 'ak_')","commonUseCases":["Automating document creation and formatting (e.g., invoices, reports)","Converting web content to Markdown or PDF for documentation","Generating unique identifiers or validating data structures","Processing and transforming spreadsheets and files","Creating automated email workflows"],"limitations":["Each API operation costs 1 credit; usage is limited by available balance","No built-in rate limiting or retry mechanisms mentioned","No support for advanced email filtering or custom templates"],"relatedNodes":["Email nodes","File processing nodes","Data transformation nodes","PDF handling nodes"]}


node_type: n8n-nodes-run-node-with-credentials-x.RunNodeWithCredentialsX
package_name: n8n-nodes-run-node-with-credentials-x
display_name: RunNodeWithCredentialsX
description: Node to run any node with specified credentials ID.
category: Community
development_style: declarative
version: 0.4.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: bramknuever
author_github_url: git+https://github.com/bramkn/RunNodeWithCredentialsX.git
npm_package_name: n8n-nodes-run-node-with-credentials-x
npm_version: 0.4.1
community_fetched_at: 2026-01-07T20:08:17.670Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)


  # n8n-nodes-run-node-with-credentials-x

  The node allows you to dynamically set the credentials to be used for a specific node you want to run.
  With this you have to paste in a node you want to use, this can be any node with any parameters set. By then also entering the credentials ID the node is ran with those credentials.

  > **Warning**
  > You can only use the same type of credentials as the original one set in the node that is pasted in.
  > Be sure to enter credentials, so the node know which credentials need to be replaced. Without credentials set, the node cannot determine the credentialtype name and therefore cannot set it.

  ![NodeExample](https://github.com/bramkn/n8n-nodes-run-node-with-credentials/blob/master/img/credentialsNodeImg.png)

ai_documentation_summary:
  {"purpose":"Allows users to dynamically run any n8n node using specified credentials by selecting a node configuration and assigning a credentials ID, enabling credential-based execution for different environments or contexts.","capabilities":["Run any existing n8n node dynamically","Set specific credentials ID to be used during execution","Ensure credential type compatibility with the original node's configured credentials"],"authentication":"API key or credential-based (specific credential ID required; must match the type of credentials used in the target node)","commonUseCases":["Running nodes with different environments (e.g., dev, staging, production) using environment-specific credentials","Reusing node configurations across workflows with dynamic credential switching","Automating tasks that require different authentication methods per execution"],"limitations":["Only supports credentials of the same type as those originally set in the target node","No credentials will be applied if no credentials are specified or if the credential type does not match","Does not support custom credential types or dynamic credential creation"],"relatedNodes":["n8n-nodes-base","n8n-nodes-webhook","n8n-nodes-database","n8n-nodes-http-request"]}


node_type: n8n-nodes-siyuannotes-test.SiyuannotesTest
package_name: n8n-nodes-siyuannotes-test
display_name: SiyuannotesTest
description: n8n custom nodes for SiYuan Note - A privacy-first personal knowledge management system
category: Community
development_style: declarative
version: 0.1.11
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: yunguotianming
author_github_url: git+https://github.com/yunguotianming/n8n-nodes-siyuannotes-test.git
npm_package_name: n8n-nodes-siyuannotes-test
npm_version: 0.1.11
community_fetched_at: 2026-01-07T20:08:17.671Z
npm_readme: ERROR: No README data found!
ai_summary_generated_at: 2026-01-08 10:45:31
ai_documentation_summary:
  {"purpose":"The SiYuannotesTest node is a custom n8n node designed to integrate with SiYuan Note, a privacy-first personal knowledge management system, enabling users to interact with notes and data within SiYuan through automated workflows.","capabilities":["Connect to SiYuan Note","Read or write notes","Manage note content and structure"],"authentication":"API key required","commonUseCases":["Automatically creating or updating notes in SiYuan","Syncing data from other tools into SiYuan notes","Extracting information from notes for downstream processing"],"limitations":[],"relatedNodes":["n8n-nodes-siyuannotes-read","n8n-nodes-siyuannotes-write"]}


node_type: n8n-nodes-tareno.Tareno
package_name: n8n-nodes-tareno
display_name: Tareno
description: N8N community nodes for Tareno - Social Media Management Platform
category: Community
development_style: declarative
version: 1.8.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: tareno
author_github_url: git+https://github.com/TarenoAI/n8n-nodes-tareno.git
npm_package_name: n8n-nodes-tareno
npm_version: 1.8.0
community_fetched_at: 2026-01-07T20:08:17.671Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-tareno

  This is an n8n community node for [Tareno](https://tareno.co) - a Social Media Management Platform.

  Automate your social media posting across Instagram, Facebook, YouTube, TikTok, Twitter/X, Threads, and Pinterest.

  ## Features

  - **Publish Posts** - Post immediately to any connected platform
  - **Schedule Posts** - Schedule posts for later
  - **Get Accounts** - List all your connected social media accounts
  - **Usage Statistics** - Monitor your API usage

  ## Prerequisites

  1. A Tareno account at [tareno.co](https://tareno.co)
  2. Connected social media accounts in Tareno
  3. An API key (create one in Settings → API)

  ## Installation

  ### Community Nodes (Recommended)

  1. Go to **Settings → Community Nodes**
  2. Select **Install**
  3. Enter `n8n-nodes-tareno`
  4. Click **Install**

  ### Manual Installation

  ```bash
  cd ~/.n8n/custom
  npm install n8n-nodes-tareno
  ```

  ## Credentials

  1. In n8n, go to **Credentials**
  2. Click **Add Credential**
  3. Search for **Tareno API**
  4. Enter your API Key from Tareno Settings → API

  ## Operations

  ### Post

  #### Publish
  Publish a post immediately to a social media platform.

  | Parameter | Description |
  |-----------|-------------|
  | Platform | Instagram, Facebook, YouTube, TikTok, Twitter, Threads, or Pinterest |
  | Account ID | Your connected account ID (use "Get Accounts" to find this) |
  | Text/Caption | The post content |
  | Media URLs | Comma-separated URLs of images/videos |

  #### Schedule
  Schedule a post for later.

  Same parameters as Publish, plus:
  | Parameter | Description |
  |-----------|-------------|
  | Schedule Time | When to publish (ISO 8601 format) |

  ### Account

  #### Get All
  Returns all your connected social media accounts with their IDs.

  ### Usage

  #### Get Statistics
  Returns your API usage statistics including:
  - Current month usage
  - Monthly limit
  - Success rate
  - Breakdown by platform

  ## Example Workflow

  ```
  [Trigger] → [Tareno: Get Accounts] → [Set: Pick Account] → [Tareno: Publish Post]
  ```

  ## Rate Limits

  API limits depend on your Tareno plan:
  - Free: 50 calls/month
  - Starter: 500 calls/month
  - Pro: 2,000 calls/month
  - Business: 10,000 calls/month

  ## Support

  - Documentation: [tareno.co/docs/api](https://tareno.co/docs/api)
  - Email: support@tareno.co

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"The Tareno node enables automation of social media posting and management across platforms like Instagram, Facebook, YouTube, TikTok, Twitter/X, Threads, and Pinterest through n8n, supporting both immediate publishing and scheduling of posts.","capabilities":["Publish posts immediately to social media platforms","Schedule posts for a future time (using ISO 8601 format)","Retrieve a list of all connected social media accounts","Monitor API usage statistics including monthly limits, success rate, and platform breakdown"],"authentication":"API key required (created in Tareno Settings → API)","commonUseCases":["Automatically posting content to multiple social media platforms","Scheduling posts in advance for consistent content publishing","Monitoring API usage to manage costs and plan content workflows","Fetching account details to dynamically select platforms for posting"],"limitations":["Rate limits vary by Tareno plan (e.g., Free plan allows only 50 calls/month)","No support for editing or deleting existing posts","Media URLs must be provided as comma-separated values"],"relatedNodes":["n8n-nodes-base.trigger","n8n-nodes-base.set","n8n-nodes-base.function"]}


node_type: n8n-nodes-convert-image.ConvertImage
package_name: n8n-nodes-convert-image
display_name: ConvertImage
category: Community
development_style: declarative
version: 0.0.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: mason276752
author_github_url: git+https://github.com/mason276752/n8n-nodes-convert-image.git
npm_package_name: n8n-nodes-convert-image
npm_version: 0.0.2
community_fetched_at: 2026-01-07T20:08:17.672Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n node for converting image formats between JPG, PNG, BMP, TIFF, etc. Supports both base64 and file inputs/outputs

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

  # n8n-nodes-convert-image

  Custom n8n node for converting images to different formats (JPG, PNG, BMP, TIFF, GIF).  
  Handles both base64 and file inputs, outputs base64 or file data, and allows setting image quality.

  ## Features

  - Convert images between common formats  
  - Input as file or base64  
  - Output as file or base64  
  - Adjustable quality for JPG output  

  ## Prerequisites

  - n8n (version 1.0.0 or later)
  - Node.js 16 or newer

  ## Installation

  ```bash
  npm install n8n-nodes-convert-image
  ```

  ## Usage

  1. Provide the input file or base64 data.
  2. Select the target format and output type.
  3. For JPEG, define the desired quality (0-100).
  4. The node returns the converted image in the chosen format.

  ## Example

  1. Add the “Image Format Converter” node to your workflow.
  2. Pass your image as base64 or file data.
  3. Set the output format to “PNG”, for example.
  4. Define output as “file” or “base64”.
  5. The result will be a converted image in the desired format.

  ## License

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"The ConvertImage node converts images between common formats such as JPG, PNG, BMP, TIFF, and GIF, supporting both base64 and file inputs and outputs with adjustable quality for JPEGs.","capabilities":["Convert images between JPG, PNG, BMP, TIFF, and GIF formats","Accept input as base64 or file","Output as base64 or file","Adjust JPEG quality (0-100) during conversion"],"authentication":"None required","commonUseCases":["Resizing or reformatting images for web use","Converting images to PNG for transparency support","Optimizing image quality and file size for email or social media","Processing image data in workflows that require specific formats"],"limitations":[],"relatedNodes":["File","Function","HTTP Request","Webhook"]}


node_type: n8n-nodes-arubacentralnextgen.Arubacentralnextgen
package_name: n8n-nodes-arubacentralnextgen
display_name: Arubacentralnextgen
category: Community
development_style: declarative
version: 1.13.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: cybernetic-node-composer
author_github_url: TBD
npm_package_name: n8n-nodes-arubacentralnextgen
npm_version: 1.13.0
community_fetched_at: 2026-01-07T20:08:17.672Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities

npm_readme:
  # n8n-nodes-arubacentralnextgen

  This is an n8n community node for integrating with Aruba Central NextGen API. It provides comprehensive monitoring and management capabilities for modern Aruba Central deployments.

  ## Features

  - **OAuth2 Authentication**: Secure authentication with Aruba Central NextGen API
  - **Comprehensive Operations**: Full range of monitoring, configuration, and management operations
  - **Gateway Monitoring**: Complete gateway operations with proper API parameter validation
  - **Enterprise-grade**: Built for production environments with proper error handling
  - **AI Integration**: Marked as `usableAsTool: true` for AI agent compatibility

  ## Installation

  ```bash
  npm install n8n-nodes-arubacentralnextgen
  ```

  ## Latest Updates (v1.4.6)

  ✅ **Fixed Gateway API Operations** - Corrected missing required parameters for:
  - Gateway LAN Tunnel Throughput/Status Trends (now require `tunnelName`)
  - Gateway Interface Throughput Trend (now requires `portNumber`) 
  - Gateway Uplink operations (now require `linkTag` or `uplinkVlanId`)
  - All operations now fully comply with Aruba Central NextGen API documentation

  ## Configuration

  1. Go to **Credentials** in n8n
  2. Select **Aruba Central NextGen OAuth2 API**
  3. Enter your:
     - **Client ID** (from Aruba Central Platform Integration)
     - **Client Secret** (from Aruba Central Platform Integration)
     - **Base URL** (your Aruba Central instance URL)

  ## Usage

  1. Add the **Aruba Central NextGen** node to your workflow
  2. Select your credential
  3. Choose the operation you want to perform
  4. Configure the parameters as needed

  ## Operations

  The node supports comprehensive operations across multiple domains:
  - Monitoring and analytics
  - Device configuration and management
  - Network topology and discovery
  - Security and compliance
  - Troubleshooting and diagnostics

  ## License

  MIT

  ## Support

  This is a community-maintained node. For issues and questions, please use the GitHub issues.

ai_documentation_summary:
  {"purpose":"The Aruba Central NextGen node enables n8n workflows to integrate with the Aruba Central NextGen API, providing secure access to monitoring, configuration, and management operations for modern network deployments.","capabilities":["OAuth2 authentication with Aruba Central NextGen","Gateway monitoring with proper parameter validation","Device configuration and management","Network topology and discovery","Security and compliance operations","Troubleshooting and diagnostics","AI agent compatibility via `usableAsTool: true`"],"authentication":"OAuth2 authentication using Client ID and Client Secret from Aruba Central Platform Integration","commonUseCases":["Monitoring gateway throughput and status trends","Managing network interfaces and uplinks","Performing device configuration and network discovery","Running diagnostics and troubleshooting tasks","Integrating with AI agents for automated network analysis"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-auth","n8n-nodes-ai"]}


node_type: @bitovi/n8n-nodes-markitdown.Markitdown
package_name: @bitovi/n8n-nodes-markitdown
display_name: Markitdown
description: n8n node to process files with Markitdown
category: Community
development_style: declarative
version: 0.1.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-markitdown.git
npm_package_name: @bitovi/n8n-nodes-markitdown
npm_version: 0.1.10
community_fetched_at: 2026-01-07T20:08:17.673Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # @bitovi/n8n-nodes-markitdown

  This is an n8n community node. It lets you use Microsoft's Markitdown in your n8n workflows.

  Microsoft's [Markitdown](https://github.com/microsoft/markitdown) is a powerful utility for converting various document formats (PDF, Word, PowerPoint, Excel, images, audio, and more) into clean, structured Markdown text. This makes it easy to extract and process content from different file types in your automation workflows.

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

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

  #### Requirements

  - A self-hosted n8n instance.
     - n8n Cloud [does not support nodes with external dependencies](https://community.n8n.io/t/custom-node-approval/118559?utm_source=chatgpt.com)
  - Make sure you have [Markitdown](https://github.com/bitovi/n8n-nodes-markitdown) installed
     2. Simply update your own Dockerfile with the delcarations below
     1. You may use our [custom image](https://hub.docker.com/r/bitovi/n8n-nodes-markitdown)
  - Make sure to allow community nodes with `N8N_COMMUNITY_PACKAGES_ENABLED=true`
  - Once logged in to your N8N web UI, go to `/settings/community-nodes` and type `@bitovi/n8n-nodes-markitdown`

  ### Option 1 (Recommended) - Use our pre-built Docker image

  ```dockerfile
  # Use our custom image
  FROM bitovi/n8n-nodes-markitdown:latest

  # Optional, put your customization here
  ...
  ```

  ### Option 2 - Add to your existing Dockerfile
  ```dockerfile
  FROM n8nio/n8n:latest

  # Switch to the root user for installations
  USER root
  RUN npm install -g pnpm

  # === Python Dependencies for Alpine ===
  # This uses Alpine's 'apk' package manager.
  # 1. Create a temporary virtual package '.build-deps' with all build dependencies.
  # 2. Use pip to install markitdown globally, adding '--break-system-packages' to handle PEP 668.
  # 3. Ensure Python runtime packages remain installed.
  # 4. Remove only the build dependencies to keep the image smaller.
  RUN apk add --no-cache --virtual .build-deps git build-base python3-dev py3-pip && \
      apk add --no-cache python3 && \
      pip install markitdown --break-system-packages && \
      apk del .build-deps

  # Ensure the Python scripts directory is in PATH for all users
  ENV PATH="/usr/local/bin:$PATH"

  # Switch back to the non-privileged 'node' user for security
  USER node

  # Set the working directory to n8n's default
  WORKDIR /home/node/.n8n/nodes

  # Install the n8n Markitdown nodes package
  RUN npm install @bitovi/n8n-nodes-markitdown@latest --only=prod

  # Set the main working directory back to n8n's default
  WORKDIR /home/node
  ```

  ## Operations

  This node provides a single operation:

  **Convert to Markdown**: Takes any supported file format and converts it to clean, structured Markdown text.

  **Input Parameters:**
  - **Input Binary Field**: The name of the binary property containing the file to process (default: "data")

  **Output:**
  - **data**: The converted Markdown content as a string in the JSON output
  - **binary**: Empty binary object (the output is provided as text in the JSON data)

  ## Compatibility

  - **Minimum n8n version**: 1.0.0
  - **Node.js version**: >=18.10
  - **Python version**: 3.7+ (required for markitdown)
  - **Tested with**: n8n 1.14.1+

  This node requires Python and the markitdown package to be installed in your n8n environment. See the installation instructions above for proper setup.

  ## Usage

  ### Basic Workflow Setup

  1. **File Input**: Connect a node that provides binary file data (like "Read Binary File", "HTTP Request", or "Google Drive" nodes)
  2. **Markitdown Node**: Add the Markitdown node to your workflow
  3. **Configure**: Set the "Input Binary Field" parameter to match the binary property name from your input node (usually "data")
  4. **Output**: The converted Markdown will be available in the `data` field of the output JSON

  ### Example Use Cases

  - **Document Processing**: Convert Word documents, PDFs, or PowerPoint presentations to Markdown for further text processing
  - **Content Extraction**: Extract text content from images using OCR capabilities
  - **Data Pipeline**: Batch convert multiple documents as part of a larger data processing workflow
  - **Content Management**: Convert various document formats to Markdown for publishing or archival systems

  ### Tips

  - The node processes files by creating temporary files, so ensure your n8n instance has sufficient disk space
  - Large files may take longer to process depending on the complexity and type of document
  - If processing fails, check that the markitdown command is properly installed and accessible in your environment

  ### How to find the node

  You can search "markitdown" in the n8n node search bar. The node will appear with the Microsoft logo.

  ![Markitdown Node](markitdown.png)

  ## File Types Supported

  MarkItDown supports a wide variety of file formats:

  - **PDF**: Extract text and structure from PDF documents
  - **Microsoft Office**: PowerPoint (reading in top-to-bottom, left-to-right order), Word, Excel
  - **Images**: EXIF metadata extraction and OCR text recognition
  - **Audio**: EXIF metadata and speech transcription
  - **Web**: HTML pages and content
  - **Text-based formats**: CSV, JSON, XML
  - **Archives**: ZIP files (iterates over contents)
  - **Online content**: YouTube URLs
  - **And more!**

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Microsoft Markitdown GitHub repository](https://github.com/microsoft/markitdown)
  - [Bitovi's n8n-nodes-markitdown repository](https://github.com/bitovi/n8n-nodes-markitdown)
  - [Bitovi Docker Hub image](https://hub.docker.com/r/bitovi/n8n-nodes-markitdown)


  ## Need Help or Have Questions?

  Need guidance on leveraging AI agents or N8N for your business? Our [AI Agents workshop](https://hubs.ly/Q02X-9Qq0) will equip you with the knowledge and tools necessary to implement successful and valuable agentic workflows.

  ## License

  [MIT](./LICENSE.md)

ai_documentation_summary:
  {"purpose":"The Markitdown node converts various file formats (like PDF, Word, PowerPoint, images, audio, and more) into clean, structured Markdown text, enabling easy content extraction and processing within n8n workflows.","capabilities":["Converts supported file formats to Markdown","Supports OCR for images and audio","Extracts text from PDFs, Office documents, and web content","Processes archives (e.g., ZIP) by iterating over contents","Handles EXIF metadata extraction from images and audio"],"authentication":"None required","commonUseCases":["Document processing and content extraction","Batch conversion of documents to Markdown for text analysis","Automated content management and publishing workflows","Data pipeline integration with text-based processing steps"],"limitations":["Requires Python 3.7+ and the markitdown package to be installed in the n8n environment","Large files may take longer to process","Needs sufficient disk space due to temporary file creation","Only works in self-hosted n8n instances; not supported on n8n Cloud","Limited to file types explicitly supported by Markitdown (e.g., not all formats are guaranteed to work)"],"relatedNodes":["Read Binary File","HTTP Request","Google Drive","Text Processing","File Output"]}


node_type: n8n-nodes-bullhornhub.Bullhornhub
package_name: n8n-nodes-bullhornhub
display_name: Bullhornhub
description: Bullhorn CRM integration for n8n, powered by BullhornHub SDK
category: Community
development_style: declarative
version: 0.2.8
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: steveholloway
npm_package_name: n8n-nodes-bullhornhub
npm_version: 0.2.8
community_fetched_at: 2026-01-07T20:08:17.673Z
npm_readme: ERROR: No README data found!
ai_summary_generated_at: 2026-01-08 10:45:31
ai_documentation_summary:
  {"purpose":"The Bullhornhub node enables integration between n8n and Bullhorn CRM, allowing users to interact with Bullhorn's CRM platform using the BullhornHub SDK.","capabilities":["Fetch data from Bullhorn CRM","Send data to Bullhorn CRM","Sync records such as contacts, companies, and opportunities","Support for BullhornHub SDK operations"],"authentication":"API key required","commonUseCases":["Syncing candidate and contact data between n8n and Bullhorn CRM","Automating lead creation or updates in Bullhorn","Pulling company or job data for reporting or analysis"],"limitations":[],"relatedNodes":["n8n-nodes-base.Http Request","n8n-nodes-base.Database"]}


node_type: n8n-nodes-filemaker-odata.FilemakerOdata
package_name: n8n-nodes-filemaker-odata
display_name: FilemakerOdata
category: Community
development_style: declarative
version: 0.3.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: chriscors
author_github_url: git+https://github.com/proofgeist/odata-mcp.git
npm_package_name: n8n-nodes-filemaker-odata
npm_version: 0.3.0
community_fetched_at: 2026-01-07T20:08:17.674Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n community node for FileMaker OData API - Query, create, update, and delete records in FileMaker databases

npm_readme:
  # n8n-nodes-filemaker-odata

  This is an n8n community node that lets you interact with FileMaker databases via the OData API.

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

  [FileMaker](https://www.claris.com/filemaker/) is a low-code database platform by Claris (Apple subsidiary).

  ## Installation

  ### In n8n (Recommended)

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

  ### Via npm

  ```bash
  npm install n8n-nodes-filemaker-odata
  ```

  ## Operations

  This node supports the following operations:

  ### Records

  | Operation | Description |
  |-----------|-------------|
  | **Get Many** | Query records with filtering, sorting, and pagination |
  | **Get** | Get a single record by primary key |
  | **Get Count** | Get the count of records (optionally filtered) |
  | **Get Field Value** | Get a specific field value from a record |
  | **Get Related** | Navigate to related records via relationships |
  | **Create** | Create a new record |
  | **Update** | Update an existing record |
  | **Delete** | Delete a record |

  ### Tables

  | Operation | Description |
  |-----------|-------------|
  | **List Tables** | Get all tables in the database |
  | **Get Metadata** | Get OData schema metadata |

  ### Schema

  | Operation | Description |
  |-----------|-------------|
  | **Create Table** | Create a new table with fields |
  | **Add Fields** | Add fields to an existing table |
  | **Delete Table** | Delete a table |
  | **Delete Field** | Delete a field from a table |

  ### Scripts

  | Operation | Description |
  |-----------|-------------|
  | **Run Script** | Run a FileMaker script with optional parameter |

  ## Credentials

  This node requires FileMaker OData API credentials. You can authenticate using:

  ### OttoFMS API Key (Recommended)

  If you're using [OttoFMS](https://www.ottofms.com/):

  - **Host**: Your FileMaker Server URL (e.g., `https://your-server.example.com`)
  - **Database**: Your FileMaker database name
  - **Authentication Type**: OttoFMS API Key
  - **OttoFMS API Key**: Your API key (starts with `dk_`)

  ### Basic Authentication

  Using FileMaker account credentials:

  - **Host**: Your FileMaker Server URL
  - **Database**: Your FileMaker database name
  - **Authentication Type**: Basic Auth
  - **Username**: FileMaker account username
  - **Password**: FileMaker account password

  ## Examples

  ### Query Records with Filter

  ```
  Resource: Record
  Operation: Get Many
  Table: Customers
  Options:
    Filter: Status eq 'Active'
    Select: Name, Email, Phone
    Order By: Name asc
    Limit: 50
  ```

  ### Create a Record

  ```
  Resource: Record
  Operation: Create
  Table: Orders
  Data: {"CustomerID": "12345", "Product": "Widget", "Quantity": 5}
  ```

  ### Run a Script

  ```
  Resource: Script
  Operation: Run Script
  Table: Customers
  Script Name: ProcessNewOrder
  Script Parameter: {"orderID": "ORD-001"}
  ```

  ## OData Filter Syntax

  The node uses OData v4 filter syntax. Examples:

  | Filter | Description |
  |--------|-------------|
  | `Name eq 'John'` | Name equals "John" |
  | `Age gt 21` | Age greater than 21 |
  | `Status ne 'Closed'` | Status not equal to "Closed" |
  | `contains(Name, 'Smith')` | Name contains "Smith" |
  | `startswith(Email, 'john')` | Email starts with "john" |
  | `Date ge 2024-01-01` | Date on or after Jan 1, 2024 |
  | `Active eq true and Age gt 18` | Combine with AND |
  | `Status eq 'Open' or Status eq 'Pending'` | Combine with OR |

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [FileMaker OData API documentation](https://help.claris.com/en/odata-guide/)
  - [fmodata library](https://github.com/proofgeist/odata-mcp)
  - [OttoFMS](https://www.ottofms.com/)

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"The FilemakerOdata node enables n8n users to interact with FileMaker databases via the OData API, supporting operations like querying, creating, updating, and deleting records, as well as managing tables, fields, and running scripts.","capabilities":["Query records with filtering, sorting, and pagination","Retrieve a single record by primary key","Get record count (with optional filters)","Retrieve specific field values","Access related records via relationships","Create new records","Update existing records","Delete records","List all tables in a database","Retrieve OData schema metadata"],"authentication":"Either OttoFMS API Key (recommended) or Basic Authentication using FileMaker account credentials","commonUseCases":["Fetching customer or order data with filters and sorting","Automating data entry by creating new records","Updating records based on external triggers","Deleting outdated or duplicate entries","Managing database schema changes (e.g., adding fields)"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-http","n8n-nodes-database"]}


node_type: n8n-nodes-datacrazy.Datacrazy
package_name: n8n-nodes-datacrazy
display_name: Datacrazy
description: N8N community node for DataCrazy
category: Community
development_style: declarative
version: 1.0.59
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: joaoarturdev
author_github_url: git+https://github.com/joaoartur/n8n-nodes-datacrazy.git
npm_package_name: n8n-nodes-datacrazy
npm_version: 1.0.59
community_fetched_at: 2026-01-07T20:08:17.674Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # DataCrazy Community Node N8N

  [![npm version](https://badge.fury.io/js/n8n-nodes-datacrazy.svg)](https://badge.fury.io/js/n8n-nodes-datacrazy)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  Este é um nó da comunidade N8N para integração completa com a plataforma DataCrazy, oferecendo acesso a todas as funcionalidades de CRM, messaging e gerenciamento de dados.

  ## 📋 Índice

  - [Instalação](#instalação)
  - [Configuração](#configuração)
  - [Módulos Disponíveis](#módulos-disponíveis)
  - [Exemplos de Uso](#exemplos-de-uso)
  - [Desenvolvimento](#desenvolvimento)
  - [Reportar Issues](#reportar-issues)
  - [Contribuição](#contribuição)
  - [Licença](#licença)

  ## 🚀 Instalação

  ### Via n8n Community Nodes

  1. Acesse as configurações do n8n
  2. Vá para "Community Nodes"
  3. Instale o pacote: `n8n-nodes-datacrazy`

  ### Via npm

  ```bash
  npm install n8n-nodes-datacrazy
  ```

  ## ⚙️ Configuração

  1. Crie uma nova credencial do tipo "DataCrazy Credentials"
  2. Configure os seguintes campos:
     - **API Key**: Sua chave de API do DataCrazy

  ## 📦 Módulos Disponíveis

  ### 🎯 Leads

  Gerenciamento completo de leads no sistema DataCrazy.

  **Operações Disponíveis:**
  - **Buscar Leads**: Lista todos os leads com filtros avançados
  - **Criar Lead**: Cria um novo lead no sistema
  - **Buscar por ID**: Recupera um lead específico
  - **Atualizar Lead**: Modifica dados de um lead existente
  - **Excluir Lead**: Remove um lead do sistema
  - **Buscar Atividades**: Lista atividades relacionadas ao lead
  - **Buscar Histórico**: Recupera histórico de alterações
  - **Buscar Negócios do Lead**: Lista negócios associados

  **Recursos:**
  - Filtros por pipeline, estágio, atendente
  - Paginação com skip/take
  - Busca por texto
  - Campos personalizáveis

  ### 💼 Negócios (Deals)

  Gestão completa do pipeline de vendas e negócios.

  **Operações Disponíveis:**
  - **Buscar Negócios**: Lista todos os negócios
  - **Criar Negócio**: Cria um novo negócio
  - **Buscar por ID**: Recupera um negócio específico
  - **Atualizar Negócio**: Modifica dados de um negócio
  - **Excluir Negócio**: Remove um negócio

  **Recursos:**
  - Associação com leads
  - Definição de valor e pipeline
  - Campos adicionais personalizáveis
  - Filtros avançados por estágio

  ### 🎬 Ações de Negócios (Deal Actions)

  Operações em lote para gerenciamento eficiente de negócios.

  **Operações Disponíveis:**
  - **Mover**: Move negócios para outro estágio/pipeline
  - **Ganhar**: Marca negócios como ganhos
  - **Perder**: Marca negócios como perdidos com motivo
  - **Restaurar**: Restaura negócios para estado ativo

  **Recursos:**
  - Processamento em lote
  - Seleção dinâmica de pipelines e estágios
  - Motivos de perda configuráveis
  - Justificativas opcionais

  ### 💬 Conversas

  Sistema completo de messaging e atendimento ao cliente.

  **Operações Disponíveis:**
  - **Buscar Conversas**: Lista todas as conversas
  - **Buscar Conversa por ID**: Recupera conversa específica com mensagens
  - **Enviar Mensagem**: Envia mensagem para uma conversa
  - **Finalizar Conversa**: Finaliza atendimento ao cliente

  **Recursos:**
  - Suporte a anexos e arquivos
  - Mensagens agendadas
  - Mensagens internas
  - Resposta a mensagens específicas
  - Base URL específica para messaging

  ### 📎 Anexos

  Gerenciamento de arquivos e documentos associados aos leads.

  **Operações Disponíveis:**
  - **Listar Anexos**: Lista todos os anexos de um lead
  - **Anexar Arquivo**: Adiciona arquivo ao lead
  - **Apagar Anexo**: Remove anexo do lead

  **Recursos:**
  - Upload de múltiplos tipos de arquivo
  - Associação automática com leads
  - Controle de permissões

  ### 📝 Anotações

  Sistema de comentários e observações para leads.

  **Operações Disponíveis:**
  - **Buscar Comentários**: Lista comentários de um lead
  - **Adicionar Comentário**: Cria novo comentário
  - **Atualizar Comentário**: Modifica comentário existente
  - **Excluir Comentário**: Remove comentário

  **Recursos:**
  - Comentários com timestamp
  - Associação com usuários
  - Histórico completo de alterações

  ### 🏷️ Tags

  Sistema de etiquetas para categorização e organização.

  **Operações Disponíveis:**
  - **Buscar Todas**: Lista todas as tags disponíveis
  - **Criar**: Cria nova tag
  - **Buscar por ID**: Recupera tag específica
  - **Atualizar**: Modifica tag existente
  - **Excluir**: Remove tag do sistema

  **Recursos:**
  - Cores personalizáveis
  - Categorização flexível
  - Associação com múltiplos recursos

  ### 🔧 Pipelines

  Gerenciamento de pipelines de vendas e seus estágios.

  **Operações Disponíveis:**
  - **Listar Todos**: Lista todos os pipelines
  - **Listar Estágios**: Lista estágios de um pipeline específico

  **Recursos:**
  - Estrutura hierárquica
  - Configuração de estágios
  - Filtros e paginação

  ### ➕ Campos Adicionais

  Sistema flexível de campos personalizados para leads e negócios.

  **Operações Disponíveis:**
  - **Buscar Campos Adicionais**: Lista campos disponíveis
  - **Definir Campo Adicional**: Define valor para campo personalizado

  **Recursos:**
  - Escopo por tipo (Lead/Deal)
  - Tipos de dados variados
  - Validação automática
  - Carregamento dinâmico de opções

  ## 🛠️ Desenvolvimento

  ### Pré-requisitos

  - Node.js >= 18.10
  - pnpm >= 9.1

  ### Configuração do Ambiente

  ```bash
  # Clone o repositório
  git clone https://github.com/joaoartur/n8n-nodes-datacrazy.git

  # Instale as dependências
  pnpm install

  # Execute em modo de desenvolvimento
  pnpm dev

  # Build para produção
  pnpm build

  # Execute linting
  pnpm lint
  ```

  ### Estrutura do Projeto

  ```
  nodes/DataCrazy/
  ├── DataCrazy.node.ts          # Nó principal
  ├── GenericFunctions.ts        # Funções utilitárias
  └── properties/                # Módulos organizados
      ├── leads/                 # Módulo de leads
      ├── deals/                 # Módulo de negócios
      ├── conversations/         # Módulo de conversas
      ├── annotations/           # Módulo de anotações
      ├── attachments/           # Módulo de anexos
      ├── tags/                  # Módulo de tags
      ├── pipelines/             # Módulo de pipelines
      ├── deal-actions/          # Módulo de ações de negócios
      └── additional-fields/     # Módulo de campos adicionais
  ```

  Cada módulo segue a estrutura:
  - `*.operations.ts` - Definição das operações disponíveis
  - `*.fields.ts` - Campos de entrada do usuário
  - `*.functions.ts` - Lógica de integração com API
  - `*.types.ts` - Interfaces TypeScript
  - `index.ts` - Exportações centralizadas

  ## 🐛 Reportar Issues

  Encontrou um bug ou tem uma sugestão? Ajude-nos a melhorar!

  ### Como Reportar

  1. **Verifique Issues Existentes**: Antes de criar uma nova issue, verifique se o problema já foi reportado em [Issues](https://github.com/joaoartur/n8n-nodes-datacrazy/issues).

  2. **Crie uma Nova Issue**: Se não encontrar uma issue similar, [crie uma nova](https://github.com/joaoartur/n8n-nodes-datacrazy/issues/new).

  ### Informações Necessárias

  Para nos ajudar a resolver o problema rapidamente, inclua:

  **Para Bugs:**
  - **Descrição**: Descreva o problema claramente
  - **Passos para Reproduzir**: Liste os passos exatos para reproduzir o bug
  - **Comportamento Esperado**: O que deveria acontecer
  - **Comportamento Atual**: O que está acontecendo
  - **Ambiente**:
    - Versão do n8n
    - Versão do node DataCrazy
    - Sistema operacional
  - **Logs de Erro**: Inclua mensagens de erro completas
  - **Screenshots**: Se aplicável, adicione capturas de tela

  **Para Solicitações de Recursos:**
  - **Descrição**: Descreva o recurso desejado
  - **Justificativa**: Por que este recurso seria útil
  - **Casos de Uso**: Exemplos de como seria usado
  - **Alternativas**: Soluções alternativas consideradas

  ### Template de Issue

  ```markdown
  ## Tipo
  - [ ] Bug
  - [ ] Solicitação de Recurso
  - [ ] Melhoria
  - [ ] Documentação

  ## Descrição
  [Descreva o problema ou recurso]

  ## Ambiente (para bugs)
  - Versão do n8n:
  - Versão do n8n-nodes-datacrazy:
  - Sistema Operacional:
  - Node.js:

  ## Passos para Reproduzir (para bugs)
  1.
  2.
  3.

  ## Comportamento Esperado
  [O que deveria acontecer]

  ## Comportamento Atual
  [O que está acontecendo]

  ## Logs de Erro
  ```
  [Cole os logs aqui]
  ```

  ## Informações Adicionais
  [Qualquer informação adicional relevante]
  ```

  ### Prioridade de Issues

  - **🔴 Crítica**: Falhas que impedem o uso básico
  - **🟡 Alta**: Bugs importantes ou recursos muito solicitados
  - **🟢 Média**: Melhorias e bugs menores
  - **🔵 Baixa**: Documentação e otimizações

  ## 🤝 Contribuição

  Contribuições são bem-vindas! Por favor, leia nosso guia de contribuição antes de submeter pull requests.

  ### Processo de Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
  3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
  4. Push para a branch (`git push origin feature/AmazingFeature`)
  5. Abra um Pull Request

  ## 📄 Licença

  Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.

  ## 📞 Suporte

  - **Email**: contato@datacrazy.io
  - **Documentação**: [DataCrazy Docs](https://docs.datacrazy.io)
  - **Issues**: [GitHub Issues](https://github.com/joaoartur/n8n-nodes-datacrazy/issues)

  ---

  **Desenvolvido com ❤️ pela equipe DataCrazy**

ai_documentation_summary:
  {"purpose":"The DataCrazy node enables full integration with the DataCrazy CRM platform, allowing users to manage leads, deals, messaging, attachments, notes, tags, pipelines, and custom fields through a comprehensive set of operations.","capabilities":["Search and retrieve leads with advanced filters","Create, update, and delete leads and deals","Manage business activities and deal actions (move, win, lose, restore)","Send and manage customer messages with attachments and scheduling","Upload, list, and delete attachments linked to leads","Add, update, and delete annotations and comments on leads","Manage tags with custom colors and multi-resource association","Configure and manage sales pipelines and stages","Define and manage custom fields for leads and deals with dynamic data types"],"authentication":"API key required","commonUseCases":["Syncing lead data between n8n and DataCrazy CRM","Automating deal progression through pipeline stages","Sending automated customer messages with attachments","Tracking customer interactions via notes and messages","Managing custom fields to capture business-specific data"],"limitations":[],"relatedNodes":["CRM nodes","Messaging nodes","Data management nodes","Custom fields nodes"]}


node_type: n8n-nodes-sahabaa.Sahabaa
package_name: n8n-nodes-sahabaa
display_name: Sahabaa
category: Community
development_style: declarative
version: 2.1.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: tttt20142024
author_github_url: git+https://github.com/Gately-AI/n8n-sahabaa-node.git
npm_package_name: n8n-nodes-sahabaa
npm_version: 2.1.0
community_fetched_at: 2026-01-07T20:08:17.675Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n node for Sahabaa file storage platform - Upload, download, manage files, and trigger workflows on file events

npm_readme:
  # n8n-nodes-sahabaa

  This is an n8n community node for [Sahabaa](https://my.sahabaa.com) - a cloud file storage platform.

  ## Features

  - **Trigger Node**: Automatically start workflows when file events occur in Sahabaa
  - **File Operations**: Upload, download, delete, list, and move files
  - **Upload from URL**: Import files directly from external URLs
  - **Folder Management**: Create and list folders
  - **Workspace Support**: Work with multiple workspaces
  - **Sharing**: Create and manage shareable links

  ## Nodes

  This package includes two nodes:

  1. **Sahabaa** - Action node for file operations
  2. **Sahabaa Trigger** - Trigger node that starts workflows on file events

  ## Installation

  ### Community Nodes (Recommended)

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

  ### Manual Installation

  ```bash
  cd ~/.n8n/nodes
  npm install n8n-nodes-sahabaa
  ```

  ## Credentials

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

  1. **Base URL**: Your Sahabaa instance URL (e.g., `https://my.sahabaa.com`)
  2. **API Token**: Your Bearer API token

  ### Getting an API Token

  1. Log in to your Sahabaa account
  2. Go to **Settings > API Tokens** or use the access token endpoint
  3. Create a new token and copy it

  ## Trigger Events

  The Sahabaa Trigger node listens for the following events:

  | Event | Description |
  |-------|-------------|
  | File Uploaded | Triggered when a new file is uploaded |
  | File Deleted | Triggered when a file is deleted |
  | File Moved | Triggered when a file is moved to a different folder |
  | File Renamed | Triggered when a file is renamed |
  | File Shared | Triggered when a file is shared with other users |
  | Folder Created | Triggered when a new folder is created |
  | Folder Deleted | Triggered when a folder is deleted |
  | Shareable Link Created | Triggered when a shareable link is created |

  ### Setting up the Trigger

  1. Add the **Sahabaa Trigger** node to your workflow
  2. Configure your **Sahabaa credentials** (Base URL + API Token)
  3. Select the events you want to listen to
  4. **Activate your workflow** - The webhook is automatically registered!

  That's it! No manual webhook URL copying needed. When you activate the workflow, n8n automatically creates a webhook in your Sahabaa account. When you deactivate, it's automatically removed.

  ## Operations

  ### File

  | Operation | Description |
  |-----------|-------------|
  | Upload | Upload a file from binary data |
  | Upload from URL | Upload a file from a remote URL |
  | Download | Download a file |
  | Get | Get file details |
  | Delete | Delete a file |
  | List | List all files |
  | Move | Move files to another folder |

  ### Folder

  | Operation | Description |
  |-----------|-------------|
  | Create | Create a new folder |
  | List | List all folders for a user |
  | Get Path | Get the full path of a folder |

  ### Workspace

  | Operation | Description |
  |-----------|-------------|
  | List | List all workspaces |
  | Get | Get workspace details |

  ### Share

  | Operation | Description |
  |-----------|-------------|
  | Create Link | Create a shareable link |
  | Get Link | Get shareable link details |
  | Delete Link | Delete a shareable link |

  ## Usage Examples

  ### Upload a File from Previous Node

  1. Add a node that outputs binary data (e.g., HTTP Request, Read Binary File)
  2. Add the Sahabaa node
  3. Select **Resource: File** and **Operation: Upload**
  4. Set the **Binary Property** name (default: `data`)

  ### Upload from URL

  1. Add the Sahabaa node
  2. Select **Resource: File** and **Operation: Upload from URL**
  3. Enter the URL of the file to upload
  4. Optionally set a parent folder ID

  ### List Files in a Workspace

  1. Add the Sahabaa node
  2. Select **Resource: File** and **Operation: List**
  3. Enter the Workspace ID (0 for personal drive)

  ## Development

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

  # Install dependencies
  npm install

  # Build the node
  npm run build

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

  ## License

  MIT

  ## Author

  Tameem Hezam - [tttt20142024@gmail.com](mailto:tttt20142024@gmail.com)

  ## Links

  - [Sahabaa](https://my.sahabaa.com)
  - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)

ai_documentation_summary:
  {"purpose":"The Sahabaa node enables integration with Sahabaa's cloud file storage platform by allowing users to upload, download, manage, and monitor files and folders, as well as trigger workflows on file or folder events.","capabilities":["Upload files from binary data or external URLs","Download files from Sahabaa","Delete, move, rename, and list files and folders","Create and manage folders and workspaces","Generate and manage shareable links","Trigger workflows on file or folder events (e.g., upload, delete, move, share)","Work with multiple workspaces and folder hierarchies"],"authentication":"API token (Bearer token) required with base URL configured","commonUseCases":["Automatically trigger workflows when a file is uploaded or shared","Sync files between external systems and Sahabaa","Automate file organization by moving or renaming files based on conditions","Create shareable links for files and folders to be accessed externally","Monitor file changes in real-time using event triggers"],"limitations":[],"relatedNodes":["n8n-nodes-base.Http Request","n8n-nodes-base.Read Binary File","n8n-nodes-base.Webhook"]}


node_type: n8n-nodes-palgate.Palgate
package_name: n8n-nodes-palgate
display_name: Palgate
description: n8n community node for PAL Portal API - manage users, cars, places, devices, and organizations
category: Community
development_style: declarative
version: 1.0.18
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: hirez10
author_github_url: git+https://github.com/HirezRa/n8n-nodes-palgate.git
npm_package_name: n8n-nodes-palgate
npm_version: 1.0.18
community_fetched_at: 2026-01-07T20:08:17.676Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-palgate

  n8n community node for PAL Portal API - manage users, cars, places, devices, and organizations.

  ## Features

  - **User Management**: Find, add, update, and delete users
  - **Car Management**: Add and remove cars from users
  - **Place Management**: Manage places and their configurations
  - **Device Management**: Monitor and manage devices
  - **Organization Management**: Handle organizations and their hierarchies
  - **Dashboard**: Access dashboard statistics and favorites

  ## Installation

  ```bash
  npm install n8n-nodes-palgate
  ```

  ## Usage

  1. Install the package in your n8n instance
  2. Add the "PAL Gate" node to your workflow
  3. Configure credentials with your PAL Portal username and password
  4. Select the resource and operation you want to perform

  ## Resources

  ### User Management
  - **Find**: Find a user by phone number in a place
  - **Add**: Add a new user to a place
  - **Add Many**: Add multiple users to a place in a single request
  - **Update**: Update user information
  - **Update By Phone**: Update user name and/or cars by phone number
  - **Delete**: Delete a user from a place
  - **Get Many**: Get all app users (mobile users)
  - **Get Portal Users**: Get web users (portal users)

  ### Car Management
  - **Add**: Add a car to a user
  - **Delete**: Delete a car from a user (POST method)
  - **Delete By ID**: Delete a car from a user using DELETE method
  - **Search In Logs**: Search for a car in logs

  ### Place Management
  - **Get Tree**: Get hierarchical tree of places
  - **Get Details**: Get details of a specific place
  - **Get Groups**: Get groups for a place
  - **Get Users**: Get users in a place with filtering

  ### Device Management
  - **Get Many**: Get list of devices with filtering
  - **Get Details**: Get details of a specific device
  - **Get Log**: Get log entries for a device
  - **Get Live Status History**: Get live status history for a device
  - **Get Status History V2**: Get extended status history for a device
  - **Get Users**: Get users who recently passed through a device

  ### Organization Management
  - **Get Tree**: Get hierarchical tree of organizations
  - **Get Details**: Get details of a specific organization

  ### Dashboard
  - **Get Favorites**: Get admin user favorites (devices and places)
  - **Get Recent**: Get recent devices and places viewed by admin user
  - **Get Statistics**: Get dashboard statistics (devices count, places count, users count)
  - **Get Devices Markers**: Get device markers for map display (geographic coordinates)

  ## Supported API Functions

  This package provides comprehensive access to the PAL Portal API. Below is a complete list of all supported API functions organized by resource category:

  ### 👥 User Management (8 operations)

  | Operation | Method | Endpoint | Description |
  |-----------|--------|----------|-------------|
  | Find | GET | `/place/{placeId}/users` | Find user by phone number in a place |
  | Add | POST | `/place/{placeId}/user` | Add a new user to a place |
  | Add Many | POST | `/place/{placeId}/users` | Add multiple users to a place in a single request |
  | Update | POST | `/place/{placeId}/user` | Update user information |
  | Update By Phone | POST | `/place/{placeId}/user/{phone}` | Update user name and/or cars by phone number |
  | Delete | POST | `/place/{placeId}/delete-many-users` | Delete a user from a place |
  | Get Many | GET | `/app-user/all-users` | Get all app users (mobile users) |
  | Get Portal Users | GET | `/users` | Get web users (portal users) |

  ### 🚗 Car Management (4 operations)

  | Operation | Method | Endpoint | Description |
  |-----------|--------|----------|-------------|
  | Add | POST | `/place/{placeId}/cars` | Add a car to a user |
  | Delete | POST | `/place/{placeId}/delete-car` | Delete a car from a user (POST method) |
  | Delete By ID | DELETE | `/place/{placeId}/user/{phone}/car/{carId}` | Delete a car from a user using DELETE method |
  | Search In Logs | GET | `/place/{placeId}/reports/car` | Search for a car in logs |

  ### 🏢 Place Management (4 operations)

  | Operation | Method | Endpoint | Description |
  |-----------|--------|----------|-------------|
  | Get Tree | GET | `/places-tree` | Get hierarchical tree of places |
  | Get Details | GET | `/place/{placeId}` | Get details of a specific place |
  | Get Groups | GET | `/place/{placeId}/groups` | Get groups for a place |
  | Get Users | GET | `/place/{placeId}/users` | Get users in a place with filtering |

  ### 🖥️ Device Management (6 operations)

  | Operation | Method | Endpoint | Description |
  |-----------|--------|----------|-------------|
  | Get Many | GET | `/devices` | Get list of devices with filtering |
  | Get Details | GET | `/device/{serial}` | Get details of a specific device |
  | Get Log | GET | `/device/{serial}/log` | Get log entries for a device |
  | Get Live Status History | GET | `/device/{serial}/live-status-history` | Get live status history for a device |
  | Get Status History V2 | GET | `/device/{serial}/get-status-historyV2` | Get extended status history for a device |
  | Get Users | GET | `/device/{serial}/users` | Get users who recently passed through a device |

  ### 🏛️ Organization Management (2 operations)

  | Operation | Method | Endpoint | Description |
  |-----------|--------|----------|-------------|
  | Get Tree | GET | `/orgs-tree` | Get hierarchical tree of organizations |
  | Get Details | GET | `/org/{orgId}` | Get details of a specific organization |

  ### 📊 Dashboard (4 operations)

  | Operation | Method | Endpoint | Description |
  |-----------|--------|----------|-------------|
  | Get Favorites | GET | `/user/admin/favorites` | Get admin user favorites (devices and places) |
  | Get Recent | GET | `/user/admin/recent-devices-places` | Get recent devices and places viewed by admin user |
  | Get Statistics | GET | `/user/dashboard/statistics` | Get dashboard statistics (devices count, places count, users count) |
  | Get Devices Markers | GET | `/devices-markers` | Get device markers for map display (geographic coordinates) |

  ### Summary

  - **Total Operations**: 28 API operations
  - **Resources**: 6 categories (User, Car, Place, Device, Organization, Dashboard)
  - **HTTP Methods**: GET, POST, PUT, DELETE
  - **Base URL**: `https://portal.pal-es.com/api1`

  ## Credentials

  The node requires PAL Portal API credentials:
  - **Username**: Your PAL Portal username/email
  - **Password**: Your PAL Portal password

  ## License

  MIT

  ## Author

  PAL Portal Team

ai_documentation_summary:
  {"purpose":"The Palgate node enables n8n users to interact with the PAL Portal API to manage users, cars, places, devices, organizations, and access dashboard data such as statistics and favorites.","capabilities":["Find and manage users by phone number or ID","Add, update, delete, and search for cars associated with users","Manage places and their hierarchical structure, groups, and users","Monitor and retrieve device data including logs, status history, and user activity","Manage organizational hierarchies and retrieve organization details","Access dashboard statistics, favorites, recent views, and device markers"],"authentication":"API credentials required (PAL Portal username and password)","commonUseCases":["Automatically onboarding new users to a location","Tracking vehicle movements via device logs and status history","Managing user access to specific places or devices","Generating real-time dashboards with device and place statistics","Auditing user activity and device usage patterns"],"limitations":["No support for creating or modifying users via email or external identity providers","All operations require a valid PAL Portal login and active session","Some endpoints (e.g., device logs) may have rate or data volume limits not specified in documentation"],"relatedNodes":["n8n-nodes-base","n8n-nodes-utils","n8n-nodes-webhook"]}


node_type: n8n-nodes-wechat-offiaccount.WechatOffiaccount
package_name: n8n-nodes-wechat-offiaccount
display_name: WechatOffiaccount
description: wechat offiaccount node
category: Community
development_style: declarative
version: 0.3.6
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: blowsnow
author_github_url: git+https://github.com/other-blowsnow/n8n-nodes-wechat-offiaccount.git
npm_package_name: n8n-nodes-wechat-offiaccount
npm_version: 0.3.6
community_fetched_at: 2026-01-07T20:08:17.678Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # 使用案例

  ## URL验证案例
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "path": "1d476f93-cc5b-431e-96a5-71111846e39d",
          "responseMode": "responseNode",
          "options": {}
        },
        "type": "n8n-nodes-base.webhook",
        "typeVersion": 2,
        "position": [
          -620,
          -140
        ],
        "id": "21c66249-0213-4c84-9495-219b6fdcd41c",
        "name": "Webhook",
        "webhookId": "1d476f93-cc5b-431e-96a5-71111846e39d"
      },
      {
        "parameters": {
          "respondWith": "text",
          "responseBody": "={{ $('Webhook').item.json.query.echostr }}",
          "options": {}
        },
        "type": "n8n-nodes-base.respondToWebhook",
        "typeVersion": 1.4,
        "position": [
          -260,
          -140
        ],
        "id": "013fc8c7-4261-4a4e-875c-e65305bd2167",
        "name": "Respond to Webhook1"
      },
      {
        "parameters": {
          "content": "## URL验证",
          "height": 240,
          "width": 940
        },
        "type": "n8n-nodes-base.stickyNote",
        "typeVersion": 1,
        "position": [
          -680,
          -220
        ],
        "id": "5d24d3e0-001c-4709-8932-ffb331f89e40",
        "name": "Sticky Note"
      }
    ],
    "connections": {
      "Webhook": {
        "main": [
          [
            {
              "node": "Respond to Webhook1",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "pinData": {},
    "meta": {
      "templateCredsSetupCompleted": true,
      "instanceId": "02b4f549b31e5afb7ac0434f27e8e1e51494096eb26622aff0d1c16686021c54"
    }
  }
  ```

  ## 明文消息回复案例
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "respondWith": "text",
          "responseBody": "=<xml>\n  <ToUserName><![CDATA[{{ $('Webhook1').item.json.body.xml.fromusername }}]]></ToUserName>\n  <FromUserName><![CDATA[{{ $('Webhook1').item.json.body.xml.tousername }}]]></FromUserName>\n  <CreateTime>{{ $('Webhook1').item.json.body.xml.createtime }}</CreateTime>\n  <MsgType><![CDATA[text]]></MsgType>\n  <Content><![CDATA[用户发送：{{ $('Webhook1').item.json.body.xml.content }}]]></Content>\n</xml>\n",
          "options": {}
        },
        "type": "n8n-nodes-base.respondToWebhook",
        "typeVersion": 1.4,
        "position": [
          -140,
          100
        ],
        "id": "114d02ef-ec8d-4386-8e3c-824fba7883e1",
        "name": "Respond to Webhook"
      },
      {
        "parameters": {
          "httpMethod": "POST",
          "path": "1d476f93-cc5b-431e-96a5-71111846e39d",
          "responseMode": "responseNode",
          "options": {}
        },
        "type": "n8n-nodes-base.webhook",
        "typeVersion": 2,
        "position": [
          -620,
          100
        ],
        "id": "32abe73e-bb72-4aaf-8ae1-df35c0847a19",
        "name": "Webhook1",
        "webhookId": "1d476f93-cc5b-431e-96a5-71111846e39d"
      }
    ],
    "connections": {
      "Webhook1": {
        "main": [
          [
            {
              "node": "Respond to Webhook",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "pinData": {},
    "meta": {
      "templateCredsSetupCompleted": true,
      "instanceId": "02b4f549b31e5afb7ac0434f27e8e1e51494096eb26622aff0d1c16686021c54"
    }
  }
  ```

  ## AES加密消息回复案例
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "respondWith": "text",
          "responseBody": "={{ $json.body }}",
          "options": {}
        },
        "type": "n8n-nodes-base.respondToWebhook",
        "typeVersion": 1.4,
        "position": [
          300,
          340
        ],
        "id": "cf53af1f-c5db-42d6-9cbb-702cab656739",
        "name": "Respond to Webhook2"
      },
      {
        "parameters": {
          "content": "## 收到加密消息",
          "height": 220,
          "width": 940
        },
        "type": "n8n-nodes-base.stickyNote",
        "typeVersion": 1,
        "position": [
          -680,
          280
        ],
        "id": "e92f2655-f801-4e67-888f-5a89ce3de0b2",
        "name": "Sticky Note2"
      },
      {
        "parameters": {
          "httpMethod": "POST",
          "path": "1d476f93-cc5b-431e-96a5-71111846e39d",
          "responseMode": "responseNode",
          "options": {}
        },
        "type": "n8n-nodes-base.webhook",
        "typeVersion": 2,
        "position": [
          -620,
          340
        ],
        "id": "bdf2bfef-4770-4972-a7b8-9051005800fa",
        "name": "Webhook2",
        "webhookId": "1d476f93-cc5b-431e-96a5-71111846e39d"
      },
      {
        "parameters": {
          "resource": "sign",
          "operation": "sign:decrypt",
          "signature": "={{ $json.query.signature }}",
          "timestamp": "={{ $json.query.timestamp }}",
          "nonce": "={{ $json.query.nonce }}",
          "encrypt_type": "={{ $json.query.encrypt_type }}",
          "encrypt_str": "={{ $json.body.xml.encrypt }}",
          "token": "xxxxxxxxx",
          "aesKey": "xxxxxxxx"
        },
        "type": "CUSTOM.wechatOfficialAccountNode",
        "typeVersion": 1,
        "position": [
          -360,
          340
        ],
        "id": "6ea59c79-c04e-4500-91cc-5b63ea8e10a6",
        "name": "消息解密",
        "credentials": {
          "wechatOfficialAccountCredentialsApi": {
            "id": "POmYAAOAHjQ4kTJG",
            "name": "BL公众号"
          }
        }
      },
      {
        "parameters": {
          "resource": "sign",
          "operation": "sign:encrypt",
          "content": "=<xml>\n  <ToUserName><![CDATA[{{ $json.fromusername }}]]></ToUserName>\n  <FromUserName><![CDATA[{{ $json.tousername }}]]></FromUserName>\n  <CreateTime>{{ $json.createtime }}</CreateTime>\n  <MsgType><![CDATA[text]]></MsgType>\n  <Content><![CDATA[用户发送：{{ $json.content }}]]></Content>\n</xml> ",
          "token": "xxxxxxxx",
          "aesKey": "xxxxxxxx"
        },
        "type": "CUSTOM.wechatOfficialAccountNode",
        "typeVersion": 1,
        "position": [
          -40,
          340
        ],
        "id": "c58d7a58-6ea1-47da-a3d0-0293ce28b25a",
        "name": "消息加密",
        "credentials": {
          "wechatOfficialAccountCredentialsApi": {
            "id": "POmYAAOAHjQ4kTJG",
            "name": "BL公众号"
          }
        }
      }
    ],
    "connections": {
      "Webhook2": {
        "main": [
          [
            {
              "node": "消息解密",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "消息解密": {
        "main": [
          [
            {
              "node": "消息加密",
              "type": "main",
              "index": 0
            }
          ]
        ]
      },
      "消息加密": {
        "main": [
          [
            {
              "node": "Respond to Webhook2",
              "type": "main",
              "index": 0
            }
          ]
        ]
      }
    },
    "pinData": {},
    "meta": {
      "templateCredsSetupCompleted": true,
      "instanceId": "02b4f549b31e5afb7ac0434f27e8e1e51494096eb26622aff0d1c16686021c54"
    }
  }
  ```

  ## request 节点引用凭证
  > 注意：请提前调用该凭证下的其他节点，直接使用request可能凭证是过期的
  ```json
  {
    "nodes": [
      {
        "parameters": {
          "url": "https://api.weixin.qq.com/cgi-bin/material/get_materialcount",
          "authentication": "predefinedCredentialType",
          "nodeCredentialType": "wechatOfficialAccountCredentialsApi",
          "options": {}
        },
        "type": "n8n-nodes-base.httpRequest",
        "typeVersion": 4.2,
        "position": [
          440,
          340
        ],
        "id": "1b23baa1-64ea-49eb-a7a0-611240bd6d43",
        "name": "HTTP Request",
        "credentials": {
          "wechatOfficialAccountCredentialsApi": {
            "id": "POmYAAOAHjQ4kTJG",
            "name": "BL公众号"
          }
        }
      }
    ],
    "connections": {
      "HTTP Request": {
        "main": [
          []
        ]
      }
    },
    "pinData": {},
    "meta": {
      "templateCredsSetupCompleted": true,
      "instanceId": "02b4f549b31e5afb7ac0434f27e8e1e51494096eb26622aff0d1c16686021c54"
    }
  }
  ```

  # 功能
  ## 用户标签
  - 编辑标签
  - 获取标签下粉丝列表
  - 获取标签列表
  - 获取用户身上的标签列表
  - 删除标签
  - 创建标签
  - 批量为用户取消标签
  - 批量为用户打标签
  ## 用户
  - 设置用户备注名
  - 获取用户列表
  - 获取用户信息
  - 获取黑名单列表
  - 取消拉黑用户
  - 拉黑用户
  ## 模板
  - 发送模板消息
  - 获取模板列表
  - 删除模板
  ## 发布
  - 发布草稿
  - 发布状态轮询
  - 获取成功发布列表
  - 获取已发布文章
  - 删除发布
  ## 其他
  - 生成短Key
  - 获取长信息
  - 生成带参数的二维码
  ## 菜单
  - 查询
  - 获取当前菜单配置
  - 删除
  - 创建
  ## 素材
  - 上传临时素材
  - 上传永久素材
  - 获取素材列表
  - 获取临时素材
  - 获取永久素材
  - 删除永久素材
  - 获取素材总数
  ## 草稿
  - 修改草稿
  - 获取草稿列表
  - 获取草稿
  - 删除草稿
  - 获取草稿总数
  - 新建草稿
  ## 评论
  - 取消精选
  - 删除回复
  - 回复评论
  - 打开评论
  - 标记精选
  - 查看评论
  - 删除评论
  - 关闭评论

ai_documentation_summary:
  {"purpose":"The WechatOffiaccount node enables integration with WeChat Official Accounts by handling URL verification, sending plain text messages, and processing AES-encrypted messages through decryption and encryption operations.","capabilities":["URL verification for WeChat Official Account setup","Sending text messages in response to user input","Decrypting AES-encrypted messages from WeChat","Encrypting messages to send back to WeChat using AES","Supporting both plaintext and encrypted message flows"],"authentication":"API key or token-based authentication via credentials (e.g., token and aesKey) configured in the node","commonUseCases":["Setting up a WeChat Official Account with URL validation","Responding to user messages with text replies","Processing encrypted messages (e.g., from user chats) and securely decrypting them","Sending encrypted responses back to WeChat users"],"limitations":["README is truncated; full functionality and edge cases not fully documented","No explicit mention of error handling, rate limits, or message type support beyond text","Requires manual configuration of token and AES key, which may pose security risks if not managed properly"],"relatedNodes":["n8n-nodes-base.webhook","n8n-nodes-base.respondToWebhook"]}


node_type: @noufax/n8n-nodes-google-ads-conversion-api-att.GoogleAdsConversionApiAtt
package_name: @noufax/n8n-nodes-google-ads-conversion-api-att
display_name: GoogleAdsConversionApiAtt
category: Community
development_style: declarative
version: 1.0.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: noufax
author_github_url: git+https://github.com/jaimeneto85/n8n-nodes-google-ads-conversion.git
npm_package_name: @noufax/n8n-nodes-google-ads-conversion-api-att
npm_version: 1.0.10
community_fetched_at: 2026-01-07T20:08:17.678Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  n8n node for tracking conversions in Google Ads with support for batch processing, enhanced conversions, and comprehensive privacy compliance

npm_readme:
  # Google Ads Conversion Node for n8n

  [![npm version](https://badge.fury.io/js/%40jaimeneto85%2Fn8n-nodes-google-ads-conversion.svg)](https://badge.fury.io/js/%40jaimeneto85%2Fn8n-nodes-google-ads-conversion)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![n8n Community Node](https://img.shields.io/badge/n8n-Community%20Node-orange)](https://n8n.io)

  An advanced n8n community node for tracking conversions in Google Ads with comprehensive support for batch processing, enhanced conversions, privacy compliance, and production-grade error handling.

  ## 🌟 Key Features

  ### 🎯 **Multiple Identification Methods**
  - **GCLID**: Standard Google Click ID conversion tracking
  - **Enhanced Conversions**: Privacy-safe user data matching with automatic SHA-256 hashing
  - **GBRAID**: iOS app install conversion tracking (iOS 14.5+)
  - **WBRAID**: iOS web-to-app conversion tracking

  ### 🏢 **Manager Account (MCC) Support**
  - **Full MCC compatibility**: Upload conversions to managed accounts
  - **Account type detection**: Automatic switching between regular and manager accounts
  - **Managed account selection**: Searchable dropdown with account details
  - **Correct authentication**: Proper login-customer-id headers for MCC

  ### ⚡ **High-Performance Batch Processing**
  - Process up to **2000 conversions per API call**
  - **3 processing modes**: Partial Failure, Fail Fast, Continue on Error
  - Real-time progress tracking and statistics
  - Automatic batch size optimization (1-2000 range)

  ### 🔐 **Privacy & Compliance**
  - **GDPR/EEA compliance** with consent management
  - **Automatic data hashing** (SHA-256) for user identifiers
  - **Zero data retention** - processed data never stored
  - Privacy-first design with data minimization

  ### 🛡️ **Enterprise-Grade Reliability**
  - **Intelligent retry logic** with exponential backoff and jitter
  - **Custom error classification** for different failure types
  - **Rate limit handling** with automatic throttling
  - **Comprehensive logging** for monitoring and debugging

  ### 🎛️ **Developer Experience**
  - **Validation mode** for testing without uploading data
  - **Debug mode** with detailed request/response logging
  - **TypeScript implementation** with full type safety
  - **Extensive documentation** and examples

  ## 📦 Installation

  ### Option 1: npm Installation (Recommended)
  ```bash
  npm install @jaimeflneto/n8n-nodes-google-ads-conversion
  ```

  ### Option 2: n8n Community Nodes
  1. In n8n, go to **Settings** → **Community Nodes**
  2. Enter: `@jaimeflneto/n8n-nodes-google-ads-conversion`
  3. Click **Install**
  4. Restart n8n

  ### Option 3: Manual Installation
  1. Download the latest release
  2. Extract to your n8n custom nodes directory
  3. Run `npm install` in the extracted directory
  4. Restart n8n

  ## 🚀 Quick Start

  ### 1. Prerequisites
  - Google Ads account with appropriate permissions
  - Google Ads Developer Token ([apply here](https://developers.google.com/google-ads/api/docs/first-call/dev-token))
  - Google Cloud Project with Google Ads API enabled
  - OAuth2 credentials (Client ID & Secret)
  - **For Manager Accounts (MCC)**: Access to managed accounts you want to track

  ### 2. Setup Credentials
  1. In n8n, create a new **Google Ads OAuth2** credential
  2. Fill in your Developer Token and Customer ID (Manager account ID for MCC)
  3. Add OAuth2 Client ID and Secret
  4. Complete the authorization flow

  ### 3. Configure Node
  Add the Google Ads Conversion node to your workflow and configure:
  - **Account Type**: Choose Regular Account or Manager Account (MCC)
  - **Managed Account**: Select target account (only for MCC)
  - **Conversion Action ID**: From Google Ads conversion settings
  - **Identification Method**: Choose GCLID, Enhanced, GBRAID, or WBRAID
  - **Conversion Data**: Value, currency, timestamp, etc.

  ## 💡 Usage Examples

  ### Basic GCLID Conversion
  ```json
  {
    "operation": "uploadClickConversion",
    "conversionAction": "customers/1234567890/conversionActions/987654321",
    "conversionDateTime": "2025-01-15 14:30:00+00:00",
    "conversionValue": 99.99,
    "currencyCode": "USD",
    "orderId": "order_12345",
    "identificationMethod": "gclid",
    "gclid": "Cj0KCQiA..."
  }
  ```

  ### Enhanced Conversion with Privacy Compliance
  ```json
  {
    "operation": "uploadClickConversion",
    "conversionAction": "customers/1234567890/conversionActions/987654321",
    "conversionDateTime": "2025-01-15 14:30:00+00:00",
    "conversionValue": 149.99,
    "currencyCode": "USD",
    "identificationMethod": "enhanced",
    "email": "user@example.com",
    "phoneNumber": "+1234567890",
    "firstName": "John",
    "lastName": "Doe",
    "adUserDataConsent": "GRANTED",
    "adPersonalizationConsent": "GRANTED"
  }
  ```

  ### Manager Account (MCC) Configuration
  ```json
  {
    "operation": "uploadClickConversion",
    "accountType": "manager",
    "managedAccount": {
      "mode": "list",
      "value": "9876543210"
    },
    "conversionAction": "customers/9876543210/conversionActions/987654321",
    "conversionDateTime": "{{$now}}",
    "conversionValue": 199.99,
    "currencyCode": "USD",
    "identificationMethod": "gclid",
    "gclid": "Cj0KCQiA..."
  }
  ```

  ### Batch Processing Configuration
  ```json
  {
    "enableBatchProcessing": true,
    "batchSize": 500,
    "batchProcessingMode": "partialFailure",
    "showProgress": true
  }
  ```

  ## 📚 Documentation

  - **[User Guide](docs/user-guide.md)**: Complete setup and usage instructions
  - **[Developer Guide](docs/developer-guide.md)**: Architecture and development details
  - **[API Reference](docs/api-reference.md)**: Complete parameter reference
  - **[Changelog](CHANGELOG.md)**: Version history and updates

  ## 🔧 Configuration Reference

  ### Required Parameters
  | Parameter | Description | Example |
  |-----------|-------------|---------|
  | `conversionAction` | Conversion action ID | `customers/123/conversionActions/456` |
  | `conversionDateTime` | Conversion timestamp | `2025-01-15 14:30:00+00:00` or `{{$now}}` |
  | `identificationMethod` | User identification method | `gclid`, `enhanced`, `gbraid`, `wbraid` |

  ### Account Configuration
  | Parameter | Description | Example |
  |-----------|-------------|---------|
  | `accountType` | Account type | `regular`, `manager` |
  | `managedAccount` | Managed account (MCC only) | `{ "mode": "list", "value": "1234567890" }` |

  ### Optional Parameters
  | Parameter | Description | Default |
  |-----------|-------------|---------|
  | `conversionValue` | Monetary value | `0` |
  | `currencyCode` | Currency code | `USD` |
  | `orderId` | Transaction ID | - |
  | `validateOnly` | Test mode | `false` |
  | `debugMode` | Debug logging | `false` |

  ### Batch Processing
  | Parameter | Description | Default |
  |-----------|-------------|---------|
  | `enableBatchProcessing` | Enable batch mode | `false` |
  | `batchSize` | Items per batch | `100` |
  | `batchProcessingMode` | Error handling mode | `partialFailure` |
  | `showProgress` | Progress logging | `true` |

  ## 🧪 Testing

  ### Automated Tests
  ```bash
  npm test
  ```

  ### Validation Mode
  Enable `validateOnly` to test configurations without uploading data to Google Ads.

  ### Debug Mode
  Enable `debugMode` for comprehensive logging of requests, responses, and processing details.

  ## 🐛 Troubleshooting

  ### Common Issues

  #### Authentication Errors
  - Verify developer token is approved and active
  - Check OAuth2 credentials are correctly configured
  - Ensure customer ID format is correct (123-456-7890)
  - **For MCC**: Verify manager account has access to selected managed account

  #### Validation Errors
  - Verify all required fields are provided
  - Check date format: `YYYY-MM-DD HH:MM:SS+TZ` or use `{{$now}}`
  - For enhanced conversions, provide at least one user identifier
  - **For MCC**: Ensure managed account is selected when using manager account type

  #### Rate Limiting
  - Enable batch processing for high volumes
  - Node automatically handles retries with exponential backoff
  - Monitor Google Ads API quotas

  ### Debug Information
  Enable debug mode to see:
  - Request payloads and headers
  - Response data and status codes
  - Retry attempts and delays
  - Error details with stack traces

  ## 🤝 Contributing

  We welcome contributions! Please see our [Contributing Guidelines](docs/developer-guide.md#contributing) for details.

  ### Development Setup
  ```bash
  git clone https://github.com/jaimeneot85/n8n-nodes-google-ads-conversion.git
  cd n8n-nodes-google-ads-conversion
  npm install
  npm run dev
  ```

  ### Code Standards
  - TypeScript with strict type checking
  - ESLint for code quality
  - Prettier for formatting
  - SOLID principles and DRY implementation

  ## 📊 Performance

  ### Batch Processing Benefits
  - **Up to 2000x reduction** in API calls
  - **Improved throughput** for large datasets
  - **Reduced rate limiting** exposure
  - **Better resource utilization**

  ### Memory Efficiency
  - Streaming batch processing
  - No data persistence
  - Optimized memory usage for large datasets

  ## 🔒 Security & Privacy

  ### Data Protection
  - **Zero data retention**: No conversion data stored
  - **Secure transmission**: HTTPS-only communication
  - **Credential security**: OAuth2 with token refresh
  - **Automatic hashing**: SHA-256 for user identifiers

  ### Privacy Compliance
  - **GDPR support**: Comprehensive consent handling
  - **Data minimization**: Only required fields processed
  - **User control**: Configurable consent levels
  - **Audit trail**: Comprehensive logging

  ## 📈 Roadmap

  ### ✅ Recently Implemented (v0.7.0)
  - **Manager Account (MCC) Support**: Full support for uploading conversions to managed accounts
  - **DateTime Object Support**: Native compatibility with n8n `{{$now}}` expressions
  - **Enhanced Error Handling**: Improved URL validation and customer ID processing

  ### Upcoming Features
  - Offline conversion support
  - Bulk conversion import
  - Analytics integration
  - Custom audience support
  - Advanced attribution models

  ## 📝 License

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

  ## 💬 Support

  - **Documentation**: [User Guide](docs/user-guide.md) | [Developer Guide](docs/developer-guide.md)
  - **Issues**: [GitHub Issues](https://github.com/jaimeneto85/n8n-nodes-google-ads-conversion/issues)
  - **Community**: [n8n Community Forum](https://community.n8n.io/)
  - **Email**: [jaimeflneto@gmail.com](mailto:jaimeflneto@gmail.com)

  ## 🙏 Acknowledgments

  - [n8n.io](https://n8n.io) for the amazing workflow automation platform
  - [Google Ads API](https://developers.google.com/google-ads/api/) for comprehensive conversion tracking
  - The n8n community for feedback and contributions

  ---

  **Made with ❤️ by [Jaime Lima Neto](https://linkedin.com/in/jaimeflneto)**

  *If this project helps your business, consider [sponsoring me](https://github.com/sponsors/jaimeneto85) to support continued development.* 

ai_documentation_summary:
  {"purpose":"A community node for uploading conversions to Google Ads with support for multiple identification methods, batch processing, and full privacy compliance, including enhanced conversions and MCC (Manager Customer Center) account handling.","capabilities":["Upload conversions using GCLID, enhanced conversions, GBRAID, and WBRAID","Support for Google Ads Manager Accounts (MCC) with automatic account type detection and selection","Batch processing up to 2000 conversions per API call with configurable modes (Partial Failure, Fail Fast, Continue on Error)","Privacy-compliant data handling with automatic SHA-256 hashing and GDPR/EEA compliance","Zero data retention and privacy-first design with consent management","Intelligent retry logic, rate limiting, and comprehensive error logging","Validation and debug modes for testing without data upload"],"authentication":"OAuth2 with Google Ads Developer Token, Client ID, and Client Secret. For MCC, requires a Customer ID (Manager Account ID).","commonUseCases":["Tracking website clicks and conversions with GCLID","Recording app installs using GBRAID or WBRAID for iOS devices","Processing enhanced conversions with user data while maintaining privacy compliance","Uploading conversions to managed accounts (MCC) for multi-account businesses","Batch processing large volumes of conversion data efficiently"],"limitations":[],"relatedNodes":["Google Ads OAuth2","Google Ads Conversion Action","Batch Processing Nodes"]}


node_type: n8n-nodes-tavily.Tavily
package_name: n8n-nodes-tavily
display_name: Tavily
category: Community
development_style: declarative
version: 0.1.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: musalabs
author_github_url: git+https://github.com/musa-labs/n8n-nodes-tavily.git
npm_package_name: n8n-nodes-tavily
npm_version: 0.1.5
community_fetched_at: 2026-01-07T20:08:17.679Z
ai_summary_generated_at: 2026-01-08 10:45:31
description:
  Tavily is a search engine tailored for AI agents, delivering real-time, accurate results, intelligent query suggestions, and in-depth research capabilities.

npm_readme:
  # n8n-nodes-tavily

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

  Designed exclusively for AI agents, Tavily is a search engine providing real-time, accurate results and advanced research features.

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

  Quick Installation

    1.  Go to Settings > Community Nodes
    2. Select Install
    3. Enter n8n-nodes-tavily in Enter npm package name
    4. Agree to the risks of using community nodes
    5. Select Install

  Install and Usage video on [YouTube](https://www.youtube.com/watch?v=Yf2hNwPOVaU)

  ## Operations

  ### Search

    - Search Tavily with using a String query like  "How can I create a n8n custom nodes"
    - For more details on the options head over to [Tavily Search Docs](https://docs.tavily.com/api-reference/endpoint/search)

  ### Extract
  - Extract will call Tavily to scrape and summarize the URLs you passed.
  - For more details on the options head over to [Tavily Extract Docs](https://docs.tavily.com/api-reference/endpoint/extract)

  ## Credentials

  Head to Tavily's [login](https://tavily.com/). It should take you straight to create an API Key.

  ## Compatibility

  This node has been tested on version 1.77.3.

  ## Usage

  Install and Usage video on [YouTube](https://www.youtube.com/watch?v=Yf2hNwPOVaU)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [tavily documentation](https://docs.tavily.com/welcome) 
  * [tavily search](https://docs.tavily.com/api-reference/endpoint/search)
  * [tavily extract](https://docs.tavily.com/api-reference/endpoint/extract)

  ## Version history

  v0.1.5 - Updated README.md
  v0.1.4 - Updated README.md and fixed issue with Extract operation and multiple URLs

ai_documentation_summary:
  {"purpose":"The Tavily node enables AI agents to perform real-time searches and extract summarized information from web content using Tavily's advanced search and scraping capabilities.","capabilities":["Search with string queries to retrieve real-time, accurate results","Extract and summarize content from multiple URLs","Supports intelligent query suggestions and in-depth research"],"authentication":"API key required; obtain it from Tavily's login page","commonUseCases":["Fetching up-to-date information for AI agents","Researching topics with context-aware search results","Automated content summarization from web pages"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-web"]}


node_type: n8n-nodes-azure-anthropic.AzureAnthropic
package_name: n8n-nodes-azure-anthropic
display_name: AzureAnthropic
description: n8n node to interact with Azure Anthropic models
category: Community
development_style: declarative
version: 0.1.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: cataloghub
author_github_url: git+https://github.com/gauravgill95/n8n-nodes-azure-claude.git
npm_package_name: n8n-nodes-azure-anthropic
npm_version: 0.1.10
community_fetched_at: 2026-01-07T20:08:17.679Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-azure-anthropic

  This is an n8n community node that allows you to interact with Azure Anthropic models (e.g., Claude).

  ## Installation

  1. Go to your **n8n** root directory.
  2. Run `npm link` in this directory.
  3. Run `npm link n8n-nodes-azure-anthropic` in your n8n directory.
  4. Restart n8n.

  ## Credentials

  You need to create a new credential of type **Azure Anthropic API**:
  - **API Key**: Your Azure Anthropic API Key.
  - **Base URL**: The endpoint URL (e.g., `https://YOUR_RESOURCE.services.ai.azure.com/anthropic/`).

  ## Usage

  Add the **Azure Anthropic** node to your workflow.

  ### Parameters
  - **Deployment Name**: The name of your model deployment in Azure (e.g., `claude-haiku-4-5`).
  - **Messages**: JSON array of messages or a string parsing to JSON.
    - Example: `[{"role": "user", "content": "Hello world"}]`
  - **System Message**: Optional system prompt.
  - **Max Tokens**: Maximum tokens to generate.
  - **Temperature**: Randomness (0-1).

ai_documentation_summary:
  {"purpose":"The AzureAnthropic node enables n8n workflows to interact with Azure Anthropic models, such as Claude, by sending prompts and receiving generated responses via API calls.","capabilities":["Send messages to Azure Anthropic models","Support for system prompts","Control over token generation with max tokens and temperature settings","Flexible message input via JSON array or string parsing"],"authentication":"API key required via 'Azure Anthropic API' credential with Base URL and API Key","commonUseCases":["Generating text responses from Claude models in n8n workflows","Integrating AI-powered chat or content generation into automation processes","Using system prompts to guide model behavior in specific contexts"],"limitations":[],"relatedNodes":["n8n-nodes-base","n8n-nodes-ai"]}


node_type: n8n-nodes-smart-memory.SmartMemory
package_name: n8n-nodes-smart-memory
display_name: SmartMemory
description: Flexible memory management node for n8n with support for multiple storage backends
category: Community
development_style: declarative
version: 1.1.68
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-01-07 20:08:17
author_name: hypocrite
npm_package_name: n8n-nodes-smart-memory
npm_version: 1.1.68
community_fetched_at: 2026-01-07T20:08:17.680Z
ai_summary_generated_at: 2026-01-08 10:45:31
npm_readme:
  # n8n-nodes-smart-memory

  [![CI](https://github.com/etircopyh/n8n-nodes-smart-memory/actions/workflows/ci.yml/badge.svg)](https://github.com/etircopyh/n8n-nodes-smart-memory/actions)
  [![npm version](https://badge.fury.io/js/n8n-nodes-smart-memory.svg)](https://www.npmjs.com/package/n8n-nodes-smart-memory)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  A powerful n8n community node that provides flexible memory management for AI chatbots within n8n workflows. Store, retrieve, and manage conversational history across multiple storage backends with fine-grained control over data structure and output formatting.

  ## Features

  - **🔄 Multiple Storage Backends**: Choose from In-Memory, Redis, PostgreSQL, or SQLite based on your needs
  - **💬 Flexible Operations**: Insert messages, retrieve memory with configurable windowing, or clear sessions
  - **👥 Group Chat Support**: Track multiple users with optional users map for token-efficient outputs
  - **↩️ Reply Context**: Preserve message threading with configurable reply context inclusion
  - **🔧 Output Customization**: Granular control over which fields appear in your output
  - **⚡ Performance Optimized**: Buffered writes, atomic operations, and connection pooling
  - **🔒 Secure**: Input validation via Zod schemas, parameterized queries, and error message sanitization

  ## Table of Contents

  - [Installation](#installation)
  - [Quick Start](#quick-start)
  - [Operations](#operations)
  - [Storage Backends](#storage-backends)
  - [Configuration](#configuration)
  - [Advanced Features](#advanced-features)
  - [Development](#development)
  - [Architecture](#architecture)
  - [API Reference](#api-reference)
  - [Troubleshooting](#troubleshooting)
  - [Contributing](#contributing)
  - [License](#license)

  ## Installation

  ### Via n8n Community Nodes (Recommended)

  1. Open your n8n instance
  2. Go to **Settings** → **Community Nodes**
  3. Search for `n8n-nodes-smart-memory`
  4. Click **Install**

  ### Manual Installation

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

  ```bash
  # For global installation
  npm install -g n8n-nodes-smart-memory

  # For local n8n installation
  cd ~/.n8n
  npm install n8n-nodes-smart-memory
  ```

  ## Quick Start

  ### Basic Message Storage

  1. **Add a Smart Memory node** to your workflow
  2. **Configure the Session ID** (e.g., `{{ $json.chat_id }}` for Telegram)
  3. **Set the Operation** to "Insert Message"
  4. **Map your message content** (e.g., `{{ $json.message.text }}`)
  5. **Configure Identity Settings** for user tracking

  ### Retrieving Memory for AI

  1. **Add another Smart Memory node**
  2. **Set Operation** to "Get Memory"
  3. **Use the same Session ID**
  4. **Connect to your AI node** - the output provides formatted conversation history

  ## Operations

  ### Insert Message

  Adds a new message to the conversation memory with optional metadata.

  | Parameter | Description | Required |
  |-----------|-------------|----------|
  | Session ID | Unique identifier for the conversation | ✅ |
  | Message Content | The text content to store | ✅ |
  | Insert Mode | `append` (default) or `replace` memory | ✅ |
  | Identity Settings | User info (ID, name, handle, role) | ❌ |
  | Chat Info Settings | Chat metadata (ID, type, name) | ❌ |
  | Message Settings | Message ID, reply context | ❌ |

  ### Get Memory

  Retrieves conversation history with configurable output.

  | Parameter | Description | Default |
  |-----------|-------------|---------|
  | Session ID | Conversation to retrieve | Required |
  | Memory Window Size | Number of recent messages | 25 |
  | Get Memory Mode | `full` or `fields` (selective) | full |
  | Max Context Messages | Older messages to inject for replies | 10 |

  ### Clear Memory

  Removes conversation history.

  | Parameter | Description | Required |
  |-----------|-------------|----------|
  | Session ID | Specific session to clear, or empty for all | ❌ |

  ## Storage Backends

  | Backend | Persistence | Speed | Use Case |
  |---------|-------------|-------|----------|
  | **In-Memory** | ❌ Lost on restart | ⚡⚡⚡ Fastest | Development, testing |
  | **Redis** | ✅ Distributed | ⚡⚡⚡ Fast | Production, multi-instance |
  | **PostgreSQL** | ✅ Relational | ⚡⚡ Good | Complex queries, analytics |
  | **SQLite** | ✅ File-based | ⚡⚡ Good | Single instance, simple setup |

  ### Credentials Setup

  #### Redis
  - **Host**: Redis server hostname
  - **Port**: Default 6379
  - **User/Password**: Optional authentication
  - **Database**: Redis database number (0-15)
  - **SSL**: Enable TLS encryption

  #### PostgreSQL
  - **Host**: PostgreSQL server hostname
  - **Port**: Default 5432
  - **Database**: Database name
  - **User/Password**: Authentication credentials
  - **SSL**: Connection security options

  #### SQLite
  No credentials required - configure the database file path in Storage Settings.

  ## Configuration

  ### Memory Settings

  ```
  Memory Window Size: 25        # Messages in output (5-70)
  Max Storage Messages: 200     # Messages kept in storage
  Max Context Messages: 10      # Injected context for replies
  ```

  ### Output Control

  Enable/disable specific fields in the output:

  - **Chat Info**: ID, Type, Name
  - **Identity Info**: ID, Name, Handle, Role
  - **Reply Context**: Name, Handle, Content, Message ID
  - **Other**: Timestamp, Token Estimate, Users Map

  ### Reply Context

  When a message is a reply, Smart Memory can include context about the original message:

  ```json
  {
    "content": "Great idea!",
    "reply": {
      "name": "Alice",
      "content": "Let's schedule a meeting",
      "msgId": "123"
    }
  }
  ```

  Special handling for bot replies ensures full context is preserved regardless of output settings.

  ## Advanced Features

  ### Buffered Writes

  For performance optimization in workflows with multiple inserts:

  1. Set `Write to Storage: false` for intermediate inserts
  2. Set `Write to Storage: true` for the final insert
  3. All buffered messages are written in a single batch

  ### Context Injection

  When a message replies to an older message outside the memory window, Smart Memory automatically injects that older message as context, up to the `Max Context Messages` limit.

  ### Users Map

  For group chats with many participants, enable `Use Users Map` to:
  - Store user details once in a separate `users` object
  - Reference users by ID in messages
  - Reduce token count for AI context

  **Without Users Map:**
  ```json
  {
    "messages": [
      { "content": "Hello", "sender": { "id": "1", "name": "Alice", "handle": "@alice" } },
      { "content": "Hi!", "sender": { "id": "2", "name": "Bob", "handle": "@bob" } }
    ]
  }
  ```

  **With Users Map:**
  ```json
  {
    "users": {
      "1": { "name": "Alice", "handle": "@alice" },
      "2": { "name": "Bob", "handle": "@bob" }
    },
    "messages": [
      { "content": "Hello", "sender": { "id": "1" } },
      { "content": "Hi!", "sender": { "id": "2" } }
    ]
  }
  ```

  ## Development

  ### Prerequisites

  - Node.js 18+
  - npm or bun

  ### Setup

  ```bash
  git clone https://github.com/etircopyh/n8n-nodes-smart-memory.git
  cd n8n-nodes-smart-memory
  npm install
  ```

  ### Development Commands

  ```bash
  # Build the project
  npm run build

  # Watch mode for development
  npm run build:watch

  # Run linter
  npm run lint
  npm run lint:fix

  # Run tests
  npm test

  # Start n8n with this node (development)
  npm run dev
  ```

  ### Testing

  The project uses Jest with comprehensive test coverage:

  ```bash
  # Run all tests
  npm test

  # Run with coverage
  npm test -- --coverage
  ```

  **Note**: Use `bun run test` instead of `bun test` to ensure proper mocking.

  ### Project Structure

  ```
  n8n-nodes-smart-memory/
  ├── credentials/              # n8n credential definitions
  │   ├── PostgresApi.credentials.ts
  │   └── RedisApi.credentials.ts
  ├── nodes/SmartMemory/
  │   ├── SmartMemory.node.ts   # Main n8n node definition
  │   ├── SmartMemory.ts        # Core memory manager (PureMemoryManager)
  │   ├── constants.ts          # Shared constants and defaults
  │   ├── handlers/             # Operation handlers
  │   │   ├── InsertHandler.ts
  │   │   ├── GetHandler.ts
  │   │   └── ClearHandler.ts
  │   ├── interfaces/           # TypeScript interfaces
  │   │   └── MemoryInterfaces.ts
  │   ├── storage/              # Storage backend implementations
  │   │   ├── BaseStorage.ts    # Abstract base class
  │   │   ├── BufferedStorage.ts
  │   │   ├── InMemoryStorage.ts
  │   │   ├── RedisStorage.ts
  │   │   ├── PostgresStorage.ts
  │   │   └── SqliteStorage.ts
  │   ├── utils/                # Utility classes
  │   │   ├── OutputCleaner.ts
  │   │   ├── NodeParameterHelper.ts
  │   │   ├── StorageFactory.ts
  │   │   └── ...
  │   └── __tests__/            # Test files
  ├── package.json
  └── tsconfig.json
  ```

  ## Architecture

  For detailed architectural documentation including:
  - Architecture Decision Records (ADRs)
  - Storage backend comparison
  - Performance benchmarks
  - Security considerations

  See [ARCHITECTURE.md](./ARCHITECTURE.md).

  For developer documentation including:
  - Technical debt analysis
  - Improvement opportunities
  - LangChain integration feasibility

  See [GEMINI.md](./GEMINI.md).

  ## API Reference

  ### Output Structure

  ```typescript
  interface MemoryOutput {
    chat?: {
      id?: string;
      type?: 'private' | 'group' | 'supergroup' | 'channel';
      name?: string;
      handle?: string;
    };
    users?: Record<string, { name?: string; handle?: string; role?: string }>;
    messages: Array<{
      content: string;
      msgId?: string;
      time?: string;
      sender?: { id?: string; name?: string; handle?: string; role?: string };
      reply?: { name?: string; handle?: string; content?: string; msgId?: string };
    }>;
    count?: number;
    tokenEstimate?: number;
  }
  ```

  ### Session ID Format

  Session IDs must:
  - Be 1-255 characters
  - Start with alphanumeric character or hyphen
  - Contain only: a-z, A-Z, 0-9, `.`, `_`, `-`

  ## Troubleshooting

  ### Common Issues

  **Q: Memory is empty after restart**
  A: You're using In-Memory storage. Switch to Redis, PostgreSQL, or SQLite for persistence.

  **Q: Connection timeout with Redis**
  A: Check firewall rules, Redis bind address, and credentials. Enable SSL if required.

  **Q: Invalid Session ID error**
  A: Ensure your session ID matches the allowed pattern. Avoid special characters.

  **Q: Messages missing from output**
  A: Check `Memory Window Size` setting. Increase it or use `Max Storage Messages` to keep more history.

  ### Debug Mode

  Set `Log Level` to `debug` in the node configuration for detailed logging.

  ## Compatibility

  | n8n Version | Smart Memory |
  |-------------|--------------|
  | 1.0.0+ | 1.x |

  Tested with n8n versions 1.x.

  ## Contributing

  Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Submit a pull request

  See [CONTRIBUTING.md](./CONTRIBUTING.md) for details.

  ## License

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

  ## Resources

  - [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [GitHub Repository](https://github.com/etircopyh/n8n-nodes-smart-memory)
  - [NPM Package](https://www.npmjs.com/package/n8n-nodes-smart-memory)
  - [Issues & Feature Requests](https://github.com/etircopyh/n8n-nodes-smart-memory/issues)

ai_documentation_summary:
  {"purpose":"The SmartMemory node enables flexible management of conversational history in n8n workflows by storing, retrieving, and clearing message data across multiple storage backends such as In-Memory, Redis, PostgreSQL, or SQLite, supporting AI chatbots with features like user tracking, reply context preservation, and customizable output formatting.","capabilities":["Store messages with configurable insert mode (append or replace)","Retrieve conversation history with adjustable memory window and context injection","Support group chats with user identity mapping and token-efficient outputs","Preserve message threading and reply context in outputs","Customize output fields (chat, identity, reply, timestamps, etc.)","Clear session memory by session ID or globally","Optimize performance with buffered writes and atomic operations","Support for multiple storage backends with different persistence and speed characteristics"],"authentication":"Redis and PostgreSQL require authentication credentials (host, port, user, password, SSL); SQLite requires no credentials, only a file path configuration","commonUseCases":["Managing conversation history for AI chatbots in n8n workflows","Enabling user-specific memory with identity tracking in multi-user environments","Injecting context for reply messages to improve AI response quality","Integrating with external AI nodes using structured conversation history","Scaling chatbot memory across distributed systems using Redis"],"limitations":["Output context for replies may be limited if fields are disabled in output settings","In-Memory backend loses data on restart","Redis and PostgreSQL configurations require network access and proper server setup","Advanced features like context injection are partially documented or truncated in the README"],"relatedNodes":["AI nodes (e.g., OpenAI, LlamaIndex)","Message processing nodes","Workflow control nodes (e.g., Function, Set)","Database nodes (PostgreSQL, Redis)"]}


