Dograh

AI Voice Agents for Eye-Exam Scheduling and Recall Calls

AI Voice Agents for Eye-Exam Scheduling and Recall Calls
Use CaseOctober 29, 2026·8 min read

AI Voice Agents for Eye-Exam Scheduling and Recall Calls

Vemu Sandeep
Vemu Sandeep·GTM Engineer, Dograh AI

GTM engineer at Dograh working across voice AI and enterprise AI. IIT (BHU) and IIM Visakhapatnam alumnus.

AI voice agents for eye-exam scheduling and recall book exams from the live schedule in your EHR and call patients your recall report marks as due. The agent verifies each patient before naming the exam, then books a slot during the call. Recall calls carry no eyewear offers and stay within the FCC's limits on healthcare calls.

Key Takeaways

  • The recall interval comes from the doctor's order, never from the agent.
  • Your own list enforces the limit of one call a day and three a week.
  • Keep recall calls free of frame or eyewear offers.

This post is part of our guide to AI voice agents for optometry and vision clinics. Below, we cover inbound exam booking and the recall campaign within the FCC's limits. Then we set both up in Dograh, the open-source AI voice agent platform we build.

Why patients need a call to come back

Most eye problems give no warning, so patients who feel fine don't book, and recall is how the practice reaches them.

In a 2026 survey by Prevent Blindness of more than 1,000 US adults, 25% had not had an eye exam in three to five years or longer. Nearly 75% believed an eye problem would cause symptoms they would notice. A patient who expects a warning sign waits for one.

How often each patient is due is a clinical decision. The American Optometric Association's exam schedule recommends an exam at least every two years for low-risk adults aged 18 to 64, and at least once a year for at-risk adults and everyone 65 and older.

So the interval lives in the EHR, as the doctor's recall order for each patient. In our view, the agent should never work out who is due. It calls the patients your recall report lists, and nobody else.

Booking exams from the live schedule

Inbound booking and recall use the same loop. The agent verifies the patient, reads live slots, books one and writes it back.

When a patient calls to book, the agent greets them with the practice's name and confirms who they are with an approved check such as date of birth. Then it asks what kind of visit they need. An HTTP API tool reads open slots for that visit type from your EHR during the call. The patient picks one, and a second request books it. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}}, so the EHR can ignore a duplicate if the same booking arrives twice.

Booked exams still get missed. A 2025 study at New York Eye and Ear Infirmary of Mount Sinai found an overall no-show rate of 16.9% across 62,678 adult ophthalmology appointments, with forgetting among the most common reasons. Healthcare No-Show Reduction: Why AI Voice Agents Beat Reminders covers the reminder call that follows a booking.

Some callers stop at the price. In a Verasight survey in November 2025, 18.4% of US adults named cost of care as their main reason for delaying an eye exam. The agent never quotes a price or a benefit your system did not return. It sends those questions to staff.

Dograh

Open Source Alternative to Vapi / Retell

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

dograh-hq/dograh

Star on GitHub

Building the recall list in your EHR

The recall list is a report your EHR already produces, filtered before any call goes out. Start from the patients whose recall date has passed and who have nothing booked. Take out anyone who opted out, and anyone already called today or three times this week. Upload that list as a CSV to Campaigns, where each extra column, such as the exam type, becomes a variable the agent can use after verification. Or let your system start each call through the API Trigger.

Campaign settings decide how hard each patient is chased. Retries run from 0 to 10, two by default, with a delay from 30 seconds to an hour, two minutes by default, and switches for which call outcomes get a retry. A retry can land later the same day, and campaigns have no per-patient call cap. So either your own list enforces one call a day and three a week, or retries are set to zero. Each retry also adds phone minutes. Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost). Dograh Cloud has a 1¢-a-minute platform fee.

An optometry practice's recall report on the EHR screen. A printed list of patients due with three crossed off for having opted out, being called today, or having had three calls this week, and the remaining patients uploaded to a calling campaign with retries set to zero.
The FCC's healthcare-call exemption generally allows at most one call or text a day and three a week to each patient, and a text from your own system counts toward the same week. A list that lets a fourth call through takes that call outside the exemption the recall campaign leans on.

