Voice agent that books appointments: ElevenLabs, Cal.com and a backend that never lets the model guess
A voice agent that books appointments is a system where someone talks, a model understands what they are asking for, calls real tools, and hangs up with an appointment on a calendar. I built one in a lab repo: ElevenLabs Agents handles the voice—transcription, turn-taking, synthesis—Cal.com handles the calendar, and in between sits a Fastify backend whose only job is to make sure the model never…
An appointment booking system was developed using a voice agent that talks to real tools. ElevenLabs Agents manages the voice, including transcription, turn-taking, and speech synthesis. The Cal.com API handles the calendar while a Fastify backend ensures the model never has to guess any details like the day of the week, time format, or ISO offset.
The backend's sole purpose is to prevent the model from making any incorrect assumptions during the booking process. The entire process is outlined in a fixed order, broken down into ten numbered steps. The backend handles date and timezone arithmetic, choosing times to offer, reading out thirty possible slots aloud, phrasing each time in Spanish, and ensuring idempotency by using an optionId instead of a date.
Booking is the only irreversible action, requiring explicit confirmation from the user and blocking interruptions while the process runs. In case of tool errors, the system returns a 200 HTTP code with a suitable message for the agent to read aloud. If a 5xx error occurs, the model must improvise during the call. The system is designed to be simple, narrow in scope, and easy to build.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.