Dograh

AI Voice Agents for Appointment Reminders and Confirmations

AI Voice Agents for Appointment Reminders and Confirmations
GuideNovember 3, 2026·13 min read

AI Voice Agents for Appointment Reminders and Confirmations

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 reminders and confirmations call people before a booked visit, check who answered, and then confirm, move or cancel the booking in the same call. Each answer is written back to the booking system, so a freed slot can go to someone else that day. Anything clinical or unusual goes to a person.

Key Takeaways

  • Reminders fix forgetting, but patients more often miss visits over changed plans.
  • A confirmation call earns its place only when it can change the booking.
  • Healthcare reminders have narrow FCC limits, and an offer turns any reminder into telemarketing.

A reminder fixes forgetting, yet changed plans now cause more missed visits. We walk through the loop every confirmation call shares, voicemail and the wrong person, consent, daily campaigns in Dograh, healthcare and other industries, what to measure and where call data sits. You can self-host Dograh or run it on Dograh Cloud.

What a reminder call is for

A reminder fixes forgetting, and forgetting is no longer the main reason people miss appointments. In its August 2026 poll of 190 medical groups, MGMA found that 32% saw higher no-show rates than in 2025, while 58% held steady and 10% improved. The groups with rising rates already sent text and phone reminders and made confirmation calls. MGMA's own reading is that adding another reminder may not solve the problem.

Tebra's own no-show survey of 473 providers and 3,196 patients, which the MGMA article also cites, shows a telling gap. Providers named forgetting as the leading cause, 81% of them. Patients more often pointed to work conflicts (31%), weather (30%) and emergencies (27%). A patient who knows about Thursday's visit and can't make it gains nothing from hearing about it again.

The share of groups seeing more no-shows is growing. A year earlier, MGMA's 2025 poll of 265 groups found 27% with rising no-show rates. The groups that held steady or improved credited frequent reminders and automated calls, backed by clear policies.

So a reminder call only earns its place when it can do something a text cannot. A patient who says she can't make Thursday should end the call with a new time, or with the slot released for someone else. That is the job this guide builds. The argument that a call beats a text, with trial data, is in Healthcare No-Show Reduction: Why AI Voice Agents Beat Reminders.

On a reminder call, the agent names Thursday's visit after the check, the patient says she can't make Thursday, and the booking system shows Thursday crossed out with either a new time or the slot released for someone else.
Tebra's own no-show survey of 473 providers and 3,196 patients, which the MGMA article also cites, shows a telling gap. Providers named forgetting as the leading cause, 81% of them. Patients more often pointed to work conflicts (31%), weather (30%) and emergencies (27%).

The confirmation loop every industry shares

Every confirmation call runs the same loop: greet, verify who answered, name the appointment, settle it, write it back and read it back. The industry changes the words while the order stays put.

The greeting names the business. Then comes the check. A phone number finds the booking, yet anyone in the household could pick up, and asking for someone by name only brings them to the phone. Before the agent names the appointment, it confirms identity with a check you approve, such as a date of birth. In healthcare the visit itself is protected information, so nothing about it is said until the check passes.

Then the agent names the time and place and asks whether it still works. A yes is recorded. A no leads to a choice between a new time and a cancellation. In Dograh, an HTTP API tool reads open slots from your booking system during the call, and a second request writes the change. A message such as "One moment, I'm checking the calendar" plays as the tool starts, while the request runs.

Requests can repeat when a line drops. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}}, so your booking system can spot a duplicate and ignore it. Before the call ends, the agent reads back the new time, and the person hears exactly what was saved.

Bookings change after a list is built. Pre-Call Data Fetch on the Start Call node, set to Outbound calls only, re-reads the booking once the person answers, so the agent speaks about the current time and not the one in yesterday's file. AI Voice Agents for Appointment Scheduling: The Booking Loop covers the booking side in depth.

Voicemail, screening and the wrong person

Many reminder calls reach a machine or someone other than the patient, so decide what each one hears before the first call. The default is silence. Voicemail handling is off until you turn it on.

In the agent's Settings, turn on "Enable voicemail and screening handling". "When voicemail is detected" is preselected to "Disconnect the call". Choose "Leave a message" to play a typed message or a recording, after which the agent ends the call. Anyone near the phone can hear a voicemail, so keep it to a first name, the business name and a number to call back:

