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

2026-10-05 · 原文发布日

电梯报修自动分派与工单闭环

电梯维保场景的完整工单流:投诉经webhook进入后查Sheets中的设备档案与维修历史,Gemini判定P1到P3严重级别和所需技能,再从技工花名册按技能、辖区、工作量选人派单,WhatsApp通知技工、Gmail确认客户。技工回填报告后模型提取根因、用料、安全标记,同步更新工单、设备状态和库存,缺货自动发补货提醒。

原文要点

原模板通过两个POST webhook分别接收电梯投诉与技工报告:查Google Sheets中的设备档案与维修历史,用Gemini判定P1–P3严重级别和所需技能,从技工花名册按技能、辖区、当前工作量选人,生成工单号与SLA截止时间,WhatsApp派单、Gmail确认客户;无人可派时发未分配告警邮件。技工报告再由Gemini提取根因、施工内容、用料、安全标记与关闭状态,回写工单与设备状态、释放技工为Available,扣减库存并在低于补货线时发Gmail补货提醒。

这次做成什么

在本站用合成数据走通这套派单闭环:先手工验证分级与选人逻辑,再写好两个Gemini提示词并测试webhook报文,最后对照原模板在n8n里搭建;不要求连接真实WhatsApp,可用测试凭据。

准备什么

  • n8n实例与Google Sheets服务账号凭据,表格需共享给服务账号邮箱
  • 含Elevators、Technicians、Tickets、Service_Logs、Inventory_Parts五个标签页的测试表格
  • Google Gemini (PaLM) API密钥,调用会产生费用
  • 可发POST请求的工具(如curl或Hoppscotch)用于触发两个webhook;另备Gmail OAuth2凭据用于客户确认/补货邮件,WhatsApp Business Cloud可用测试凭据,练习时也可临时用邮件节点替代派单验证逻辑。

具体怎么做

  1. 建五张表并填合成数据

    按下方CSV建Technicians与Inventory_Parts两页(Elevators含elevator_id、location、status;Tickets含ticket_id、elevator_id、severity、status、assigned_to;Service_Logs含log_id、ticket_id、notes)。填入合成技工与库存数据。

  2. 定义P1–P3分级口径

    练习口径:P1=困人或坠落风险(SLA 2小时),P2=停梯但无人被困(SLA 24小时),P3=异响/按钮失灵等可运行故障(SLA 72小时)。这是本站设定的练习标准,正式使用需按你公司SLA调整并核对原模板分级节点。

  3. 写投诉分级提示词并模拟选人

    用下方提示词让Gemini输出severity、required_skill、technician_summary三个字段。然后在Technicians中按skill匹配、territory相同、active_jobs最少、status为Available四条规则排序选第一名;全不满足则走未分配邮件分支。

  4. 配置两个webhook并测试

    生产环境webhook A收投诉:POST字段elevator_id与complaint_text;webhook B收技工报告:POST字段ticket_id、technician_id、notes。用下方测试报文各发一次,确认A产出工单行、B触发报告提取与库存扣减。

  5. 闭环验证库存与状态回写

    报告提取出parts_used后,对照Inventory_Parts匹配物料名并扣减quantity,低于reorder_threshold的行触发Gmail补货提醒;同时技工status改回Available、电梯status与维护日期更新、工单关闭并邮件通知客户。

可直接复制的材料

合成技工花名册与库存练习数据

本站独立虚构数据,人名物料均为编造,仅用于练习。

Technicians:
technician_id,name,skill,territory,status,active_jobs
T-01,陈师傅,control-systems,城东,Available,1
T-02,刘师傅,mechanical,城东,On Job,2
T-03,王师傅,control-systems,城西,Available,0

Inventory_Parts:
part_id,part_name,quantity,reorder_threshold
P-101,门机皮带,4,3
P-102,控制板继电器,6,5
P-103,曳引钢丝绳,1,2

Gemini投诉分级提示词

本站独立编写的示例提示词,非原模板原文;花括号变量需在n8n里用表达式填入。

你是电梯维保调度员。根据投诉文本和该电梯最近维修历史,只输出JSON:{"severity":"P1|P2|P3","required_skill":"control-systems|mechanical|electrical","technician_summary":"给技工看的一句话故障描述(中文,含电梯编号和位置)"}。分级规则:困人或坠落风险=P1,停梯无人被困=P2,可运行的异响或局部失灵=P3。电梯:{elevator_id},位置:{location},投诉:{complaint_text},近期维修:{history}

Gemini技工报告提取提示词

本站独立编写的示例提示词;物料名匹配不到目录时应跳过扣减并记录。

你是电梯维保质检员。从技工报告文本中提取结构化结果,只输出JSON:{"root_cause":"根因一句话","work_performed":"施工内容","parts_used":[{"part_name":"物料名","qty":数量}],"safety_flags":["安全风险提示,无则空数组"],"closure_status":"closed|needs_followup"}。parts_used中的物料名必须尽量与库存目录一致。工单:{ticket_id},报告:{notes}

webhook测试报文

本站虚构测试报文,非客户真实报修信息。

投诉webhook A POST JSON:
{"elevator_id":"EL-07","complaint_text":"电梯停在12层不动了,轿厢里没人,楼层显示黑屏"}

技工报告webhook B POST JSON:
{"ticket_id":"TK-20261005-001","technician_id":"T-01","notes":"更换门机皮带一条,调整门刀间隙,试运行正常,无遗留安全隐患"}

输入与输出示例

本站虚构演示,非原作者运行结果。

输入

webhook A收到EL-07投诉“电梯停在12层不动了,轿厢里没人,楼层显示黑屏”

对应输出

Gemini分级输出{"severity":"P2","required_skill":"control-systems","technician_summary":"EL-07电梯停于12层、楼层显示黑屏,疑控制系统故障"};按城东辖区、control-systems技能、active_jobs最少选中T-01(1单在岗的Available技工),生成工单TK-20261005-001,SLA为24小时,WhatsApp派单、Gmail确认客户。

做完检查这些

  • P1/P2/P3分级口径在提示词与n8n分支中完全一致,困人场景必出P1
  • 选人逻辑四条规则齐备,无人满足时确实走未分配邮件而非报错
  • webhook B触发且parts_used匹配到物料后,库存数量按qty扣减;扣减后quantity<=reorder_threshold才应触发Gmail补货提醒。像P-103这种初始已低于阈值的行,是否立即告警要在正式逻辑中单独决定,不能默认由本条闭环自动产生。
  • 技工报告闭环后其status从On Job改回Available

容易卡住的地方

  • Sheets必须共享给服务账号邮箱,否则读取报权限错误
  • 两个webhook字段名(elevator_id/complaint_text与ticket_id/technician_id/notes)必须与表单端一致,错名会静默查不到记录
  • 物料名不一致会导致库存匹配失败,提示词已要求对齐但仍需人工兜底
  • Gemini调用产生费用,P1紧急场景的模型延迟需自行评估
  • WhatsApp Business Cloud需配置Phone Number ID,练习时可先用邮件节点替代验证逻辑

原文与作者资料 ↗

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

原文标题
Triage elevator complaints and manage tickets with Google Sheets and Gemini
原作者
iamvaar
原始发布日期
2026-10-05T08:49:56.069Z
来源
https://n8n.io/workflows/20426