Filling canceled slots automatically using the invitee.canceled webhook (waitlist workaround)
There have been a number of threads here asking for a native waitlist — filling a canceled slot from a list of people who wanted that time. It doesn't exist natively yet, but for anyone comfortable running something alongside Calendly, it's buildable today with the API. Posting the approach in case it saves someone time.
The basic flow:
- Subscribe to the
invitee.canceledwebhook (requires a paid plan — Professional/Standard/Teams/Enterprise) - Collect waitlist signups separately — a simple form where clients indicate which times they'd want
- When the webhook fires, match the freed slot against your waitlist and notify matching people by SMS or email
- Send them your normal Calendly booking link — first to claim it books the slot
The design question I keep going back and forth on: notify everyone matching at once and let them race for it, or go one at a time in order with a time limit before it passes to the next person. The race version fills slots faster; the sequential version feels fairer to clients who've been waiting longest. Curious what people running actual practices would prefer.
I've been building this out because I kept hitting the gap myself. Happy to answer questions about the webhook setup for anyone going the DIY route, or share what I've built if it's useful to you.
