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房间三者之一的通知权限
具体怎么做
在Drive建两个文件夹并准备测试名片
在Google Drive里新建文件夹如 cards_unprocessed 和 cards_processed,把测试名片照片(建议用本站虚构联系人做的合成图)上传到 cards_unprocessed;打开任一文件复制分享链接中的文件ID,先记下两个文件夹的ID备用。
配置Google与Gemini凭据
在n8n的Credentials里新建Google Drive OAuth2和Gmail OAuth2凭据并完成授权;再为Gemini(PaLM) API创建API Key凭据。随后建一个新工作流,第一个节点用Manual Trigger(手动触发,与模板行为一致)。
列出并下载名片图片
接Google Drive节点的List Files操作,Folder填cards_unprocessed的ID,过滤mimeType为image;再串一个Google Drive Download节点,把上一节点输出的file id映射到下载输入,得到二进制图片。
调用Gemini识别并清洗JSON
把图片二进制送入Gemini视觉请求,提示词用下方artifacts中的card_extract_prompt(本站独立编写,要求只输出JSON)。后面接一个Function/Code节点:去掉模型可能包裹的```json代码块,尝试JSON.parse,失败时用正则从文本里捞形如xxx@yyy.zzz的邮箱救回;输出统一为{name,company,title,email,phone,raw}结构。
按邮箱是否存在分支
加IF节点判断email是否匹配邮箱正则。False分支:拼一条“需人工核对”消息,内容包含名片文件名和https://drive.google.com/file/d/文件ID/view链接,直接送通知节点。True分支:用邮件模板(下方artifact)把{name},{company}等占位符替换成识别结果生成主题和正文。
建草稿、归档、发通知
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