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

2026-10-15 · 原文发布日

每分钟自动给Gmail新邮件分类打标签

一个n8n免费模板:每分钟轮询Gmail新邮件,把发件人、主题和截断正文发给OpenAI,返回类别、优先级、摘要、是否需回复的结构化JSON,解析失败则归入other;随后把分类映射成AI/Urgent、AI/Sales Lead这类Gmail标签并打上,标签不存在则跳过。模型和分类口径都可以在设置节点里调整。

原文要点

这是ReadyUpAgents发布的n8n免费模板:Gmail Trigger每分钟轮询新邮件,先把发件人、主题、截断正文和message ID归一化,再送OpenAI返回严格JSON(category、priority、summary、needs_reply、reason),解析失败一律归入other。随后拉取账号里全部Gmail标签,按可配置前缀把分类(及可选优先级)映射成标签ID,标签存在就打上,不存在则跳过该邮件。设置节点里可改公司名、模型、分类备注、正文最大长度,还可启用AI/Priority-High等优先级标签。

这次做成什么

在n8n里搭一条「新邮件自动分类打标签」流水线:Gmail触发→正文归一化→OpenAI结构化分类→容错解析→标签映射→回填Gmail标签。本站给出可直接粘贴的分类提示词、标签映射配置和一封虚构测试邮件的完整联调方法,无需真实业务邮件即可验证。

准备什么

  • n8n实例(云端或自托管均可)及Gmail OAuth2凭据
  • OpenAI API凭据,模型可在设置节点更换
  • Gmail账号中已手动建好AI/Urgent、AI/Sales Lead、AI/Support、AI/Billing、AI/Newsletter-Spam、AI/Other等标签
  • 一封用于测试的普通邮件(建议发到测试邮箱,勿用含真实个人信息的邮件)

具体怎么做

  1. 连接触发器与设置节点

    添加Gmail Trigger,轮询间隔设1分钟,绑定Gmail OAuth2凭据。在Settings节点里填business_name、openai_model(如gpt-4o-mini)、max_body_length(如2000字符)和可选classification_notes。

  2. 归一化邮件内容

    在Code/Set节点提取sender、subject、body(按max_body_length截断)和message_id,组成统一对象传给分类节点,避免超长正文浪费token。

  3. OpenAI结构化分类

    把下方提示词放入OpenAI节点,要求只返回JSON。后接一个解析节点校验JSON合法性:字段缺失或解析异常时category置为other、priority置为low,保证流水线不中断。

  4. 标签映射与回填

    用Gmail节点列出全部标签,按前缀AI/把category映射到标签ID(urgent→AI/Urgent、sales→AI/Sales Lead、support→AI/Support、billing→AI/Billing、newsletter→AI/Newsletter-Spam、other→AI/Other)。映射不到就跳过;映射到则对message_id执行addLabels。可选开启AI/Priority-High/Medium/Low优先级标签。

可直接复制的材料

邮件分类提示词(可直接粘贴)

本站按模板描述的输出结构独立撰写,枚举值需与标签映射保持一致

你是{{ $json.business_name }}的邮件分类助手。只输出一个JSON对象,不要任何额外文字。字段:category(枚举:urgent|sales|support|billing|newsletter|other)、priority(high|medium|low)、summary(一句话中文摘要,不超过40字)、needs_reply(true|false)、reason(分类理由,不超过30字)。分类口径:urgent=需要今天处理的紧急事务;sales=潜在购买或合作意向;support=产品使用求助;billing=发票付款退款;newsletter=订阅推送营销;other=其余。邮件发件人:{{ $json.sender }}
主题:{{ $json.subject }}
正文:{{ $json.body }}

分类到Gmail标签的映射配置

本站设计的练习配置;标签必须先在Gmail里建好,否则对应邮件被跳过

{"labelPrefix":"AI/","mapping":{"urgent":"AI/Urgent","sales":"AI/Sales Lead","support":"AI/Support","billing":"AI/Billing","newsletter":"AI/Newsletter-Spam","other":"AI/Other"},"priorityLabelsEnabled":false,"priorityMapping":{"high":"AI/Priority-High","medium":"AI/Priority-Medium","low":"AI/Priority-Low"},"fallbackCategory":"other"}

输入与输出示例

本站虚构示意输出,非OpenAI实际返回

输入

发件人 procurement@example-corp.cn,主题「50套授权采购报价请求」,正文:「你好,我们计划下季度采购50套团队授权,请提供报价与实施周期,本周内需要回复,谢谢。」

对应输出

{"category":"sales","priority":"high","summary":"客户询价50套团队授权并要求本周回复","needs_reply":true,"reason":"明确采购意向且有时限"};映射命中AI/Sales Lead标签并加到该邮件,若启用优先级标签则同时打AI/Priority-High。

做完检查这些

  • OpenAI返回非JSON或缺字段时邮件被归入other且流程继续,不报错中断
  • 分类为sales时邮件在Gmail中出现AI/Sales Lead标签;标签不存在时该邮件静默跳过
  • 正文超过max_body_length时被截断后再送模型,token消耗受控
  • 每分钟轮询只处理新邮件,已打标签的邮件不重复处理

容易卡住的地方

  • 标签必须在Gmail里提前手动创建,工作流不会自动建标签,缺标签即跳过
  • 一分钟轮询频率下邮件量大时OpenAI调用费会累积,正文截断长度要权衡准确率与成本
  • 模型名要在设置节点确认账号实际可用,不要照抄示例名
  • needs_reply只是模型判断,重要邮件仍应人工核对,别据此自动回复

原文与作者资料 ↗

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

原文标题
Classify and label new Gmail emails with OpenAI GPT-4.1 mini
原作者
ReadyUpAgents
原始发布日期
2026-10-15T04:52:17.895Z
来源
https://n8n.io/workflows/20988