AI voice agents for specialty pharmacy onboarding make the welcome call for a specialty drug's first fill. The agent verifies the patient, reads the benefits status and the patient's cost exactly as the pharmacy system returns them, and books the first shipment. Every question about taking, injecting or storing the drug goes to the pharmacist.
Key Takeaways
- Each new referral starts its own call through the API Trigger.
- Read benefits and cost exactly as returned, and never estimate or predict approval.
- The pharmacist does all teaching, so the agent offers the pharmacist and transfers.
This post is part of our guide to AI voice agents for pharmacy and pharma. In its section "Getting it to the patient: delivery and refills", the part on specialty first fills puts it plainly: "A specialty drug's first fill needs a welcome call, and the agent handles the paperwork part of it." Here is that call in full, run in Dograh, an open-source, self-hostable voice agent platform.
What specialty pharmacy onboarding calls must do
A specialty drug's first fill takes more than one conversation, and much of it is paperwork. Before anything ships, the pharmacy checks the patient's benefits, often waits on a prior authorization, works out the cost and books a delivery the patient can be home for.
Drug Channels Institute estimates that retail, mail, long-term care and specialty pharmacies "collectively dispensed an estimated $293.4 billion in specialty pharmaceuticals" in 2025, and it counts "more than 1,900 dispensing locations with specialty pharmacy accreditation". Each new patient at any of them needs the same welcome call.
That call does four things, in order: it verifies the patient, reads the benefits status and the cost, books the first shipment, and offers the pharmacist.
Starting the call when a referral is ready
Referrals arrive every day, so a fixed list goes out of date by the afternoon. Start each call from your own system with the API Trigger instead. Your pharmacy system calls it once a referral has a benefits result to share, and the call goes out at once.

The opening line plays before the patient is verified, so it carries the pharmacy's name and the patient's name only, never the drug, the condition or the prescriber. If the name comes from the trigger's data, give it a fallback, because a missing value with no fallback is spoken as a blank. If you want to tell patients they're speaking with an automated assistant, or your location requires it by law, write it in the Greeting Text too.
The phone rule matters here more than on most pharmacy calls. Under the Telephone Consumer Protection Act (TCPA), the FCC's healthcare call exemption covers calls "strictly limited" to purposes that include "prescription notifications", and those calls "may not include accounting, billing, debt-collection, or other financial content". A call that states a cost generally falls outside the healthcare exemption, so it rests on the patient's prior express consent. Get the patient's consent when the referral is taken, and keep it on record. This is general information, not legal advice; confirm your position with counsel.
Open Source Alternative to Vapi / Retell
Self-hosted voice agent platform — no per-minute fees
dograh-hq/dograh
Star on GitHub
Verify, then read the benefits and the cost
The agent names nothing until the patient passes an approved check, such as date of birth plus one more detail on file. Under 45 CFR 164.514(h), a covered entity generally must "verify the identity of a person requesting protected health information" when that person "is not known to the covered entity". A phone number finds the record, but it does not prove who answered. A caller acting for the patient goes to staff unless the pharmacy system lists them as authorised.
After verification, the agent reads the benefits status and the patient's cost exactly as your pharmacy system returns them. It never estimates a cost, predicts a prior authorization or promises copay help. Anything the system does not return goes to staff.
In practice, an HTTP API tool asks your pharmacy system for the referral's benefits result, and the agent reads what comes back: approved, pending prior authorization, the copay amount, or enrolled in an assistance program. "Pending prior authorization" is read as a status, with no guess at when or whether it will clear.
Recordings and transcripts keep whatever is said, so the call never asks for a full account, card or Social Security number; use a short check such as the last four digits, and send payment links by text or email from your own system.
Booking the first shipment
An HTTP API tool reads the open delivery dates from your system, and the agent offers only those. It reads the address back in full and asks who will be home to receive the parcel. Who can accept it is your pharmacy's rule, and the agent records the name as stated.
Many specialty drugs ship refrigerated, so someone has to be there. Tell the agent in the prompt never to offer "leave it at the door" unless your pharmacy allows it for that drug. The tool writes the date, address and receiver to your system. Add a Preset Parameter named workflow_run_id with the value {{initial_context.workflow_run_id}}, so a repeated request from the same call is not booked twice. Later shipments follow delivery coordination, and refills the refill reminder flow.
The teaching belongs to the pharmacist
Specialty drugs often come with real instructions, such as how to use an injection pen or what to watch for in the first weeks. None of that is the agent's to give.
Teaching a patient how to take a specialty drug is generally the pharmacist's counseling (42 CFR 456.705 sets this for Medicaid, and states set their own rules). The agent offers the pharmacist and transfers; it never gives the teaching. Confirm your state's rule with counsel.
For Medicaid, 42 CFR 456.705 says state standards "must require pharmacists to offer to counsel (in person, whenever practicable, or through access to a telephone service that is toll-free for long-distance calls) each beneficiary or beneficiary's caregiver who presents a prescription." The matters it lists include "Special directions and precautions for preparation, administration, and use by the patient" and "Techniques for self-monitoring drug therapy". It also expects states to plan for patients who are not at the counter, "for example, prescriptions delivered offsite or through the mail", which is most of specialty pharmacy.
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, including the patient's questions. If nobody answers, the caller stays with the agent; tell it in the prompt to offer a callback. A medical emergency gets the emergency pathway's fixed Transition Speech: "hang up and call 911". On a speech-to-speech model only recordings play, so record this line.
Once therapy starts, checking that the patient keeps taking it is another call, covered in AI voice agents for medication adherence.
Join the Dograh Community
Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.
What the call leaves behind
After each call, the Webhook node sends the result to your pharmacy system: verified or not, the shipment booked, the questions for the pharmacist, or the reason the call stopped. It retries automatically on a temporary failure. Extracted answers are an AI step, so the transcript and recording stay the exact record.
Voicemail handling is off by default. If you turn it on (Settings, Voicemail & Screening) and set it to leave a message, keep it to the pharmacy's name and a callback number, never the drug. Dograh keeps no do-not-call list. When a caller opts out, an HTTP API tool writes it to your own list, and your system stops triggering calls to that number. The do_not_call call tag records the request but never blocks a later call.
For patient calls, self-host Dograh. No BAA with Dograh is needed, because Dograh never sees the data. Your speech and language providers may need their own BAA, and your phone carrier may too. HIPAA-compliant voice AI for pharmacy covers each layer.
Dograh starts every account on its own managed models. To keep call audio away from Dograh, open Models, switch the Organization default to BYOK with your own speech and language providers (or local models), and check that no agent has its own model override. Dograh is the orchestration layer: it runs the call flow, tools and telephony, and the speech and language models are a separate layer you choose. The call audio stays in-house only when the speech and language models run on your own servers too.
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.
Glossary
- Benefits investigation
- The pharmacy's check of what a patient's plan covers for a specialty drug, including any prior authorization and the patient's cost. The welcome call only reads its result as the pharmacy system returns it.
- First fill
- The first dispensing of a new specialty prescription, usually shipped to the patient. It needs a welcome call for benefits, cost and delivery, and a pharmacist's counseling for the teaching.
- Offer to counsel
- The pharmacist's offer to explain a medicine to the patient, which 42 CFR 456.705 requires state standards to include for Medicaid, in person or by toll-free phone. The agent offers the pharmacist and transfers; it never gives the counseling.
- API Trigger
- A Dograh endpoint your own system calls to start an outbound call at once, with the patient's details passed in. It fits referrals that arrive daily, because your system decides who is called and when.

