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

  1. 01

    Pick up and gather

    Collect appointment details naturally without re-asking what the caller already stated.

  2. 02

    Check then book

    List real open slots, confirm with the caller, and book upon agreement.

  3. 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

2

You can still run and test the sample without these. Add them when you want the full integration.

  1. Step 1

    Clone the sample

    bash
    git clone https://github.com/AgentDuet/agentduet-samples.git
    cd agentduet-samples/use-cases/appointment-booking
  2. Step 2

    Install dependencies

    bash
    python3.12 -m venv .venv && source .venv/bin/activate
    pip install -r requirements.txt
  3. Step 3

    Configure credentials

    Copy .env.example to .env and fill the required keys.

    bash
    cp .env.example .env
  4. Step 4

    Run the agent

    Start main.py and leave it running, then dial the phone number on your AgentDuet connector.

    bash
    python main.py

What to try on a call

Dial your connector while main.py is running.

  1. 01

    Give your name, appointment type, preferred date, and time in natural speech.

  2. 02

    Choose an offered slot and confirm the booking.

  3. 03

    Listen for your confirmed booking ID and graceful call wrap-up.

Put a voice agent on a real number.

AgentDuet owns the phone and messaging boundary. Your model runs the conversation.

Explore the SDK