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

2026-09-06 · 原文发布日

名片拍照进云盘,自动生成跟进邮件草稿

把名片照片丢进Google Drive待处理文件夹,手动跑一次流程:Gemini视觉识别提取姓名、邮箱等字段,识别不出有效邮箱的会标记为需人工核对并附上图片链接;识别成功的按模板生成个性化主题和正文、可附上Drive里的资料文件,只创建Gmail草稿绝不自动发送。处理完的名片移到已归档文件夹,结果按你选的渠道推到Slack、Discord或Chatwork。

原文要点

这是作者maruo发布的免费n8n模板:手动执行后扫描Google Drive未处理文件夹里的名片图片,用Google Gemini(PaLM)视觉能力把名片识别成JSON字段并清洗解析、必要时救回邮箱;识别不到有效邮箱的名片会生成需人工核对的通知并附Drive链接;识别成功的按模板拼个性化主题和正文,可选从Drive下载一个文件作为草稿附件,只在Gmail创建草稿绝不发送;处理完的卡片移到已处理文件夹,并按notify_channel配置把结果推到Slack、Discord或Chatwork。设置项包括source_folder_id、processed_folder_id、可选attachment_file_id、notify_channel、slack_channel或chatwork_room_id以及签名。

这次做成什么

在自己的n8n里照着这个流程手动搭一条等效链路:名片照片进未处理文件夹→Gemini识别→有邮箱则建Gmail草稿、无邮箱则走人工核对通知→归档并推送频道消息。本站不提供可导入的原工作流文件,下面给的是独立编写的配置表、识别提示词和测试数据,供你逐节点照着搭。

准备什么

  • 一个可访问Google Drive、Gmail、Gemini API的Google账号及OAuth2凭据
  • 已装好n8n实例(自托管或云端)并能创建Google Drive/Gmail节点
  • 至少一张自己制作或有权使用的合成名片照片用于测试
  • Slack工作区、Discord频道Webhook或Chatwork房间三者之一的通知权限

