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}}.