Getting Started with n8n: Your First Workflow Tutorial
n8n is a powerful open-source workflow automation tool that lets you connect apps and automate tasks without writing code. This complete beginner's guide will walk you through building your first n8n workflow from scratch.
What is n8n?
n8n (nodemation) is a workflow automation platform that connects different apps and services together. Think of it as the glue between all your business tools - it can automatically move data, trigger actions, and coordinate complex processes across 400+ apps.
Unlike other automation tools, n8n is:
- Open Source - You own your automations and can self-host for complete data privacy
- Fair Pricing - Unlimited workflows and operations on paid plans, unlike competitors who charge per execution
- Developer Friendly - Supports JavaScript, expressions, and custom nodes when you need advanced features
- No-Code First - Visual workflow builder perfect for beginners and non-technical users
Getting Started: Setup Options
Option 1: n8n Cloud (Easiest)
The fastest way to get started is with n8n Cloud - a managed version where everything is set up for you.
- Go to n8n.io and click "Try Cloud"
- Sign up with your email
- Verify your email and you're ready to build!
Free Tier: 5,000 workflow executions per month
Option 2: Self-Hosted (Full Control)
For complete data privacy and unlimited usage, you can self-host n8n. This requires basic server knowledge.
Docker (Recommended for self-hosting):
docker run -it --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
Then open http://localhost:5678 in your browser
Understanding the n8n Interface
When you first open n8n, you'll see:
- Canvas - The main area where you build workflows by connecting nodes
- Node Panel - Left sidebar with all available nodes (triggers, actions, tools)
- Workflow Tabs - Top area showing your open workflows
- Execute Button - Top right, runs your workflow to test it
Key Concepts You Need to Know
1. Workflows
A workflow is a series of connected nodes that automate a specific process. Each workflow has one or more starting points (triggers) and can have unlimited action nodes.
2. Nodes
Nodes are the building blocks of workflows. There are three types:
- Trigger Nodes - Start a workflow (e.g., "When new email arrives", "Every day at 9 AM", "When webhook receives data")
- Regular Nodes - Perform actions (e.g., "Send Slack message", "Add row to Google Sheets", "Make HTTP request")
- Core Nodes - Data manipulation (e.g., "Filter", "Merge", "Split", "Set")
3. Connections
Connections are the lines between nodes. They pass data from one node to the next. Data flows left to right in n8n.
4. Executions
An execution is when your workflow runs. You can see the data flowing through each node and debug any issues.
Your First Workflow: Webhook to Slack
Let's build a simple but practical workflow: When data is sent to a webhook URL, post a message to Slack. This teaches the core concepts and is useful for real-world integrations.
Step 1: Add a Webhook Trigger
- Click the "+" button on the canvas
- Search for "Webhook" and select "Webhook" trigger
- Set HTTP Method to "POST"
- Set Path to "customer-inquiry"
- Click "Listen for Test Event"
n8n will show you a URL like: https://your-instance.app.n8n.cloud/webhook/customer-inquiry
Step 2: Test the Webhook
Open a new browser tab and use this test URL (replace with your actual webhook URL):
Send test data:
You can use the browser or a tool like Postman. For testing, just paste your webhook URL in the browser's address bar with query parameters:
https://your-instance.app.n8n.cloud/webhook/customer-inquiry?name=John&email=john@example.com&message=Interested+in+your+product
Back in n8n, you should see the test data appear in your webhook node! You'll see the query parameters in the node's output data.
Step 3: Add a Slack Node
- Click the "+" after your webhook node
- Search for "Slack" and select it
- Click "Create New Credential"
- Click "Connect my account" and authorize n8n
- Select your Slack workspace
- Choose "Post Message" as the operation
- Select the channel where you want messages posted
Step 4: Customize the Slack Message
Now let's use the data from the webhook in our Slack message. In the Message field, we'll use n8n's expression syntax:
Message Template:
🆕 New Customer Inquiry
👤 Name: {{ $json.query.name }}
📧 Email: {{ $json.query.email }}
💬 Message: {{ $json.query.message }}
Time: {{ $now.format('YYYY-MM-DD HH:mm:ss') }}
Note: The {{ }} syntax lets you reference data from previous nodes!
Step 5: Test Your Workflow
- Click "Execute Workflow" in the top right
- Send another test request to your webhook URL
- Watch the data flow through each node
- Check your Slack channel - you should see the formatted message!
Step 6: Activate Your Workflow
Once testing is complete, activate your workflow so it runs automatically:
- Click the toggle switch in the top right (it will turn blue)
- Your workflow is now live and will run whenever the webhook receives data
- You can track executions in the "Executions" tab
Common n8n Workflow Patterns
1. Scheduled Automation
Use Case: Send a daily report every morning at 9 AM
Pattern: Schedule Trigger → Fetch Data (API/Database) → Format Data → Send Email
2. Data Sync
Use Case: Keep your CRM and email marketing platform in sync
Pattern: Webhook/Polling Trigger → Transform Data → Update Record → Send Confirmation
3. Multi-Step Approval
Use Case: Route expense reports for manager approval
Pattern: Form Trigger → IF Node (Check Amount) → Send to Manager → Wait for Webhook → Update Status
4. Data Aggregation
Use Case: Collect data from multiple sources into one report
Pattern: Schedule → Fetch from API 1 → Fetch from API 2 → Merge → Google Sheets
Essential n8n Features
Expressions (Dynamic Data)
Use {{ }} to reference data from previous nodes or use functions:
{{ $json.fieldName }}- Access data from the previous node{{ $now }}- Current date/time{{ $workflow.id }}- Current workflow ID{{ Math.random() }}- Use JavaScript functions
Error Handling
Add error handling to make your workflows robust:
- Click the three dots on any node → "On error"
- Choose "Continue with next items" or "Stop and error"
- Add an Error Trigger node to handle failures
IF Nodes (Conditional Logic)
Use IF nodes to create different paths based on conditions:
Example: Only send high-priority alerts to Slack
- Add an IF node after your trigger
- Set condition:
{{ $json.priority }}equals "high" - Connect true path to Slack
- Connect false path to email or different handling
Tips for n8n Beginners
- Use the Test Execution feature - Always test with real data before activating
- Check the node documentation - Click "?" on any node to see examples and parameters
- Start simple - Build basic workflows first, then add complexity
- Use the FlowKit library - Browse our 250+ pre-built n8n nodes to copy and paste
- Enable workflow error notifications - Get alerted when workflows fail
- Name your nodes descriptively - Makes debugging much easier
- Version your workflows - Duplicate before making major changes
Common Issues & Solutions
Issue: "Cannot connect to app"
Solution: Re-authenticate the credential. Click credentials → reconnect
Issue: "No data returned"
Solution: Check if the previous node has data. Run a test execution to see actual data flow
Issue: "Expression error"
Solution: Verify the field path. Use the dropdown to select fields instead of typing manually
Next Steps
Now that you know the basics, expand your n8n skills:
- Build 3-5 simple workflows to internalize the patterns
- Explore the node library - Try connecting apps you use daily
- Join the n8n community - Forum and Discord for help and ideas
- Learn advanced features - Code node, SubWorkflows, Webhooks
- Browse FlowKit's n8n library - 250+ ready-to-use nodes for common tasks
FAQs
Is n8n really free?
Yes! The self-hosted version is completely free and open source. n8n Cloud has a free tier with 5,000 executions/month and paid plans starting at $20/month.
Can I use n8n without coding?
Absolutely. Most workflows can be built using the visual interface without any code. You only need JavaScript if you want advanced data transformations.
How many apps does n8n support?
n8n has 400+ native integrations and can connect to any app with an API using the HTTP Request node.