Your first n8n workflow: triggers, items and publishing
Build a first n8n workflow: choose a trigger, pass items between nodes, pin test data and publish safely. Verified against n8n docs, Nov 2026.
Every n8n workflow starts with a trigger and passes items through nodes. Build and test with manual runs and pinned data, set the timezone, and publish only when the output is right.
- Choose the trigger first: schedule, webhook, form, app event or chat.
- Pin node output while testing so you don't keep calling APIs.
- Set the workflow timezone for anything scheduled.
- Production starts only when you publish, and later edits wait for the next publish.
Checked 4 November 2026 (CET) against n8n documentation and the n8n pricing page. n8n ships updates often and node options, plan limits and prices change, so confirm in your own instance and on the pricing page. "Our view" marks MentionX opinion. Ledgerline is a fictional company used for illustration.
01What makes a good first workflow?
Pick something small, frequent and low-risk. A reminder posted to Slack is ideal. If it goes wrong, someone gets an odd message; no customer sees anything. Avoid anything that emails customers or edits CRM records until you understand items and testing.
A good first workflow has:
- One trigger.
- Three to six nodes.
- A destination that only your team sees.
- A clear "it worked" signal, such as a Slack message.
02How do you test without breaking things?
n8n gives you three testing tools.
Execute step. Each node can run on its own using the data from the node before. Use it to try settings without running the whole workflow.
Pin data. After a node runs, you can pin its output. Later runs reuse the pinned data instead of calling the service again. This is how you test an AI step 20 times without paying for 20 Sheets reads, or test a webhook flow without resubmitting the form. Pinned data is used in manual runs only; production runs use live data.
Manual executions. Execute workflow runs the whole thing from the trigger. Watch each node turn green and check the item counts on the connections.
03Node settings you should know now
Every node has a Settings tab. The n8n "Work with nodes" docs describe these options:
- Always Output Data: return an empty item even when the node finds nothing. Careful on IF nodes, where the docs warn it can cause infinite loops.
- Execute Once: run once with the first item only. Useful before a Slack message that should be sent once.
- Retry On Fail: rerun the node when it fails. Lesson 16 covers retries.
- On Error: Stop Workflow, Continue, or Continue (using error output).
- Notes: documentation that can display under the node on the canvas.
04How does publishing work?
According to the n8n docs, your changes auto-save within a few seconds and stay in draft. Publishing makes the workflow live and locks production to that version. When you publish, webhook and form triggers use their production URLs, schedules start, and app events trigger runs.
Publishing is asynchronous: n8n works out which triggers changed and applies only those changes, so unchanged triggers keep running. The button shows Publishing until it's done.
The Schedule Trigger docs are explicit: a scheduled workflow must be saved and published, or it won't run.
Our view: treat publish like hitting send on an email campaign. Read the workflow once, end to end, before you do it.
05Triggers marketers use most
| Trigger | Fires when | Watch out for |
|---|---|---|
| Schedule Trigger | At set intervals or a cron expression | Timezone, and that the workflow must be published |
| Webhook | Another system sends an HTTP request to its URL | Test and production URLs are different |
| n8n Form Trigger | Someone submits an n8n-hosted form | Good for internal request forms |
| App triggers (for example a Google Sheets or HubSpot trigger) | Something changes in that app | Many poll on an interval rather than firing instantly |
| RSS Feed Trigger | A feed has new entries | Feeds vary in quality and frequency |
| Chat Trigger | A message arrives in n8n chat | Used for AI agents you talk to |
| Error Trigger | Another workflow fails | Only used in error workflows (lesson 16) |
06Schedule Trigger settings that catch people out
According to the Schedule Trigger docs:
- The node relies on the workflow timezone if set, otherwise the instance timezone. Self-hosted instances default to America/New York. n8n Cloud tries to detect the owner's timezone at sign-up and falls back to GMT. Set the timezone in Workflow settings for anything that should run at a local business hour.
- You can add several Trigger Rules to one node, for example 08:00 on weekdays and 10:00 on Saturdays.
- Intervals range from seconds to months, plus custom cron.
- From n8n 2.45.0, Seconds and Minutes intervals run at uniform intervals measured from publication rather than on clock boundaries. Cron intervals still follow the clock.
07Webhook URLs: test vs production
Webhook nodes have a test URL and a production URL. The test URL works only while you're listening for a test event in the editor, and shows the data on the canvas. The production URL works once the workflow is published, and data appears in the Executions list rather than on the canvas. Most "my webhook doesn't work" problems are a form pointing at the test URL.
08Troubleshooting your first workflow
| Symptom | Likely cause | Fix |
|---|---|---|
| Schedule never fires | Workflow not published | Publish it; manual tests don't activate schedules |
| Runs at the wrong hour | Timezone not set on the workflow | Set the workflow timezone in settings |
| Node runs once per item unexpectedly | n8n processes every item | Use Execute Once, or aggregate first |
| Data from the test run disappears | Pinned data not set | Pin outputs while building |
| Production differs from test | Different data or credentials | Check the execution in the executions list |
09Naming and structure habits
Good habits from day one save hours later:
- Name workflows "Team - purpose - trigger", such as "Marketing - weekly KPI report - schedule".
- Rename nodes to describe what they do ("Get new leads", not "HTTP Request1").
- Add sticky notes explaining anything unusual.
- Keep one workflow per job. Split shared logic into sub-workflows.
- Put the owner's name in the workflow description.
These matter because you'll open the workflow in six months, or someone else will, and the names are the only documentation many workflows ever get.
10Worked example: Ledgerline's Monday reminder
Ledgerline is a fictional accounts-payable software company. Details are illustrative.
Ledgerline's content lead kept a Google Sheet with planned posts. The team built the weekly reminder above. The first test posted at 03:00 because the instance timezone was wrong; setting the workflow timezone to Europe/Berlin fixed it.
The second problem was items. The first version posted one Slack message per post because they skipped the Aggregate node. Adding it produced one tidy message. They added Execute Once to the Slack node as a belt-and-braces guard.
Walkthrough
- Create a workflow called "Weekly content reminder".
- Add a Schedule Trigger: Weeks interval, every 1 week, Monday, 09:00.
- Open Workflow settings and set the timezone to your office timezone.
- Add a Google Sheets node: Get Row(s) from your content calendar sheet.
- Add a Filter node: keep rows where
statusequalsscheduledand the publish date is in the next seven days. - Add an Aggregate node to combine titles into one list.
- Add a Slack node: send a message to your content channel with the list.
- Run it manually with pinned data until the message looks right, then Publish.
11Try it yourself
Build the weekly content reminder above against a copy of your real calendar. Pin the Sheets output, then deliberately change one row's status and re-run from the Filter node to see how pinning speeds up testing. Publish only when the Slack message is right.
12Quick quiz
1. Why might a scheduled workflow run at the wrong hour?
Answer: The workflow or instance timezone isn't set as expected. Self-hosted instances default to America/New York.
2. What does pinning data do?
Answer: It freezes a node's output so later test runs reuse it without calling the service again.
3. Why does a form posting to a webhook do nothing after testing?
Answer: It probably points at the test URL, which only works while the editor is listening.
13What should you check before the next lesson?
- Your first workflow runs on a schedule in the correct timezone.
- You have used pinned data at least once.
- You know where the Executions list is.
Next: Data, expressions and the Code node. Or return to the n8n for Marketers track.
14Common questions
Do I need to publish to test? No. Manual runs work on drafts. Publish when you want schedules and production webhooks to run.
Can one workflow have two schedules? Yes. Add several Trigger Rules to the Schedule Trigger node.
What happens to my edits after publishing? They stay in draft until you publish again; production keeps using the published version.
Questions people ask
3 answersDo I need to publish to test?
+
No. Manual runs work on drafts. Publish when you want schedules and production webhooks to run.
Can one workflow have two schedules?
+
Yes. Add several Trigger Rules to the Schedule Trigger node.
What happens to my edits after publishing?
+
They stay in draft until you publish again; production keeps using the published version.
Sources
- n8n Docs, Schedule Trigger nodedocs.n8n.io
- n8n Docs, Webhook nodedocs.n8n.io
- n8n Docs, Save and publish workflowsdocs.n8n.io
- n8n Docs, Work with nodesdocs.n8n.io
- n8n Docs, Configure workflow settingsdocs.n8n.io
- All accessed 4 Nov 2026.