使用AI和APIFY自动化销售会议准备并发送至WhatsApp
高级
这是一个Sales, AI领域的自动化工作流,包含 61 个节点。主要使用 If, Set, Html, Gmail, Merge 等节点,结合人工智能技术实现智能自动化。 使用AI和APIFY自动化销售会议准备并发送至WhatsApp
前置要求
- •Google 账号和 Gmail API 凭证
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
使用的节点 (61)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9"
},
"nodes": [
{
"id": "201ef455-2d65-4563-8ec1-318211b1fa6a",
"name": "获取消息内容",
"type": "n8n-nodes-base.gmail",
"position": [
2080,
500
],
"webhookId": "fa1d496f-17fa-4e50-bae9-84ca85ed4502",
"parameters": {
"simple": false,
"options": {},
"messageId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "Sf5Gfl9NiFTNXFWb",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "ded010af-e977-4c47-87dd-8221d601af74",
"name": "简化邮件",
"type": "n8n-nodes-base.set",
"position": [
2240,
500
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2006c806-42db-4457-84c2-35f59ed39018",
"name": "date",
"type": "string",
"value": "={{ $json.date }}"
},
{
"id": "872278d2-b97c-45ba-a9d3-162f154fe7dc",
"name": "subject",
"type": "string",
"value": "={{ $json.subject }}"
},
{
"id": "282f03e9-1d0f-4a17-b9ed-75b44171d4ee",
"name": "text",
"type": "string",
"value": "={{ $json.text }}"
},
{
"id": "9421776c-ff53-4490-b0e1-1e610534ba25",
"name": "from",
"type": "string",
"value": "={{ $json.from.value[0].name }} ({{ $json.from.value[0].address }})"
},
{
"id": "3b6716e8-5582-4da3-ae9d-e8dd1afad530",
"name": "to",
"type": "string",
"value": "={{ $json.to.value[0].name }} ({{ $json.to.value[0].address }})"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "816bf787-ff9c-4b97-80ac-4b0c6ae5638b",
"name": "检查即将到来的会议",
"type": "n8n-nodes-base.googleCalendar",
"position": [
526,
-180
],
"parameters": {
"limit": 1,
"options": {
"orderBy": "startTime",
"timeMax": "={{ $now.toUTC().plus(1, 'hour') }}",
"timeMin": "={{ $now.toUTC() }}",
"singleEvents": true
},
"calendar": {
"__rl": true,
"mode": "list",
"value": "c_5792bdf04bc395cbcbc6f7b754268245a33779d36640cc80a357711aa2f09a0a@group.calendar.google.com",
"cachedResultName": "n8n-events"
},
"operation": "getAll"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "kWMxmDbMDDJoYFVK",
"name": "Google Calendar account"
}
},
"typeVersion": 1.2
},
{
"id": "234d5c79-bf40-44bb-8829-c6ccf8648359",
"name": "OpenAI 聊天模型2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
920,
-20
],
"parameters": {
"model": "gpt-4o-2024-08-06",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8gccIjcuf3gvaoEr",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "445aa0f4-d41a-4d46-aa2f-e79a9cdb04b5",
"name": "提取参会者信息",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
920,
-180
],
"parameters": {
"text": "=start: {{ $json.start.dateTime }}\nmeeting url: {{ $json.hangoutLink }}\nsummary: {{ $json.summary }}\ndescription: {{ $json.description }}\norganiser: {{ $json.organizer.displayName }} ({{ $json.organizer.email }})\nattendees: {{ $json.attendees.filter(item => !item.organizer).map(item => item.email).join(',') }}",
"options": {
"systemPromptTemplate": "You are an expert extraction algorithm. Try to link any information found in the description to help fill in the attendee details.\nIf you do not know the value of an attribute asked to extract, you may omit the attribute's value."
},
"schemaType": "manual",
"inputSchema": "{\n\t\"type\": \"object\",\n\t\"properties\": {\n\t\t\"attendees\": {\n \"type\": \"array\",\n \"description\": \"list of attendees excluding the meeting organiser\",\n \"items\": {\n\t\t\t\"type\": \"object\",\n\t\t\t\"properties\": {\n\t\t\t \"name\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"linkedin_url\": { \"type\": \"string\" }\n\t\t\t}\n }\n\t\t}\n\t}\n}"
},
"typeVersion": 1
},
{
"id": "390743d8-acfd-4951-8901-212f162dcbb4",
"name": "执行工作流触发器",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
920,
580
],
"parameters": {},
"typeVersion": 1
},
{
"id": "ea9c76a0-40a0-413a-a93a-ad99069d0d91",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2460,
640
],
"parameters": {
"model": "gpt-4o-2024-08-06",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8gccIjcuf3gvaoEr",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "8d9df9e4-1815-44a2-a6fc-a9af42a77153",
"name": "获取最后通信记录",
"type": "n8n-nodes-base.gmail",
"position": [
1740,
500
],
"webhookId": "b00c960c-3689-4fa1-9f0f-7d6c9479f0c6",
"parameters": {
"limit": 1,
"filters": {
"sender": "={{ $json.email }}"
},
"operation": "getAll"
},
"credentials": {
"gmailOAuth2": {
"id": "Sf5Gfl9NiFTNXFWb",
"name": "Gmail account"
}
},
"typeVersion": 2.1,
"alwaysOutputData": true
},
{
"id": "23c7161f-60e2-4a99-9279-ff1dca5efc1c",
"name": "OpenAI 聊天模型1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
4020,
1320
],
"parameters": {
"model": "gpt-4o-2024-08-06",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8gccIjcuf3gvaoEr",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "9ab535aa-bd8c-4bd6-a7a0-f7182d8d7123",
"name": "OpenAI聊天模型3",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2720,
-20
],
"parameters": {
"model": "gpt-4o-2024-08-06",
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8gccIjcuf3gvaoEr",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "410acb11-a16c-4abd-9f10-7582168d100e",
"name": "WhatsApp Business Cloud",
"type": "n8n-nodes-base.whatsApp",
"position": [
3360,
-140
],
"parameters": {
"textBody": "={{ $json.text }}",
"operation": "send",
"phoneNumberId": "477115632141067",
"requestOptions": {},
"additionalFields": {},
"recipientPhoneNumber": "44123456789"
},
"credentials": {
"whatsAppApi": {
"id": "9SFJPeqrpChOkAmw",
"name": "WhatsApp account"
}
},
"typeVersion": 1
},
{
"id": "a7e8195d-eb73-4acb-aae1-eb04f8290d24",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
-400
],
"parameters": {
"color": 7,
"width": 616.7897454470152,
"height": 449.1424626006906,
"content": "## 1. 定期搜索即将到来的会议"
},
"typeVersion": 1
},
{
"id": "1aebb209-e440-4ef2-8527-381e5e70b4ea",
"name": "定时触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
326,
-180
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "95758053-fcc2-45c6-96c2-ec0bf89bcb82",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
820,
-520
],
"parameters": {
"color": 7,
"width": 655.5654775604146,
"height": 670.4114154200236,
"content": "## 2. 从邀请中提取参会者详情"
},
"typeVersion": 1
},
{
"id": "bd17aed0-9c96-4301-b09b-e61a03ebc1ac",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1500,
-520
],
"parameters": {
"color": 7,
"width": 1020.0959898041108,
"height": 670.8210817031078,
"content": "## 3. 获取最近通信和 LinkedIn 活动"
},
"typeVersion": 1
},
{
"id": "ae804039-32e0-4d2d-a2ef-a6e8d65f7ce2",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2547.540603371386,
-440
],
"parameters": {
"color": 7,
"width": 610.3630186140072,
"height": 582.1201380897592,
"content": "## 4. 生成会前通知"
},
"typeVersion": 1
},
{
"id": "045eb1d9-fd80-4f9c-8218-ae66583d0186",
"name": "便签说明4",
"type": "n8n-nodes-base.stickyNote",
"position": [
3180,
-360
],
"parameters": {
"color": 7,
"width": 466.8967433831988,
"height": 454.24485615650235,
"content": "## 5. 通过 WhatsApp 发送通知"
},
"typeVersion": 1
},
{
"id": "46d35c68-88d7-445f-9834-b8b37ce90619",
"name": "便签说明5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
260
],
"parameters": {
"color": 7,
"width": 519.1145893777881,
"height": 190.5042226526524,
"content": "## 3.2: 获取最后邮件通信记录"
},
"typeVersion": 1
},
{
"id": "fe1c751c-4879-482b-bb6f-89df23e1faa8",
"name": "便签 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
860
],
"parameters": {
"color": 7,
"width": 667.8619481635637,
"height": 259.7914017217902,
"content": "## 3.4 使用 [Apify.com](https://www.apify.com?fpr=414q6) 抓取 LinkedIn"
},
"typeVersion": 1
},
{
"id": "a648cf7d-b859-4fec-8ae7-6450c70e6333",
"name": "便签 7",
"type": "n8n-nodes-base.stickyNote",
"position": [
920,
310
],
"parameters": {
"color": 7,
"width": 572.0305871208889,
"height": 231.49547088049098,
"content": "## 3.1 参会者研究子工作流"
},
"typeVersion": 1
},
{
"id": "8a8dbe4f-86b1-41a4-9b7e-3affdee8e524",
"name": "返回 LinkedIn 成功",
"type": "n8n-nodes-base.set",
"position": [
4360,
1180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "fc4b63a7-ad4d-49ff-9d42-715760910f6a",
"name": "linkedin_summary",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "537a399b-1f78-440b-abc4-ad2e91c5950a",
"name": "返回 LinkedIn 错误",
"type": "n8n-nodes-base.set",
"position": [
2380,
1320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "bf5a0781-3bad-4f63-a49c-273b03204747",
"name": "linkedin_summary",
"type": "string",
"value": "No activities found."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a68e7df7-8467-46e2-8ea8-fcf270755d12",
"name": "返回邮件错误",
"type": "n8n-nodes-base.set",
"position": [
2080,
680
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9a7efc9e-26b0-48c9-83aa-ae989f20b1df",
"name": "email_summary",
"type": "string",
"value": "No correspondance found."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "00df2b18-22ca-48d6-b053-12fe502effc5",
"name": "返回邮件成功",
"type": "n8n-nodes-base.set",
"position": [
2800,
500
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "fc4b63a7-ad4d-49ff-9d42-715760910f6a",
"name": "email_summary",
"type": "object",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "cdae9f9f-11c0-4f26-9ba1-5d5ed279ebfc",
"name": "设置路由邮件",
"type": "n8n-nodes-base.set",
"position": [
1600,
-260
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{ Object.assign({ \"route\": \"email\" }, $json) }}"
},
"typeVersion": 3.4
},
{
"id": "b01371f6-8871-4ad9-866d-888e22e7908e",
"name": "设置路由 LinkedIn",
"type": "n8n-nodes-base.set",
"position": [
1600,
-100
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{ Object.assign({ \"route\": \"linkedin\" }, $json) }}"
},
"typeVersion": 3.4
},
{
"id": "c4907171-b239-46a6-a0b0-6bf66570005f",
"name": "路由器",
"type": "n8n-nodes-base.switch",
"position": [
1100,
580
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "email",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.route }}",
"rightValue": "email"
}
]
},
"renameOutput": true
},
{
"outputKey": "linkedin",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ba71a258-de67-4f61-a24a-33c86bd4c4f5",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.route }}",
"rightValue": "linkedin"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "45554355-57ad-464d-b768-5b00d707fc58",
"name": "返回 LinkedIn 错误1",
"type": "n8n-nodes-base.set",
"position": [
1440,
870
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "bf5a0781-3bad-4f63-a49c-273b03204747",
"name": "linkedin_summary",
"type": "string",
"value": "No activities found."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "05b04c17-eeeb-42f2-8d94-bc848889f17c",
"name": "有邮件吗?",
"type": "n8n-nodes-base.if",
"position": [
1900,
500
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ff11640a-33e4-4695-a62c-7dcab57f0ae5",
"operator": {
"type": "object",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "c24aca66-6222-46ae-bb9b-1838b01f3100",
"name": "返回邮件错误1",
"type": "n8n-nodes-base.set",
"position": [
1440,
700
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "9a7efc9e-26b0-48c9-83aa-ae989f20b1df",
"name": "email_summary",
"type": "string",
"value": "No correspondance found."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "22f3ccbf-19a2-4ca5-ba23-f91963b52c0a",
"name": "便签 9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2560,
920
],
"parameters": {
"color": 7,
"width": 682.7350931085596,
"height": 219.59936012669806,
"content": "## 3.5: 提取 LinkedIn 个人资料和最近活动"
},
"typeVersion": 1
},
{
"id": "49b1fc8f-1259-4596-84b0-b37fae1c098c",
"name": "部分转为列表",
"type": "n8n-nodes-base.splitOut",
"position": [
2720,
1180
],
"parameters": {
"options": {
"destinationFieldName": "data"
},
"fieldToSplitOut": "sections"
},
"typeVersion": 1
},
{
"id": "875b278d-44c6-4315-87e3-459a90799a9b",
"name": "设置 LinkedIn Cookie",
"type": "n8n-nodes-base.set",
"position": [
1800,
1180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b4354c00-cc1a-4a55-8b44-6ba4854cc6ba",
"name": "linkedin_profile_url",
"type": "string",
"value": "={{ $json.linkedin_url }}"
},
{
"id": "4888db89-2573-4246-8ab9-c106a7fe5f38",
"name": "linkedin_cookies",
"type": "string",
"value": "<COPY_YOUR_LINKEDIN_COOKIES_HERE>"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "91da49ab-86a1-4539-b673-106b9edaeae9",
"name": "## 为什么选择 4o 模型?👆",
"type": "n8n-nodes-base.stickyNote",
"position": [
1400,
1240
],
"parameters": {
"color": 3,
"width": 308.16846950517856,
"height": 110.18457997698513,
"content": "### 注意 LinkedIn 服务条款!"
},
"typeVersion": 1
},
{
"id": "7abd390f-36a6-49af-b190-5bb720bd2ae8",
"name": "便签10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
1152
],
"parameters": {
"width": 209.84856156501735,
"height": 301.5806674338321,
"content": ""
},
"typeVersion": 1
},
{
"id": "40dfb438-76c2-40b5-8945-94dcf7cafcf7",
"name": "参会者转为列表",
"type": "n8n-nodes-base.splitOut",
"position": [
1260,
-180
],
"parameters": {
"options": {},
"fieldToSplitOut": "output.attendees"
},
"typeVersion": 1
},
{
"id": "cc7f8416-6ea1-4425-a320-3f8217d2ad4e",
"name": "合并参会者与摘要",
"type": "n8n-nodes-base.set",
"position": [
2160,
-180
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{ Object.assign({}, $('Attendees to List').item.json, $json) }}"
},
"typeVersion": 3.4
},
{
"id": "459c5f2b-5dd5-491f-8bed-475ae5af7ac0",
"name": "有电子邮件地址吗?",
"type": "n8n-nodes-base.if",
"position": [
1280,
580
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1382e335-bfae-4665-a2ee-a05496a7b463",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.email }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "610e9849-f06c-4534-a269-d1982dcab259",
"name": "有 LinkedIn URL 吗?",
"type": "n8n-nodes-base.if",
"position": [
1280,
750
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1382e335-bfae-4665-a2ee-a05496a7b463",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.linkedin_url }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "43e5192e-c1b0-4d71-8d0e-aa466aa9930c",
"name": "获取通信记录",
"type": "n8n-nodes-base.executeWorkflow",
"onError": "continueRegularOutput",
"position": [
1780,
-260
],
"parameters": {
"mode": "each",
"options": {
"waitForSubWorkflow": true
},
"workflowId": {
"__rl": true,
"mode": "id",
"value": "={{ $workflow.id }}"
}
},
"typeVersion": 1.1
},
{
"id": "4662f928-d38b-42e1-8a70-5676eb638ce1",
"name": "合并",
"type": "n8n-nodes-base.merge",
"position": [
2000,
-180
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3
},
{
"id": "3eaf5d5b-d99c-4f9f-beaa-53b859bf482e",
"name": "聚合参会者",
"type": "n8n-nodes-base.aggregate",
"position": [
2340,
-180
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "attendees"
},
"typeVersion": 1
},
{
"id": "752afdd3-0561-4e53-8b18-391741a2f43b",
"name": "活动转为数组",
"type": "n8n-nodes-base.aggregate",
"position": [
3680,
1360
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": "activity"
},
"typeVersion": 1
},
{
"id": "a35dc751-62a0-4f5c-92cb-2801d060c613",
"name": "提取个人资料元数据",
"type": "n8n-nodes-base.html",
"position": [
2560,
1180
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"dataPropertyName": "body",
"extractionValues": {
"values": [
{
"key": "name",
"cssSelector": "h1"
},
{
"key": "tagline",
"cssSelector": ".pv-text-details__left-panel--full-width .text-body-medium"
},
{
"key": "location",
"cssSelector": ".pv-text-details__left-panel--full-width + div .text-body-small"
},
{
"key": "num_connections",
"cssSelector": "a[href=\"/mynetwork/invite-connect/connections/\"]"
},
{
"key": "num_followers",
"cssSelector": "a[href=\"https://www.linkedin.com/feed/followers/\"]"
},
{
"key": "sections",
"cssSelector": "section[data-view-name]",
"returnArray": true,
"returnValue": "html"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "5685ec9f-c219-41b4-94d7-787daef8a628",
"name": "活动转为列表",
"type": "n8n-nodes-base.splitOut",
"position": [
3360,
1360
],
"parameters": {
"options": {},
"fieldToSplitOut": "activity"
},
"typeVersion": 1
},
{
"id": "71240827-3e0d-4276-afb0-9ed72878ea4c",
"name": "APIFY 网页抓取器",
"type": "n8n-nodes-base.httpRequest",
"position": [
2000,
1180
],
"parameters": {
"url": "https://api.apify.com/v2/acts/apify~web-scraper/run-sync-get-dataset-items",
"options": {},
"jsonBody": "={\n \"startUrls\": [\n {\n \"url\": \"{{ $json.linkedin_profile_url }}\",\n \"method\": \"GET\"\n }\n ],\n \"initialCookies\": [\n {\n \"name\": \"li_at\",\n \"value\": \"{{ $json.linkedin_cookies.match(/li_at=([^;]+)/)[1] }}\",\n \"domain\": \".www.linkedin.com\"\n }\n ],\n \"breakpointLocation\": \"NONE\",\n \"browserLog\": false,\n \"closeCookieModals\": false,\n \"debugLog\": false,\n \"downloadCss\": false,\n \"downloadMedia\": false,\n \"excludes\": [\n {\n \"glob\": \"/**/*.{png,jpg,jpeg,pdf}\"\n }\n ],\n \"headless\": true,\n \"ignoreCorsAndCsp\": false,\n \"ignoreSslErrors\": false,\n \n \"injectJQuery\": true,\n \"keepUrlFragments\": false,\n \"linkSelector\": \"a[href]\",\n \"maxCrawlingDepth\": 1,\n \"maxPagesPerCrawl\": 1,\n \"maxRequestRetries\": 1,\n \"maxResultsPerCrawl\": 1,\n \"pageFunction\": \"// The function accepts a single argument: the \\\"context\\\" object.\\n// For a complete list of its properties and functions,\\n// see https://apify.com/apify/web-scraper#page-function \\nasync function pageFunction(context) {\\n\\n await new Promise(res => { setTimeout(res, 6000) });\\n // This statement works as a breakpoint when you're trying to debug your code. Works only with Run mode: DEVELOPMENT!\\n // debugger; \\n\\n // jQuery is handy for finding DOM elements and extracting data from them.\\n // To use it, make sure to enable the \\\"Inject jQuery\\\" option.\\n const $ = context.jQuery;\\n const title = $('title').first().text();\\n\\n // Clone the body to avoid modifying the original content\\n const bodyClone = $('body').clone();\\n bodyClone.find('iframe, img, script, style, object, embed, noscript, svg, video, audio').remove();\\n const body = bodyClone.html();\\n\\n // Return an object with the data extracted from the page.\\n // It will be stored to the resulting dataset.\\n return {\\n url: context.request.url,\\n title,\\n body\\n };\\n}\",\n \"postNavigationHooks\": \"// We need to return array of (possibly async) functions here.\\n// The functions accept a single argument: the \\\"crawlingContext\\\" object.\\n[\\n async (crawlingContext) => {\\n // ...\\n },\\n]\",\n \"preNavigationHooks\": \"// We need to return array of (possibly async) functions here.\\n// The functions accept two arguments: the \\\"crawlingContext\\\" object\\n// and \\\"gotoOptions\\\".\\n[\\n async (crawlingContext, gotoOptions) => {\\n // ...\\n },\\n]\\n\",\n \"proxyConfiguration\": {\n \"useApifyProxy\": true\n },\n \"runMode\": \"PRODUCTION\",\n \n \"useChrome\": false,\n \"waitUntil\": [\n \"domcontentloaded\"\n ],\n \"globs\": [],\n \"pseudoUrls\": [],\n \"proxyRotation\": \"RECOMMENDED\",\n \"maxConcurrency\": 50,\n \"pageLoadTimeoutSecs\": 60,\n \"pageFunctionTimeoutSecs\": 60,\n \"maxScrollHeightPixels\": 5000,\n \"customData\": {}\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpQueryAuth"
},
"credentials": {
"httpQueryAuth": {
"id": "cO2w8RDNOZg8DRa8",
"name": "Apify API"
}
},
"typeVersion": 4.2
},
{
"id": "01659121-44f9-4d53-b973-cea29a8b0301",
"name": "获取活动详情",
"type": "n8n-nodes-base.html",
"position": [
3520,
1360
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"dataPropertyName": "activity",
"extractionValues": {
"values": [
{
"key": "header",
"attribute": "aria-label",
"cssSelector": ".feed-mini-update-optional-navigation-context-wrapper",
"returnValue": "attribute"
},
{
"key": "url",
"attribute": "href",
"cssSelector": ".feed-mini-update-optional-navigation-context-wrapper",
"returnValue": "attribute"
},
{
"key": "content",
"cssSelector": ".inline-show-more-text--is-collapsed"
},
{
"key": "num_reactions",
"cssSelector": ".social-details-social-counts__reactions-count"
},
{
"key": "num_comments",
"cssSelector": ".social-details-social-counts__comments"
},
{
"key": "num_reposts",
"cssSelector": ".social-details-social-counts__item--truncate-text"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "420a3a3e-ca99-49fb-b6b7-e9757f27b5d4",
"name": "获取部分",
"type": "n8n-nodes-base.html",
"position": [
2880,
1180
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"extractionValues": {
"values": [
{
"key": "title",
"cssSelector": "h2 [aria-hidden=true]"
},
{
"key": "content",
"cssSelector": "*",
"returnValue": "html"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "4983c987-79a7-4725-9913-630a71608f41",
"name": "获取关于部分",
"type": "n8n-nodes-base.set",
"position": [
3040,
1180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "79d7943f-45a5-456c-a15b-cef53903409d",
"name": "html",
"type": "string",
"value": "={{\n$input.all()\n .find(input => input.json.title.toLowerCase().trim() === 'about')\n .json\n .content\n}}"
}
]
}
},
"executeOnce": true,
"typeVersion": 3.4
},
{
"id": "0e8bed5b-a622-4dbd-a11e-24df5d68f038",
"name": "获取活动部分",
"type": "n8n-nodes-base.set",
"position": [
3040,
1360
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "79d7943f-45a5-456c-a15b-cef53903409d",
"name": "html",
"type": "string",
"value": "={{\n$input.all()\n .find(input => input.json.title.toLowerCase().trim() === 'activity')\n .json\n .content\n}}"
}
]
}
},
"executeOnce": true,
"typeVersion": 3.4
},
{
"id": "5dd2677f-a4fc-447f-af7d-28e90dda46e8",
"name": "提取活动",
"type": "n8n-nodes-base.html",
"position": [
3200,
1360
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"dataPropertyName": "html",
"extractionValues": {
"values": [
{
"key": "activity",
"cssSelector": ".profile-creator-shared-feed-update__mini-container",
"returnArray": true,
"returnValue": "html"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "1a32808f-e465-47ef-b8bd-52b19c26ff1a",
"name": "合并1",
"type": "n8n-nodes-base.merge",
"position": [
3860,
1180
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineByPosition"
},
"typeVersion": 3
},
{
"id": "6e452337-55a3-4466-a094-ec9106b36498",
"name": "抓取成功吗?",
"type": "n8n-nodes-base.if",
"position": [
2180,
1180
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "3861abc7-7699-4459-b983-0c8b33e090b5",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.body }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "51a79d99-46af-4951-a99e-64f1d59f556e",
"name": "提取关于",
"type": "n8n-nodes-base.html",
"position": [
3200,
1180
],
"parameters": {
"options": {},
"operation": "extractHtmlContent",
"dataPropertyName": "html",
"extractionValues": {
"values": [
{
"key": "about",
"cssSelector": "body"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "d943fbde-f8fc-42b1-8b7e-f73735b81394",
"name": "便签11",
"type": "n8n-nodes-base.stickyNote",
"position": [
3860,
940
],
"parameters": {
"color": 7,
"width": 508.12647286359606,
"height": 212.26880753952497,
"content": "## 3.6 为参会者总结 LinkedIn"
},
"typeVersion": 1
},
{
"id": "b64bbfb0-ebd6-4fe7-9c02-3c1b72407df5",
"name": "便签12",
"type": "n8n-nodes-base.stickyNote",
"position": [
2460,
270
],
"parameters": {
"color": 7,
"width": 593.8676556715506,
"height": 196.6490014749014,
"content": "## 3.3: 为参会者总结通信记录"
},
"typeVersion": 1
},
{
"id": "a2dd5060-dd12-463b-8bbe-327ed691bdb9",
"name": "获取 LinkedIn 个人资料和活动",
"type": "n8n-nodes-base.executeWorkflow",
"onError": "continueRegularOutput",
"position": [
1780,
-100
],
"parameters": {
"mode": "each",
"options": {
"waitForSubWorkflow": true
},
"workflowId": {
"__rl": true,
"mode": "id",
"value": "={{ $workflow.id }}"
}
},
"typeVersion": 1.1
},
{
"id": "fde0fa35-e692-4ca9-83ef-14e527f2f8d2",
"name": "便签13",
"type": "n8n-nodes-base.stickyNote",
"position": [
-320,
-660
],
"parameters": {
"width": 453.4804561790962,
"height": 588.3011632094225,
"content": "## 试试看!"
},
"typeVersion": 1
},
{
"id": "f2f19824-9865-465b-a612-7d3215209c79",
"name": "通信记录回顾代理",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2460,
500
],
"parameters": {
"text": "=from: {{ $json.from }}\nto: {{ $json.to }}\ndate: {{ $json.date }}\nsubject: {{ $json.subject }}\ntext:\n{{ $json.text }}",
"messages": {
"messageValues": [
{
"message": "=You are helping the \"to\" user recap the last correspondance they had in this email thread. Summarize succiently what was discussed, changed or agreed to help the user prepare for their upcoming meeting."
}
]
},
"promptType": "define"
},
"typeVersion": 1.4
},
{
"id": "42641933-edf6-4b01-a17f-8cda2be7a093",
"name": "参会者研究代理",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2720,
-180
],
"parameters": {
"text": "=meeting date: {{ $('Check For Upcoming Meetings').item.json.start.dateTime }}\nmeeting url: {{ $('Check For Upcoming Meetings').item.json.hangoutLink }}\nmeeting summary: {{ $('Check For Upcoming Meetings').first().json.summary }}\nmeeting description: {{ $('Check For Upcoming Meetings').item.json.description }}\nmeeting with: {{ $json.attendees.map(item => item.name).join(',') }}\n---\n{{\n$json.attendees.map(item => {\n return\n`attendee name: ${item.name}\n${item.name}'s last correspondance: ${item.email_summary.replaceAll('\\n', ' ') || `We have not had any correspondance with ${item.name}`}\n${item.name}'s linkedin profile: ${item.linkedin_summary.replaceAll('\\n', ' ') || `We were unable to find the linkedin profile for ${$json.name}`}\n`\n}).join('\\n---\\n')\n}}",
"messages": {
"messageValues": [
{
"message": "=You are a personal meeing assistant.\nYou are helping to remind user of an upcoming meeting with {{ $json.attendees.map(item => item.name).join(',') }} (aka \"the attendee(s)\"}. You will structure your notification using the following guidance:\n1. Start by providing the meeting summary, mentioning the date, with whom and providing the meeting link.\n2. For each attendee, give a short bullet point summary of their last correspondance. Assess if the correspondance has any relevance to the meeting and if so, identify any important todos or items which should be mentioned during the meeting. Additionally, give a short bullet point summary of attendee's recent activity which makes for good talking points. These need not be relevant to the meeting.\n\nWrite your response in a casual tone as if sending a SMS message to the user. USe bullet points where appropriate."
}
]
},
"promptType": "define"
},
"typeVersion": 1.4
},
{
"id": "1916515d-8b85-4da9-ac17-1c08485cdf04",
"name": "LinkedIn 摘要代理",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
4020,
1180
],
"parameters": {
"text": "=### name\n{{ $('Extract Profile Metadata').item.json.name }}\n### about\n\"{{ $('Extract Profile Metadata').item.json.tagline }}\"\n{{ $json.about.replaceAll('\\n', ' ')}}\n### recent activity\n{{\n$json.activity.map((item, idx) => {\n return [\n item.header.replace('View full post.', ''),\n `(${item.url})`,\n ' - ',\n item.content.replaceAll('\\n', ' ').replaceAll('…show more', '')\n ].join(' ')\n}).join('\\n---\\n')\n}}",
"messages": {
"messageValues": [
{
"message": "=Summarize briefly the person and their recent activities as seen in the given feed and highlight noteworthy awards or achievements which make for good talking points."
}
]
},
"promptType": "define"
},
"typeVersion": 1.4
}
],
"pinData": {},
"connections": {
"Merge": {
"main": [
[
{
"node": "Merge Attendee with Summaries",
"type": "main",
"index": 0
}
]
]
},
"Merge1": {
"main": [
[
{
"node": "LinkedIn Summarizer Agent",
"type": "main",
"index": 0
}
]
]
},
"Router": {
"main": [
[
{
"node": "Has Email Address?",
"type": "main",
"index": 0
}
],
[
{
"node": "Has LinkedIn URL?",
"type": "main",
"index": 0
}
]
]
},
"Has Emails?": {
"main": [
[
{
"node": "Get Message Contents",
"type": "main",
"index": 0
}
],
[
{
"node": "Return Email Error",
"type": "main",
"index": 0
}
]
]
},
"Get Sections": {
"main": [
[
{
"node": "Get About Section",
"type": "main",
"index": 0
},
{
"node": "Get Activity Section",
"type": "main",
"index": 0
}
]
]
},
"Extract About": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
},
"Set Route Email": {
"main": [
[
{
"node": "Get Correspondance",
"type": "main",
"index": 0
}
]
]
},
"Simplify Emails": {
"main": [
[
{
"node": "Correspondance Recap Agent",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Check For Upcoming Meetings",
"type": "main",
"index": 0
}
]
]
},
"Sections To List": {
"main": [
[
{
"node": "Get Sections",
"type": "main",
"index": 0
}
]
]
},
"APIFY Web Scraper": {
"main": [
[
{
"node": "Is Scrape Successful?",
"type": "main",
"index": 0
}
]
]
},
"Attendees to List": {
"main": [
[
{
"node": "Set Route Email",
"type": "main",
"index": 0
},
{
"node": "Set Route Linkedin",
"type": "main",
"index": 0
}
]
]
},
"Get About Section": {
"main": [
[
{
"node": "Extract About",
"type": "main",
"index": 0
}
]
]
},
"Has LinkedIn URL?": {
"main": [
[
{
"node": "Set LinkedIn Cookie",
"type": "main",
"index": 0
}
],
[
{
"node": "Return LinkedIn Error1",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Correspondance Recap Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Activities To List": {
"main": [
[
{
"node": "Get Activity Details",
"type": "main",
"index": 0
}
]
]
},
"Extract Activities": {
"main": [
[
{
"node": "Activities To List",
"type": "main",
"index": 0
}
]
]
},
"Get Correspondance": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Has Email Address?": {
"main": [
[
{
"node": "Get Last Correspondence",
"type": "main",
"index": 0
}
],
[
{
"node": "Return Email Error1",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "LinkedIn Summarizer Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Extract Attendee Information",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model3": {
"ai_languageModel": [
[
{
"node": "Attendee Research Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Set Route Linkedin": {
"main": [
[
{
"node": "Get LinkedIn Profile & Activity",
"type": "main",
"index": 0
}
]
]
},
"Activities To Array": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
}
]
]
},
"Aggregate Attendees": {
"main": [
[
{
"node": "Attendee Research Agent",
"type": "main",
"index": 0
}
]
]
},
"Set LinkedIn Cookie": {
"main": [
[
{
"node": "APIFY Web Scraper",
"type": "main",
"index": 0
}
]
]
},
"Get Activity Details": {
"main": [
[
{
"node": "Activities To Array",
"type": "main",
"index": 0
}
]
]
},
"Get Activity Section": {
"main": [
[
{
"node": "Extract Activities",
"type": "main",
"index": 0
}
]
]
},
"Get Message Contents": {
"main": [
[
{
"node": "Simplify Emails",
"type": "main",
"index": 0
}
]
]
},
"Is Scrape Successful?": {
"main": [
[
{
"node": "Extract Profile Metadata",
"type": "main",
"index": 0
}
],
[
{
"node": "Return LinkedIn Error",
"type": "main",
"index": 0
}
]
]
},
"Attendee Research Agent": {
"main": [
[
{
"node": "WhatsApp Business Cloud",
"type": "main",
"index": 0
}
]
]
},
"Get Last Correspondence": {
"main": [
[
{
"node": "Has Emails?",
"type": "main",
"index": 0
}
]
]
},
"Execute Workflow Trigger": {
"main": [
[
{
"node": "Router",
"type": "main",
"index": 0
}
]
]
},
"Extract Profile Metadata": {
"main": [
[
{
"node": "Sections To List",
"type": "main",
"index": 0
}
]
]
},
"LinkedIn Summarizer Agent": {
"main": [
[
{
"node": "Return LinkedIn Success",
"type": "main",
"index": 0
}
]
]
},
"Correspondance Recap Agent": {
"main": [
[
{
"node": "Return Email Success",
"type": "main",
"index": 0
}
]
]
},
"Check For Upcoming Meetings": {
"main": [
[
{
"node": "Extract Attendee Information",
"type": "main",
"index": 0
}
]
]
},
"Extract Attendee Information": {
"main": [
[
{
"node": "Attendees to List",
"type": "main",
"index": 0
}
]
]
},
"Merge Attendee with Summaries": {
"main": [
[
{
"node": "Aggregate Attendees",
"type": "main",
"index": 0
}
]
]
},
"Get LinkedIn Profile & Activity": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 销售, 人工智能
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
其他
使用 n8n、Apify 和 OpenAI o3 自托管 AI 深度研究代理
使用 n8n、Apify 和 OpenAI o3 自托管 AI 深度研究代理
If
Set
Code
+20
87 节点Jimleuk
人工智能
YouTube RAG 搜索前端(使用 Apify、Qdrant 和 AI)
基于 Apify、Qdrant 和 AI 的 YouTube RAG 搜索前端
If
Set
Html
+23
62 节点Jimleuk
人工智能
使用Excel、Outlook和AI的每日新闻简报服务
使用Excel、Outlook和AI的每日新闻简报服务
If
Set
Html
+13
33 节点Jimleuk
人工智能
(Duc)深度研究市场模板
集成PerplexityAI研究和OpenAI内容的多层级WordPress博客生成器
If
Set
Xml
+28
132 节点Daniel Ng
人工智能
使用 AI 和 n8n 表单筛选预约请求
使用 AI 和 n8n 表单筛选预约请求
If
Set
Form
+9
25 节点Jimleuk
销售
工作流信息
难度等级
高级
节点数量61
分类2
节点类型18
作者
Jimleuk
@jimleukFreelance consultant based in the UK specialising in AI-powered automations. I work with select clients tackling their most challenging projects. For business enquiries, send me an email at hello@jimle.uk LinkedIn: https://www.linkedin.com/in/jimleuk/ X/Twitter: https://x.com/jimle_uk
外部链接
在 n8n.io 查看 →
分享此工作流