Capture automatisée des prospects, notation et intégration CRM basée sur HubSpot, Clearbit et Slack
Ceci est unLead Generation, Multimodal AIworkflow d'automatisation du domainecontenant 22 nœuds.Utilise principalement des nœuds comme If, Code, Merge, Slack, Hubspot. Capture automatisée des prospects, scoring et intégration CRM avec HubSpot, Clearbit et Slack
- •Token Bot Slack ou URL Webhook
- •Clé API HubSpot
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
Nœuds utilisés (22)
Catégorie
{
"meta": {
"instanceId": "5a648bd3f759c69d3a1e71a0e47ad1046af7ce76a6f331a86cd6058d8a6372fa",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "fb029ad8-8110-4407-8a54-614bcbafddd8",
"name": "Note - Vue d'ensemble",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1312,
-144
],
"parameters": {
"width": 492,
"height": 464,
"content": "## Lead Capture & Auto-Qualification Workflow\n\n**Purpose:** Automatically capture leads from multiple sources, enrich with company data, qualify based on criteria, and route to appropriate sales actions.\n\n**Security:** Uses environment variables for API keys - no hardcoded credentials!\n\n**Flow:** Webhook → Validation → Enrichment → Qualification → CRM/Notifications"
},
"typeVersion": 1
},
{
"id": "49d3b848-dc51-43cf-b22b-cfb9f8e24c77",
"name": "Capture de Prospect Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-224,
400
],
"webhookId": "lead-capture-hook",
"parameters": {
"path": "lead-capture",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "ad3ce370-da9d-4ba3-ab48-834c2e6bce34",
"name": "Note - Configuration Webhook",
"type": "n8n-nodes-base.stickyNote",
"position": [
-816,
-144
],
"parameters": {
"width": 520,
"height": 460,
"content": "## Webhook Configuration\n\n**Endpoint:** `/lead-capture`\n**Method:** POST\n**Expected Data:**\n- email (required)\n- firstName\n- lastName\n- company\n- phone\n- source\n- message"
},
"typeVersion": 1
},
{
"id": "059a2f3a-dc94-42c6-9273-cbb24ad894e7",
"name": "Valider les Données Prospect",
"type": "n8n-nodes-base.if",
"position": [
0,
400
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "email-validation",
"operator": {
"type": "string",
"operation": "isNotEmpty"
},
"leftValue": "={{ $json.email }}",
"rightValue": ""
},
{
"id": "email-format",
"operator": {
"type": "string",
"operation": "regex"
},
"leftValue": "={{ $json.email }}",
"rightValue": "^[\\w-\\.]+@[\\w-]+\\.[a-zA-Z]{2,}$"
}
]
}
},
"typeVersion": 2
},
{
"id": "c50640e7-bdab-4680-beb4-96e9dd379ebe",
"name": "Note - Validation des Données",
"type": "n8n-nodes-base.stickyNote",
"position": [
-288,
-448
],
"parameters": {
"width": 340,
"height": 408,
"content": "## Data Validation Rules\n\n**Required Fields:**\n- Valid email format\n- Email not empty\n\n**Optional Enhancement:**\n- Phone validation\n- Company name validation\n- Source validation"
},
"typeVersion": 1
},
{
"id": "409667ca-b5ab-4cab-864b-1b468da0ddca",
"name": "Enrichir avec Clearbit",
"type": "n8n-nodes-base.clearbit",
"position": [
224,
208
],
"parameters": {
"email": "={{ $json.email }}",
"resource": "person",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "b16da09c-2e02-4a25-8ffb-fb6d18d44273",
"name": "Note - Enrichissement",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
-448
],
"parameters": {
"width": 344,
"height": 268,
"content": "## Lead Enrichment\n\n**Clearbit provides:**\n- Company size\n- Industry\n- Technologies used\n- Social profiles\n- Location data\n\n**⚠️ Security:** API key stored in credentials, not hardcoded!"
},
"typeVersion": 1
},
{
"id": "c4e3201e-f8f8-42bf-b142-e12a63d6cdd6",
"name": "Enrichir avec Apollo",
"type": "n8n-nodes-base.httpRequest",
"position": [
224,
400
],
"parameters": {
"url": "={{ $env.APOLLO_API_URL }}/v1/people/match",
"options": {},
"sendBody": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "email",
"value": "={{ $json.email }}"
},
{
"name": "first_name",
"value": "={{ $json.firstName }}"
},
{
"name": "last_name",
"value": "={{ $json.lastName }}"
}
]
},
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Cache-Control",
"value": "no-cache"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "dbbb2ca7-c9e1-4a32-8270-fb9bdf328c54",
"name": "Fusionner les Données d'Enrichissement",
"type": "n8n-nodes-base.merge",
"position": [
448,
304
],
"parameters": {},
"typeVersion": 3
},
{
"id": "6c14adc8-bdac-4a21-a1ae-ce9fc61605d1",
"name": "Note - Scoring du Prospect",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-448
],
"parameters": {
"width": 396,
"height": 388,
"content": "## Lead Qualification Criteria\n\n**High Priority (Score 80+):**\n- Company size >500 employees\n- Tech/SaaS industry\n- Manager+ title\n- Enterprise email domain\n\n**Medium Priority (Score 50-79):**\n- Company size 50-500\n- Relevant industry\n- Business email\n\n**Low Priority (<50):**\n- Small company\n- Personal email\n- Irrelevant industry"
},
"typeVersion": 1
},
{
"id": "1318776b-db42-4031-bc8c-5224889da500",
"name": "Calculer le Score du Prospect",
"type": "n8n-nodes-base.code",
"position": [
672,
304
],
"parameters": {
"jsCode": "// Lead Qualification & Scoring Logic\nconst lead = $input.first().json;\nconst enrichment = lead.enrichment_data || {};\n\n// Initialize score\nlet score = 0;\nlet qualificationNotes = [];\n\n// Company Size Scoring\nif (enrichment.company?.metrics?.employees) {\n const employees = enrichment.company.metrics.employees;\n if (employees >= 500) {\n score += 30;\n qualificationNotes.push('Large company (500+ employees)');\n } else if (employees >= 50) {\n score += 20;\n qualificationNotes.push('Medium company (50-500 employees)');\n } else if (employees >= 10) {\n score += 10;\n qualificationNotes.push('Small company (10-50 employees)');\n }\n}\n\n// Industry Scoring\nconst targetIndustries = ['Technology', 'Software', 'SaaS', 'Finance', 'Healthcare'];\nif (enrichment.company?.category?.industry) {\n if (targetIndustries.includes(enrichment.company.category.industry)) {\n score += 25;\n qualificationNotes.push(`Target industry: ${enrichment.company.category.industry}`);\n }\n}\n\n// Title/Role Scoring\nif (enrichment.person?.employment?.title) {\n const title = enrichment.person.employment.title.toLowerCase();\n if (title.includes('ceo') || title.includes('founder') || title.includes('president')) {\n score += 25;\n qualificationNotes.push('C-level executive');\n } else if (title.includes('director') || title.includes('vp') || title.includes('manager')) {\n score += 15;\n qualificationNotes.push('Management level');\n }\n}\n\n// Email Domain Scoring\nconst email = lead.email || '';\nconst domain = email.split('@')[1];\nconst personalDomains = ['gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com'];\nif (!personalDomains.includes(domain)) {\n score += 10;\n qualificationNotes.push('Business email domain');\n} else {\n qualificationNotes.push('Personal email domain');\n}\n\n// Revenue Scoring (if available)\nif (enrichment.company?.metrics?.annualRevenue) {\n const revenue = enrichment.company.metrics.annualRevenue;\n if (revenue >= 10000000) { // $10M+\n score += 20;\n qualificationNotes.push('High revenue company ($10M+)');\n } else if (revenue >= 1000000) { // $1M+\n score += 10;\n qualificationNotes.push('Medium revenue company ($1M+)');\n }\n}\n\n// Determine qualification level\nlet qualificationLevel;\nlet priority;\nif (score >= 80) {\n qualificationLevel = 'High';\n priority = 'Immediate Follow-up';\n} else if (score >= 50) {\n qualificationLevel = 'Medium';\n priority = 'Follow-up within 24h';\n} else if (score >= 25) {\n qualificationLevel = 'Low';\n priority = 'Add to nurture sequence';\n} else {\n qualificationLevel = 'Unqualified';\n priority = 'Archive or reject';\n}\n\n// Return enriched lead data\nreturn {\n ...lead,\n qualification: {\n score: score,\n level: qualificationLevel,\n priority: priority,\n notes: qualificationNotes,\n timestamp: new Date().toISOString()\n },\n enriched_company: enrichment.company || {},\n enriched_person: enrichment.person || {}\n};"
},
"typeVersion": 2
},
{
"id": "2398e080-42c8-405e-a430-f27389b930c8",
"name": "Router par Qualification",
"type": "n8n-nodes-base.if",
"position": [
896,
304
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "high-score",
"operator": {
"type": "number",
"operation": "gte"
},
"leftValue": "={{ $json.qualification.score }}",
"rightValue": 80
}
]
}
},
"typeVersion": 2
},
{
"id": "6490475a-d9bb-43c1-8bbf-3379cfd40754",
"name": "Note - Actions Haute Priorité",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
-448
],
"parameters": {
"width": 392,
"height": 316,
"content": "## High Priority Lead Actions\n\n**Immediate Actions:**\n- Create lead in CRM\n- Notify sales team via Slack\n- Send personalized welcome email\n- Schedule follow-up task\n\n**Data Stored:**\n- All enrichment data\n- Qualification score & notes\n- Source tracking"
},
"typeVersion": 1
},
{
"id": "7a157570-3e7d-4584-81a1-1f2502516843",
"name": "Créer un Contact HubSpot",
"type": "n8n-nodes-base.hubspot",
"position": [
1120,
16
],
"parameters": {
"operation": "create"
},
"typeVersion": 2
},
{
"id": "98170537-d67e-49ee-9819-709a12e29710",
"name": "Notifier l'Équipe Commerciale - Haute Priorité",
"type": "n8n-nodes-base.slack",
"position": [
1120,
208
],
"webhookId": "364aca1f-ce36-4174-8cbd-9ae11535b690",
"parameters": {
"text": "🚨 **High Priority Lead Alert!** 🚨",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $env.SLACK_SALES_CHANNEL_ID }}"
},
"otherOptions": {}
},
"typeVersion": 2.2
},
{
"id": "99245b66-8d64-4b85-b998-892f59b2a2e1",
"name": "Créer un Contact HubSpot - Priorité Moyenne",
"type": "n8n-nodes-base.hubspot",
"position": [
1120,
400
],
"parameters": {
"operation": "create"
},
"typeVersion": 2
},
{
"id": "e1bc4f06-267e-426a-a064-836b448a4403",
"name": "Note - Actions Priorité Moyenne",
"type": "n8n-nodes-base.stickyNote",
"position": [
800,
-128
],
"parameters": {
"width": 392,
"height": 120,
"content": "## Medium/Low Priority Actions\n\n**Medium Priority:**\n- Create lead in CRM\n- Add to nurture sequence\n- Schedule follow-up in 24-48h\n\n**Low Priority:**\n- Add to CRM\n- Add to long-term nurture\n- Monthly check-in"
},
"typeVersion": 1
},
{
"id": "402a9234-f2c2-483f-81df-32629b306d55",
"name": "Notifier le Marketing - Priorité Moyenne",
"type": "n8n-nodes-base.slack",
"position": [
1120,
592
],
"webhookId": "c4c6452c-34e9-4e0c-9fff-4fd93daf81d1",
"parameters": {
"text": "📋 New Medium Priority Lead",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "={{ $env.SLACK_MARKETING_CHANNEL_ID }}"
},
"otherOptions": {}
},
"typeVersion": 2.2
},
{
"id": "63d95fd7-f5ac-4192-9f2b-d35bd0fa1d0b",
"name": "Journaliser les Données Invalides",
"type": "n8n-nodes-base.noOp",
"position": [
224,
592
],
"parameters": {},
"typeVersion": 1
},
{
"id": "9fc03270-9915-46ab-a08c-8ff937119a31",
"name": "Note - Gestion des Erreurs",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
-176
],
"parameters": {
"width": 356,
"height": 120,
"content": "## Error Handling\n\n**Invalid Data Path:**\n- Log the invalid data\n- Send error notification\n- Return 400 status\n\n**Enrichment Failures:**\n- Continue with basic data\n- Log enrichment errors\n- Use fallback scoring"
},
"typeVersion": 1
},
{
"id": "a42f2d44-3eaf-4896-bc04-223fe770bc04",
"name": "Note - Variables d'Environnement",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1328,
320
],
"parameters": {
"width": 524,
"height": 480,
"content": "## Required Environment Variables\n\n**🔐 Security - No Hardcoded Keys!**\n\n- `APOLLO_API_URL`\n- `SLACK_SALES_CHANNEL_ID`\n- `SLACK_MARKETING_CHANNEL_ID`\n- `CRM_ASSIGNMENT_URL`\n\n**Credentials Required:**\n- Clearbit API\n- Apollo API (HTTP Header Auth)\n- HubSpot API\n- Slack API"
},
"typeVersion": 1
},
{
"id": "6ee62c3b-f74a-466b-899d-b61edff40f8f",
"name": "Note - Points d'Intégration",
"type": "n8n-nodes-base.stickyNote",
"position": [
-816,
320
],
"parameters": {
"width": 520,
"height": 480,
"content": "## Integration Sources\n\n**This webhook can receive leads from:**\n- Website contact forms\n- Landing page forms\n- Facebook Lead Ads\n- LinkedIn Lead Gen Forms\n- Webinar registrations\n- Free trial signups\n- Content downloads\n\n**Format:** POST to `/lead-capture`"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"c4e3201e-f8f8-42bf-b142-e12a63d6cdd6": {
"main": [
[
{
"node": "dbbb2ca7-c9e1-4a32-8270-fb9bdf328c54",
"type": "main",
"index": 1
}
]
]
},
"059a2f3a-dc94-42c6-9273-cbb24ad894e7": {
"main": [
[
{
"node": "409667ca-b5ab-4cab-864b-1b468da0ddca",
"type": "main",
"index": 0
},
{
"node": "c4e3201e-f8f8-42bf-b142-e12a63d6cdd6",
"type": "main",
"index": 0
}
],
[
{
"node": "63d95fd7-f5ac-4192-9f2b-d35bd0fa1d0b",
"type": "main",
"index": 0
}
]
]
},
"1318776b-db42-4031-bc8c-5224889da500": {
"main": [
[
{
"node": "2398e080-42c8-405e-a430-f27389b930c8",
"type": "main",
"index": 0
}
]
]
},
"409667ca-b5ab-4cab-864b-1b468da0ddca": {
"main": [
[
{
"node": "dbbb2ca7-c9e1-4a32-8270-fb9bdf328c54",
"type": "main",
"index": 0
}
]
]
},
"49d3b848-dc51-43cf-b22b-cfb9f8e24c77": {
"main": [
[
{
"node": "059a2f3a-dc94-42c6-9273-cbb24ad894e7",
"type": "main",
"index": 0
}
]
]
},
"dbbb2ca7-c9e1-4a32-8270-fb9bdf328c54": {
"main": [
[
{
"node": "1318776b-db42-4031-bc8c-5224889da500",
"type": "main",
"index": 0
}
]
]
},
"2398e080-42c8-405e-a430-f27389b930c8": {
"main": [
[
{
"node": "7a157570-3e7d-4584-81a1-1f2502516843",
"type": "main",
"index": 0
},
{
"node": "98170537-d67e-49ee-9819-709a12e29710",
"type": "main",
"index": 0
}
],
[
{
"node": "99245b66-8d64-4b85-b998-892f59b2a2e1",
"type": "main",
"index": 0
},
{
"node": "402a9234-f2c2-483f-81df-32629b306d55",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Génération de leads, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
shae
@senshaeFull-stack automation expert combining n8n, frontend & backend development, and hard-coded solutions to build powerful, scalable workflows. Skilled in data parsing (PDF/Excel), API integrations (banking, property, financial), email systems, and real-time sync. I create custom dashboards, API layers, and advanced automations that go beyond “no-code,”
Partager ce workflow