Capture Every New Lead Automatically Into Google Sheets
Instantly log every new lead from any web form or CRM into a Google Sheet the moment it arrives. No manual data entry, no missed leads — your sales team always has an up-to-date list.
- 1
Set up the Webhook trigger to receive leads
Add a
Webhooknode as the first node. SetHTTP Methodto POST. Copy the generated webhook URL — you will paste this into your lead form, landing page tool (e.g. Typeform, Unbounce), or CRM webhook settings. The node listens for incoming lead payloads in real time. - 2
Extract and clean the lead fields
Add a
Setnode after the Webhook. Create four fields:namemapped to{{ $json.body.name }},emailmapped to{{ $json.body.email }},phonemapped to{{ $json.body.phone }}, andsourcemapped to{{ $json.body.source }}. Adjust the field paths to match whatever keys your form sends. This step standardises the data before it reaches Sheets. - 3
Check that the email field is not empty
Add an
IFnode. Set the condition:{{ $json.email }}is not empty. Route the TRUE branch onward. The FALSE branch can be left unconnected to silently discard incomplete submissions. This prevents blank rows from cluttering your Sheet. - 4
Append the lead as a new row in Google Sheets
Add a
Google Sheetsnode on the TRUE branch. SetOperationtoAppend. Choose yourSpreadsheetand theSheettab where leads should go. Map the columns: Column A to{{ $json.name }}, Column B to{{ $json.email }}, Column C to{{ $json.phone }}, Column D to{{ $json.source }}. Add aTimestampcolumn mapped to{{ $now }}if you want arrival time recorded. Connect your Google account via OAuth2 in the credentials panel.
Frequently asked questions
Which form builders work with this webhook?
Any tool that can send a webhook POST request works — including Typeform, Tally, Webflow Forms, Unbounce, HubSpot, and custom HTML forms. Just paste the n8n webhook URL into the tool's webhook or integration settings.
How do I make sure the column names in my Sheet match?
Create a header row in your Google Sheet manually (Row 1) with the exact column names you want: Name, Email, Phone, Source, Timestamp. The Google Sheets node will append data starting from Row 2 automatically.
Can I add a notification to Slack or email when a new lead arrives?
Yes. After the Google Sheets node, add a fifth node such as `Gmail` or `Slack` to send an alert. Keep it simple — send the lead's name and email in the message body so your sales rep can follow up immediately.