This workflow follows the Emailsend → Google Sheets recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "AI Lead Scoring & Qualification System",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "new-lead",
"responseMode": "responseNode",
"options": {}
},
"id": "ls1a2b3c-1111-2222-3333-444455556666",
"name": "Lead Webhook",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
250,
300
]
},
{
"parameters": {
"url": "=https://person.clearbit.com/v2/people/find?email={{ $json.email }}",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_CLEARBIT_API_KEY"
}
]
}
},
"id": "ls2b3c4d-2222-3333-4444-555566667777",
"name": "Enrich Lead Data",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
480,
300
]
},
{
"parameters": {
"modelId": {
"__rl": true,
"value": "gpt-4",
"mode": "id"
},
"messages": {
"values": [
{
"content": "=Analyze this lead and provide a comprehensive scoring:\n\nLead Info:\n- Name: {{ $json.name || 'Unknown' }}\n- Email: {{ $json.email }}\n- Company: {{ $json.company || 'Unknown' }}\n- Industry: {{ $json.enrichment?.company?.category?.industry || 'Unknown' }}\n- Company Size: {{ $json.enrichment?.company?.metrics?.employees || 'Unknown' }}\n- Message: {{ $json.message }}\n\nReturn JSON with:\n- fit_score (0-100): How well this lead matches our ideal customer profile\n- intent_score (0-100): How likely they are to buy based on their message\n- engagement_score (0-100): Level of engagement shown\n- overall_score (0-100): Weighted average\n- lead_grade (A, B, C, D): Based on overall score\n- recommended_action (immediate_call, email_sequence, nurture, discard)\n- key_strengths (array)\n- concerns (array)\n\nReturn only JSON."
}
]
},
"options": {
"temperature": 0.3
}
},
"id": "ls3c4d5e-3333-4444-5555-666677778888",
"name": "AI Lead Scoring",
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.3,
"position": [
710,
300
]
},
{
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ JSON.parse($json.message.content).overall_score }}",
"value2": 80,
"operation": "largerEqual"
}
]
}
},
"id": "ls4d5e6f-4444-5555-6666-777788889999",
"name": "Check Hot Lead",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
940,
300
]
},
{
"parameters": {
"channel": "#hot-leads",
"text": "=\ud83d\udd25 HOT LEAD ALERT!\n\nScore: {{ JSON.parse($('AI Lead Scoring').item.json.message.content).overall_score }}/100\nGrade: {{ JSON.parse($('AI Lead Scoring').item.json.message.content).lead_grade }}\n\nLead: {{ $('Lead Webhook').item.json.name }}\nEmail: {{ $('Lead Webhook').item.json.email }}\nCompany: {{ $('Lead Webhook').item.json.company }}\n\nRecommended Action: {{ JSON.parse($('AI Lead Scoring').item.json.message.content).recommended_action }}\n\n\u26a1 Call this lead IMMEDIATELY!",
"additionalFields": {
"parse_mode": "Markdown"
}
},
"id": "ls5e6f7a-5555-6666-7777-888899990000",
"name": "Slack Hot Lead Alert",
"type": "n8n-nodes-base.slack",
"typeVersion": 2.1,
"position": [
1170,
200
]
},
{
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ JSON.parse($json.message.content).overall_score }}",
"value2": 50,
"operation": "largerEqual"
}
]
}
},
"id": "ls6f7a8b-6666-7777-8888-999900001111",
"name": "Check Warm Lead",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
1170,
400
]
},
{
"parameters": {
"fromEmail": "sales@yourcompany.com",
"toEmail": "={{ $('Lead Webhook').item.json.email }}",
"subject": "=Thanks for your interest! Let's talk",
"emailType": "text",
"message": "=Hi {{ $('Lead Webhook').item.json.name }},\n\nThank you for reaching out! We're excited to learn more about your needs.\n\nA member of our sales team will contact you within 24 hours to schedule a personalized demo.\n\nIn the meantime, feel free to check out our resources: [link]\n\nBest regards,\nSales Team",
"options": {}
},
"id": "ls7a8b9c-7777-8888-9999-000011112222",
"name": "Send Personal Email",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2,
"position": [
1400,
200
]
},
{
"parameters": {
"fromEmail": "marketing@yourcompany.com",
"toEmail": "={{ $('Lead Webhook').item.json.email }}",
"subject": "=Welcome! Here's something valuable for you",
"emailType": "text",
"message": "=Hi {{ $('Lead Webhook').item.json.name }},\n\nThanks for your interest in our solution!\n\nWe've put together some resources that might help:\n- Blog post: [link]\n- Case study: [link]\n- Free trial: [link]\n\nWe'll be in touch soon with more personalized content.\n\nBest,\nMarketing Team",
"options": {}
},
"id": "ls8b9c0d-8888-9999-0000-111122223333",
"name": "Send Nurture Email",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2,
"position": [
1400,
400
]
},
{
"parameters": {
"fromEmail": "noreply@yourcompany.com",
"toEmail": "={{ $('Lead Webhook').item.json.email }}",
"subject": "=Thank you for contacting us",
"emailType": "text",
"message": "=Hello,\n\nThank you for reaching out. We've received your message and will review it.\n\nIf your needs match our solutions, we'll get back to you soon.\n\nBest regards",
"options": {}
},
"id": "ls9c0d1e-9999-0000-1111-222233334444",
"name": "Send Generic Email",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2,
"position": [
1400,
600
]
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "YOUR_GOOGLE_SHEET_ID",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Leads",
"mode": "name"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"timestamp": "={{ $now.toISO() }}",
"name": "={{ $('Lead Webhook').item.json.name }}",
"email": "={{ $('Lead Webhook').item.json.email }}",
"company": "={{ $('Lead Webhook').item.json.company }}",
"industry": "={{ $('Enrich Lead Data').item.json.enrichment?.company?.category?.industry || 'Unknown' }}",
"company_size": "={{ $('Enrich Lead Data').item.json.enrichment?.company?.metrics?.employees || 'Unknown' }}",
"message": "={{ $('Lead Webhook').item.json.message }}",
"fit_score": "={{ JSON.parse($('AI Lead Scoring').item.json.message.content).fit_score }}",
"intent_score": "={{ JSON.parse($('AI Lead Scoring').item.json.message.content).intent_score }}",
"engagement_score": "={{ JSON.parse($('AI Lead Scoring').item.json.message.content).engagement_score }}",
"overall_score": "={{ JSON.parse($('AI Lead Scoring').item.json.message.content).overall_score }}",
"lead_grade": "={{ JSON.parse($('AI Lead Scoring').item.json.message.content).lead_grade }}",
"recommended_action": "={{ JSON.parse($('AI Lead Scoring').item.json.message.content).recommended_action }}",
"status": "={{ $('Check Hot Lead').item.json ? 'Hot - Immediate Action' : $('Check Warm Lead').item.json ? 'Warm - Nurturing' : 'Cold - General' }}",
"assigned_to": "=Auto-assigned based on region"
},
"schema": []
},
"options": {}
},
"id": "ls0d1e2f-0000-1111-2222-333344445555",
"name": "Save to CRM",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4,
"position": [
1630,
400
]
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={\"status\": \"success\", \"lead_id\": \"{{ $now.toMillis() }}\", \"overall_score\": \"{{ JSON.parse($('AI Lead Scoring').item.json.message.content).overall_score }}\", \"lead_grade\": \"{{ JSON.parse($('AI Lead Scoring').item.json.message.content).lead_grade }}\", \"recommended_action\": \"{{ JSON.parse($('AI Lead Scoring').item.json.message.content).recommended_action }}\", \"message\": \"Lead processed and scored successfully\"}",
"options": {}
},
"id": "ls1e2f3a-1111-2222-3333-444455556666",
"name": "Respond to Webhook",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
1860,
400
]
}
],
"connections": {
"Lead Webhook": {
"main": [
[
{
"node": "Enrich Lead Data",
"type": "main",
"index": 0
}
]
]
},
"Enrich Lead Data": {
"main": [
[
{
"node": "AI Lead Scoring",
"type": "main",
"index": 0
}
]
]
},
"AI Lead Scoring": {
"main": [
[
{
"node": "Check Hot Lead",
"type": "main",
"index": 0
}
]
]
},
"Check Hot Lead": {
"main": [
[
{
"node": "Slack Hot Lead Alert",
"type": "main",
"index": 0
}
],
[
{
"node": "Check Warm Lead",
"type": "main",
"index": 0
}
]
]
},
"Check Warm Lead": {
"main": [
[
{
"node": "Send Nurture Email",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Generic Email",
"type": "main",
"index": 0
}
]
]
},
"Slack Hot Lead Alert": {
"main": [
[
{
"node": "Send Personal Email",
"type": "main",
"index": 0
}
]
]
},
"Send Personal Email": {
"main": [
[
{
"node": "Save to CRM",
"type": "main",
"index": 0
}
]
]
},
"Send Nurture Email": {
"main": [
[
{
"node": "Save to CRM",
"type": "main",
"index": 0
}
]
]
},
"Send Generic Email": {
"main": [
[
{
"node": "Save to CRM",
"type": "main",
"index": 0
}
]
]
},
"Save to CRM": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
AI Lead Scoring & Qualification System. Uses httpRequest, openAi, slack, emailSend. Webhook trigger; 11 nodes.
Source: https://github.com/kooroosh1363/agentic-automation-lab/blob/main/08-lead-scoring/workflow.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La
Stop treating document review as a manual task. Let AI extract, classify, and route every contract, invoice, and NDA automatically.
This workflow provides real-time detection of ransomware encryption patterns using Claude AI, with automated system isolation and incident response. File System Monitoring - Continuously monitors file
Law firms in corporate, litigation, or family law needing streamlined case and contract management.
Automates fraud risk detection for financial transactions by analyzing real-time webhook events through AI-powered scoring. Target audience: fintech companies, payment processors, and banking teams pr