Chapter 7

The four node families: Trigger / Core / App / Cluster

Over the first six chapters you have learned to sign in to n8n, find your way around the workspace, and copy someone else's workflow and edit it. From this chapter on you start building your own — but before you build anything, you need to be able to read the nodes panel. The official docs split nodes into four families: Trigger (the start), Core (built-in flow and data tools), App (the ones that talk to outside services) and Cluster (the group structure AI Agent uses — one root node with a pile of sub-nodes hanging under it). The first three are the skeleton of traditional automation; the fourth is the newer architecture behind the whole LangChain set of AI nodes that arrived after 2024. By the end of this chapter you can sort any node in any workflow into a family in two seconds.

Why start by sorting nodes into families

You met the nodes panel back in Chapter 3 — press + on an empty spot on the canvas, or click Add first step in the right-hand panel, and a list slides in from the right. The amount of stuff inside is frightening:

  • 400+ official nodes (Slack, Gmail, Notion, Airtable, HubSpot, Stripe, GitHub…)
  • 30+ Core nodes (IF, Switch, Merge, Edit Fields, Code, Wait, HTTP Request…)
  • A whole separate row of Trigger nodes (Schedule, Webhook, and a Trigger version bundled with every SaaS)
  • Plus the entire AI / LangChain set (AI Agent, Chat Model, Memory, Vector Store…)

You do not have to memorize these hundreds of names. What you actually need is this — see a node and know within two seconds which family it belongs to and what it does. That is what keeps someone else's workflow from looking like fog, and it is how you know which part of the panel to head for when you build your own.

A blank canvas with the Add first step button in the middle, the way into the nodes panel and its three main categories
Figure 7-1 The Add first step button on a blank canvas: press it and the nodes panel opens. The first node you pick is always a Trigger.
Tip: This chapter is pure concepts — there are no hands-on steps. When you are done, go straight to Chapter 8 and build your first workflow; you will use the division of labor between these four families without even thinking about it.

The conclusion first, one line each (they match the four folders under the official docs.n8n.io/integrations/builtin/) —

  • Trigger (a functional category) = the "start" of a workflow; it decides when the workflow runs; no input dot on the left
  • Core nodes (core-nodes/) = n8n's built-in flow, data and general-purpose tools (IF, Merge, Set, Code, HTTP Request, Wait, Schedule Trigger…)
  • App nodes (app-nodes/, which the docs also call Actions) = one node per outside SaaS (Slack, Gmail, Notion…)
  • Cluster nodes (cluster-nodes/) = group nodes used only by AI / LangChain: one root node (for example AI Agent) carrying several sub-nodes (Chat Model, Memory, Tool, Vector Store)
Clearing this up: Trigger is a functional role; Core / App / Cluster are the docs' file categories. That is why the pages for Trigger nodes like Schedule Trigger, Manual Trigger, Chat Trigger and Webhook actually live under core-nodes/ — they are both Trigger (the function) and Core (the category). The two dimensions cross; this is not a mutually exclusive pick-one-of-four.

The next four sections take them one at a time.

Trigger nodes: where a workflow starts

Every workflow needs a starting point, and that starting point is the Trigger node — it decides when this workflow runs. The first groups you see when you open the nodes panel are usually On app event / On a schedule / When called by another workflow, and all of them are Triggers.

Trigger nodes have one visual giveaway: there is no input dot on the left. It is the starting point, so there is nothing upstream to connect to. On the right there is one output dot that sends data downstream.

Trigger nodeWhen it runsTypical use
Manual Trigger Only when you press Execute Workflow Testing, building, and workflows a person clicks by hand
Schedule Trigger Like cron: at the times you set (hourly, every day at 8:00, every Monday…) Daily reports, weekly roundups, monthly closing
Webhook When an outside system calls the URL A submitted form, a LINE bot, an HA trigger, a third-party callback
App Event (Gmail Trigger, Slack Trigger…) When something happens in the SaaS you picked Forward a VIP email when it lands, get a notification when a keyword is mentioned in Slack
Chat Trigger When a user types in the chat interface Used when AI Agent (ch21) is building a support bot
Execute Workflow Trigger When another workflow calls it A sub-workflow pulled out for reuse (ch19)
Concept: One workflow can have several Triggers. A single "new customer alert" workflow might carry a Webhook (the form was submitted), a Schedule Trigger (a catch-up run every day at 8:00) and a Manual Trigger (to run it by hand while testing) — any one of them sets the whole workflow going. Chapter 10 compares the three trigger families in detail.

