2026-10-11 · 原文发布日
短信拍照自动报价的垃圾清运机器人
一个面向垃圾清运等上门服务的n8n模板:客户把现场照片发到你的Twilio号码,OpenAI识别物品和装载量后对照Google Sheets里的价目表,由代码算出总价并自动短信报价;金额过高或物品异常时先发给老板确认,客户回复YES和日期后自动在Google Calendar占位并回执双方。另有每30分钟的定时扫描,负责催审批、提醒客户和让过期报价失效。作者已验证,模板免费。
原文要点
n8n模板20748(免费):客户把垃圾现场照片发到你的Twilio号码,工作流通过入站SMS/MMS webhook接收;OpenAI Vision识别物品、装载量和受限物料,对照Google Sheets里的Price list价目表映射到装载档位和附加费,由代码节点算出总价并写入Quotes表;报价符合规则直接短信发给客户,金额过高、模糊不清、过重或含不受理物品时先短信请老板回复YES/NO或自定义价格;客户回复YES加期望日期后在Google Calendar建占位事件并回执双方。另有每30分钟定时扫描:催老板审批、按可配置延迟催一次客户、让过期报价失效。
这次做成什么
导入该模板,配好Twilio/OpenAI/Google Sheets/Calendar凭据,用一条合成的测试彩信走完拍照→识别→算价→短信报价→YES预约的完整链路。模板免费,但Twilio、OpenAI等第三方服务按各自资费另计。
准备什么
- n8n实例(自托管或云)并已导入工作流20748
- Twilio号码及凭据、OpenAI API密钥
- Google账号:Sheets、Calendar凭据,Drive可选
- 老板手机号和Twilio号码均需E.164格式
具体怎么做
初始化价目表
导入模板后先手动运行一次Create my spreadsheet分支,它会建好Google Sheets文件;打开其中的Price list标签页,按你的业务填入装载档位与单价(可参考下文示例),再把该电子表格的ID复制进工作流设置。
填工作流设置
在设置节点填入:Twilio号码(E.164)、老板手机号(E.164)、Google Calendar ID、时区、审批阈值金额、报价有效期,以及可选的Drive照片文件夹ID。
接Twilio webhook
在Twilio控制台把该号码的A message comes in webhook设为工作流里Text comes in节点的生产URL,方法选HTTP POST。
跑通三类分支
用下文测试数据模拟一条带照片的彩信:确认OpenAI识别→价目映射→代码算价→写入Quotes表→金额低于阈值时直接给客户发短信;把金额改到阈值之上验证转老板审批分支;再以客户身份回复YES加日期,确认Calendar占位与双方回执短信。
可直接复制的材料
Price list标签页示例数据
本站合成的练习价目表,需替换为你的真实定价;币种仅为示例
load_size,base_price,unit,notes
quarter_load,120,USD,约1/4车
half_load,220,USD,约半车
full_load,400,USD,整车
mattress_surcharge,30,USD,每件床垫加收
heavy_material_surcharge,80,USD,砖石等重物加收模拟Twilio入站彩信webhook测试数据
本站虚构测试载荷,字段名对应Twilio MMS webhook;MediaUrl需换成可访问的测试图
{"From":"+15551234567","To":"+15559876543","NumMedia":"2","MediaUrl0":"https://api.twilio.com/demo/photo1.jpg","MediaUrl1":"https://api.twilio.com/demo/photo2.jpg","Body":"后院有一堆旧家具要清"}给OpenAI识别环节的核对清单提示词
本站编写的独立练习提示词,用于核对模板识别输出是否合理,非原模板原文
你在垃圾清运报价流程中负责读图。对收到的现场照片输出JSON:{"items":[物品名及数量],"load_size":"quarter_load|half_load|full_load","restricted_materials":[受限物料或空数组],"confidence":0到1}。只依据照片可见内容判断,看不清就在confidence里体现,不要编造物品。输入与输出示例
本站虚构演示,数字按示例价目表推算,非模板实际运行结果
输入
客户号码+15551234567发来2张后院旧家具照片,价目表按上述示例,审批阈值设为500美元对应输出
Quotes表新增一行:识别为沙发1件、桌椅若干、half_load档、base_price 220加mattress_surcharge 0,总价220;因220<500直接给客户发短信:您的清运报价为220美元,回复YES加期望日期即可预约做完检查这些
- Quotes表新增行的总价等于代码节点按价目表算出的结果而非模型直接给的数
- 超过审批阈值的报价不会直接发给客户而是先短信问老板
- 客户回复YES和日期后Google Calendar出现占位事件且双方收到确认短信
- 30分钟定时扫描能把过期报价标记为失效
容易卡住的地方
- Twilio号码与老板号码必须是E.164格式,否则分支判断会失灵
- Calendar ID要与所连Google账号可访问的日历一致,常见为账号邮箱或group.calendar.google.com地址
- 手动跑过Create my spreadsheet后必须回填表格ID,漏掉会读不到价目表
- 识别不清或含受限物料的报价按设计转人工,不要为省事关掉审批分支
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Quote junk removal from texted photos with Twilio, OpenAI and Google
- 原作者
- Michael Matthews
- 原始发布日期
- 2026-10-10T19:02:58.557Z
- 来源
- https://n8n.io/workflows/20748