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
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
https://your-n8n.domain.com/webhook/your-unique-path
https://your-n8n.domain.com/webhook-test/your-unique-path
{{ $json.body.email }}
{{ $json.query.page }}
{{ $json.headers["x-api-key"] }}
Schedule Trigger (Cron)
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
0 9 * * 1-5
*/15 * * * *
0 0 * * *
0 8 1 * *
30 17 * * 5
Gmail 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
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
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 Mode: Response Contains Next URL
Next URL Expression: {{ $response.body.nextPage }}
Gmail (Send Email)
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
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
{
"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
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)
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)
{
"leftValue": "{{ $json.email }}",
"operation": "endsWith",
"rightValue": "@gmail.com"
}
{
"leftValue": "{{ $json.orderTotal }}",
"operation": "larger",
"rightValue": 500
}
Switch Node
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
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
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 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
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
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)
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
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.