LeadFusion - AI 리드 풍부화 워크플로
이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 13개의 노드를 포함합니다.주로 If, Code, Hubspot, Pipedrive, Agent 등의 노드를 사용하며. GPT-4o 기반 AI 리드 스코어링 및 풍부화 (Mailchimp에서 HubSpot 및 Pipedrive로)
- •HubSpot API Key
- •OpenAI API Key
{
"meta": {
"templateCredsSetupCompleted": false
},
"name": "LeadFusion - AI Lead Enrichment Workflow",
"tags": [],
"nodes": [
{
"id": "61b4b6d1-48c9-485a-be3a-86ce40129b82",
"name": "📩 Mailchimp 구독자 트리거",
"type": "n8n-nodes-base.mailchimpTrigger",
"position": [
-416,
272
],
"webhookId": "auto-generated",
"parameters": {
"list": "YOUR_MAILCHIMP_LIST_ID",
"events": [
"subscribe"
],
"sources": [
"admin"
]
},
"credentials": {
"mailchimpApi": {
"id": "MAILCHIMP_CREDENTIAL_ID",
"name": "Mailchimp Account"
}
},
"typeVersion": 1
},
{
"id": "02f90776-c4f6-498d-9b59-a3adf441aec0",
"name": "📊 구독자 데이터 추출",
"type": "n8n-nodes-base.code",
"position": [
-192,
272
],
"parameters": {
"jsCode": "// n8n Code node (JavaScript)\nconst output = [];\n\nfor (const item of items) {\n const data = item.json;\n\n const firstName = data[\"data[merges][FNAME]\"] || \"\";\n const lastName = data[\"data[merges][LNAME]\"] || \"\";\n\n output.push({\n email: data[\"data[email]\"] || \"\",\n firstName,\n lastName,\n fullName: `${firstName} ${lastName}`.trim(),\n tags: [],\n listId: data[\"data[list_id]\"] || \"\",\n subscribedAt: new Date(data[\"fired_at\"]).toISOString()\n });\n}\n\nreturn output.map(o => ({ json: o }));"
},
"typeVersion": 2
},
{
"id": "b5a3ce32-5793-442e-bbe3-4c6fd44c6779",
"name": "🤖 리드 풍부화 AI",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
32,
272
],
"parameters": {
"text": "=You are an expert lead enrichment AI. Based on the provided email and name, enrich the lead with likely professional information and provide a lead score. \n\nInput: \nEmail: {{ $json.email }} \nName: {{ $json.fullName }} \n\nOutput: \nRespond only in valid JSON format with the following keys: \n- company \n- jobTitle \n- industry \n- linkedinUrl \n- intent \n- leadScore (1-100, based on email domain and name quality) \n- confidence (1-100, accuracy of enrichment guess)",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "85488739-d25a-4b83-8116-0c42f8638869",
"name": "🧠 OpenAI 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
96,
496
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "OPENAI_CREDENTIAL_ID",
"name": "OpenAI Account"
}
},
"typeVersion": 1.2
},
{
"id": "91ef7930-18a9-4fe8-855c-8f486d527934",
"name": "🔎 풍부화 데이터 파싱 및 병합",
"type": "n8n-nodes-base.code",
"position": [
384,
272
],
"parameters": {
"jsCode": "// Parse OpenAI response and merge with original subscriber data\nconst item = $input.first();\n\n// Fallback: take current input if node not found\nlet subscriberData = {};\ntry {\n subscriberData = $node['Extract Subscriber Data']?.json || item.json;\n} catch (e) {\n subscriberData = item.json;\n}\n\nlet enrichedData = {\n company: 'Unknown Company',\n jobTitle: 'Unknown Role',\n industry: 'Unknown Industry',\n linkedinUrl: '',\n intent: 'General interest',\n leadScore: 50,\n confidence: 30\n};\n\n// Try to parse OpenAI response (already JSON)\ntry {\n const openaiResponse = item.json;\n let content = openaiResponse.output || openaiResponse;\n\n if (typeof content === 'string') {\n content = content.replace(/```json|```/g, '').trim();\n content = JSON.parse(content);\n }\n\n enrichedData = { ...enrichedData, ...content };\n} catch (error) {\n // Parsing failed – keep defaults\n}\n\nconst finalData = {\n ...subscriberData,\n ...enrichedData,\n enrichedAt: new Date().toISOString()\n};\n\nreturn { json: finalData };"
},
"typeVersion": 2
},
{
"id": "c9240bca-e758-4e90-8c89-39a57a50fa8b",
"name": "💎 고가치 리드 확인",
"type": "n8n-nodes-base.if",
"position": [
608,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "condition-1",
"operator": {
"type": "number",
"operation": "gte"
},
"leftValue": "={{ $json.leadScore }}",
"rightValue": 70
}
]
}
},
"typeVersion": 2
},
{
"id": "3374813d-ee35-4f65-9ac7-c2c257897996",
"name": "📊 HubSpot 연락처 동기화",
"type": "n8n-nodes-base.hubspot",
"position": [
608,
416
],
"parameters": {
"email": "={{ $('📊 Extract Subscriber Data').item.json.email }}",
"options": {},
"authentication": "appToken",
"additionalFields": {
"industry": "={{ $json.industry }}",
"jobTitle": "={{ $json.jobTitle }}",
"lastName": "={{ $('📊 Extract Subscriber Data').item.json.lastName }}",
"firstName": "={{ $('📊 Extract Subscriber Data').item.json.firstName }}",
"companyName": "={{ $json.company }}"
}
},
"credentials": {
"hubspotAppToken": {
"id": "HUBSPOT_CREDENTIAL_ID",
"name": "HubSpot Account"
}
},
"typeVersion": 2,
"continueOnFail": true
},
{
"id": "8c30c26c-1374-446e-979c-e99d1b41a10a",
"name": "👤 Pipedrive 개인 생성",
"type": "n8n-nodes-base.pipedrive",
"position": [
608,
608
],
"parameters": {
"name": "={{ $('📊 Extract Subscriber Data').item.json.fullName }}",
"resource": "person",
"additionalFields": {
"email": [
"={{ $('📊 Extract Subscriber Data').item.json.email }}"
]
}
},
"credentials": {
"pipedriveApi": {
"id": "PIPEDRIVE_CREDENTIAL_ID",
"name": "Pipedrive Account"
}
},
"typeVersion": 1
},
{
"id": "4047aced-ec20-4d6b-9173-1062fa71a06e",
"name": "💼 고가치 딜 생성",
"type": "n8n-nodes-base.pipedrive",
"position": [
832,
80
],
"parameters": {
"title": "=High Value Lead - {{ $('📊 Extract Subscriber Data').item.json.fullName }}",
"person_id": null,
"associateWith": "person",
"additionalFields": {
"value": "={{ Math.round($json.leadScore * 10) }}",
"status": "open",
"currency": "USD"
}
},
"credentials": {
"pipedriveApi": {
"id": "PIPEDRIVE_CREDENTIAL_ID",
"name": "Pipedrive Account"
}
},
"typeVersion": 1
},
{
"id": "1e8ea15c-3d79-4c75-acdb-9ea1b71a7feb",
"name": "스티키 노트",
"type": "n8n-nodes-base.stickyNote",
"position": [
-480,
-112
],
"parameters": {
"color": 5,
"width": 448,
"height": 896,
"content": "## 1. Lead Capture & Subscriber Data Extraction\n\n*📩 Mailchimp Subscriber Trigger listens for new subscribers from the selected Mailchimp list.\n\n📊 Extract Subscriber Data processes the raw payload, extracting structured details like first name, last name, email, list ID, and subscription timestamp.\n\n👉 Together, these two nodes handle the initial capture of leads and prepare them for enrichment.*"
},
"typeVersion": 1
},
{
"id": "49498336-18bc-408d-92e2-4c06ce6f6f56",
"name": "스티키 노트1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-112
],
"parameters": {
"color": 3,
"width": 528,
"height": 896,
"content": "## 2. AI-Powered Lead Enrichment\n\n*🤖 Lead Enrichment AI uses AI to enrich subscriber data, predicting company, job title, industry, intent, LinkedIn URL, and assigning a lead score.\n\n🔎 Parse & Merge Enrichment parses AI output, merges it with the subscriber's base data, and ensures defaults are set if enrichment fails.\n\n👉 This group forms the AI enrichment layer – enhancing leads with professional and scoring data for downstream CRM use.*"
},
"typeVersion": 1
},
{
"id": "9d037fa7-614b-413f-a166-0c30efcd6b7a",
"name": "스티키 노트2",
"type": "n8n-nodes-base.stickyNote",
"position": [
528,
-112
],
"parameters": {
"color": 4,
"width": 480,
"height": 368,
"content": "## 3. Lead Qualification & Scoring\n\n*💎 High-Value Lead Check evaluates the lead score and determines if it meets the high-value threshold (≥70).\n\n👉 This acts as the qualification logic to filter out top-priority leads for special handling.*"
},
"typeVersion": 1
},
{
"id": "b3befa0e-e2c3-4c49-98db-8276134f2478",
"name": "스티키 노트3",
"type": "n8n-nodes-base.stickyNote",
"position": [
528,
272
],
"parameters": {
"width": 480,
"height": 512,
"content": "## 4. CRM Sync & Deal Creation\n\n*CRM integration syncs enriched leads to HubSpot & Pipedrive, with automatic deal creation for high-value leads*"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"connections": {
"85488739-d25a-4b83-8116-0c42f8638869": {
"ai_languageModel": [
[
{
"node": "b5a3ce32-5793-442e-bbe3-4c6fd44c6779",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"b5a3ce32-5793-442e-bbe3-4c6fd44c6779": {
"main": [
[
{
"node": "91ef7930-18a9-4fe8-855c-8f486d527934",
"type": "main",
"index": 0
}
]
]
},
"3374813d-ee35-4f65-9ac7-c2c257897996": {
"main": [
[]
]
},
"c9240bca-e758-4e90-8c89-39a57a50fa8b": {
"main": [
[
{
"node": "4047aced-ec20-4d6b-9173-1062fa71a06e",
"type": "main",
"index": 0
}
]
]
},
"8c30c26c-1374-446e-979c-e99d1b41a10a": {
"main": [
[]
]
},
"02f90776-c4f6-498d-9b59-a3adf441aec0": {
"main": [
[
{
"node": "b5a3ce32-5793-442e-bbe3-4c6fd44c6779",
"type": "main",
"index": 0
}
]
]
},
"91ef7930-18a9-4fe8-855c-8f486d527934": {
"main": [
[
{
"node": "c9240bca-e758-4e90-8c89-39a57a50fa8b",
"type": "main",
"index": 0
},
{
"node": "3374813d-ee35-4f65-9ac7-c2c257897996",
"type": "main",
"index": 0
},
{
"node": "8c30c26c-1374-446e-979c-e99d1b41a10a",
"type": "main",
"index": 0
}
]
]
},
"61b4b6d1-48c9-485a-be3a-86ce40129b82": {
"main": [
[
{
"node": "02f90776-c4f6-498d-9b59-a3adf441aec0",
"type": "main",
"index": 0
}
]
]
}
}
}이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
중급 - 콘텐츠 제작, 멀티모달 AI
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
Avkash Kakdiya
@itechnotion🚀 Founder of iTechNotion — we build custom AI-powered automation workflows for startups, agencies, and founders. 💡 Specializing in agentic AI systems, content automation, sales funnels, and digital workers. 🔧 14+ years in tech | Building scalable no-code/low-code solutions using n8n, OpenAI, and other API-first tools. 📬 Let’s automate what slows you down.
이 워크플로우 공유