Project Name:
Lead Qualification System in N8N
Tools Used
n8n – for scoring, routing, and CRM update logic
Slack/Google Sheets – for storing/updating lead records
- Optional: OpenAI API for scoring assistance or enrichment
Flow Overview
Webhook - Capture incoming form submission data via webhook
Data Parsing - Extract and normalize fields from raw form data
Lead Scoring - Apply simple logic to score leads based on completeness
If Qualified - Filter out unqualified leads (e.g. score threshold)
Slack Notification (optional) - Notify team of new qualified lead
Google Sheets Append - Save qualified lead data to Google Sheets
Step 1: Set up the Webhook
Create a Webhook node in n8n
Copy the webhook URL generated (e.g.,
https://your-n8n-domain/webhook/lead-form
)Configure your form tool (Tally, Jotform, etc.) to POST submissions to this URL
Set method to POST
Test submitting a form and ensure n8n receives the payload
Step 2: Parse Form Data
Add a Function or Code node after the webhook to normalize data
Use this JavaScript snippet to extract fields by label or key:
Step 3: Lead Scoring
Add another Function node to score the lead
Example logic:
Step 4: Filter Qualified Leads
Add an If node
Condition: {{$json["qualified"]}} equals true
This routes only qualified leads to the next steps
Step 5: Slack Notification
Use a Slack node to send a message to your sales team
Message example:
New qualified lead: {{$json.name}} ({{$json.email}})
Step 6: Append to Google Sheets
Sdd Google Sheets node with action Append
Select your spreadsheet and worksheet (e.g., 'Sheet 1')
For Range, use expression:
'Sheet 1'!A:C
Map fields (columns):
Column A → {{$json.name}}
Column B → {{$json.email}}
Column C → {{$json.score}}.