Your First n8n Workflow (15-Minute Setup)
n8n is powerful. And yes, it looks overwhelming at first. Let me show you how easy the start actually is.
What we're building
A workflow that:
1. Runs every day at 9am
2. Pulls yesterday's Shopify orders
3. Posts a summary to Slack
Time needed: 15 minutes
Prior experience: None
Step 0: Create an account
Go to n8n.io and create a cloud account. The smallest plan is enough to get started, and there's a free trial.
The alternative is self-hosting on your own server. That's cheaper long term, but cloud is easier at the beginning. The full comparison is in n8n Self-Hosting vs. Cloud.
Step 1: Create a new workflow
- Click "New Workflow"
- Give it a name: "Daily Order Report"
- You'll see an empty canvas with a "+" button
Step 2: Add a trigger
The trigger decides WHEN the workflow runs.
1. Click "+"
2. Search for "Schedule Trigger"
3. Configure:
- Mode: "Every Day"
- Hour: 9
- Minute: 0
Done. Every day at 9am the workflow starts.
Step 3: Connect Shopify
Now we pull the orders:
1. Click the "+" to the right of the trigger
2. Search for "Shopify"
3. Choose "Get Many Orders"
4. Credential: click "Create New" and follow the instructions
- You'll need an API key from your Shopify admin
5. Configure:
- Status: Any
- Created At Min: {{ $now.minus(1, 'day').toISO() }}
- Created At Max: {{ $now.toISO() }}
That pulls every order from the last 24 hours. If the term API key means nothing to you: API Basics for E-Commerce Founders covers the fundamentals in 5 minutes.
Step 4: Prepare the data
The raw Shopify data is messy. We'll summarize it:
1. Click "+"
2. Search for "Code"
3. Choose "JavaScript"
4. Paste this in:
```javascript
const orders = $input.all();
const totalOrders = orders.length;
const totalRevenue = orders.reduce((sum, order) =>
sum + parseFloat(order.json.total_price), 0);
return [{
json: {
totalOrders,
totalRevenue: totalRevenue.toFixed(2),
date: new Date().toLocaleDateString('de-DE')
}
}];
```
Don't worry: you don't need to understand this code, just paste it. It counts the orders and adds up the revenue.
Step 5: Send the Slack message
1. Click "+"
2. Search for "Slack"
3. Choose "Send a Message"
4. Credential: create a new Slack app connection
5. Configure:
- Channel: pick your channel
- Message:
```
📊 Daily report for {{ $json.date }}
Orders: {{ $json.totalOrders }}
Revenue: {{ $json.totalRevenue }}€
```
Step 6: Test it
1. Click "Test Workflow"
2. You should get a Slack message
Works? Then:
1. Go back
2. Switch the workflow to "Active" (top right)
From now on it runs every day on its own.
What you just learned
- Triggers start workflows
- Nodes are steps (Shopify, Slack, etc.)
- Expressions ({{ }}) pass data between nodes
- Code Nodes handle more complex logic
Next steps
From here you can extend it:
- Add error handling
- Add conditions ("only if revenue > 1000€")
- Add more data (top products, new customers, etc.)
- Add more integrations (email, Discord, Notion)
A small report exactly like this one is where we started with our own brands. Today we run dozens of workflows: at mate, order processing alone went from 4 hours a day down to 15 minutes. The road there was a lot of small workflows like this one. Which processes are worth doing next is covered in Automating E-Commerce Processes.
Common beginner mistakes
1. Forgetting credentials: always set up API keys before you test
2. Workflow not active: the switch in the top right has to be on
3. Wrong time zone: pick the right one in Settings
4. Thinking too big: your first workflow should be small. One trigger, two or three nodes. Complexity arrives on its own.
Conclusion
15 minutes, one working workflow. That's how every automation starts.
The first step is the hardest. The next ones are easier, because you now understand the principle.
Build your first workflow today. If you get stuck: benedikt@flowhouse.ai