跳到主内容
快讯直播
AI智模界
教程

用 Gemini 工作智能体接管邮件、日历与文档

这篇能做出什么

先看结果,再讲怎么搭。配置完成之后,一天的工作流大致是这样运转的:

  • 早上打开 Gmail,未读邮件已经分成三类:需要你亲自回复的、需要你做决定的、只需要知道的。前两类各带一句摘要和一个截止时间。
  • 需要回复的邮件,草稿已经写好放在草稿箱,语气按你平时的习惯,你改几个字就能发。
  • 日历里下周有三处时间冲突,智能体列出了冲突双方、涉及的人、以及两个可行的改期方案。
  • 会后纪要和行动项自动生成,行动项按负责人拆开写进一张表格,同时在你自己的「AI 待办」日历上占好时间格。

有一条边界要提前说清楚:智能体不替你按发送键。至少在头两周,所有对外的动作都停在草稿和待确认这一步。等你看过几十份输出、确认它的判断可靠了,再逐项放开。

前置条件清单

动手之前先对齐这几件事:

1. 账号类型。Gemini 在 Google Workspace 中的可用范围取决于你所购买的版本和组织策略,不同版本包含的能力不一样,具体以官方页面为准。个人 Google 账号在 Gemini 应用里也有部分能力,但和 Workspace 内的集成深度不同。

2. 管理员开关。如果你用的是组织账号,Gemini 相关服务通常需要管理员在管理控制台里开启,并决定是否允许智能体访问 Gmail、日历、Drive 数据。这条路走不通的话,后面所有步骤都会卡住。

3. 双重验证。账号必须开启两步验证,并且设置好恢复方式。让智能体接触你的邮件和日历,等于把一部分身份权限交出去,这一步不能省。

4. 浏览器与网络。用桌面版 Chrome 或 Edge 登录,侧边栏类功能在手机端和小屏窗口里往往不显示。

5. 一段可支配的试错时间。头一次配置大约需要 40 分钟,之后每天花 5 分钟核对结果,连续一周。

第 1 步:摸清入口,别急着授权

Gemini 在 Workspace 里的入口不止一个,功能边界也不同。先用一张表把你能用的入口列出来:

入口典型用途是否可写操作
Gmail 侧边栏总结长邮件串、起草回复、查历史可生成草稿
日历右侧面板找空闲时间、建事件、改期可创建与修改事件
Docs 侧边栏生成提纲、改写、从会议记录提炼行动项可写入文档内容
Drive跨文件检索与总结只读为主
Gemini 应用 / 独立界面跨应用的多步任务取决于授权范围
Workspace Flows 或 Apps Script定时、批量、条件触发可编程控制

打开每一个入口,先只问它一句:「你现在能看到我哪些数据?」把它自己的回答记下来,和你以为的权限范围对一遍。这一步能提前发现八成的问题。

第 2 步:授权,从最小范围开始

组织账号:让管理员在管理控制台里找到附加 Google 服务或 Gemini 相关设置项,开启服务,并确认数据访问策略允许智能体读取 Gmail、日历、Drive。菜单的层级名称会随界面调整,路径以官方文档当前版本为准。

个人账号:到账号的「安全性」页面查看「第三方应用访问权限」,确认没有多余的授权;同时确认 Gemini 应用的活动记录设置符合你的预期。

关于数据处理,Google 对 Workspace 企业版有客户数据不用于训练通用模型的承诺,条款细节以官方说明为准。即便如此,下面这条规则仍然建议自己执行:不要让它处理你不希望出现在任何日志里的内容,比如身份证件、薪资明细、医疗记录。

授权力度建议按三个阶段推进,每个阶段停留三到五天:

1. 只读阶段:只允许读取和总结,不允许生成草稿。

2. 草稿阶段:允许生成邮件草稿、文档草稿、日程建议,但所有内容都需要你手动确认。

3. 执行阶段:允许创建日历事件、写入文档、给内部同事发日程邀请。对外邮件仍然手动发送。

