Guide · n8n and tools

How to Build Your First n8n Workflow

Build your first n8n automation from scratch: choose a trigger, connect apps, test with real data and switch it on. No prior automation experience needed.

Published Updated 4 min read
How to build your first n8n workflow: a form submission arrives by webhook, is checked, added to a Google Sheet and posted to the team, with an error workflow as a safety net.

Your first n8n workflow is easier than it looks, as long as you build it in the right order. This guide walks through one small, useful example from start to finish: when someone fills in your website form, add them to a Google Sheet and post a message to your team. Along the way it covers the habits that keep workflows working after the first week.

Before you start

You need somewhere to run n8n. n8n Cloud is the quickest start, and n8n also publishes a free self-hosted version you can run on your own server. On 18 September 2026, n8n's Starter cloud plan was 20 EUR a month billed annually with 2,500 workflow executions included (n8n pricing). Plans change, so check the page before you sign up. If self-hosting appeals, decide that separately, because you take on updates, backups and security yourself.

Then gather access to the apps you'll connect. For this example that's your Google account for Sheets and your Slack workspace or email. Having these ready before you build saves breaking off halfway to hunt for logins.

The example we'll build

The first workflow. A webhook receives the form submission. An IF node checks the email field isn't empty. If it has an email, Google Sheets appends a row with name, email, message and time, then Slack posts a message to the sales channel. If the email is empty, the submission goes to a separate sheet tab for a person to check. A separate error workflow emails you if any step fails.
Four nodes and a safety net. Small enough to finish in one sitting, useful enough to keep.

1. Pick the trigger

Every workflow starts with a trigger: the event that makes it run. There are three you'll use most.

Three common n8n triggers. Webhook: another app sends data the moment something happens, such as a form submission or a new order. Schedule: the workflow runs at set times, such as every Monday at 9am, for reports and syncs. App trigger: a built-in trigger for a specific app, such as a new HubSpot contact, which handles the connection for you.
Use an app's built-in trigger when there is one. Use a webhook when the app can send one.

For a form, use a Webhook trigger if your form tool can send one, which most can. n8n gives you a test URL and a production URL. Point the form at the test URL while you build, and switch to the production URL when you go live. Forgetting that switch is the most common reason a first workflow "works in testing" and then never runs.

2. Build one node at a time

Send one real test submission through the form so the webhook has data to show. Then add the next node, the Google Sheet, and run just that node. Check the row appeared. Then add Slack and run that.

Testing each node as you add it turns debugging into a short question: which node did the last thing I expected? You can also pin the test data on the trigger, so you don't have to submit the form again every time you change something further down.

Data passes from node to node as fields. When you fill in the Sheet node, use the expression editor to pick fields from the webhook, such as the name and email, rather than typing their names by hand. Its suggestions show exactly what's available, which avoids the most common beginner mistake: referring to a field that doesn't exist.

3. Handle the messy cases

Real forms arrive with blank fields, spam and odd characters. Add an IF node after the trigger that checks the email isn't empty. Send good submissions down the main path, and send the rest to a separate tab in the sheet so a person can look at them. Nothing is lost, and the team channel doesn't fill with junk.

4. Test with three different inputs

Run the whole workflow with at least three test submissions: a normal one, one with a blank email, and one with a long message full of punctuation. Look at each node's output for empty fields, error messages and anything that ran when it shouldn't have. Problems usually show up on the second or third test, not the first.

5. Go live, and set a safety net

Go-live checks for a first n8n workflow. Form points at the production webhook URL, not the test one. Workflow is switched to active. Three test inputs passed, including a blank field. An error workflow emails you if any step fails. You checked the executions list after the first real submissions.
The first two checks catch most "it worked in testing" problems.

Switch the form to the production URL and turn the workflow on. Then set up an error workflow: a second, small workflow that starts with n8n's Error Trigger node and sends you an email or Slack message whenever another workflow fails. Without it, a broken workflow stops quietly and you find out from a customer.

Check the list of executions after the first few real submissions to confirm they ran as expected. After that, the error workflow does the watching.

What to build next

Once the first one works, the second goes much faster, because the patterns repeat: a trigger, a check, an action, a safety net. For store ideas, see five n8n e-commerce automations. For what this example looks like as a full enquiry process, with an owner and a follow-up, see what happens between the form and the first follow up. And if you're still choosing a platform, n8n vs Zapier compares them honestly.

See it working

Lead Research and CRM Sync

A reference build of an intake pattern: an enquiry arrives, the contact and company are researched automatically, and a complete record lands in the CRM with an owner assigned.

Lab build, fictional business, synthetic data

Open the demo

Axioprax builds this

Frequently asked questions

Is n8n free?

n8n publishes a free self-hosted version, where you run and maintain the server yourself. n8n Cloud is paid; on 18 September 2026 its Starter plan was 20 EUR a month billed annually with 2,500 executions. Check the pricing page for current plans.

Why does my n8n workflow work in testing but not live?

The most common reason is that the form or app still points at the webhook's test URL instead of the production URL, or the workflow isn't switched to active. Check both first.

How do I know if an n8n workflow fails?

Set up an error workflow that starts with the Error Trigger node and sends you an email or Slack message. Without one, a failed workflow stops quietly.