2026-09-22 · 原文发布日
建筑RFI邮件自动分类、编号与催办
免费n8n模板:监听RFI专用Gmail收件箱,提取附件PDF文本后由OpenAI判断是新提问、设计方答复还是需人工处理,并匹配n8n数据表中的在建项目。新问题自动编RFI号和回复期限、查重历史问题(重复则直接回旧答案),新问题转设计团队并回执发件人;答复含费用或工期影响时先请项目经理审批再回复请求方。每天扫描到期未答项发提醒,严重逾期升级,并给各项目经理发项目维度摘要。
原文要点
这是n8n.io上的免费模板(工作流19815)。它用Gmail触发器监听RFI专用收件箱,提取附件PDF文本后交给OpenAI聊天模型分类(新提问/设计方答复/需人工),并匹配n8n Data Tables中的在建项目。新提问自动分配RFI编号和答复期限、查重历史问题;重复则直接回旧答案;新问题转发设计团队并回执发件人。答复含费用或工期影响时先发Gmail审批请求给项目经理。另有每日定时扫描,对到期未答项发提醒、严重逾期升级给PM,并按项目发摘要。模板要求先手动运行一次以创建rfi_projects和rfi_log两张数据表,再替换示例项目并配置Gmail搜索式与设置项(公司名、复核收件箱、最低匹配置信度、查重阈值、升级窗口、扫描时间)。
这次做成什么
把该免费模板导入自有n8n后,用本站设计的合成项目与三封虚构邮件做一次不接真实邮箱的桌面演练:验证分类提示词输出、编号规则、查重逻辑与逾期提醒字段是否都能对上,再决定是否连接真实Gmail。
准备什么
- 一个可导入模板的n8n实例(云端或自托管均可),账号有创建工作流与Data Tables权限
- Gmail OAuth2凭据(演练阶段可先不连接,用固定样例邮件代替触发)
- OpenAI API凭据(模板内聊天模型使用,调用会产生费用)
- 一个隔离的测试用RFI邮箱或标签,勿直接对生产收件箱启用触发器
具体怎么做
导入模板并运行初始化
在n8n中新建工作流,选择从URL导入,粘贴 https://n8n.io/workflows/19815 。导入后先不要启用Gmail触发器,手动执行模板自带的Run Once初始化节点,确认rfi_projects与rfi_log两张Data Tables被创建,字段包含项目名、design_team_email、pm_email、response_days、status以及RFI编号、提问、答复、到期日、状态等。
替换示例项目数据
打开rfi_projects表,删除模板自带的示例项目,写入下方artifacts中的合成项目CSV(两条虚构项目),确认status=open且response_days为正整数,这是后续期限计算的依据。
桌面演练分类与编号
在n8n编辑器里把Gmail触发器临时替换为Manual Trigger加Set节点,逐条放入下方example中的三封虚构邮件正文,运行工作流,观察OpenAI分类结果(new_question/answer/manual_review)、匹配到的项目、分配的RFI号(应为该项目现有最大号+1)以及查重分支是否命中。
核对逾期扫描分支
在rfi_log中手工插入一条到期日早于今天且status=open的记录,手动触发每日扫描节点,确认它进入提醒分支;再把到期日改到升级窗口之外,确认走PM升级分支而非普通提醒。
配置真实参数再上线
演练通过后,更新Gmail搜索查询(如 to:rfi@yourcompany.com is:unread)与设置项(公司名、复核收件箱、最低匹配置信度、查重阈值、升级窗口天数、扫描时刻),连接Gmail OAuth2与OpenAI凭据,最后才启用触发器。
可直接复制的材料
RFI分类提示词(本站独立编写,供演练对照用)
本站独立编写,仅用于演练和替换模板内提示词前的对照;模板原始提示词需在导入后的节点里查看核对。
你是建筑项目的RFI(信息请求)邮件分类助手。根据邮件主题、正文和附件文本,输出严格的JSON,不要输出其他内容:{"category":"new_question|design_answer|manual_review","project_hint":"邮件中提到的项目名称或编号,没有则为空","question":"若是新提问,用一句话概括问题","references_rfi":"若引用了既有RFI编号则填该编号,否则为空","mentions_cost_or_schedule":true或false,"confidence":0到1之间的小数}。判定规则:1) 提出新的技术或图纸问题是new_question;2) 来自设计团队且引用了RFI编号的是design_answer;3) 无法确定项目、内容含糊或与RFI无关的是manual_review;4) confidence低于阈值时即使能分类也应视为manual_review。rfi_projects 合成项目数据
全部为虚构邮箱,导入rfi_projects前请替换为真实项目与设计团队、项目经理邮箱;response_days决定自动答复期限。
project_name,design_team_email,pm_email,response_days,status
滨江办公楼主楼工程,design-bj@example.com,pm-li@example.com,7,open
河东学校体育馆改造,design-hd@example.com,pm-wang@example.com,5,openRFI编号与查重演示配置
本站设定的演示参考值;实际阈值、升级窗口和扫描时间请在模板设置节点中按合同规则修改,模板默认值以导入后为准。
{"numbering":"{项目缩写}-{年份}-{三位序号}","example":"BJ-2026-004","duplicate_threshold":0.85,"escalation_window_days":3,"sweep_time":"08:30","min_match_confidence":0.7}输入与输出示例
本站虚构演示,数字与分支为按模板说明推演的预期行为,非作者运行结果。
输入
三封虚构邮件:(1) 主题「滨江办公楼-三层幕墙节点做法疑问」,正文询问幕墙横梁与立柱连接详图,发件人为施工方;(2) 设计团队回复「BJ-2026-002:按图集做法施工,不影响造价与工期」;(3) 一封与RFI无关的发票咨询邮件。rfi_log中已有BJ-2026-001至003,其中002已答复。对应输出
邮件1分类为new_question,匹配滨江办公楼主楼工程,分配编号BJ-2026-004,到期日=收信日+7天,写入rfi_log,转发design-bj@example.com并回执发件人;邮件2分类为design_answer,命中BJ-2026-002,因mentions_cost_or_schedule=false直接回复请求方并把该条状态改为answered;邮件3分类为manual_review,转入复核收件箱,不写入编号。做完检查这些
- Run Once执行后rfi_projects与rfi_log两张表存在且字段完整
- 三封虚构邮件分别进入new_question、design_answer、manual_review三条分支,无串线
- 新提问分配的编号等于该项目在rfi_log中的最大序号加一,到期日=收信日+response_days
- 含费用或工期影响的答复触发PM审批邮件,未审批前不回复请求方
- 手工插入的逾期open记录在扫描分支中产出提醒,超升级窗口的记录只发给PM
容易卡住的地方
- 必须先运行Run Once建表再替换示例项目,否则匹配节点查不到项目会全部落入人工复核
- 最低匹配置信度与查重阈值是模板设置项,数值含义需以导入后的设置节点为准,本站演示值仅作参考
- OpenAI调用按量计费,高频收件箱需预估成本;PDF提取依赖模板内节点,扫描件图片型PDF可能提不出文本
- 每日扫描、审批、回执都走同一个Gmail OAuth2凭据,权限不足会集中失败
- 不要在生产收件箱上直接启用触发器做演练,未读搜索条件会改变邮件状态
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Track and manage construction RFIs with Gmail, OpenAI, and Data Tables
- 原作者
- Jeffy Thomas
- 原始发布日期
- 2026-09-22T10:06:25.115Z
- 来源
- https://n8n.io/workflows/19815