# nodes

node_type: n8n-nodes-html-tag-extract.htmltagextract
package_name: n8n-nodes-html-tag-extract
display_name: htmltagextract
description: n8n helper nodes to extract HTML tags, parse JSON and more
category: Community
development_style: declarative
version: 0.2.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: danielvee
author_github_url: git+https://github.com/defmans7/n8n-nodes-html-tag-extract.git
npm_package_name: n8n-nodes-html-tag-extract
npm_version: 0.2.0
community_fetched_at: 2026-03-25T21:19:41.763Z
npm_readme:
  # n8n-nodes-html-tag-extract

  This is an n8n community node. It lets you use extract common HTML tags from an HTML string in your n8n workflows.

  This is my first community node for n8n, I've also included a JSON parse helper node that I use in my workflows. 
  I find it useful to have a node that can parse JSON strings and return the parsed object, 
  because repeating the same custom code node for all my workflows is a bit cumbersome.

  HTML Tag Extract, provides helper nodes to extract HTML tags, parse JSON... and that's basically it.

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

  [Installation](#installation)  
  [Operations](#operations)  
  [Usage](#usage)  
  [Acknowledgements](#acknowledgements)  
  [Further (future) development](#further-future-development)

  ## Installation

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

  ## Operations

  * Extract HTML Tags
  * Parse JSON

  ## Usage

  ### Extract HTML Tags
  * Pass a string containing HTML to the Extract HTML Tags node, and it will return the data object containing the tags name and the tag's content.
  * Some tags will be an array of objects, for example, the heading tags (h1, h2, h3, h4, h5, h6) will be an array of objects, each object containing the tag's name and content.
  * There is also a word and character count for the text content of the page.

  ### Parse JSON
  * Pass a string containing JSON to the Parse JSON node, and it will return the parsed object.
  * Sometimes LLM output contains a JSON string within a code block: \```json {"key": "value"} ``` and this node will remove the junk and return the parsed object.

  ## Acknowledgements

  * [Cheerio provides the HTML Tag Extract node](https://www.npmjs.com/package/cheerio)
  * N8N team for the great platform and documentation
  * Aider, mainly for commit messages

  ## Further (future) development

  I'm planning to add more features to this node, such as allowing for extracting specific tags and CSS selectors.

  Also:
  * Parse YouTube iframes / links and extract the video ID
  * Extract images with alt text (currently only extracts the image URL)
  * Find all articles
  * List internal and external links separately
  * Implement better cleanup methods for the text content
  * Maybe include Markdown as an output format, but there's already a community node for [HTML to Markdown conversion](https://www.npmjs.com/package/n8n-nodes-turndown-html-to-markdown)


node_type: n8n-nodes-document-generator.documentgenerator
package_name: n8n-nodes-document-generator
display_name: documentgenerator
description: This node creates dynamic content for documents or emails with Handlebars templates
category: Community
development_style: declarative
version: 1.0.10
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: mcolomer
author_github_url: git+https://github.com/n8nhackers/n8n-nodes-document-generator.git
npm_package_name: n8n-nodes-document-generator
npm_version: 1.0.10
community_fetched_at: 2026-03-25T21:19:41.764Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ![Banner image](images/n8n-and-n8nhackers.png)

  # n8n-nodes-document-generator

  This is an n8n community node. It helps you to create:
  * One dynamic content per all input items.
  * One dynamic content per input item.

  If you have any questions or remarks please [contact me](mailto:contact@n8nhackers.com).

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

  ## TL;DR
  Don't want to read? Import the sample workflow [Generate dynamic contents for EMAILS or HTML pages](https://n8n.io/workflows/1790-generate-dynamic-contents-for-emails-or-html-pages/) to test this node with random samples. 
  ![Generate dynamic contents for EMAILS or HTML pages](images/workflow-sample.jpeg?raw=true "Generate dynamic contents for EMAILS or HTML pages")

  ## Installation

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

  ## Compatibility

  This node was developed and tested with version 0.193.5 of n8n.

  ## Dependencies
  If you install this node, n8n will install automatically the next extra npm packages:
  * [@jaredwray/fumanchu](https://www.npmjs.com/package/@jaredwray/fumanchu): this new Handlebars replacement provides Handlebars + Helpers Together.

  ## Usage
  The node can solve multiple use cases when creating content like:
  * Email generation (HTML or TEXT)
  * Static HTML pages
  * WordPress posts
  * Telegram/Slack messages
  * Use helpers to filter templates

  The sky is your limit!

  Just follow the next samples to create your dynamic content and forget to use SET, FUNCTION, or FUNCTION ITEM nodes.

  ### All input items in one template

  #### Cases
  * You want to send a list of recent news about n8n.
  * You want to send the list of the customers created in the last hour in your database.

  #### Template
  Supposing that you have a customer list in JSON:
  ```json
  [
  	{
  		"email": "miquel@n8nhackers.com",
  		"name": "Miquel",
  		"primary": true
  	},
  	{
  		"email": "contact@n8nhackers.com",
  		"name": "Contact",
  		"primary": false
  	}
  ]
  ```

  We will try a Handlebars helper #if to show if the contact is the primary email or not.

  If you use the next template:
  ```
  <ul id="customer_list">
    {{#each items}}
    <li>{{name}}: {{email}} {{#if (eq primary true)}}(primary){{/if}}</li>
    {{/each}}
  </ul>
  ```

  And you will get the next output to send by email in HTML format:
  ```
  <ul id="customer_list">
  <li>Miquel: miquel@n8nhackers.com (primary)</li>
  <li>Contact: contact@n8nhackers.com</li>
  </ul>
  ```

  Property **items** is always mandatory to iterate over all items.

  ### One input item per template

  #### Cases
  * You have an invoice with header and lines and you want to send it by email.

  #### Template
  If you have one item/invoice with this JSON:
  ```json
  {
  	"date": "2022-01-12",
  	"to": "N8n hackers",
  	"address": "Granollers, Spain",
  	"total": 133.10,
  	"lines": [
  		{
  			"description": "Create a node to render items in handlebar templates",
  			"quantity": 1,
  			"amount": 100,
  			"vat": 21,
  			"total": 121
  		},
  		{
  			"description": "Test a node to render items in handlebar templates",
  			"quantity": 1,
  			"amount": 10,
  			"vat": 2.10,
  			"total": 12.1
  		}
  	]
  }
  ```

  You need to use this template:
  ```
  Date: {{date}}
  To: {{to}}
  Address: {{address}}
  Details:
  {{#each lines}}
  - "{{description}}" x {{quantity}} = {{amount}}€ + {{vat}}€ = {{total}}€
  {{/each}}
  Total invoice: {{total}}€
  ```

  And you will get the next output to send by email in TEXT format:
  ```
  Date: 2022-01-12
  To: N8n hackers
  Address: Granollers, Spain
  Details:
  - "Create a node to render items in handlebar templates" x 1 = 100€ + 21€ = 121€
  - "Test a node to render items in handlebar templates" x 1 = 10€ + 2.10€ = 12.10€
  Total invoice: 133.10€
  ```

  I recommend using this method if you want to send multiple invoices.

  ## Helpers
  Now the node supports helpers thanks to the [@jaredwray/fumanchu](https://www.npmjs.com/package/@jaredwray/fumanchu#helpers) package. 

  We recommend checking 

  ## Doubts about templates syntax
  Please, check the [official page](https://handlebarsjs.com/guide/expressions.html#basic-usage) to review all the existing expressions in Handlebars.

  ## Another way to try it out

  [N8N documentation on custom nodes](https://docs.n8n.io/nodes/creating-nodes/create-n8n-nodes-module.html)

  Clone the n8n-nodes-document-generator repository and execute:
  ```
  # Use v20.12.2 = lts/iron
  nvm use lts/iron

  # Install dependencies
  npm install

  # Build the code
  npm run build

  # "Publish" the package locally
  npm link
  ```

  Create an N8N installation and add the n8n-nodes-document-generator to it:
  ```
  # Ensure that custom nodes directory exists in your .n8n
  mkdir ~/.n8n/custom

  # Init npm packages (intro to all questions)
  cd ~/.n8n/custom && npm init

  # "Install" the locally published module
  npm link n8n-nodes-document-generator

  # Start n8n
  n8n start
  ```

  # Contribution

  To make this node even better, please let us know, [how you use it](mailto:contact@n8nhackers.com). Commits are always welcome.

  # Issues

  If you have any issues, please [let us know on GitHub](https://github.com/n8nhackers/n8n-nodes-document-generator/issues).

  # About

  Nodes by [n8nhackers.com](https://n8nhackers.com). For productive use and consulting on this, [contact us please](mailto:contact@n8nhackers.com).

  Special thanks to [N8n nodemation](https://n8n.io) workflow automation by Jan Oberhauser.

  # License

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

ai_documentation_summary:
  {"purpose":"Generates dynamic content for documents, emails, or messages using Handlebars templates, supporting both single-item and multi-item input processing.","capabilities":["Render HTML or text content from Handlebars templates","Process one template per all input items (batch mode)","Process one template per input item (individual mode)","Iterate over arrays of data using {{#each}}","Use Handlebars helpers like {{#if}} and {{eq}} for conditional logic","Generate email content (HTML or text format)","Generate static HTML pages","Generate WordPress posts","Generate Telegram or Slack messages","Filter and conditionally display data based on template logic"],"authentication":"None","commonUseCases":["Sending personalized email campaigns with dynamic content","Generating HTML pages for websites","Creating WordPress blog posts with variable data","Automating Telegram or Slack notifications","Processing lists of customers or news items in a single template"],"limitations":["Requires manual installation via npm link for custom node integration","Compatible only with n8n version 0.193.5 or similar","Depends on external npm package @jaredwray/fumanchu for Handlebars support","No built-in authentication or security features for template data"],"relatedNodes":["Handlebars expression node","Set node","Function node","Function item node","Email node"]}


node_type: @splainez/n8n-nodes-phonenumber-parser.phonenumberparser
package_name: @splainez/n8n-nodes-phonenumber-parser
display_name: phonenumberparser
description: Parse a phone number and return its information
category: Community
development_style: declarative
version: 1.2.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: splainez
author_github_url: git+https://github.com/splainez/n8n-nodes-phonenumber-parser.git
npm_package_name: @splainez/n8n-nodes-phonenumber-parser
npm_version: 1.2.0
community_fetched_at: 2026-03-25T21:19:41.764Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-phonenumber-parser

  [![version](https://img.shields.io/npm/v/@splainez/n8n-nodes-phonenumber-parser.svg)](https://www.npmjs.org/package/@splainez/n8n-nodes-phonenumber-parser)

  ## Description

  The `PhoneNumberParser` node is a powerful tool for working with phone numbers in your n8n workflows. It uses the `libphonenumber-js` library to format phone numbers into human-readable formats and extract useful information, such as the country code, area code, and phone number.


  You can also clone the repository from GitHub and build the package yourself.

  ## Installation

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

  ## Usage

  To use the `PhoneNumberParser` node in your n8n workflows, drag and drop the node from the node palette onto your workflow canvas. Then, connect the output of any preceding node to the input of the `PhoneNumberParser` node.

  The `PhoneNumberParser` node has a single input parameter: the phone number to be formatted. This should be a string containing only digits. Once the node receives the phone number, it will automatically format it into a human-readable format and extract useful information, such as the country code, area code, and phone number. The formatted phone number will be output as a JSON object containing these fields.

  This node parses a phone number using the `libphonenumber-js` library and returns its information in JSON format. The following information is included in the output:

  * `country`: The country code associated with the phone number.
  * `countryCallingCode`: The country calling code of the phone number.
  * `nationalNumber`: The national (significant) part of the phone number.
  * `formatNational`: The phone number formatted in national format.
  * `formatInternational`: The phone number formatted in international format.
  * `formatE164`: The phone number formatted in E.164 format.
  * `formatRFC3966`: The phone number formatted in RFC3966 format.
  * `possible`: Whether the length of the phone number is valid, although it may not necessarily be correctly formatted.
  * `valid`: Whether the phone number is valid, based on both length and format.
  * `nonGeographic`: Whether the phone number is non-geographic (i.e., not tied to a specific location).
  * `type`: The type of phone number (e.g., FIXED_LINE_OR_MOBILE, MOBILE, FIXED_LINE, TOLL_FREE, etc.).


  ## License

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

  This project uses the `libphonenumber-js` library, which is also licensed under the MIT License. See the `libphonenumber-js/LICENSE` file for more details.

ai_documentation_summary:
  {"purpose":"The PhoneNumberParser node parses phone numbers using the libphonenumber-js library to extract metadata and format them into various human-readable standards.","capabilities":["Extract country code","Extract area code","Extract national number","Format phone number in national format","Format phone number in international format","Format phone number in E.164 format","Format phone number in RFC3966 format","Validate phone number length","Validate phone number format","Determine if number is non-geographic"],"authentication":"None","commonUseCases":["Standardizing phone number formats across workflow outputs","Validating user-provided phone numbers before processing","Extracting country codes for routing or display purposes","Normalizing phone numbers for database storage"],"limitations":["Input must be a string containing only digits"],"relatedNodes":["httprequest","json","string","if"]}


node_type: n8n-nodes-instagram-integrations.instagramintegrations
package_name: n8n-nodes-instagram-integrations
display_name: instagramintegrations
description: N8N nodes for Instagram API integration with OAuth2 authentication
category: Community
development_style: declarative
version: 1.6.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: msameim181
author_github_url: git+https://github.com/Msameim181/n8n-nodes-instagram-integrations.git
npm_package_name: n8n-nodes-instagram-integrations
npm_version: 1.6.0
community_fetched_at: 2026-03-25T21:19:41.765Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-instagram-integrations

  ![Instagram Banner](https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white)
  [![npm version](https://img.shields.io/npm/v/n8n-nodes-instagram-integrations.svg)](https://www.npmjs.com/package/n8n-nodes-instagram-integrations)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![n8n](https://img.shields.io/badge/n8n-community-FF6D5A?logo=n8n)](https://n8n.io)
  [![Downloads](https://img.shields.io/npm/dt/n8n-nodes-instagram-integrations.svg)](https://www.npmjs.com/package/n8n-nodes-instagram-integrations)

  Professional N8N community nodes for seamless Instagram Messaging API integration with OAuth2 authentication.

  [Installation](#installation) • [Features](#features) • [Prerequisites](#prerequisites) • [Quick Start](#quick-start) • [Documentation](#documentation) • [Support](#support)

  ---

  ## 📖 Overview

  This package provides comprehensive Instagram integration for n8n workflows, enabling automated messaging, media management, and webhook-based event handling through the official Instagram Graph API.

  **Perfect for:**
  - 🤖 Automated customer support via Instagram DM
  - 📢 Marketing campaigns and notifications
  - 🎯 Lead generation and engagement
  - 📊 Customer interaction tracking
  - 🔄 Multi-platform messaging automation

  ---

  ## ✨ Features

  ### 🔐 OAuth2 Authentication
  - **One-click authentication** - Secure OAuth2 flow similar to Google Drive
  - **🆕 Automatic long-lived tokens** - Short-lived tokens (1 hour) automatically exchanged for long-lived tokens (60 days)
  - **🆕 Automatic token refresh** - Tokens refresh automatically before expiration (zero configuration)
  - **🆕 No more "refreshToken is required" errors** - Smart token lifecycle management prevents expiration issues
  - **Multiple credential types** - OAuth2 or manual access token
  - **Auto-discovery** - Automatically fetches Instagram Business Account ID

  ### 📬 Instagram Messaging Node

  **Message Types:**
  - 💬 **Text Messages** - Send formatted text with up to 1000 characters
  - 🖼️ **Image Messages** - Share images via public HTTPS URLs
  - 🎵 **Audio Messages** - Send voice messages and audio files
  - 🎬 **Video Messages** - Share video content
  - 📤 **Media Upload** - Upload and publish photos, videos, reels, and stories

  **Interactive Templates:**
  - 🔘 **Button Templates** - Up to 3 action buttons (web links or postbacks)
  - 🎴 **Generic Templates** - Carousel cards with images and buttons
  - ⚡ **Quick Replies** - Up to 13 quick response options

  **User Management:**
  - 👤 **Get User Profile** - Retrieve user information (name, username, profile picture)

  ### 💬 Comment Management (NEW in v1.6.0!)

  **Comment Moderation:**
  - 📜 **Get Comments** - Retrieve all comments on your media posts with pagination
  - 💬 **Get Replies** - Fetch replies to specific comments
  - ↩️ **Reply to Comment** - Post public replies to comments on your media
  - 🔒 **Send Private Reply** - Send a DM to users who commented (7-day window)
  - 🗑️ **Delete Comment** - Remove unwanted comments from your posts
  - 👁️ **Hide/Unhide Comment** - Toggle comment visibility without deletion

  **Perfect for:**
  - 🤝 Engaging with your audience through comment replies
  - 📧 Sending exclusive offers via private DM to commenters
  - 🛡️ Moderating spam and unwanted comments
  - 🔄 Automating comment response workflows (Manychat alternative!)

  ### � Instagram Content Publishing (NEW!)

  **Post Creation:**
  - 📷 **Single Posts** - Create image or video feed posts
  - 🎞️ **Carousel Posts** - Multi-media posts (2-10 images/videos)
  - 🎬 **Reels** - Short-form videos up to 60 seconds
  - 📋 **Stories** - 24-hour temporary content

  **Advanced Features:**
  - 🏷️ **User Tagging** - Tag up to 20 users with precise positioning
  - 🛍️ **Product Tagging** - Tag products from Facebook catalog
  - 🤝 **Collaborators** - Tag other accounts as collaborators
  - 📍 **Location Tagging** - Add location stickers to posts
  - 🎨 **Custom Thumbnails** - Set video thumbnail positions
  - 🎵 **Audio Attribution** - Name audio tracks in reels

  **Media Management:**
  - 📊 **List Media** - Get paginated list of your media
  - 🔍 **Get Media Details** - Retrieve specific media information
  - 👶 **Get Carousel Children** - Access individual carousel items

  ###  Instagram Trigger Node

  **Webhook Events:**
  - 💬 **New Messages** - Trigger on incoming messages
  - 🔘 **Postback Events** - Handle button clicks and interactions
  - ✅ **Opt-in Events** - Process user consent actions
  - 💭 **Comments** (NEW!) - Trigger when someone comments on your media
  - 🏷️ **Mentions** (NEW!) - Trigger when someone mentions you in comments or stories

  **Dual Output System:**
  - **Output 1** (Messages/Postbacks/Opt-ins) - Direct messaging events
  - **Output 2** (Comments/Mentions) - Content engagement events

  **Security Features:**
  - 🔒 Webhook signature validation (X-Hub-Signature-256)
  - ✓ Verify token authentication
  - 🛡️ HMAC SHA256 cryptographic verification

  ---

  ## 📋 Prerequisites

  ### Required Accounts
  1. **Facebook Page** - Active Facebook page
  2. **Instagram Business Account** - Connected to your Facebook page
  3. **Meta Developer Account** - Access to Facebook Developer Console
  4. **n8n Instance** - Self-hosted or cloud (version 0.196.0+)

  ### Required Permissions

  **For Messaging:**
  - `instagram_basic` - Basic profile access
  - `instagram_manage_messages` - Send and receive messages
  - `pages_manage_metadata` - Webhook subscriptions
  - `pages_read_engagement` - Read engagement data

  **For Content Publishing (NEW):**
  - `instagram_content_publish` - Create and publish posts, reels, and stories
  - `pages_show_list` - List Facebook pages
  - `catalog_management` - Product tagging (optional, for Instagram Shopping)

  ### Technical Requirements
  - Node.js 18.15+ or 20.10+
  - n8n version 0.196.0 or higher
  - HTTPS webhook endpoint (for trigger node)

  ---

  ## 🚀 Installation

  ### Option 1: n8n Community Nodes (Recommended)

  1. Open n8n
  2. Go to **Settings** → **Community Nodes**
  3. Search for `n8n-nodes-instagram-integrations`
  4. Click **Install**
  5. Restart n8n

  ### Option 2: npm Installation

  ```bash
  cd ~/.n8n/nodes
  npm install n8n-nodes-instagram-integrations
  ```

  ### Option 3: Docker

  Add to your `docker-compose.yml`:

  ```yaml
  services:
    n8n:
      environment:
        - N8N_COMMUNITY_PACKAGES=n8n-nodes-instagram-integrations
  ```

  ---

  ## 🎯 Quick Start

  ### Step 1: Create Meta App

  1. Visit [Meta for Developers](https://developers.facebook.com/apps/)
  2. Click **Create App**
  3. Select **Business** type
  4. Add **Instagram** product
  5. Note your **App ID** and **App Secret**

  ### Step 2: Connect Facebook Page

  1. In App Dashboard → **Instagram** → **Basic Display**
  2. Add your Instagram Business Account
  3. Generate a **Page Access Token** with required permissions
  4. Copy the **Instagram Business Account ID**

  ### Step 3: Configure n8n Credentials

  **Using OAuth2 (Recommended):**

  1. In n8n: **Credentials** → **New** → **Instagram OAuth2 API**
  2. Enter:
     - **Client ID**: Your App ID
     - **Client Secret**: Your App Secret
  3. Click **Connect my account**
  4. Authorize in popup window
  5. ✅ Connection established!

  **Using Access Token:**

  1. In n8n: **Credentials** → **New** → **Instagram Access Token API**
  2. Enter:
     - **Access Token**: Your Page Access Token
  3. Click **Save**
  4. ✅ Account ID auto-discovered!

  ### Step 4: Build Your First Workflow

  1. Create new workflow
  2. Add **Instagram** node
  3. Select **Message** → **Send Text Message**
  4. Configure:
     - **Credential**: Your Instagram credential
     - **Recipient ID**: Target user's Instagram-scoped ID
     - **Message**: Your text content
  5. Execute!

  ---

  ## 📚 Documentation

  ### Core Guides
  - 📘 [**CHANGELOG.md**](./CHANGELOG.md) - Version history and updates
  - 🔧 [**IMPLEMENTATION_GUIDE.md**](./IMPLEMENTATION_GUIDE.md) - Developer documentation
  - � [**AUTHENTICATION_GUIDE.md**](./AUTHENTICATION_GUIDE.md) - Setup and OAuth guide
  - �📋 [**Instruction Files**](./.github/instructions/) - Technical specifications

  ### Content Publishing Guides (NEW!)
  - 🚀 [**QUICKSTART.md**](./QUICKSTART.md) - Get started in 5 minutes
  - 📸 [**POST_STORY_GUIDE.md**](./POST_STORY_GUIDE.md) - Complete post/story creation guide
  - 💡 [**EXAMPLES.md**](./EXAMPLES.md) - Code examples and workflow patterns
  - 📊 [**FEATURE_SUMMARY.md**](./FEATURE_SUMMARY.md) - Technical implementation details

  ### Example Workflows

  **Messaging:**
  - Auto-Reply to Messages
  - Daily Announcements
  - Customer Support Bot

  **Content Publishing:**
  - Scheduled Daily Posts
  - Automated Carousels
  - Story Automation
  - Product Showcase Reels

  ### API Reference

  **Message Operations:**
  - `sendTextMessage` - Send text content
  - `sendImageMessage` - Send image via URL
  - `sendAudioMessage` - Send audio file
  - `sendVideoMessage` - Send video content
  - `sendButtonTemplate` - Interactive buttons
  - `sendGenericTemplate` - Carousel cards
  - `sendQuickReplies` - Quick response options
  - `uploadMedia` - Upload media files

  **Post Operations (NEW):**
  - `createSinglePost` - Create image/video posts
  - `createCarouselPost` - Multi-media carousels
  - `createReel` - Short-form videos
  - `publishPost` - Publish created content

  **Story Operations (NEW):**
  - `createStory` - Create and publish stories

  **Media Operations (NEW):**
  - `listMedia` - Get your media list
  - `getMedia` - Get media details
  - `getMediaChildren` - Get carousel children

  **User Operations:**
  - `getUserProfile` - Fetch user information
  - `getMyProfile` - Get authenticated account info

  **Comment Operations (NEW in v1.6.0):**
  - `getComments` - Get all comments on media
  - `getReplies` - Get replies to a comment
  - `replyToComment` - Post public reply
  - `sendPrivateReply` - Send DM to commenter
  - `deleteComment` - Remove a comment
  - `toggleVisibility` - Hide/unhide comment

  **Webhook Events:**
  - `messages` - Incoming messages
  - `messaging_postbacks` - Button interactions
  - `messaging_optins` - Consent events

  ---

  ## � Token Management (v1.5.0+)

  ### Automatic Long-Lived Token System

  Instagram uses a two-tier token system that this package **automatically manages** for you:

  | Token Type | Validity | Management |
  |------------|----------|------------|
  | Short-lived | 1 hour | Received from OAuth |
  | Long-lived | 60 days | **Auto-exchanged** on first use |
  | Refreshed | 60 days | **Auto-refreshed** before expiration |

  ### How It Works

  ```
  OAuth Authentication (User action)
           ↓
  Short-lived Token (1 hour)
           ↓
  First API Call (automatic)
           ↓
  Long-lived Token Exchange (automatic)
           ↓
  Token Valid for 60 Days
           ↓
  Auto-refresh at 53 Days (automatic)
           ↓
  Another 60 Days of Validity
  ```

  ### Key Features

  ✅ **Zero Configuration** - Everything happens automatically  
  ✅ **No More Errors** - "refreshToken is required" error is eliminated  
  ✅ **Smart Refresh** - Tokens refresh when at least 24 hours old and expiring within 7 days  
  ✅ **Fallback Protection** - If refresh fails, attempts to exchange current OAuth token  
  ✅ **Secure Storage** - All tokens encrypted in N8N credential system  

  ### Best Practices

  1. **Keep Workflows Active**: Run at least once every 50 days to maintain token validity
  2. **Monitor Health**: Create a weekly health-check workflow (optional)
  3. **Handle Errors Gracefully**: Use `continueOnFail` for robust error handling

  ### Token Lifecycle Example

  ```typescript
  // Day 1: OAuth authentication
  User authenticates → Short-lived token (expires in 1 hour)

  // Day 1: First workflow run
  First API call → Automatic exchange → Long-lived token (expires in 60 days)

  // Day 53: Automatic refresh (7 days before expiry)
  API call → Token check → Auto-refresh → New long-lived token (expires in 60 days)

  // Repeat cycle every ~53 days as long as workflows are active
  ```

  ### What If Token Expires?

  If a workflow is inactive for 60+ days:
  1. Token expires and cannot be refreshed
  2. Workflow shows error: "Instagram access token has expired"
  3. **Solution**: Reconnect your Instagram OAuth2 credential (takes 30 seconds)

  ### Learn More

  📘 [**TOKEN_MANAGEMENT.md**](./docs/TOKEN_MANAGEMENT.md) - Comprehensive token management guide  
  🔧 [**TOKEN_MANAGEMENT_IMPLEMENTATION.md**](./docs/TOKEN_MANAGEMENT_IMPLEMENTATION.md) - Technical implementation details

  ---

  ## �🔧 Configuration

  ### Webhook Setup

  1. In Meta App Dashboard → **Instagram** → **Webhooks**
  2. Subscribe to `messages` field
  3. Callback URL: Your n8n webhook URL
     ```
     https://your-n8n.com/webhook/instagram
     ```
  4. Verify Token: Enter in both Meta and n8n credentials
  5. Click **Verify and Save**

  ### Rate Limits

  - **API Calls**: 200 requests per hour per user
  - **Messages**: 1000 characters max
  - **Buttons**: 3 per template, 20 characters per title
  - **Quick Replies**: 13 max per message
  - **Webhook Response**: Must respond within 20 seconds

  ---

  ## 🛠️ Troubleshooting

  ### Common Issues

  **"Invalid OAuth Access Token"**
  - Verify token hasn't expired
  - Check required permissions are granted
  - Regenerate token in Meta Developer Console

  **"Webhook Verification Failed"**
  - Ensure verify token matches in both Meta and n8n
  - Check n8n webhook is publicly accessible via HTTPS
  - Verify firewall allows Meta's IP ranges

  **"User Cannot Receive Messages"**
  - User must initiate conversation first (24-hour window)
  - Use message tags for out-of-window messaging
  - Verify Instagram Business Account is active

  **"Rate Limit Exceeded"**
  - Implement exponential backoff
  - Reduce request frequency
  - Use batch operations where possible

  ### Debug Mode

  Enable n8n debug logging:
  ```bash
  export N8N_LOG_LEVEL=debug
  n8n start
  ```

  ---

  ## 🤝 Support

  ### Resources
  - 📖 [Instagram Graph API Documentation](https://developers.facebook.com/docs/instagram-api)
  - 💬 [n8n Community Forum](https://community.n8n.io)
  - 🐛 [Issue Tracker](https://github.com/Msameim181/n8n-nodes-instagram-integrations/issues)
  - 📧 Email: 9259samei@gmail.com

  ### Contributing

  Contributions are welcome! Please:
  1. Fork the repository
  2. Create a feature branch
  3. Follow existing code style
  4. Add tests for new features
  5. Submit a pull request

  See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) for guidelines.

  ---

  ## 📄 License

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

  Copyright © 2025 Mohammad Mahdi Samei

  ---

  ## 🙏 Acknowledgments

  - Built with [n8n](https://n8n.io) - Fair-code workflow automation
  - Powered by [Instagram Graph API](https://developers.facebook.com/docs/instagram-api)
  - Icons by [Instagram Brand Guidelines](https://en.instagram-brand.com/)

  ---

  ## 📊 Stats

  ![npm](https://img.shields.io/npm/v/n8n-nodes-instagram-integrations)
  ![downloads](https://img.shields.io/npm/dt/n8n-nodes-instagram-integrations)
  ![license](https://img.shields.io/npm/l/n8n-nodes-instagram-integrations)
  ![node version](https://img.shields.io/node/v/n8n-nodes-instagram-integrations)

  ---

  **Made with ❤️ for the n8n community** | [GitHub](https://github.com/Msameim181/n8n-nodes-instagram-integrations) | [npm](https://www.npmjs.com/package/n8n-nodes-instagram-integrations)

ai_documentation_summary:
  {"purpose":"This n8n community node package provides comprehensive Instagram API integration for automated messaging, content publishing, and comment management via OAuth2 authentication.","capabilities":["Send text, image, audio, and video messages","Upload and publish photos, videos, reels, and stories","Create carousel posts with 2-10 media items","Tag users, products, and collaborators in posts","Retrieve and moderate comments with public replies and private DMs","Handle Instagram webhooks for messages, postbacks, and mentions","Get user profiles and media details","Automatic token refresh and long-lived token management"],"authentication":"OAuth2","commonUseCases":["Automated customer support via Instagram DM","Marketing campaigns and notifications","Lead generation and engagement tracking","Comment moderation and automated replies","Social media content publishing and scheduling"],"limitations":["Requires n8n version 0.196.0 or higher","Requires active Facebook Page and connected Instagram Business Account","Requires Meta Developer Account access","Webhook trigger node requires HTTPS endpoint","Product tagging requires catalog_management permission"],"relatedNodes":["n8n-nodes-webhook","n8n-nodes-oauth2","n8n-nodes-instagram-messaging","n8n-nodes-instagram-content-publishing"]}


node_type: n8n-nodes-elevenlabs.elevenlabs
package_name: n8n-nodes-elevenlabs
display_name: elevenlabs
description: Complete implementation of ElevenLabs AI voice generation into n8n workflows.
category: Community
development_style: declarative
version: 0.0.6
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: n8ninja
author_github_url: git+https://github.com/n8n-ninja/n8n-nodes-elevenlabs.git
npm_package_name: n8n-nodes-elevenlabs
npm_version: 0.0.6
community_fetched_at: 2026-03-25T21:19:41.765Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-elevenlabs

  > **Currently in BETA and under active development.**

  This n8n community node enables seamless integration of **[ElevenLabs](http://go.n8n.ninja/elevenlabs) in your [n8n](http://go.n8n.ninja/tryn8n) workflows**.

  **[ElevenLabs](http://go.n8n.ninja/elevenlabs)** offers cutting-edge, contextually aware AI voices, allowing you to generate lifelike speech in hundreds of unique and familiar voices across dozens of languages.

  **[n8n](http://go.n8n.ninja/tryn8n)** is a powerful, AI-native, open-source workflow automation tool. Connect hundreds of services and rapidly create complex solutions with ease.

  [![Watch Teaser](https://www.n8n.ninja/images/nodes/elevenlabs/cover-play-youtube.png)](https://youtu.be/R2qFRdu8CMY)
  Watch the teaser and visit the [Official node page](https://go.n8n.ninja/811)

  ## Features

  - **Text to speech**: Turn any text into a high quality audio, lifelike, context-aware speech audio file that you can manipulate in your workflow.
  - **Speech to speech**: Transform your voice into an other character, preserving emotions and deliver with consistency.
  - **Generate voice**: Generate a new voice based on settings like age, gender, accent... add it to your library and start using it your workflow.
  - **Clone your voice**: Clone your own voice from an audio file and use it in your workflow, for text to speech or speech to speech.

  And more: voice library, user and history management.

  ## Installation

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

  ## Credentials

  To use this node, you need to have an [elevenlabs.io](http://go.n8n.ninja/elevenlabs) account and setup your xi-api-key in the node built-in credentials.

  ## Compatibility

  1.39.1 and above

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [elevenlabs api documentation](https://elevenlabs.io/docs/api-reference/getting-started)

ai_documentation_summary:
  {"purpose":"This n8n community node integrates ElevenLabs AI voice generation capabilities into n8n workflows, enabling text-to-speech, speech-to-speech, voice cloning, and custom voice generation.","capabilities":["Text to speech conversion","Speech to speech transformation","Custom voice generation","Voice cloning from audio files","Voice library management","User and history management"],"authentication":"API key required (xi-api-key)","commonUseCases":["Automated voiceovers for content creation","Character voice transformation in media workflows","Personalized audio announcements","Voice cloning for consistent branding"],"limitations":["Currently in BETA and under active development"],"relatedNodes":["n8n-nodes-elevenlabs.elevenlabs"]}


node_type: n8n-nodes-comfyui-image-to-video.comfyuiimagetovideo
package_name: n8n-nodes-comfyui-image-to-video
display_name: comfyuiimagetovideo
description: n8n node to integrate with ComfyUI stable diffusion workflows for image to video conversion
category: Community
development_style: declarative
version: 1.0.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: christiankuri
author_github_url: git+https://github.com/christiankuri/n8n-nodes-comfyui-image-to-video.git
npm_package_name: n8n-nodes-comfyui-image-to-video
npm_version: 1.0.1
community_fetched_at: 2026-03-25T21:19:41.766Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

  # n8n-nodes-comfyui-image-to-video

  This package provides n8n nodes to integrate with [ComfyUI](https://github.com/comfyanonymous/ComfyUI) - A powerful and modular stable diffusion GUI with a graph/nodes interface.

  ## Features

  - Execute ComfyUI workflows directly from n8n
  - Generate images and videos using stable diffusion models
  - Support for workflow JSON import
  - Automatic output retrieval from workflow outputs
  - Progress monitoring and error handling
  - Support for API key authentication
  - Configurable timeout settings

  ## Prerequisites

  - n8n (version 1.0.0 or later)
  - ComfyUI instance running and accessible
  - Node.js 16 or newer

  ## Installation

  ```bash
  npm install n8n-nodes-comfyui-image-to-video
  ```

  ## Node Types

  ### ComfyUI Node

  This node allows you to execute ComfyUI workflows and retrieve generated images.

  #### Settings

  - **API URL**: The URL of your ComfyUI instance (default: http://127.0.0.1:8188)
  - **API Key**: Optional API key if authentication is enabled
  - **Workflow JSON**: The ComfyUI workflow in JSON format

  #### Outputs

  The node outputs an array of generated images with:
  - `filename`: Name of the generated image file
  - `subfolder`: Subfolder path if any
  - `data`: Base64 encoded image data

  ### ComfyUI Image to Video Node

  This node allows you to convert images to videos using ComfyUI's image-to-video capabilities (like AnimateDiff, WanImageToVideo, or video generation models).

  #### Settings

  - **API URL**: The URL of your ComfyUI instance (default: http://127.0.0.1:8188)
  - **API Key**: Optional API key if authentication is enabled
  - **Workflow JSON**: The ComfyUI workflow in JSON format for video generation
  - **Input Type**: Choose between URL, Base64, or Binary input methods
  - **Input Image**: URL or base64 string of the input image (when using URL or Base64 input type)
  - **Binary Property**: Name of the binary property containing the image (when using Binary input type)
  - **Timeout**: Maximum time in minutes to wait for video generation

  #### Input

  The node accepts an image input in three ways:
  1. **URL**: Provide a direct URL to an image
  2. **Base64**: Provide a base64-encoded image string
  3. **Binary**: Use an image from a binary property in the workflow (e.g., from an HTTP Request node)

  #### Outputs

  The node outputs the generated video:
  - In the `binary.data` property with proper MIME type and file information
  - `fileName`: Name of the generated video file
  - `data`: Base64 encoded video data
  - `fileType`: The type of video file (e.g., 'video')
  - `fileSize`: Size of the video in KB
  - `fileExtension`: File extension (webp, mp4, gif)
  - `mimeType`: MIME type of the video

  > **Note**: If multiple videos are generated by the ComfyUI workflow, only the first video output will be returned. The node currently prioritizes video outputs (files with .webp, .mp4, or .gif extensions) and returns the first one it finds.

  ## Usage Examples

  ### Using the ComfyUI Node

  1. Export your workflow from ComfyUI as JSON
  2. Create a new workflow in n8n
  3. Add the ComfyUI node
  4. Paste your workflow JSON
  5. Configure the API URL
  6. Execute and retrieve generated images

  ### Using the ComfyUI Image to Video Node

  1. Create a workflow in ComfyUI for video generation (e.g., using WanImageToVideo, VHS_VideoCombine)
  2. Export the workflow as JSON (API)
  4. Add the ComfyUI Image to Video node
  5. Paste your workflow JSON
  6. Select the appropriate Input Type:
     - For URL: Enter the image URL
     - For Base64: Provide a base64 string
     - For Binary: Specify the binary property containing the image (default: "data")
  7. Configure timeout as needed
  8. Execute the workflow to generate a video from your input image

  ## Error Handling

  The node includes comprehensive error handling for:
  - API connection issues
  - Invalid workflow JSON
  - Execution failures
  - Timeout conditions
  - Input image validation

  ## Development

  ```bash
  # Install dependencies
  npm install

  # Build
  npm run build

  # Test
  npm run test

  # Lint
  npm run lint
  ```

  ## License

  [MIT](LICENSE.md)
   

ai_documentation_summary:
  {"purpose":"This n8n node integrates with ComfyUI to execute stable diffusion workflows for generating images and converting images to videos.","capabilities":["Execute ComfyUI workflows directly from n8n","Generate images using stable diffusion models","Convert images to videos using models like AnimateDiff or WanImageToVideo","Import and run workflows via JSON format","Accept image inputs via URL, Base64, or Binary properties","Monitor progress and handle errors","Support configurable timeout settings"],"authentication":"API key required (optional)","commonUseCases":["Generate images from text prompts using stable diffusion","Convert static images into animated videos","Run complex diffusion workflows without manual ComfyUI setup","Integrate video generation into automated marketing or content workflows"],"limitations":["Only returns the first video output if multiple are generated","Prioritizes video files with .webp, .mp4, or .gif extensions","Requires a running ComfyUI instance accessible via API","Node version requires n8n 1.0.0 or later"],"relatedNodes":["ComfyUI","HTTP Request","Binary File","Code"]}


node_type: n8n-nodes-playwright.playwright
package_name: n8n-nodes-playwright
display_name: playwright
description: n8n-community-node-package for browser automation using Playwright
category: Community
development_style: declarative
version: 0.2.21
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: toema
author_github_url: git+https://github.com/toema/n8n-playwright.git
npm_package_name: n8n-nodes-playwright
npm_version: 0.2.21
community_fetched_at: 2026-03-25T21:19:41.767Z
ai_summary_generated_at: 2026-03-25 22:47:20
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)  
  [Custom Scripts](#custom-scripts)  
  [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:

  ### Standard Operations

  - **Navigate**: Go to a specified URL and retrieve page content
  - **Take Screenshot**: Capture a screenshot of a webpage (full page or viewport)
  - **Get Text**: Extract text from an element using CSS selector or XPath
  - **Click Element**: Click on an element using CSS selector or XPath
  - **Fill Form**: Fill a form field using CSS selector or XPath
  - **Run Custom Script**: Execute custom JavaScript code with full Playwright API access

  ### Browser Options

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

  ### Selector Options

  For `Get Text`, `Click Element`, and `Fill Form` operations, you can choose between:

  - **CSS Selector**: Standard CSS selectors (e.g., `#submit-button`, `.my-class`, `button[type="submit"]`)
  - **XPath**: XPath expressions (e.g., `//button[@id="submit"]`, `//div[contains(@class, "content")]`)

  ### Screenshot Options

  - Full page capture
  - Custom save path
  - Base64 output

  ## Custom Scripts

  The **Run Custom Script** operation gives you complete control over Playwright to automate complex browser interactions, scrape data, generate PDFs/screenshots, and more. Scripts run in a sandboxed environment with access to the full Playwright API and n8n's Code node features.

  ### Available Variables

  Access Playwright-specific objects using:

  - `$page` - Current page instance
  - `$browser` - Browser instance
  - `$playwright` - Playwright library
  - `$helpers` - n8n helper methods (including `prepareBinaryData`)

  Plus all special variables and methods from the Code node are available:
  - `$json` - Current item's JSON data
  - `$input` - Access to input data
  - `$getNodeParameter()` - Get node parameters
  - And more from [n8n documentation](https://docs.n8n.io/code-examples/methods-variables-reference/)

  ### Script Examples

  #### Basic Navigation and Data Extraction

  ```javascript
  // Navigate to a URL
  await $page.goto('https://example.com');

  // Get page title and content
  const title = await $page.title();
  const content = await $page.textContent('body');

  console.log('Page title:', title);

  // Return results
  return [{
      json: { 
          title,
          content,
          url: $page.url()
      }
  }];
  ```

  #### Web Scraping with Selectors

  ```javascript
  await $page.goto('https://news.ycombinator.com');

  // Scrape all story titles
  const stories = await $page.$$eval('.titleline > a', elements => 
      elements.map(el => ({
          title: el.textContent,
          url: el.href
      }))
  );

  console.log(`Found ${stories.length} stories`);

  return stories.map(story => ({ json: story }));
  ```

  #### Form Automation

  ```javascript
  await $page.goto('https://example.com/login');

  // Fill form fields
  await $page.fill('#username', 'myuser');
  await $page.fill('#password', 'mypass');

  // Click submit button
  await $page.click('button[type="submit"]');

  // Wait for navigation
  await $page.waitForNavigation();

  console.log('Logged in successfully');

  return [{
      json: {
          success: true,
          finalUrl: $page.url()
      }
  }];
  ```

  #### Taking Screenshots as Binary Data

  ```javascript
  await $page.goto('https://www.google.com');

  // Take screenshot
  const screenshot = await $page.screenshot({ 
      type: 'png',
      fullPage: true 
  });

  // Prepare binary data
  const binaryData = await $helpers.prepareBinaryData(
      Buffer.from(screenshot),
      'screenshot.png',
      'image/png'
  );

  return [{
      json: {
          url: $page.url(),
          timestamp: new Date().toISOString()
      },
      binary: {
          screenshot: binaryData
      }
  }];
  ```

  #### Storing and Reusing Cookies

  **Script 1 - Login and Save Cookies**

  ```javascript
  await $page.goto('https://www.example.com/login');

  // Perform login
  await $page.fill('#login-username', 'user');
  await $page.fill('#login-password', 'pass');
  await $page.click('#login-button');

  // Wait for login to complete
  await $page.waitForNavigation();

  // Get browser context and save cookies
  const context = $page.context();
  const cookies = await context.cookies();

  console.log('Login successful, cookies saved');

  return [{
      json: { 
          cookies,
          loginSuccess: true
      }
  }];
  ```

  **Script 2 - Restore Cookies and Access Protected Page**

  ```javascript
  const { cookies } = $input.first().json;

  // Create new context with saved cookies
  const context = $page.context();
  await context.addCookies(cookies);

  // Navigate to authenticated page
  await $page.goto('https://example.com/protected-page');

  // Perform authenticated operations
  const data = await $page.textContent('.protected-content');

  console.log('Accessed protected page successfully');

  return [{
      json: { 
          data,
          authenticated: true
      }
  }];
  ```

  #### Advanced: Multiple Operations

  ```javascript
  await $page.goto('https://example.com/products');

  // Wait for products to load
  await $page.waitForSelector('.product-item');

  // Get all product data
  const products = await $page.$$eval('.product-item', items =>
      items.map(item => ({
          name: item.querySelector('.product-name')?.textContent,
          price: item.querySelector('.product-price')?.textContent,
          image: item.querySelector('img')?.src
      }))
  );

  // Take a screenshot
  const screenshot = await $page.screenshot({ type: 'png' });
  const screenshotBinary = await $helpers.prepareBinaryData(
      Buffer.from(screenshot),
      'products.png',
      'image/png'
  );

  console.log(`Scraped ${products.length} products`);

  return [{
      json: { 
          products,
          scrapedAt: new Date().toISOString(),
          totalProducts: products.length
      },
      binary: {
          screenshot: screenshotBinary
      }
  }];
  ```

  #### Using XPath Selectors

  ```javascript
  await $page.goto('https://example.com');

  // Use XPath to find elements
  const button = await $page.locator('xpath=//button[contains(text(), "Submit")]');
  await button.click();

  // XPath for complex selections
  const items = await $page.locator('xpath=//div[@class="item" and @data-active="true"]').all();
  const itemTexts = await Promise.all(items.map(item => item.textContent()));

  console.log(`Found ${itemTexts.length} active items`);

  return [{
      json: {
          activeItems: itemTexts
      }
  }];
  ```

  #### Error Handling

  ```javascript
  try {
      await $page.goto('https://example.com');
      
      // Try to find element with timeout
      const element = await $page.waitForSelector('.my-element', { 
          timeout: 5000 
      });
      
      const text = await element.textContent();
      
      return [{
          json: { 
              success: true,
              text 
          }
      }];
  } catch (error) {
      console.error('Error occurred:', error.message);
      
      return [{
          json: {
              success: false,
              error: error.message
          }
      }];
  }
  ```

  #### Working with Multiple Pages

  ```javascript
  // Open a new page
  const newPage = await $browser.newPage();
  await newPage.goto('https://example.com/page2');

  // Work with both pages
  const page1Title = await $page.title();
  const page2Title = await newPage.title();

  console.log('Page 1:', page1Title);
  console.log('Page 2:', page2Title);

  // Close the new page
  await newPage.close();

  return [{
      json: {
          page1Title,
          page2Title
      }
  }];
  ```

  #### Generating PDFs

  ```javascript
  await $page.goto('https://example.com');

  // Generate PDF
  const pdf = await $page.pdf({
      format: 'A4',
      printBackground: true,
      margin: {
          top: '20px',
          right: '20px',
          bottom: '20px',
          left: '20px'
      }
  });

  // Prepare binary data
  const binaryData = await $helpers.prepareBinaryData(
      Buffer.from(pdf),
      'document.pdf',
      'application/pdf'
  );

  return [{
      json: {
          url: $page.url(),
          timestamp: new Date().toISOString()
      },
      binary: {
          pdf: binaryData
      }
  }];
  ```

  #### Waiting for Dynamic Content

  ```javascript
  await $page.goto('https://example.com');

  // Wait for network to be idle
  await $page.waitForLoadState('networkidle');

  // Wait for specific element to appear
  await $page.waitForSelector('.dynamic-content', { timeout: 10000 });

  // Wait for element to be visible
  await $page.locator('.modal').waitFor({ state: 'visible' });

  // Extract data after everything has loaded
  const content = await $page.textContent('.dynamic-content');

  return [{
      json: { content }
  }];
  ```

  #### Handling File Downloads

  ```javascript
  await $page.goto('https://example.com/downloads');

  // Start waiting for download before clicking
  const downloadPromise = $page.waitForEvent('download');
  await $page.click('#download-button');

  const download = await downloadPromise;

  // Get download details
  const fileName = download.suggestedFilename();
  const downloadPath = await download.path();

  console.log(`Downloaded: ${fileName}`);

  return [{
      json: {
          fileName,
          downloadPath,
          success: true
      }
  }];
  ```

  ### Custom Script Tips

  1. **Always return an array**: Your script must return an array of objects like `return [{ json: {...} }];`
  2. **Use console.log()**: Debug by logging to the console - output appears in n8n UI during manual execution
  3. **Handle errors**: Use try-catch for robust scripts
  4. **Binary data**: Use `$helpers.prepareBinaryData()` for images, PDFs, or other files
  5. **Async/await**: All Playwright operations are async, always use `await`
  6. **Access input data**: Use `$json` or `$input` to access data from previous nodes
  7. **Browser cleanup**: The browser is automatically closed after script execution

  ## 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)
  - [Playwright API Reference](https://playwright.dev/docs/api/class-playwright)

  ## Version history

  ### 0.3.0

  - Added **Run Custom Script** operation with full Playwright API access
  - Added **XPath selector** support for Get Text, Click Element, and Fill Form operations
  - Added sandboxed JavaScript execution environment
  - Improved error handling and user feedback
  - Fixed navigate operation to return page content properly

  ### 0.2.*

  - Added selector-based operations (getText, clickElement, fillForm)
  - Improved browser binary installation process
  - Bug fixes and performance improvements

  ### 0.1.*

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

  ## Troubleshooting

  ### Browsers Not Installed

  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
  ```

  2. Rebuild the package:

  ```bash
  pnpm rebuild n8n-nodes-playwright
  ```

  ### Custom Script Errors

  If your custom script fails:

  1. Check that you're returning an array: `return [{ json: {...} }];`
  2. Use `console.log()` to debug and see output in n8n UI
  3. Wrap code in try-catch blocks for better error handling
  4. Verify all Playwright operations use `await`

  ### Selector Not Found

  If elements can't be found:

  1. Try using XPath instead of CSS selector (or vice versa)
  2. Use `await $page.waitForSelector('selector')` to wait for elements
  3. Check if content is in an iframe: `await $page.frameLocator('iframe').locator('selector')`
  4. Verify the page has fully loaded: `await $page.waitForLoadState('networkidle')`

  ## License

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

  ---

  ## Contributing

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

  ## Support

  If you encounter any issues or have questions:

  1. Check the [Troubleshooting](#troubleshooting) section
  2. Review the [Playwright documentation](https://playwright.dev/docs/intro)
  3. Open an issue on [GitHub](https://github.com/toema/n8n-playwright/issues)

  ## Author

  **Mohamed Toema**  
  Email: m.toema20@gmail.com  
  GitHub: [@toema](https://github.com/toema)

ai_documentation_summary:
  {"purpose":"Automates browser actions in n8n workflows using Playwright for tasks like navigation, data extraction, form filling, and screenshot capture.","capabilities":["Navigate to URLs and retrieve page content","Take full-page or viewport screenshots (including Base64 output)","Extract text from elements using CSS selectors or XPath","Click elements using CSS selectors or XPath","Fill form fields using CSS selectors or XPath","Execute custom JavaScript with full Playwright API access","Support multiple browsers (Chromium, Firefox, WebKit)","Configure headless mode and slow motion","Handle binary data output","Manage cookies for session persistence"],"authentication":"None","commonUseCases":["Web scraping and data extraction","Form automation and login workflows","Screenshot generation for reports","Browser-based testing within n8n","Automated data collection from websites"],"limitations":["Requires approximately 1GB of disk space for browser binaries","Manual browser setup may be needed if not automatic","Custom scripts require JavaScript knowledge"],"relatedNodes":["Code","HTTP Request","Binary Data"]}


node_type: n8n-nodes-data-validation.datavalidation
package_name: n8n-nodes-data-validation
display_name: datavalidation
description: This n8n community node validates input data using JSON Schemas.
category: Community
development_style: declarative
version: 1.0.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: bartolomeumr
author_github_url: git+https://github.com/Bartmr/n8n-nodes-data-validation.git
npm_package_name: n8n-nodes-data-validation
npm_version: 1.0.1
community_fetched_at: 2026-03-25T21:19:41.767Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ## How to

  This n8n community node validates input data using JSON Schemas.

  Visit <https://ajv.js.org/> or <https://json-schema.org/> to learn how to describe your validation rules in JSON Schemas.

  ## Library development

  ### Changing the supported Node version

  - Files to be changed
    - .nvmrc
    - Dockerfile.dev
    - package.json
      - `engine` field
      - `@types/node` version
    - tsconfig.base.json
    - .github/workflows/main.yml and other CI config files
  - delete all `node_modules` directories and `package-lock.json` files
  - run `npm run install`

ai_documentation_summary:
  {"purpose":"Validates input data against JSON Schemas to ensure data integrity and format compliance.","capabilities":["JSON Schema validation","Input data verification","Format compliance checking"],"authentication":"None","commonUseCases":["Validating API request payloads","Ensuring data format before processing","Quality control for incoming data streams"],"limitations":["Requires external JSON Schema definitions"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-http.response"]}


node_type: n8n-nodes-discord-trigger.discordtrigger
package_name: n8n-nodes-discord-trigger
display_name: discordtrigger
description: A node that triggers a workflow whenever a message from discord is sent.
category: Community
development_style: declarative
version: 0.8.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: katerlol
author_github_url: git+https://github.com/katerlol/n8n-discord-trigger.git
npm_package_name: n8n-nodes-discord-trigger
npm_version: 0.8.0
community_fetched_at: 2026-03-25T21:19:41.768Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-discord-trigger

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

  [n8n](https://www.n8n.io) nodes to trigger workflows from Discord messages.


  This node utilizes a Discord bot to transmit or receive data from child processes when a node is executed.


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

  [Installation](#installation)  
  [Bot Setup](#bot-setup)  
  [Operations](#operations)  
  [Credentials](#credentials)  <!-- delete if no auth needed -->  
  [Compatibility](#compatibility)  
  [Usage](#usage)  <!-- delete if not using this section -->  
  [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.


  ## Bot Setup

  To send, listen to messages, or fetch the list of channels or roles, you need to set up a bot using the [Discord Developer Portal](https://discord.com/developers/applications).

  1. Create a new application and set it up as a bot.
  2. Enable the **Privileged Gateway Intents** for Message Intent.
  3. Add the bot to your server with at least **read channel permissions**.



  ## Operations

  With this node, you can:
  - Listen to Discord chat messages (both server messages and direct messages).
  - React to messages with specific patterns or triggers.
  - Fetch lists of channels and roles.



  ## Credentials

  You need to authenticate the node with the following credentials:
  - **Client ID**: The OAuth2 client ID of the Discord App.
  - **Bot Token**: The bot token of the Discord App.
  - **n8n API Key**: The API key of your n8n server.
  - **Base URL**: The API URL of your n8n instance (e.g., `https://n8n.example.com/api/v1`).

  Refer to the [official n8n documentation](https://docs.n8n.io/) for more details.


  ## Compatibility

  - Tested on n8n version 1.75.2
  (coming soon)


  ## Usage

  To use this node:
  1. Install it as a community node in your n8n instance.
  2. Configure the required credentials.
  3. Set up triggers for Discord messages based on your use case.

  For more help on setting up n8n workflows, check the [Try it out documentation](https://docs.n8n.io/try-it-out/).


  ## Version history

  - **v0.8.0**: Add GuildMemberUpdate trigger, add option to rename confirm button choices.
  - **v0.7.0**: Add multiclient support. Multiple credentials across multiple workflows are now possible.
  - **v0.6.0**: Add direct message support (Thank you [Fank](https://github.com/Fank)) 
  - **v0.5.1**: Add additional timeout field for confirmation message
  - **v0.5.0**: Add a reaction trigger on messages, add attachments to message
  - **v0.4.0**: Introduce additional trigger options, such as User joins guild, User leaves guild, Role created, Role deleted or Role updated. 
  - **v0.3.2**: Update for multiple simultaneous trigger nodes with one bot.
  - **v0.3.1**: Added additional option to trigger node to trigger on other bot messages
  - **v0.3.0**: Added option to require a reference message in order to trigger the node. Enhance interaction node with a confirmation node
  - **v0.2.9**: Bug fix, where a message won't trigger when multiple trigger nodes are included.
  - **v0.2.8**: Multiple trigger nodes are now supported.
  - **v0.2.7**: A second node Discord Interaction is added to send a message with the same credentials. Additionally roles of users can be added or removed based on interaction.
  - **v0.1.5**: Initial release with message triggers and channel/role fetching capabilities.

ai_documentation_summary:
  {"purpose":"Triggers an n8n workflow automatically when specific events occur in a Discord server, such as messages, reactions, or user/role changes.","capabilities":["Listen to Discord chat messages (server and direct messages)","React to messages with specific patterns or triggers","Fetch lists of channels and roles","Trigger on GuildMemberUpdate events (user joins/leaves guild)","Trigger on Role created/deleted/updated events","Support multiple clients across different workflows","Require reference messages for triggering","Send confirmation messages with timeout options"],"authentication":"OAuth2 (Discord Client ID and Bot Token) + n8n API Key","commonUseCases":["Automate responses to incoming Discord messages","Monitor server activity and react to specific keywords","Automatically assign roles when users join or leave","Create automated workflows based on role changes","Fetch channel and role information for other nodes"],"limitations":["Requires Privileged Gateway Intents (Message Intent) to be enabled in Discord Developer Portal","Bot must have read channel permissions to function","Compatibility limited to n8n version 1.75.2 (as of documentation)","Community node (requires manual installation)"],"relatedNodes":["discordinteraction","discordwebhook","discordmessage"]}


node_type: @bitovi/n8n-nodes-google-search.googlesearch
package_name: @bitovi/n8n-nodes-google-search
display_name: googlesearch
description: N8N node to connect to Google Search
category: Community
development_style: declarative
version: 0.2.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-google-search.git
npm_package_name: @bitovi/n8n-nodes-google-search
npm_version: 0.2.1
community_fetched_at: 2026-03-25T21:19:41.769Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # @bitovi/n8n-nodes-google-search

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

  Google Search is a web search engine that allows you to find information on the internet. This node integrates with Google's Custom Search API to perform programmatic searches.

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

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

  ## Installation

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

  Alternatively:

  - 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-google-search`

  ## Operations

  The Google Search node supports the following operations:

  ### Custom Search

  - **Search Query**: Perform searches using Google's Custom Search API
  - **Return All**: Option to return all results or limit to a specific number
  - **Limit**: Set maximum number of results to return (when Return All is disabled)

  ### Additional Search Parameters

  - **Date Restrict**: Restrict results to a specific time period (past 24 hours, week, month, or year)
  - **Exact Terms**: Search for exact phrases
  - **Exclude Terms**: Exclude specific terms from search results
  - **File Type**: Filter results by file type (e.g., pdf, doc, etc.)
  - **Filter**: Enable/disable duplicate content filter
  - **HQ**: Search for pages that link to a specific URL
  - **Image Color Type**: Filter images by color type (color, gray, black and white, transparent)
  - **Image Dominant Color**: Filter images by dominant color
  - **Image Size**: Filter images by size
  - **Image Type**: Filter by image type (clipart, face, lineart, stock, photo)
  - **Link Site**: Restrict results to pages linking to a specific site
  - **Or Terms**: Search for pages containing any of the specified terms
  - **Related Site**: Find pages related to a specific URL
  - **Rights**: Filter by usage rights
  - **Safe Search Level**: Enable safe search filtering
  - **Search Type**: Specify search type (image search, etc.)
  - **Site Search**: Restrict search to a specific site
  - **Site Search Filter**: Include or exclude results from site search
  - **Sort By**: Sort results by relevance (default) or date

  ## Credentials

  To use this node, you need to authenticate with Google's Custom Search API. You'll need:

  ### Prerequisites

  1. A Google Cloud Platform account
  2. A Google Custom Search Engine set up

  ### Setting up credentials

  1. **Create a Custom Search Engine**:
     - Go to [Google Programmable Search Engine](https://programmablesearchengine.google.com)
     - Create a new search engine
     - Note the Search Engine ID (cx parameter)

  2. **Get API Key**:
     - Go to [Google Cloud Console](https://console.cloud.google.com) or [Programmable Search Engine Guide](https://developers.google.com/custom-search/v1/introduction)
     - Enable the Custom Search API
     - Create an API key
     - Copy the API key

  3. **Configure in n8n**:
     - Search Engine ID: Enter your Custom Search Engine ID
     - API Key: Enter your Google Cloud API key

  ## Compatibility

  - **Minimum n8n version**: Compatible with n8n v0.198.0 and above
  - **Node.js version**: Requires Node.js 18.10 or higher
  - **n8n API version**: Uses n8n nodes API version 1

  This node has been tested with the latest versions of n8n and should work with all current installations.

  ## Usage

  ### Basic Search

  1. Add the Google Search node to your workflow
  2. Configure your credentials (Search Engine ID and API Key)
  3. Enter your search query
  4. Set whether to return all results or limit the number
  5. Execute the workflow

  ### Advanced Search Options

  Use the "Additional Fields" section to:

  - Restrict results to a specific time period (past 24 hours, week, month, etc.)
  - Sort results by date or relevance
  - Filter results by file type, language, or site
  - Search for exact phrases or exclude specific terms
  - Filter images by size, color, or type

  ### Pagination

  The node supports automatic pagination when "Return All" is enabled, allowing you to retrieve large result sets efficiently.

  ### Example Use Cases

  - **Content Research**: Search for articles, papers, or resources on specific topics
  - **Competitor Analysis**: Monitor mentions of your brand or competitors
  - **Lead Generation**: Find contact information or company details
  - **SEO Analysis**: Research keywords and analyze search results
  - **Data Collection**: Gather information from web sources programmatically

  ## Using as an AI Agent Tool

  This node can be used as a tool in n8n's AI Agent workflows, allowing AI assistants to automatically search the web when needed.

  ### Prerequisites

  - n8n version 1.40 or higher (with AI Agent support)
  - Environment variable: `N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true`

  ### Setting the Environment Variable

  **For Docker:**

  ```bash
  docker run -e N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true n8nio/n8n
  ```

  Or in your `docker-compose.yml`:

  ```yaml
  environment:
    - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  ```

  **For npm installation:**

  ```bash
  export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
  npx n8n start
  ```

  **For Windows (PowerShell):**

  ```powershell
  $env:N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE="true"
  npx n8n start
  ```

  ### Setup Steps

  1. Set the environment variable as shown above
  2. Install this community node through n8n's Community Nodes settings
  3. Restart n8n if it was already running
  4. In your workflow, add an **AI Agent** node
  5. Click **Add Tool** in the AI Agent configuration
  6. Select **Google Search** from the available tools

  ### How It Works

  - The AI agent will automatically call the Google Search tool when it determines a web search is needed
  - The tool returns search results including titles, links, and snippets
  - Results are limited to 50 by default (configurable with the "Limit" parameter)
  - All "Additional Fields" are available for advanced filtering

  ### Tips for AI Tool Usage

  - Use descriptive prompts that might require web searches (e.g., "What are the latest trends in...")
  - The AI will decide when to use the search tool based on the conversation context
  - You can combine this with other tools for comprehensive AI workflows
  - Monitor your Google API quota as the AI may make multiple search requests

  ## 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/)
  - [Google Custom Search API documentation](https://developers.google.com/custom-search/v1/overview)
  - [Google Programmable Search Engine](https://programmablesearchengine.google.com)
  - [Google Cloud Console](https://console.cloud.google.com)

  ## License

  [MIT](./LICENSE.md)

ai_documentation_summary:
  {"purpose":"This n8n community node enables programmatic web searches using Google's Custom Search API, allowing workflows to retrieve information from the internet.","capabilities":["Execute custom search queries via Google Custom Search API","Filter results by date range (past 24h, week, month, year)","Search for exact phrases or exclude specific terms","Filter results by file type (PDF, DOC, etc.)","Filter images by size, color type, and dominant color","Restrict results to specific sites or link sites","Sort results by relevance or date","Enable safe search filtering","Support automatic pagination for large result sets","Integrate as a tool in AI Agent workflows"],"authentication":"API key required (Google Cloud API key and Custom Search Engine ID)","commonUseCases":["Content research and information gathering","Competitor analysis and brand monitoring","Lead generation and contact information retrieval","SEO keyword analysis","Automated web data collection"],"limitations":["Requires Google Cloud Platform account and Custom Search Engine setup","Requires n8n v0.198.0+ (v1.40+ for AI Agent tool usage)","Requires Node.js 18.10 or higher","Community node requires enabling community packages in n8n settings","AI Agent tool usage requires additional environment variable configuration"],"relatedNodes":["AI Agent node","HTTP Request node","Webhook node"]}


node_type: n8n-nodes-asaas-v2.asaasv2
package_name: n8n-nodes-asaas-v2
display_name: asaasv2
description: Nó n8n para integração com a API do Asaas
category: Community
development_style: declarative
version: 1.0.15
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: degoisrs
author_github_url: git+https://github.com/analixbi/n8n-nodes-asaas-v2.git
npm_package_name: n8n-nodes-asaas-v2
npm_version: 1.0.15
community_fetched_at: 2026-03-25T21:19:41.769Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-asaas-v2

  Este é um nó não oficial do n8n para integração com a API do Asaas v3.

  ## Sobre a Analix Business Intelligence

  A Analix Business Intelligence é uma empresa especializada em soluções tecnológicas para negócios, oferecendo:

  - Desenvolvimento de agentes de atendimento para redes sociais com IA
  - Sistemas de notificação automático para WooCommerce
  - Sistema de atendimento multi atendente
  - Desenvolvimento de sites WordPress com WooCommerce para venda

  ## Contato

  - Website: [analixbi.com.br](https://analixbi.com.br)
  - Email: contato@analixbi.com.br
  - Telefone: +55 (54) 99135-7745

  ## Recursos

  - Clientes
    - Criar
    - Listar
    - Buscar
    - Atualizar
    - Remover

  - Pagamentos
    - Criar
    - Listar
    - Buscar
    - Atualizar
    - Remover

  - Assinaturas
    - Criar
    - Listar
    - Buscar
    - Atualizar
    - Remover

  - Links de Pagamento
    - Criar
    - Listar
    - Buscar
    - Atualizar
    - Remover

  - PIX
    - Criar
    - Listar
    - Buscar
    - Remover

  ## Instalação

  ```bash
  npm install n8n-nodes-asaas-v2
  ```

  ## Configuração

  1. Acesse [Asaas](https://www.asaas.com)
  2. Faça login na sua conta
  3. Vá em Configurações > API
  4. Gere uma nova API Key
  5. Configure no n8n:
     - Nome: Asaas API
     - API Key: sua_api_key
     - Ambiente: Produção ou Sandbox

  ## Ambiente Sandbox

  Para testar sem custos reais, use o ambiente sandbox:

  - API Key de sandbox
  - Dados fictícios seguros
  - Sem cobranças reais

  ## Suporte

  Para suporte técnico:

  - Email: contato@analixbi.com.br
  - Telefone: +55 (54) 99135-7745
  - Website: [analixbi.com.br](https://analixbi.com.br)

  ## Licença

  MIT 

ai_documentation_summary:
  {"purpose":"An unofficial n8n node for integrating with the Asaas v3 API to manage financial operations like clients, payments, subscriptions, and PIX.","capabilities":["Create clients","List clients","Search clients","Update clients","Delete clients","Create payments","List payments","Search payments","Update payments","Delete payments"],"authentication":"API Key required","commonUseCases":["Automating client management in Brazilian businesses","Processing and tracking payments via Asaas","Managing subscription billing cycles","Handling PIX payments for instant transfers","Integrating Asaas API into n8n workflows for data processing"],"limitations":["Unofficial node (not maintained by Asaas or n8n core)","Support depends on the third-party developer (Analix Business Intelligence)"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


node_type: n8n-nodes-tesseractjs.tesseractjs
package_name: n8n-nodes-tesseractjs
display_name: tesseractjs
description: A n8n module that exposes Tesseract.js, an OCR library that can detect text on images
category: Community
development_style: declarative
version: 1.5.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: jreyesr
author_github_url: git+https://github.com/jreyesr/n8n-nodes-tesseractjs.git
npm_package_name: n8n-nodes-tesseractjs
npm_version: 1.5.1
community_fetched_at: 2026-03-25T21:19:41.769Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-tesseractjs

  This is a n8n community node. It lets you use [Tesseract.js](https://tesseract.projectnaptha.com/) in your n8n
  workflows.

  [Tesseract](https://github.com/tesseract-ocr/tesseract?tab=readme-ov-file#about) is an open source OCR (Optical
  Character Recognition) engine that can recognize text (machine/typed/printed text, not handwritten) in images (e.g. PNG
  or JPEG) or images embedded in PDF files.

  To read text from PDFs directly (not from images), you may want
  [the **Extract from PDF** operation of the built-in **Extract from file** node
  ](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.extractfromfile/#operations)

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

  You can quickly get started by importing [the sample playbook](./sample_workflow.json).

  ## Operations

  Note: both operations will output a new binary field, called `ocr`, which contains the image that was actually OCR'd.
  For input images, this will be the same image. For input PDFs, this will be each image in the PDF.

  ### Extract text

  This operation reads the text of the entire image. It outputs a JSON item containing the entire recognized text, and a "
  confidence value" indicating how likely the generated text is to match the source image, as a percentage:

  ```json
  {
  	"text": "...",
  	"confidence": 94
  }
  ```

  If passed a PDF instead of an image, the node may output several items, one for each image in the PDF. Each item will
  have the format described above.

  ### Extract boxes

  This operation also reads text, but returns more information about the bounding box of each detected block, and the
  detected
  language if available.

  The "granularity" of the detections can be controlled: you can split on paragraphs, lines, words or individual
  characters.

  ```json
  {
  	"blocks": [
  		{
  			"text": "This",
  			"confidence": 95.15690612792969,
  			"bbox": {
  				"x0": 36,
  				"y0": 92,
  				"x1": 96,
  				"y1": 116
  			},
  			"language": "eng"
  		},
  		{
  			"text": "is",
  			"confidence": 95.15690612792969,
  			"bbox": {
  				"x0": 109,
  				"y0": 92,
  				"x1": 129,
  				"y1": 116
  			},
  			"language": "eng"
  		},
  		...
  	]
  }
  ```

  ![an image of some text with Tesseract detections overlaid. Each word is surrounded in a light red box, and each box also has text on top indicating the detected word and confidence percentage](imgs/words.png)

  Entire paragraphs:

  ![an image of the same text with Tesseract per-paragraph detections overlaid as one red box covering each paragraph](imgs/paragraphs.png)

  Per-line statistics:

  ![an image of the same text with Tesseract per-line detections overlaid as one red box covering each line](imgs/lines.png)

  If passed a PDF instead of an image, the node may output several items, one for each image in the PDF. Each item will
  have the format described above.

  ## Compatibility

  This node has been tested on n8n v1.68.0, but should also work on older versions. If you encounter an issue with an
  older version, please [raise an issue](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues).

  ## Usage

  ### Input Image Field Name

  All Operations of this node have a field **Input Image Field Name**, where the _name_ of a Binary item should be
  provided:

  ![a screenshot of the node UI showing an input item with Binary data](imgs/iifn.png)

  The Binary file with that name will be read and processed. It should be an image or a PDF document. If a PDF, all images
  inside the PDF will be extracted and processed separately.

  ### Detect on Entire Image?

  It's possible to limit the OCR to a certain segment of an image, by toggling the **Detect on Entire Image?** switch
  to Off. When doing so, it's necessary to provide the top and left coordinates of the desired bounding box, and the width
  and height of the box. For example:

  ![a screenshot of the node settings showing that when the Detect on Entire Image switch is Off, there are fields to provide the top, left, width and height of the desired bounding box](imgs/bbox.png)

  This could delineate a region like this:

  ![an image with some text and a light green box that covers only part of it](imgs/bbox_vis.png)

  When performing OCR on that region, it'd only return the text that was contained in that box, even truncating words of
  they lie halfway across the bounding box's borders:

  ![an image with some text and the OCR detections overlaid, showing that only text that lies inside the area of interest has been recognized](imgs/bbox_ocr.png)

  ### Force Resolution

  This option can be used if Tesseract can't autodetect the image's resolution, such as a PNG that doesn't carry that
  information.

  ### Minimum Confidence

  Each recognized block of text (the entire image in the Extract Text operation, or a block such as a paragraph, word or
  letter in the Extract Boxes operation) has a `confidence` value
  that [correlates with the likelihood of the recognized text being correct](https://groups.google.com/g/tesseract-ocr/c/SN8L0IA_0D4/m/sFG8cvitAQAJ).
  Lower confidences are more likely to contain wrong characters or be junk (such as the OCR engine "recognizing" text in
  an image that has none).

  > In my experience values below 95 are usually unusable. Above 99 is usually correct. I would set the threshold
  > somewhere between 97.5 and 98.5 depending on your requirements.
  >
  > The lowest value I have ever seen is 75 but anything below 90 is extremely rare, even below 95 is rare.

  Set the Minimum Confidence option to filter low-confidence results. Ony results that have a confidence _greater than or
  equal to_ this value will be returned. By default, or if not provided, it'll be 0, meaning that no filtering will be
  performed (because confidence is an integer between 0 and 100, so all confidences are greater than or equal to zero).

  ### Timeout

  If you'd like to abort OCR when a certain image takes too long to process, set the Timeout option (in milliseconds).

  Any items that take longer than that time to process will be interrupted and raise an error.
  Set [On Error](https://community.n8n.io/t/issue-with-continue-using-error-output-never-any-output/57194) on the node's
  Settings if you want execution to continue.

  Items that time out will have the `error` or `timeout` key set in the JSON output, so they can be extracted later if
  desired. Items that have a `confidence` were successfully processed.

  ### Controlling which characters can and can't be recognized

  If you know that the source image can only have certain characters (e.g. license plates that can only have uppercase
  letters, numbers or a dash) or can't have certain characters (e.g. if Tesseract is inserting question marks when there
  aren't any), you can explicitly specify which characters will be allowed or which characters will be ignored.

  For example, when only the digits 0-9 are allowed, and splitting on words:

  ![a screenshot of text where only a number 12 has been detected. All other characters, which are letters, are ignored](imgs/whitelist.png)

  Or, when disallowing all uppercase characters:

  ![a screenshot of text where the capital letters that start each sentence have been ignored](imgs/blacklist.png)

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Tesseract.js's docs](https://github.com/naptha/tesseract.js/tree/master/docs)

  ## Version history

  ### v1.0.0

  Initial version, contains the **Extract text** and **Extract boxes** operations.

  ### v1.0.1

  * Fix the installation on N8N instances from NPM
  * Add the toggle switch for specifying a bounding box

  ### v1.1.0

  * Add the ability to control the Tesseract PSM (block, column, single line, single word, sparse text)
  * Add a setting to override the detected DPI of the image
  * Add the ability to specify the whitelist and blacklist

  ### v1.2.0

  * Update the Tesseract.JS version to v6.0.0. No user-facing changes.
  	Please [report any issues that you find](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues)!

  ### v1.3.0

  * Add a Timeout option to control the max processing time
  	(closes [#3](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues/3))

  ### v1.4.0

  * Add the ability to extract all images from a PDF and process them, in addition to single images
  	(closes [#4](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues/4))

  ### v1.4.1

  * Add proper handling for images that are repeated across pages (e.g. logo on header, page background,
  	image that was copy-pasted on several pages), which are stored separately from page-specific images

  ### v1.4.2

  * Add options to resize the images before OCR and to not return binary data (solves Invalid string length error on large
  	images)

  ### v1.5.0

  * Add option to filter low confidence results (closes [#4](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues/4))
  * Downgrade `pdfjs-dist` to v5.3.31 to match N8N's own copy, because otherwise this node conflicted with the Extract
  	From File node (closes [#5](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues/5))

  ### v1.5.1

  No user-facing changes, should work exactly like v1.5.0.
  Please [raise an issue](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues) if anything breaks when upgrading from
  v1.5.0 to v1.5.1!

  * Changes the PDF library (added in v1.4.0) from `pdfjs-dist` to `pdf-lib` due to unexplained crashes (e.g. in Synology
  	devices and some virtualized environments) ([#7](https://github.com/jreyesr/n8n-nodes-tesseractjs/issues/7))

  ## Developer info

  ```bash
  npm i
  ```

  To add this node to a local N8N install:

  ```shell
  npm link
  npm run dev # or npm build the first time or when adding assets, such as the node's logo

  # in ~/.n8n/custom
  npm link n8n-nodes-tesseractjs
  ```

  ### Releasing changes

  1. Bump the version in package.json. We use SemVer.
  2. Add an entry on the [Version History](#version-history) section above describing the changes.
  3. Push changes, open a PR and merge it to master branch (if developing on another branch)
  4. Create a release. This will kick off the CI which will build and publish the package on NPM

ai_documentation_summary:
  {"purpose":"A n8n community node that integrates Tesseract.js to perform Optical Character Recognition (OCR) on images and PDFs, extracting text with confidence scores and optional bounding box coordinates.","capabilities":["Extract text from entire images or PDFs","Extract text with bounding box coordinates (words, lines, paragraphs, characters)","Detect recognized language","Filter text by minimum confidence threshold","Process specific image regions via bounding box coordinates","Handle images embedded in PDF files","Output confidence percentages for recognized text"],"authentication":"None","commonUseCases":["Digitizing scanned documents","Extracting text from image-based invoices or forms","Processing PDFs containing embedded images","Filtering low-quality OCR results using confidence thresholds"],"limitations":["Cannot recognize handwritten text","Cannot read text directly from PDFs without extracting images first","May output multiple items when processing PDFs with multiple images","Text truncation may occur if words cross bounding box boundaries"],"relatedNodes":["Extract from file","Binary","Code","HTTP Request"]}


node_type: @mbakgun/n8n-nodes-slack-socket-mode.slacksocketmode
package_name: @mbakgun/n8n-nodes-slack-socket-mode
display_name: slacksocketmode
category: Community
development_style: declarative
version: 1.6.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: mbakgun
author_github_url: git+https://github.com/mbakgun/n8n-slack-socket-mode.git
npm_package_name: @mbakgun/n8n-nodes-slack-socket-mode
npm_version: 1.6.2
community_fetched_at: 2026-03-25T21:19:41.770Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  Slack Socket Mode Node for n8n that allows you to use +100 Slack events in your n8n instance with proxy mode

npm_readme:
  # @mbakgun/n8n-nodes-slack-socket-mode

  <div align="center">
    <img src="https://raw.githubusercontent.com/n8n-io/n8n/master/assets/n8n-logo.png" width="200" alt="n8n logo">
    <h3>+</h3>
    <img src="https://cdn.worldvectorlogo.com/logos/slack-new-logo.svg" width="100" alt="Slack logo">
  </div>

  This is an n8n community node that lets you use Slack Socket Mode in your n8n workflows. It enables real-time event processing from Slack without requiring public URLs for webhooks.

  Since the current integration of Slack in n8n only supports webhooks, this node allows you to use the Slack Socket Mode to listen to events in your Slack workspace in real-time, even in local development environments.

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

  ## Table of Contents
  - [Installation](#installation)
  - [Slack App Setup](#slack-app-setup)
  - [Credentials](#credentials)
  - [Node Configuration](#node-configuration)
  - [Supported Events](#supported-events)
  - [Usage Examples](#usage-examples)
  - [Example Workflow](#example-workflow)
  - [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.

  Using Bun (recommended):
  ```bash
  bun add @mbakgun/n8n-nodes-slack-socket-mode
  ```

  Using npm:
  ```bash
  npm install @mbakgun/n8n-nodes-slack-socket-mode
  ```

  After installation, restart n8n and the node will be available in the nodes panel.

  ### Development Setup

  This project uses [Bun](https://bun.sh) as its package manager. To set up your development environment:

  1. Install Bun:
     ```bash
     curl -fsSL https://bun.sh/install | bash
     ```
     
  2. Install dependencies:
     ```bash
     bun install
     ```
     
  3. Build the project:
     ```bash
     bun run build
     ```

  ## Slack App Setup

  Before using this node, you need to create a Slack app with Socket Mode enabled:

  1. Go to [https://api.slack.com/apps](https://api.slack.com/apps) and create a new app
  2. Navigate to "Socket Mode" in the left sidebar and enable it
  3. Generate an 'App-Level Token' with the `connections:write` scope
  4. Go to "OAuth & Permissions" and add the following Bot Token Scopes:
     - `app_mentions:read`
     - `channels:history`
     - `channels:read`
     - `chat:write`
     - `commands`
     - `reactions:read`
     - `team:read`
     - (Add any other scopes required for your use case)
  5. Install the app to your workspace (This will generate a 'Bot User OAuth Token')
  6. Copy the Bot User OAuth Token, App-Level Token, and Signing Secret(from the 'Basic Information' section) for credential setup
  7. Go to 'Event Subscriptions' and enable 'Socket Mode'
  8. Subscribe to the events you want to listen to (e.g. `app_mention`, `message`, `reaction_removed`, `reaction_added`)

  ## Credentials

  To use this node, you need to set up credentials with the following information:

  - **Bot Token**: Your Slack Bot User OAuth Token (starts with `xoxb-`)
  - **App-Level Token**: Your Slack App-Level Token for Socket Mode (starts with `xapp-`)
  - **Signing Secret**: Your Slack App Signing Secret

  These values can be found in your Slack App configuration.

  ## Node Configuration

  The Slack Socket Trigger node can be configured with the following options:

  - **Trigger On**: Select which Slack events should trigger your workflow:
    - All Slack events are now supported (app_mention, message, reaction events, channel events, etc.)
    - See the Supported Events section below for a complete list of available events

  - **Regex Pattern**: Optional regular expression to match against the entire event JSON structure (not just message text). This allows matching on any field in the event, such as subtypes, attachment colors, user IDs, etc.
    - Example: `(?=.*bot_message)(?=.*#FF0000)` matches events that contain both `bot_message` and the color `#FF0000`
    - Example: `help|assist|support` matches events containing any of these words anywhere in the event data
  - **Regex Flags**: Flags for the regular expression (e.g., `g` for global, `i` for case-insensitive)
  - **Slash Commands**: Comma-separated list of slash commands to listen for (e.g., `deploy, status, help`). Leave empty to listen for all slash commands. Do not include the leading slash.
  - **Channels to Watch**: Optional list of channels to filter events. Click **Add Channel** to add channels. Each channel can be selected from the dropdown or entered by ID (e.g., `C1234567890`, `G1234567890`)
  - **Legacy Channel to Watch**: Preserved single-channel selector for workflows created before version 1.4.2

  This node supports using an HTTP or HTTPS proxy by reading the following environment variables:

  ```bash
  export HTTP_PROXY=http://proxy.example.com:3128
  # or
  export HTTPS_PROXY=http://proxy.example.com:3128
  ```

  ## Supported Events

  The node currently supports the following Slack events:

  - `app_mention`: When your bot is mentioned in a channel
  - `block_actions`: When a user interacts with buttons, including NPS-style ratings
  - `message`: When a message is posted to a channel the app is added to
  - `channel_created`: When a new public channel is created
  - `team_join`: When a new user is added to Slack
  - `reaction_added`: When a reaction is added to a message
  - `reaction_removed`: When a reaction is removed from a message
  - `app_deleted`: User has deleted an app
  - `app_home_opened`: User clicked into your App Home
  - `app_installed`: User has installed an app
  - `app_mention`: Subscribe to only the message events that mention your app or bot
  - `app_rate_limited`: Indicates your app's event subscriptions are being rate limited
  - `app_requested`: User requested an app
  - `app_uninstalled`: Your Slack app was uninstalled
  - `app_uninstalled_team`: User has uninstalled an app
  - `assistant_thread_context_changed`: The context changed while an AI assistant thread was visible
  - `assistant_thread_started`: An AI assistant thread was started
  - `bot_added`: A bot user was added
  - `bot_changed`: A bot user was changed
  - `call_rejected`: A Call was rejected
  - `channel_archive`: A channel was archived
  - `channel_created`: A channel was created
  - `channel_deleted`: A channel was deleted
  - `channel_history_changed`: Bulk updates were made to a channel's history
  - `channel_id_changed`: A channel ID changed
  - `channel_joined`: You joined a channel
  - `channel_left`: You left a channel
  - `channel_marked`: Your channel read marker was updated
  - `channel_rename`: A channel was renamed
  - `channel_shared`: A channel has been shared with an external workspace
  - `channel_unarchive`: A channel was unarchived
  - `channel_unshared`: A channel has been unshared with an external workspace
  - `commands_changed`: A slash command has been added or changed
  - `dnd_updated`: Do not Disturb settings changed for the current user
  - `dnd_updated_user`: Do not Disturb settings changed for a member
  - `email_domain_changed`: The workspace email domain has changed
  - `emoji_changed`: A custom emoji has been added or changed
  - `external_org_migration_finished`: An enterprise grid migration has finished on an external workspace
  - `external_org_migration_started`: An enterprise grid migration has started on an external workspace
  - `file_change`: A file was changed
  - `file_comment_added`: A file comment was added
  - `file_comment_deleted`: A file comment was deleted
  - `file_comment_edited`: A file comment was edited
  - `file_created`: A file was created
  - `file_deleted`: A file was deleted
  - `file_public`: A file was made public
  - `file_shared`: A file was shared
  - `file_unshared`: A file was unshared
  - `function_executed`: Your app function is executed as a step in a workflow
  - `goodbye`: The server intends to close the connection soon
  - `grid_migration_finished`: An enterprise grid migration has finished on this workspace
  - `grid_migration_started`: An enterprise grid migration has started on this workspace
  - `group_archive`: A private channel was archived
  - `group_close`: You closed a private channel
  - `group_deleted`: A private channel was deleted
  - `group_history_changed`: Bulk updates were made to a private channel's history
  - `group_joined`: You joined a private channel
  - `group_left`: You left a private channel
  - `group_marked`: A private channel read marker was updated
  - `group_open`: You created a group DM
  - `group_rename`: A private channel was renamed
  - `group_unarchive`: A private channel was unarchived
  - `hello`: The client has successfully connected to the server
  - `im_close`: You closed a DM
  - `im_created`: A DM was created
  - `im_history_changed`: Bulk updates were made to a DM's history
  - `im_marked`: A direct message read marker was updated
  - `im_open`: You opened a DM
  - `invite_requested`: User requested an invite
  - `link_shared`: A message was posted containing one or more links relevant to your application
  - `manual_presence_change`: You manually updated your presence
  - `member_joined_channel`: A user joined a public channel, private channel or MPDM
  - `member_left_channel`: A user left a public or private channel
  - `message`: A message was sent to a channel
  - `message.app_home`: A user sent a message to your Slack app
  - `message.channels`: A message was posted to a channel
  - `message.groups`: A message was posted to a private channel
  - `message.im`: A message was posted in a direct message channel
  - `message.mpim`: A message was posted in a multiparty direct message channel
  - `message_metadata_deleted`: Message metadata was deleted
  - `message_metadata_posted`: Message metadata was posted
  - `message_metadata_updated`: Message metadata was updated
  - `pin_added`: A pin was added to a channel
  - `pin_removed`: A pin was removed from a channel
  - `pref_change`: You have updated your preferences
  - `presence_change`: A member's presence changed
  - `presence_query`: Determine the current presence status for a list of users
  - `presence_sub`: Subscribe to presence events for the specified users
  - `reaction_added`: A member has added an emoji reaction to an item
  - `reaction_removed`: A member removed an emoji reaction
  - `reconnect_url`: Experimental
  - `resources_added`: Access to a set of resources was granted for your app
  - `resources_removed`: Access to a set of resources was removed for your app
  - `scope_denied`: OAuth scopes were denied to your app
  - `scope_granted`: OAuth scopes were granted to your app
  - `shared_channel_invite_accepted`: A shared channel invite was accepted
  - `shared_channel_invite_approved`: A shared channel invite was approved
  - `shared_channel_invite_declined`: A shared channel invite was declined
  - `shared_channel_invite_received`: A shared channel invite was sent to a Slack user
  - `shared_channel_invite_requested`: A shared channel invite was requested
  - `star_added`: A member has saved an item for later or starred an item
  - `star_removed`: A member has removed an item saved for later or starred an item
  - `subteam_created`: A User Group has been added to the workspace
  - `subteam_members_changed`: The membership of an existing User Group has changed
  - `subteam_self_added`: You have been added to a User Group
  - `subteam_self_removed`: You have been removed from a User Group
  - `subteam_updated`: An existing User Group has been updated or its members changed
  - `team_access_granted`: Access to a set of teams was granted to your org app
  - `team_access_revoked`: Access to a set of teams was revoked from your org app
  - `team_domain_change`: The workspace domain has changed
  - `team_join`: A new member has joined
  - `team_migration_started`: The workspace is being migrated between servers
  - `team_plan_change`: The account billing plan has changed
  - `team_pref_change`: A preference has been updated
  - `team_profile_change`: The workspace profile fields have been updated
  - `team_profile_delete`: The workspace profile fields have been deleted
  - `team_profile_reorder`: The workspace profile fields have been reordered
  - `team_rename`: The workspace name has changed
  - `tokens_revoked`: API tokens for your app were revoked
  - `url_verification`: Verifies ownership of an Events API Request URL
  - `user_change`: A member's data has changed
  - `user_resource_denied`: User resource was denied to your app
  - `user_resource_granted`: User resource was granted to your app
  - `user_resource_removed`: User resource was removed from your app
  - `user_typing`: A channel member is typing a message
  - `view_submission`: When a modal view is submitted 
  - `view_closed`: When a modal view is closed
  - `workflow_deleted`: A workflow that contains a step supported by your app was deleted
  - `workflow_published`: A workflow that contains a step supported by your app was published
  - `workflow_step_deleted`: A workflow step supported by your app was removed from a workflow
  - `workflow_step_execute`: A workflow step supported by your app should execute
  - `workflow_unpublished`: A workflow that contains a step supported by your app was unpublished
  - `slash_command`: When a user invokes a slash command

  ## Usage Examples

  ### Respond to mentions

  Configure the node to trigger on `app_mention` events to make your workflow respond when someone mentions your bot.

  ### Process messages matching a pattern

  Use the Regex Pattern field to only trigger on messages that match a specific pattern:
  - Pattern: `help|assist|support`
  - Flags: `i`

  This will trigger the workflow only when messages containing "help", "assist", or "support" (case-insensitive) are posted.

  ### Monitor channel creation

  Set the trigger to `channel_created` to run workflows whenever a new channel is created in your workspace.

  ## Example Workflow

  Here's an example of a simple workflow that responds to Slack mentions:

  ```
  [Slack Socket Trigger] → [JSON Parse] → [IF] → [HTTP Request] → [Slack]
  ```

  1. **Slack Socket Trigger**: Configured to trigger on app mentions
  2. **JSON Parse**: Extracts the message text and channel from the event data
  3. **IF**: Checks if the message contains certain keywords
  4. **HTTP Request**: Fetches relevant data based on the message
  5. **Slack**: Sends a response back to the channel

  This workflow allows you to create a Slack bot that responds to mentions with data from external APIs, all without needing to expose your n8n instance to the internet.

  ## Compatibility

  - Requires n8n version 1.6.0 or later
  - Tested against n8n versions 1.91.3
  - Uses Bun as package manager for improved performance

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Slack API Documentation](https://api.slack.com/apis)
  - [Slack Socket Mode Documentation](https://api.slack.com/apis/connections/socket)
  - [Slack Events API Documentation](https://api.slack.com/events)
  - [Bun Documentation](https://bun.sh/docs)

  ### Workflow Building Tools

  - [n8n Builder](https://n8nbuilder.dev/) - AI-powered workflow generator. Great for quickly prototyping Socket Mode workflows with natural language.

  ## Contributors

  We appreciate all contributions to this project! 🎉

  ### How to Contribute

  1. Fork the repository
  2. Create a feature branch (`git checkout -b feature/amazing-feature`)
  3. Make your changes
  4. Run tests and ensure build passes (`bun run build`)
  5. Commit your changes (`git commit -m 'Add some amazing feature'`)
  6. Push to the branch (`git push origin feature/amazing-feature`)
  7. Open a Pull Request

  Special thanks to all contributors who help improve this project!

  ## Version History

  - **1.6.1**: Added slash command trigger support by **[@ydogukan-yd](https://github.com/ydogukan-yd)**
    - Added `slash_command` event listener for handling slash commands
    - Added configurable slash commands field to filter specific commands
    - Enables building interactive Slack workflows with custom slash commands in n8n
  - **1.6.0**: Upgraded @slack/bolt to v4.6.0
    - Fixed dependency resolution issues that caused `ENOENT` errors during installation
    - Resolved nested dependency conflicts with `@slack/logger` and other Slack packages
    - If you experienced installation errors, please upgrade to 1.6.0
  - **1.5.1**: Added modal view event support by **[@unbalanced](https://github.com/unbalanced)**
    - Added `view_submission` event listener for handling modal form submissions
    - Added `view_closed` event listener for detecting when modals are dismissed
    - Enables building interactive Slack workflows with modal forms in n8n
  - **1.5.0**: Enhanced regex pattern matching for entire event structure
    - Changed regex matching to work against the entire event JSON instead of just the text field
    - Enables matching on any event property including subtypes, attachment colors, metadata, etc.
    - Supports complex patterns like `(?=.*bot_message)(?=.*#FF0000)` to match multiple conditions
    - Provides more flexible event filtering for advanced use cases
  - **1.4.2**: Fixed multi-channel selector implementation
    - Each channel entry now properly supports both dropdown selection and manual ID input
    - Maintained backward compatibility with legacy single-channel selector
  - **1.3.6**: Production release with enhanced event handler architecture
    - Stable release of message event handler improvements from 1.3.5
    - Production-ready named function handlers for all message events
    - Verified event capture and processing reliability
    - Ready for enterprise deployments with improved debugging capabilities
  - **1.3.5**: Enhanced message event handler architecture for better app event handling
    - Refactored message event handlers into named functions (handleMessageEvent, handleMessageSubtypeEvent)
    - Fixed event capture and processing by separating handler definition from registration
    - Improved app.event() listener registration to properly catch all message events
    - Enhanced code maintainability and debugging with named function handlers
    - Better event handling reliability for message and message subtype events
  - **1.3.3**: Improved message event handling
    - Refactored message event listeners to use app.event() instead of app.message()
    - Fixed regex state management by resetting lastIndex for global regex flags
    - Enhanced null safety with explicit event and text validation
    - Reduced code duplication in message subtype handling
    - Improved early return pattern for better code readability
  - **1.3.2**: Fixed block actions acknowledgement by **[@keenlim](https://github.com/keenlim)**
    - Added proper acknowledgement for block actions interactions
    - Fixed socket to Slack communication for button interactions
  - **1.3.1**: Enhanced channel filtering for all event types
    - Fixed channel filtering for events like `reaction_added`, `pin_added`, `file_shared`, etc.
    - Added comprehensive channel ID extraction from multiple event properties (`event.channel`, `event.item.channel`, `event.item.channel_id`, `event.file.channels`)
  - **1.3.0**: Channel filtering feature by **[@tongshengng](https://github.com/tongshengng)**
    - Added "Channel to watch" field similar to official Slack trigger node
    - Implemented optional channel ID parameter to filter incoming Slack events
    - Added searchable dropdown with channel selection via Slack API
    - Improved event targeting by filtering events from specific channels only
    - Added channel ID format validation for manual entry
  - **1.2.5**: Added proxy support by **[@minimorph223](https://github.com/minimorph223)**
    - Added `http-proxy-agent` dependency for HTTP/HTTPS proxy support
    - Enhanced connectivity options for enterprise environments
  - **1.2.3**: Enhanced message filtering by **[@macchiang](https://github.com/macchiang)**
    - Fixed invalid `message.im` event type with proper channel_type filtering
    - Added support for filtering Slack messages by channel type (channels, groups, im, mpim, app_home)
    - Improved message filtering capabilities using Slack Bolt framework best practices
    - Resolved TypeScript typing issues
  - **1.2.0**: Added support for all Slack events
    - Updated to include all events from the Slack Events API
    - Improved event descriptions and documentation
  - **1.0.0**: Initial release - Project initialized with Socket Mode support for Slack events
    - Support for app_mention, message, reaction events
    - Added button interaction support

  ## License

  MIT License

  Copyright (c) 2025 Mehmet Burak Akgün

  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":"A n8n community node that enables real-time Slack Socket Mode integration, allowing workflows to listen to and process over 100 Slack events without requiring public webhook URLs.","capabilities":["Real-time event processing from Slack","Support for 100+ Slack event types including messages, reactions, and channel events","Regex pattern matching on entire event JSON structures","Regex flag configuration for flexible filtering","Slash command listening","Channel filtering by ID","HTTP/HTTPS proxy support for local development","No public webhook URL requirement"],"authentication":"None (uses Slack App-Level Token, Bot User OAuth Token, and Signing Secret via credentials)","commonUseCases":["Real-time monitoring of Slack messages and reactions","Automated responses to specific message patterns or subtypes","Local development environments without exposing public webhooks","Slash command automation","Event-based workflow triggers based on channel or user activity"],"limitations":["Requires manual Slack App setup with Socket Mode enabled","Requires specific token scopes and permissions to be configured in Slack","Proxy configuration requires environment variables (HTTP_PROXY or HTTPS_PROXY)","Legacy channel selector may not work in newer workflows (version 1.4.2+)"],"relatedNodes":["Slack Webhook Trigger","Slack Webhook Response","Slack Webhook Trigger (Community)","Slack Webhook Response (Community)"]}


node_type: n8n-nodes-better-ai-agent.betteraiagent
package_name: n8n-nodes-better-ai-agent
display_name: betteraiagent
description: A better AI Agent node for n8n with improved memory management and modern AI SDK integration
category: Community
development_style: declarative
version: 1.6.16
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: fjrdomingues
npm_package_name: n8n-nodes-better-ai-agent
npm_version: 1.6.16
community_fetched_at: 2026-03-25T21:19:41.771Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # Better AI Agent for n8n

  An improved AI Agent node for n8n that provides better memory management, modern AI SDK integration and a webhook option to push intermediate messages as they happen.

  ## Features

  - **Conversation Memory that includes Tools** – every user message, tool call and tool result is stored.
  - **Modern AI SDK Providers** – wraps OpenAI (including GPT-5), Gemini and Anthropic through stable Vercel AI SDK v4.
  - **Live Streaming Updates**: Intermediate Webhook URL lets you push each agent step in real-time

  ## Installation

  ```bash
  npm install n8n-nodes-better-ai-agent
  ```

  ## Compatibility

  This node is designed to be a drop-in replacement for the existing AI Agent node while providing enhanced functionality:

  - ✅ Works with existing Language Model nodes
  - ✅ Works with existing Memory nodes  
  - ✅ Works with existing Tool nodes
  - ✅ Works with existing Output Parser nodes
  - ✅ Maintains same input/output interface

  ## Key Improvements Over Standard Agent

  ### 1. Memory Management
  - **Problem**: Original agent doesn't save tool calls to memory
  - **Solution**: Every interaction (human messages, AI responses, tool calls, tool results) is properly saved

  ### 2. Modern AI SDK
  - **Problem**: Uses deprecated LangChain patterns
  - **Solution**: Built on Vercel AI SDK for better performance and reliability

  ### 3. Simplified Configuration
  - **Problem**: Complex agent type selection with lots of conditional logic
  - **Solution**: Single, powerful agent that adapts to your needs

  ## Usage

  ### Basic Setup

  1. **Add the node** to your workflow
  2. **Connect a Language Model** (OpenAI, Anthropic, etc.)
  3. **Optionally connect**:
     - Memory node for conversation persistence
     - Tool nodes for enhanced capabilities
     - Output Parser for structured responses

  ### Input Sources

  Choose how to provide the user prompt:

  - **Connected Chat Trigger Node**: Automatically uses `chatInput` from chat triggers
  - **Define below**: Use expressions or static text

  ### Configuration Options

  - **System Message**: Define the agent's behavior and personality
  - **Max Tool Calls**: Limit the number of tool interaction rounds
  - **Intermediate Webhook URL**: Send each partial reply/tool-call to an external workflow in real-time
  - **Verbose Logs**: Enable/disable detailed console logging
  - **Temperature**: Control response creativity (0.0 = deterministic, 1.0 = creative)
  - **Max Tokens**: Set response length limits

  ### Example Workflow

  ```
  Chat Trigger → Better AI Agent → Response
                ↗ OpenAI Model
                ↗ Buffer Memory
                ↗ Calculator Tool
                ↗ Web Search Tool
  ```

  ## Technical Details

  ### Tool Call Memory

  Unlike the original agent, this node ensures that all tool interactions are preserved in memory:

  ```
  User: "What's 25 * 47 and then search for that number"
  Assistant: [calls calculator tool]
  Tool: "1175"
  Assistant: [calls web search tool with "1175"]
  Tool: [search results]
  Assistant: "The result is 1175. Here's what I found about it..."
  ```

  All of these interactions are saved to memory for future reference.

  ### AI SDK Integration

  Uses modern patterns from Vercel AI SDK:

  - Built-in tool calling support
  - Automatic conversation management
  - Better error handling
  - Real-time step streaming via `onStepFinish`

  ### Known Limitations

  | Limitation | Work-around |
  |------------|------------|
  | n8n UI does not highlight the attached model or tool nodes because only the Agent executes code | Rely on the Agent output or streamed webhook messages for visibility |
  | Tool nodes without an explicit Zod/JSON schema (e.g. raw HTTP Request) may receive incorrect argument keys | Wrap such tools in a **Custom Code Tool** and define a schema, or add few-shot examples |
  | Streaming is step-level, not token-level; the n8n node outputs only when the Agent finishes | Use the Intermediate Webhook to push interim messages to a Chat, Slack, etc. |
  | The node's dependencies must be available next to `~/.n8n/custom/BetterAiAgent.node.js` | Run `npm run deploy-local` (copies `package.json` and installs runtime deps) |

  ## Development

  ### Building from Source

  ```bash
  git clone <repository>
  cd better-ai-agent
  npm install
  npm run build
  ```

  ### Testing

  ```bash
  npm test
  ```

  ### Publishing

  ```bash
  npm run package
  npm publish
  ```

  ## Troubleshooting

  ### Common Issues

  1. **"No language model connected"**: Ensure you've connected a language model node
  2. **Tool calls not working**: Verify your tools are properly configured and connected
  3. **Memory not persisting**: Check that your memory node is correctly connected

  ### Debug Information

  The node outputs additional debug information:

  - `usage`: Token usage statistics
  - `finishReason`: Why the generation stopped
  - `toolCalls`: List of tools that were called
  - `toolResults`: Results from tool executions

  ## Contributing

  We welcome contributions! Please see our contributing guidelines for more information.

  ## License

  MIT License - see LICENSE file for details.

  ## Support

  - Create an issue for bugs or feature requests
  - Join the n8n community for general support
  - Check the documentation for detailed usage examples 

ai_documentation_summary:
  {"purpose":"A n8n node that provides an improved AI Agent with enhanced memory management for tool calls, modern Vercel AI SDK integration, and real-time streaming updates.","capabilities":["Stores conversation history including tool calls and results","Integrates with OpenAI, Gemini, and Anthropic via Vercel AI SDK v4","Supports live streaming of intermediate agent steps via webhook","Adapts to different agent needs with a single powerful agent configuration","Outputs debug information including token usage, finish reason, tool calls, and tool results","Supports custom system messages and temperature control"],"authentication":"None","commonUseCases":["Replacing the standard AI Agent node with enhanced memory features","Building chatbots that need to track tool interactions across conversations","Streaming partial agent responses to external channels like Slack or Chat","Integrating with existing Language Model, Memory, and Tool nodes"],"limitations":["n8n UI does not highlight attached model or tool nodes (only the Agent executes code)","Tool nodes without explicit Zod/JSON schemas may receive incorrect argument keys","Streaming is step-level rather than token-level","Node dependencies must be installed locally using npm run deploy-local"],"relatedNodes":["Language Model","Memory","Tool","Output Parser","Chat Trigger"]}


node_type: n8n-nodes-helicone.helicone
package_name: n8n-nodes-helicone
display_name: helicone
description: n8n node for Helicone AI gateway and observability
category: Community
development_style: declarative
version: 1.0.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: _juliettech
author_github_url: git+https://github.com/Helicone/n8n-nodes-helicone.git
npm_package_name: n8n-nodes-helicone
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:41.771Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-helicone

  This is an n8n community node that provides a LangChain-compatible Helicone Chat Model for use in AI chains and workflows. The node routes requests to your chosen LLM provider through the Helicone AI Gateway.

  [Helicone](https://helicone.ai) is an open-source LLM observability platform that helps developers monitor, debug, and improve production AI applications.

  ## Installation

  ### 1. Build the Node
  Clone the repository and install dependencies:
  ```bash
  git clone https://github.com/helicone/n8n-nodes-helicone.git
  cd n8n-nodes-helicone
  pnpm install
  pnpm build
  ```

  ### 2. Install as n8n Community Node
  You can install this node as an n8n community node:

  ```bash
  # Install via npm
  npm install n8n-nodes-helicone

  # Or install via pnpm
  pnpm add n8n-nodes-helicone
  ```

  ### 3. Alternative: Manual Installation
  If you prefer to install manually, navigate to your n8n folder (usually `~/.n8n` on macOS/Linux):
  ```bash
  cd ~/.n8n
  mkdir custom
  cd custom
  pnpm init
  ```

  Link your built node to the n8n custom folder:
  ```bash
  pnpm link /path/to/your/n8n-nodes-helicone
  ```
  Replace `/path/to/your/n8n-nodes-helicone` with the actual path to your repository.

  ### 4. Start n8n
  ```bash
  n8n start
  ```

  ### 5. Access n8n Interface
  Open your browser and go to: `http://localhost:5678`

  ## 6. Add Helicone API Credentials

    - Go to **Credentials > New**
    - Select **Helicone LLM Observability**
    - Enter your Helicone API key (get it from [Helicone Dashboard](https://helicone.ai/dashboard))
    - The base URL is automatically set to `https://ai-gateway.helicone.ai/`

  ## 7. Create a workflow and add your Helicone Chat Model node

  The Helicone Chat Model node is designed to work as part of any AI chain. It outputs a LangChain-compatible model that can be used with other AI nodes.

  **Node Configuration:**
  1. **AI Model:** Choose any model supported by Helicone AI Gateway (find them here: https://helicone.ai/models - e.g, `gpt-4.1-mini`, `claude-3-opus-20240229`).
  2. **Options:**
     - **Temperature:** Sampling temperature (0-2)
     - **Max Tokens:** Maximum number of tokens to generate
     - **Top P:** Nucleus sampling parameter (0-1)
     - **Frequency Penalty:** Control repetition (-2 to 2)
     - **Presence Penalty:** Control new topics (-2 to 2)
     - **Response Format:** Text or JSON
     - **Timeout:** Request timeout in milliseconds
     - **Max Retries:** Number of retry attempts

  **Helicone Options:**
  - **Custom Properties:** JSON object for metadata and filtering
  - **Session Tracking:** Session ID, Path, and Name for grouping requests
  - **Caching:** Enable response caching with configurable TTL (up to 365 days)

  ## How It Works

  The Helicone Chat Model node uses the [Helicone AI Gateway](https://ai-gateway.helicone.ai) to route requests to your chosen LLM provider. The node implements the `LmChatHelicone` class and provides a LangChain-compatible ChatOpenAI interface.

  This provides:
  - **Unified Interface:** Single endpoint for multiple providers
  - **Automatic fallbacks:** If the primary provider is down, the node will automatically use a fallback provider
  - **Observability:** Track usage, performance, and costs across providers
  - **Caching:** Reduce costs with intelligent response caching and reduce latency with intelligent caching
  - **Session Tracking:** Group related requests with session management
  - **Custom Properties:** Add metadata for filtering and analysis

  ## Usage in AI Chains

  This node is designed to be used as part of n8n's AI chain functionality:

  1. **Add the Helicone Chat Model node** to your workflow
  2. **Configure the model** with your desired parameters
  3. **Connect it to other AI nodes** that accept `ai_languageModel` inputs
  4. **Use in chains** for complex AI workflows

  The node outputs a LangChain-compatible model that can be used with:
  - Chat nodes
  - Chain nodes
  - Other AI processing nodes

  ## Helicone Features

  The node supports various Helicone observability features:

  - **Custom Properties:** Add metadata to requests for filtering and analysis
  - **Session Tracking:** Group related requests with Session ID, Path, and Name
  - **Caching:** Enable response caching with configurable TTL (up to 365 days)
  - **Automatic Logging:** All requests are automatically logged in your Helicone dashboard

  ## Response Format

  The node returns a LangChain ChatOpenAI model instance that can be used with other AI nodes. The underlying responses include:

  - Generated content
  - Token usage information
  - Model information
  - Helicone-specific metadata

  All requests are automatically logged in your Helicone dashboard for observability and analysis.

  ## Troubleshooting

  ### Common Issues

  1. **Authentication Errors**
     - Verify your Helicone API key is correct (starts with `pk-` for write access)
     - Ensure your Helicone account has access to the chosen provider

  2. **Model Errors**
     - Validate your model name is correct for the chosen provider
     - Check if the model is available in your Helicone account

  3. **Chain Integration Issues**
     - Ensure the node is properly connected to other AI nodes
     - Verify the output type is compatible with downstream nodes

  ### Getting Help

  - [Helicone Documentation](https://docs.helicone.ai)
  - [n8n Community Forum](https://community.n8n.io)
  - [Helicone Discord](https://discord.gg/helicone)

  ## License

  MIT

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Helicone documentation](https://docs.helicone.ai)
  - [Helicone GitHub](https://github.com/Helicone/helicone)
  - [This Node's GitHub](https://github.com/juliettech13/n8n-nodes-helicone)
  - [LangChain documentation](https://js.langchain.com/)

ai_documentation_summary:
  {"purpose":"A community n8n node that acts as a LangChain-compatible gateway to route AI requests through Helicone for observability, caching, and multi-provider fallback.","capabilities":["Route requests to multiple LLM providers via Helicone AI Gateway","Implement automatic fallback to secondary providers if primary is down","Enable response caching with configurable TTL (up to 365 days)","Track usage, performance, and costs across providers","Group requests using session tracking (Session ID, Path, Name)","Add custom metadata properties for filtering and analysis","Support standard LLM parameters (Temperature, Max Tokens, Top P, Penalties)","Output LangChain-compatible ChatOpenAI interface"],"authentication":"API key required (Helicone API key starting with 'pk-')","commonUseCases":["Monitoring and debugging production AI applications","Reducing costs through intelligent response caching","Unifying access to multiple LLM providers in one workflow","Tracking token usage and latency across different models","Grouping related AI requests for session-based analysis"],"limitations":["Community node (requires manual installation or npm/pnpm install)","Requires Helicone account with access to chosen LLM providers","API key must have write access (starts with 'pk-')","Model availability depends on Helicone account permissions"],"relatedNodes":["LangChain nodes","Chat nodes","Chain nodes","AI Language Model nodes"]}


node_type: n8n-nodes-c10_great_lotus.c10_great_lotus
package_name: n8n-nodes-c10_great_lotus
display_name: c10_great_lotus
category: Community
development_style: declarative
version: 0.1.57
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: meomay22
npm_package_name: n8n-nodes-c10_great_lotus
npm_version: 0.1.57
community_fetched_at: 2026-03-25T21:19:41.772Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  10 action groups: ManagerAction, MouseAction, KeyboardAction, BrowserControl, ElementAction, ImageAction, OthersAction, EmailAction, DeveloperAction, General Debug

npm_readme:
  # n8n-nodes-c10-great-lotus

  Unified GREAT LOTUS MQTT node.

  Highlights:
  1. Existing browser control groups are preserved (Mouse, Keyboard, Browser, Element, Image, Others, Email, Developer, General Debug).
  2. `ManagerAction` now also includes GPM profile actions from C11:
     - `list_profiles`, `get_profile_info`, `create_profile`, `open_profile`, `close_profile`, `update_profile`, `delete_profile`, `list_groups`
  3. `GPM_connect` can open GPM profile first (by `profile_id`) and then attach Playwright to the same `remote_port`.
  4. `quit` will close GPM profile (when session was created from `profile_id`) or close local browser session as usual.

  Quick start:
  1. Use Node.js `>=20.15` (for example: `nvm use` from this folder)
  2. `npm install`
  3. `npm run build`

ai_documentation_summary:
  {"purpose":"A unified MQTT node for the GREAT LOTUS automation framework that integrates browser control actions and GPM profile management.","capabilities":["ManagerAction: list_profiles, get_profile_info, create_profile, open_profile, close_profile, update_profile, delete_profile, list_groups","MouseAction","KeyboardAction","BrowserControl","ElementAction","ImageAction","OthersAction","EmailAction","DeveloperAction","General Debug"],"authentication":"None","commonUseCases":["Automated browser testing via Playwright","GPM profile management and remote session attachment","Unified automation workflows combining mouse, keyboard, and element interactions"],"limitations":["Requires Node.js >=20.15","Requires manual installation of dependencies (npm install) and building the node (npm run build)"],"relatedNodes":["n8n-nodes-mqtt","n8n-nodes-playwright"]}


node_type: n8n-nodes-glpi-v2-fork.glpiv2fork
package_name: n8n-nodes-glpi-v2-fork
display_name: glpiv2fork
description: GLPI Rest API Node compatible with GLPI API V2.
category: Community
development_style: declarative
version: 2.1.17-rc.31
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: marcoscamposyesh
author_github_url: git+https://github.com/YeshShareDEV/n8n-nodes-glpi-v2-glpi11.git
npm_package_name: n8n-nodes-glpi-v2-fork
npm_version: 2.1.17-rc.31
community_fetched_at: 2026-03-25T21:19:41.773Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-glpi-v2-glpi11

  ![version](https://img.shields.io/badge/version-2.0.12.13-blue) ![n8n](https://img.shields.io/badge/n8n-community-orange) ![GLPI](https://img.shields.io/badge/GLPI-REST%20API-blue)

  Node para integração do [GLPI](https://glpi-project.org/) com o [n8n](https://n8n.io/), compatível com a API REST V2 do GLPI.

  ## ✨ Funcionalidades
  - Autenticação automática via initSession (sem precisar criar node HTTP manual)
  - Suporte a operações de CRUD para Tickets, Changes, Problems, Computers, Softwares e comentários
  - Gerenciamento automático do Session-Token
  - Compatível com n8n Cloud e Self-hosted
  - Credenciais seguras (GLPI URL, App Token, Username, Password)

  --

  Nota rápida: para a criação/atualização de usuários em `Administration/User` o node agora espera o payload como JSON bruto no campo `Input (raw)`.
  Use a opção `Send raw body` para enviar exatamente esse JSON (sem o wrapper `{ "input": ... }`). Campos individuais como Name/Email/Password foram removidos do formulário para evitar ambiguidade.

  ## 🚀 Instalação

  1. Clone ou baixe este repositório
  2. Execute `npm install` para instalar as dependências
  3. Use os scripts disponíveis para build/dev:
     - `npm run build` — build de produção
     - `npm run dev` — modo desenvolvimento

  ## 🔧 Configuração no n8n

  1. Importe o node customizado no painel do n8n
  2. Crie uma credencial do tipo **GLPI API** informando:
     - GLPI URL (ex: https://glpi.seudominio.com/api.php)
     - App Token
     - Username
     - Password
  3. Use o node "GLPI API" nos seus fluxos, escolhendo a operação desejada (Get, Add, Update, Comment)

  ## 🧩 Exemplo de Uso

  - Buscar um ticket:
    - Operation: Get
    - Item Type: Ticket
    - Item ID: 123
  - Criar um novo computador:
    - Operation: Add
    - Item Type: Computer
    - Payload: `{ "name": "PC-01", "serial": "123456" }`

  ## 📁 Estrutura do Projeto

  - `credentials/GlpiV2Api.credentials.ts` — definição das credenciais
  - `nodes/GlpiV2/GlpiV2.node.ts` — implementação principal do node
  - `nodes/GlpiV2/resources/` — módulos separados por área do GLPI
  - `n8n-nodes-glpi-instructions.md` — instruções detalhadas e exemplos

  ## 📜 Licença

  MIT — veja o arquivo [LICENSE.md](LICENSE.md)

ai_documentation_summary:
  {"purpose":"A custom n8n node that integrates with the GLPI v2 REST API, enabling automated CRUD operations on IT assets like tickets, computers, and problems.","capabilities":["Automatic session initialization via initSession","Automatic session token management","CRUD operations on Tickets","CRUD operations on Changes","CRUD operations on Problems","CRUD operations on Computers","CRUD operations on Softwares","Commenting on items","Raw JSON body support for user creation/updates","Compatible with n8n Cloud and Self-hosted environments"],"authentication":"Credentials (GLPI URL, App Token, Username, Password)","commonUseCases":["Automated IT asset tracking","Incident management via ticket creation","Computer inventory management","Change request processing","Problem tracking and resolution"],"limitations":["User creation/updates require raw JSON payload in the 'Input (raw)' field","Individual user fields (Name/Email/Password) are removed from the form to prevent ambiguity"],"relatedNodes":["GLPI API","HTTP Request","JSON"]}


node_type: n8n-nodes-hotmart.hotmart
package_name: n8n-nodes-hotmart
display_name: hotmart
category: Community
development_style: declarative
version: 0.9.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: thaleslaray
author_github_url: git+https://github.com/thaleslaray/n8n-nodes-hotmart.git
npm_package_name: n8n-nodes-hotmart
npm_version: 0.9.9
community_fetched_at: 2026-03-25T21:19:41.773Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  Nós personalizados para integrar a API Hotmart com o n8n, permitindo automação completa de operações na plataforma líder de produtos digitais da América Latina

npm_readme:
  # 🚀 n8n-nodes-hotmart

  **👨‍💻 Autor:** [Thales Laray](https://www.escoladeautomacao.com.br/inscricao-ea-bio) | [@thaleslaray](https://instagram.com/thaleslaray)  
  **🤝 Colaborador:** [Anderson Ferreira](https://www.instagram.com/afsautomacoes/) | [@afsautomacoes](https://www.instagram.com/afsautomacoes/)

  <div align="center">

  ![n8n](https://img.shields.io/badge/n8n-community-orange?style=for-the-badge)
  ![Hotmart](https://img.shields.io/badge/Hotmart-API-red?style=for-the-badge)
  ![TypeScript](https://img.shields.io/badge/TypeScript-100%25-blue?style=for-the-badge)
  ![Coverage](https://img.shields.io/badge/Coverage-100%25-brightgreen?style=for-the-badge)
  ![Tests](https://img.shields.io/badge/Tests-1300+-success?style=for-the-badge)

  **🏆 Certificação n8n Level: Steve Jobs** 

  *"Quando a perfeição encontra a obsessão, nasce um node que nem o próprio Steve Jobs criticaria"*

  </div>

  ---

  ## 📋 Índice

  - [Sobre](#-sobre)
  - [Por que este é o melhor node Hotmart](#-por-que-este-é-o-melhor-node-hotmart)
  - [Instalação](#-instalação)
  - [Recursos](#-recursos)
  - [Qualidade Obsessiva](#-qualidade-obsessiva)
  - [Para Auditores n8n](#-para-auditores-n8n)
  - [Documentação](#-documentação)
  - [Contribuindo](#-contribuindo)

  ## 🎯 Sobre

  Este não é apenas mais um node n8n. É o resultado de 19 dias de desenvolvimento obsessivo, 100+ horas de código, e um compromisso inabalável com a perfeição. Cada linha de código foi escrita pensando em você, desenvolvedor que precisa de uma integração Hotmart que simplesmente funciona.

  ## 🏆 Por que este é o melhor node Hotmart

  ### 1. **Cobertura Total da API**
  - ✅ **100% da API Hotmart** implementada
  - ✅ **43 operações** disponíveis
  - ✅ **Todos os endpoints** documentados
  - ✅ **Webhooks inteligentes** com 3 modos de operação

  ### 2. **Qualidade Steve Jobs**
  ```typescript
  // Não é apenas código. É arte.
  const perfection = {
    coverage: '100%',
    bugs: 0,
    documentation: 'Impecável',
    userExperience: 'Mágica'
  };
  ```

  ### 3. **Números que Impressionam**
  - 📊 **1300+ testes** automatizados
  - 🎯 **100% de cobertura** de código
  - 🐛 **Zero bugs** em produção
  - ⚡ **Performance otimizada** com paginação inteligente
  - 🤖 **AI-Ready** - Funciona com n8n AI Agents

  ## 🚀 Instalação

  ### Via n8n Community Nodes
  1. Acesse: **Settings → Community Nodes**
  2. Busque: `n8n-nodes-hotmart`
  3. Clique: **Install**

  ✅ **Pronto!** O node será instalado automaticamente e estará disponível em seus workflows.

  ## ⚡ Recursos

  ### 🔥 Operações Principais

  <details>
  <summary><b>💰 Vendas (Sales)</b> - 6 operações</summary>

  - **Histórico de Vendas** - Com filtros avançados por data, status, afiliado
  - **Comissões** - Detalhamento completo de comissões (produtor/afiliado)  
  - **Preços Detalhados** - Breakdown de valores, taxas, impostos
  - **Participantes** - Todos os envolvidos em cada venda
  - **Resumo de Vendas** - Métricas consolidadas com totalizadores
  - **Reembolsos** - Processamento de solicitações de reembolso

  </details>

  <details>
  <summary><b>📋 Assinaturas (Subscriptions)</b> - 10 operações</summary>

  - **Listar Todas** - Com paginação automática e filtros inteligentes
  - **Cancelar** - Individual ou em lote
  - **Reativar** - Com cobrança automática opcional
  - **Alterar Data** - Mudança de ciclo de cobrança
  - **Transações** - Histórico completo de pagamentos
  - **Compras** - Detalhes de cada compra
  - **Resumo** - Analytics de assinaturas

  </details>

  <details>
  <summary><b>🎯 Mais Recursos</b></summary>

  - **🛍️ Produtos** - Catálogo completo com detalhes
  - **🎟️ Cupons** - Criar, validar, excluir
  - **🎓 Área de Membros** - Alunos, módulos, progresso
  - **🎫 Eventos** - Ingressos e participantes
  - **💳 Negociação** - Links de pagamento personalizados
  - **🔧 Custom API Call** - Para endpoints futuros

  </details>

  ### 📡 Webhook Trigger Inteligente

  ```javascript
  // 3 Modos de Operação:

  // 1. Standard - Todos os eventos em uma saída
  webhookMode: 'standard'

  // 2. Smart - Separação automática por tipo
  webhookMode: 'smart' 
  // Saídas: purchase_approved, purchase_complete, subscription_cancellation...

  // 3. Super Smart - Separação ultra-granular
  webhookMode: 'superSmart'
  // Saídas: single_purchase, new_subscription, subscription_renewal
  ```

  ## 🏆 Qualidade Obsessiva

  ### 📊 Métricas de Excelência

  ```yaml
  Testes:
    Total: 1,337
    Unitários: 1,084
    Integração: 178
    E2E: 48
    Performance: 27

  Cobertura:
    Statements: 100%
    Branches: 100%
    Functions: 100%
    Lines: 100%

  Qualidade:
    Complexidade Ciclomática: < 10
    Duplicação de Código: 0%
    Code Smells: 0
    Vulnerabilidades: 0
  ```

  ### 🛡️ Garantias

  - ✅ **Retrocompatibilidade** garantida
  - ✅ **Tipagem 100%** TypeScript
  - ✅ **Documentação inline** completa
  - ✅ **Error handling** robusto
  - ✅ **Rate limiting** inteligente
  - ✅ **Retry automático** com backoff

  ## 👨‍💼 Para Auditores n8n

  <details>
  <summary><b>📋 Checklist de Certificação</b></summary>

  ### ✅ Requisitos Técnicos
  - [x] TypeScript sem `any`
  - [x] Tratamento de erros consistente
  - [x] Paginação implementada corretamente
  - [x] Credenciais OAuth2 seguras
  - [x] Ícones em todos os formatos necessários

  ### ✅ Documentação
  - [x] README completo
  - [x] Todas as operações documentadas
  - [x] Exemplos de uso
  - [x] Troubleshooting guide
  - [x] CHANGELOG mantido

  ### ✅ Testes
  - [x] Cobertura > 80% (temos 100%!)
  - [x] Testes de integração
  - [x] Testes de webhook
  - [x] Testes de performance

  ### ✅ Boas Práticas
  - [x] Versionamento semântico
  - [x] Commits convencionais
  - [x] CI/CD configurado
  - [x] Dependências atualizadas
  - [x] Sem vulnerabilidades conhecidas

  </details>

  ## 📚 Documentação

  ### 🚀 Quick Start
  ```typescript
  // 1. Configure suas credenciais Hotmart OAuth2
  // 2. Arraste o node Hotmart para seu workflow
  // 3. Selecione a operação desejada
  // 4. Seja feliz! 🎉
  ```

  ### 📖 Guias Completos
  - [Instalação Detalhada](docs/INSTALLATION.md)
  - [Configuração de Webhooks](docs/WEBHOOKS.md)
  - [Exemplos de Workflows](docs/EXAMPLES.md)
  - [API Reference](docs/API-REFERENCE.md)
  - [Troubleshooting](docs/TROUBLESHOOTING.md)

  ### 💡 Exemplos de Uso

  <details>
  <summary><b>Exemplo 1: Listar vendas do mês</b></summary>

  ```json
  {
    "resource": "sales",
    "operation": "getHistoricoVendas",
    "dateFilter": "custom",
    "startDate": "2024-01-01",
    "endDate": "2024-01-31",
    "returnAll": true
  }
  ```

  </details>

  <details>
  <summary><b>Exemplo 2: Webhook inteligente</b></summary>

  ```json
  {
    "webhookMode": "smart",
    "events": ["PURCHASE_APPROVED", "SUBSCRIPTION_CANCELLATION"],
    "authentication": "bearerToken"
  }
  ```

  </details>

  ## 🤝 Contribuindo

  Contribuições são bem-vindas, mas lembre-se: mantemos padrões Steve Jobs aqui.

  ### 📏 Nossos Padrões

  1. **Código**: Clean, testado, documentado
  2. **Commits**: Convencionais (feat:, fix:, docs:)
  3. **PRs**: Com descrição detalhada e testes
  4. **Issues**: Use os templates fornecidos

  ### 🚀 Setup de Desenvolvimento

  ```bash
  # Clone
  git clone https://github.com/thaleslaray/n8n-nodes-hotmart.git
  cd n8n-nodes-hotmart

  # Instale
  npm install

  # Desenvolva
  npm run dev

  # Teste
  npm test
  npm run test:watch

  # Build
  npm run build
  ```

  ## 📄 Licença

  MIT © [Thales Laray](https://github.com/thaleslaray)

  ---

  <div align="center">

  ### ⭐ Se este node tornou sua vida melhor, considere dar uma estrela!

  **Feito com ❤️ e ☕ por [Thales Laray](https://github.com/thaleslaray)**

  ### 🤝 Agradecimentos Especiais

  - **[Anderson Ferreira](https://www.instagram.com/afsautomacoes/)** - Testes e melhorias de qualidade, Revisão de código

  *"Stay hungry, stay foolish" - mas sempre com 100% de cobertura de testes*

  </div>

ai_documentation_summary:
  {"purpose":"Integrates the Hotmart API with n8n to automate operations on the Latin American digital products platform, covering sales, subscriptions, products, and more.","capabilities":["Access sales history with advanced filters","Manage commissions and detailed pricing breakdowns","Handle subscription operations (list, cancel, reactivate, change billing date)","View transaction and purchase histories","Manage coupons (create, validate, exclude)","Access member area data (students, modules, progress)","Handle event tickets and participants","Create custom payment links","Execute custom API calls for future endpoints","Webhook triggers with three modes: standard, smart, and superSmart"],"authentication":"OAuth2","commonUseCases":["Automating sales reporting and commission tracking","Managing subscription renewals and cancellations","Processing refund requests","Monitoring product sales and analytics","Automating coupon validation and creation"],"limitations":["Limited to the Hotmart API's scope and rate limits","Custom API calls may require specific endpoint knowledge"],"relatedNodes":["n8n-nodes-core.webhook","n8n-nodes-core.oauth2","n8n-nodes-core.httpRequest"]}


node_type: @luka-cat-mimi/n8n-nodes-bcryptjs.bcryptjs
package_name: @luka-cat-mimi/n8n-nodes-bcryptjs
display_name: bcryptjs
category: Community
development_style: declarative
version: 1.0.5
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: GitHub Actions
author_github_url: git+https://github.com/luka-mimi/n8n-nodes-bcryptjs.git
npm_package_name: @luka-cat-mimi/n8n-nodes-bcryptjs
npm_version: 1.0.5
community_fetched_at: 2026-03-25T21:19:41.774Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  n8n community node package that provides bcryptjs password hashing and verification functionality with full async operations support

npm_readme:
  # n8n-nodes-bcryptjs

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

  This is an [n8n](https://n8n.io/) community node that allows you to use bcryptjs for password hashing and verification operations 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) • [Usage Examples](#usage-examples) • [Resources](#resources)

  ## Installation

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

  ### Community Nodes Installation

  1. In n8n, go to **Settings > Community Nodes**.
  2. Select **Install**.
  3. Enter `@luka-cat-mimi/n8n-nodes-bcryptjs` in the **npm Package Name** field.
  4. Agree to the risks, then select **Install**.

  After installation, the Bcryptjs node will appear in the **Cryptography** category.

  ### Manual Installation

  To install the node locally, you can use npm package manager:

  ```bash
  # For n8n self-hosted
  npm install @luka-cat-mimi/n8n-nodes-bcryptjs
  ```

  ## Operations

  This node provides all bcryptjs async function capabilities:

  ### Supported Operations

  | Operation | Description |
  |-----------|-------------|
  | **Compare Password** | Asynchronously compare password with hash |
  | **Generate Salt** | Asynchronously generate salt value |
  | **Get Rounds** | Get the number of rounds used in the hash |
  | **Get Salt** | Extract salt portion from hash |
  | **Hash Password** | Asynchronously hash password |
  | **Test Truncation** | Test if password will be truncated (over 72 bytes) |

  ### Parameter Descriptions

  #### Generate Salt
  - **Rounds**: The cost of processing the data, default value is 10
  - **Minor Version**: The minor version of bcrypt, 'a' or 'b', default is 'b'

  #### Hash Password
  - **Password**: The password to hash
  - **Salt or Rounds**: Salt value to use for hashing, or number specifying rounds

  #### Compare Password
  - **Password**: The original password to compare
  - **Hash**: The hash value to compare against the password

  #### Get Rounds
  - **Hash**: The hash value to extract rounds from

  #### Get Salt
  - **Hash**: The hash value to extract salt from

  #### Test Truncation
  - **Password**: The password to check

  ### Options

  - **Output Field Name**: Field name where the result will be saved, default is 'result'

  ## Usage Examples

  ### Example 1: Password Hashing

  Hash passwords when creating users:

  1. Set operation to **Hash Password**
  2. Enter the password to hash
  3. Set rounds (recommended 10-12)
  4. The node will return the hashed password

  **Input**:
  ```json
  {
    "password": "mySecretPassword"
  }
  ```

  **Output**:
  ```json
  {
    "password": "mySecretPassword",
    "result": "$2b$10$N9qo8uLOickgx2ZMRZoMye..."
  }
  ```

  ### Example 2: Password Verification

  Verify passwords during user login:

  1. Set operation to **Compare Password**
  2. Enter the original password and stored hash value
  3. The node will return true or false

  **Input**:
  ```json
  {
    "password": "mySecretPassword",
    "hash": "$2b$10$N9qo8uLOickgx2ZMRZoMye..."
  }
  ```

  **Output**:
  ```json
  {
    "password": "mySecretPassword",
    "hash": "$2b$10$N9qo8uLOickgx2ZMRZoMye...",
    "result": true
  }
  ```

  ### Example 3: Custom Output Field

  Set a custom output field name in options:

  1. Expand the **Options** section
  2. Set **Output Field Name** to `hashedPassword`
  3. The result will be saved to the specified field

  **Output**:
  ```json
  {
    "password": "mySecretPassword",
    "hashedPassword": "$2b$10$N9qo8uLOickgx2ZMRZoMye..."
  }
  ```

  ## Security Considerations

  - bcrypt only uses the first 72 bytes of a password, any extra bytes are ignored
  - Recommend using async version to avoid blocking the event loop
  - Higher rounds mean better security but longer processing time
  - Default rounds of 10 is secure for most cases
  - Production environments should consider using 12 rounds or higher

  ## Development

  To develop or contribute to this project:

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

  # Install dependencies
  npm install

  # Build the project
  npm run build

  # Run code quality checks
  npm run lint

  # Fix code formatting
  npm run lintfix
  ```

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
  - [bcryptjs documentation](https://github.com/dcodeIO/bcrypt.js) - The underlying crypto library
  - [bcrypt algorithm explanation](https://en.wikipedia.org/wiki/Bcrypt) - Learn about the bcrypt algorithm

  ## License

  [MIT](LICENSE.md) © luka-cat-mimi

  ---

  **If this project helps you, please give it a ⭐️!**

  **Issue Reports**: [GitHub Issues](https://github.com/luka-mimi/n8n-nodes-bcryptjs/issues)

  **中文文档**: [README_CN.md](README_CN.md)

ai_documentation_summary:
  {"purpose":"A community n8n node that provides bcryptjs functionality for password hashing, verification, and salt generation within workflow automation.","capabilities":["Hash passwords asynchronously","Verify passwords against stored hashes","Generate random salt values","Extract salt from existing hashes","Retrieve hash round count","Test password truncation limits"],"authentication":"None","commonUseCases":["User registration password hashing","User login authentication verification","Secure password storage in workflows","Password strength validation"],"limitations":["Only processes first 72 bytes of passwords, ignoring longer portions","Higher security rounds increase processing time","Community node (not official n8n package)","No built-in rate limiting or additional security features"],"relatedNodes":["Cryptography nodes","HTTP Request nodes (for external auth services)","Code nodes (for custom hashing logic)"]}


node_type: n8n-nodes-openai-advanced.openaiadvanced
package_name: n8n-nodes-openai-advanced
display_name: openaiadvanced
description: n8n community node for OpenAI with LiteLLM prompt caching support
category: Community
development_style: declarative
version: 0.1.22
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: unbalanced
author_github_url: git+https://github.com/<...>/n8n-nodes-<...>.git
npm_package_name: n8n-nodes-openai-advanced
npm_version: 0.1.22
community_fetched_at: 2026-03-25T21:19:41.774Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-openai-advanced

  An n8n community node that extends the built-in OpenAI Chat Model to support **non** Open AI models and features for models that are proxied/consumed via  LiteLLM.

  The Lib enables support to **prompt caching** and **Anthropic Tool Search Tool**.

  ## Features

  - Drop-in replacement for n8n's built-in OpenAI Chat Model node
  - **Prompt caching** via LiteLLM — reduce costs and latency for repeated system prompts
  - **Cache TTL** control — choose between 5-minute (default) or 1-hour cache duration
  - **Cache usage logging** — monitor cache hits/writes/misses in n8n logs
  - **Tool Search** via LiteLLM — Anthropic's dynamic tool discovery for large tool catalogs (Regex or BM25 variants)
  - Base URL override for LiteLLM or other OpenAI-compatible proxies
  - Dynamic model list from your API endpoint
  - All standard ChatOpenAI options: temperature, top P, frequency/presence penalty, max tokens, response format, reasoning effort, timeout, retries

  ## Installation

  ### In n8n (Community Nodes)

  1. Go to **Settings > Community Nodes**
  2. Install: `n8n-nodes-openai-advanced`

  ### Manual Installation

  ```bash
  cd ~/.n8n/nodes
  npm install n8n-nodes-openai-advanced
  ```

  Restart n8n after installation.

  ## Usage

  1. Add the **OpenAI Chat Model Advanced** node to your workflow
  2. Connect it to an AI Agent or Chain as the language model
  3. Configure your OpenAI API credentials (reuses the built-in `openAiApi` credential)
  4. Select a model from the list or enter a model ID manually

  ### Prompt Caching (LiteLLM)

  To enable prompt caching for Anthropic models through LiteLLM:

  1. Set the **Base URL** to your LiteLLM proxy endpoint
  2. Enable **Enable Prompt Caching (LiteLLM)** in the Options
  3. Optionally set **Cache TTL** to `1 Hour` (default is `5 Minutes`)

  #### How it works

  When prompt caching is enabled, the node:

  - Adds the `anthropic-beta: prompt-caching-2024-07-31` header
  - Injects `cache_control_injection_points` into the request body, telling LiteLLM to add `cache_control` blocks to system messages
  - Logs cache usage to n8n's logger (visible in container logs)

  #### Requirements

  - A LiteLLM proxy configured with an Anthropic model (e.g., `claude-sonnet-4-20250514`)
  - System prompt must be at least **1024 tokens** for caching to activate (Anthropic requirement)

  #### Monitoring Cache Usage

  When prompt caching is enabled, the node logs cache activity:

  ```
  [PromptCache] prompt=1500 completion=200 cache_creation=1024 cache_read=0
  [PromptCache] Cache WRITE — 1024 tokens written to cache
  ```

  On subsequent requests within the TTL:

  ```
  [PromptCache] prompt=1500 completion=180 cache_creation=0 cache_read=1024
  [PromptCache] Cache HIT — 1024 tokens read from cache
  ```

  Logs are written to n8n's standard logger (visible in Docker/container stdout).

  ### Tool Search

  Tool Search enables Claude to dynamically discover and load tools on-demand from a large catalog. Instead of sending all tool definitions upfront, tools are marked as deferred and Claude searches for the ones it needs.

  To enable Tool Search:

  1. Set the **Base URL** to your LiteLLM proxy endpoint
  2. Enable **Enable Tool Search** in the Options
  3. Optionally change the **Tool Search Variant** (default: Regex)

  #### How it works

  When Tool Search is enabled, the node:

  - Injects a tool search tool (`tool_search_tool_regex` or `tool_search_tool_bm25`) into the request
  - Marks all connected tools with `defer_loading: true` so they are loaded on-demand
  - LiteLLM automatically adds the required `anthropic-beta: advanced-tool-use-2025-11-20` header

  Claude then searches for relevant tools using regex patterns (Regex variant) or natural language queries (BM25 variant) before calling them.

  #### Variants

  | Variant | Description | Availability |
  |---------|-------------|--------------|
  | **Regex** | Claude constructs regex patterns to search tools by name, description, and arguments. Faster. | All providers |
  | **BM25** | Claude uses natural language queries for semantic tool matching. Better for large catalogs. | Not available on Bedrock |

  #### Monitoring

  When Tool Search is enabled, the node logs injection activity:

  ```
  [ToolSearch] Injected tool_search_tool_regex + defer_loading on 5 tools
  ```

  The LiteLLM response usage will also include `tool_search_requests` count.

  #### Requirements

  - A LiteLLM proxy configured with a Claude model via Vertex AI, Bedrock, or direct Anthropic API
  - At least one tool connected to the agent

  ## Options

  | Option | Description | Default |
  |--------|-------------|---------|
  | Base URL | Override the API endpoint (e.g., LiteLLM proxy) | `https://api.openai.com/v1` |
  | Enable Prompt Caching | Inject LiteLLM cache control headers and injection points | `false` |
  | Cache TTL | Cache duration: 5 Minutes or 1 Hour | `5 Minutes` |
  | Enable Tool Search | Enable Anthropic Tool Search for dynamic tool discovery | `false` |
  | Tool Search Variant | Regex (pattern matching) or BM25 (semantic search) | `Regex` |
  | Frequency Penalty | Penalize repeated tokens (-2 to 2) | `0` |
  | Maximum Number of Tokens | Max tokens to generate | `-1` (unlimited) |
  | Max Retries | Number of retry attempts | `2` |
  | Presence Penalty | Penalize new topic tokens (-2 to 2) | `0` |
  | Reasoning Effort | For o-series/gpt-5 models: low, medium, high | `medium` |
  | Response Format | Text or JSON mode | `text` |
  | Sampling Temperature | Controls randomness (0 to 2) | `0.7` |
  | Timeout | Request timeout in milliseconds | `300000` |
  | Top P | Nucleus sampling threshold (0 to 1) | `1` |

  ## Development

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

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"An n8n community node that extends the built-in OpenAI Chat Model to support non-OpenAI models and advanced features like prompt caching and tool search via LiteLLM proxies.","capabilities":["Prompt caching via LiteLLM to reduce costs and latency","Configurable cache TTL (5 minutes or 1 hour)","Cache usage logging in n8n logs","Anthropic Tool Search for dynamic tool discovery","Regex or BM25 tool search variants","Base URL override for LiteLLM or other OpenAI-compatible proxies","Dynamic model list retrieval from API endpoint","Standard ChatOpenAI options (temperature, top P, penalties, max tokens, response format, reasoning effort, timeout, retries)"],"authentication":"API key required (reuses built-in openAiApi credential)","commonUseCases":["Reducing costs and latency for repeated system prompts using LiteLLM caching","Enabling dynamic tool discovery for Anthropic models with large tool catalogs","Supporting non-OpenAI models proxied through LiteLLM (e.g., Anthropic, Vertex AI, Bedrock)","Monitoring cache hits/writes/misses in n8n logs"],"limitations":["Prompt caching requires system prompts of at least 1024 tokens for Anthropic models","BM25 tool search variant is not available on Bedrock","Cache usage and tool search activity are logged to n8n's standard logger (visible in Docker/container stdout)","Requires a LiteLLM proxy configured with the appropriate model for advanced features"],"relatedNodes":["OpenAI Chat Model","AI Agent","Chain"]}


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-03-25 21:19:41
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-03-25T21:19:41.775Z
ai_summary_generated_at: 2026-03-25 22:47:20
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":"Processes Langfuse configuration files to enable integration with the Langfuse observability platform within n8n workflows.","capabilities":["Load Langfuse configuration files","Initialize Langfuse connections","Support community node installation via n8n web UI"],"authentication":"None (configuration-based)","commonUseCases":["AI model observability setup","LLM prompt tracking configuration","Agent workflow monitoring initialization"],"limitations":["Requires manual configuration file setup","Limited to configuration processing (no direct API operations mentioned)"],"relatedNodes":["langfuse","community-nodes","ai-agents-workshop"]}


node_type: n8n-nodes-supermachine.supermachine
package_name: n8n-nodes-supermachine
display_name: supermachine
category: Community
development_style: declarative
version: 1.3.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: hungtidus
author_github_url: git+https://github.com/hungtidus/n8n-nodes-supermachine.git
npm_package_name: n8n-nodes-supermachine
npm_version: 1.3.0
community_fetched_at: 2026-03-25T21:19:41.775Z
ai_summary_generated_at: 2026-03-25 22:47:20
description:
  n8n community node for Supermachine AI Image API — Generate images, manage models, LoRAs, and characters

npm_readme:
  # n8n-nodes-supermachine

  [![npm version](https://badge.fury.io/js/n8n-nodes-supermachine.svg)](https://www.npmjs.com/package/n8n-nodes-supermachine)

  This is an n8n community node for the [Supermachine AI Image API](https://supermachine.art). It lets you generate AI images, manage models, LoRAs, and characters 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.

  ### Via n8n UI

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

  ### Via CLI

  ```bash
  npm install n8n-nodes-supermachine

ai_documentation_summary:
  {"purpose":"A community n8n node that integrates with the Supermachine AI Image API to generate AI images, manage models, LoRAs, and characters within workflows.","capabilities":["Generate AI images via the Supermachine API","Manage AI models","Manage LoRAs (Low-Rank Adaptation models)","Manage characters"],"authentication":"API key required (implied by API integration, specific method not detailed in README)","commonUseCases":["Automated image generation for content creation","Workflow-based asset management for AI models and characters","Integration with other n8n nodes for multi-step image processing pipelines"],"limitations":["Community node (not official n8n node)","Authentication method not explicitly documented in README"],"relatedNodes":["n8n-nodes-http.request","n8n-nodes-webhook"]}


node_type: n8n-nodes-attio.attio
package_name: n8n-nodes-attio
display_name: attio
description: n8n node for Attio API integration
category: Community
development_style: declarative
version: 0.6.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: itsjustanks
author_github_url: git+https://github.com/itsjustanks/n8n-nodes-attio.git
npm_package_name: n8n-nodes-attio
npm_version: 0.6.0
community_fetched_at: 2026-03-25T21:19:41.776Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-attio

  This is an n8n community node that allows you to integrate [Attio](https://attio.com) CRM with your n8n workflows.

  [Attio](https://attio.com) is a modern CRM built for the future of work, offering powerful data models, flexible workflows, and real-time collaboration features.

  ## Installation

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

  ## Operations

  This node supports all Attio API operations as defined in their [OpenAPI specification](https://api.attio.com/openapi.json), including:

  - **Objects**: List, Create, Get, Update objects
  - **Records**: List, Create, Get, Update, Delete records  
  - **Attributes**: List, Create, Get, Update attributes
  - **Lists**: List, Create, Get, Update lists
  - **Entries**: List, Create, Get, Update, Delete list entries
  - **Notes**: Create, Get, Update notes
  - **Tasks**: List, Create, Get, Update tasks
  - **Comments**: List, Create comments on threads
  - **Workspace Members**: List workspace members
  - **Webhooks**: Create and manage webhooks
  - And more...

  ## Credentials

  To use this node, you'll need an Attio API access token:

  1. Log in to your [Attio account](https://app.attio.com)
  2. Go to Workspace Settings → Developer → API
  3. Create a new API token
  4. Copy the token and add it to the Attio credentials in n8n

  ## AI Agent Tool Compatibility

  This node can be used as a tool in n8n's AI Agent workflows. To enable this functionality:

  1. Set the environment variable when running n8n:
     ```bash
     N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
     ```

  2. In your AI Agent workflow:
     - Add an AI Agent node (e.g., OpenAI Functions Agent)
     - Add the Attio node
     - Connect the Attio node to the AI Agent as a tool

  The AI agent will be able to use Attio operations to search, create, and update CRM data based on natural language instructions.

  ## MCP (Model Context Protocol) Integration

  This node is compatible with n8n's MCP Server, allowing AI agents and MCP clients to interact with Attio CRM:

  - **AI Agent Tool**: Use Attio operations directly in AI agent workflows
  - **MCP Server**: Expose Attio workflows to external MCP clients like Claude Desktop
  - **Intelligent CRM**: Build AI-powered workflows that can query and update customer data

  See the [MCP Integration Guide](MCP_INTEGRATION_GUIDE.md) for detailed setup instructions and examples.

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [Attio API documentation](https://docs.attio.com/rest-api)
  - [Attio OpenAPI specification](https://api.attio.com/openapi.json)
  - [MCP Integration Guide](MCP_INTEGRATION_GUIDE.md)

  ## Credits

  - **Created by**: [@itsjustanks](https://x.com/itsjustanks) | [ankit.com.au](https://ankit.com.au)
  - **OpenAPI Integration**: Built using [@devlikeapro/n8n-openapi-node](https://www.npmjs.com/package/@devlikeapro/n8n-openapi-node) - Special thanks to the n8n-openapi-node project for making it easy to convert OpenAPI specs to n8n nodes

  ## License

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

ai_documentation_summary:
  {"purpose":"Integrates Attio CRM with n8n workflows to perform CRUD operations on CRM objects, records, lists, and other data entities.","capabilities":["List, Create, Get, Update objects","List, Create, Get, Update, Delete records","Manage attributes (List, Create, Get, Update)","Manage lists (List, Create, Get, Update)","Manage list entries (List, Create, Get, Update, Delete)","Create, Get, Update notes","Manage tasks (List, Create, Get, Update)","Create and manage comments on threads","List workspace members","Create and manage webhooks"],"authentication":"API token required (Attio API access token obtained from Workspace Settings → Developer → API)","commonUseCases":["Automating CRM data entry from other sources","Syncing customer data between systems","Building AI-powered CRM assistants","Managing tasks and notes within Attio","Integrating with n8n's AI Agent workflows"],"limitations":["Community node (not official n8n node)","Requires Attio API access token with appropriate permissions","MCP and AI Agent tool usage requires specific environment variable configuration"],"relatedNodes":["n8n-openapi-node","AI Agent node","MCP Server"]}


node_type: n8n-nodes-asaas-pagamentos.asaaspagamentos
package_name: n8n-nodes-asaas-pagamentos
display_name: asaaspagamentos
description: Node n8n para integração da plataforma de pagamento Asaas
category: Community
development_style: declarative
version: 0.1.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: 99lab.dev
author_github_url: git+https://github.com/99labdev/n8n-nodes-asaas.git
npm_package_name: n8n-nodes-asaas-pagamentos
npm_version: 0.1.2
community_fetched_at: 2026-03-25T21:19:41.777Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-asaas-pagamentos

  ![Asaas Logo](logo.png)

  Este é um nó da comunidade n8n. Ele permite que você use o Asaas em seus fluxos de trabalho n8n.

  O Asaas é uma plataforma de pagamentos brasileira que oferece soluções completas para cobrança, recebimento e pagamento, incluindo PIX, boleto bancário, cartão de crédito e débito, TED, além de funcionalidades como gestão de assinaturas, split de pagamentos, antecipação de recebíveis e muito mais.

  [n8n](https://n8n.io/) é uma plataforma de automação de fluxo de trabalho [licenciada fair-code](https://docs.n8n.io/reference/license/).

  ## Instalação

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

  ```bash
  npm install n8n-nodes-asaas-pagamentos
  ```

  ## Operações

  ### Recursos Implementados da API Asaas

  #### ✅ Clientes

  - [x] **Listar clientes** - Recuperar lista de clientes com filtros opcionais
  - [x] **Criar novo cliente** - Criar um novo cliente com dados pessoais, de contato e endereço
  - [x] **Recuperar cliente específico** - Obter detalhes completos de um cliente pelo ID
  - [x] **Atualizar cliente existente** - Modificar dados de um cliente já cadastrado
  - [x] **Deletar cliente** - Remover cliente do sistema permanentemente
  - [x] **Restaurar cliente removido** - Reativar cliente que foi deletado anteriormente

  #### ⏳ Cobranças (Payments)

  - [ ] **Criar nova cobrança** - Criar cobrança com diversas formas de pagamento
  - [ ] **Listar cobranças** - Recuperar lista de cobranças com filtros avançados
  - [ ] **Criar cobrança com cartão de crédito** - Cobrança direta com cartão
  - [ ] **Capturar cobrança com Pré-Autorização** - Finalizar pagamento pré-autorizado
  - [ ] **Pagar cobrança com cartão de crédito** - Processar pagamento de cobrança existente
  - [ ] **Recuperar informações de pagamento** - Obter dados de billing de uma cobrança
  - [ ] **Informações sobre visualização** - Dados de quando a cobrança foi visualizada
  - [ ] **Recuperar cobrança específica** - Obter detalhes de uma cobrança
  - [ ] **Atualizar cobrança existente** - Modificar dados de cobrança pendente
  - [ ] **Excluir cobrança** - Remover cobrança do sistema
  - [ ] **Restaurar cobrança removida** - Reativar cobrança excluída
  - [ ] **Recuperar status de cobrança** - Verificar status atual da cobrança
  - [ ] **Estornar cobrança** - Realizar estorno total ou parcial
  - [ ] **Obter linha digitável do boleto** - Código de barras para pagamento
  - [ ] **Obter QR Code PIX** - Gerar QR Code para pagamento via PIX
  - [ ] **Confirmar recebimento em dinheiro** - Marcar como pago em dinheiro
  - [ ] **Desfazer confirmação em dinheiro** - Cancelar confirmação de pagamento em dinheiro
  - [ ] **Simulador de vendas** - Simular cenários de pagamento

  #### ⏳ Ações em Sandbox

  - [ ] **Confirmar pagamento** - Simular confirmação de pagamento no ambiente de teste
  - [ ] **Adicionar saldo** - Adicionar crédito para testes na conta sandbox

  #### ⏳ Cobranças com Dados Resumidos

  - [ ] **Criar cobrança com dados resumidos** - Retorna resposta simplificada para performance

  #### ⏳ Cartão de Crédito

  - [ ] **Tokenização de cartão de crédito** - Gerar token seguro para cartão
  - [ ] **Criar cobrança com cartão tokenizado** - Usar token para criar cobrança
  - [ ] **Validar dados do cartão** - Verificar se cartão é válido
  - [ ] **Listar cartões tokenizados** - Recuperar cartões salvos do cliente

  #### ⏳ Estornos

  - [ ] **Listar estornos de uma cobrança** - Histórico de estornos
  - [ ] **Criar estorno total** - Estornar valor completo da cobrança
  - [ ] **Criar estorno parcial** - Estornar parte do valor da cobrança
  - [ ] **Recuperar detalhes do estorno** - Informações específicas do estorno

  #### ⏳ Splits de Pagamento

  - [ ] **Recuperar split pago** - Informações de divisão de pagamento realizada
  - [ ] **Configurar splits** - Definir divisão de valores entre contas
  - [ ] **Listar splits** - Histórico de divisões de pagamento
  - [ ] **Cancelar split** - Desfazer divisão configurada

  #### ⏳ Conta Escrow

  - [ ] **Encerrar garantia da cobrança** - Finalizar processo de garantia
  - [ ] **Configurar conta escrow** - Ativar sistema de garantia
  - [ ] **Consultar status escrow** - Verificar situação da garantia

  #### ⏳ Documentos de Cobranças

  - [ ] **Upload de documentos da cobrança** - Anexar arquivos à cobrança
  - [ ] **Listar documentos** - Recuperar arquivos anexados
  - [ ] **Deletar documento** - Remover arquivo anexado
  - [ ] **Download de documento** - Baixar arquivo específico

  #### ⏳ Notificações

  - [ ] **Atualizar notificação existente** - Modificar configurações de notificação
  - [ ] **Configurar notificações** - Definir tipos de notificações ativas
  - [ ] **Listar notificações** - Recuperar histórico de notificações enviadas
  - [ ] **Criar nova notificação** - Configurar nova regra de notificação
  - [ ] **Deletar notificação** - Remover configuração de notificação

  #### ⏳ Parcelamentos

  - [ ] **Criar parcelamento** - Dividir cobrança em múltiplas parcelas
  - [ ] **Listar parcelamentos** - Recuperar parcelamentos criados
  - [ ] **Recuperar parcelamento específico** - Detalhes de um parcelamento
  - [ ] **Atualizar parcelamento** - Modificar parcelamento existente
  - [ ] **Deletar parcelamento** - Cancelar parcelamento

  #### ⏳ Assinaturas (Recorrência)

  - [ ] **Criar nova assinatura** - Configurar cobrança recorrente
  - [ ] **Listar assinaturas** - Recuperar assinaturas ativas e inativas
  - [ ] **Recuperar assinatura específica** - Detalhes de uma assinatura
  - [ ] **Atualizar assinatura** - Modificar dados da assinatura
  - [ ] **Cancelar assinatura** - Encerrar cobrança recorrente
  - [ ] **Listar cobranças da assinatura** - Histórico de cobranças geradas
  - [ ] **Listar faturas da assinatura** - Faturas relacionadas à assinatura

  #### ⏳ PIX

  - [ ] **Criar chave PIX** - Registrar nova chave PIX na conta
  - [ ] **Listar chaves PIX** - Recuperar chaves PIX cadastradas
  - [ ] **Deletar chave PIX** - Remover chave PIX da conta
  - [ ] **Criar cobrança PIX** - Gerar cobrança específica para PIX
  - [ ] **Gerar QR Code estático** - QR Code reutilizável para recebimentos
  - [ ] **Gerar QR Code dinâmico** - QR Code para valor específico
  - [ ] **Decodificar QR Code** - Extrair informações de QR Code PIX

  #### ⏳ Transações PIX

  - [ ] **Pagar QR Code** - Efetuar pagamento via QR Code PIX
  - [ ] **Listar transações PIX** - Histórico de transações PIX
  - [ ] **Cancelar transação PIX** - Estornar transação PIX quando possível
  - [ ] **Recuperar comprovante PIX** - Obter comprovante da transação
  - [ ] **Consultar status transação** - Verificar situação da transação PIX

  #### ⏳ PIX Recorrente

  - [ ] **Listar recorrências PIX** - Recuperar PIX programados
  - [ ] **Criar recorrência PIX** - Agendar PIX recorrente
  - [ ] **Cancelar recorrência PIX** - Interromper PIX programado
  - [ ] **Atualizar recorrência PIX** - Modificar agendamento PIX

  #### ⏳ Link de Pagamentos

  - [ ] **Criar link de pagamentos** - Gerar link para recebimento online
  - [ ] **Listar links de pagamentos** - Recuperar links criados
  - [ ] **Atualizar link de pagamentos** - Modificar configurações do link
  - [ ] **Recuperar link específico** - Detalhes de um link de pagamento
  - [ ] **Deletar link de pagamentos** - Remover link criado
  - [ ] **Recuperar QR Code do link** - QR Code para compartilhamento

  #### ⏳ Checkout

  - [ ] **Criar novo checkout** - Página de checkout personalizada
  - [ ] **Configurar checkout** - Definir aparência e comportamento
  - [ ] **Recuperar configurações** - Obter configurações do checkout
  - [ ] **Atualizar configurações** - Modificar checkout existente

  #### ⏳ Transferências

  - [ ] **Transferir para conta de outra instituição** - TED/DOC para outros bancos
  - [ ] **Transferir via chave PIX** - Transferência instantânea via PIX
  - [ ] **Listar transferências** - Histórico de transferências realizadas
  - [ ] **Recuperar transferência específica** - Detalhes de uma transferência
  - [ ] **Cancelar transferência** - Cancelar transferência agendada
  - [ ] **Transferir para conta Asaas** - Transferência entre contas Asaas

  #### ⏳ Antecipações

  - [ ] **Recuperar antecipação** - Informações sobre antecipação específica
  - [ ] **Solicitar antecipação** - Antecipar recebíveis disponíveis
  - [ ] **Listar antecipações** - Histórico de antecipações
  - [ ] **Simular antecipação** - Calcular valores de antecipação
  - [ ] **Cancelar antecipação** - Cancelar solicitação pendente

  #### ⏳ Negativações

  - [ ] **Criar negativação** - Registrar negativação de cliente
  - [ ] **Listar negativações** - Recuperar negativações realizadas
  - [ ] **Recuperar negativação específica** - Detalhes de uma negativação
  - [ ] **Cancelar negativação** - Remover negativação ativa
  - [ ] **Consultar situação CPF/CNPJ** - Verificar restrições existentes

  #### ⏳ Pagamento de Contas

  - [ ] **Criar pagamento de conta** - Pagar boletos e contas
  - [ ] **Listar pagamentos de contas** - Histórico de pagamentos
  - [ ] **Recuperar pagamento específico** - Detalhes de um pagamento
  - [ ] **Cancelar pagamento** - Cancelar pagamento agendado
  - [ ] **Consultar código de barras** - Verificar dados do boleto
  - [ ] **Simular pagamento** - Calcular taxas e prazos

  #### ⏳ Recargas de Celular

  - [ ] **Solicitar recarga** - Fazer recarga de celular pré-pago
  - [ ] **Listar recargas** - Histórico de recargas realizadas
  - [ ] **Recuperar recarga específica** - Detalhes de uma recarga
  - [ ] **Consultar operadoras** - Listar operadoras disponíveis
  - [ ] **Consultar valores** - Valores de recarga disponíveis

  #### ⏳ Consulta Serasa

  - [ ] **Realizar consulta Serasa** - Consultar CPF/CNPJ no Serasa
  - [ ] **Listar consultas** - Histórico de consultas realizadas
  - [ ] **Recuperar consulta específica** - Resultado de uma consulta
  - [ ] **Consultar score** - Verificar score de crédito

  #### ⏳ Extrato

  - [ ] **Recuperar extrato** - Extrato financeiro da conta
  - [ ] **Filtrar por período** - Extrato de período específico
  - [ ] **Exportar extrato** - Download do extrato em PDF/Excel
  - [ ] **Extrato detalhado** - Informações completas das transações

  #### ⏳ Informações Financeiras

  - [ ] **Recuperar saldo da conta** - Saldo atual e disponível
  - [ ] **Obter informações financeiras** - Dados financeiros consolidados
  - [ ] **Estatísticas de faturamento** - Métricas de recebimento
  - [ ] **Previsão de recebimentos** - Valores a receber por período

  #### ⏳ Informações da Conta

  - [ ] **Recuperar dados comerciais** - Informações da empresa
  - [ ] **Atualizar informações da conta** - Modificar dados cadastrais
  - [ ] **Configurar personalização** - White label e customizações
  - [ ] **Recuperar configurações** - Configurações atuais da conta
  - [ ] **Upload de logo** - Personalizar logotipo da conta

  #### ⏳ Notas Fiscais

  - [ ] **Agendar nota fiscal** - Programar emissão de NF
  - [ ] **Listar notas fiscais** - Histórico de notas emitidas
  - [ ] **Recuperar nota específica** - Detalhes de uma nota fiscal
  - [ ] **Cancelar nota fiscal** - Cancelar nota já emitida
  - [ ] **Download de XML** - Baixar arquivo XML da nota
  - [ ] **Enviar por email** - Enviar nota fiscal por email

  #### ⏳ Informações Fiscais

  - [ ] **Listar configurações municipais** - Configurações fiscais por cidade
  - [ ] **Configurar informações fiscais** - Definir dados para emissão de NF
  - [ ] **Atualizar configurações** - Modificar configurações fiscais
  - [ ] **Consultar alíquotas** - Verificar alíquotas municipais

  #### ⏳ Webhooks

  - [ ] **Criar novo webhook** - Configurar notificação via HTTP
  - [ ] **Listar webhooks** - Recuperar webhooks configurados
  - [ ] **Atualizar webhook** - Modificar configurações de webhook
  - [ ] **Deletar webhook** - Remover webhook configurado
  - [ ] **Testar webhook** - Enviar evento de teste
  - [ ] **Reenviar evento** - Reprocessar evento específico
  - [ ] **Listar eventos** - Histórico de eventos enviados

  #### ⏳ Subcontas

  - [ ] **Criar subconta** - Criar conta filha
  - [ ] **Listar subcontas** - Recuperar subcontas criadas
  - [ ] **Configurar subconta** - Definir permissões e limites
  - [ ] **Atualizar subconta** - Modificar configurações
  - [ ] **Desativar subconta** - Suspender acesso da subconta
  - [ ] **Transferir entre subcontas** - Movimentar valores

  #### ⏳ Documentos White Label

  - [ ] **Verificar documentos pendentes** - Documentos aguardando aprovação
  - [ ] **Enviar documentos** - Upload de documentos para análise
  - [ ] **Consultar status** - Situação da análise de documentos
  - [ ] **Reenviar documentos** - Submeter novamente após rejeição

  #### ⏳ Chargeback

  - [ ] **Criar disputa de chargeback** - Contestar chargeback recebido
  - [ ] **Listar chargebacks** - Histórico de chargebacks
  - [ ] **Recuperar chargeback específico** - Detalhes de uma disputa
  - [ ] **Anexar documentos** - Adicionar evidências à disputa
  - [ ] **Acompanhar processo** - Status da contestação

  #### ⏳ Cidades e Localização

  - [ ] **Listar estados** - Estados brasileiros disponíveis
  - [ ] **Listar cidades por estado** - Cidades de um estado específico
  - [ ] **Consultar CEP** - Buscar endereço por CEP
  - [ ] **Validar endereço** - Verificar validade de endereço

  #### ⏳ Relatórios e Analytics

  - [ ] **Relatório de vendas** - Análise de faturamento por período
  - [ ] **Relatório de inadimplência** - Cobranças em atraso
  - [ ] **Métricas de conversão** - Taxa de conversão de pagamentos
  - [ ] **Dashboard financeiro** - Visão geral dos indicadores

  ## Credenciais

  Para usar este nó, você precisa se autenticar com o Asaas. Você deve incluir os pré-requisitos (como criar uma conta no serviço), métodos de autenticação disponíveis e como configurá-los.

  ### Pré-requisitos

  1. Crie uma conta no [Asaas](https://asaas.com) ou no [Sandbox do Asaas](https://sandbox.asaas.com) para testes
  2. Gere sua chave de API no painel do Asaas

  ### Configuração de Autenticação

  1. No n8n, vá para **Credenciais** > **Criar Nova Credencial**
  2. Selecione **Asaas API**
  3. Configure os seguintes campos:
     - **Chave de API**: Sua chave de API do Asaas
     - **Ambiente**: Escolha entre Produção ou Sandbox
  4. Teste a conexão e salve

  ## Compatibilidade

  - **Versão mínima do n8n**: 1.0.0
  - **Versões testadas**: 1.0.0+
  - **Node.js**: >=20.15

  ## Uso

  Este nó permite integrar facilmente o Asaas aos seus fluxos de trabalho n8n. Comece criando clientes e depois avance para criação de cobranças e outras operações conforme suas necessidades.

  Para usuários iniciantes no n8n, consulte a documentação [Experimente](https://docs.n8n.io/try-it-out/) para começar.

  ## Recursos

  - [Documentação dos nós da comunidade n8n](https://docs.n8n.io/integrations/#community-nodes)
  - [Documentação da API do Asaas](https://docs.asaas.com/docs)
  - [Referência da API do Asaas](https://docs.asaas.com/reference)
  - [Portal de desenvolvedores Asaas](https://asaas.com/developers)
  - [Comunidade Discord Asaas](https://discord.gg/invite/X2kgZm69HV)

  ## Licença

  [MIT](LICENSE.md)

ai_documentation_summary:
  {"purpose":"A community n8n node for integrating with the Asaas Brazilian payment platform to manage customers, payments, subscriptions, and other financial operations.","capabilities":["List and create customers","Retrieve, update, and delete customers","Create and manage payments (invoices)","Process credit card payments","Generate QR Code for PIX","Manage recurring subscriptions","Handle payment splits","Manage escrow accounts","Upload and manage invoice documents","Configure notifications"],"authentication":"API key required (implied by standard Asaas integration pattern, not explicitly detailed in README)","commonUseCases":["Automating invoice creation and payment collection","Managing customer billing cycles","Processing recurring subscription payments","Splitting payments among multiple recipients","Handling PIX and credit card transactions"],"limitations":["Many payment-related operations are not yet implemented (indicated by unchecked checkboxes in README)","Documentation is incomplete (README truncated)"],"relatedNodes":["n8n-nodes-base.httpRequest","n8n-nodes-base.code"]}


node_type: n8n-nodes-uazapi.uazapi
package_name: n8n-nodes-uazapi
display_name: uazapi
description: n8n community node for UazAPI - Complete WhatsApp automation with 90+ endpoints
category: Community
development_style: declarative
version: 1.0.4
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: aifocus
author_github_url: git+https://github.com/aifocusdev/n8n-nodes-uazapi.git
npm_package_name: n8n-nodes-uazapi
npm_version: 1.0.4
community_fetched_at: 2026-03-25T21:19:41.777Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-uazapi

  [![NPM Version](https://img.shields.io/npm/v/n8n-nodes-uazapi)](https://www.npmjs.com/package/n8n-nodes-uazapi)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
  [![Downloads](https://img.shields.io/npm/dm/n8n-nodes-uazapi)](https://www.npmjs.com/package/n8n-nodes-uazapi)
  [![GitHub Stars](https://img.shields.io/github/stars/aifocusdev/n8n-nodes-uazapi?style=social)](https://github.com/aifocusdev/n8n-nodes-uazapi)

  > **Community node for n8n** - Integração completa com UazAPI para automação WhatsApp

  <div align="center">

  **💝 Projeto Open Source Gratuito** | [⭐ Dê uma Estrela](#) | [💰 Apoie via PIX](#-apoie-o-projeto)

  **Desenvolvido com ❤️ por [AI Focus Company](https://github.com/aifocusdev)**

  </div>

  Este é um node da comunidade n8n que fornece integração completa com a [UazAPI](https://uazapi.com), permitindo automação avançada do WhatsApp Business com mais de 90 endpoints disponíveis.

  ## 📋 Índice

  - [Características](#-características)
  - [Instalação](#-instalação)
  - [Credenciais](#-credenciais)
  - [Operações Disponíveis](#-operações-disponíveis)
  - [Exemplos de Uso](#-exemplos-de-uso)
  - [Desenvolvimento](#-desenvolvimento)
  - [Contribuindo](#-contribuindo)
  - [Licença](#-licença)

  ## ✨ Características

  ### 🖥️ **Gerenciamento de Instâncias**
  - Criar nova instância WhatsApp
  - Conectar ao WhatsApp (QR Code ou código de pareamento)
  - Verificar status da conexão
  - Desconectar e deletar instâncias
  - Listar todas as instâncias
  - Atualizar nome da instância

  ### 💬 **Mensagens**
  - **Texto:** Envio simples com preview de links
  - **Mídia:** Imagens, vídeos, áudios, documentos, PTT, stickers
  - **Contatos:** Envio de vCard
  - **Localização:** Coordenadas geográficas
  - **Menus Interativos:** Botões, listas, enquetes
  - **Stories/Status:** Publicação de status
  - **Ações:** Reagir, editar, deletar, marcar como lida

  ### 🚀 **Campanhas em Massa**
  - Disparo simples com mesma mensagem
  - Disparo avançado com personalização
  - Controle de campanhas (pausar, continuar, parar)
  - Delays aleatórios anti-ban
  - Agendamento de envios
  - Relatórios detalhados

  ### 👥 **Grupos WhatsApp**
  - Criar e gerenciar grupos
  - Adicionar/remover participantes
  - Promover/rebaixar administradores
  - Atualizar nome e descrição
  - Gerenciar links de convite
  - Listar todos os grupos

  ### 💬 **Gestão de Chats**
  - Arquivar/desarquivar conversas
  - Fixar chats importantes
  - Silenciar notificações
  - Deletar conversas
  - Marcar como lido
  - Buscar chats com filtros
  - Verificar números no WhatsApp

  ### 📞 **Contatos**
  - Listar contatos da agenda
  - Adicionar novos contatos
  - Remover contatos
  - Obter detalhes completos

  ### 🏷️ **Etiquetas/Labels**
  - Listar todas as etiquetas
  - Gerenciar etiquetas de chats
  - Editar etiquetas existentes

  ### 🤖 **Chatbot com IA**
  - Configurar chatbot inteligente
  - Criar agentes de IA personalizados
  - Suporte a múltiplos provedores:
    - **OpenAI** (GPT-4, GPT-4o-mini)
    - **Anthropic** (Claude 3.5 Sonnet)
    - **Google** (Gemini Pro)
    - **DeepSeek**
  - Gerenciar base de conhecimento
  - Criar funções para APIs externas

  ## 📦 Instalação

  ### Via n8n Community Nodes (Recomendado)

  1. Acesse o n8n
  2. Vá em **Settings** → **Community Nodes**
  3. Clique em **Install**
  4. Digite: `n8n-nodes-uazapi`
  5. Clique em **Install**

  ### Via NPM (Manual)

  ```bash
  npm install n8n-nodes-uazapi
  ```

  ### Via Docker

  Adicione ao seu `Dockerfile`:

  ```dockerfile
  FROM n8nio/n8n

  # Instalar node da comunidade
  RUN cd /usr/local/lib/node_modules/n8n && \
      npm install n8n-nodes-uazapi
  ```

  ## 🔐 Credenciais

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

  ### 1. Obter Credenciais

  1. Acesse [seudominio.uazapi.com](https://seudominio.uazapi.com)
  2. Crie uma conta ou faça login
  3. Obtenha seu **Admin Token**
  4. Ao criar uma instância, você receberá um **Instance Token**

  ### 2. Configurar no n8n

  1. No workflow, clique no node **UazAPI**
  2. Clique em **Create New Credentials**
  3. Preencha os campos:
     - **Base URL:** `https://seudominio.uazapi.com` (padrão)
     - **Admin Token:** Seu token de administrador (para criar/listar instâncias)
     - **Instance Token:** Token da instância específica (opcional - para operações de mensagens)

  > **💡 Dica:** Você pode usar variáveis do n8n para gerenciar múltiplas instâncias:
  > - Crie credenciais diferentes para cada instância
  > - Use expressões para selecionar dinamicamente a credencial

  ## 🎯 Operações Disponíveis

  ### Instance (Instâncias)
  - ✅ Create - Criar nova instância
  - ✅ Connect - Conectar ao WhatsApp
  - ✅ Get Status - Verificar status
  - ✅ Disconnect - Desconectar
  - ✅ Delete - Deletar instância
  - ✅ List All - Listar todas
  - ✅ Update Name - Renomear instância

  ### Message (Mensagens)
  - ✅ Send Text - Texto simples
  - ✅ Send Media - Imagem/vídeo/áudio/documento
  - ✅ Send Contact - Cartão vCard
  - ✅ Send Location - Localização GPS
  - ✅ Send Menu - Botões/listas/enquetes
  - ✅ Send Status - Story/Status
  - ✅ React to Message - Enviar emoji
  - ✅ Edit Message - Editar texto
  - ✅ Delete Message - Apagar para todos
  - ✅ Download Media - Baixar arquivo
  - ✅ Mark as Read - Marcar como lida

  ### Campaign (Disparos em Massa)
  - ✅ Create Simple - Campanha básica
  - ✅ Create Advanced - Com personalização
  - ✅ Control Campaign - Pausar/continuar/parar
  - ✅ List Campaigns - Listar todas
  - ✅ List Messages - Mensagens da campanha
  - ✅ Clear Sent - Limpar antigas

  ### Group (Grupos)
  - ✅ Create - Criar grupo
  - ✅ Get Info - Informações do grupo
  - ✅ List All - Listar grupos
  - ✅ Update Participants - Gerenciar membros
  - ✅ Update Name - Alterar nome
  - ✅ Update Description - Alterar descrição
  - ✅ Leave Group - Sair do grupo
  - ✅ Get Invite Link - Link de convite

  ### Chat (Conversas)
  - ✅ Archive - Arquivar/desarquivar
  - ✅ Delete - Deletar chat
  - ✅ Mark as Read - Marcar como lido
  - ✅ Pin - Fixar/desafixar
  - ✅ Mute - Silenciar
  - ✅ Find - Buscar chats
  - ✅ Check Number - Verificar WhatsApp

  ### Contact (Contatos)
  - ✅ List All - Listar contatos
  - ✅ Add - Adicionar contato
  - ✅ Remove - Remover contato
  - ✅ Get Details - Obter detalhes

  ### Label (Etiquetas)
  - ✅ List All - Listar etiquetas
  - ✅ Manage Chat - Gerenciar por chat
  - ✅ Edit - Editar etiqueta

  ### Chatbot (IA)
  - ✅ Update Settings - Configurar chatbot
  - ✅ Create Agent - Criar agente IA
  - ✅ List Agents - Listar agentes
  - ✅ Create Knowledge - Base de conhecimento
  - ✅ List Knowledge - Listar conhecimentos

  ## 📖 Exemplos de Uso

  ### Exemplo 1: Enviar Mensagem de Texto

  ```javascript
  // Configuração do node
  Resource: Message
  Operation: Send Text
  Number: 5511999999999
  Text: Olá! Esta é uma mensagem enviada via n8n + UazAPI
  ```

  ### Exemplo 2: Criar Campanha de Disparo

  ```javascript
  // Configuração do node
  Resource: Campaign
  Operation: Create Simple
  Numbers: 5511999999999, 5511888888888, 5511777777777
  Message Type: text
  Message Text: Olá {{nome}}! Promoção especial para você!
  Delay Min: 10
  Delay Max: 30
  ```

  ### Exemplo 3: Criar Grupo e Adicionar Membros

  ```javascript
  // Node 1: Criar Grupo
  Resource: Group
  Operation: Create
  Group Name: Meu Grupo Automático
  Participants: 5511999999999, 5511888888888

  // Node 2: Enviar Mensagem de Boas-vindas
  Resource: Message
  Operation: Send Text
  Number: {{$node["Criar Grupo"].json["groupJid"]}}
  Text: Bem-vindos ao grupo!
  ```

  ### Exemplo 4: Chatbot com IA (GPT-4)

  ```javascript
  // Node 1: Configurar Chatbot
  Resource: Chatbot
  Operation: Update Settings
  OpenAI API Key: sk-...
  Chatbot Enabled: true

  // Node 2: Criar Agente
  Resource: Chatbot
  Operation: Create Agent
  Agent Name: Atendente Virtual
  AI Provider: openai
  Model: gpt-4o-mini
  System Prompt: Você é um assistente de atendimento amigável...
  ```

  ### Exemplo 5: Workflow Completo - Auto-Resposta

  ```
  Webhook Trigger (Recebe mensagem)
    ↓
  IF (mensagem contém "oi" ou "olá")
    ↓
  UazAPI - Send Text (Responde automaticamente)
    ↓
  UazAPI - Mark as Read (Marca como lida)
  ```

  ### Exemplo 6: Disparos com CSV

  ```
  Read Binary File (CSV com contatos)
    ↓
  Split In Batches (Lotes de 50)
    ↓
  Loop Over Items (Para cada contato)
    ↓
  UazAPI - Send Text (Personalizado)
    ↓
  Wait (Delay aleatório 10-30s)
  ```

  ## 🛠️ Desenvolvimento

  ### Requisitos

  - Node.js 18+
  - npm ou yarn
  - n8n instalado localmente

  ### Setup do Projeto

  ```bash
  # Clonar repositório
  git clone https://github.com/seu-usuario/n8n-nodes-uazapi.git
  cd n8n-nodes-uazapi

  # Instalar dependências
  npm install

  # Build
  npm run build

  # Linkar localmente para testes
  npm link
  cd ~/.n8n
  npm link n8n-nodes-uazapi

  # Iniciar n8n
  n8n start
  ```

  ### Scripts Disponíveis

  ```bash
  npm run build      # Compilar TypeScript
  npm run dev        # Watch mode
  npm run lint       # Verificar código
  npm run lintfix    # Corrigir problemas
  npm run format     # Formatar código
  npm test           # Executar testes
  ```

  ### Estrutura do Projeto

  ```
  n8n-nodes-uazapi/
  ├── credentials/
  │   └── UazApiApi.credentials.ts
  ├── nodes/
  │   └── UazApi/
  │       ├── UazApi.node.ts
  │       └── uazapi.svg
  ├── package.json
  ├── tsconfig.json
  ├── gulpfile.js
  └── README.md
  ```

  ## 🤝 Contribuindo

  Contribuições são bem-vindas! Para contribuir:

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

  ### Diretrizes

  - Siga o estilo de código do projeto (ESLint + Prettier)
  - Adicione testes para novas funcionalidades
  - Atualize a documentação conforme necessário
  - Mantenha commits atômicos e descritivos

  ## 🐛 Reportar Bugs

  Encontrou um bug? Por favor, abra uma [issue](https://github.com/seu-usuario/n8n-nodes-uazapi/issues) com:

  - Descrição detalhada do problema
  - Passos para reproduzir
  - Versão do n8n e do node
  - Screenshots (se aplicável)

  ## 📝 Changelog

  ### v1.0.0 (2025-01-XX)

  **Adicionado:**
  - ✨ Implementação inicial com 90+ endpoints
  - 🔐 Sistema de credenciais com admin token e instance token
  - 📱 Operações de instância (criar, conectar, status, deletar)
  - 💬 Envio de mensagens (texto, mídia, contato, localização)
  - 🚀 Sistema de campanhas em massa
  - 👥 Gerenciamento completo de grupos
  - 💬 Gestão de chats e conversas
  - 📞 Operações de contatos
  - 🏷️ Sistema de etiquetas
  - 🤖 Chatbot com IA (OpenAI, Claude, Gemini, DeepSeek)
  - 📚 Base de conhecimento para IA
  - 🎨 Interface visual intuitiva
  - 📖 Documentação completa

  ## 🔗 Links Úteis

  - [Documentação UazAPI](https://docs.uazapi.com)
  - [n8n Community Nodes](https://docs.n8n.io/integrations/community-nodes/)
  - [GitHub Repository](https://github.com/seu-usuario/n8n-nodes-uazapi)
  - [NPM Package](https://www.npmjs.com/package/n8n-nodes-uazapi)

  ## 💬 Suporte e Contato

  ### 📧 Contato
  - **Empresa:** AI Focus Company
  - **Desenvolvedor:** Paulo Henrique
  - **Email:** aifocusdev@gmail.com
  - **GitHub:** [@aifocusdev](https://github.com/aifocusdev)

  ### 🐛 Reportar Problemas
  - **Issues:** [GitHub Issues](https://github.com/aifocusdev/n8n-nodes-uazapi/issues)
  - **Discussões:** [GitHub Discussions](https://github.com/aifocusdev/n8n-nodes-uazapi/discussions)

  ### 💡 Sugestões e Melhorias
  Abra uma issue ou discussão no GitHub. Todas as contribuições são bem-vindas!

  ---

  ## 💰 Apoie o Projeto

  Se este projeto foi útil para você ou sua empresa, considere apoiar o desenvolvimento!

  ### ☕ Contribua via PIX

  Sua contribuição ajuda a manter este projeto gratuito e open source!

  ```
  PIX (Celular): (99) 99229-1983
  Favorecido: Paulo Henrique
  Empresa: AI Focus Company
  ```

  **Outras formas de apoiar:**
  - ⭐ Dê uma estrela no GitHub
  - 🐛 Reporte bugs e sugira melhorias
  - 📝 Contribua com código
  - 📢 Compartilhe o projeto com outros desenvolvedores
  - 💬 Ajude outros usuários nas discussões

  Toda contribuição, por menor que seja, faz diferença! 🙏

  ---

  ## 📜 Licença

  Este projeto está licenciado sob a licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.

  ## 👏 Agradecimentos

  - Equipe [n8n](https://n8n.io) pela plataforma incrível
  - Equipe [UazAPI](https://uazapi.com) pela API robusta
  - Comunidade open source
  - A todos que contribuíram com doações e feedback

  ---

  <div align="center">

  **Desenvolvido com ❤️ por [AI Focus Company](https://github.com/aifocusdev)**

  **Paulo Henrique** | aifocusdev@gmail.com

  Se este projeto foi útil, considere dar uma ⭐ no GitHub e contribuir via PIX!

  [![GitHub Stars](https://img.shields.io/github/stars/aifocusdev/n8n-nodes-uazapi?style=social)](https://github.com/aifocusdev/n8n-nodes-uazapi)
  [![NPM Version](https://img.shields.io/npm/v/n8n-nodes-uazapi)](https://www.npmjs.com/package/n8n-nodes-uazapi)
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

  </div>

ai_documentation_summary:
  {"purpose":"A community n8n node that provides complete integration with UazAPI for advanced WhatsApp Business automation, supporting over 90 endpoints for messaging, campaigns, groups, and AI chatbots.","capabilities":["Create, connect, disconnect, and manage WhatsApp instances","Send text, media, contacts, locations, and interactive menus","Post stories and react to messages","Execute mass campaigns with personalization and anti-ban delays","Create and manage WhatsApp groups and participants","Archive, pin, mute, and search chats","Manage contact lists and labels","Deploy AI chatbots with support for OpenAI, Anthropic, Google, and DeepSeek","Create custom AI agents and external API functions"],"authentication":"API Token (Admin Token and Instance Token required)","commonUseCases":["Automated customer support via WhatsApp","Marketing campaigns and broadcast messaging","AI-powered chatbots for business inquiries","Automated group management and announcements","Lead nurturing through scheduled messages"],"limitations":["Community node (not official n8n node)","Requires UazAPI account and tokens","May have rate limits based on UazAPI service"],"relatedNodes":["n8n-nodes-whatsapp","n8n-nodes-ai","n8n-nodes-http-request"]}


node_type: @bitovi/n8n-nodes-confluence.confluence
package_name: @bitovi/n8n-nodes-confluence
display_name: confluence
description: N8N node to connect to Confluence
category: Community
development_style: declarative
version: 0.1.6
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-confluence.git
npm_package_name: @bitovi/n8n-nodes-confluence
npm_version: 0.1.6
community_fetched_at: 2026-03-25T21:19:41.777Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  ~# @bitovi/n8n-nodes-confluence

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

  Confluence is a collaborative workspace and documentation platform by Atlassian, used for creating, organizing, and sharing content with your team.

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

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

  ## Installation

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

  - 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-confluence`

  ## Operations

  - **Get Spaces**: List Confluence spaces.
  - **Get Pages in Space**: List pages within a space.
  - **Custom API call**: Use Confluence's REST API.

  ## Credentials

  This node requires authentication with Atlassian Confluence.

  - **Domain**: Your Atlassian site URL (e.g., `https://your-domain.atlassian.net`).
  - **User Name**: Your Atlassian account email.
  - **API Key**: Generate an API token from your Atlassian account ([API tokens](https://id.atlassian.com/manage-profile/security/api-tokens)).

  ## Compatibility

  - Node version: 1
  - Tested with latest n8n version (please update as needed)

  ## Usage

  This node provides extensive filtering and customization options for retrieving Confluence data:

  ### Basic Operations
  - **Get Spaces**: Retrieve all spaces or filter by specific space names using comma-separated values
  - **Get Pages in Space**: List pages within a specific space using the Space ID

  ### Filtering Options
  - **Title**: Filter pages by exact title match
  - **Status**: Choose page status:
    - `current` (default) - Active pages
    - `archived` - Archived pages
    - `deleted` - Deleted pages
    - `trashed` - Trashed pages

  ### Content Format Options
  - **Body Format**: Control how page content is returned:
    - `storage` (default) - Confluence's internal storage format
    - `atlas_doc_format` - Atlas document format for modern editing

  ### Organization Options
  - **Depth**: Control the hierarchy level of pages returned:
    - `all` (default) - All pages regardless of hierarchy level
    - `root` - Only top-level pages

  - **Sort**: Order results by various criteria:
    - `modified-date` (descending, default) - Most recently modified first
    - `created-date` - Creation date (ascending/descending)
    - `title` - Alphabetical by title (ascending/descending)
    - `id` - By page ID (ascending/descending)

  ### Pagination
  - **Return All**: Toggle to get all results or limit the number
  - **Limit**: Set maximum number of results when not returning all (default: 50)
  - Pagination is automatically handled for large result sets

  ## Resources

  * [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  * [Atlassian Confluence REST API documentation](https://developer.atlassian.com/cloud/confluence/rest/)

  ## Version history

  - v1.0.0: Initial release

  ## 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":"Connects to Atlassian Confluence to retrieve spaces and pages within n8n workflows using REST API operations.","capabilities":["List Confluence spaces","List pages within a specific space","Custom API calls via Confluence REST API","Filter pages by title","Filter pages by status (current, archived, deleted, trashed)","Control content format (storage, atlas_doc_format)","Control page hierarchy depth (all, root)","Sort results by modified-date, created-date, title, or id","Pagination support with limit and return all options"],"authentication":"API Key required (Domain, User Name, API Token)","commonUseCases":["Automated documentation retrieval","Content migration between systems","Team workflow automation with Confluence data","Bulk page status management"],"limitations":["Community node (requires N8N_COMMUNITY_PACKAGES_ENABLED=true)","Requires manual API token generation in Atlassian account","Limited to Confluence REST API functionality"],"relatedNodes":["n8n HTTP Request node","n8n Community Nodes"]}


node_type: @bitovi/n8n-nodes-freshbooks.freshbooks
package_name: @bitovi/n8n-nodes-freshbooks
display_name: freshbooks
description: N8N node to connect to FreshBooks
category: Community
development_style: declarative
version: 0.1.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: bitovi-os
author_github_url: git+https://github.com/bitovi/n8n-nodes-freshbooks.git
npm_package_name: @bitovi/n8n-nodes-freshbooks
npm_version: 0.1.1
community_fetched_at: 2026-03-25T21:19:41.778Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # @bitovi/n8n-nodes-freshbooks

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

  FreshBooks is a cloud-based accounting software designed for small businesses and freelancers, providing tools for invoicing, time tracking, expense management, and financial reporting.

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

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

  ## Installation

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

  - 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-freshbooks`

  ## Operations

  ### Clients

  - **List Clients**: Retrieve all clients from your FreshBooks account

  ### Projects

  - **List Projects**: Get all projects for specified clients

  ### Services

  - **List Services**: Get available services for a specific project

  ### Time Tracking

  - **List Time Entries**: Retrieve time entries from your FreshBooks account
  - **Get Time Entry**: Retrieve a specific time entry by ID
  - **Create Time Entry**: Add a new time entry with client, project, service, note, date, and duration
  - **Update Time Entry**: Modify an existing time entry
  - **Delete Time Entry**: Remove a time entry

  ### User

  - **Get User Info**: Retrieve current user information

  ## Credentials

  This node requires OAuth2 authentication with FreshBooks.

  - **Client ID**: Your FreshBooks OAuth2 client ID from your app registration
  - **Client Secret**: Your FreshBooks OAuth2 client secret from your app registration  
  - **Authorization URL**: `https://my.freshbooks.com/service/auth/oauth/authorize`

  To set up OAuth2 credentials:

  1. Register your application in the FreshBooks Developer Portal
  2. Configure the redirect URI in your FreshBooks app settings
  3. Use the provided Client ID and Client Secret in your n8n credentials

  ## Compatibility

  - Node version: 1
  - Tested with latest n8n version

  ## Usage

  This node provides comprehensive access to FreshBooks functionality for accounting and time tracking:

  ### Time Tracking Operations

  #### Creating Time Entries

  - **Client ID**: Select the client for billing
  - **Project ID**: Associate with specific project
  - **Service ID**: Categorize the type of work performed
  - **Note**: Detailed description of work performed
  - **Date**: When the work was performed
  - **Duration**: Time spent in seconds (default: 28800 = 8 hours)
  - **Is Logged**: Whether the entry is marked as logged (default: true)

  #### Managing Time Entries

  - List all time entries with pagination support
  - Get specific time entries by ID
  - Update existing entries with new information
  - Delete time entries when needed

  ### Filtering and Options

  #### Client Operations

  - Filter by visibility state (active/archived)
  - Sort by various criteria (updated date, created date, etc.)

  #### Project Operations

  - Filter projects by specific client IDs
  - Show only active projects
  - Exclude completed projects from results

  ### Pagination Support

  - **Return All**: Get all results or limit the number returned
  - **Limit**: Set maximum number of results (default: 50)
  - Automatic pagination handling for large datasets

  ### User Information

  - Retrieve current authenticated user details
  - Access business and account information

  ## Resources

  - [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
  - [FreshBooks API documentation](https://www.freshbooks.com/api)
  - [FreshBooks Developer Portal](https://www.freshbooks.com/developers)

  ## Version history

  - v0.1.0: Initial release
    - Client, Project, Service, Time Tracking, and User operations
    - Full CRUD support for time entries
    - OAuth2 authentication
    - Pagination support

  ## 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":"Connects n8n workflows to FreshBooks for accounting and time tracking operations, including client management, project tracking, service listing, and time entry CRUD.","capabilities":["List clients with filtering and sorting","List projects for specific clients","List available services for projects","Retrieve current user information","Create time entries with client, project, service, note, date, and duration","Update existing time entries","Delete time entries","Retrieve specific time entries by ID","List time entries with pagination support","Filter clients by visibility state (active/archived)"],"authentication":"OAuth2","commonUseCases":["Automating time tracking for freelancers","Generating invoices from FreshBooks data","Syncing project details between n8n and FreshBooks","Tracking billable hours automatically"],"limitations":["Community node (requires enabling in n8n settings)","Requires FreshBooks OAuth2 app registration before use"],"relatedNodes":["n8n HTTP Request","n8n Webhook","n8n Spreadsheet"]}


node_type: n8n-nodes-cnpj.cnpj
package_name: n8n-nodes-cnpj
display_name: cnpj
description: Search for details of a Brazilian company using a CNPJ. By https://integre.me/.
category: Community
development_style: declarative
version: 1.0.0
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: integreme
author_github_url: git+https://github.com/Integreme/integreme-cnpj.git
npm_package_name: n8n-nodes-cnpj
npm_version: 1.0.0
community_fetched_at: 2026-03-25T21:19:41.778Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  Search for details of a Brazilian company using a CNPJ.

  Developed by [integre.me](https://integre.me/) 💚

ai_documentation_summary:
  {"purpose":"Retrieves detailed information about a Brazilian company by searching using its CNPJ (Cadastro Nacional da Pessoa Jurídica) number.","capabilities":["Search company details by CNPJ","Retrieve company registration information","Access company status and legal data"],"authentication":"None","commonUseCases":["Business verification in Brazil","Due diligence checks","Company research and validation"],"limitations":["Limited to Brazilian companies only","Depends on data availability from the source provider"],"relatedNodes":["http request","data filter","business data nodes"]}


node_type: n8n-nodes-bedrock-advanced.bedrockadvanced
package_name: n8n-nodes-bedrock-advanced
display_name: bedrockadvanced
description: n8n community node for AWS Bedrock Chat Model with prompt caching support
category: Community
development_style: declarative
version: 0.4.9
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: unbalanced
npm_package_name: n8n-nodes-bedrock-advanced
npm_version: 0.4.9
community_fetched_at: 2026-03-25T21:19:41.779Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n-nodes-bedrock-advanced

  Advanced n8n community nodes for AWS Bedrock, providing features not available in the official n8n Bedrock node. This package includes two nodes:

  | Node | API | Best For |
  |------|-----|----------|
  | **AWS Bedrock Chat Model (Advanced)** | Converse API | Multi-model support (Claude, Nova, Titan) with prompt caching |
  | **Bedrock Claude** | InvokeModel API | Full access to Claude-specific features |

  ## Installation

  ### In n8n (community node)

  1. Go to **Settings > Community Nodes**
  2. Enter `n8n-nodes-bedrock-advanced`
  3. Click **Install**

  ### Manual installation

  ```bash
  cd ~/.n8n
  npm install n8n-nodes-bedrock-advanced
  ```

  Then restart n8n.

  ---

  ## Node 1: AWS Bedrock Chat Model (Advanced)

  A drop-in replacement for the official [n8n AWS Bedrock Chat Model node](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatawsbedrock/), adding **prompt caching** and **detailed token usage metrics** via the Bedrock Converse API.

  ### Features

  - **Prompt caching** with configurable TTL (5 minutes or 1 hour)
  - **Token usage metrics** including cache read/write breakdowns
  - **Multi-model support** — works with Claude, Amazon Nova, Titan, and any Converse API-compatible model
  - On-demand models and inference profiles
  - Debug logging toggle

  ### Prompt Caching

  When enabled, the node automatically injects a `cachePoint` marker into system messages before sending the request to Bedrock. On the first call, Bedrock caches the system prompt tokens. On subsequent calls within the TTL window, cached tokens are reused, reducing latency and cost.

  **Supported TTL options:**

  | TTL | Supported Models |
  |-----|-----------------|
  | 5 minutes | All cacheable models (Claude 3.5 Sonnet v2, Claude 3.7 Sonnet, Claude Sonnet 4, Amazon Nova, etc.) |
  | 1 hour | Claude Opus 4.5/4.6, Claude Sonnet 4.5/4.6, Claude Haiku 4.5 |

  **Requirements:**
  - Cached content must remain identical across requests for cache hits
  - Minimum token thresholds apply per model (1,024 for Sonnet/Nova, 4,096 for Opus/Haiku)

  ### Token Usage Metrics

  Every execution reports detailed token usage:

  ```json
  {
    "tokenUsage": {
      "inputTokens": 150,
      "outputTokens": 500,
      "totalTokens": 650,
      "cacheReadInputTokens": 120,
      "cacheWriteInputTokens": 0
    }
  }
  ```

  ### Configuration

  1. Add the **AWS Bedrock Chat Model (Advanced)** node to your workflow
  2. Select your AWS credentials
  3. Choose your model (on-demand or inference profile)
  4. Under **Options**:
     - Toggle **Prompt Caching** and select TTL
     - Adjust temperature and max tokens
     - Toggle **Debug Logs** to see detailed request/response logs

  ---

  ## Node 2: Bedrock Claude

  A Claude-specific node that uses the Bedrock **InvokeModel API** with the native Anthropic Messages API format. This bypasses the Converse API abstraction layer, giving full access to Claude-specific features that the Converse API doesn't support.

  ### Features

  - **Prompt caching** with `cache_control` on system messages *and* tool definitions
  - **Built-in Claude tools** — web search, computer use, bash, text editor
  - **Programmatic tool calling** (future — pending Bedrock support)
  - **Streaming** support
  - **Tool calling** with full multi-turn conversation support
  - Debug logging toggle

  ### Why use this instead of the Advanced node?

  The Converse API is a unified interface across all Bedrock models, but it limits access to provider-specific features. The Anthropic Messages API gives you:

  | Feature | Converse API (Advanced node) | InvokeModel (Bedrock Claude) |
  |---------|:---:|:---:|
  | Standard tool calling | Yes | Yes |
  | Prompt caching (system) | Yes (TTL limited) | Yes (full control) |
  | Prompt caching (tools) | No | Yes |
  | Web search tool | No | Yes |
  | Computer use tool | No | Yes |
  | Bash tool | No | Yes |
  | Text editor tool | No | Yes |
  | Programmatic tool calling | No | Planned |
  | Multi-model support | Yes | Claude only |

  ### Built-in Claude Tools

  Enable these directly in the node options — no external tool setup required:

  - **Web Search** — Claude can search the web during conversations
  - **Computer Use** — Claude can control mouse, keyboard, and take screenshots (configurable display dimensions)
  - **Bash** — Claude can execute shell commands
  - **Text Editor** — Claude can view and edit files

  ### Prompt Caching

  When enabled, `cache_control: { type: "ephemeral" }` markers are automatically added to:
  - The last system message block
  - The last tool definition

  This means both your system prompt and tool definitions benefit from caching, reducing costs on repeated calls with the same tools.

  ### Configuration

  1. Add the **Bedrock Claude** node to your workflow
  2. Select your AWS credentials
  3. Choose your Claude model (the dropdown filters to Claude inference profiles only)
  4. Under **Options**:
     - Set **Max Tokens** and **Temperature**
     - Toggle **Prompt Caching**
     - Enable any **built-in tools** (web search, computer use, bash, text editor)
     - Toggle **Programmatic Tool Calling** (pending Bedrock support)
     - Toggle **Debug Logs**

  ---

  ## AWS IAM Permissions

  Both nodes require the following IAM permissions:

  ```json
  {
    "Effect": "Allow",
    "Action": [
      "bedrock:InvokeModel",
      "bedrock:InvokeModelWithResponseStream",
      "bedrock:ListFoundationModels",
      "bedrock:ListInferenceProfiles",
      "bedrock:GetInferenceProfile"
    ],
    "Resource": "*"
  }
  ```

  ## Development

  ```bash
  # Install dependencies
  npm install

  # Build
  npm run build

  # Watch mode
  npm run dev
  ```

  ## License

  MIT

ai_documentation_summary:
  {"purpose":"Provides advanced AWS Bedrock integration with prompt caching support and multi-model capabilities for AI workflows.","capabilities":["Multi-model support (Claude, Nova, Titan)","Prompt caching with configurable TTL (5 minutes or 1 hour)","Detailed token usage metrics including cache read/write breakdowns","Built-in Claude tools (web search, computer use, bash, text editor)","Streaming support","Full multi-turn conversation support","Debug logging","On-demand models and inference profiles"],"authentication":"AWS IAM credentials via AWS credentials node","commonUseCases":["Cost optimization through prompt caching","Multi-model experimentation","Claude-specific tool integration","Detailed token tracking for billing analysis"],"limitations":["Programmatic tool calling is pending Bedrock support","Prompt caching TTL limits apply to some models","Minimum token thresholds required for caching","Bedrock Claude node only supports Claude models"],"relatedNodes":["AWS Bedrock Chat Model (official)","AWS Credentials","HTTP Request"]}


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.3.1
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
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.3.1
community_fetched_at: 2026-03-25T21:19:41.779Z
ai_summary_generated_at: 2026-03-25 22:47:20
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":"Provides utility nodes for n8n workflows including JSON schema validation, regex operations, data filtering, and Wikipedia integration.","capabilities":["JSON schema validation using AJV library","Regular expression matching and extraction","Text replacement with regex capture groups","Skipping N items from data stream","Wikipedia content fetching","Wikipedia link extraction","Auto-suggest for Wikipedia page matching"],"authentication":"None","commonUseCases":["Validating API responses against JSON schemas","Extracting data patterns from text","Implementing pagination in data flows","Fetching Wikipedia content for AI processing"],"limitations":["Requires Node.js >= 18.10","Requires pnpm >= 9.1","Compatible with n8n API version 1"],"relatedNodes":["n8n core nodes","JSON Schema validator","Regex node","Wikipedia node"]}


node_type: n8n-nodes-llamacloud.llamacloud
package_name: n8n-nodes-llamacloud
display_name: llamacloud
description: LlamaCloud integration with n8n
category: Community
development_style: declarative
version: 1.0.2
properties_schema: []
operations: []
credentials_required: []
updated_at: 2026-03-25 21:19:41
author_name: ibrahho
author_github_url: git+https://github.com/Hossam-Dev-AI/n8n-llamacloud.git
npm_package_name: n8n-nodes-llamacloud
npm_version: 1.0.2
community_fetched_at: 2026-03-25T21:19:41.780Z
ai_summary_generated_at: 2026-03-25 22:47:20
npm_readme:
  # n8n LlamaCloud Nodes

  This repository contains custom n8n nodes for integrating with [LlamaCloud](https://cloud.llamaindex.ai/?utm_source=demo&utm_medium=n8n), providing powerful document processing and retrieval capabilities within your n8n workflows.

  ## 🚀 Features

  This package includes three custom nodes:

  ### 📄 **[LlamaParse](https://www.llamaindex.ai/llamaparse?utm_source=demo&utm_medium=n8n)**
  - Parse PDF files and extract their content in markdown format
  - Uses LlamaCloud's document parsing capabilities
  - Perfect for document preprocessing workflows

  ### 🔍 **[LlamaExtract](https://www.llamaindex.ai/llamaextract?utm_source=demo&utm_medium=n8n)** 
  - Extract structured data from files using LlamaCloud extraction agents
  - Get elegant, structured information from documents
  - Ideal for data extraction and analysis workflows

  ### 💬 **[LlamaCloud](https://www.llamaindex.ai/llamacloud?utm_source=demo&utm_medium=n8)**
  - Retrieve context from your LlamaCloud indexes
  - Chat with your indexed documents
  - Great for building RAG (Retrieval-Augmented Generation) applications

  ## 📋 Prerequisites

  Before using these nodes, you need:

  1. **Node.js and npm** (Minimum version Node 20)
  > You can find instructions on how to install both using 
  nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For 
  Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).

  2. **n8n** installed globally
     ```bash
     npm install n8n -g
     ```

  3. **LlamaCloud API Key**
     - Sign up at [cloud.llamaindex.ai](https://cloud.llamaindex.ai/?utm_source=demo&utm_medium=n8n)
     - Get your API key from the dashboard

  ## 🛠️ Installation

  ### Option 1: Local Development (Recommended)

  1. **Clone this repository**
     ```bash
     git clone https://github.com/run-llama/n8n-llamacloud.git
     cd n8n-llamacloud
     ```

  2. **Install dependencies**
     ```bash
     npm install
     ```

  3. **Build the nodes and publish locally**
     ```bash
     npm run build
     npm link
     ```

  4. **Link to n8n custom nodes directory**
     ```bash
     # Create custom nodes directory if it doesn't exist
     mkdir -p ~/.n8n/custom
     npm link n8n-llamacloud
     ```

  5. **Restart n8n**
     ```bash
     n8n stop
     n8n start
     ```

  ### Option 2: Global Installation

  1. **Install globally**
     ```bash
     npm install -g n8n-llamacloud
     npm link
     ```

  2. **Restart n8n**
     ```bash
     n8n stop
     n8n start
     ```

  ## 🔧 Setup

  ### 1. Configure LlamaCloud Credentials

  1. Open n8n in your browser (usually `http://localhost:5678`)
  2. Go to **Settings** → **Credentials**
  3. Click **Add Credential**
  4. Search for **"LlamaCloud API Key"**
  5. Enter your LlamaCloud API key 
  6. Test the connection and save

  ### 2. Create LlamaCloud Indexes (for LlamaCloud node)

  1. Go to [cloud.llamaindex.ai](https://cloud.llamaindex.ai/?utm_source=demo&utm_medium=n8n)
  2. Create a new project
  3. Upload documents to create an index
  4. Note the index name for use in the LlamaCloud node

  ## 📚 Resources
  - [LlamaCloud Documentation](https://docs.cloud.llamaindex.ai/utm_source=demo&utm_medium=n8n)
  - [LlamaIndex Documentation](https://docs.llamaindex.ai/utm_source=demo&utm_medium=n8n)
  - [n8n Documentation](https://docs.n8n.io/)
  - [n8n Community](https://community.n8n.io/)


  ## 📖 Usage Examples

  ### Example 1: Document Processing Pipeline

  ```mermaid
  graph LR
      A[PDF File] --> B[LlamaParse]
      B --> C[LlamaExtract]
      C --> D[Structured Data]
  ```

  **Workflow:**
  1. **LlamaParse** node: Parse a PDF file to markdown
  2. **LlamaExtract** node: Extract structured data using an extraction agent
  3. Use the structured data in subsequent nodes

  ### Example 2: RAG Chat Application

  ```mermaid
  graph LR
      A[User Query] --> B[LlamaCloud]
      B --> C[Retrieved Context]
      C --> D[AI Response]
  ```

  **Workflow:**
  1. **HTTP Request** node: Receive user query
  2. **LlamaCloud** node: Retrieve relevant context from your index
  3. **OpenAI** node: Generate response using the retrieved context

  ### Example 3: Document Analysis

  ```mermaid
  graph LR
      A[Document] --> B[LlamaParse]
      B --> C[LlamaExtract]
      C --> D[Analysis Results]
  ```

  **Workflow:**
  1. **LlamaParse** node: Convert document to markdown
  2. **LlamaExtract** node: Extract specific information (e.g., dates, amounts, entities)
  3. **Code** node: Process and analyze the extracted data

  ## 🔍 Node Details

  ### LlamaParse Node

  **Purpose:** Parse PDF files and extract content in markdown format

  **Parameters:**
  - **File Path** (required): Path to the PDF file to parse
    - Example: `/Users/username/Documents/document.pdf`

  **Output:** Markdown content of the parsed document

  ### LlamaExtract Node

  **Purpose:** Extract structured data from files using LlamaCloud extraction agents

  **Parameters:**
  - **Agent ID** (required): The ID of your LlamaCloud extraction agent
  - **File Path** (required): Path to the file to extract data from

  **Output:** Structured data based on your extraction agent's configuration

  ### LlamaCloud Node

  **Purpose:** Retrieve context from your LlamaCloud indexes

  **Parameters:**
  - **Index Name** (required): Name of your LlamaCloud index
  - **Chat Input** (from previous node): The query to search for in your index

  **Output:** Retrieved context from your index

ai_documentation_summary:
  {"purpose":"This n8n node package integrates with LlamaCloud to provide document processing, structured data extraction, and retrieval capabilities for building RAG applications.","capabilities":["Parse PDF files and extract content in markdown format","Extract structured data from files using LlamaCloud extraction agents","Retrieve context from LlamaCloud indexes for chat applications","Support document preprocessing workflows","Enable Retrieval-Augmented Generation (RAG) workflows"],"authentication":"LlamaCloud API Key","commonUseCases":["Document preprocessing pipelines","Data extraction and analysis from documents","RAG chat applications","Document analysis workflows"],"limitations":["Requires Node.js version 20 or higher","Requires n8n installed globally","Requires local development build or global installation","Requires manual setup of LlamaCloud indexes"],"relatedNodes":["LlamaParse","LlamaExtract","LlamaCloud","HTTP Request","OpenAI"]}


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-03-25 21:19:41
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-03-25T21:19:41.780Z
ai_summary_generated_at: 2026-03-25 22:47:20
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":"Converts images between common formats (JPG, PNG, BMP, TIFF, GIF) supporting both file and base64 inputs/outputs with adjustable quality settings.","capabilities":["Convert images to JPG, PNG, BMP, TIFF, GIF formats","Accept file inputs","Accept base64 inputs","Output as file data","Output as base64 data","Adjust image quality for JPG output (0-100)"],"authentication":"None","commonUseCases":["Converting uploaded image files to web-friendly formats like JPG or PNG","Transforming base64-encoded images within workflow data","Batch processing image format conversions in automated workflows"],"limitations":["Requires n8n version 1.0.0 or later","Requires Node.js 16 or newer for installation","Quality adjustment is only available for JPG output"],"relatedNodes":["n8n-nodes-base.code","n8n-nodes-base.httpRequest"]}


