AI voice agents for pharmacy recall notifications call patients who received a recalled lot. The pharmacy builds that list from its dispensing records. The agent names the pharmacy, verifies the patient, then reads the recall instruction word for word. Questions such as "should I stop taking it?" go to the pharmacist, and every attempt is recorded.
Key Takeaways
- The pharmacy matches recalled lots to dispensing records, and the agent only places the calls.
- Read the recall instruction as fixed words after verification, never as advice.
- Set retries to 0, because the healthcare exemption allows one call a day.
This post is part of our guide to AI voice agents for pharmacy and pharma. The guide's section "Safety calls: drug recall notifications" splits the work in one line: the pharmacy decides who is affected, and the agent only delivers the instruction. Here is that call in full, from the list to the record, run in Dograh, an open-source, self-hostable voice agent platform.
Most drug recalls tell patients what to do
Most recall calls carry an instruction more than an alarm, and the recall class sets how urgent each one is. FDA sorts recalls into three classes in 21 CFR 7.3(m). Class I is "a situation in which there is a reasonable probability that the use of, or exposure to, a violative product will cause serious adverse health consequences or death." Class II covers harm that is temporary or medically reversible, and Class III is "not likely to cause adverse health consequences." FDA's recall definitions set out all three.
FDA's enforcement data on openFDA lists 765 drug recall entries reported in 2025: 49 Class I, 655 Class II and 61 Class III. Each entry is a product, not a separate recall event. So most recall calls are about a Class II recall, where the patient needs a clear instruction more than a warning.
Not every recall reaches the patient. The recalling firm sets the depth of recall, and 21 CFR 7.42 names the deepest level "Consumer or user level". Patient calls belong to recalls that go that deep, or that your policy or state law covers.
The pharmacy builds the call list
The list comes from your dispensing records. Match the recalled lot numbers to what you dispensed, keep only patients who received that lot, and leave out anyone who already returned the product. Use the mobile number the patient gave you, because the healthcare call exemption below generally covers only that number.

New York sets a deadline. Its Education Law 6811-c says that after a class I recall, "pharmacies shall make a reasonable attempt to notify all patients that have been prescribed and who are currently taking such recalled drug dispensed from such pharmacy by phone or by mail within three days of the pharmacy being notified". That is one state's rule; confirm your own state's with counsel.
The list reaches Dograh as a CSV uploaded to Campaigns, one campaign per recall, and each extra column becomes a variable. A per-contact greeting from the campaign file plays before verification, so it names the pharmacy and the patient only, never the drug.
A running campaign's contact list cannot be edited, so to stop calling someone, pause it and start a new campaign from a corrected list. For lists that change daily, start calls from your own system with the API Trigger. Calling hours use one time zone per campaign.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
How the call runs: verify, then read the notice
The call names the pharmacy, verifies the patient, then reads the instruction in fixed words. The Greeting Text names the pharmacy and gives its callback number as the call opens, which the healthcare exemption below requires. If you want to tell patients they're speaking with an automated assistant, or your location requires it by law, write that there too.
Asking for the patient by name only finds the right person without verifying them. So the agent asks for an approved check, such as date of birth. If the check fails, or someone else answered, the agent says only that the pharmacy needs to speak with the patient and leaves the callback number.
One campaign covers one recall, so the drug, the lot and what to do are the same for every patient on it. Transition Speech fits that exactly: it plays fixed text or a recorded clip word for word when its pathway is chosen, and it cannot carry per-patient variables. On a speech-to-speech model only recordings play, so record the instruction there. Choosing the pathway is still the language model reading a written condition, so check on transcripts that every verified call reaches it.
The question every pharmacist expects is "should I stop taking it?". Tell the agent in the prompt to answer only if the recall instruction says so word for word, and otherwise to offer the pharmacist. Transfer Call works on Twilio, Telnyx and Asterisk ARI. It passes no summary by default; on Twilio it can play a short spoken introduction to both people. Write the details to your system with an HTTP API tool before the transfer. If nobody answers, the caller stays with the agent; tell it in the prompt to offer a callback. A patient who describes a medical emergency hears the emergency pathway's fixed line: "hang up and call 911".
The call sells nothing. FDA's recall rules in 21 CFR 7.49 say a recall communication "should not contain irrelevant qualifications, promotional materials, or any other statement that may detract from the message." So no refill offer, vaccine reminder or store promotion rides on this call.
The phone rules for pharmacy recall notifications
This section is general information, not legal advice. Under the Telephone Consumer Protection Act (TCPA), the FCC's healthcare call exemption covers calls to a patient's mobile that are "strictly limited" to listed purposes, one of them "prescription notifications". A recall call to a patient's mobile generally fits the healthcare exemption's "prescription notifications", within its limits (name the pharmacy first, about one minute, one call a day and three a week, opt-out on every call, no offers). Confirm your position with counsel.
The frequency limit is easy to break by accident. The rule says a provider "may initiate only one message (whether by voice call or text message) per day to each patient, up to a maximum of three voice calls or text messages combined per week to each patient". Campaigns have no per-patient call cap, and a retry comes back 2 minutes later by default. Our reading is that a retry is a second call that day, so set retries to 0 and place any second attempt as a new campaign on a later day.
The rule also asks for "an automated, interactive voice- and/or key press-activated opt-out mechanism". Dograh has no keypad tool, so the opt-out is by voice: tell the agent in the prompt to accept "stop calling me" at any point. Dograh keeps no do-not-call list. When a caller opts out, an HTTP API tool writes it to your own list, and you remove those numbers before the next campaign upload. The do_not_call call tag records the request but never blocks a later call. The rule says a provider "must honor opt-out requests immediately."
Voicemail handling is off by default. If you turn it on (Settings, Voicemail & Screening) and set it to leave a message, the rule asks for "a toll-free number that the consumer can call to opt out of future healthcare calls", so the message gives the pharmacy's name, a callback number and that toll-free number, never the drug.
The TCPA also exempts calls made for emergency purposes, but whether a drug recall qualifies isn't settled, so don't build the campaign on it. Confirm your position with counsel.
Record every attempt and every answer
The same 21 CFR 7.49 says "Telephone calls or other personal contacts should ordinarily be confirmed by one of the above methods and/or documented in an appropriate manner."
After each call, the Webhook node sends the outcome, the transcript link and the recorded answers to your pharmacy system, retrying a temporary failure automatically. The transcript and recording stay the exact record. Mark each patient as reached, not reached or opted out, and send a letter to anyone the calls did not reach. Those recordings and transcripts hold protected health information, and HIPAA-compliant voice AI for pharmacy covers where they should live.
Patients who call back reach the line in AI voice agents for pharmacy patient support, and car dealers follow the same rule in AI Voice Agents for Recall Notifications. 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.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
Glossary
- Recall class
- FDA's rating of how hazardous a recalled product is, under 21 CFR 7.3(m). Class I carries a reasonable probability of serious harm or death; Class II and III are less severe, and most drug recall entries are Class II.
- Depth of recall
- How far down the distribution chain a recall reaches, set in the recalling firm's strategy under 21 CFR 7.42: wholesale, retail, or consumer or user level. Patient calls belong to recalls that reach the consumer level, or to calls a pharmacy's policy or state law requires.
- Prescription notification
- One of the purposes listed in the FCC's healthcare call exemption. A recall call generally fits it when it names the pharmacy first, runs about a minute, stays within one call a day and three a week, offers an opt-out and makes no offer.
- Transition Speech
- Fixed text or a recorded clip that Dograh plays word for word when a pathway is chosen. It cannot carry per-patient variables, which suits a recall instruction that is the same for everyone on the campaign.

