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

2026-09-18 · 原文发布日

邮件PDF附件自动分类归档

n8n模板:每分钟检查Gmail中带PDF附件的邮件,用pdfRest读取元数据并对扫描件做OCR,转成Markdown后交给Claude判断文档类型(发票、合同、函件等)并提取对方名称和日期,按类型存进对应Google Drive文件夹,同时把索引写入Google Sheets并发Slack通知。需自托管n8n并安装pdfRest社区节点。

原文要点

该n8n模板流程为:Gmail触发器每分钟拉取匹配has:attachment filename:pdf的邮件→拆成每个附件一条数据→pdfRest读PDF元数据(页数、是否纯图像)并对扫描件OCR→pdfRest转Markdown→经n8n Information Extractor调用Anthropic Claude判定文档类型并提取对方名称、日期→按发票/合同/函件/其他分支上传对应Google Drive文件夹→向Google Sheets追加索引行→Slack发一行通知。模板免费,但必须自托管n8n并安装pdfRest社区节点,n8n Cloud不支持。

这次做成什么

搭一条"收信即归档"流水线:Gmail里带PDF附件的邮件自动分类(发票/合同/函件/其他)、改名存入对应Drive文件夹、写索引表并发Slack通知。

准备什么

  • 一台自托管n8n实例(社区节点在n8n Cloud上不可用)
  • pdfRest账号及API密钥,并已安装社区节点@pdfrest/n8n-nodes-pdfrest
  • Gmail、Google Drive、Google Sheets的OAuth凭据,Slack机器人token(需chat:write权限且已被邀请进目标频道)
  • Anthropic API密钥(或换成其他聊天模型子节点),Anthropic调用可能另收费

具体怎么做

  1. 装节点并配齐凭据

    在自托管n8n的Settings→Community Nodes安装@pdfrest/n8n-nodes-pdfrest;然后在Credentials里分别建pdfRest API key、Gmail OAuth2、Google Drive、Google Sheets、Slack、Anthropic六套凭据。

  2. 建好Drive文件夹和索引表

    在Google Drive建4个文件夹:发票、合同、函件、其他,记下各自文件夹ID;再建一个Google Sheet,第1行表头依次为Received、From、Subject、File、Type、Counterparty、Document Date、Pages、OCR Applied、Drive Link。

  3. 填入Set Folder and Index IDs节点的值

    打开模板中的Set Folder and Index IDs节点,把4个Drive文件夹ID、Sheet文档ID、Slack频道ID、OCR语言代码(中文文档可改为chi_sim+eng,具体支持代码以pdfRest文档为准)填进去。

  4. 配置触发器与分类规则

    Gmail Trigger保持每分钟轮询、过滤条件has:attachment filename:pdf;检查Document Type Classifier里的类型说明和Route by Document Type分支规则是否覆盖你要的4类。

  5. 用一封测试邮件验证

    激活工作流,给自己的Gmail发一封带合成PDF附件的测试邮件,等一个轮询周期后检查:对应Drive文件夹出现结构化命名的PDF、Sheet新增一行、Slack收到一行带链接的通知。

可直接复制的材料

测试用合成邮件与PDF内容

本站设计的合成测试数据,金额虚构;另做一个扫描件版本可验证OCR分支

收件人:你自己的Gmail地址
主题:测试-三月服务费发票
正文:附件为测试发票,仅供工作流联调,金额虚构。
附件test-invoice.pdf正文(用文字型PDF,不要用扫描件,先验证非OCR路径):
INVOICE 编号 INV-2026-031
开票方:示例办公用品株式会社
抬头:本站测试公司
日期:2026-03-15
项目:打印纸10箱 合计 3,200日元

索引表表头(直接粘贴到Sheet第1行)

制表符分隔,粘贴后自动分成10列;列顺序与模板写入字段一一对应,改动需同步改Sheets节点映射

Received	From	Subject	File	Type	Counterparty	Document Date	Pages	OCR Applied	Drive Link

新增文档类型的改造清单

按模板Customization说明整理的步骤清单,具体节点内的字段位置需在导入模板后核对

以新增"报价单quotation"为例:1)在Document Type Classifier的属性说明里加入quotation及判定描述;2)在Route by Document Type加一条匹配quotation的规则;3)复制一个Prepare节点接到新分支,设置结构化文件名;4)在Set Folder and Index IDs里新增quotation对应的Drive文件夹ID。

输入与输出示例

本站虚构演示,字段名以导入模板后实际配置为准,未实际运行

输入

按材料1发出测试邮件,附件为文字型test-invoice.pdf(1页,内容为示例办公用品株式会社开具的3,200日元发票)。

对应输出

预期效果示意:Drive"发票"文件夹出现如2026-03-15_示例办公用品株式会社_INV-2026-031.pdf的文件;Sheet新增一行Type=invoice、Counterparty=示例办公用品株式会社、Document Date=2026-03-15、Pages=1、OCR Applied=false;Slack频道收到"新发票已归档:<Drive链接>"的一行通知。

做完检查这些

  • Gmail Trigger只抓到带PDF附件的邮件,普通纯文字邮件不进入流程
  • 文字型PDF走非OCR路径,OCR Applied列显示false;扫描件版本显示true
  • 4类文档分别落入对应Drive文件夹,File/Type/Counterparty等列在Sheet中无错位
  • Slack通知里的链接点开能直接访问到刚归档的PDF

容易卡住的地方

  • 社区节点只在自托管n8n可用,用n8n Cloud无法安装@pdfrest/n8n-nodes-pdfrest
  • Slack机器人未被邀请进目标频道会发不出通知,先在频道里/invite
  • Sheet表头列顺序若与模板写入映射不一致会串列,改表头必须同步改节点
  • 纯图像扫描件必须先过OCR再转Markdown,否则Claude拿不到文字无法分类
  • pdfRest与Anthropic均为外部API,超出各自免费额度或按用量计费,成本随邮件量增长,模板本身免费

原文与作者资料 ↗

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

原文标题
Classify and file email PDF documents with Gmail, pdfRest, Drive and Claude
原作者
pdfRest API Toolkit
原始发布日期
2026-09-17T20:09:47.686Z
来源
https://n8n.io/workflows/19694