Triggers are easy to find in the panel too — the first page of the nodes panel defaults to Triggers, and when you press + on an empty spot on the canvas to start a new workflow, n8n steers you straight to picking a Trigger (without one there is no starting point, and the workflow cannot run at all).

App nodes (actions): the nodes that talk to outside services

App nodes are the largest of the four families — the docs keep them under integrations/builtin/app-nodes/, and the panel labels them Actions in apps. What they share: each node maps to one outside service (a SaaS, a database, a cloud provider), and the node wraps every operation that service's API offers.

If you have used Zapier the idea is identical — in Zapier each app maps to an action, and in n8n each SaaS maps to one App node. "App node" is the docs' file name and "Action" is the panel's UI label, so the two mean the same thing and you do not need to worry when this guide uses both.

One Action node usually holds many sub-operations. Take Slack —

  • Send Message: post a message to a channel or a person
  • Update Message: edit a message you already sent
  • Delete Message: delete a message
  • Get Channel: fetch a channel's details
  • Invite User: invite someone into a channel
  • …and about 20 more operations

You do not have to memorize every sub-operation up front. Once the Slack node is on the canvas, the Operation dropdown on the right lists every option; pick the one you want.

The docs group Action nodes into roughly these categories, and every one of them has its place in the panel:

CategoryCommon nodesTypical scenario
Communication Slack, Discord, Telegram, Email, LINE Notifications, broadcasts, chatbots
Data & Storage Google Sheets, Airtable, Notion, Postgres, Redis, MongoDB Write to a sheet, query a database, build a data pipeline
Productivity Google Calendar, Todoist, Trello, Asana, ClickUp Create events, open tasks, track progress
Marketing HubSpot, Mailchimp, SendGrid, ActiveCampaign Add leads, send newsletters, follow customer activity
AI (the App version) OpenAI, Anthropic, Google Gemini, Perplexity (filed under app-nodes/n8n-nodes-langchain.*) A single LLM call to write copy, summarize or translate; these are different nodes from the Cluster-version AI Agent in the next section
Developer GitHub, GitLab, Jira, Bitbucket, Docker Hub Open issues, create PRs, send CI notifications
Files & Cloud Google Drive, Dropbox, OneDrive, AWS S3 Upload attachments, back things up, move files between clouds
Tip: You do not need to memorize this table at all. Skip what you do not use and search the panel when you need something. For 90% of people it comes down to the same five or six services (Slack, Gmail, Google Sheet, Notion, HubSpot, GitHub).

The visual giveaway for App nodes: a dot on each side (the left one takes data from upstream, the right one sends it downstream), and the icon is usually that service's own logo (Slack's purple hash, Gmail's red envelope, Notion's black-and-white page). Once you see the logo you know whose node it is.

Concept: One SaaS usually ships two nodes — the App version (for example Slack, which calls the Slack API itself) and the Trigger version (for example Slack Trigger, which sits and listens for a Slack webhook). The names look alike but the jobs are opposite, so pick carefully.

Core nodes: built-in flow, data and utility tools

Core nodes are n8n's own built-in set of nodes (the docs file them under core-nodes/). There are fewer of them than App nodes, but every one matters. Their job is managing the data flow and control flow inside a workflow, plus general-purpose tools that are not tied to any SaaS — the tees, valves and switches of the plumbing, plus a skeleton key like HTTP Request.

The category names in the panel have changed a few times in recent versions: they used to be Core Nodes, then split into Flow / Data Transformation / Files / Helpers (the exact wording varies a little with your n8n version). When you cannot tell them apart, search instead.