"Hi {{first_name | there}}, this is Northside Clinic. Please call us back at +1415555XXXX. Thank you."

Voicemail handling is set per agent, and it either leaves that message or ends the call. Some people ask for no messages at all. Put them on a second agent set to "Disconnect the call", and run them as their own campaign. Your campaign settings decide whether a voicemail outcome is called again. They have no say over which attempt leaves the message.

Some phones screen calls and ask the caller to say why they're calling. The agent plays your Screening message, then waits for the person. Give the business name and say it's a scheduling call, never which visit.

When someone other than the patient answers, the check fails by design. The agent asks when the patient is easiest to reach, gives the business name and a callback number, and says nothing about the appointment.

Dograh

Open Source Alternative to Vapi / Retell

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

dograh-hq/dograh

Star on GitHub

Consent depends on the industry. Healthcare reminders can rest on the FCC healthcare exemption, and everyone else needs the customer's consent first.

Under the Telephone Consumer Protection Act (TCPA), the FCC's calling rules carve out calls from healthcare providers to the mobile number the patient gave. Appointment confirmations and reminders are covered purposes. The limits are strict. Each patient gets one call or text a day and three a week at most, and a voice call generally runs a minute or less. The call names the provider and gives a contact number, and it carries no marketing and no billing content. A patient can opt out, and that request takes effect at once.

Put the provider's name and callback number in the Greeting Text on the Start Call node, so they play first. Allow Greeting Interruption is on by default, which lets the person cut in after two words, so switch it off to make sure the whole notice plays.

A confirmation call that moves the appointment can run past a minute. So consent on file, collected when the patient booked, is generally the safer basis for these calls. Patient Consent for Automated Healthcare Calls goes deeper on the healthcare side.

Outside healthcare, the FCC's 2024 ruling on AI-generated voices treats an AI voice as an artificial voice. A reminder by AI voice to a mobile generally needs the customer's prior express consent. Add an offer, such as an upgrade or an add-on, and the call becomes telemarketing, which needs prior express written consent. Keep offers out of reminder calls in every industry.

People opt out by voice. When a patient says to stop calling, the agent confirms it on the call and logs it in your system, so the number is left off the next reminder list. Treat this section as general information, and confirm your own setup with counsel.

Running reminders as a daily campaign

Most reminder programs run as a daily campaign built from the next day's bookings. Export them from your booking system as a CSV with a phone_number column. Every other column, such as the appointment time, the provider or the location, becomes a variable the agent uses after the check passes.

Campaigns run that list on a Call Schedule, with time slots by weekday in one time zone per campaign, UTC by default. A list that spans time zones needs one campaign per zone, or someone gets a reminder at dawn.

Retries run from 0 to 10, 2 by default, 30 seconds to an hour apart, on busy, no answer or voicemail. Under the healthcare limit of one call a day, any retry lands on the same day, so for exemption calls set Max Retries to 0. The next day, Redial Campaign creates a new campaign that calls only the contacts whose last call ended in voicemail, no answer or busy. Each campaign can be redialed once, which keeps a patient well inside three calls a week.

The campaign dials every row it is given, so the daily export should already leave out anyone who opted out or cancelled. When bookings change through the day, let your own system start each call through the API Trigger instead. Then your system decides who is called, and when.

Reminders in healthcare

Healthcare reminders carry the most rules, because the appointment itself is protected health information. The loop stays the same, and each specialty adds one step of its own.

Telehealth adds a check before the visit. The call asks whether the join link arrived and where the patient will be during the visit, because licensure follows the patient's location. AI Voice Agents for Telehealth Reminders and Confirmations covers that call.

Dental practices confirm tomorrow's chairs from the practice management system and write every answer back, so a cancelled cleaning reaches the short-notice list the same day. AI Voice Agents for Dental Reminders and Confirmations covers booked visits. Patients who are overdue get a different call, in AI Voice Agents for Dental Recall and Recare Outreach.

Therapy practices need the most care on voicemail, since a clinician's name alone can reveal why someone is seen. They also gain from a second call after a missed session that offers the next slot and asks what got in the way. AI Voice Agents for Therapy Appointment Reminders & No-Show Recovery covers both calls.

