I built an n8n workflow that rebooks no‑shows automatically — here's how it works
说明与用途
n8n 工作流自动检测未出现预约,发送 AI 生成的短信邀请重新预约,处理回复并仅一次提醒,提升重新预订率。
问题
Missed appointments cost US healthcare ~$150B a year, and most no‑shows never rebook on their own.
结果
The workflow continuously monitors appointments, automatically reaches out to no‑show customers with slot options, processes their replies, and limits nudges to one per customer, improving the likelihood of rebooking and reducing revenue loss.
工作流
- 1. Every 30 minutes, read today’s Appointments sheet and flag appointments that passed 15+ minutes without check‑in.
- 2. For each flagged no‑show, pull up to 3 open slots from OpenSlots sheet and generate a personalized SMS via an AI model (default gpt‑4o‑mini).
- 3. Send the SMS through Twilio and log the attempt to RescueLog sheet.
- 4. Receive replies via Twilio webhook; parse YES (+ slot number) to book automatically, NO to log as lost, unclear replies to human review.
- 5. If no reply after 2 hours, send one gentle nudge; once nudged, never nudge again for that phone number.
证据
Every empty chair in an appointment book is money walking out the door. Missed appointments cost US healthcare an estimated ~$150B a year
The workflow reads today's Appointments sheet and flags anyone whose time passed 15+ minutes ago without a check‑in
For each no‑show, it pulls up to 3 open slots from an OpenSlots sheet, and an AI agent drafts a personal text: "Hi Sarah, we missed you at 2pm — want Thu 10am or Fri 3pm instead?" Sent via Twilio, logged to a RescueLog sheet
A Twilio webhook parses replies: YES (+ slot number) books the slot automatically, NO is logged as lost, anything unclear goes to human review. No reply after 2 hours gets exactly one nudge — then silence
Reply parsing is defensive. "NO 2" is a no, not a yes-with-slot-2. Bare "2" counts as yes-with-slot-2. "STOP" is treated as lost (no more messages — correct behavior for an opt‑out).
- 记录日期: 2026-10-14T07:40:57.281Z