n8n Nodes: The Complete Guide to All Node Types 2026

Nodes are the fundamental building blocks of every n8n workflow. Each node encapsulates a specific piece of functionality β€” connecting to an API, transforming data, making a decision, or triggering an execution. Understanding the full catalog of available nodes is the key to building powerful, efficient automations.

In this guide, we cover all major n8n node categories with detailed explanations, configuration tips, practical use cases, and the exact node type strings you need when building or importing workflows programmatically.

πŸ“Š Quick Reference

n8n has 400+ nodes across 5 categories: Trigger (start workflows), Action (do things), Logic (control flow), Transform (manipulate data), and AI (LangChain agents and LLMs). Each node has a unique type string used in the JSON configuration.

Trigger Nodes β€” Starting Your Workflows

Every workflow needs exactly one trigger node. Triggers define when a workflow executes. Without a trigger, a workflow can only run manually. There are two types of triggers:

  • Active triggers: Listen for real-time events (webhooks, app events like new email, new message).
  • Polling triggers: Check for new data on a schedule (e.g., check for new rows in a spreadsheet every 5 minutes).

Webhook Node

Webhook
n8n-nodes-base.webhook
Trigger

The Webhook node creates an HTTP endpoint that external systems can call to trigger the workflow. It's the most versatile trigger in n8n β€” any system that can make HTTP requests can trigger your workflow.

HTTP Methods
GET, POST, PUT, PATCH, DELETE, HEAD
Auth Options
None, Basic Auth, Header Auth, JWT
Response Mode
Immediately, When Last Node Finishes, Using 'Respond to Webhook' Node
Best For
Stripe payments, GitHub events, form submissions, any real-time integration
// Webhook URL format (production) https://your-n8n.domain.com/webhook/your-unique-path // Test URL (only active when workflow is open) https://your-n8n.domain.com/webhook-test/your-unique-path // Access webhook data in subsequent nodes {{ $json.body.email }} // POST body field {{ $json.query.page }} // Query parameter {{ $json.headers["x-api-key"] }} // Request header

Schedule Trigger (Cron)

Schedule Trigger
n8n-nodes-base.scheduleTrigger
Trigger

Executes the workflow at scheduled intervals using cron expressions or simple interval settings. The backbone of all batch processing and periodic automation workflows.

Schedule Options
Every X minutes/hours/days, or custom cron
Timezone Support
Yes β€” runs in specified timezone
// Common cron expressions for Schedule Trigger 0 9 * * 1-5 // Every weekday at 9:00 AM */15 * * * * // Every 15 minutes 0 0 * * * // Daily at midnight 0 8 1 * * // First day of month at 8 AM 30 17 * * 5 // Every Friday at 5:30 PM

Gmail Trigger

Gmail Trigger
n8n-nodes-base.gmailTrigger
Trigger

Polls your Gmail inbox for new emails matching specified filters. Triggers the workflow whenever a new matching email arrives. Supports label filters, sender filters, and subject filters.

Poll Interval
Configurable (default: 1 minute)
Filters
Label, sender, subject, read status
Output
Subject, sender, body (text + HTML), attachments, labels, date
Auth
OAuth2 (Google account)

Other Important Trigger Nodes

Google Sheets Trigger
n8n-nodes-base.googleSheetsTrigger
Triggers on new or updated rows in a Google Sheet. Polls at configurable intervals.
Slack Trigger
n8n-nodes-base.slackTrigger
Fires on Slack events: new messages, reactions, mentions, user joins, channel events.
Airtable Trigger
n8n-nodes-base.airtableTrigger
Triggers when records are created or updated in Airtable.
Notion Trigger
n8n-nodes-base.notionTrigger
Triggers on new or updated pages in a Notion database.
HubSpot Trigger
n8n-nodes-base.hubspotTrigger
CRM events: new contact, deal stage changed, form submission, email opened.
Typeform Trigger
n8n-nodes-base.typeformTrigger
Triggers on new form responses in Typeform via webhook.

Action Nodes β€” Doing Things in the World

Action nodes perform operations: sending emails, inserting records, calling APIs, managing files, and more. They're the "do" nodes that make your workflows actually accomplish things.

HTTP Request Node

HTTP Request
n8n-nodes-base.httpRequest
Action

The most important action node in n8n. Makes HTTP calls to any REST API. Effectively extends n8n's integration reach to any service with an API, even if there's no dedicated n8n node for it.

