This workflow corresponds to n8n.io template #6720 — we link there as the canonical source.
This workflow follows the Gmail → Google Drive 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 →
{
"id": "WW0Ek1PPPTDbvHVb",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Automated Lead Capture, AI Qualification & Personalized Audio Follow-up with ElevenLabs",
"tags": [],
"nodes": [
{
"id": "d3ffb26d-fcec-465a-88dc-aaf442edd83a",
"name": "New Lead Captured",
"type": "n8n-nodes-base.webhook",
"position": [
0,
-448
],
"parameters": {},
"typeVersion": 2
},
{
"id": "38020ecd-c026-4d92-9f8c-810beb66a894",
"name": "Extract & Clean Lead Data",
"type": "n8n-nodes-base.set",
"position": [
224,
-448
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "80cfc05f-7bd0-4de2-a3c3-4895a7f2b87d",
"name": "AI Qualification & Summary",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
448,
-448
],
"parameters": {},
"typeVersion": 1.8
},
{
"id": "4ab5b06f-09f5-4323-8732-a4fe73c4b425",
"name": "Parse AI Qualification",
"type": "n8n-nodes-base.set",
"position": [
848,
-448
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "c2739e93-f38d-4e27-8b9f-e1e6b9bbb00e",
"name": "Is Lead Qualified?",
"type": "n8n-nodes-base.if",
"position": [
1072,
-448
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "96712f66-e70b-4c5d-9472-c9c566ff9948",
"name": "Craft Personalized Audio Text",
"type": "n8n-nodes-base.code",
"position": [
0,
-80
],
"parameters": {},
"typeVersion": 2
},
{
"id": "cf55d67e-5a32-4c14-a875-1108b881443a",
"name": "Generate Personalized Audio",
"type": "@elevenlabs/n8n-nodes-elevenlabs.elevenLabs",
"position": [
224,
-80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1c05fba7-f0f4-4aa3-8d88-abd96952399d",
"name": "Upload Personalized Audio",
"type": "n8n-nodes-base.googleDrive",
"position": [
448,
-80
],
"parameters": {},
"typeVersion": 3
},
{
"id": "3eb45ab7-88c2-4f15-94f8-dca9e265f2a9",
"name": "Store Personalized Audio Link",
"type": "n8n-nodes-base.set",
"position": [
672,
-80
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "a49e712d-b7af-463c-a377-7e16ea723493",
"name": "Check CRM for Duplicate Lead",
"type": "n8n-nodes-base.httpRequest",
"position": [
896,
-80
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "d6377fde-0146-4cd7-94a0-672810309355",
"name": "Is Lead a Duplicate?",
"type": "n8n-nodes-base.if",
"position": [
0,
400
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "d8525203-5676-4b35-b226-3889c0fbc1e5",
"name": "Create Lead in CRM",
"type": "n8n-nodes-base.httpRequest",
"position": [
224,
496
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "8200d6a8-3ee2-4ecd-866c-409403c9fc22",
"name": "Update Lead in CRM",
"type": "n8n-nodes-base.httpRequest",
"position": [
224,
304
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "5b63917c-18a6-4d9d-a5fa-037e4e8cc913",
"name": "CRM Result",
"type": "n8n-nodes-base.merge",
"position": [
448,
400
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "415196ec-9115-48e5-a765-ad2c515b33da",
"name": "Send Personalized Follow-up",
"type": "n8n-nodes-base.gmail",
"position": [
672,
400
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "ad952780-3fb0-476c-a5d8-9ab10de95f61",
"name": "Notify Sales Team",
"type": "n8n-nodes-base.slack",
"position": [
896,
400
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "a5fd37ee-e111-4892-800f-38a1152702d3",
"name": "Log Lead Data",
"type": "n8n-nodes-base.googleSheets",
"notes": "Values: \n\nTimestamp: ={{ new Date().toISOString() }}\n\nLead Name: ={{ $json.leadName }}\n\nLead Email: ={{ $json.leadEmail }}\n\nLead Phone: ={{ $json.leadPhone }}\n\nLead Message: ={{ $json.leadMessage }}\n\nAI Qualification: ={{ $json.aiQualification }}\n\nAI Summary: ={{ $json.aiSummary }}\n\nIs Qualified: ={{ $json.aiIsQualified }}\n\nPersonalized Audio URL: ={{ $json.personalizedAudioUrl || 'N/A' }} (Will be N/A for unqualified leads)\n\nCRM Status: ={{ $json.crmStatus || 'Not Processed' }} (You can set this after CRM integration)\n\nFollow-up Sent: ={{ $json.emailSent || 'No' }} (You can set a flag after email node)\n\nStatus (Success/Error): Success",
"position": [
1120,
496
],
"parameters": {},
"notesInFlow": true,
"typeVersion": 4.6
},
{
"id": "9eccd3fc-ea8c-4b3c-b80f-e02a53066e44",
"name": "Mark Lead as Unqualified",
"type": "n8n-nodes-base.set",
"position": [
896,
672
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "b1899956-cfa7-4112-a4c0-5a7b442ef90d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-560
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ff4bf564-afea-4e2a-a5d0-5899e1b99e17",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-176
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "28f12b65-955f-40ad-8843-fada4b7c8de6",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
240
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "4eccaac1-5cab-4be6-8802-001e1e66d37e",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1360,
-560
],
"parameters": {
"content": ""
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "83add16c-af22-4592-b925-0380c68604fc",
"connections": {
"CRM Result": {
"main": [
[
{
"node": "Send Personalized Follow-up",
"type": "main",
"index": 0
}
]
]
},
"New Lead Captured": {
"main": [
[
{
"node": "Extract & Clean Lead Data",
"type": "main",
"index": 0
}
]
]
},
"Notify Sales Team": {
"main": [
[
{
"node": "Log Lead Data",
"type": "main",
"index": 0
}
]
]
},
"Create Lead in CRM": {
"main": [
[
{
"node": "CRM Result",
"type": "main",
"index": 1
}
]
]
},
"Is Lead Qualified?": {
"main": [
[
{
"node": "Craft Personalized Audio Text",
"type": "main",
"index": 0
}
],
[
{
"node": "Mark Lead as Unqualified",
"type": "main",
"index": 0
}
]
]
},
"Update Lead in CRM": {
"main": [
[
{
"node": "CRM Result",
"type": "main",
"index": 0
}
]
]
},
"Is Lead a Duplicate?": {
"main": [
[
{
"node": "Update Lead in CRM",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Lead in CRM",
"type": "main",
"index": 0
}
]
]
},
"Parse AI Qualification": {
"main": [
[
{
"node": "Is Lead Qualified?",
"type": "main",
"index": 0
}
]
]
},
"Mark Lead as Unqualified": {
"main": [
[
{
"node": "Log Lead Data",
"type": "main",
"index": 0
}
]
]
},
"Extract & Clean Lead Data": {
"main": [
[
{
"node": "AI Qualification & Summary",
"type": "main",
"index": 0
}
]
]
},
"Upload Personalized Audio": {
"main": [
[
{
"node": "Store Personalized Audio Link",
"type": "main",
"index": 0
}
]
]
},
"AI Qualification & Summary": {
"main": [
[
{
"node": "Parse AI Qualification",
"type": "main",
"index": 0
}
]
]
},
"Generate Personalized Audio": {
"main": [
[
{
"node": "Upload Personalized Audio",
"type": "main",
"index": 0
}
]
]
},
"Send Personalized Follow-up": {
"main": [
[
{
"node": "Notify Sales Team",
"type": "main",
"index": 0
}
]
]
},
"Check CRM for Duplicate Lead": {
"main": [
[
{
"node": "Is Lead a Duplicate?",
"type": "main",
"index": 0
}
]
]
},
"Craft Personalized Audio Text": {
"main": [
[
{
"node": "Generate Personalized Audio",
"type": "main",
"index": 0
}
]
]
},
"Store Personalized Audio Link": {
"main": [
[
{
"node": "Check CRM for Duplicate Lead",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This system meticulously guides each lead through a fully automated journey, from initial contact to a personalized follow-up and CRM integration.
Source: https://n8n.io/workflows/6720/ — 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 workflow captures new leads via webhook, enriches and scores them with Apollo and Google Gemini, logs everything in Google Sheets, and automates outreach, reply handling, follow-ups, meeting prep
Overview
Transform your webinar registrations from basic form submissions into a verified, personalized, and premium attendee experience.
This workflow automates the initial screening process for new job applications, freeing up your recruitment team to focus on qualified candidates. It receives applications from a webhook, uses OpenAI
A smart, fully automated coding pipeline built inside n8n that leverages Cursor AI to write, refactor, review, and optimize code projects — triggered by a webhook, schedule, or manual prompt. Every ou