2026-10-05 · 原文发布日
泳池上门服务报告自动生成与派单
这个免费n8n流程用表单收集上门维护记录(客户ID、技师备注、水质读数),在Google Sheets查客户和近期历史,先按规则给超标水质和滤网压力打标,再交Gemini按严格JSON schema提取状况、问题、措施和跟进事项;生成HTML客户报告并写入Visits表,需要跟进就建工单,紧急情况发Slack警报,报告可设为经理邮件审批后才发客户,每天早晨还把未结工单摘要发Telegram。
原文要点
n8n模板20429(作者iamvaar,免费)用n8n表单收集泳池上门维护记录(客户ID、技师备注、可选水质读数),在Google Sheets查客户与近期历史,先按规则给超标水质与高滤网压力打标,再交Google Gemini按严格JSON schema提取状况、问题、措施与跟进事项;生成HTML客户报告并写入Visits表,需跟进就在Work Orders表建工单并更新客户状态,紧急情况发Slack运营警报;报告可配置为经理经Gmail审批链接后才发客户,AI步骤失败则记人工复核并发Slack提醒;每周一至周六早晨还把未结工单摘要发Telegram。模板默认模型models/gemini-3.1-flash-lite,化学阈值、PSI上限、公司品牌等常量集中在代码步骤里可改。
这次做成什么
搭一条泳池服务记录流水线:表单进、规则打标、Gemini结构化、报告与工单落表、分级通知。本页练习目标是用合成客户与一次氯超标访问,跑通'报告生成+建工单+Slack警报'。本页不附可导入JSON,工作流文件需到n8n模板页获取或按结构自建。
准备什么
- 一个含Customers、Visits、Work Orders三张工作表的Google Sheets,列名与工作流一致
- 有权访问该表格的Google Service Account凭据
- Google Gemini(Google PaLM)API凭据
- Gmail OAuth2凭据用于经理审批与客户报告邮件
- Slack与Telegram凭据及目标频道、聊天ID
- 明确的泳池化学指标阈值与滤网压力上限标准
具体怎么做
建表并配凭据
在Google Sheets建Customers(客户ID、姓名、邮箱、服务计划、状态、下次访问日期)、Visits(访问日期、客户ID、报告HTML、紧急度、是否需跟进)、Work Orders(工单号、客户ID、问题、优先级、状态)。在n8n创建Service Account凭据并共享表格,把文档ID填入各Sheets节点。
发布收集表单
用n8n Form Trigger建表单,字段含客户ID(必填)、技师备注(多行必填)、氯、pH、碱度读数与滤网压力PSI(可选)。发布后得到公网表单链接,发给技师手机端使用。
查客户与历史
表单提交后先用客户ID在Customers表查找,查不到就发Telegram告警并终止;查到则拉取该客户近期Visits记录,与本次读数合并成上下文。
规则打标
在Code节点按配置常量判断:氯、pH、碱度是否越界、滤网PSI是否超限,生成flags数组;同时按服务计划间隔算出下次访问日期。阈值是公司运营标准,集中在常量区修改。
Gemini结构化抽取
把上下文与flags发给Gemini,要求只输出符合严格JSON schema的字段(condition、issues、actions、follow_up、摘要等),返回后用schema校验节点验证,不通过走人工复核分支:记录manual-review并Slack通知。
落表、建工单与分级通知
生成HTML客户报告写入Visits;follow_up为真时在Work Orders建行并回写Customers的状态与下次访问日期;判定urgent时向Slack运营频道发警报;若配置为需经理审批,则经Gmail发approve/hold链接,工作流等待决定后再发客户报告或标记held。
每日工单摘要
另起一条Schedule Trigger分支,周一至周六早晨读取Work Orders中状态为open的行,拼成摘要经Telegram发给值班人,注意配置里默认跳过周日。
可直接复制的材料
表单提交与Gemini输出的合成示例
本站合成练习数据;阈值、schema键名与urgent判定逻辑需在导入原模板后按其代码节点核对,勿当作已验证标准。
表单提交(练习用JSON):\n{\n \"customer_id\": \"C-1042\",\n \"tech_notes\": \"池水发绿,池壁有滑腻感,滤网压力偏高,已冲洗滤网并加氯。\",\n \"chlorine_ppm\": 0.4,\n \"ph\": 7.8,\n \"alkalinity_ppm\": 95,\n \"filter_psi\": 28\n}\n规则打标(阈值按本站练习设定:氯1.0-3.0ppm,pH7.2-7.6,PSI上限25):\n[\"chlorine_low\", \"ph_high\", \"filter_psi_high\"]\n期望Gemini输出结构(示意键名,需与原模板schema核对):\n{\n \"condition\": \"fair\",\n \"issues\": [\"游离氯不足\", \"pH偏高\", \"滤网压力超限\"],\n \"actions\": [\"冲洗滤网\", \"补充加氯\"],\n \"follow_up\": true,\n \"urgent\": false,\n \"customer_summary\": \"已处理水质问题,建议三天后复测氯含量。\"\n}输入与输出示例
本站虚构演示,未真实调用Gemini/Sheets/Slack/Telegram;金额为示例。
输入
技师对C-1042提交上表数据后运行工作流。对应输出
执行结果(虚构示意):规则打出3个flags;Gemini返回合法JSON,follow_up=true;Visits表追加一行含HTML报告'水质简报:氯不足已补充…';Work Orders新增WO-0091(问题:复测氯与pH,优先级:normal,状态:open);Customers表C-1042下次访问更新为2026-10-09;未触发urgent故无Slack警报;若开启审批,经理邮箱收到含approve/hold链接的邮件;次日早晨Telegram收到摘要'未结工单1条:WO-0091 复测氯与pH(C-1042)'。做完检查这些
- 未知客户ID提交时走Telegram告警分支且不写入任何业务表
- Gemini返回不符合schema的JSON时落入人工复核并有Slack提醒
- 氯低于下限、PSI超上限的读数能在flags与工单中体现
- follow_up为true时Work Orders新增一行且Customers的下次访问日期被更新
- 周一至周六早晨Telegram摘要只含状态为open的工单
容易卡住的地方
- 三张Sheets表的列名必须与工作流完全一致,改名会导致读写静默错位
- 模板默认模型为models/gemini-3.1-flash-lite,换模型要在所有AI节点同步修改
- 阈值、PSI上限、计划间隔、公司品牌色都写在代码步骤常量里,直接套用默认值可能不符合本地运营标准
- 经理审批链接需要工作流等待外部决定,测试时用测试邮箱避免把草稿报告发给真实客户
- AI失败分支依赖Slack可达,Slack凭据失效会让失败也变得不可见
- 摘要默认跳过周日,排班含周日的业务要自行调整
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Generate pool service visit reports with Google Sheets, Gemini, Gmail, Slack, and Telegram
- 原作者
- iamvaar
- 原始发布日期
- 2026-10-05T09:00:08.712Z
- 来源
- https://n8n.io/workflows/20429