2026-10-13 · 原文发布日
用聊天指令管理Google日历并自动配色
在n8n内置聊天里用自然语言下达日程指令,Google Gemini结合对话记忆判断意图,完成Google日历事件的创建、改期、删除、查询和按类别着色。分类名称与日历颜色ID存在n8n Data Table里,可随对话增删复用;需先列出事件找到正确ID再执行修改,没有明确回复时会回退为澄清提问。搭建需Google日历OAuth2、Gemini凭据,并确保实例启用了Data Tables功能。
原文要点
该n8n模板通过内置聊天触发器接收自然语言指令,用Google Gemini对话模型配合会话记忆判断意图;先尝试创建一个名为“Categories”的n8n Data Table存放类别名与Google日历颜色ID的映射,可随时增删;调用Google Calendar API获取主日历信息;修改或删除前必须先列出事件以找到正确的事件ID;若模型没有产出回复则回退为一条澄清提问。需要Google日历OAuth2凭据、Gemini(PaLM) API凭据,且n8n实例已启用Data Tables功能。
这次做成什么
在n8n里搭一个日历聊天助理:用中文自然语言创建、改期、删除、查询Google日历事件,并按自己定义的类别自动给事件上色。本节方案为本站根据模板说明独立复原的搭建步骤,未提供可导入的工作流文件,节点参数需在导入原模板后逐项核对。
准备什么
- 一个已启用Data Tables功能的n8n实例(自托管需确认版本支持)
- 拥有目标日历管理权限的Google日历OAuth2凭据
- Google AI Studio的Gemini API密钥并已在n8n创建凭据
- 测试用的Google日历,建议先用非工作日历练习
具体怎么做
导入模板并接好凭据
在n8n工作流20874页面复制模板到实例。给Google日历相关节点选择OAuth2凭据并授权目标日历;给Gemini聊天模型节点选择PaLM/Gemini API凭据。首次运行会自动尝试创建“Categories”数据表。
核对Categories数据表结构
打开n8n左侧Data Tables,确认出现“Categories”表,字段为类别名称与Google日历colorId(Google日历颜色ID取值为1到11的字符串)。先用聊天指令让它新增两三个类别,例如“工作=7”“健身=4”,再打开表确认记录已写入。
用内置聊天下达日程指令
激活工作流后点“Open chat”。输入创建指令,如“明天上午10点安排客户电话,30分钟,归为工作类”。助理应调用日历工具创建事件并按“工作”对应的colorId上色。打开Google日历核对事件时间、时长和颜色。
练习查询、改期与删除
先问“这周有哪些安排”,让它列出事件;再说“把客户电话改到周五下午2点”。因为模板设计是先列事件再按ID修改,改期前应能看到它先检索再执行。删除同理:“删掉周五的客户电话”。观察每次操作后日历的实际变化。
验证澄清回退
故意输入模糊指令,如“那个会往后挪一下”。由于没有指明事件,助理应回退为澄清提问(问你是哪个事件、挪到什么时候),而不是擅自操作。这是模板设计的兜底行为,确认它能触发即说明流程完整。
可直接复制的材料
类别配色映射种子数据(Categories表)
本站独立编写的示例数据。colorId为Google日历事件颜色的合法取值1到11,可按喜好更换;需与本站下一条提示词中的类别口径保持一致。
[
{"category": "工作", "colorId": "7", "说明": "蓝绿色,用于会议和客户事项"},
{"category": "健身", "colorId": "4", "说明": "粉红色,用于运动安排"},
{"category": "家庭", "colorId": "5", "说明": "黄色,用于家庭活动"},
{"category": "学习", "colorId": "3", "说明": "紫色,用于课程与自习"}
]日历助理行为约束提示词(粘贴到Gemini节点的系统提示位置)
本站独立编写的约束提示词,用于复原模板描述的行为;原模板的具体提示文本未公开,导入后请以模板内实际配置为准。
你是我的Google日历助理,通过工具完成日程管理,规则如下:
1. 用户要求创建、修改、删除或查询日程时,先判断所需动作,再调用对应日历工具。
2. 修改或删除任何事件之前,必须先列出相关时间段内的事件,找到与用户描述匹配的事件ID后再执行,禁止猜测ID。
3. 用户提到类别(如“工作”“健身”)时,先查Categories数据表:有记录就用对应colorId给事件上色;没有记录就向用户确认后新增一条类别与颜色映射。
4. 用户要求删除某个类别时,只删表中的映射记录,不删除日历里已有事件。
5. 指令信息不足(缺时间、缺事件对象)时,不要执行任何写操作,只回复一条澄清问题,说明缺什么。
6. 回复用中文,简洁说明做了什么:事件名称、时间、类别和颜色。输入与输出示例
本站虚构演示,非作者实际运行结果;事件列表内容取决于你日历里的真实数据。
输入
聊天输入:帮我安排本周五下午3点到4点的团队评审,归为工作类;顺便问一句这周五我还有哪些事。对应输出
助理回复示意:已创建事件「团队评审」,时间周五15:00-16:00,已按Categories表将“工作”映射为colorId 7完成着色。本周五你的安排:09:30 站会(30分钟);15:00 团队评审(60分钟)。如需调整任意一项,告诉我具体要改哪一场。做完检查这些
- 聊天创建事件后,Google日历中出现同名事件,时间时长正确且颜色与Categories表映射一致
- 要求改期时能观察到先列出事件再执行修改,改错对象的情况不发生
- 新增类别指令发出后,Data Tables中确实多了一行类别与colorId记录
- 模糊指令触发澄清提问而非擅自创建或删除事件
容易卡住的地方
- n8n实例未启用Data Tables时,创建Categories表的一步会失败,整个流程无法运行
- Google日历OAuth2授权范围不足会导致列事件或写事件报权限错误
- 改期指令若不带可识别的原事件描述,助理找不到事件ID,只能回退澄清
- colorId超出1到11范围时Google日历会拒绝着色或忽略颜色设置
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Manage Google Calendar events by chat with Google Gemini and data tables
- 原作者
- oumaima chebbi
- 原始发布日期
- 2026-10-13T10:42:40.626Z
- 来源
- https://n8n.io/workflows/20874