Methods
GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
Auth Types
None, API Key, Bearer Token, Basic Auth, OAuth1, OAuth2, Digest, AWS
Body Types
JSON, Form Data, Binary, Raw, x-www-form-urlencoded
Features
Pagination, timeout, proxy, SSL skip, custom headers, response format
// HTTP Request: POST to an API with JSON body URL: https://api.example.com/users Method: POST Headers: Authorization: Bearer {{ $credentials.apiKey }} Content-Type: application/json Body: { "name": "{{ $json.name }}", "email": "{{ $json.email }}", "plan": "{{ $json.selectedPlan }}" } // Pagination: follow "next" links automatically Pagination Mode: Response Contains Next URL Next URL Expression: {{ $response.body.nextPage }}

Gmail (Send Email)

Gmail
n8n-nodes-base.gmail
Action

Full Gmail integration for sending emails, reading messages, managing labels, creating drafts, and organizing your inbox. Supports HTML emails, CC/BCC, reply threading, and file attachments.

Operations
Send, Reply, Get, Delete, Label, Mark as Read/Unread, Create Draft
Email Format
Plain text and HTML with full styling support
Attachments
Binary data from previous nodes (PDFs, images, CSVs, etc.)
Threading
Reply in thread using message ID

Slack Node

Slack
n8n-nodes-base.slack
Action

Send messages, post to channels, manage users, create channels, and build interactive Slack bots. Supports Block Kit for rich message formatting.

Operations
Send Message, Update Message, Delete, Get Channel Info, Invite User, Archive Channel
Message Types
Text, Block Kit (rich UI), attachments, threaded replies
// Slack Block Kit message example { "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": "*New Lead:* {{ $json.name }}\n*Email:* {{ $json.email }}" } }, { "type": "actions", "elements": [{ "type": "button", "text": { "type": "plain_text", "text": "View in CRM" }, "url": "{{ $json.crmUrl }}" }] } ] }

Google Sheets Node

Google Sheets
n8n-nodes-base.googleSheets
Action

Read, write, update, and delete rows in Google Sheets. One of the most-used nodes in n8n β€” perfect for data collection, reporting, lightweight databases, and team dashboards.

Operations
Append Row, Read Rows, Update Row, Delete Row, Get Spreadsheet, Create Sheet
Column Mapping
Map n8n fields to sheet columns by header name or column letter
Filters
Filter rows by column value when reading
Batch Support
Append multiple rows in one API call

More Action Nodes

Postgres / MySQL / MariaDB
n8n-nodes-base.postgres
Execute SQL queries: SELECT, INSERT, UPDATE, DELETE. Supports parameterized queries and transaction batches.
Notion
n8n-nodes-base.notion
Create, update, query Notion database pages. Read/write page properties and content blocks.
HubSpot
n8n-nodes-base.hubspot
Create and update contacts, companies, deals, and tickets. Log activities. Full CRM automation.
Stripe
n8n-nodes-base.stripe
Manage customers, charges, subscriptions, invoices, payment intents. Full Stripe API coverage.
Airtable
n8n-nodes-base.airtable
Create, read, update, delete Airtable records. Filter and sort with Airtable formula syntax.
Telegram
n8n-nodes-base.telegram
Send messages, photos, files to Telegram chats, groups, or channels via Bot API.
Google Drive
n8n-nodes-base.googleDrive
Upload, download, move, copy, delete files and folders in Google Drive.
Jira
n8n-nodes-base.jira
Create issues, update status, add comments, manage sprints. Full Jira Software integration.

Logic Nodes β€” Controlling Workflow Flow

Logic nodes control the execution path through your workflow. They enable conditional branching, looping over collections, merging parallel paths, and handling errors.

IF Node (Conditional Branch)

IF
n8n-nodes-base.if
Logic

Routes items down different paths based on conditions. Every item is evaluated and sent to either the True or False branch. Supports multiple conditions with AND/OR logic.

Condition Types
String, Number, Boolean, Array, Date/Time comparisons
Operators
equals, not equals, contains, starts with, greater than, less than, is empty, regex
Logic Combiner
AND (all conditions must match) or OR (any condition matches)
// IF node condition examples (JSON config) // Condition 1: Check if email domain is gmail { "leftValue": "{{ $json.email }}", "operation": "endsWith", "rightValue": "@gmail.com" } // Condition 2: Check if order value exceeds threshold { "leftValue": "{{ $json.orderTotal }}", "operation": "larger", "rightValue": 500 }

Switch Node

Switch
n8n-nodes-base.switch
Logic

Routes items to one of multiple outputs based on a value. More efficient than chaining multiple IF nodes when you have 3+ possible routes. Think of it as a switch/case statement.

Mode
Rules (define conditions per output) or Expression (dynamic routing)
Fallback
Optional default output for unmatched items

Merge Node

Merge
n8n-nodes-base.merge
Logic

Combines data from two or more branches into a single stream. Essential for parallel processing workflows where you split data, process it in different paths, and need to bring it back together.

