Want to learn n8n but feeling overwhelmed? This is your complete n8n step by step guide — from installation to your first working workflow. No programming knowledge required. Whether you prefer n8n Cloud or self-hosting, we cover both paths with clear instructions.
What is n8n?
n8n (pronounced "n-eight-n") is an open-source platform for workflow automation. Think of it as a digital assembly line: data comes in, gets processed, and goes out transformed. If you prefer a visual, no-code approach, our comparison of Zapier, Make.com and n8n shows how the three stack up.
Why n8n?
- Free to use (self-hosted)
- German company (Berlin)
- 400+ integrations
- Visual editor (no code required)
- Extendable with code when needed
n8n Step by Step: Choose Your Setup
There are two ways to get started with n8n. Pick the one that fits your situation.
Option 1: n8n Cloud (Fastest Start)
For beginners, we recommend n8n Cloud - no installation, start immediately.
Step 1: Create Account
- Go to n8n.io
- Click "Get started free"
- Enter email and password
- Confirm email
Step 2: First Steps
After logging in, you'll see:
- Workflows - This is where your automations live
- Credentials - Access credentials for external services
- Executions - Log of all runs
Tip: n8n Cloud offers 2,500 free executions for testing.
Option 2: n8n Self-Hosted (For More Control)
Option A: Docker (Recommended)
Prerequisite: Docker installed (Docker Desktop)
# Start n8n with Docker
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
n8nio/n8n
Then open http://localhost:5678 in your browser.
Option B: npm (For Developers)
# Install n8n globally
npm install -g n8n
# Start n8n
n8n start
Option C: Cloud Server (Production)
For production use, we recommend a cloud server:
- Create server: Choose your cloud provider - New Server - Ubuntu 24.04
- Install Docker:
apt update && apt install docker.io docker-compose -y
- Deploy n8n: Create docker-compose.yml and start
Detailed guide: See our article "Installing n8n on a Cloud Server"
Understanding the n8n Interface
The Workflow Editor
+------------------------------------------------------------+
| [Save] [Execute] [Activate] Workflow Name |
+------------------------------------------------------------+
| |
| +---------+ +---------+ +---------+ |
| | Trigger | ---> | Node | ---> | Node | |
| +---------+ +---------+ +---------+ |
| |
| [+ Add Node] |
+------------------------------------------------------------+
| Node Panel | Settings | Output | |
+------------------------------------------------------------+
Important Terms
| Term | Meaning | Example |
|---|---|---|
| Workflow | A complete automation | "Email -> Slack" |
| Node | A building block in the workflow | Slack node, HTTP node |
| Trigger | Starts the workflow | Schedule, webhook, email |
| Credentials | Access data | API key, OAuth |
| Execution | One run of the workflow | Success/failure |
Your First Workflow: Weather Notification
Let's build a workflow that sends you a daily weather update.
Step 1: Create New Workflow
- Click "New Workflow"
- Name it: "Daily Weather Info"
Step 2: Add Trigger
- Click the + symbol
- Search for "Schedule"
- Select "Schedule Trigger"
- Configure:
- Trigger Times: 1
- Mode: Every Day
- Hour: 7
- Minute: 0
Step 3: Fetch Weather Data
- Click + after the Schedule node
- Search for "HTTP Request"
- Configure:
- Method: GET
- URL:
https://wttr.in/London?format=3
- Click "Test step"
Result: You'll see the current weather for London.
Step 4: Send Email
- Click + after the HTTP node
- Search for "Send Email"
- Choose your email provider (Gmail, Outlook, SMTP)
- Create credentials:
- For Gmail: OAuth2 or App Password
- For SMTP: Server, Port, User, Password
- Configure the email:
- To: your@email.com
- Subject: "Weather today in London"
- Body:
{{ $json.data }}
Step 5: Test and Activate
- Click "Execute Workflow"
- Check if the email arrives
- Click "Activate" (top right)
Done! Every morning at 7 AM, you'll receive a weather email.
Second Workflow: RSS to Slack
Automatically post new blog articles to a Slack channel.
Step 1: RSS Trigger
- New workflow: "RSS to Slack"
- Add node: "RSS Feed Trigger"
- Feed URL: e.g.,
https://blog.n8n.io/rss/ - Poll Times: Every 15 minutes
Step 2: Slack Message
- Add node: "Slack"
- Operation: Send Message
- Create credentials:
- Slack OAuth2 or Webhook
- Configure:
- Channel: #news
- Message:
Step 3: Activate
Activate the workflow - new RSS entries will automatically appear in Slack.
Third Workflow: Google Sheets Automation
Automatically process new form entries.
Step 1: Google Sheets Trigger
- New workflow: "Form Processing"
- Node: "Google Sheets Trigger"
- Credentials: Set up Google OAuth2
- Document: Select your Google Sheet
- Sheet: Select the worksheet
- Trigger: On Row Added
Step 2: Process Data
- Node: "Set"
- Assign fields: %%CODEBLOCK5%%
Step 3: Send Email
- Node: "Send Email"
- To:
{{ $json.email }} - Subject: "Thank you for your inquiry"
- Body: "Hello {{ $json.name }}, we have received your message..."
Important Concepts in n8n
Expressions
Expressions access data from previous nodes:
| Expression | Meaning |
|---|---|
{{ $json.fieldName }} | Field from current item |
{{ $('NodeName').item.json.field }} | Field from a specific node |
{{ $now }} | Current date/time |
{{ $workflow.name }} | Workflow name |
If/Switch (Conditions)
Email incoming
|
IF (contains "complaint")
-> Yes: Create ticket
-> No: Standard response
Add "IF" node and configure condition.
Loop (Iterations)
Do something for each entry in a list:
Google Sheet with 100 rows
|
SplitInBatches (10 batches)
|
For each row: Send email
Error Handling
- Error Trigger: Starts on workflow errors
- Stop and Error: Abort workflow with error message
- Continue on Fail: Continue despite errors
Common Beginner Mistakes
Mistake 1: Credentials Not Set Up
Symptom: Node shows red exclamation mark
Solution: Credentials -> Add Credential -> Select service
Mistake 2: Wrong Expression Syntax
Symptom: Value is empty or shows error
Solution: Always use {{ }} around expressions
Mistake 3: Workflow Not Activated
Symptom: Trigger doesn't fire
Solution: Click "Activate" in top right
Mistake 4: Webhook URL Not Accessible
Symptom: External services can't reach webhook
Solution: For self-hosted: Open port 5678, use Nginx/Traefik in front if needed
Mistake 5: API Limits Exceeded
Symptom: "Rate limit exceeded" error
Solution: Add delays between requests (Wait node)
Useful Nodes for Beginners
| Node | Use | Example |
|---|---|---|
| HTTP Request | Call APIs | Fetch weather data |
| Set | Transform data | Rename fields |
| IF | Branching | If-then logic |
| Merge | Combine data | Merge two sources |
| SplitInBatches | Process lists | Send 100 emails |
| Code | Run JavaScript | Complex logic |
| Wait | Pause | Respect rate limits |
Resources for Further Learning
Official Documentation
- n8n Docs - Complete reference
- n8n Community - Forum with discussions
YouTube Tutorials
- "n8n Complete Course for Beginners" - 2 hours of basics
- Various advanced workflow tutorials
Templates
n8n offers over 1,000 ready-made templates:
- Workflows -> Templates
- Search by use case
- Click "Use this workflow"
- Customize
Conclusion
You've now:
- Installed n8n (Cloud or Self-Hosted)
- Built three working workflows
- Understood the key concepts
Next Steps:
- Identify a manual process in your daily work
- Build a workflow that automates it
- Test, improve, expand
Learning n8n is like Lego for adults - the more you build, the more creative your solutions become. For more ideas, browse our workflow automation examples.
Prefer to learn, not outsource?
You read this article to the end — probably because you don't just want to tinker with n8n but to make your team productive with it. That is what our public n8n reference architectures are for: GDPR-first, built on real German stacks (DATEV, Lexoffice, Personio, SAP) rather than derived from YouTube tutorials, and free to read.
Be clear about what that page is and is not: there is no course, no video library, and no fixed-price workshop. Beyond the free architectures, we offer paid one-on-one work — remote or on-site, scope and price agreed individually — including the honesty to say "don't automate this" when a process redesign is the better answer.