n8n Tutorial for Beginners: Build Your First Real Workflow
A beginner n8n tutorial: build a real workflow that captures a form lead, emails them and logs them in Google Sheets, step by step, plus cloud vs self-host.
By Yotam DahanUpdated 8 min readAutomation and agents
On this page
- What you need before you start
- Cloud or self-hosted: which to use for this tutorial
- Step 1: Create the workflow
- Step 2: Add the form trigger
- Step 3: Send yourself a test lead
- Step 4: Save the lead to Google Sheets
- Step 5: Email the lead
- Step 6: Test the whole workflow
- Step 7: Publish and share the production form
- Common mistakes and how to fix them
- Before you share the link
- What to do next
n8n is a workflow automation tool where you connect building blocks, called nodes, on a canvas: a trigger starts the workflow, and each node after it does one job. In this tutorial you build one real workflow without code: a contact form that saves every lead to Google Sheets and emails them a thank-you.
Here is what you are about to build:
Form
A visitor leaves their name, email and message
Google Sheets
The lead is saved as a new row
Gmail
The lead gets a personal thank-you email
What you need before you start
- An n8n account. The n8n Cloud trial gives you 14 days of Pro features, and n8n's pricing page says no credit card is needed.
- A Google account with Gmail and Google Sheets.
- A new Google Sheet called "Website leads", with these four headers in row 1: Date, Name, Email, Message.
days of Pro features
executions included
runs at the same time (concurrent executions)
seconds maximum per run
From the n8n pricing page and trial docs, checked October 18, 2026.
Cloud or self-hosted: which to use for this tutorial
n8n also runs on your own computer or server for free. For a first workflow, the cloud is easier, for two reasons you will feel straight away:
| n8n Cloud trial | Self-hosted on your computer | |
|---|---|---|
| Setup | Sign up in the browser | Install Docker, then run one command |
| Google sign-in | One click with "Sign in with Google" | Create your own OAuth app in Google Cloud Console |
| Visitors can reach your form | Yes | No |
| Cost | Free for 14 days, then a paid plan | Free software, plus any server you rent |
| Good for this tutorial | Yes | Partial |
On n8n Cloud, Google's nodes use managed sign-in, so you click a button instead of creating a Google Cloud project. Self-hosted instances don't get that shortcut.
If you still want to self-host, n8n's one-line setup needs Docker Desktop installed and running. On a Mac or Linux, open Terminal and run:
curl -fsSL https://get.n8n.io | sh
Then open http://localhost:5678 in your browser. On Windows, PowerShell can't run this script: run it inside WSL (Windows Subsystem for Linux) with Docker Desktop's WSL 2 integration turned on.
Step 1: Create the workflow
- Log in to n8n and select Personal in the left menu.
- Select Create workflow at the top right. The canvas opens.
- Rename it by selecting the name at the top. Call it "Website leads".
Step 2: Add the form trigger
- Select Add first step, search for "form" and choose the n8n Form trigger.
- Form Title: type "Get a quote". It appears as the heading of your form.
- Form Elements: add three fields. Name (type Text, field name
name, required), Email (type Email, field nameemail, required) and Message (type Textarea, field namemessage). - Respond When: choose Form Is Submitted, so visitors see a thank-you right away.
- Options: add Ignore Bots and turn it on, then add Append n8n Attribution and turn it off.
- Rename the node "Lead form" by selecting its name at the top left. You will refer to it by name in Step 5.
Step 3: Send yourself a test lead
Select Execute workflow. n8n opens the form on its Test URL; fill it in with your own details and submit.
Back in the editor, open the Lead form node. The output shows your name, email and message, plus a submittedAt timestamp that n8n adds for you.
Step 4: Save the lead to Google Sheets
- Select the + after Lead form, search for "Google Sheets" and choose the Append Row action.
- Connect your account: create a new credential and select Sign in with Google.
- Pick the file: choose "Website leads" under Document and the first sheet under Sheet.
- Map the columns: set Mapping Column Mode to Map Each Column Manually, then drag
submittedAt,name,emailandmessagefrom the input panel on the left into Date, Name, Email and Message. - Select Execute step and check your sheet. A new row should be there.
When you drop a field in, n8n writes an expression for you, such as {{ $json.email }}. An expression is a placeholder that n8n swaps for the real value on every run.
Step 5: Email the lead
- Select the + after Google Sheets, search for "Gmail" and choose the Send a message action.
- Connect your account with Sign in with Google, as before.
- To: the lead's address. Because the previous node is now Google Sheets, point to the form node by name:
{{ $('Lead form').item.json.email }}. If you type it rather than drag it, set the field to Expression mode first. - Subject and Message: paste the first line below into Subject and the rest into Message, then change the details.
- Options: add Append n8n attribution and turn it off. Add BCC with your own address if you want a copy of every email.
Thanks {{ $('Lead form').item.json.name }}, we got your message
Hi {{ $('Lead form').item.json.name }},
Thanks for getting in touch. We read every message and will reply within one working day.
[YOUR NAME]Step 6: Test the whole workflow
Select Execute workflow again and submit the form with a second test lead. Check two things: a new row in the sheet, and the thank-you email in that inbox.
If either is missing, open each node on the canvas. The step with a red warning shows the error, and the output panel shows exactly what data it received.
Step 7: Publish and share the production form
- Copy the Production URL: open Lead form and switch the URL view at the top of the node from Test URL to Production URL.
- Select Publish in the canvas header (or press Shift + P), give the version a name and confirm. The publishing docs explain the button's states.
- Share it: put the production link behind a "Get a quote" button on your website or in your social bio.
From now on, every real submission is one production execution. Edits you make later stay in draft until you publish again.
Optional: let n8n Assistant build it for you
n8n Cloud includes n8n Assistant, an AI helper in preview that builds workflows from a description, with a monthly allowance of Assistant credits. Once you have built this workflow by hand, try describing the next one instead:
Build a workflow that starts with an n8n Form trigger titled "[FORM TITLE]" with three required fields: name (text), email (email) and message (textarea).
Append each submission as a new row to the Google Sheet "[SHEET NAME]" with the columns Date, Name, Email and Message.
Then send the person a thank-you email from Gmail that uses their first name and says we will reply within [TIME].
Turn off the n8n attribution on the form and in the email.Common mistakes and how to fix them
| What you see | Why it happens | Fix |
|---|---|---|
| The form works in testing but not on your site | You shared the Test URL, or the workflow isn't published | Use the Production URL and select Publish |
| Your latest changes don't show up for visitors | Visitors get the published version | Publish again after you edit |
| A column stays empty in the sheet | The row 1 header is spelled differently, or the field isn't mapped | Fix the header, then check the mapping |
| The email goes to the wrong address or none | The expression points at the wrong node | Reference the form node by name, as in Step 5 |
| Emails end with "This email was sent automatically with n8n" | That attribution is on by default | Turn off Append n8n attribution |
| Empty submissions arrive from nowhere | Bots and link previews open the form | Turn on Ignore Bots in the form options |
| Self-hosted: Gmail says 401 unauthorized | The Gmail API isn't enabled in your Google Cloud project | Enable it under APIs & Services, then Library |
| Self-hosted: Google Sheets won't connect | Sheets also needs the Google Drive API | Enable both APIs in the same project |
Before you share the link
0 of 5 done
Once this runs, the natural upgrade is an AI step that drafts a personal reply for you to approve, which the n8n AI agent tutorial covers. Before you pick a paid plan, check what n8n really costs at your volume.
Quick check0 of 2 correct
Your form works when you test it, but submissions from your website never arrive. What is the most likely cause?
Not quite.
The Test URL only listens while you test in the editor. Visitors need the Production URL of a published workflow.
Do your test runs in the editor count toward your n8n plan's execution limit?
Not quite.
n8n counts runs started by triggers in published workflows. Manual runs while you build are free.
What to do next
Publish this workflow today and send yourself a real submission from your phone. Then add one improvement at a time, such as a reply you approve before it is sent, or a follow-up after three days.
If you would like a guided path through lead and email automations like this one, our AI automation course is in early access. To see how n8n compares with the alternatives first, read n8n vs Zapier vs Make.
5 workflows to build next in n8n, node by node
Five follow-up builds for your lead workflow, from an approval step to a weekly digest, each with the exact nodes, settings and a test to run.
Enter your email and the full section opens right here. You also get a free lesson from the course.
Frequently asked questions
Is n8n hard to learn if I don't code?
The basics are not: you connect nodes and drag fields from one step to the next, exactly as in this tutorial. Expressions and the way data moves between nodes take a few workflows to feel natural.
Can I use n8n without Google?
Yes. n8n has built-in data tables for storing rows and a Send Email node that works with any email account that supports SMTP, so you can swap out Google Sheets and Gmail.
Where does n8n keep my form submissions?
In your Google Sheet, and in the execution log of each run. On n8n Cloud the log is kept for a limited time that depends on your plan: 7 days on Starter and 30 days on Pro.
Can I embed the n8n form on my website?
The form trigger gives you a hosted page, so the simplest route is a button that links to its production URL. You can restyle it with custom CSS in the node options, prefill fields with URL parameters, or send your own website form to a Webhook node instead.
What happens to my workflows when the n8n Cloud trial ends?
If you don't upgrade, the trial expires and n8n deletes the workspace, but you can still download your workflows for 90 days. To be safe, download them before the trial ends.
Keep reading
n8n Pricing in 2026: Every Plan and What You Really Pay
n8n pricing explained for October 2026: every Cloud plan, how executions are counted, what self-hosting really costs and which plan fits your business size.
Automation and agents · 7 min readn8n AI Agent Tutorial: Build a Chat Agent Step by Step
Build an n8n AI agent step by step: chat trigger, AI Agent node, chat model, memory and tools, plus human approval, testing and publishing on n8n 2.x.
Automation and agents · 10 min readn8n vs Zapier vs Make: Which Automation Tool Fits You?
n8n vs Zapier vs Make compared with real pricing math, hosting, AI features and learning curve, plus a choose-by-situation table to pick the right tool.
Automation and agents · 7 min read