Dograh

AI Voice Agents for Appointment and Demo Booking

AI Voice Agents for Appointment and Demo Booking
GuideNovember 3, 2026·12 min read

AI Voice Agents for Appointment and Demo Booking

Pritesh Kumar
Pritesh Kumar·Co-founder, Dograh AI

Building Dograh, the open-source alternative to Vapi. OSS and Voice AI. Exit founder and YC alum.

AI voice agents for appointment and demo booking answer or return the call, ask only what your booking system needs, offer the slots it returns and write the chosen one back. Demo requests get a fast callback that routes the meeting to the right rep. Patient and bank bookings verify the caller before naming any existing appointment or account detail.

Key Takeaways

  • The booking system decides who and when, and the agent offers only those slots.
  • A callback to a demo-form lead is a sales call that needs written consent.
  • Patients and bank customers are verified before the agent names anything personal.

A booking agent that guesses at free slots books meetings that fall apart a day later. This guide covers the booking system's role, inbound calls and callbacks, demo, telehealth and branch bookings, dead air during lookups and handing calls to a person in Dograh. You can self-host Dograh or run it on Dograh Cloud.

Every booking call runs the same loop

Every booking call, in any industry, runs one loop. The agent reads the free slots, offers a few, writes the chosen one back and reads it back to the caller. We won't repeat that loop here. AI voice agents for appointment scheduling walks through it step by step, including reschedules, cancellations and the confirmation call.

Each step of the loop is an HTTP API tool that calls your own calendar or booking system during the conversation. One tool reads availability and another writes the booking. When the calendar is Calendly, the tools call Calendly's API directly, and booking Calendly meetings mid-call with a voice agent covers the endpoints and what to do when a slot disappears.

What changes from one booking call to the next is who may be booked with whom, and what the agent must ask before it can offer a time. The rest of this guide takes those differences one call type at a time.

The booking system decides who and when

The calendar or booking system holds the rules, and the agent only offers what that system returns. A booking agent is only as good as the system behind it. If the agent guesses at availability, or decides by itself which rep or clinician fits, it books meetings that fall apart a day later.

A caller talks to the AI agent. The agent sends team size and region to the booking system, whose own rules and round robin pick one rep, and the agent offers two or three of that rep's free slots back to the caller.
If the agent guesses at availability, or decides by itself which rep or clinician fits, it books meetings that fall apart a day later. It never invents a slot, and it never confirms a time until the write step has succeeded.

So keep every rule in the booking system. Meeting lengths, buffers, which staff take which meeting type, sales territories, clinician licences and opening hours all live there, where your team already maintains them. A prompt is the wrong place for a rule that changes when someone joins or leaves.

The agent's job is smaller. It asks the caller the few things the system needs, passes them as parameters on the availability request and offers two or three of the slots that come back. For a sales demo, that might be team size and region. For a telehealth visit, it is the visit type and the state the patient will be in during the visit.

When nothing that comes back suits the caller, the agent says so and offers the next openings, or records a callback request. It never invents a slot, and it never confirms a time until the write step has succeeded.

Inbound calls and outbound callbacks

Who started the call decides the consent question, so settle it before you build anything. A caller who rings you to book started the call, so the consent rules for automated calls under the Telephone Consumer Protection Act (TCPA) don't come into it.

Outbound booking calls are different. The FCC's 2024 ruling on AI-generated voices treats an AI voice as an artificial voice, so an AI call to a mobile needs the person's prior consent. A call about a booking the person already has, such as moving a visit, is generally a service call and needs prior express consent.

A callback to someone who filled in a demo form is a sales call, because its purpose is to sell. Under the FCC's calling and consent rules, it needs prior express written consent. Business numbers get no exemption, because the rule follows the line you call. Put clear wording on the demo form saying the person agrees to an automated or AI-voice call about their request, and keep the record.

Name the business in the Greeting Text, which plays word for word as the call connects. A line saying the caller is talking to an automated assistant belongs there as well, whether you choose to add it or a local law asks for it. The Start Call node's Allow Greeting Interruption setting is on by default, so a caller can cut in after two words. Switch it off when the greeting carries a notice that must play in full. Consent rules differ by state and country, so confirm your form wording and scripts with counsel.

Demo booking: call the form fill fast

A demo request is the warmest lead a sales team gets, and the booking call should reach the person while they are still at their desk. The speed comes from how the call starts. When your website form posts, your backend calls Dograh's API Trigger, which starts the call at once and passes the form answers as context.

The agent then opens with the reason for calling, because it already knows what the person asked for. API triggers: start a voice agent call from any system shows the request your backend sends and the fields it can carry.

Ask only what routes the meeting. Team size and the main use case usually decide which team takes the demo, and the booking tool's own round robin picks the person. The agent passes those answers as parameters and offers that rep's free slots. Questions about fit or price belong to the account executive, so the agent records them as the caller stated them and books the meeting instead of answering. See our open-source demo booking voice agent page for how the agent calls form leads back and books the rep your calendar returns.

Some leads want a person right away. A large account can go straight to an enterprise rep while a small team books a slot, using the transfer rules in the handover section below. The same agent can also run as a voice widget on your website, so a visitor can book without leaving the page. On the website, the widget books the slot or records a callback request, and phone calls carry the transfers.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

Healthcare visits: telehealth and clinic slots

Patient bookings add two duties. The agent verifies before naming any existing appointment, and it keeps clinical questions off the call. A new patient booking a first visit gives details and asks nothing about a record, so the agent can book once it has a name, a number and the visit type.

A patient moving a visit is different. The calling number can match a chart without proving the patient is the one on the phone, so the agent confirms identity with the clinic's approved check before it names the appointment. AI voice agents for patient appointment scheduling covers clinic booking from live slots in full.

