Voice AI Agent for Appointment Booking
An AI voice agent handles inbound appointment scheduling over the phone, checks live availability against a calendar, and confirms bookings with calendar and messaging writes.
The problem this solves
Phone booking drives revenue, but manual scheduling creates long hold times, dropped calls, and tedious back-and-forth between callers and front-desk staff.
Outside peak hours, customers abandon booking attempts. Capturing details by hand introduces errors, double bookings, and delayed confirmations.
What this use case does
Callers want a confirmed time slot without waiting on hold. This pattern gathers name, phone, date, time, and appointment type in natural speech, then checks real calendar availability before confirming.
Booking only succeeds after explicit caller confirmation and an atomic calendar write. Optional messaging dispatches confirmation details with real booking and event IDs.
Google Calendar is optional - without credentials the sample uses an in-memory calendar so you can test the voice flow immediately.
What it looks like in practice
A caller wants a general consultation next Tuesday afternoon. The agent collects details, offers available slots from the calendar, and books only after caller confirmation.
On success, the caller hears the booking ID aloud, receives an optional Telegram confirmation, and the call concludes cleanly.
What it means for your operation
Booking requests that once required a live receptionist are handled on the first call 24/7, including evenings and weekends when front-desk staff are unavailable.
Routine scheduling runs automatically around the clock with zero double-booking risk, freeing your staff to focus on high-touch patient or client care.
What happens on a call
- 01
Pick up and gather
Collect appointment details naturally without re-asking what the caller already stated.
- 02
Check then book
List real open slots, confirm with the caller, and book upon agreement.
- 03
Confirm and complete
Read booking IDs aloud, trigger optional confirmation message, and disconnect cleanly.
Let's build this
Clone the sample, install from requirements.txt, add credentials, then book a slot on a live call.
Required to start
3- Python 3.12+
Runtime for the sample and its dependencies.
- AgentDuet API key and connector UUID
Authenticates the sample against your AgentDuet workspace.
- Gemini API key
Powers the live speech session for booking calls.
Optional
2You can still run and test the sample without these. Add them when you want the full integration.
- Google Calendar service-account JSON
Writes real appointments to Google Calendar.
- Telegram bot token and chat ID
Sends booking confirmations to a Telegram chat.
Step 1
Clone the sample
bashgit clone https://github.com/AgentDuet/agentduet-samples.git cd agentduet-samples/use-cases/appointment-bookingStep 2
Install dependencies
bashpython3.12 -m venv .venv && source .venv/bin/activate pip install -r requirements.txtStep 3
Configure credentials
Copy .env.example to .env and fill the required keys.
bashcp .env.example .envStep 4
Run the agent
Start main.py and leave it running, then dial the phone number on your AgentDuet connector.
bashpython main.py
What to try on a call
Dial your connector while main.py is running.
- 01
Give your name, appointment type, preferred date, and time in natural speech.
- 02
Choose an offered slot and confirm the booking.
- 03
Listen for your confirmed booking ID and graceful call wrap-up.
Related use cases
AI Receptionist with CRM Lookup
An AI voice receptionist looks up the caller in CRM before greeting, personalizes known callers, creates leads for unknown numbers, and answers company FAQs.
View use caseFeedback Collection with Outbound Calls
An outbound AI voice agent calls passengers after their trip, conducts an interactive conversational survey, and records structured feedback.
View use casePut a voice agent on a real number.
AgentDuet owns the phone and messaging boundary. Your model runs the conversation.