In every specialty, the agent never gives clinical advice. A symptom or a clinical question goes to a person through Transfer Call on Twilio, Telnyx, Plivo, Cloudonix or Asterisk ARI. The clinic's line rings first, and the patient is joined only after staff answer. A medical emergency gets a fixed line, written as Transition Speech on its own pathway: "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.

Reminders outside healthcare

Outside healthcare the loop stays the same, and the consent tier changes. Vet clinics sit on this side of the line. The healthcare exemption is written around people, so a vet clinic generally needs the owner's consent before reminder calls, as our post on vet appointment booking and vaccination reminders explains.

Gyms run reminders to free class spots. A member who can't make the 6 p.m. class releases the spot, and the gym's software offers it to the waitlist. Our post on class booking and reminder calls covers that loop.

Staffing firms remind candidates about interviews and first shifts, where a no-show leaves a client short. The answer, including any problem such as transport, is recorded as the candidate said it, and a recruiter follows up. Our post on candidate reminder and confirmation calls covers it.

Travel bookings, car service visits, home-service windows and pest-control visits follow the same pattern. Each call confirms or moves the booking, and any offer waits for a separate call with its own written consent.

What to measure

Count what each call changed. Every reminder call ends in one of four outcomes: confirmed, moved, released or unreachable.

The agent records the outcome as a variable during the call, and a Webhook node sends it to your system after the call, with links to the transcript and recording. A temporary failure on your side is retried automatically, so a short outage doesn't lose the day's results.

Avoid a count of "no-shows prevented". Nobody knows who would have missed, so that number is a guess. The four outcomes are facts. Track how many released slots were rebooked and how many stayed empty, and how many moved appointments were kept. Those numbers tell you whether the call is doing its job.

Then read the calls behind the numbers. Dograh's QA node scores each step of a sample of calls separately, with its own tags and summary. You can see where people dropped off, which step ran long and where the agent misheard a date.

Where reminder call data sits

Reminder calls carry names and appointment times, which in healthcare count as protected health information, so decide where recordings and transcripts live before launch. Dograh is self-hostable. Run it on your own servers and the platform never receives your call data, and no business associate agreement (BAA) with Dograh is needed.

Two layers sit behind each reminder. Dograh runs the call flow, the calendar tools and the telephony, and the speech and language models are a separate layer the clinic chooses. Bringing your own keys makes the model contracts yours, yet patient audio still reaches those providers, so each one that handles patient data needs its own BAA. Only open-weight models running on your own servers keep the audio inside the clinic. The phone carrier may need a BAA too, depending on what it stores, and so does your cloud provider if the servers run in one.

Self-hosted installs ship with anonymous usage telemetry on, and healthcare calls should run with it off. Set ENABLE_TELEMETRY=false and remove POSTHOG_API_KEY. Reminder minutes add up across a daily list. A clinic that self-hosts Dograh still pays for servers, model keys and phone minutes, but no per-minute platform fee, while Dograh Cloud charges a 1¢ platform fee on every minute.

Where to start

Start with one appointment type and one day's list. Run the call on a real phone line before launch. Most phone calls reach the agent as 8 kHz audio, while a browser test runs at 16 kHz, so names and dates can sound different to the speech model. Add provider names and street names to the Dictionary in the agent's Settings.

Then read the first week's transcripts against the four outcomes, and fix the step where calls go wrong. Each reminder call above has its own deep dive:

Glossary

FCC healthcare exemption
The part of the FCC's calling rules that lets healthcare providers call or text the mobile number a patient gave for set purposes, including appointment reminders, within strict limits: one a day, three a week, generally a minute or less, and no marketing or billing content.
Prior express consent
The customer's agreement to be called at a number, often given when they share it for that purpose. An AI-voice reminder to a mobile outside the healthcare exemption generally needs it.
Prior express written consent
Consent the person signs, on paper or electronically, allowing marketing calls to a named number with an artificial or AI voice. A reminder that adds an offer needs it.
Released slot
An appointment time a person gave up during a confirmation call. It is worth something only if the booking system learns about it the same day and offers it to someone else.

Frequently Asked Questions

Get started with Dograh

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