第 3 步:划一块试验田

不要让智能体一上来就面对整个收件箱,那会得到一份又长又泛的总结。给它划定范围。

Gmail 侧:新建两个标签,比如「AI-待处理」和「AI-已归档」。再建一条过滤规则:来自固定几个发件人、或者主题包含特定关键词的邮件,自动打上「AI-待处理」。

日历侧:新建一个独立日历,命名成「AI 待办」,颜色设成醒目的。智能体创建的所有任务型事件都进这个日历,不混进你的主日历。这样你随时可以整个关掉它。

Drive 侧:建一个文件夹专门放生成物,比如「AI 产出物-待核对」。文件名带上日期前缀,方便回溯。

第 4 步:下发第一份任务说明

提示词的质量直接决定输出质量。不要把需求写成一句「帮我处理邮件」,而要写成一份任务说明书。下面这份可以直接复制修改:

```text

【角色】你是我的办公助理,只处理我明确指定的范围。

【范围】Gmail 中带「AI-待处理」标签的会话,时间范围为最近 7 天。

不包含任何已归档会话。

【任务】逐条阅读,按下面三类归并:

1. 需要我亲自回复的:列出主题、发件人、一句话摘要、建议截止时间。

2. 需要我做决定的:列出决策点、可选方案、各自影响。

3. 只需知道的:一行摘要即可。

【输出格式】Markdown 表格,列为:分类 | 主题 | 发件人 | 摘要 | 截止时间。

【禁止】不要发送任何邮件;不要删除或归档任何会话;不要邀请日历参会人。

【不确定时】把该条放进「需要人工确认」区,并用一句话说明你不确定的点。

```

关键在最后两段。禁止动作防止它越权,不确定时如何处理防止它编造。少了这两段,输出看起来漂亮但没法用。

日历任务同理:

```text

请在 3 月 12 日到 3 月 15 日之间,为我找出一个 45 分钟的时段,

和 zhang@example.com、li@example.com 开一个线上会。

约束:我的时区是 Asia/Shanghai;前后各留 15 分钟缓冲;

避开每天 12:00-13:30;不要动我主日历上已有的任何事件。

输出:三个候选时段,按推荐顺序排列,并说明每个时段的冲突情况。

```

文档任务:

```text

阅读 Drive 中「会议记录」文件夹里最近一次会议的纪要文档,

提取所有行动项,输出表格,列为:行动项 | 负责人 | 截止时间 | 原文出处。

原文出处要写明文档里的段落位置,方便我核对。

如果某项没有明确负责人或时间,在对应单元格写「未指定」,不要猜测。

```

「不要猜测」这四个字,能省掉大量核对时间。

第 5 步:把结果落到可核查的地方

智能体聊完就忘,结果必须落到结构化载体上。用 Apps Script 做两个小工具,一个导出日程快照,一个巡检待处理邮件。

打开一张 Google 表格,菜单里进入扩展程序 → Apps Script,粘贴下面的代码:

```javascript

// 把未来 7 天的日程导出到「日程快照」工作表,用于每日核对

function exportWeekToSheet() {

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getSheetByName('日程快照') || ss.insertSheet('日程快照');

sheet.clearContents();

var header = ['开始', '结束', '标题', '地点', '参会人', '我的状态'];

sheet.appendRow(header);

var cal = CalendarApp.getDefaultCalendar();

var now = new Date();

var later = new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000);

var events = cal.getEvents(now, later);

var rows = events.map(function (e) {

return [

e.getStartTime(),

e.getEndTime(),

e.getTitle(),

e.getLocation(),

e.getGuestList().map(function (g) { return g.getEmail(); }).join(', '),

String(e.getMyStatus())

];

});

if (rows.length > 0) {

sheet.getRange(2, 1, rows.length, header.length).setValues(rows);

sheet.getRange(1, 1, 1, header.length).setFontWeight('bold');

}

Logger.log('导出完成,共 ' + rows.length + ' 条');

}

```

