AI dental appointment scheduling means a voice agent books, moves and cancels visits by phone against the practice management system's live openings. It asks for slots that fit the visit type and provider, books the one the patient picks, writes every change back during the call, and hands new patients and clinical questions to staff.
Key Takeaways
- The PMS decides visit length and provider. The agent books only openings it returns.
- A parent booking three children means three verified patient records, booked one by one.
- A short spoken line covers the pause while the calendar check runs.
This post is part of our guide to AI voice agents for hospitals and health systems, and follows AI voice agents for dental clinics, which ranks booking first. We cover visit types and family bookings, and show how the call runs in Dograh, the open-source AI voice agent platform we build.
Why a full chair schedule starts with the slot
A full schedule depends on putting each patient in the slot their visit needs, and a voice agent can share that front-desk job. In the ADA Health Policy Institute's Q2 2026 dental economy report, about a quarter of dentists said they were not busy enough and could have treated more patients. Among dentists who don't use AI yet but plan to, front-desk check-in (32.4%) and appointment scheduling (29.6%) top the tasks they plan to start in 2026.
Much of that capacity leaks through the phone. A patient calls to book a cleaning while the desk is busy, nobody picks up, and the hour stays empty. An agent can fill it, but only if it books the right slot. So it takes the routine bookings, while new-patient exams and anything the dentist must judge stay with people.
Visit type and chair time come from the PMS
The practice management system (PMS) already knows how long each visit takes and whose column and operatory it belongs in, so the agent asks it instead of guessing. Systems such as Dentrix or Open Dental store a length for every appointment type and keep the hygienist's and dentist's columns apart. A hygiene recall might need 60 minutes with a hygienist, while a filling needs the dentist and a different room.
The agent's first job is to work out which visit the patient means and match it to a visit type the PMS knows. "A cleaning and check-up" maps to hygiene recall. The prompt lists the visit types the agent may book directly. Anything outside that list, or anything the patient describes as pain, goes to a person.
Then the agent sends the visit type, the patient's usual provider and their preferred days to the PMS, and offers only the openings that come back. It never offers any free slot it happens to find. A gap in the hygienist's column may be 30 minutes when the visit needs 60, and only the PMS knows that.
The calendar check during the call
The calendar check is an HTTP API tool the agent calls during the conversation, and a second tool books the opening the patient picks. Openings change while the call is happening, so the agent reads them live instead of from a list loaded at the start. If the booking request returns an error because someone just took the slot, the agent says so and offers the next opening.
A lookup can take a few seconds, and silence on a phone line sounds like a dropped call. A line under the tool's "When the tool starts" message, typed or recorded, plays while the request runs, such as "One moment while I check the schedule." "While the tool is running" adds a later update if the PMS is slow.
Duplicate bookings need one more setting. An HTTP API tool does not retry on its own, but a patient who repeats themselves can lead the agent to call the booking tool twice. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}} to the booking tool, and have the scheduling service ignore a second request with the same ID and slot.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Family bookings and rescheduling
Family calls are where dental booking differs most from booking at a clinic. One parent often books two or three children back to back, and each child is a separate patient record with their own recall date and visit type.

The agent verifies the parent first, with an approved check such as a date of birth plus one more detail, then confirms each child by name and date of birth before it names any appointment. A phone number finds the family's records, but it does not prove who is calling. Pre-Call Data Fetch can load those records as the call connects, so the agent already knows which charts to ask about.
Ask the PMS for openings next to each other, and book each child with its own request so one failed booking leaves the others standing. The booking notes record that the parent made it.
A reschedule books the new slot first and cancels the old one only after the new booking succeeds, so the patient never ends the call with no visit. Our post on AI voice agents for patient appointment scheduling covers that order in full.
Many practices have a cancellation-notice policy, such as 24 or 48 hours. Put the practice's own wording in a Knowledge Base file and the agent reads it out when a patient moves a visit late. It never waives a fee or charges one, because that call belongs to the front desk.
Cancellations and what goes to a person
A cancellation is written to the PMS during the call, so the opening shows up while there is still time to fill it. Filling it the same day is covered in AI voice agents for dental reminders and confirmations, and patients who miss a visit outright get the call in AI dental no-show recovery calls.
After the call, a Webhook node sends the outcome to your system: booked, moved, cancelled or passed to a person, with links to the transcript and recording.
New-patient exams, insurance questions and anything the agent may not book go to a person through Transfer Call, on Twilio, Telnyx, Plivo, Cloudonix or Asterisk ARI. Dograh calls the front desk first and connects the patient only when someone answers. If the practice uses Twilio, a short spoken introduction can play to the patient and the front desk before the two are connected. No summary passes by default, so the agent first writes the patient's request to the PMS through an HTTP API tool. If nobody answers within the timeout, 30 seconds by default, the patient stays with the agent, which takes a callback request.
A patient who describes swelling that makes it hard to breathe or swallow hears a fixed line on its own pathway, played as Transition Speech: "If this is a medical emergency, please call 911 now."
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Where the patient data sits
A booking call carries protected health information from the first sentence: a name and a date of birth, then the visit itself. Self-hosting puts Dograh on the practice's servers, so recordings and transcripts stay there and no business associate agreement (BAA) with Dograh is needed. Each model provider that hears the call may need its own BAA, unless those models also run on your servers.
The phone carrier may need one, depending on what it stores, and many, such as Twilio, offer one. If your servers sit in a cloud account such as AWS, Google Cloud or Azure, that provider needs a BAA, while the practice's own data centre does not. HIPAA's definition of a business associate is the test for each one.
Self-hosted Dograh has no per-minute platform fee, but servers, model keys and phone minutes still cost money. Dograh Cloud charges a 1¢-a-minute platform fee. You bring your own model keys or run open models locally. Every call keeps a full trace, and built-in QA scores each step of a sample of calls, so a wrong booking can be traced to the step that caused it.
Start with one visit type, usually hygiene recall, on a real phone line. Read the first week's transcripts against the PMS, then add family bookings once the agent's openings match what your front desk would offer.
Glossary
- Visit type
- The appointment category the practice management system uses, such as hygiene recall or a filling. It sets the length, the provider and the room, so the agent books by visit type and never by an open gap alone.
- Operatory
- A dental treatment room. A practice schedules chair time per operatory and provider, which is why a free minute in the calendar is not always a bookable slot.
- When the tool starts
- The message a Dograh tool plays as its request begins, as typed text or a recorded clip. A second message, While the tool is running, can follow after a set delay if the lookup is slow.
- workflow_run_id
- A per-call ID Dograh can send with a booking request as a Preset Parameter. The scheduling service uses it, with the slot, to ignore a duplicate booking from the same call.

