🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 21, 2026

Website forms to Google Sheets, leads logged clean

Lisa Granqvist Partner Workflow Automation Expert

Your leads are coming in, but they’re landing in the wrong place. A messy inbox. A half-working CRM. A note on someone’s desk. Then someone forgets to log them, or logs them wrong, and the follow-up never happens.

This form to Sheets setup hits marketing managers first (because lead reporting gets awkward fast). Sales reps feel it too. So do small agency owners trying to keep client inquiries from slipping through the cracks.

This workflow captures each website form submission via webhook and writes it into Google Sheets automatically. You’ll see what it fixes, what it needs, and how to make it fit your process.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Website forms to Google Sheets, leads logged clean

The Problem: Form Leads Get Lost Between “Submitted” and “Followed Up”

Website forms are supposed to be the easy part. Someone raises their hand, you respond, deal done. In reality, form notifications come in at the worst time, get buried in email threads, and rely on someone remembering to copy the details into a spreadsheet “later.” Later turns into tomorrow. Tomorrow turns into “Who owned that lead again?” Meanwhile, you’re making decisions with incomplete numbers because half the leads never made it into the sheet you use for reporting. Honestly, it’s exhausting for something that should be automatic.

It’s rarely one big failure. It’s the accumulation of small misses that creates the leak.

  • Form submissions often arrive as unstructured emails, which means names, phones, and notes get copied into the wrong columns.
  • When more than one person checks the inbox, two people can reply to the same lead while another lead gets zero response.
  • Sales “updates” the spreadsheet after calls, but the original submission never gets logged, so your funnel metrics stay unreliable.
  • One busy week can create a backlog of manual entry that takes about 2 hours to catch up on.

The Solution: Send Every Form Submission Straight Into Google Sheets

This workflow does one job, and it does it well. The moment a visitor submits your website form, n8n receives the submission through an incoming webhook (a secure URL your form can send data to). From there, n8n takes the fields you care about (name, email, phone, message, page URL, and any custom questions) and writes them into a Google Sheets spreadsheet as a new row. That becomes your single, consistent log of leads, updated in real time. No copying. No “did you add this one?” Slack messages. Your sheet stays clean because the same structure is used every time, not whatever someone happened to paste in.

The workflow starts when your site posts form data to the webhook URL. n8n immediately maps the submission to your spreadsheet columns. Finally, Google Sheets updates your lead log so the whole team sees the same list.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you get 20 leads a week across your contact form and a demo request form. Manually logging each one takes maybe 5 minutes (open email, copy details, paste, format, double-check), so that’s about 2 hours weekly. With this workflow, the “work” is basically zero: the lead submits the form, n8n catches it immediately, and Google Sheets updates in seconds. You still follow up like normal, but the logging is done for you.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for a shared lead log.
  • Your website form tool to send submissions to a webhook URL.
  • Google account access (authorize Google Sheets inside n8n).

Skill level: Beginner. You will paste a webhook URL into your form tool and match a few fields to spreadsheet columns.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

Form submission triggers the workflow. Your form tool sends the submission to n8n’s incoming webhook URL as soon as someone clicks submit.

The submission data gets organized. n8n reads the incoming fields (like name, email, message, and hidden fields such as page or campaign) and prepares them for a clean spreadsheet row.

Google Sheets is updated automatically. The workflow writes a new row into your chosen sheet, in the column order you define, so your lead list stays consistent.

Your team uses the sheet as the source of truth. Sales can filter, assign owners, and mark statuses. Marketing can report on volume and quality without chasing people for missing entries.

You can easily modify the columns captured to include things like UTM tags or form source based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

Set up the webhook endpoint that receives incoming data for the workflow.

  1. Add the Incoming Webhook Trigger node to your workflow.
  2. Set the Path to webhook.
  3. Set Response Data to allEntries.
  4. Set Response Mode to lastNode.

Step 2: Connect Google Sheets

Connect the Google Sheets integration to allow writing webhook data into a spreadsheet.

  1. Select the Spreadsheet Update Task node.
  2. Credential Required: Connect your googleApi credentials.

Step 3: Configure Spreadsheet Output

Define where the incoming webhook data should be written inside Google Sheets.

  1. In Spreadsheet Update Task, set Sheet ID to 17fzSFl1BZ1njldTfp5lvh8HtS0-pNXH66b7qGZIiGRU.
  2. Set the Range to Problems!A:D.
  3. Ensure Incoming Webhook Trigger is connected to Spreadsheet Update Task so data flows in order.

Step 4: Test and Activate Your Workflow

Verify the end-to-end webhook capture and spreadsheet update before enabling production use.

  1. Click Execute Workflow and send a test request to the Incoming Webhook Trigger URL.
  2. Confirm a new row appears in the Problems!A:D range of your Google Sheet.
  3. Once verified, toggle the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the Google connection in n8n’s Credentials page first.
  • If your form tool retries webhooks on slow responses, you can end up with duplicate rows. Check the form tool’s webhook logs and consider adding a unique lead ID column in Sheets.
  • Webhook payload field names vary by platform, so mapping can look “right” but still insert blank cells. Test with a real submission and confirm the incoming JSON in the webhook node.

Frequently Asked Questions

How long does it take to set up this form to Sheets automation?

About 30 minutes if you already have the form and spreadsheet.

Do I need coding skills to automate form to Sheets?

No. You’ll paste a webhook URL into your form tool and map a few fields to Google Sheets columns.

Is n8n free to use for this form to Sheets workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. For this workflow, Google Sheets itself is typically free unless you’re on a paid Google Workspace plan.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this form to Sheets workflow for adding UTM fields?

Yes, but you’ll need your form to send those values. Most teams add hidden fields (utm_source, utm_campaign, landing_page) in the form tool, then map them in n8n’s Incoming Webhook Trigger and write them to new columns in the Spreadsheet Update Task.

Why is my Google Sheets connection failing in this workflow?

Usually it’s expired Google authorization or the sheet permissions changed. Reconnect the Google Sheets credential in n8n, then confirm the spreadsheet is shared with the same Google account you authorized. If it still fails, the sheet may have been moved to a different Drive, or the tab name changed and the node is pointing at the old one.

How many submissions can this form to Sheets automation handle?

A lot.

Is this form to Sheets automation better than using Zapier or Make?

It depends on what you’re optimizing for. Zapier and Make can be quicker for a simple two-step “form → sheet” setup, especially if your form tool has a native connector. n8n is usually the better long-term pick when you want more control (filtering, branching, enrichment, deduping) without paying more for every extra step. It also gives you a self-hosting path, which matters when volume grows. If you’re unsure, Talk to an automation expert and get a recommendation based on your lead flow.

Once your form submissions hit Google Sheets automatically, the “did we log that?” problem disappears. Set it up once, and your lead tracking stays clean in the background.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal