The Toolkit take
3 nodes
Your first real workflow: a trigger and two actions, tested node-by-node.
Self-host or Cloud
Self-host the free Community Edition (one-line setup or Docker Compose), or a 14-day Cloud trial (no card; Pro features, 1,000 executions)
+ button
Search 500+ native integrations to add a step
Node by node
Test as you build — run each node and read its 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. That is 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 costs nothing to start:

For this tutorial either works; the editor is the same (the one difference you'd hit here is the Code node's library limits on Cloud, covered below). 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 are 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.

Curious how n8n feels in practice?Free 14-day trial of n8n Cloud, no credit cardStart free trial →

Build your first workflow, node by node

  1. Add the trigger. Click +, search your spreadsheet app (e.g. Google Sheets), and pick its new-row trigger. Connect your account (a one-time credential you'll reuse), choose the sheet, and pull in a real sample row 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 its send-message action, 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 a 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 publish it

Since n8n 2.0 (December 2025) edits autosave as a draft; Publish pushes a version live, production runs the published version, and Unpublish stops its triggers. And set schedule intervals to real need — a Schedule Trigger firing every minute is ≈43,200 executions in a 30-day month (our arithmetic), more than Cloud Starter (2,500 a month) or Pro (10,000 a month) include; self-hosted Business counts executions too (40,000 a month).

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.

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, run that node (or the whole workflow) from the editor and read the output. Manual runs from the editor don't count as executions. n8n shows exactly what each node received and produced, so when something's wrong you can see where. The single most common beginner confusion is a node showing empty output. It 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. You've just made the workflow production-sensible.

Publish and schedule

Since n8n 2.0 (December 2025) there is no Active toggle: your edits autosave as a draft, Publish pushes a version live, production runs the published version, and Unpublish stops its triggers[4]. Trigger-based workflows (like our new-row trigger) then fire on their event. For time-based automations, use the Schedule trigger and set the interval to real need. A Schedule Trigger firing every minute counts ≈43,200 executions in a 30-day month (our arithmetic). That is far above Cloud Starter's 2,500 or Pro's 10,000 a month, and over-limit runs fail rather than queue. A polling trigger counts only when it finds new data. There's no quota on the free Community Edition, but self-hosted Business counts executions too (40,000 a month). Until you publish, 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. Publish 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?Free 14-day trial of n8n Cloud, no credit cardStart free trial →

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) or, on Cloud Starter and Pro, use Gateway credits to run models without an API key. Either way AI costs two meters: the run still counts as an n8n execution, on top of your provider's bill or the Gateway credits. 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 publish. Since n8n 2.0 (December 2025) edits autosave as a draft; production runs only the version you Publish, and Unpublish stops its triggers. (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 Publish it: since n8n 2.0 (December 2025) edits autosave as a draft, Publish pushes a version live, production runs the published version, and Unpublish stops its triggers. 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. When the no-code path runs out, you can drop in a Code node (JavaScript or Python). On n8n Cloud, Python can't import libraries and JavaScript can't import npm modules beyond crypto and moment; self-hosted n8n can. 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 Request node calls that API directly, so you aren't limited to n8n's 500+ native integrations. It takes more setup than a native node but reaches almost any service with an API.

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.

What this solves

n8n's visual editor, native/custom nodes, triggers, and data-logic tools are built precisely to automate multi-step processes across tools.

Every n8n plan has unlimited users (since August 2025), so you don't pay per seat; on Cloud Starter colleagues work in 1 shared project. The free self-hosted Community Edition has no workflow sharing, so colleagues can't open your workflows there.

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.

Sources
  1. [1] n8n — host n8n (install options) (2026-10) https://docs.n8n.io/deploy/host-n8n.md
  2. [2] n8n — hosting & self-hosting docs (2026-07) https://docs.n8n.io/hosting/
  3. [3] n8n — using the Code node (2026-10) https://docs.n8n.io/build/code-in-n8n/using-the-code-node.md
  4. [4] n8n — save and publish workflows (2026-10) https://docs.n8n.io/build/understand-workflows/save-and-publish-workflows.md