
13 - SmartScore Enrichment Engine
่ชฌๆ
Categories
๐ค AI & Machine Learning
Nodes Used
n8n-nodes-base.ifn8n-nodes-base.coden8n-nodes-base.coden8n-nodes-base.hubspotn8n-nodes-base.airtablen8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNote
Price็กๆ
Views0
ๆ็ตๆดๆฐ11/28/2025
workflow.json
{
"id": "WORKFLOW_ID_PLACEHOLDER",
"meta": {
"instanceId": "INSTANCE_ID_PLACEHOLDER",
"templateCredsSetupCompleted": true
},
"name": "13 - SmartScore Enrichment Engine",
"tags": [],
"nodes": [
{
"id": "sticky-note-1",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-100,
100
],
"parameters": {
"color": 4,
"width": 220,
"height": 740,
"content": "## ๐ Filter Non-Business Emails\nFilters out Gmail-based or personal emails.\n\nAllows only leads with non gmail.com (business) domains to proceed for enrichment."
},
"typeVersion": 1
},
{
"id": "sticky-note-2",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
140,
-40
],
"parameters": {
"color": 6,
"width": 540,
"height": 880,
"content": "## ๐ฌ LLM (OpenAI / Claude)\nSupplies the GPT-4o-mini model to the downstream agent node.\n\n## ๐ข Enrich Company Info (AI)\nAI agent enriches company data using domain:\n\nFields returned: company_name, industry, headquarters, employee_count, website, linkedin, description.\n\n## ๐ช Merge Enriched Lead Profile\nMerges formatted lead + enriched company data.\n\nAdds metadata: enrichment timestamp & workflow ID.\n\nEnsures consistent field structure for scoring and downstream nodes."
},
"typeVersion": 1
},
{
"id": "openai-chat-model-scorer",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
844,
660
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "YOUR_OPENAI_CREDENTIAL_ID",
"name": "OpenAI API Credential"
}
},
"typeVersion": 1.2
},
{
"id": "typeform-trigger",
"name": "๐ New Typeform Lead",
"type": "n8n-nodes-base.typeformTrigger",
"position": [
-500,
440
],
"webhookId": "WEBHOOK_ID_PLACEHOLDER",
"parameters": {
"formId": "YOUR_TYPEFORM_ID"
},
"credentials": {
"typeformApi": {
"id": "YOUR_TYPEFORM_CREDENTIAL_ID",
"name": "Typeform API Credential"
}
},
"typeVersion": 1
},
{
"id": "format-incoming-data",
"name": "๐ง Format Incoming Data",
"type": "n8n-nodes-base.code",
"position": [
-280,
440
],
"parameters": {
"jsCode": "let input = items[0].json;\nlet output = {};\n\n// Utility: Extract domain from email\nfunction extractDomain(email) {\n return typeof email === 'string' && email.includes('@')\n ? email.split('@')[1].toLowerCase()\n : null;\n}\n\n// Case 1: Direct object (Typeform-style)\nif (input?.Name && input?.Email) {\n output = {\n name: input[\"Name\"] || null,\n email: input[\"Email\"] || null,\n phone: input[\"Phone Number\"] || null,\n message: input[\"Message\"] || null,\n domain: extractDomain(input[\"Email\"]),\n source: \"Typeform\"\n };\n}\n\n// Case 2: Array of one object (Typeform-style)\nelse if (Array.isArray(input) && input[0]?.Name && input[0]?.Email) {\n const data = input[0];\n output = {\n name: data[\"Name\"] || null,\n email: data[\"Email\"] || null,\n phone: data[\"Phone Number\"] || null,\n message: data[\"Message\"] || null,\n domain: extractDomain(data[\"Email\"]),\n source: \"Typeform\"\n };\n}\n\n// Case 3: Calendly payload\nelse if (input?.event === \"invitee.created\" && input?.payload) {\n const payload = input.payload;\n const email = payload.email || null;\n output = {\n name: payload.name || `${payload.first_name || \"\"} ${payload.last_name || \"\"}`.trim(),\n email: email,\n phone: payload.text_reminder_number || null,\n message: payload.questions_and_answers?.[0]?.answer || null,\n domain: extractDomain(email),\n source: \"Calendly\"\n };\n}\n\n// Else: unsupported\nelse {\n output = {\n error: \"Unsupported input format\",\n inputType: typeof input,\n preview: JSON.stringify(input)\n };\n}\n\nreturn [{ json: output }];"
},
"typeVersion": 2
},
{
"id": "airtable-store",
"name": "๐ฆ Store Basic Info (Airtable)",
"type": "n8n-nodes-base.airtable",
"position": [
-280,
640
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "YOUR_AIRTABLE_BASE_ID",
"cachedResultUrl": "https://airtable.com/YOUR_AIRTABLE_BASE_ID",
"cachedResultName": "Your Base Name"
},
"table": {
"__rl": true,
"mode": "list",
"value": "YOUR_AIRTABLE_TABLE_ID",
"cachedResultUrl": "https://airtable.com/YOUR_AIRTABLE_BASE_ID/YOUR_AIRTABLE_TABLE_ID",
"cachedResultName": "Table 1"
},
"columns": {
"value": {
"Name": "={{ $json.Name }}",
"Email": "={{ $json.Email }}",
"Message": "={{ $json.Message }}",
"Phone Number": "={{ $json[\"Phone Number\"] }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone Number",
"type": "number",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Phone Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Message",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert",
"authentication": "airtableOAuth2Api"
},
"credentials": {
"airtableOAuth2Api": {
"id": "YOUR_AIRTABLE_CREDENTIAL_ID",
"name": "Airtable API Credential"
}
},
"typeVersion": 2
},
{
"id": "filter-non-business-emails",
"name": "๐ Filter Non-Business Emails",
"type": "n8n-nodes-base.if",
"position": [
-60,
440
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "filter-condition-1",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.domain }}",
"rightValue": "gmail.com"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "enrich-company-info",
"name": "๐ข Enrich Company Info (AI)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
160,
440
],
"parameters": {
"text": "=You are a company research assistant. I will give you a domain name.\n\nHere's the domain: {{ $json.domain }}\n\nYour task is to return a JSON object with the following details about the company:\n\ncompany_name: Full name of the company\n\nindustry: The primary industry the company belongs to\n\nheadquarters: City and country of the company headquarters\n\nemployee_count: Approximate number of employees (numeric or range)\n\nwebsite: Official website URL\n\nlinkedin: LinkedIn profile link (if available)\n\ndescription: 1-2 sentence summary of the company and what it does\n\nOnly use verified, credible information. Respond only in JSON. ",
"options": {},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "merge-enriched-profile",
"name": "๐ช Merge Enriched Lead Profile",
"type": "n8n-nodes-base.code",
"position": [
536,
440
],
"parameters": {
"jsCode": "// Access data from previous nodes using correct n8n syntax\n// Replace \"If\" and \"AI Agent\" with your actual node names\n\n// Method 1: Try accessing by node name (replace with your actual node names)\nlet leadData = {};\nlet aiEnrichment = {};\n\ntry {\n // Try to get data from IF node - replace \"If\" with your actual node name\n const ifNodeData = $node[\"๐ Filter Non-Business Emails\"].json;\n if (Array.isArray(ifNodeData)) {\n leadData = ifNodeData[0];\n } else {\n leadData = ifNodeData;\n }\n console.log('Lead data from If node:', leadData);\n} catch (error) {\n console.log('Could not access If node:', error.message);\n}\n\ntry {\n // Try to get data from AI Agent node - replace \"AI Agent\" with your actual node name \n const aiNodeData = $node[\"๐ข Enrich Company Info (AI)\"].json;\n let aiOutput = '';\n \n if (Array.isArray(aiNodeData)) {\n aiOutput = aiNodeData[0].output || aiNodeData[0];\n } else {\n aiOutput = aiNodeData.output || aiNodeData;\n }\n \n console.log('AI output:', aiOutput);\n \n // Parse AI output if it's in JSON format\n if (typeof aiOutput === 'string') {\n const jsonMatch = aiOutput.match(/```json\\n([\\s\\S]*?)\\n```/);\n if (jsonMatch && jsonMatch[1]) {\n aiEnrichment = JSON.parse(jsonMatch[1]);\n } else {\n try {\n aiEnrichment = JSON.parse(aiOutput);\n } catch (parseError) {\n aiEnrichment = { raw_output: aiOutput };\n }\n }\n } else {\n aiEnrichment = aiOutput;\n }\n \n console.log('Parsed AI enrichment:', aiEnrichment);\n} catch (error) {\n console.log('Could not access AI Agent node:', error.message);\n aiEnrichment = { error: 'Could not access AI data' };\n}\n\n// Combine the data (no duplication)\nconst enrichedLead = {\n // Original lead data\n name: leadData.name || '',\n email: leadData.email || '',\n phone: leadData.phone || '',\n message: leadData.message || '',\n domain: leadData.domain || '',\n source: leadData.source || '',\n \n // AI enrichment data\n company_name: aiEnrichment.company_name || 'Unknown',\n industry: aiEnrichment.industry || 'Unknown',\n headquarters: aiEnrichment.headquarters || '',\n employee_count: aiEnrichment.employee_count || '',\n website: aiEnrichment.website || '',\n linkedin: aiEnrichment.linkedin || '',\n company_description: aiEnrichment.description || '',\n \n // Metadata\n enriched_at: new Date().toISOString(),\n workflow_id: $workflow.id\n};\n\nconsole.log('Final enriched lead:', enrichedLead);\n\nreturn { json: enrichedLead };"
},
"typeVersion": 2
},
{
"id": "ai-lead-scorer",
"name": "๐ฏ AI Lead Scorer",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
756,
440
],
"parameters": {
"text": "=You are an AI sales analyst. Based on the enriched contact and company profile below, give a lead score from 1 to 10 (10 being highest potential to convert to a valuable customer).\n\nConsider factors like company size, industry relevance, contact source, domain reputation, and any relevant company metadata.\n\nLead Details:\n\nName: {{ $json.name }}\n\nEmail: {{ $json.email }}\n\nMessage: {{ $json.message }}\n\nCompany Info: {{ $json.company_description }}\n\nCompany Name: {{ $json.company_name }}\n\nWebsite: {{ $json.website }}\n\nIndustry: {{ $json.industry }}\n\nHeadquarters: {{ $json.headquarters }}\n\nEmployee Count: {{ $json.employee_count }}\n\nLinkedIn: {{ $json.linkedin }}\n\nDescription: {{ $json.company_description }}\n\nand i don't need anything except the output\n\nexample:\n7",
"options": {},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "hubspot-crm",
"name": "๐จ Send to HubSpot CRM",
"type": "n8n-nodes-base.hubspot",
"position": [
1132,
440
],
"parameters": {
"email": "={{ $('๐ช Merge Enriched Lead Profile').item.json.email }}",
"options": {},
"authentication": "appToken",
"additionalFields": {
"country": "={{ $('๐ช Merge Enriched Lead Profile').item.json.headquarters }}",
"message": "={{ $('๐ช Merge Enriched Lead Profile').item.json.message }}",
"industry": "={{ $('๐ช Merge Enriched Lead Profile').item.json.industry }}",
"firstName": "={{ $('๐ช Merge Enriched Lead Profile').item.json.name }}",
"websiteUrl": "={{ $('๐ช Merge Enriched Lead Profile').item.json.website }}",
"companyName": "={{ $('๐ช Merge Enriched Lead Profile').item.json.company_name }}",
"phoneNumber": "={{ $('๐ช Merge Enriched Lead Profile').item.json.phone }}",
"customPropertiesUi": {
"customPropertiesValues": [
{
"value": "={{ $('๐ช Merge Enriched Lead Profile').item.json.linkedin }}",
"property": "company_s_linkedin"
},
{
"value": "={{ $('๐ช Merge Enriched Lead Profile').item.json.company_description }}",
"property": "company_descreption"
},
{
"value": "={{ $json.output }}",
"property": "lead_score"
}
]
}
}
},
"credentials": {
"hubspotAppToken": {
"id": "YOUR_HUBSPOT_CREDENTIAL_ID",
"name": "HubSpot API Credential"
}
},
"typeVersion": 2.1,
"alwaysOutputData": false
},
{
"id": "google-sheets-enriched",
"name": "๐ Save Enriched Lead",
"type": "n8n-nodes-base.googleSheets",
"position": [
1352,
440
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $('๐ช Merge Enriched Lead Profile').item.json.name }}",
"Email": "={{ $('๐ช Merge Enriched Lead Profile').item.json.email }}",
"Score": "={{ $('๐ฏ AI Lead Scorer').item.json.output }}",
"Message": "={{ $('๐ช Merge Enriched Lead Profile').item.json.message }}",
"Website": "={{ $('๐ช Merge Enriched Lead Profile').item.json.website }}",
"Industry": "={{ $('๐ช Merge Enriched Lead Profile').item.json.industry }}",
"LinkedIn": "={{ $('๐ช Merge Enriched Lead Profile').item.json.linkedin }}",
"Description": "={{ $('๐ช Merge Enriched Lead Profile').item.json.company_description }}",
"Headquaters": "={{ $('๐ช Merge Enriched Lead Profile').item.json.headquarters }}",
"Company Name": "={{ $('๐ช Merge Enriched Lead Profile').item.json.company_name }}",
"Company Size": "={{ $('๐ช Merge Enriched Lead Profile').item.json.employee_count }}"
},
"schema": [
{
"id": "Company Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Company Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Industry",
"type": "string",
"display": true,
"required": false,
"displayName": "Industry",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company Size",
"type": "string",
"display": true,
"required": false,
"displayName": "Company Size",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Headquaters",
"type": "string",
"display": true,
"required": false,
"displayName": "Headquaters",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Website",
"type": "string",
"display": true,
"required": false,
"displayName": "Website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Message",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "LinkedIn",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "LinkedIn",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Score",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Score",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID_1/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEET_ID_1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID_1/edit",
"cachedResultName": "Company's Data Sheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
"name": "Google Sheets API Credential"
}
},
"typeVersion": 4
},
{
"id": "google-sheets-raw",
"name": "๐ Log Raw Lead",
"type": "n8n-nodes-base.googleSheets",
"position": [
-280,
240
],
"parameters": {
"columns": {
"value": {
"Name": "={{ $json.Name }}",
"Email": "={{ $json.Email }}",
"Message": "={{ $json.Message }}",
"Phone Number": "={{ $json[\"Phone Number\"] }}"
},
"schema": [
{
"id": "Name",
"type": "string",
"display": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Phone Number",
"type": "string",
"display": true,
"required": false,
"displayName": "Phone Number",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message",
"type": "string",
"display": true,
"required": false,
"displayName": "Message",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID_2/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEET_ID_2",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID_2/edit",
"cachedResultName": "Raw Data Sheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
"name": "Google Sheets API Credential"
}
},
"typeVersion": 4
},
{
"id": "sticky-note-3",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-680,
-120
],
"parameters": {
"width": 560,
"height": 960,
"content": "**Triggered on new Typeform submission. Captures: Name, Email, Phone, Message.**\n\n## ๐ง Format Incoming Data\nCleans data from Typeform. Extracts key fields, tags source, checks if email is business.\n\n## ๐ Log Raw Lead\nSaves raw lead data to Google Sheet for backup.\n\n## ๐ฆ Store Basic Info (Airtable)\nUpserts lead into Airtable by Email to prevent duplicates."
},
"typeVersion": 1
},
{
"id": "openai-chat-model-enricher",
"name": "๐ฌ LLM (OpenAI)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
240,
660
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "YOUR_OPENAI_CREDENTIAL_ID",
"name": "OpenAI API Credential"
}
},
"typeVersion": 1.2
},
{
"id": "sticky-note-4",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-120
],
"parameters": {
"color": 3,
"width": 560,
"height": 960,
"content": "## ๐ฏ AI Lead Scorer\n\nEvaluates lead quality based on:\n\nCompany metadata\nIndustry fit\nContact source\nDomain type\n\nReturns a lead score (1โ10).\n\n## ๐จ Send to HubSpot CRM\n\nCreates or updates a contact in HubSpot.\n\nSends:\n\nName, Email, Phone, Website\nCompany Description, LinkedIn, Country, Industry\nCustom Properties:\nlead_score\ncompany_s_linkedin\ncompany_descreption"
},
"typeVersion": 1
},
{
"id": "sticky-note-5",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1300,
-120
],
"parameters": {
"color": 5,
"height": 960,
"content": "## ๐ Save Enriched Lead\n\nLogs fully enriched and scored lead into Sheet of:\n\nCompany's Google Spreadsheet.\n\nColumns:\n\nContact Info: Name, Email, Phone, Message\n\nCompany Info: Name, Industry, Size, Website, HQ, LinkedIn\n\nLead Score"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "WORKFLOW_VERSION_ID",
"connections": {
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "๐ฏ AI Lead Scorer",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"๐ฌ LLM (OpenAI)": {
"ai_languageModel": [
[
{
"node": "๐ข Enrich Company Info (AI)",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"๐ฏ AI Lead Scorer": {
"main": [
[
{
"node": "๐จ Send to HubSpot CRM",
"type": "main",
"index": 0
}
]
]
},
"๐ New Typeform Lead": {
"main": [
[
{
"node": "๐ Log Raw Lead",
"type": "main",
"index": 0
},
{
"node": "๐ฆ Store Basic Info (Airtable)",
"type": "main",
"index": 0
},
{
"node": "๐ง Format Incoming Data",
"type": "main",
"index": 0
}
]
]
},
"๐จ Send to HubSpot CRM": {
"main": [
[
{
"node": "๐ Save Enriched Lead",
"type": "main",
"index": 0
}
]
]
},
"๐ง Format Incoming Data": {
"main": [
[
{
"node": "๐ Filter Non-Business Emails",
"type": "main",
"index": 0
}
]
]
},
"๐ข Enrich Company Info (AI)": {
"main": [
[
{
"node": "๐ช Merge Enriched Lead Profile",
"type": "main",
"index": 0
}
]
]
},
"๐ Filter Non-Business Emails": {
"main": [
[
{
"node": "๐ข Enrich Company Info (AI)",
"type": "main",
"index": 0
}
]
]
},
"๐ช Merge Enriched Lead Profile": {
"main": [
[
{
"node": "๐ฏ AI Lead Scorer",
"type": "main",
"index": 0
}
]
]
}
}
}