TL;DR — This is a hands-on n8n tutorial: from choosing how to run it (free self-hosted or the 14-day Cloud trial), through the interface, building and testing your first real workflow node-by-node, working with data and expressions (the one thing beginners trip on), adding logic and error handling, activating it, and dropping in your first AI step. By the end you'll have a working automation and — more importantly — the mental model to build your own. n8n rewards a little upfront learning with a ceiling most tools never reach.

The Toolkit take
3 nodes
Your first real workflow: a trigger and two actions, tested node-by-node.
Docker or Cloud
Self-host free, or a 14-day trial (no card)
Tab / +
Search 400+ nodes to add a step
Execute node
Test as you build — read each node's output
## What you'll build

To make this concrete, we'll build a genuinely useful first workflow: when a new row is added to a spreadsheet (a lead), send a Slack message to your team and add the lead to a second sheet as a clean record. It uses a trigger, two actions, a little data mapping and a test cycle — the same shape as almost everything you'll build later.

💡
Toolkit tip
Always build against real data

Fetch a real trigger sample before you map anything. If you map fields from memory, you'll reference fields that don't exist — the number-one cause of a workflow that runs but produces nothing. Pull a real event first, then drag its fields into your actions.

## Step 0 — choose how to run n8n

n8n runs two ways, and either is free to start:

For this tutorial either works identically; the editor is the same. If you're evaluating, the Cloud trial is the quickest way to follow along.

The interface, in 60 seconds

Three things make up the n8n editor:

Connect your accounts — credentials

Before a node can touch Slack or Google Sheets, you authorize the account once as a credential, and every workflow reuses it. When you add a node, click to create a new credential and follow the connect flow (usually OAuth — a login popup — or an API key you paste). Two things worth knowing as a beginner: credentials are stored encrypted and separately from workflows, so you can share or export a workflow without leaking secrets; and if you're self-hosting, the encryption key that protects them is generated on first run — back it up on day one, because restoring without it makes every saved credential unreadable[2]. Set a credential up once, and it's available to every node that uses that app.

Build your first workflow, node by node

  1. Add the trigger. Click +, search your spreadsheet app (e.g. Google Sheets), and pick the "row added" trigger. Connect your account (a one-time credential you'll reuse), choose the sheet, and fetch a test event so you have real data to work with — always build against real data, never guesswork.
  2. Add the Slack action. Click the + to the right of the trigger, search Slack, choose "send message," connect Slack, and pick a channel.
  3. Map the data. In the message field, instead of typing a static string, pull in values from the trigger. This is the core skill — covered next.
  4. Add the second action. Add another Google Sheets node set to "append row," and map the lead's fields into the clean record sheet.

You now have trigger → Slack → Sheets. Three nodes, a real automation.

⚠️
Watch out
A saved workflow doesn't run until you activate it

Building and testing happens with the workflow inactive. It only fires automatically once you flip the Activate toggle at the top. And set schedule intervals to real need — polling every minute is ~43,000 runs a month, which costs executions on Cloud.

## Working with data — expressions and the data-mapping model

This is the concept that separates people who "get" n8n from those who bounce off it, so slow down here. Every node outputs data items (usually JSON), and the next node can reference any field from any earlier node using an expression. In practice you drag a field from the input panel into a parameter, and n8n writes the expression for you — something like {{ $json.name }} meaning "the name field from the incoming item." You can reference earlier nodes by name, transform values inline (upper-case, format a date, do math), and combine fields.

The mental model to hold: data flows as items, and expressions read fields off those items. Once that clicks, the whole tool opens up. A few examples you'll use constantly:

When you're unsure what a field is called, open the previous node's output in the execution view and look — don't guess. And if you need to reshape data (rename fields, add computed values) before an action, the Edit Fields (Set) node is the clean place to do it.

Curious how n8n feels in practice?Self-host free forever, or a 14-day cloud trial — no cardTry n8n

Don't start from scratch — templates and core nodes

Two shortcuts every beginner should know. First, templates: n8n has a large library of pre-built workflows for common tasks — search it before building, import the closest match, and adapt it. Learning by editing a working template is far faster than starting on a blank canvas. Second, a handful of core nodes solve most problems regardless of app:

Knowing these five means you're rarely stuck just because an app lacks a dedicated node.

Test as you build — the execution view is your friend

Don't build the whole workflow and hope. After each node, click Execute node (or Execute workflow) and read the output. n8n shows exactly what each node received and produced, so when something's wrong you can see where. The single most common beginner confusion — a node showing empty output — almost always means the data shape from the previous node isn't what you assumed; open that previous node and check the field names. Testing node-by-node turns debugging from guesswork into reading.

💡
Toolkit tip
Read the execution view, don't guess

n8n shows exactly what each node received and produced. When a node outputs nothing, it's almost always because the data shape upstream isn't what you assumed — open the previous node and check the field names rather than tweaking blindly.

## Add logic — filters, IF and Switch

Real workflows branch. Two core nodes:

Add a Filter before your Slack node to skip test or junk rows, and you've just made the workflow production-sensible.

Activate and schedule

A workflow only runs automatically once you activate it with the toggle at the top. Trigger-based workflows (like our "row added") then fire on their event. For time-based automations, use the Schedule trigger and set the interval — but set it to real need: a workflow polling every minute runs ~43,000 times a month, which matters on Cloud's execution meter (it's free on self-hosted). Until you activate, you're in build-and-test mode, which is exactly where you want to be while learning.

