Fill cancelled booking slots from a ranked waitlist using webhooks and SMS/WhatsApp
Go to WorkflowDescription
Quick overview
This workflow fills cancelled slots automatically: the top three waitlist matches get an offer at once, the first reply wins atomically, and a 30-minute sweeper re-offers expired or declined slots to the next people until the list runs out.
How it works
When a booking is cancelled, your calendar system POSTs the freed slot to a webhook. The payload is checked and invalid payloads get a clean 422 back.
Your waitlist is ranked for that exact slot: treatment match counts most, flexibility next, then your own priority score. The top three people get an offer message at the same time.
Every offer round is recorded in an offer book: who was offered, who declined, and when the round expires.
Replies arrive on a second webhook. The claim guard decides atomically: the first TAKE wins the slot, later takers get a polite answer, and STOP marks the sender as declined and releases the slot at once.
A sweeper runs every 30 minutes: it picks up expired or declined slots, excludes everyone already offered or declined, and re-offers to the next people. When the waitlist runs out, the slot closes as exhausted.
Runs every 30 minutes on a schedule to find expired, unclaimed offers and re-ranks the remaining waitlist to send re-offers to the next candidates, logging a summary of how many were re-offered or marked exhausted.
Setup
Point your booking system cancellation event at the first webhook URL and your messaging webhook at the claim reply URL.
Replace the demo waitlist node with your waitlist sheet. Required columns are listed in the node.
Replace the two send placeholders with your WhatsApp Business Cloud or SMS node.
Activate the workflow.
Requirements
A waitlist with customer name, phone, wanted treatment, a flexible flag, and a priority score. Demo data included.
Customization
Ranking weights, offers per round (currently 3), the 30-minute reply window and sweep interval, and all message copy.
This workflow was created by Vlotstroom and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.