Key Concepts of n8n – Part 2: n8n Nodes & Node Types
Table of Contents
- What Are Nodes?
- Official Node Categories (4 Types)
- Detailed Look at some Key Nodes
- 🚀 Hands-On Workflow Showcase: User Data Filtering and Post Retrieval
- Challenge Task 🚀
- What’s Next?
What Are Nodes?
Nodes are the fundamental units of an n8n workflow. Each node performs a specific task: sending an email, making an API request, deciding a condition, or even handling errors. Nodes are connected to form a sequence of steps where each node receives, processes, and outputs JSON data, enabling powerful automations.
Official Node Categories (4 Types)
According to n8n’s documentation, nodes are categorized into four types:
1️⃣ Trigger Nodes (Workflow Starters)
- Definition: The only nodes that can initiate workflow execution.
- Examples: Manual Trigger, Webhook, Schedule
- ✅ Correction: Polling logic (like IMAP Email) is handled by Regular nodes, not Triggers.
2️⃣ Regular Nodes (Tasks & Polling)
- Definition: Perform tasks in workflows, including making API calls or interacting with services.
- Examples: HTTP Request, Email, Google Sheets, Polling nodes (e.g., IMAP Email)
3️⃣ Logic Nodes (Control Flow)
- Definition: Introduce decisions and control branching in workflows.
- Examples: IF, Switch, Merge, Wait/Wait Until
4️⃣ Error Handling Nodes (Manage Failures)
- Definition: Handle errors locally or globally.
- Examples: Catch (node-level), Error Trigger (workflow-level)
- 📌 Best Practice: Use Catch for local errors, Error Trigger for workflow-level errors.
Detailed Look at some Key Nodes
Now that you know the four official node categories, let’s dive deeper into some essential nodes you’ll use in almost every workflow.
🔹 HTTP Request Node
The HTTP Request node lets your workflow communicate with any external API or web service. It’s one of the most powerful and flexible nodes in n8n, enabling integrations with REST or GraphQL endpoints, cloud services, or your own internal systems.
✅ What can you do with HTTP Request?
- Fetch data from public APIs (e.g., weather, finance, social media).
- Send data to your custom backend services.
- Interact with SaaS tools that provide REST APIs.
- Build two-way integrations with third-party systems.
✅ Key Configuration Options
- Method – The HTTP verb that defines what you want to do with the API:
- GET: Retrieve data (read-only operations, e.g., fetch user info).
- POST: Send data to create new resources (e.g., submit a form).
- PUT: Replace existing resources with new data (e.g., update profile).
- PATCH: Partially update existing resources.
- DELETE: Remove resources from the server.
- URL – The API endpoint you want to call (e.g.,
https://api.example.com/users
). - Authentication – Choose from supported authentication types:
- None (public APIs)
- Basic Auth
- OAuth2
- API Key
📌 We’ll cover Authentication configuration in detail in an upcoming dedicated article!
- Query Parameters – Add parameters to your API calls (e.g.,
?page=2
). - Headers – Customize request headers (e.g.,
Authorization
,Content-Type
). - Body – For POST/PUT/PATCH methods, send data as JSON, form-data, or raw text.
- For example, sending JSON:
{ "name": "Alice", "email": "alice@example.com" }
- For example, sending JSON:
- Response Format – Choose between JSON or raw response.
- Continue On Fail – If enabled, the workflow won’t stop on request errors, letting you handle failures gracefully with Catch or IF nodes.
📖 For the full list of options and advanced settings, check the official HTTP Request Node documentation.
📰 Example: Get All Recent Articles About Tesla with HTTP Request
This HTTP Request node is configured to call the NewsAPI endpoint /v2/everything
to search for recent news about Tesla from the last month:
- ✅ Method:
GET
- ✅ URL:
https://newsapi.org/v2/everything
- ✅ Authentication: None (API key sent as query parameter)
- ✅ Query Parameters:
apiKey
: Your NewsAPI key (e.g.,xxxxxxxxxx
)q
:tesla
(search term)from
:2025-05-29
(start date for articles; adjust dynamically if needed)
This setup fetches all articles containing the keyword “tesla” starting from May 29, 2025.
🛠️ Next Steps
- Use a Set node after this to clean or reformat article data.
- Add an IF node to send alerts if specific keywords appear in headlines.
- Save articles to Google Sheets for archiving or sharing.
Above: Screenshot of HTTP Request node configured to query NewsAPI for Tesla articles using GET with multiple query parameters.
✅ Tips & Best Practices
- Use descriptive node names like “Get User Data API” for clarity.
- Test API calls manually in Postman or curl before adding to your workflow.
- Use n8n’s Credentials manager instead of hardcoding tokens in URL or headers.
📖 For details, visit the HTTP Request Node documentation.
🔹 IF Node
- Check a condition and split the workflow into two branches:
- ✅ True branch: Path taken if the condition evaluates to true.
- ❌ False branch: Path taken if the condition evaluates to false.
- 📌 Branch Priority: True branch appears on the upper side by default; adjust connections visually if needed.
- Example: Check if an order amount exceeds $1000 → true branch sends VIP email, false branch sends standard email.
Below is a real workflow screenshot illustrating how the IF node splits execution:
In this example:
✅ The upper connection labeled “true” routes execution to the first PostBin node if the condition passes.
❌ The lower connection labeled “false” routes to PostBin1 if the condition fails.
Adding Multiple Conditions to the IF Node
Use the IF node’s Conditions panel to create multiple comparisons with AND/OR logic.
- Choose the data type & comparison operation for each condition (e.g., String → contains, Date & Time → is after).
- Fields and values update automatically based on your selected data type and comparison.
- 📖 Refer to the Available Comparisons for the full list of data types and comparisons.
- Combine conditions with:
- AND: Data must meet all conditions.
- OR: Data must meet any of the conditions.
Below is a real configuration screenshot of the IF node using multiple conditions:
In this example:
🔹 Condition 1 checks if $json.classType
contains “C”.
🔹 You can use the AND/OR dropdown to define whether the data must meet all or any conditions.
🔹 Merge Node
The Merge node is a powerful tool for combining data from different streams within your workflows. This tutorial, based on a video explanation and n8n’s official documentation, will guide you through its features and provide practical examples.
Understanding the Merge Node
The Merge node allows you to combine data based on various modes, each suited for different data integration scenarios:
- Append: Takes data from all connected inputs and stacks them into a single list. Waits for all inputs to complete execution before outputting combined data.
- Combine: Offers advanced merging methods:
- Matching Fields: Compares items by a shared field (e.g., “language”) with options for inner/outer/left/right join behaviors.
- Position: Merges items based on order (index). First item with first, second with second, etc. Optionally includes unpaired items.
- All Possible Combinations: Produces every possible pairing of items from both inputs. Can quickly generate many items.
- SQL Query: (n8n v1.49.0+) Use SQL-like syntax to merge data from inputs treated as tables (
input1
,input2
). Example:SELECT * FROM input1 JOIN input2 ON input1.language = input2.language;
- Choose Branch: Outputs only one selected input’s data after all branches finish. Useful for conditional routing.
Important Considerations
- Node Overhaul: Merge node received a significant update in n8n v0.194.0.
- Multiple Inputs: n8n v1.49.0+ supports more than two inputs.
- Uneven Data Streams: Items from Input 1 generally take precedence when merging streams of different lengths.
- Field Naming: Avoid spaces in field names to ensure reliable matching in “Combine by Matching Fields”.
- Post-Merge Nodes: Be cautious using aggregate nodes immediately after merge operations, as accessing pre-merge data may fail.
Step-by-Step Example: Trying Different Merge Modes
Follow these steps to experiment with the Merge node modes:
- Set up Sample Data:
- Add a Code node with:
return [ { json: { name: 'Stefan', language: 'de' } }, { json: { name: 'Jim', language: 'en' } }, { json: { name: 'Hans', language: 'de' } } ];
- Add a second Code node with:
return [ { json: { greeting: 'Hello', language: 'en' } }, { json: { greeting: 'Hallo', language: 'de' } } ];
- Add a Code node with:
- Add and Connect the Merge Node:
- Connect first Code node → Merge node Input 1.
- Connect second Code node → Merge node Input 2.
- Experiment with Modes:
- Append Mode: Set Mode → Append → execute → combined list output.
- Combine by Matching Fields: Set Mode → Combine, Combine by → Matching Fields, match on
language
→ execute → names + greetings aligned by language. - Combine by Position: Set Mode → Combine, Combine by → Position → execute → items combined by order.
- Include Unpaired Items: Combine by Position + enable “Include Any Unpaired Items” → execute → includes unpaired items.
- All Possible Combinations: Combine by → All Possible Combinations → execute → outputs every possible item pair.
Below are real screenshots demonstrating key Merge node modes in action:
1️⃣ Merge Nodes on Canvas
Screenshot: The n8n workflow canvas shows Merge nodes configured with Append and Combine modes, highlighting how inputs from Code nodes are connected.
2️⃣ Append Mode Example
Screenshot: Using Append mode, both Code nodes’ data is stacked together, resulting in 5 combined items.
3️⃣Combine by Matching Fields Example
Screenshot: Combine by Matching Fields merges items by the shared ‘language’ field, matching names with greetings in the output.
✅ Use Cases for Merge Node
By mastering the Merge node, you can handle complex data integration tasks with ease in n8n workflows.
- Combine paginated API responses into one list with Append.
- Pair related records from two systems with Combine or Merge By Key.
- Choose which input’s data to use dynamically with Choose Branch.
📖 For more details and screenshots, visit the Merge Node Official Documentation.
🚀 Hands-On Workflow Showcase: User Data Filtering and Post Retrieval
This real example demonstrates fetching user details, filtering by city, retrieving posts for matching users, and combining the results—all using live JSONPlaceholder APIs.
🌟 What It Does
- ✅ Manually triggered with a button click
- ✅ Fetches user details from
https://jsonplaceholder.typicode.com/users/
- ✅ Filters for users who live in Gwenborough
- ✅ Retrieves posts for the filtered users
- ✅ Merges user details and posts into a unified dataset for reporting or processing
📝 Workflow Steps
- Manual Trigger
Starts the workflow manually for testing. - HTTP Request (Users)
GET request to/users/
endpoint. Returns a list of user objects with IDs, names, addresses, etc. - IF Node
Checks if a user’s city (address.city
) equals “Gwenborough”. Only matching users follow the true branch; others stop here. - HTTP Request (Posts)
Requests posts for matched users using theirid
as a query parameter:userId={{ $json.id }}
. - Merge Node
Mode: Combine. Joins user and posts data on Input 1 fieldid
and Input 2 fielduserId
.
🔗 Workflow Diagram

✅ Why This Example Matters
- 🔹 Illustrates using dynamic parameters: Query user posts by ID.
- 🔹 Shows how to use IF nodes to filter workflow data.
- 🔹 Demonstrates Merge nodes combining two datasets by shared fields.
- 🔹 Uses live API you can test anytime (JSONPlaceholder).
Challenge Task 🚀
Create a workflow that:
- Fetches Bitcoin price from CoinGecko API.
- Sends a Telegram alert if the price drops below $30,000.
Starter API endpoint: CoinGecko Price
What’s Next?
🔜 In Part 3, we’ll explore Triggers in depth — learn how to automate workflows with schedules, webhooks, and more!
Need Help?
- Join the n8n Community.
- Review the n8n Docs.
- Check our Ultimate n8n Guide for a deep dive.
Which node type do you find most useful? Share your thoughts below! 🚀