Calling hours are set by weekday, in one time zone per campaign, UTC by default. A practice with locations in two time zones runs two campaigns.

The recall call: greet, verify, book

The recall call follows the same order every time. It greets, verifies, then names the exam.

The Greeting Text plays word for word as the call connects, so put the practice's name and callback number there. If you want to tell callers they're speaking with an automated assistant, or your location requires it by law, write it in the Greeting Text along with the practice's name. The greeting plays before verification, so it never mentions an exam.

Next the agent asks for the patient by name, which only finds the right person, then asks for date of birth. Only after that check does it say an eye exam is due. If the check fails, or a family member answered, the agent leaves the practice's number and says nothing more.

Then it books, using the same slot lookup as an inbound call, and the outcome goes back to your system as booked, declined, call back later or opted out. If a patient mentions a symptom such as sudden flashes or a curtain over their vision, the call leaves recall at once and follows the emergency pathway set out in the guide. AI voice agents for dental recall and recare outreach uses the same campaign pattern with a different interval.

What the FCC's healthcare-call rule allows

Recall calls to mobiles usually lean on the FCC's healthcare-call exemption, and every one of its conditions has to hold. Under the Telephone Consumer Protection Act (TCPA), the Federal Communications Commission's rule for healthcare calls lets a healthcare provider call a patient's mobile without prior consent only in a narrow case. The call goes only to the number the patient gave and costs the patient nothing. It states the provider's name and contact details at the start. Its purpose is limited to things such as exam reminders and wellness checkups. It carries no selling of any kind, and no billing. Voice calls are expected to last about a minute or less. A provider may start at most one call or text a day to each patient, and at most three a week combined.

A few conclusions follow. An overdue-exam recall about the patient's own care generally fits "exam reminders" or "wellness checkups". A line about new frames or a lens sale generally takes the call outside the exemption, so leave every offer out. A recall call that books a slot can run past a minute, so consent on file, collected at the patient's last visit, is generally the safer basis, and counsel can confirm it for your practice. A text from your own system counts toward the same weekly limit as the call.

Join the Dograh Community

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

Voicemail, opt-outs and handing over

Every recall call needs a way out for the patient, and the form depends on who answers. A voicemail can be heard by anyone in the house, so it names the practice and a callback number and nothing about the exam. When a call under the exemption reaches voicemail, the message must also give a toll-free number the patient can call to opt out. Without one, leave no message. Voicemail handling is off by default, and once you turn on "Enable voicemail and screening handling", "When voicemail is detected" is preselected to "Disconnect the call".

On a live call, the opt-out is by voice, because Dograh has no keypad tool. The agent asks whether the patient wants to stop these calls and records the answer as an extracted variable. A Webhook node writes it to your system after the call and retries a temporary failure, so the patient is off the list before the next upload.

Questions about benefits or cost go to staff through Transfer Call, on Twilio, Telnyx, Plivo, Cloudonix and Asterisk ARI. Dograh calls the destination first and connects the caller only when someone answers. On Twilio, it can play a short spoken introduction to both people before connecting them. No summary goes with the call by default, so an HTTP API tool writes the question to your system first. If nobody answers within 30 seconds, the patient stays with the agent, which writes a callback request instead.

Glossary

Recall interval
How long after an exam a patient is due again, set by the doctor's recall order in the EHR. The AOA's schedule is the usual starting point, but the patient's own order decides, and the agent never changes it.
Healthcare-call exemption
The FCC rule that lets a healthcare provider call a patient's mobile without prior consent when every condition is met: free to the patient, limited purposes such as exam reminders, no selling, about a minute or less, and at most one call a day and three a week.
Calling hours
The weekday time windows a Dograh campaign may dial in. They run in one time zone per campaign, UTC by default, so a practice with locations in two time zones runs two campaigns.
Extracted variable
A value the agent records from the conversation, such as an opt-out or a chosen slot, as the patient stated it. The transcript and recording remain the exact record, and a webhook sends the value to your system after the call.

Frequently Asked Questions

Get started with Dograh

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