Modes
Append, Combine (by position or field), SQL JOIN-style (inner, left, outer), Choose Branch
Use Case
Enrich data by matching records from two sources, combine parallel API results

SplitInBatches Node

Split In Batches
n8n-nodes-base.splitInBatches
Logic

Processes large arrays of items in smaller chunks (batches). Critical for respecting API rate limits and avoiding memory issues when processing thousands of records.

Batch Size
Configurable (e.g., 10, 50, 100 items per batch)
Pattern
Loop back to itself β†’ process batch β†’ check if done β†’ continue or exit
πŸ’‘ Rate Limit Pattern

Combine SplitInBatches with a Wait node (n8n-nodes-base.wait) to add delays between batches. Set Wait to 1 second between batches to stay within API rate limits of 60 requests/minute.

Other Logic Nodes

Wait
n8n-nodes-base.wait
Pauses workflow execution for a fixed time or until a webhook call is received. Great for approval flows.
Stop and Error
n8n-nodes-base.stopAndError
Manually throw an error to stop the workflow. Triggers the error workflow for notifications.
No Operation (NOP)
n8n-nodes-base.noOp
Does nothing β€” useful as a placeholder or for organizing workflow branches visually.
Filter
n8n-nodes-base.filter
Removes items from the stream that don't match conditions. Only passing items continue downstream.

Transform Nodes β€” Shaping Your Data

Transform nodes manipulate the data flowing through your workflow: adding fields, removing properties, reformatting values, extracting information from HTML or XML, and more.

Edit Fields (Set) Node

Edit Fields (Set)
n8n-nodes-base.set
Transform

The most fundamental transform node. Adds, modifies, or removes fields on the data object passing through. Used in nearly every workflow to reshape data before sending it to the next node.

Modes
Manual mapping (UI), JSON (raw), Expressions
Options
Keep only set, include all other fields

Code Node

Code
n8n-nodes-base.code
Transform

Execute JavaScript or Python code directly in the workflow. Access all incoming items, perform complex transformations, call built-in Node.js modules, and return custom data. The ultimate escape hatch for anything other nodes can't do.

Languages
JavaScript (Node.js) and Python (via exec)
Modes
Run Once for All Items, Run Once for Each Item
Built-in Access
$input.all(), $input.first(), $now, $workflow, $execution, require() (npm built-ins)
// Code node: JavaScript example // Transform all items: calculate total and format const items = $input.all(); return items.map(item => { const data = item.json; const subtotal = data.quantity * data.price; const tax = subtotal * 0.21; return { json: { ...data, subtotal: subtotal.toFixed(2), tax: tax.toFixed(2), total: (subtotal + tax).toFixed(2), formattedDate: new Date(data.orderDate) .toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }) } }; });

Other Transform Nodes

Aggregate
n8n-nodes-base.aggregate
Aggregate multiple items into one: collect arrays, sum values, get min/max/average. SQL GROUP BY equivalent.
Sort
n8n-nodes-base.sort
Sort items by one or more fields, ascending or descending.
Limit
n8n-nodes-base.limit
Keep only the first N items from the stream. Useful for sampling or capping API calls.
Remove Duplicates
n8n-nodes-base.removeDuplicates
Deduplicate items based on one or more field values.
HTML Extract
n8n-nodes-base.html
Parse HTML and extract data using CSS selectors. Essential for web scraping workflows.
XML
n8n-nodes-base.xml
Convert between XML and JSON. Parse SOAP responses, RSS feeds, and legacy API formats.

AI Nodes β€” LangChain & LLM Integration

n8n's AI node ecosystem is built on LangChain and represents one of its most powerful differentiators. These nodes let you build sophisticated AI agents, use any major LLM, implement RAG (Retrieval-Augmented Generation), and create multi-step reasoning pipelines.

πŸ€– Architecture Note

n8n's AI nodes follow LangChain's architecture. The AI Agent node is the orchestrator that uses a Chat Model (LLM) as its brain, Tools to take actions, and optional Memory for conversation history.

AI Agent Node

AI Agent
@n8n/n8n-nodes-langchain.agent
AI

The centerpiece of n8n's AI capabilities. Implements a ReAct (Reasoning + Acting) agent that can plan multi-step solutions, use tools iteratively, and synthesize results. The agent decides which tools to call and in what order to accomplish the given goal.

Agent Types
Tools Agent (ReAct), OpenAI Functions, Plan and Execute, SQL Agent, Conversational
Required Inputs
Chat Model (sub-node), System Prompt, User Input
Optional Inputs
Memory, Tools (can connect HTTP Request, Code node, other workflows as tools)
Max Iterations
Configurable safety limit to prevent infinite loops

Chat Model Nodes (LLMs)

OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
GPT-4o, GPT-4 Turbo, GPT-3.5 Turbo. Supports function calling, JSON mode, vision (image input).
Anthropic (Claude)
@n8n/n8n-nodes-langchain.lmChatAnthropic
Claude 3.5 Sonnet, Claude 3 Opus. Excellent for analysis, coding, and long-context tasks.
Google Gemini
@n8n/n8n-nodes-langchain.lmChatGoogleGemini
Gemini 1.5 Pro and Flash. Multimodal (images, audio), 1M+ token context window.
Ollama (Local LLMs)
@n8n/n8n-nodes-langchain.lmChatOllama
Run Llama 3, Mistral, Phi-3, and any Ollama model locally for private, cost-free inference.
Mistral Cloud
@n8n/n8n-nodes-langchain.lmChatMistralCloud
Mistral Large, Small, and Codestral for code-focused tasks. European data residency.
AWS Bedrock
@n8n/n8n-nodes-langchain.lmChatAwsBedrock
Access Claude, Llama, Titan via AWS Bedrock. Ideal for enterprise AWS environments.

Memory Nodes

Window Buffer Memory
@n8n/n8n-nodes-langchain.memoryBufferWindow
Keeps the last N messages in memory. Simple, stateless conversation history for single sessions.
Postgres Chat Memory
@n8n/n8n-nodes-langchain.memoryPostgresChat
Persists conversation history in PostgreSQL. Enables multi-session, long-term memory across workflow executions.
Redis Chat Memory
@n8n/n8n-nodes-langchain.memoryRedisChat
Fast in-memory conversation history using Redis. Best for high-throughput chatbot workflows.
Zep Memory
@n8n/n8n-nodes-langchain.memoryZep
Advanced memory with automatic summarization and semantic search over conversation history.

Vector Store & RAG Nodes

Pinecone Vector Store
@n8n/n8n-nodes-langchain.vectorStorePinecone
Store and query document embeddings in Pinecone for semantic search and RAG pipelines.
Supabase Vector Store
@n8n/n8n-nodes-langchain.vectorStoreSupabase
PostgreSQL-based vector storage via Supabase. Great for self-hosted RAG systems.
OpenAI Embeddings
@n8n/n8n-nodes-langchain.embeddingsOpenAi
Generate text embeddings using text-embedding-3-small or large. Required for vector store operations.
Document Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader
Load and chunk documents (PDF, TXT, HTML, CSV) for ingestion into vector stores.

How to Choose the Right Node

With 400+ nodes available, choosing the right one can be overwhelming. Follow this decision tree:

What You Want to Do Node to Use Category
Start workflow when HTTP request arrives Webhook Trigger
Run workflow on a schedule Schedule Trigger Trigger
Call any external REST API HTTP Request Action
Route based on a condition IF or Switch Logic
Process 1000 items without crashing SplitInBatches Logic
Complex data transformation Code (JS/Python) Transform
Add/remove/rename fields Edit Fields (Set) Transform
Use ChatGPT in a workflow OpenAI + AI Agent AI
Remember conversation context Window Buffer Memory AI / Memory
Search knowledge base semantically Vector Store + Embeddings AI / RAG

Frequently Asked Questions

How many nodes does n8n have?
n8n has 400+ built-in nodes covering the most popular services and platforms. Additionally, the community has published hundreds more nodes on npm. And for any service without a dedicated node, the HTTP Request node can connect to virtually any REST API, effectively giving n8n unlimited integration potential.
What is the difference between a trigger node and an action node in n8n?
Trigger nodes start a workflow β€” they listen for events (webhooks, schedules, new emails) and initiate execution when something happens. Action nodes perform operations within a running workflow β€” they interact with external services, transform data, or control flow. Every workflow has exactly one trigger and can have unlimited action nodes.
Can I write custom nodes for n8n?
Yes. n8n has a first-class system for building custom nodes in TypeScript. Custom nodes are npm packages that follow n8n's node interface. You can publish them privately for your organization or publicly to the community. The n8n CLI tool (n8n-node-dev) helps scaffold and test custom nodes locally.
What is the Code node good for in n8n?
The Code node is your escape hatch for anything that other nodes can't do directly. Common uses: complex data transformations (reshaping nested JSON, aggregating arrays), custom business logic (calculations, string parsing, date formatting), calling built-in Node.js modules (crypto, URL parsing), and generating dynamic data structures that need programmatic construction.
How do AI Agent nodes work in n8n?
The AI Agent node implements a ReAct (Reasoning + Acting) loop. You connect a Chat Model (like GPT-4o) as the brain, and optionally connect Tool nodes. When triggered, the agent receives a task, decides which tools to use, calls them, observes the results, and repeats until it has enough information to produce a final answer. This enables complex multi-step AI workflows that can search the web, query databases, send emails, and more β€” all autonomously.