A quick second example — a scheduled digest. To feel the difference between event- and time-based triggers, build a second tiny workflow: a Schedule trigger set to "every weekday at 9am," then a Google Sheets node that reads yesterday's new leads, then a Slack node that posts the count to your team. No external event starts it — the clock does. Activate it, and every morning your team gets an automatic summary. That's the other half of automation: not just reacting to events, but running work on a rhythm. Between "on event" and "on schedule," you can express the large majority of real business automations.

Ready to put n8n to the test?Self-host free forever, or a 14-day cloud trial — no cardTry n8n

Handle errors before they bite

Production workflows fail sometimes — an API is down, a field is missing. Two safety nets:

Add your first AI step

Once the basics click, AI is a natural next node. Drop an AI node into the flow — for example, before appending the lead, have it classify intent or clean up the message text — and connect your own model (OpenAI, Anthropic, or a self-hosted one). Because you bring your own key, you control the model and cost. For agents, RAG and the deeper patterns, see our dedicated n8n AI playbook; for now, know that adding AI is just adding another node.

Beginner pitfalls to avoid

Building without real data. Always fetch a real trigger sample first and map from it, or you'll map fields that don't exist. Guessing field names. Open the previous node's output and read them. Skipping tests. Execute node-by-node; don't build ten nodes then wonder why the end is empty. Over-frequent schedules. Match the interval to need, especially on Cloud. Forgetting to activate. A saved workflow doesn't run until the toggle is on. (Self-hosting) not saving the encryption key. n8n encrypts credentials with a key generated on first run — back it up day one, or a rebuild loses every credential.

Frequently asked questions

How do I build my first workflow in n8n?+

Add a trigger node (what starts the workflow — a webhook, schedule, or app event), then add nodes for each action, connecting them on the canvas and mapping data between them. Execute the workflow to test with real data, then activate it. n8n's node-based canvas makes the flow of data explicit at each step.

Do I need to write code to use n8n?+

No for most workflows — you build visually with nodes. But n8n's edge is that you can drop in a Code node (JavaScript or Python) exactly where the no-code path runs out, so you're never blocked by a transformation the built-in nodes can't do. Code is an option, not a requirement.

How do I connect an app n8n doesn't have a node for?+

Use the HTTP Request node. If a service has an API but no dedicated n8n node, the HTTP node calls that API directly, so n8n's smaller native catalog rarely blocks you. It takes more setup than a native node but handles virtually any integration.

What are common mistakes beginners make in n8n?+

Not understanding how data passes between nodes (the item structure), skipping error handling so one failed node stops everything, and, when self-hosting, neglecting updates and backups. Learning how n8n structures the data flowing between nodes early saves the most confusion.

How do I debug an n8n workflow?+

Use the execution view — n8n shows the data output of each node for every run, so you can see exactly where a workflow broke and what data it had. Run nodes individually to isolate the problem, and check the item data passing between nodes, which is where most issues hide.

## Where to go next

You now have the shape of every n8n workflow: trigger, data, logic, actions, tested as you go. From here, add a second automation, introduce an AI node, and — if you're self-hosting for real — set up backups and (at higher volume) queue mode. To weigh whether n8n is right for you, read our n8n review; to plan cost, see the pricing guide; to build serious AI, the AI playbook picks up where this leaves off.