n8n has a reputation for being powerful but complicated. It's not — you just need to know the right starting point. This guide takes you from zero to a real, working automation in 30 minutes, using Docker locally so you're not paying for cloud hosting while you learn.

By the end you'll have n8n running, a working 4-node workflow that catches a webhook, transforms data, and sends a Slack notification — and the mental model to build anything from there.

What you'll need

Docker Desktop installed (free) · A Slack workspace · 30 minutes · No coding experience required

Step 1 — Install n8n with Docker

1

Run this single command in your terminal

Open Terminal and paste this. n8n will download and start automatically:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

Then open http://localhost:5678 in your browser. You'll see the n8n editor. That's it — n8n is running.

Step 2 — Create your first workflow

2

Add a Webhook trigger node

Click + Add first step → search "Webhook" → select it. Set Method to POST. Copy the test URL shown — you'll use it in a moment.

3

Add a Code node to transform the data

Click the + after the webhook → search "Code" → add it. This is where you shape the data however you need before sending it anywhere.

4

Add a Slack node to send the notification

Add a Slack node → connect your Slack workspace via OAuth → pick your channel → set the message text using data from the previous nodes.

What the full tutorial covers

  • Complete walkthrough with screenshots of every node configuration
  • How to connect Google Sheets, Gmail, and Slack credentials in n8n
  • The Code node basics — transforming data with JavaScript in 5 minutes
  • Running your workflow on a schedule instead of a webhook trigger
  • Error handling — what happens when a node fails and how to catch it
  • Moving from local Docker to a production n8n instance
🛠️
Full step-by-step tutorial coming soon
Complete with screenshots, node configs, and downloadable workflow JSON. Subscribe to get it when it drops.