使用 MadKudu MCP 通过 AI 准备外部 Google Calendar 会议
中级
这是一个CRM, AI Summarization领域的自动化工作流,包含 13 个节点。主要使用 Filter, SplitOut, GoogleCalendar, Agent, ScheduleTrigger 等节点。 使用 GPT-4 和 MadKudu MCP 为 Google Calendar 生成 AI 会议简报
前置要求
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "Wlqg5aeZgBFNfQRm",
"meta": {
"instanceId": "f6f8c184929a9f843505f5273ebb41a7a951a35345a1095a4acc1d4034a73fa3",
"templateCredsSetupCompleted": true
},
"name": "使用MadKudu MCP通过AI准备外部Google Calendar会议",
"tags": [],
"nodes": [
{
"id": "7c6a9973-5f65-4023-b883-aa248e72cb9b",
"name": "计划触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
192,
0
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "2e638051-76b6-4a00-9f73-e149f6f7f1c6",
"name": "获取多个事件",
"type": "n8n-nodes-base.googleCalendar",
"position": [
384,
0
],
"parameters": {
"options": {},
"timeMax": "={{ $now.plus({ hour: 1 }) }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "margo.rey@madkudu.com",
"cachedResultName": "margo.rey@madkudu.com"
},
"operation": "getAll"
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "uDpevl5X3MHVJwzD",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "ba2a5f9a-ab8b-49bd-9a4c-63a7369a9aee",
"name": "拆分日历事件",
"type": "n8n-nodes-base.splitOut",
"position": [
592,
0
],
"parameters": {
"include": "allOtherFields",
"options": {},
"fieldToSplitOut": "id"
},
"typeVersion": 1
},
{
"id": "68a13464-f449-4ca3-a2ff-05efbe3ed7fa",
"name": "保留有外部参与者的会议",
"type": "n8n-nodes-base.filter",
"position": [
1040,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9fb0a08e-18b1-4eab-bc5b-3e63100b2b5a",
"operator": {
"type": "array",
"operation": "lengthGt",
"rightType": "number"
},
"leftValue": "={{ $('Split Calendar Events').item.json.attendees }}",
"rightValue": 1
},
{
"id": "eb7379a1-b7d0-45dc-be04-d9ae54426317",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.attendees.some(a => !a.email.includes('@'+$vars.my_company_domain)) }}",
"rightValue": "true"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "13b751bb-3854-4df4-8405-dad3d14da24e",
"name": "AI代理 - 研究参与者",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1376,
0
],
"parameters": {
"text": "=# Context\nYou are an executive assistant. You are tasked with helping me prepare for an upcoming meeting.\n\n# Instructions\nPlease research these attendees: \n {{ JSON.stringify($json.attendees.filter(a => !a.email.includes('@'+$vars.my_company_domain)).map(a => a.email)) }} \nand their associated company using the following research tools:\n\n- `madkudu-value-prop`\n- `madkudu-account-details`\n- `madkudu-account-activities`\n- `madkudu-account-brief-instruction`\n- `madkudu-account-top-persons`\n- `madkudu-person-details`\n- `madkudu-person-activities`\n\nAlso use, if relevant, the context about the meeting:\n\n– **meeting title:**\n{{ $json.summary }}\n\n– **meeting description:**\n{{ $json.description }}\n\n# Format\nAlways format the output in plain text with the following sections:\n\n## TL;DR\nThis section should help me understand how to approach the meeting. \nKeep it high level, 2–3 sentences max.\n\n## Person Summary\nShare relevant information about the attendees (excluding madkudu.com, personal emails).\n\n## Account Summary\n### Overall Account Engagement including top persons\nThis section should highlight relevant people based on their engagement so Francis can name drop them. \nFlag power users, growing usage, and any relevant trend.\n\n## Account Brief\nThis section should help me grasp the overall context of the account and frame the conversation accordingly. \nShare the full account brief.\n",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.1
},
{
"id": "82cd9069-f074-4fdd-99a1-d34f5d756376",
"name": "将摘要作为事件发送",
"type": "n8n-nodes-base.googleCalendar",
"position": [
1904,
0
],
"parameters": {
"end": "={{ $('Keep meetings with external attendees').item.json.end.dateTime }}",
"start": "={{ $('Keep meetings with external attendees').item.json.start.dateTime }}",
"calendar": {
"__rl": true,
"mode": "list",
"value": "margo.rey@madkudu.com",
"cachedResultName": "margo.rey@madkudu.com"
},
"additionalFields": {
"summary": "=Prep meeting {{ $('Keep meetings with external attendees').item.json.summary }}",
"description": "={{ $json.output }}"
}
},
"credentials": {
"googleCalendarOAuth2Api": {
"id": "uDpevl5X3MHVJwzD",
"name": "Google Calendar account"
}
},
"typeVersion": 1.3
},
{
"id": "4d71746d-4f0e-4b34-813d-94b30c8cce8c",
"name": "MadKudu MCP",
"type": "@n8n/n8n-nodes-langchain.mcpClientTool",
"position": [
1536,
224
],
"parameters": {
"sseEndpoint": "=https://mcp.madkudu.com/{{$vars.madkudu_api_key}}/sse\n"
},
"typeVersion": 1
},
{
"id": "30ccf0f2-b22e-42fb-8170-6b7781149070",
"name": "OpenAI模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1376,
224
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "gmWcRtweC5afMtgW",
"name": "n8n free OpenAI API credits"
}
},
"typeVersion": 1.2
},
{
"id": "dbbfbf49-0783-4d0a-8015-a5a43d5c94f5",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-304,
-208
],
"parameters": {
"width": 416,
"height": 672,
"content": "# 试试看!"
},
"typeVersion": 1
},
{
"id": "31e1c1e5-7ecc-4a6a-8cba-42fb73e59532",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
768,
-192
],
"parameters": {
"color": 7,
"width": 544,
"height": 352,
"content": "### 2. 仅保留外部会议"
},
"typeVersion": 1
},
{
"id": "da6d92ff-4acd-4835-9e85-5c58c1efee11",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1360,
-192
],
"parameters": {
"color": 7,
"width": 416,
"height": 352,
"content": "### 3. 研究参与者并生成摘要"
},
"typeVersion": 1
},
{
"id": "b4e8cfc3-8ca0-459d-b819-6deeabfa90b1",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1824,
-192
],
"parameters": {
"color": 7,
"width": 416,
"height": 352,
"content": "### 4. 发送包含摘要的会议邀请"
},
"typeVersion": 1
},
{
"id": "4ff628a1-3eea-40c7-9c2b-1681c8c28e02",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
144,
-192
],
"parameters": {
"color": 7,
"width": 592,
"height": 352,
"content": "### 1. 每小时检查新会议"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "4ac0ba48-715e-476e-836b-6800f0d2e777",
"connections": {
"MadKudu MCP": {
"ai_tool": [
[
{
"node": "AI Agent - Research Attendees",
"type": "ai_tool",
"index": 0
}
]
]
},
"OpenAI Model": {
"ai_languageModel": [
[
{
"node": "AI Agent - Research Attendees",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get many events": {
"main": [
[
{
"node": "Split Calendar Events",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get many events",
"type": "main",
"index": 0
}
]
]
},
"Split Calendar Events": {
"main": [
[
{
"node": "Keep meetings with external attendees",
"type": "main",
"index": 0
}
]
]
},
"AI Agent - Research Attendees": {
"main": [
[
{
"node": "Send summary as event",
"type": "main",
"index": 0
}
]
]
},
"Keep meetings with external attendees": {
"main": [
[
{
"node": "AI Agent - Research Attendees",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 客户关系管理, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
生成并发送MadKudu客户简报至Outreach
基于MadKudu、OpenAI和Salesforce的AI生成客户简报,用于Outreach
Salesforce
Http Request
Manual Trigger
+4
16 节点Margo Rey
客户关系管理
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
其他
通过AI分析HubSpot和Google Sheets数据预测客户流失
通过AI分析HubSpot和Google Sheets数据预测客户流失
Set
Code
Merge
+17
27 节点PollupAI
客户关系管理
多 CRM 数据同步至 Google Sheets 并附带 AI 去重
将 HubSpot、Pipedrive 和 Salesforce 数据同步至 Google Sheets,使用 OpenAI 进行去重
Set
Code
Merge
+8
18 节点Grace Gbadamosi
客户关系管理
基于AI的会议研究与每日议程(Google日历、Attio CRM和Slack)
基于AI的会议研究与每日议程:使用Google日历、Attio CRM和Slack
If
Set
Code
+15
30 节点Harry Siggins
AI 摘要总结
自动化会议准备
使用 GPT-5 和 Gemini 研究从日历到 Slack 通过 Attio CRM 自动准备会议
If
Set
Code
+16
39 节点Harry Siggins
AI 摘要总结