15 - LeadFlow 自动化
中级
这是一个AI Summarization, Multimodal AI领域的自动化工作流,包含 14 个节点。主要使用 If, Set, Code, Slack, Hubspot 等节点。 使用OpenAI GPT-4O、HubSpot、Slack和Google Sheets自动化Gmail潜在客户跟进
前置要求
- •Slack Bot Token 或 Webhook URL
- •HubSpot API Key
- •Google 账号和 Gmail API 凭证
- •Google Sheets API 凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "REMOVED_FOR_PRIVACY",
"meta": {
"instanceId": "REMOVED_FOR_PRIVACY",
"templateCredsSetupCompleted": true
},
"name": "15 - LeadFlow 自动化",
"tags": [],
"nodes": [
{
"id": "91039bef-b0cf-4aaa-b5d7-8151f3fe5bf4",
"name": "📧 Gmail:新潜在客户回复",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
-80,
-160
],
"parameters": {
"filters": {
"labelIds": [
"YOUR_GMAIL_LABEL_ID"
]
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "YOUR_GMAIL_CREDENTIAL_ID",
"name": "Gmail Account"
}
},
"typeVersion": 1
},
{
"id": "def6d1d6-c2cc-4b63-b387-7e38cc8e19b1",
"name": "🔧 标准化 Gmail 数据",
"type": "n8n-nodes-base.set",
"position": [
360,
-160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "normalize-gmail",
"name": "leadEmail",
"type": "string",
"value": "={{ $json.From }}"
},
{
"id": "normalize-gmail-subject",
"name": "subject",
"type": "string",
"value": "={{ $json.Subject }}"
},
{
"id": "normalize-gmail-message",
"name": "message",
"type": "string",
"value": "={{ $json.snippet }}"
},
{
"id": "normalize-gmail-source",
"name": "source",
"type": "string",
"value": "Gmail"
},
{
"id": "normalize-gmail-timestamp",
"name": "receivedAt",
"type": "string",
"value": "={{ $json.internalDate }}"
}
]
}
},
"typeVersion": 3.3
},
{
"id": "b1d38a73-0376-433a-82da-a7a04d3d5da7",
"name": "📋 解析 AI 分析结果",
"type": "n8n-nodes-base.code",
"position": [
956,
-160
],
"parameters": {
"jsCode": "let aiResponse = $json.output;\n\n// Remove triple backticks and possible \"json\" label\naiResponse = aiResponse.replace(/```json|```/g, '').trim();\n\nlet analysis;\n\ntry {\n analysis = JSON.parse(aiResponse);\n} catch (error) {\n // Fallback parsing if JSON is malformed\n analysis = {\n sentiment: 'Neutral',\n intent: 'Needs Info',\n urgency: 'Medium',\n nextAction: 'Email',\n summary: 'Could not parse AI response',\n priority: 'Warm'\n };\n}\n\n// Get the original lead data from Normalize Gmail node\nconst leadData = $node['🔧 Normalize Gmail Data'].json;\n\n// Combine everything\nconst result = {\n ...leadData,\n ...analysis,\n analysisDate: new Date().toISOString(),\n needsFollowUp: analysis.nextAction !== 'No Action',\n isHighPriority: analysis.priority === 'Hot' || analysis.urgency === 'High'\n};\n\nreturn [{ json: result }];"
},
"typeVersion": 2
},
{
"id": "b92abdcc-33b5-4785-b1c4-84c210112dcf",
"name": "📝 HubSpot:创建跟进任务",
"type": "n8n-nodes-base.hubspot",
"position": [
1396,
-360
],
"parameters": {
"type": "task",
"metadata": {
"body": "={{ $json.message }}",
"subject": "={{ $json.subject }}",
"forObjectType": "CONTACT"
},
"resource": "engagement",
"authentication": "appToken",
"additionalFields": {}
},
"credentials": {
"hubspotAppToken": {
"id": "YOUR_HUBSPOT_CREDENTIAL_ID",
"name": "HubSpot Account"
}
},
"typeVersion": 2
},
{
"id": "74068c78-2ea1-4447-987a-8d40088483d4",
"name": "💬 Slack:通知销售团队",
"type": "n8n-nodes-base.slack",
"position": [
1396,
40
],
"webhookId": "YOUR_SLACK_WEBHOOK_ID",
"parameters": {
"text": "=Summary: {{ $json.summary }}\nEmail: {{ $json.leadEmail }}\nPriority: {{ $json.priority }}\nUrgency: {{ $json.urgency }}\nDate: {{ $json.analysisDate }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "YOUR_SLACK_CHANNEL_ID",
"cachedResultName": "general"
},
"otherOptions": {
"mrkdwn": false
}
},
"credentials": {
"slackApi": {
"id": "YOUR_SLACK_CREDENTIAL_ID",
"name": "Slack Account"
}
},
"typeVersion": 2.1
},
{
"id": "ae8454de-6504-4947-8571-87bd4bc0e0b0",
"name": "📊 记录到 Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1396,
-160
],
"parameters": {
"columns": {
"value": {
"Date": "={{ $json.analysisDate }}",
"Email": "={{ $json.leadEmail }}",
"Intent ": "={{ $json.intent }}",
"Message": "={{ $json.message }}",
"Subject": "={{ $json.subject }}",
"Summary": "={{ $json.summary }}",
"Urgency": "={{ $json.urgency }}",
"Priority": "={{ $json.priority }}",
"Sentiment": "={{ $json.sentiment }}",
"nextAction": "={{ $json.nextAction }}"
},
"schema": [
{
"id": "Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date",
"type": "string",
"display": true,
"required": false,
"displayName": "Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Subject",
"type": "string",
"display": true,
"required": false,
"displayName": "Subject",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Message",
"type": "string",
"display": true,
"required": false,
"displayName": "Message",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Sentiment",
"type": "string",
"display": true,
"required": false,
"displayName": "Sentiment",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Intent ",
"type": "string",
"display": true,
"required": false,
"displayName": "Intent ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Urgency",
"type": "string",
"display": true,
"required": false,
"displayName": "Urgency",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "nextAction",
"type": "string",
"display": true,
"required": false,
"displayName": "nextAction",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Summary",
"type": "string",
"display": true,
"required": false,
"displayName": "Summary",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Priority",
"type": "string",
"display": true,
"required": false,
"displayName": "Priority",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "YOUR_GOOGLE_SHEETS_URL",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "YOUR_GOOGLE_SHEETS_ID",
"cachedResultUrl": "YOUR_GOOGLE_SHEETS_URL",
"cachedResultName": "Follow Up"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
"name": "Google Sheets Account"
}
},
"typeVersion": 4
},
{
"id": "6b10e13b-d8b0-42e2-ad8a-704a7202148f",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
668,
60
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "YOUR_OPENAI_CREDENTIAL_ID",
"name": "OpenAI Account"
}
},
"typeVersion": 1.2
},
{
"id": "ad3e3fb6-2e91-41c8-8082-30fe37202a71",
"name": "🔀 检查数据是否存在",
"type": "n8n-nodes-base.if",
"position": [
140,
-160
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "condition-1",
"operator": {
"type": "object",
"operation": "exists",
"rightType": "any"
},
"leftValue": "={{ $node['📧 Gmail: New Lead Response'].json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "88cd5104-9389-4664-8e03-3adee0c408a5",
"name": "🔍 需要跟进吗?",
"type": "n8n-nodes-base.if",
"position": [
1176,
-160
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b2831020-9725-454b-a3dc-0b6465587288",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.needsFollowUp }}",
"rightValue": {}
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ad81e8cb-6e5d-4b3a-8b1e-5a00853ed3c2",
"name": "🧠 分析潜在客户回复(AI)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
580,
-160
],
"parameters": {
"text": "=Analyze this lead response and provide:\n\n1. Sentiment: (Positive/Neutral/Negative)\n2. Intent: (Interested/Not Interested/Needs Info/Ready to Buy/Objection)\n3. Urgency: (High/Medium/Low)\n4. Next Action: (Call/Email/Demo/Quote/No Action)\n5. Summary: Brief 1-2 sentence summary\n6. Priority: (Hot/Warm/Cold)\n\nLead Email: {{ $json.leadEmail }}\nSubject: {{ $json.subject }}\nMessage: {{ $json.message }}\nRespond in JSON format with keys: sentiment, intent, urgency, nextAction, summary, priority",
"options": {},
"promptType": "define"
},
"typeVersion": 2
},
{
"id": "b970147b-c301-49e4-924d-535e7cf3a01e",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
-500
],
"parameters": {
"color": 5,
"width": 640,
"height": 680,
"content": "## 节点:"
},
"typeVersion": 1
},
{
"id": "885d848a-de98-48bb-8fc1-dab28cc20570",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
540,
-500
],
"parameters": {
"color": 3,
"width": 580,
"height": 680,
"content": "## 节点:"
},
"typeVersion": 1
},
{
"id": "90a8e89d-42fe-498e-950e-c9e1a6eb6878",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
-500
],
"parameters": {
"width": 160,
"height": 680,
"content": "## 节点:"
},
"typeVersion": 1
},
{
"id": "fbd6f660-c7e3-4e8e-ad7f-a8ca871b89dc",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1320,
-760
],
"parameters": {
"color": 4,
"width": 300,
"height": 1000,
"content": "## 节点:"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "REMOVED_FOR_PRIVACY",
"connections": {
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "🧠 Analyze Lead Response (AI)",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"🔍 Needs Follow-Up?": {
"main": [
[
{
"node": "📝 HubSpot: Create Follow-up Task",
"type": "main",
"index": 0
},
{
"node": "💬 Slack: Notify Sales Team",
"type": "main",
"index": 0
},
{
"node": "📊 Log to Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"🔀 Check if Data Exists": {
"main": [
[
{
"node": "🔧 Normalize Gmail Data",
"type": "main",
"index": 0
}
]
]
},
"🔧 Normalize Gmail Data": {
"main": [
[
{
"node": "🧠 Analyze Lead Response (AI)",
"type": "main",
"index": 0
}
]
]
},
"💬 Slack: Notify Sales Team": {
"main": [
[]
]
},
"📧 Gmail: New Lead Response": {
"main": [
[
{
"node": "🔀 Check if Data Exists",
"type": "main",
"index": 0
}
]
]
},
"📋 Parse AI Analysis Results": {
"main": [
[
{
"node": "🔍 Needs Follow-Up?",
"type": "main",
"index": 0
}
]
]
},
"🧠 Analyze Lead Response (AI)": {
"main": [
[
{
"node": "📋 Parse AI Analysis Results",
"type": "main",
"index": 0
}
]
]
},
"📝 HubSpot: Create Follow-up Task": {
"main": [
[]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - AI 摘要总结, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
13 - SmartScore 智能评分引擎
Typeform到HubSpot:GPT-4o-mini AI增强评分潜在客户
If
Code
Hubspot
+6
17 节点Avkash Kakdiya
AI 摘要总结
09 - 潜在客户档案增强器
自动化潜在客户信息丰富与个性化外联:HubSpot、Phantombuster和GPT
If
Set
Code
+11
30 节点Avkash Kakdiya
客户培育
12 - 智能潜在客户信息增强器
基于AI的潜在客户信息增强:从Typeform和Calendly到HubSpot CRM
If
Code
Merge
+6
13 节点Avkash Kakdiya
AI 摘要总结
自动化潜在客户跟进:GPT-4o mini分析用于Gmail、HubSpot和Slack
自动化潜在客户跟进:GPT-4o mini分析用于Gmail、HubSpot和Slack
If
Set
Code
+7
14 节点Meak
内容创作
使用 GPT-4o-mini 分类 Intercom 消息并路由至 ClickUp 或 Slack
使用 GPT-4o-mini 分类 Intercom 消息并路由至 ClickUp 或 Slack
If
Code
Slack
+5
14 节点Avkash Kakdiya
AI 摘要总结
16 - InsightMark:AI驱动的评论分析
使用GPT-4分析表单反馈并将任务同步到Monday、ClickUp和HubSpot
Code
Click Up
Hubspot
+6
13 节点Avkash Kakdiya
AI 摘要总结
工作流信息
难度等级
中级
节点数量14
分类2
节点类型10
作者
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.
外部链接
在 n8n.io 查看 →
分享此工作流