Concept: Plenty of Trigger nodes (Schedule Trigger, Manual Trigger, Chat Trigger, Webhook, n8n Form Trigger, Execute Sub-workflow Trigger) sit under core-nodes/ in the docs tree as well — because they are built into n8n and tied to no SaaS. That is the proof that "Trigger" is a functional role and "Core" is a file category: one node can carry both labels.
Core nodeWhat it doesChapter that covers it
IF Conditional branching (true takes one path, false takes the other) Chapter 15
Switch Several branches (different paths depending on a field's value) Chapter 15
Merge Bring several streams of data back into one (append / combine / choose) ch16
Split In Batches Handle a big pile of items in batches so you do not blow through an API rate limit ch16
Item Lists Array operations (deduplicate, sort, aggregate, split out) ch16
Set / Edit Fields Add fields, rename fields, reorder them, flatten them Chapter 18
Code A few lines of JavaScript or Python to fill the gaps the ready-made nodes leave (the old name was Function, folded into Code in n8n 1.0; the docs' Function page is now a 404) ch20
Wait Pause for a while (wait 5 seconds, wait until 9:00 tomorrow, wait for a webhook) ch17
Execute Workflow Call another workflow (a sub-workflow) ch19
HTTP Request Call any REST API (the skeleton key for when there is no official node) Chapter 12
Warning: The docs put HTTP Request squarely in Core nodes — because it is tied to no particular SaaS and is a general-purpose tool built into n8n. It does call outside APIs, but that does not make it "an App node as well"; an App node is defined as "one node per SaaS", and HTTP Request is a general interface for calling any API. All you have to remember is this: no dedicated node for a service → call it yourself with HTTP Request.

The visual giveaway for Core nodes: a dot on each side (IF and Switch branch, so they carry several output dots on the right), and the icon is abstract geometry — a forking arrow for IF, converging arrows for Merge, a pen or field icon for Set, angle brackets </> for Code. A node with no SaaS logo is almost certainly Core.

Cluster nodes: the whole AI Agent group

The docs file Cluster nodes under integrations/builtin/cluster-nodes/ as the fourth family, and they are the biggest architectural change in the n8n ecosystem since 2024. A cluster is not one node but a group of nodes — every cluster has one root node (the main node, for example AI Agent) with several sub-nodes attached below it to supply capabilities.

A typical structure looks like this (an AI Agent root with four kinds of sub-node under it) —

WhereNode typeTypical exampleWhat it does
Root (one of them) AI Agent, Basic LLM Chain, QA Chain, Summarization Chain, Text Classifier, Information Extractor, Sentiment Analysis AI Agent The cluster's main logic; the normal data flow comes in on the left and leaves on the right
Sub-node (several) Chat Model OpenAI Chat Model, Anthropic Chat Model, Google Gemini Chat Model, Groq, Ollama Attaches to the ai_languageModel connector dot on the root's underside and supplies the reasoning engine
Sub-node Memory Simple Memory, Postgres Chat Memory, Redis Chat Memory, Zep Attaches to the ai_memory dot so the agent remembers the previous turn of the conversation
Sub-node Tool Calculator, Wikipedia, SerpAPI, Code Tool, HTTP Request Tool, or any App node attached as a Tool Attaches to the ai_tool dot; the agent decides when to call which tool
Sub-node Vector Store / Retriever / Embeddings / Output Parser PGVector, Pinecone, Simple Vector Store, OpenAI Embeddings, Structured Output Parser Attaches to the matching ai_* dot to do RAG, embeddings and structured output

Cluster nodes are very easy to spot — the root node grows a row of square, downward-facing connector dots along its underside (not the left-and-right round dots of Trigger / App / Core), each one labeled Chat Model / Memory / Tool / Vector Store. Attach the matching sub-node from below and n8n treats the cluster as complete and ready to run.

A common misreading: plenty of tutorials say "AI nodes are their own Advanced AI category" — that label does not exist in the official docs. The accurate version is this: the AI ecosystem is split into two layers — App-version AI (OpenAI, Anthropic, Gemini and the like, filed under app-nodes/, one call at a time) and Cluster-version AI (AI Agent plus a stack of ai_* sub-nodes, filed under cluster-nodes/). The panel does put them under an AI or Advanced AI label so they are easy to browse, but underneath there are only those two file categories.

Chapter 21 takes apart the full root-plus-sub arrangement and the details of the ai_* connector dots. For this chapter, just remember: a node with several downward dots on its underside = a Cluster root, and whatever snaps up under those dots = a sub-node.

How to tell which family a node belongs to

Now that you know the four families, the skill that pays off in practice is classifying a node at a glance. Check these four features and you have the answer in a second —

  1. Look underneath for ai_* dots → Cluster root

    A node with a few square downward dots along its underside, labeled Chat Model / Memory / Tool / Vector Store, is a Cluster root node (AI Agent, Basic LLM Chain, QA Chain and so on). The other way round: a node with only one upward dot on top, waiting to be picked up by a root, is a sub-node (Chat Model, Memory, Tool and so on).

  2. Look on the left for an input dot → Trigger

    No dot on the left (only a line leaving on the right) → it is definitely a Trigger. A node sitting alone at the far left of the canvas with nothing wired in front of it is a Trigger. The name usually carries "Trigger" or "On..." (Slack Trigger, Schedule Trigger, Webhook, On form submission).

  3. Look at the icon: a SaaS logo or abstract geometry → App or Core

    A dot on each side and a service's logo for an icon (Slack's purple hash, Gmail's red envelope, Notion's black-and-white page) → almost certainly an App node. An abstract geometric icon (a fork, a confluence, a gear, angle brackets) → almost certainly a Core node.

  4. Look at the panel's own categories

    The nodes panel is already sorted for you: Triggers, Actions in apps (App nodes grouped by service), Core (with the Flow / Data Transformation / Files / Helpers sub-areas) and AI or Advanced AI (Cluster nodes). When you cannot tell, go back to the panel and see which label it sits under.

The rhythm most workflows follow

How do the four families combine in a real workflow? From the shortest to the most complex, there are roughly four rhythms:

  1. Shortest: Trigger → 1 App node

    "Post the same message to Slack every morning at 8:00" — Schedule Trigger wired to Slack (Send Message), done. Two nodes and one line: the simplest shape a workflow takes. Good for nudges and reminders.

  2. Common: Trigger → App that reads → Core that filters → App that writes → App that notifies

    "Every morning, fetch the support tickets, keep only the urgent ones, write them into Notion and tell the sales manager" — Schedule Trigger → HTTP Request (read the ticket API) → IF (priority == urgent) → Notion (create a page) → Slack (notify). This is the classic five-node workflow, and 80% of a company's automation looks like this.

  3. AI: Chat Trigger → AI Agent (Cluster) → reply

    "A customer types in the web chat → the AI support agent answers" — Chat Trigger → AI Agent, with OpenAI Chat Model (reasoning) + Simple Memory (remembering the conversation) + Wikipedia Tool (looking things up) + HTTP Request Tool (calling an internal API) attached under the AI Agent. On screen it looks like one node sprouting four tendrils, which is the classic cluster shape.

  4. Complex: several Triggers → IF branches → parallel App nodes → Merge → sub-workflow → error handling

    "A new customer arrives (three Triggers: Webhook + Manual + Schedule) → route by country → in parallel, send the welcome email / add them to the CRM / open a Slack channel → merge back into the main line → call the 'send an alert' sub-workflow → on failure retry 3 times automatically, and if it still fails tell IT." You will only meet 15-plus-node workflows like this in the later chapters, so there is nothing to be afraid of.

The pattern shows: usually one Trigger (sometimes several), App nodes doing the heavy lifting (over 60% of the node count), Core nodes as the pipe fittings that join the App nodes up (IF decides which way to go, Set reshapes the data, Merge brings the lines together), and Cluster as the AI-only "one node with several tendrils" structure.

Tip: Next time you see a workflow screenshot someone has shared, match it against these four rhythms: two or three blocks is "shortest", five to eight is "common", tendrils under one node is "AI cluster", a dozen-plus blocks with branches is "complex". Read the structure and you can read what the workflow is for.

Troubleshooting

These are the situations people hit most often when they first work with the nodes panel:

  1. The nodes panel will not open

    There are two ways in: press + on an empty spot on the canvas, or, in a new workflow, click Add first step in the right-hand panel. If there are already nodes on the canvas, hover over the dot on a node's right side and a + appears; clicking that opens the panel too, and wires the new node in behind that one.

  2. Too many categories to find anything

    Do not scroll page by page — type a keyword straight into the search box at the top. The categories are designed for people browsing; in practice, searching is the fastest route.

  3. I typed the node I want and nothing came up

    Three possibilities: (1) the spelling does not match — if google sheets finds nothing, try sheets; (2) it may be a community node, which an admin has to install as a community package on the back end; (3) the service has no official node — in which case use HTTP Request (Chapter 12) against its API.

  4. The node was renamed and you cannot find it (Function → Code, Set → Edit Fields)

    n8n renames nodes from time to time. The two you meet most: the Function node was replaced entirely by Code in v1, the docs' Function page is now a 404, and older workflows are migrated automatically or marked legacy on import; Set is now called Edit Fields (Set). When a name from an older tutorial finds nothing, type the new name (Code, Edit Fields).

  5. You picked a SaaS App node but there is no input dot on the left

    You have probably picked the service's Trigger version (Slack Trigger instead of Slack). Delete it and pick the plain App version — searching slack brings up both nodes, so choose the one without "Trigger" in the name.

  6. You added a Core node and do not know where to wire it

    Core nodes usually sit in the middle of a workflow (between the Trigger and the final App node). Put IF where you want the branch, Set where you want to reshape the data, Merge where the lines come back together. A Core node on its own does nothing; it only means something sandwiched between other nodes.

  7. You added AI Agent, pressed Execute, and got "no language model"

    AI Agent is a Cluster root node, and it must have a sub-node (OpenAI Chat Model, Anthropic Chat Model or similar) attached to the Chat Model dot on its underside before it can run. Same story if you enable Memory / Tool without attaching the matching sub-node: you get an error about an empty connector. An AI Agent on its own will not move.

FAQ

How many kinds of node does n8n have in total?

At the source snapshot, n8n listed 400+ integrations at n8n.io/integrations, with several hundred more community packages; check the live catalogs because the totals change. In practice 80% of automation uses fewer than 20 nodes, so do not let the number scare you.

Which ones do people actually use most?

From what we see inside WoowTech, these 8 nodes cover 80% of workflows:

  • Schedule Trigger (Trigger / Core) — runs on a schedule
  • Webhook (Trigger / Core) — outside systems call in
  • Slack (App) — notifications
  • Gmail (App) — sending mail
  • Google Sheets (App) — keeping records
  • HTTP Request (Core) — calling any REST API
  • IF (Core) — conditional branching
  • Edit Fields (Set) (Core) — reshaping data

Get comfortable with these 8 and you can hold your own at work.

Which family does the AI Agent node belong to?

The fourth family — Cluster nodes. The docs put it squarely at integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent. AI Agent is the root, and it only moves once sub-nodes (Chat Model, Memory, Tool, Vector Store) are attached below it. The panel usually files it under an AI / Advanced AI label for easy browsing, but the underlying file category is cluster. Chapter 21 takes the full arrangement apart.

While we are here: the OpenAI, Anthropic and Google Gemini nodes that make a single LLM call are not clusters. They are App nodes (filed under app-nodes/n8n-nodes-langchain.*), on a different layer from AI Agent.

Do new node versions replace the old ones?

n8n ships a new version of a node now and then (Google Sheets has a v1 and a v2; the Set node was renamed Edit Fields after v1). The old version is normally kept so existing workflows do not break; for anything new, use the newer version — it is more complete and its bug fixes are fresher. Searching sheets in the panel brings up both the old and the new one, so pick the newest.

What is the difference between a Trigger node and an App node?

A Trigger listens (the time comes round, a webhook arrives, something happens in a SaaS) and starts the workflow by itself. An App node acts (posts a message, writes a row, creates an account) and only runs once something upstream has handed it data. Visually, a Trigger has no dot on the left and an App node has a dot on each side. One SaaS usually ships both: Slack Trigger listens for Slack events, and Slack calls Slack.

Do Core nodes talk to SaaS services?

Most do not — IF, Set, Merge, Wait and Code work purely on the data flow and control flow inside the workflow. A few Core nodes do reach outside: HTTP Request (calls any REST API), SSE Trigger / Webhook (listen for something coming in), Email (Send) / FTP (general protocols). None of these count as "App nodes", because an App node is defined as "one node per SaaS"; these are general networking tools, so they belong to Core.

Is the Function node still around?

No. The Function node was replaced entirely by the Code node in n8n v1 (2023-07) — same job, but with Python support — and the docs page at core-nodes/n8n-nodes-base.function/ is now a 404. Older workflows imported into v1+ are migrated automatically or marked legacy. For anything new, always use Code.

Where do I look up node details in the docs?

Two places: (1) for integration nodes, n8n.io/integrations, where every SaaS has its own page listing all its operations and parameters; (2) for Core nodes, docs.n8n.io/integrations/builtin/core-nodes/, where the docs cover each Core node's details and examples.

What do I do next?

Go to Chapter 8 and build your first workflow from scratch: Schedule Trigger (every day at 8:00) → Google Calendar (fetch today's events) → Slack (post a message). That is exactly the shortest rhythm — a Trigger plus 2 App nodes — so you meet the first three of the four families from this chapter; Cluster comes in Chapter 21.