Stop reading theory and start building! In this hands-on tutorial, I’ll walk you through creating three real n8n workflows from scratch. By the end of this guide, you’ll have working automations that you can actually use.
Ready to automate? Let’s dive in!
What You’ll Build Today
We’re going to create three practical workflows:
- Workflow 1: A simple data fetcher (perfect for beginners)
- Workflow 2: Email to Slack notifications (intermediate)
- Workflow 3: Automated form responses with AI (advanced)
Each workflow builds on the previous one, so you’ll master n8n step by step.
Before We Start: Get n8n Running
You have two options to get started with n8n:
Option 1: Cloud Version (Recommended for Beginners)
Visit n8n.io and click “Get started free.” Sign up with your email, and you’ll be in the editor within 2 minutes. No installation needed!
Option 2: Self-Hosted with Docker
If you prefer running n8n on your own machine, open your terminal and run:
npx n8n
After a few seconds, n8n will start and show you a URL like http://localhost:5678
. Open that in your browser.
For this tutorial, I recommend starting with the cloud version so you can focus on learning rather than setup.
Understanding the n8n Interface
Once you’re logged in, here’s what you’ll see:
The Overview Page shows your workflows, credentials, and recent executions. Think of this as your dashboard.
The Canvas is where you build workflows by dragging and connecting nodes. It’s like a flowchart that actually does things.
The Nodes Panel (opens when you click the + button) contains all available nodes organized by category.
Click the pink “Create Workflow” button in the top right to start building.
Workflow 1: Your First Data-Fetching Workflow
Let’s start with something simple that teaches you the fundamentals. We’ll build a workflow that fetches trending articles from Hacker News.
Step 1: Add a Manual Trigger
When you create a new workflow, you’ll see an empty canvas with “Add first step” in the center.
Click “Add first step” and the nodes panel opens on the left.
Search for “Manual Trigger” and select it.
The Manual Trigger node allows you to run the workflow at any time by selecting the Execute workflow button. This is perfect for testing and workflows you want to control manually.
Your canvas now has one node! Let’s add the action.
Step 2: Fetch Data from Hacker News
Select the + icon to the right of the Manual Trigger node to open the nodes panel.
Search for “Hacker News” and select it when it appears.
n8n opens the node details window where you can configure the node parameters.
Here’s what to configure:
- Resource: Choose “Article”
- Operation: Select “Get All”
- Return All: Turn this OFF
- Limit: Enter “10”
This tells n8n to fetch the 10 most recent articles.
Step 3: Test Your Workflow
Select the Execute step button in the node details window.
Watch the magic happen! n8n will fetch 10 articles and display them in the OUTPUT panel on the right.
You’ll see data like article titles, URLs, authors, and points. Just below the Output title, you’ll notice another piece of information: 10 items, which displays the number of items that the node request returned.
Step 4: Add a Note and Save
Right-click on the Hacker News node and select “Add note”. Type something like “Fetches top 10 tech articles.”
Notes are helpful for complex or shared workflows in particular!
Select the Save button in the top right corner of the Editor UI. Name your workflow “My First n8n Workflow.”
Congratulations! You just built your first working n8n workflow. Let’s level up.
Workflow 2: Email to Slack Notifications
Now let’s build something more practical that connects two apps. This workflow will send you a Slack message whenever you receive an important email.
Step 1: Create a New Workflow
Go back to the Overview page (click the n8n logo in the top left).
Click “Create Workflow” to start fresh.
Step 2: Add Gmail Trigger
Click “Add first step” on your canvas, and you’ll see a side menu appear with various trigger options.
Search for your trigger app (Gmail) in the search box and select it.
Choose the specific event that will trigger your automation: “On message received” which is exactly what we need.
Step 3: Connect Your Gmail Account
You’ll see a field that says “Credential to connect with”.
Click “Create New Credential” and follow these steps:
- A popup window opens asking you to sign in with Google
- Select your Gmail account
- Click “Allow” to give n8n permission to read your emails
- The popup closes and your credential is now connected
Back in the Gmail node, configure these settings:
- Trigger On: “Message Received”
- Filters: Let’s add a filter to only catch important emails
- Click “Add Filter”
- Set “Subject” contains “Invoice” (or any keyword you want to track)
Step 4: Test the Gmail Trigger
Click on “Test step” to execute the node.
If you have recent emails matching your filter, you’ll see them in the OUTPUT panel. If not, send yourself a test email with “Invoice” in the subject line, then test again.
Step 5: Add Slack Action Node
Go back to your canvas, and click the “+” button to the right of your Gmail node to add an automated action to your workflow.
You’ll see several options for what happens next. For this tutorial, we’ll choose “Add an action in another app.”
Search for the app you want to automate – in this case, Slack. Then, select it from the search results.
Next, you’ll need to pick the action: “Send a message.”
Step 6: Connect Slack
Just like with Gmail, create a new credential:
- Click “Create New Credential”
- Click “Connect my account”
- Select your Slack workspace
- Click “Allow” to authorize n8n
You might see a warning that n8n isn’t officially approved by Slack – this is normal for many automation platforms and nothing to worry about.
Step 7: Configure Your Slack Message
Now comes the fun part – using dynamic data from your email!
In the Slack node, configure:
- Channel: Select where to send messages (like #general or a DM to yourself)
- Message Text: This is where we use expressions to pull email data
Click in the Message Text field and you’ll see options to insert data. Click the Expression tab.
Here’s a template you can use:
📧 New Email Alert!
From: {{ $json.from }}
Subject: {{ $json.subject }}
Received: {{ $json.date }}
Preview: {{ $json.textPlain.substring(0, 200) }}
View email: {{ $json.webLink }}
This pulls the sender, subject, date, and first 200 characters from the email. Cool, right?
Step 8: Test Your Slack Message
Testing an action in n8n will actually perform the action, so testing a “send message” action will actually send a message in Slack.
Click “Test step” and check Slack. You should see your notification appear!
Step 9: Activate Your Workflow
Once everything works, it’s time to make it live:
- Save your workflow (name it “Gmail to Slack Alerts”)
- Toggle the “Active” switch at the top of the page to ON
If you want to use this workflow (in other words, if you want it to run automatically), you need to activate it by selecting the Active toggle.
Now your workflow runs automatically! Every time an email matching your filter arrives, you’ll get a Slack notification.
Workflow 3: AI-Powered Form Responses
Let’s build something cutting-edge that uses AI. This workflow will take form submissions, summarize them with AI, and post the summary to Slack.
Step 1: Create a New Workflow
Create another new workflow from the Overview page.
Step 2: Add n8n Form Trigger
Click on the + icon in the center of the empty workflow to get the search menu.
Search for “form” in the search menu and click on n8n Form.
The Form Trigger node generates the form web page for you to use.
Configure your form:
- Form Title: “Customer Feedback”
- Form Description: “Tell us about your experience”
Step 3: Add Form Fields
Click “Add Field” and create these fields:
Field 1:
- Element Type: Text
- Field Label: “Your Name”
- Field Name: “name”
- Required: Yes
Field 2:
- Element Type: Email
- Field Label: “Email Address”
- Field Name: “email”
- Required: Yes
Field 3:
- Element Type: Textarea
- Field Label: “Your Feedback”
- Field Name: “feedback”
- Required: Yes
- Rows: 5
Field 4:
- Element Type: Dropdown
- Field Label: “Rating”
- Field Name: “rating”
- Add Options: “Excellent”, “Good”, “Average”, “Poor”
Step 4: Test Your Form
While building or testing a workflow, use the Test URL. Using a test URL ensures that you can view the incoming data in the editor UI, which is useful for debugging.
Click “Test step” and n8n will open your form in a new tab. Fill it out with test data and submit.
Back in n8n, you’ll see the form data appear in the OUTPUT panel!
Step 5: Add OpenAI for Summarization
Click the + on your Form Trigger node and search for “OpenAI”.
Select “OpenAI” then choose “Chat Model” as the operation.
You’ll need an OpenAI API key:
- Go to platform.openai.com and sign up
- Navigate to API keys and create a new key
- Copy the key
- Back in n8n, create a new credential and paste your key
- Click “Create”
Configure the OpenAI node:
- Model: “gpt-4o-mini” (cheaper for testing)
- Prompt: Create a custom prompt using this template:
Summarize this customer feedback in 2-3 sentences, highlighting the key points and sentiment:
Name: {{ $json.name }}
Email: {{ $json.email }}
Rating: {{ $json.rating }}
Feedback: {{ $json.feedback }}
Provide a concise summary suitable for a management dashboard.
Step 6: Send AI Summary to Slack
Add another Slack node (use your existing credential).
Configure it:
- Channel: Choose your channel
- Message: Use this template:
🤖 New Feedback Received
Rating: {{ $('n8n Form Trigger').item.json.rating }}
AI Summary:
{{ $json.message.content }}
---
Submitted by: {{ $('n8n Form Trigger').item.json.name }}
Contact: {{ $('n8n Form Trigger').item.json.email }}
Step 7: Test the Complete Workflow
Click “Execute Workflow” at the top of the page.
Fill out your form again and watch the magic:
- Form data comes in
- OpenAI processes it and creates a summary
- Slack receives a formatted notification with the AI summary
Pretty powerful, right?
Step 8: Get Your Production URL and Activate
When your workflow is ready, switch to using the Production URL. You can then activate your workflow, and n8n runs it automatically when a user submits the form.
Click “Production URL” at the top of the Form Trigger node to see your public form link. Share this link with anyone who should fill out the form.
Toggle your workflow to Active.
Essential n8n Concepts You Just Learned
Let me break down what you’ve mastered:
Trigger Nodes start your workflows. Triggers start a workflow in response to specific events or conditions in your services. You used Manual Trigger, Gmail Trigger, and Form Trigger.
Action Nodes do the work. Actions are operations that represent specific tasks within a workflow, which you can use to manipulate data, perform operations on external systems, and trigger events in other systems.
Expressions let you use data from previous nodes. The {{ $json.fieldName }}
syntax pulls data and makes your workflows dynamic.
Credentials securely store your login information for connected apps. n8n encrypts them and only shares them with authorized nodes.
Testing vs Production: Always test your nodes individually before running the whole workflow. This helps you catch errors early.
Pro Tips for Building Better Workflows
Tip 1: Name Your Nodes
Double-click any node to rename it. Instead of “Slack” call it “Send Alert to Team Channel.” This makes complex workflows easier to understand.
Tip 2: Use the Execution Log
Click the “Executions” tab at the top to see a history of your workflow runs. This is invaluable for debugging when things go wrong.
Tip 3: Add Error Handling
Right-click any node and select “Add Error Trigger”. This creates a separate path that runs if the node fails. You can use it to send yourself error notifications.
Tip 4: Break Complex Workflows into Pieces
If your workflow gets complicated, split it into multiple workflows using the “Execute Workflow” node. This makes testing and maintenance easier.
Tip 5: Use Sticky Notes
Right-click on empty canvas space and select “Add Sticky Note”. Use these to document what different sections of your workflow do.
Common Beginner Mistakes (And How to Avoid Them)
Mistake 1: Not Testing Individual Nodes
Always click “Test step” on each node before running the whole workflow. This saves debugging time.
Mistake 2: Forgetting to Activate Workflows
Your workflow won’t run automatically unless you toggle it to Active. I’ve made this mistake dozens of times!
Mistake 3: Not Checking Execution History
When things break, check the Executions tab first. It shows you exactly where the workflow failed and what data was there.
Mistake 4: Hardcoding Data Instead of Using Expressions
Don’t type “john@example.com” in your Slack message. Use {{ $json.email }}
to make it dynamic.
Mistake 5: Skipping Credential Permissions
When connecting apps, make sure you grant all the permissions n8n requests. Missing permissions cause mysterious failures later.
What to Build Next
Now that you have the basics down, here are some ideas to practice:
Easy Projects:
- Weather report sent to your email every morning
- Automatically save email attachments to Google Drive
- Post new blog articles to Twitter automatically
Intermediate Projects:
- Lead capture form that adds contacts to your CRM
- Invoice processing that extracts data and updates your spreadsheet
- Social media content scheduler with approval workflow
Advanced Projects:
- AI chatbot that answers questions about your documentation
- Automated customer support ticket classification and routing
- Multi-step data pipeline that enriches, validates, and stores data
Troubleshooting Common Issues
“Node execution failed” Error
Check your credentials. 90% of the time, this means the authentication expired or has insufficient permissions.
“Workflow did not return data” Error
Your trigger might not be configured correctly, or no data matched your filters. Test with broader criteria first.
Workflow Not Running Automatically
Make sure:
- The workflow is saved
- The Active toggle is ON
- Your trigger node is configured correctly
- For webhooks, you’re using the Production URL
Can’t See Data in Output Panel
Click “Execute step” or “Execute Workflow” first. The output panel only shows data after a successful execution.
Taking Your Skills Further
You’ve built three real workflows in less than an hour. Here’s how to keep learning:
Explore Templates
n8n has a massive template library at n8n.io/workflows. Import templates that interest you and reverse-engineer them to understand how they work.
Join the Community
The n8n community forum is incredibly helpful. Ask questions, share your workflows, and learn from others at community.n8n.io.
Take the Official Course
n8n offers free video and text courses at docs.n8n.io/courses. They go much deeper into advanced topics like error handling, data transformation, and AI agents.
Build for Real Problems
The best way to learn is to automate something that actually bothers you. What repetitive task do you do every day? Build a workflow to eliminate it.
Your n8n Automation Checklist
Before you close this tutorial, make sure you’ve:
✅ Created your n8n account (cloud or self-hosted)
✅ Built Workflow 1: Data fetcher with Manual Trigger
✅ Built Workflow 2: Gmail to Slack with automatic trigger
✅ Built Workflow 3: AI-powered form responses
✅ Learned how to test nodes individually
✅ Understood expressions for dynamic data
✅ Set up credentials for external services
✅ Activated at least one workflow
✅ Checked the Executions tab to see workflow history
✅ Added notes to document your workflows
Start Automating Now!
You now have hands-on experience building real n8n workflows. You’re not reading theory anymore – you’re actually automating!
The workflows you built today are just the beginning. Every app you use, every repetitive task you do, every piece of data you move manually – all of it can be automated with n8n.
So here’s my challenge to you: Before the day ends, automate one real task from your work or life. It doesn’t have to be fancy. Even automating a simple email notification or data backup will save you time and teach you more.
Your automation journey starts now. What will you build?
#n8n #WorkflowAutomation #NoCodeAutomation #TechTutorial #AutomationTools #ProductivityHacks #AIWorkflows #BeginnersGuide #StepByStep #LearnToAutomate #OpenSource #TechSkills