再用一段代码统计还没处理的邮件数量:

```javascript

// 统计「AI-待处理」标签下未读的会话数,低于阈值说明该催智能体干活了

function countPendingTriage() {

var label = GmailApp.getUserLabelByName('AI-待处理');

if (!label) {

Logger.log('没有找到「AI-待处理」标签,请先创建');

return;

}

var threads = label.getThreads(0, 100);

var unread = threads.filter(function (t) { return t.isUnread(); });

Logger.log('待处理会话总数:' + threads.length + ',其中未读:' + unread.length);

unread.slice(0, 10).forEach(function (t) {

Logger.log('- ' + t.getFirstMessageSubject());

});

}

```

在编辑器左侧的触发器里,给这两个函数各加一个时间触发器,比如每天早上 8 点和晚上 7 点各跑一次。注意:exportWeekToSheet 每次会清空重写,所以不要在同一张表里手动加备注;如果需要备注,另开一列或另开一张表。

第 6 步:结果校验,三张清单

智能体的输出必须过三关,缺一不可。

事实关:人名、邮箱、时间、金额、承诺事项,逐条对照原文。凡是输出里出现了原文没有的信息,一律标红退回。

权限关:这份文档的分享范围是什么?这个日历事件的参会人能看到什么?智能体的默认设置有时候比你想的更开放,创建之后立刻检查一次共享设置。

完整性关:用「AI-待处理」标签下的未读数量,和智能体给出的条目数量对一遍。差得多了,说明它的筛选条件有问题,通常是标签过滤或会话合并导致的漏读。

校验时间控制在每天 5 分钟以内。如果超过 10 分钟,说明前面的任务说明写得太模糊,回头改提示词,而不是每天硬扛。

常见坑与排错

智能体说「看不到那封邮件」。多数情况是三个原因:邮件被打上了不匹配的标签;会话视图把多封邮件合并成一个会话;或者邮件在共享邮箱、代理访问的账号里,而你登录的身份没有代理权限。

日程时间对不上。先确认系统时区和日历显示时区是否一致。跨时区会议建议在任务说明里明确写「所有时间以 Asia/Shanghai 表示」。

修改了日历事件但没有生效。检查你对该日历是否有写入权限。只读订阅日历无法被修改,需要先在自己的日历里创建一个副本。

文档链接发出去别人打不开。组织策略可能禁止了对外共享。这种情况不是智能体的问题,去管理控制台确认共享策略。

输出越来越跑偏。通常是上下文太长导致的。把一个长任务拆成三个短任务,每个任务只给必要背景,效果反而更稳。

它编造了不存在的会议或参会人。在任务说明里加上「所有事实必须给出来源位置,没有来源的条目标记为未指定」,并要求它把不确定项单列。

草稿被误发。立刻关闭自动发送相关的选项,退回草稿阶段。这类问题一次就够警醒了。

重复创建任务。定时脚本重复运行会生成重复事件。参考第 5 步的代码,在写事件之前先查一遍当天是否已存在同名事件,或者用固定的标题前缀加日期做去重键。

下一步建议

跑顺一周之后,可以往三个方向扩展。

一是加巡检。用触发器每天早上汇总一次「未处理邮件数 + 今日日程 + 到期行动项」,生成一页简报发给自己。这比让智能体主动推消息可靠。

二是做周复盘。每周五把这一周生成的草稿和被采纳的比例拉出来看。如果某一类草稿你从来不采纳,说明那类任务不适合交给它,直接从任务说明里删掉。

三是把任务说明变成团队模板。一份好的任务说明书就是一份流程文档,同事可以直接复用。前提是先把涉及个人隐私的部分抽掉。

最后提醒一句:入口名称、功能可用范围、订阅版本对应关系都会随产品迭代变化,动手前花两分钟看一眼官方文档当前版本的说明,比照着半年前的教程踩坑要省事得多。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。