要实现扣子(Coze)邮件自动收发与智能回复功能,核心环节是通过Gmail或Outlook的API进行桥接。整个流程涉及OAuth授权机制、借助LLM解析邮件意图、采用多模板动态回复策略,同时配合关键词过滤与人工审批体系,最终通过Webhook部署并完成测试验证。

如果你每天需要处理大量相似邮件,容易遗漏回复、出现错回或语气不统一的问题,那么借助扣子来自动撰写和回复邮件,确实能显著节省时间成本。
准备邮箱API接入环境
扣子本身并不直接支持邮件收发,必须通过第三方服务来桥接。推荐使用Gmail配合Google Workspace API,或者Outlook搭配Microsoft Graph API。两种方案均支持OAuth 2.0授权机制与RESTful风格的邮件操作。
首先,进入Google Cloud Console,创建一个新项目,启用Gmail API,并生成OAuth凭据。授权范围建议设置为https://www.googleapis.com/auth/gmail.modify和https://www.googleapis.com/auth/gmail.send。
其次,下载生成的credentials.json文件。后续在扣子Bot的「Bot Settings → Plugins → Custom Plugin」中上传该文件,并将其配置为环境变量GMAIL_CREDENTIALS。
这里有一个关键细节:如果跳过OAuth用户授权步骤,仅使用服务账号,Gmail会拒绝发送请求——必须让真实邮箱账户完成首次手动授权,否则所有发送操作都会返回403错误。
搭建邮件解析与意图识别流程
扣子需要从原始邮件正文中准确提取发件人信息、主题关键词、紧急程度以及待办动作(例如“确认参会”“提供报价单”“修改合同条款”),才能触发对应的回复逻辑。
一种有效的方法是采用正则表达式来预提取关键字段。在Bot的「Workflow」中添加「Text Extraction」节点,配置规则:From: ([^n]+)、Subject: (.+?)n,当匹配到“紧急”“加急”“今天前”等词汇时自动打标urgency=high。
另一种方法是调用内置LLM节点进行语义理解。将原始邮件全文作为输入,Prompt设置为:“你是一个邮件助理,请输出JSON:{sender, subject_summary, action_required, deadline, sentiment}。不要解释,只输出合法JSON。”
这一步不能省略格式校验——如果LLM输出非标准JSON,后续节点会中断执行,务必在JSON解析节点开启「Fail on invalid JSON」开关。
配置多模板动态回复策略
不同场景需要使用不同的语气和结构:客户咨询宜采用友好的分点式回复,内部协作适合简洁的指令式表达,投诉邮件则需要先致歉再承诺跟进。
创建三个Bot内置变量:
• reply_template_customer(包含“感谢您的关注”“我们将在24小时内为您处理”等句式)
• reply_template_internal(包含“请同步附件V2版”“@张三 确认签字”等短指令)
• reply_template_complaint(包含“深表歉意”“已升级至主管”等强响应话术)
在Workflow中用「Switch」节点判断action_required字段的取值:
• 包含“报价”“合同”→选用reply_template_customer
• 包含“同步”“确认”“提交”→选用reply_template_internal
• 包含“投诉”“错误”“未收到”→选用reply_template_complaint
最后,将选中的模板、提取的sender信息以及当前时间戳,拼入「Send Email」插件的body字段。
设置定时检查与人工复核开关
自动化流程不能完全替代人工判断,尤其是涉及金额、法律条款、高管沟通的邮件,必须进行拦截复核。
一种方式是添加关键词白名单过滤。在邮件接收后插入「Filter」节点,当subject或body中包含“¥”“合同编号”“CEO”“legal@”时,跳过自动发送流程,转存至飞书多维表格,并推送提醒给指定成员。
另一种方式是启用“发送前二次确认”机制。在「Send Email」插件前增加「Approval」节点,将审批人设置为运营负责人。如果审批超过2小时未处理,则降级为草稿并标记为“需人工介入”。
这一步关系到责任归属——关闭审批开关即默认接受所有自动回复带来的法律后果,务必慎重对待。
部署上线与首封测试验证
点击Bot页面右上角「Publish」,选择发布渠道为「Webhook」或「Custom Plugin」,复制Webhook URL。
使用curl模拟一封测试邮件:
curl -X POST [your_webhook_url] -H "Content-Type: application/json" -d '{"from":"test@example.com","subject":"测试自动回复","body":"请问报价单什么时候能发?"}'
检查收件箱是否收到格式正确、称呼匹配、无乱码的自动回复。同时查看扣子后台「Logs」页面,确认workflow全链路状态为success,没有出现timeout或parse error。
