Booking an appointment by voice: what has to be true first
An agent that offers a slot it cannot actually hold is worse than one that takes a message. Availability, conflicts and least-notice come before the voice.
Booking is the demo everyone asks for and the feature most likely to embarrass you, because it is the only thing an agent does that makes a promise on your behalf. A wrong answer about opening hours is annoying. A slot that does not exist is somebody turning up to a locked door.
Five things have to be true before voice booking is safe.
1. It must read a real calendar
Not a copy, not a nightly export, not a spreadsheet someone maintains. If the agent is reading anything other than the calendar the appointment will actually sit in, you have built a system that is correct until it isn't.
Connect the real source — Google, Microsoft, or the workspace calendar — and let availability be computed from it at the moment of asking.
2. It must hold, not just record
There is a gap between "I'll take Thursday at four" and the event existing. If two callers are on the phone at once, both can be offered the same slot. The booking has to be written immediately and the slot removed from availability, or you need a hold that expires.
This is the single most common bug in home-grown booking bots, and it only shows up under load — which is to say, on your best day.
3. Least notice and daily caps have to exist
Without them the agent will cheerfully book someone into twenty minutes' time, or fill a Monday with eleven appointments because eleven people rang on Sunday.
- Least notice — how soon is too soon. Two hours, a day, whatever your setup actually needs.
- How far out — stop it selling next March.
- Daily cap — the number of these you can actually deliver in a day.
- Gap after — travel, notes, cleaning down. The thing everyone forgets until the third double-booking.
These are not nice-to-haves. They are the difference between a booking system and a way to ruin a week. Convarza puts them on the booking link, and the voice agent reads the same rules the public link does — one source, not two.
4. The conflict rule has to be decided by a person
What counts as busy? Every event on your calendar, or only some? Does a tentative event block? Does a personal calendar you connected block a work slot?
Decide it explicitly. The default — everything blocks — is usually right and occasionally catastrophic, as when someone's all-day "Q3 planning" reminder blanks out a whole week of availability.
5. It has to say what it just did
Read the booking back in the same call: day, date, time, where, and who with. Then send the confirmation on the channel the customer is already on — if they rang from a number you have on WhatsApp, that is where the confirmation should go.
Half of all no-shows are people who were never sure the booking happened.
An agent that takes a message when it is not certain is worth more than one that books confidently and is wrong twice a week.
When to take a message instead
Name these as refusals, not edge cases:
- The caller wants a time outside your rules and is pushing.
- The service they are describing needs a person to scope it first.
- They are rescheduling something the agent cannot find.
- Anything involving a price they are negotiating.
In each case: take the details, create the callback, say clearly that a person will confirm. That is a good outcome, and it should be designed rather than treated as a failure. More on naming handovers up front.
The order to build it in
- Publish a booking link with your real rules, and use it yourself for a fortnight. If the link produces bad bookings, the voice agent will produce the same bad bookings faster.
- Let the agent read availability and offer times, but take a message rather than book.
- Only then let it write the event.
Steps one and two catch almost everything, and neither can put a stranger outside a locked door. Walk your own rules through with us before you turn on step three.