Dograh

AI Voice Agents for Pharmacy Order Status: The Safest First Call

AI Voice Agents for Pharmacy Order Status: The Safest First Call
Use CaseOctober 24, 2026·8 min read

AI Voice Agents for Pharmacy Order Status: The Safest First Call

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 pharmacy order status answer the "is my prescription ready?" call. The agent verifies the caller first, then reads the status and copay exactly as the pharmacy management system returns them and never guesses a time. A caregiver goes to staff unless the system lists them, and every question about the medicine goes to the pharmacist.

Key Takeaways

  • Verify the caller before naming any prescription, price or ready time.
  • Read each status exactly as the PMS returns it, and never guess a time.
  • Caregivers go to staff unless the PMS lists them as authorised.

This post is part of our guide to AI voice agents for pharmacy and pharma. Its section "Order status: is the prescription ready" calls this the safest call to hand over first, because it is inbound and only reads. Here is that call in full, run in Dograh, an open-source, self-hostable voice agent platform.

Why status calls are the first to hand over

A status call asks one question the pharmacy management system (PMS) already answers: is the prescription ready, why not, and what will pickup cost. A technician answers by reading the PMS screen, and an agent can do the same lookup without a pharmacist's judgement.

In Drug Channels, Bryce Platt notes that the US has "almost 8,000 fewer retail pharmacies than it did in 2018, and more than 2,000 closed in 2025 alone." Each status call the agent takes keeps a technician at the filling station. Nothing the agent says changes the PMS, but a status is still health information, so verification comes first.

Verify before naming any prescription

The agent says nothing about a prescription until the caller passes an approved check. A phone number finds a record, but it does not prove who is calling.

HIPAA generally sets the rule. Under 45 CFR 164.514(h), before a permitted disclosure a covered entity must "verify the identity of a person requesting protected health information and the authority of any such person to have access to protected health information under this subpart, if the identity or any such authority of such person is not known to the covered entity".

So the call runs greet, verify, then disclose. The Greeting Text names only the pharmacy, because it plays before anyone is verified. 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 pharmacy's name. The agent then asks for the patient's name to find the record, and for date of birth plus one more detail on file, such as the first line of the address or the prescription number. If the details do not match, the agent shares nothing and offers a transfer to staff.

Pre-Call Data Fetch, set to Inbound calls only, can load the open orders linked to the caller's number once the call connects. Write the prompt so the agent speaks none of it before verification, and so a match on the number alone never counts as a check.

Dograh

Open Source Alternative to Vapi / Retell

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

dograh-hq/dograh

Star on GitHub

Read the status exactly as the PMS returns it

After verification, an HTTP API tool asks the PMS for the order. Each state it returns gets one plain sentence:

Status from the PMSWhat the agent saysWhat it never says
Ready for pickupIt is ready at the store, plus the copay on file if askedA pickup deadline the PMS did not return
In progressIt is being filled, with a ready time only if the PMS returned one"About an hour"
Waiting on the prescriberThe pharmacy is waiting to hear from the prescriberWhen the prescriber will reply
Waiting on insuranceIt is waiting on the insurance planWhether the plan will approve it
Too soon to fillThe earliest fill date the PMS returnsThat it can be filled early

Tell the agent in the prompt never to guess a time. A request to fill early, and any controlled substance question, goes to the pharmacist.

Name only what the caller asked about, not every item on the profile. Price works the same way: the agent reads the copay the PMS has on file, and any other cost question goes to staff. 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. If the pharmacy takes payment before pickup, another HTTP API tool asks your system to send one.

The tool's Custom Message, as text or a recorded clip, plays once just before the tool runs, so a slow lookup does not leave silence. The tool waits 5 seconds by default and does not retry, so tell the agent in the prompt to offer a callback when the PMS does not answer.

A patient who wants the order brought to them moves to delivery coordination, and a refill request belongs to the refill reminder flow.

Caregivers, clinical questions and handover

Many status calls come from someone other than the patient. The rule on someone else collecting a prescription sits in 45 CFR 164.510(b)(3): "A covered entity may use professional judgment and its experience with common practice to make reasonable inferences of the individual's best interest in allowing a person to act on behalf of the individual to pick up filled prescriptions, medical supplies, X-rays, or other similar forms of protected health information." That professional judgement belongs to your staff. So a caller acting for the patient generally goes to staff, unless the PMS already lists them as an authorised person. In that case the agent checks them against the details the record holds for that person. This is general information, not legal advice; confirm your position with counsel.

A daughter phones the pharmacy's voice agent asking if her dad's prescription is ready. The agent checks the pharmacy records, finds no authorised person listed, writes her request to the pharmacy's system, and transfers her to a technician who already has the request on screen.
Whether a relative may act for a patient is a judgement call, and a wrong yes discloses health information to the wrong person. Unless the record already names them, the agent never decides; it writes the request down and hands over.

Every question about the medicine itself goes to the pharmacist: what it is for, the dose, a missed dose, a side effect, an interaction or a switch to another version. 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 caller who describes a medical emergency hears one fixed line: the emergency pathway's Transition Speech plays "hang up and call 911" exactly as written. On a speech-to-speech model only recordings play, so record this line. Choosing the pathway is still the language model reading a written condition, so keep that condition short and test it on real calls.

Join the Dograh Community

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

Running a pharmacy order status line in Dograh

One agent can answer for every store. Point each store's number at the same agent through its Inbound workflow setting. Pre-Call Data Fetch then sends the dialled number as to_number, so your endpoint returns that store's name, hours and pharmacist line.

Drug names trip up speech-to-text, so add the ones your store dispenses most to the Dictionary in the agent's Settings. After each call, the Webhook node sends the outcome and the transcript link to your system and retries on a temporary failure. The same verify-then-tell pattern runs a shipment line in AI voice agents for order status in logistics.

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.

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 goes through 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.

Test on a real phone number before patients call, since most phone calls reach the agent as 8 kHz audio while a browser test runs at 16 kHz, and web calls cannot transfer. Give a wrong date of birth, say you are calling for your mother, or ask it to list your whole profile: the agent should share nothing.

Glossary

Pharmacy management system (PMS)
The software a pharmacy uses to record prescriptions, fills, prices and patients. The status agent reads an order's state and copay from it during the call and keeps no copy of its own.
Approved check
The verification step a caller passes before the agent names any prescription, such as date of birth plus one more detail on file. A phone number or a name only finds the record; it never counts as the check.
Too soon to fill
A PMS status meaning the plan or the pharmacy will not fill the prescription yet. The agent reads the earliest fill date the system returns and sends any request to fill early to the pharmacist.
Authorised person
Someone the PMS records as allowed to act for the patient, such as a named caregiver. Without that entry, a caller acting for the patient goes to staff, because the decision is a pharmacist's professional judgement.

Frequently Asked Questions

Get started with Dograh

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