具体怎么做

  1. 在Drive建两个文件夹并准备测试名片

    在Google Drive里新建文件夹如 cards_unprocessed 和 cards_processed,把测试名片照片(建议用本站虚构联系人做的合成图)上传到 cards_unprocessed;打开任一文件复制分享链接中的文件ID,先记下两个文件夹的ID备用。

  2. 配置Google与Gemini凭据

    在n8n的Credentials里新建Google Drive OAuth2和Gmail OAuth2凭据并完成授权;再为Gemini(PaLM) API创建API Key凭据。随后建一个新工作流,第一个节点用Manual Trigger(手动触发,与模板行为一致)。

  3. 列出并下载名片图片

    接Google Drive节点的List Files操作,Folder填cards_unprocessed的ID,过滤mimeType为image;再串一个Google Drive Download节点,把上一节点输出的file id映射到下载输入,得到二进制图片。

  4. 调用Gemini识别并清洗JSON

    把图片二进制送入Gemini视觉请求,提示词用下方artifacts中的card_extract_prompt(本站独立编写,要求只输出JSON)。后面接一个Function/Code节点:去掉模型可能包裹的```json代码块,尝试JSON.parse,失败时用正则从文本里捞形如xxx@yyy.zzz的邮箱救回;输出统一为{name,company,title,email,phone,raw}结构。

  5. 按邮箱是否存在分支

    加IF节点判断email是否匹配邮箱正则。False分支:拼一条“需人工核对”消息,内容包含名片文件名和https://drive.google.com/file/d/文件ID/view链接,直接送通知节点。True分支:用邮件模板(下方artifact)把{name},{company}等占位符替换成识别结果生成主题和正文。

  6. 建草稿、归档、发通知

    True分支接Gmail节点的Create Draft操作(注意只建草稿,不发送);如需附件,在设置里填一个Drive文件ID并先下载再附到草稿。草稿建成功后接Google Drive Move File把图片移到cards_processed。最后按你的通知渠道接一个节点:Slack选Post Message填频道、Discord用HTTP Request POST到Webhook URL、Chatwork用带X-ChatWorkToken头的HTTP Request发到房间。

可直接复制的材料

名片字段提取提示词(用于Gemini视觉请求)

本站独立编写的示例提示词,字段可按你需要增减;模板原文只说提取为JSON并救回邮箱,具体字段名需在你的Code节点里对应。

你是一名名片信息提取助手。请阅读图片中的名片内容,只输出一个JSON对象,不要输出任何解释文字或代码块标记。字段如下:{"name":"姓名","company":"公司名","title":"职位","email":"邮箱","phone":"电话","website":"网址"}。规则:1) 某字段在名片上不存在就填空字符串;2) email必须是名片上明确印出的地址,不要猜测或补全域名;3) 保留原始拼写,不要翻译;4) 如果图片根本不是名片或严重模糊,所有字段填空字符串。

跟进邮件草稿模板(主题与正文)

本站独立编写的示例模板,{name}等占位符在n8n表达式里替换成识别结果和你在设置里填的签名;附件是否添加取决于attachment_file_id配置。

主题:{name} 您好,感谢在{event}上的交流

正文:
{name} {title},您好:

很高兴在{event}上认识您和{company}团队。按当时的交流,我整理了一份资料(见附件),供您参考。

如果您方便,我们约一个15分钟的电话聊聊后续合作的可能性?您回复本邮件即可。

此致
{sender_name}
{sender_title} | {sender_org}
{sender_phone}

工作流设置值示例(Settings键值表)

本站独立设计的设置方案,对应模板说明里的Settings values概念;文件夹ID需替换为你自己的,notify_channel只能取slack/discord/chatwork之一。

{
  "source_folder_id": "1AbC_unprocessed文件夹ID",
  "processed_folder_id": "1XyZ_processed文件夹ID",
  "attachment_file_id": "",
  "notify_channel": "slack",
  "slack_channel": "#sales-leads",
  "chatwork_room_id": "",
  "sender_name": "林晓",
  "sender_title": "客户经理",
  "sender_org": "示例科技有限公司",
  "sender_phone": "010-5555-0000",
  "event": "2026春季行业交流会"
}

输入与输出示例

本站虚构演示,识别输出是示意而非Gemini实际返回,未在任何账号中运行。

输入

cards_unprocessed文件夹里放一张合成名片照片:姓名 王珂,公司 澄明数据(上海)有限公司,职位 产品总监,邮箱 wangke@cmdata-example.cn,电话 138-0000-1234。设置值采用上面的configuration,notify_channel为slack。

对应输出

Code节点解析输出:{"name":"王珂","company":"澄明数据(上海)有限公司","title":"产品总监","email":"wangke@cmdata-example.cn","phone":"138-0000-1234"};IF判断邮箱有效走True分支;Gmail里出现一封草稿,主题为“王珂 您好,感谢在2026春季行业交流会上的交流”,收件人wangke@cmdata-example.cn;名片图片被移入cards_processed;Slack #sales-leads 收到“已为 王珂(澄明数据)创建跟进草稿”。

做完检查这些

  • 未处理文件夹里放一张含清晰邮箱的测试名片,手动执行后Gmail草稿箱出现一封主题和正文占位符均被替换的草稿,且没有邮件被实际发出
  • 放一张故意不含邮箱的合成名片,执行后不发草稿,通知渠道收到含Drive文件链接的“需人工核对”消息
  • 每次成功建草稿后,对应图片文件确实从source文件夹移动到processed文件夹,重复执行不会重复处理
  • 把notify_channel切换为你实际配置的渠道后,成功与核对两类消息都能到达对应频道

容易卡住的地方

  • 模板是手动触发,不会自动监听文件夹新增文件,想自动化需自行加Schedule或Drive Trigger,这超出原模板范围
  • Gemini可能把JSON包在```json代码块里或夹带解释文字,不做清洗直接JSON.parse会报错,必须在Code节点里处理
  • 模板只创建Gmail草稿绝不发送,若你在Gmail节点误选Send操作会改变这一安全边界
  • attachment_file_id留空时应跳过下载附件节点,否则会因找不到文件而报错中断
  • Discord Webhook和Chatwork的X-ChatWorkToken凭据格式与Slack OAuth2不同,三种渠道不能混用同一凭据

原文与作者资料 ↗

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

原文标题
Create Gmail drafts from business cards with Google Drive, Gemini, Slack and Discord
原作者
maruo
原始发布日期
2026-09-06T15:41:59.613Z
来源
https://n8n.io/workflows/19292