AI PLAY玩法更新持续收录
← 回到更新流

2026-09-15 · 原文发布日

开会前自动汇总邮件上下文生成议程草稿

适合会议多的职场人的n8n模板:每15分钟扫一次Google Calendar即将开始的会议,对照Google Sheets里的处理记录跳过已办会议;对每个新会议,搜索近30天内与参会人的Gmail往来邮件,把摘要片段和会议信息一起交给GPT-4o-mini生成Markdown议程与会前简报。产出物自动建成一封发给参会人的Gmail草稿,同时推一条Telegram提醒,并把事件ID写回表格防重复;流程出错时向Slack和Telegram发告警。

原文要点

原模板为n8n官方模板站免费工作流(Rahul Joshi),每15分钟由Schedule触发器拉取Google Calendar即将开始的会议,读取Google Sheets“Meeting Prep Log”表中的已处理事件ID去重;对每个新会议搜索近30天参会人的Gmail邮件摘要,连同会议信息交给OpenAI gpt-4o-mini生成Markdown议程与会前简报,然后创建一封发参会人的Gmail草稿、发Telegram提醒、把Event ID写回表格;流程出错时通过错误触发器向Slack和Telegram发告警。模板中表格ID、Telegram聊天ID等以占位符给出需自行替换。

这次做成什么

照着本指南在n8n里搭一条“会前自动生成议程草稿”流程:定时发现新会议→查重→抓取邮件上下文→AI生成议程→产出Gmail草稿+Telegram提醒→记录防重。本站给出分步搭建方案与独立练习配置,节点名以n8n界面为准。

准备什么

  • 一个n8n实例(云版或自托管均可,版本含Schedule Trigger节点)
  • Google账号及Calendar、Gmail、Sheets的OAuth2凭据
  • OpenAI API密钥,能调用gpt-4o-mini
  • Telegram Bot Token及两个聊天ID(本人提醒与管理员告警)
  • Slack工作区OAuth2凭据及一个告警频道
  • 一张含“Meeting Prep Log”标签页且首列为Event ID的Google表

具体怎么做

  1. 建触发与查重段

    新建工作流,加Schedule Trigger设为每15分钟;接Google Calendar节点拉取即将开始的会议;再接Google Sheets节点读取“Meeting Prep Log”的Event ID列,用IF节点比较事件ID是否已存在,已存在则跳过。

  2. 收集邮件上下文

    对每个未处理会议,用Gmail节点(Search Messages)按参会人邮箱和近30天时间范围搜索往来邮件,用Set或Code节点把各邮件摘要片段拼成一段“会议上下文”文本,和会议标题、时间、参会人放进同一字段。

  3. AI生成议程

    接OpenAI节点选gpt-4o-mini,把会议信息与邮件上下文填入下方材料里的中文提示词,输出Markdown议程与会前简报。

  4. 产出与回写

    用Gmail节点Create Draft以参会人为收件人、议程正文为邮件内容建草稿;Telegram节点向本人聊天ID发送格式化议程;Google Sheets节点Append把Event ID与会议标题追加进Meeting Prep Log。

  5. 错误告警

    在工作流设置中指定Error Workflow:新建一条含Error Trigger的流程,分别接Slack节点(发到告警频道)和Telegram节点(发到管理员聊天ID),消息模板含出错节点名与错误信息。

可直接复制的材料

议程生成提示词(本站独立撰写)

本站独立编写示例;字段名(summary、start.dateTime等)需按你实际节点的输出字段调整。

你是一名会议筹备助理。请根据以下信息生成一份Markdown格式的会前材料。

会议标题:{{ $json.summary }}
会议时间:{{ $json.start.dateTime }}
参会人:{{ $json.attendees }}
近30天相关邮件摘要:
{{ $json.emailContext }}

要求:
1. 先给“会议背景”一段,概述邮件往来中体现的最新进展与分歧点;
2. 再给“建议议程”,3至6条,每条注明建议时长(分钟);
3. 然后给“待确认问题”,列出邮件中提到但未定论的事项;
4. 最后给“会前准备清单”,列出参会人应提前准备的材料;
5. 全文使用简体中文,语气正式,不要编造邮件中没有的事实。

Meeting Prep Log表结构示例

合成示例数据;Event ID列名与模板占位符一致,替换为你的真实表格ID后使用。

Event ID,Meeting Title,Processed At
_demo_evt_001,季度预算评审会,2026-09-14 10:15
_demo_evt_002,供应商续约沟通会,2026-09-14 16:30

测试触发参数占位符清单

前三个占位符来自原模板设置说明,必须替换成自己的ID;后三项为本站建议练习参数,可按需改。

{
  "sheetId": "REPLACE_WITH_YOUR_MEETING_PREP_SHEET_ID",
  "telegramChatId": "REPLACE_WITH_YOUR_TELEGRAM_CHAT_ID",
  "adminTelegramChatId": "YOUR_ADMIN_TELEGRAM_CHAT_ID",
  "calendarWindowMinutes": 120,
  "gmailLookbackDays": 30,
  "openaiModel": "gpt-4o-mini"
}

输入与输出示例

本站虚构演示,非作者流程实际运行结果;议程文字为示意,真实输出取决于你的邮件内容。

输入

日历中有一条新会议“产品定价讨论会”,明天14:00开始,参会人为chen@example.com和liu@example.com;Gmail近30天检索到3封往来邮件,主题分别是“定价方案v2反馈”“折扣权限确认”“下周会议时间敲定”,Meeting Prep Log中不存在该事件ID。

对应输出

Gmail草稿箱新增一封发两位参会人的草稿,正文含“会议背景:围绕定价方案v2的折扣权限尚有分歧”“建议议程:1. v2方案回顾(10分钟)2. 折扣权限边界(15分钟)3. 上线时间确认(10分钟)”等Markdown内容;Telegram收到同议程提醒;Meeting Prep Log追加一行“_demo_evt_003,产品定价讨论会,2026-09-15 14:05”。

做完检查这些

  • 在日历建一个测试会议后,15分钟周期内Gmail草稿箱出现以参会人为收件人的草稿
  • Meeting Prep Log中新增该事件ID后,下个周期不再重复生成草稿
  • 把OpenAI密钥临时改为无效值触发错误,Slack告警频道与管理员Telegram均收到含节点名的告警
  • Telegram提醒的议程内容与Gmail草稿正文一致

容易卡住的地方

  • 六套OAuth2/API凭据(Calendar、Gmail、Sheets、Slack、Telegram、OpenAI)缺一不可,任何一套未连通流程都会中断
  • Sheets表必须提前建好“Meeting Prep Log”标签页和Event ID列,否则查重与回写都会报错
  • 占位符(表格ID、两个Telegram聊天ID、Slack频道)不替换会导致流程跑不通或告警发错人
  • gpt-4o-mini调用按量计费,会议多、邮件多时注意用量
  • 邮件检索按参会人地址匹配,会议里未留邮箱的参会人不会产生上下文

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Prep meeting agendas from Google Calendar with Gmail, OpenAI, and Telegram
原作者
Rahul Joshi
原始发布日期
2026-09-15T08:22:39.128Z
来源
https://n8n.io/workflows/19618