Telehealth adds rules about who may see the patient. The clinician needs a licence in the state where the patient is during the visit, so the booking call asks where the patient will be, and the scheduling system returns only clinicians licensed there. Provider type matters as much. In FAIR Health's telehealth tracker, 58.5% of patients with a telehealth claim in January 2025 had a mental health diagnosis, so many callers want a therapist or a psychiatric clinician.

AI voice agents for telehealth appointment booking covers visit types, licensure and new-patient calls. No booking call gives clinical advice or sorts patients by symptoms. If a caller describes an emergency, a fixed line stops the booking: "If this is a medical emergency, please call 911 now." Put it in the Transition Speech of an emergency pathway so it plays word for word, and test it with many phrasings, since the model still picks the pathway by reading the condition you wrote.

Bank branch and advisor appointments

A branch booking needs no account data, so the agent can book with a name, a number and the reason for the visit. Most branch appointments are for things a customer wants to do face to face, such as opening an account or talking through a loan. The agent offers slots at the branch the caller names, or at the branch whose number they dialled, and answers opening hours and what to bring from the bank's own files.

Anything about an existing account waits until the caller passes the bank's own verification. No offer rides along on the booking call or its reminder. Impersonation is the reason for that care. The FTC reported that people lost nearly $1 billion to business impersonators in 2025, with the highest reported losses to bank impersonators, so a real bank's reminder never asks for a PIN, a password or a full card number.

AI voice agents for branch appointment booking covers the verify step and the reminder call. Advisory firms book a different way, with the household's own advisor, and AI voice agents for advisory appointment scheduling covers that call.

Other calls that end in a booking

The same loop books test drives, property tours, interviews, gym trials and home-service visits, and each adds one rule of its own. A dealership books the car and the salesperson together. A rental tour offers every caller the same open slots.

An interview booking reads the recruiter's live calendar, and a gym trial books the visit before any talk of membership. A home-service booking checks the service area and the job type before it offers a technician's window. Each of these calls has its own post in our use-case library. Under all of them sits the pattern above, where the system holds the rule and the agent asks for what the system needs.

Slow lookups and dead air

A booking lookup that takes a few seconds needs words on the line, or the caller thinks the call dropped. A lookup against a database on the same servers as the agent usually fits inside a normal pause. A third-party calendar API often takes longer, and a long silence makes callers assume the line went dead.

Each HTTP API tool has a Messages card for this. A message, either a typed line or a recorded clip, plays when the tool starts, while the request runs. You can add a later update, such as "I'm still checking", if the lookup takes a few seconds. Text messages don't play on speech-to-speech models, so use a recording there.

Each tool waits 5 seconds by default and makes one request, with no automatic retry. If the calendar times out or returns an error, the agent gets the error result and decides what to say. Tell it in the prompt how to handle a failed lookup, such as offering to try once more or recording a callback request.

Make the booking itself retry-safe too. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}} to the booking tool. Your booking system then ignores a second request with the same ID and slot, so a repeated request never books the same person twice.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Handing the call to a person

Some callers need a person now, and the transfer should reach the right one. Transfer Call runs on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI. It rings the team member first, and the caller joins only once that person picks up. Twilio users can also have a brief spoken introduction play to both sides just before they are connected.

Context Mapping picks the destination from what the agent learned on the call. You write ordered rules, such as more than 500 employees going to the enterprise desk, and the first rule that matches wins, with a fallback number if none does. The Dynamic HTTP Resolver asks your system for the number instead, which suits a rep rota that changes every day.

No summary travels with the call by default, so the agent writes the caller's answers to your CRM through an HTTP API tool before it transfers. When the transfer rings out after its 30-second default, the caller remains with the agent. Tell it in the prompt to offer a slot or record a callback request. Transfers only run on a real phone line, so test each one there rather than in a browser call.

What to measure, and where to start

Count the bookings your system confirmed and the calls that went to a person, then watch how many bookings move within a day. Variable extraction records each answer, such as team size or visit type, as the caller stated it, and the transcript and recording keep the caller's exact words.

A Webhook node at the end of the call sends those answers and the booking outcome to your CRM, and retries automatically if your endpoint is briefly down. A booking that moves the next day is worth a listen, since it can mean the agent asked the wrong question first.

Start with inbound booking calls, because the caller already wants a time and no outbound consent is involved. Add demo callbacks once your form carries the written-consent wording, then patient and bank bookings once the verification step is built. Cost follows the minutes those calls run. Hosting Dograh yourself means no per-minute platform fee on those bookings, though servers, model keys and phone minutes are still paid for. Dograh Cloud bills a 1¢-a-minute platform fee instead.

Test on a real phone number before launch. Most phone calls reach the agent as 8 kHz audio, while a browser test runs at 16 kHz, so names and times can sound different to the speech model. Two of the calls above have their own deep dive, and HVAC booking has a post of its own:

Glossary

Prior express written consent
A signed agreement, electronic signatures included, that lets a business make sales calls with an artificial or AI voice to a named number. A callback to a demo-form lead needs it, so the wording belongs on the form.
Round robin
A booking rule that hands new meetings to each person on a team in turn. It lives in the booking tool, and the agent only passes the answers that decide which team the meeting goes to.
Context Mapping
A Transfer Call setting with ordered rules that pick the destination from what the agent learned on the call, such as team size. The first rule that matches wins, and a fallback catches the rest.
Retry-safe
Said of a booking request that carries a unique ID, such as the call's workflow_run_id, so the booking system can ignore a repeat of the same request and never books the same slot twice.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.