Voice options and refill configuration settings depend on which pharmacy management system (PMS) you have connected. The choices you see reflect what your PMS supports.
How the agent handles patients
Keypad entry
The agent accepts touch-tone keypad input during calls. If a caller types their prescription number on the keypad, the agent looks up the prescription from those digits without asking for a name and date of birth.- The agent allows a short pause between digits, which helps a caller reading a number off a bottle.
- A caller can press # to submit the number as soon as they finish.
- A short entry, such as a four-digit birth year, isn’t mistaken for a prescription number.
- A caller can press 0 at any time to ask for a person.
Finding the patient
The agent first looks a caller up by the number they’re calling from. If that finds no profile, it asks for the patient’s name and date of birth and searches on those. Name and date of birth lookup works on PioneerRx, Liberty RX, and BestRx and needs no setting turned on. A prescription number read off the label works at any point and is the fastest way to find a patient. Enable Search Patient Tool may still appear under Voice Settings. It doesn’t change what the agent does and is being removed from the dashboard. Names. Callers need to give both a first and a last name. A first name on its own isn’t enough to identify a profile.- Hyphenated and multi-part names, such as “Ana Maria” or “Garcia-Lopez”, are matched part by part.
- If the first attempt finds no match, the agent tries alternate spellings.
- Accents are ignored, so “Núñez” on file matches a caller heard as “Nunez”.
- The agent compares the name against both the full name your PMS holds and the patient’s first and last name, so a middle name on only one side still matches.
- It understands ordinals such as “the fifth”, month names, and two-digit years.
- If the call transcript writes a number as a word in another language, the agent still reads it as that number.
- If the transcript runs a date together into one number, such as “10282” for October 2, 1982, the agent splits it back into month, day, and year.
- When the caller says the century out loud, everything from that point on is the year. “Four twenty two thousand one” is April 20, 2001, not April 22.
- When the words could be split more than one way (“nine nineteen seventy three” could be the 9th or the 19th), the agent reads the date back the way it heard it and waits for the caller to confirm before looking up the profile.
Pet profiles
On PioneerRx, the agent recognizes pet (animal) profiles, including pets with no prescriptions on file, so a caller asking about an animal’s medications is matched to the right profile. The agent never asks for the pet’s name:- If the number the caller is calling from has one pet on it, the agent works from that profile.
- If the household has several pets, the agent reports their prescriptions as one list.
- If no pet is on the number, the agent asks for a prescription number from the label. This finds a pet profile the phone number isn’t attached to.
Requests the agent can’t handle
Some requests are outside what the agent can do: a delivery, an insurance or billing question, medical or dosage advice, appointment or vaccine scheduling, a special order, or a message for staff. The agent hands these off instead of improvising an answer. What happens next depends on the channel and your store hours:- On a call during business hours — the agent connects the caller to pharmacy staff.
- On a call outside business hours — the agent explains that staff will need to help, and offers to take a voicemail on your after-hours box.
- In chat and SMS — there’s no call to transfer, so the agent gives the patient your pharmacy’s phone number and invites them to call. This is the contact phone in your store details, not a transfer destination. The agent then asks whether there’s anything else it can help with.
When your PMS is unreachable
If the agent can’t reach your PMS during a call (for example, the connection to PioneerRx, Liberty RX, or BestRx is down), it tells the caller and transfers them to pharmacy staff. It doesn’t keep retrying or end the call with a generic error. If the agent can’t load your pharmacy’s configuration when a call starts, it asks the caller to contact the pharmacy directly and ends the call, so the caller isn’t left in silence.Text conversations
Privacy. In a text conversation, the agent never repeats a patient’s name, date of birth, or prescription number back to them, even one the patient just sent. When a lookup fails, it asks the patient to double-check what they sent without quoting it. Outbound texts are scanned for identifying numbers before they’re sent, including a number a transcript has spaced out digit by digit. A medication name caught by that scan is masked: the first three letters stay and the rest become asterisks, as inLis*******. A patient on several prescriptions can still tell which one a text is about.
Formatting. Texts are written to be read, not spoken. Numbers appear as digits, such as a phone number as 555-123-4567 and a prescription number as a single run of digits, instead of being spaced out the way the agent reads them on a call. Refill counts are still written as words (“two refills”).
Closing the conversation. When the patient has nothing else, the agent signs off with “Thanks for texting [your pharmacy]. Text us anytime you need help.” and ends the session, instead of leaving the thread open until it times out. A patient who opts out mid-conversation is thanked and the conversation is closed the same way. Webchat sessions don’t close this way; they end on their own inactivity timer.
When the agent is unavailable. If the agent can’t be reached when a patient texts in, the patient gets this text: “[Your pharmacy]: Sorry, our text assistant isn’t available right now. Please call the pharmacy directly at [your number] for help.” The number is the contact phone in your store details, and it’s left out if none is set. A text session waits up to 30 seconds for the agent to pick up.
Texts to an agent on a disabled account aren’t passed to the agent and get no reply. Carrier keywords such as STOP and HELP are still honored.
When a caller goes quiet
When a caller goes quiet, the agent waits for the silence to settle before checking in, so it doesn’t talk over someone who is still thinking or reading a label. It checks in a couple of times, a short pause apart, then says a friendly goodbye that names your pharmacy and ends the call. If the caller speaks at any point, the sequence stops.Monitoring conversations
The Conversations tab shows patient interactions as they happen. The stats bar at the top describes the sessions in the list below: it uses the same type, direction, transferred, date range, and search filters, and updates when you change one. The first card, Calls, counts every session in the filtered list. Filter the session list with the controls above the table:- Type — scope to Voice, Web, SMS, or All. All is the default and includes every session type.
- Direction — Inbound, Outbound, or Both.
- Transferred — show only sessions that were transferred to staff, only those that weren’t, or both.
- Date range and Search for narrowing further. Search matches the caller’s name as well as their phone number, so you can type either.
Session list
Each row in the session list is one patient interaction, either a phone call or a chat session. Select a row to open the conversation, or right-click it for Open conversation and Open in new tab. The conversation view shows:- Call recording playback — an audio player for the recorded phone call, if there is one. Use the player controls to play, pause, and scrub through the recording.
- Tool usage tracking — a log of every action the agent took during the session, such as looking up a prescription, submitting a refill request, or transferring the caller. Use it to check what the agent did and why. Some actions finish without the agent reading a result back, because the agent handled the request itself. Those are logged as successful, not as errors. A lookup that couldn’t reach your PMS is logged as a failure with the error, so you can tell an outage from a search that found nobody.
- Quality metrics — scores and indicators for how the agent handled the interaction, including whether the patient’s question was resolved.
Configuring the agent
The Settings tab contains five sub-tabs: General, Voice, Call Routing, Webchat, and Announcements. Store details, refill settings, and the Who Is Calling plugin download are on other pages. See Settings that moved. If your account can open the Settings tab but not change it, a banner at the top of the sub-tabs says you can view the settings but not edit them, and the fields are read-only. Ask an administrator at your pharmacy to give you the virtual receptionist update permission in Store settings. When Save Changes is unavailable after you’ve edited something, the reason appears beneath the button, for example “Choose a voice before saving.” Reset to Defaults sets every field on the agent config back to VOXO’s defaults: greeting, voice and call behavior, store and contact details, hours, announcements, transfer and voicemail destinations, tools, and language. Confirm the dialog to fill the form with the defaults, review them, then select Save Changes to apply them. Nothing is saved until you do, so Cancel Changes still puts the form back the way you found it.General
The General sub-tab holds the agent’s name and its language settings.
Languages are configured on this same sub-tab. See Language below.
Voice Settings
The Voice sub-tab controls how the agent sounds on calls.Call Routing
The Call Routing sub-tab sets the hours the agent works to and where it sends callers it can’t finish with. Settings are grouped into four sections.Business hours
Select the business hours schedule the agent uses to answer questions about when the pharmacy is open and to decide whether a call is after hours. You can assign an existing hours schedule, create a new one, edit the current selection, or remove it. Special hours on the selected schedule reach the agent with their name and dates, so a caller asking about your hours hears when a closure or change in hours runs. On the first and last day of a period marked Closed during this period, the agent tells callers the store is closed today and names the closure, instead of reading back the regular hours for that day.Business hours and Time of Days do different things. Business hours are recurring daily schedules the agent uses to answer “are you open?” and to route after-hours calls. Time of Days schedules continuous blocks, for example today through next week with no breaks, and lets you pick where calls route during that block. Use Time of Days for one-off closures or overrides instead of editing your regular business hours.
Transfer behavior
After hours
Special cases
Language
On the General sub-tab, control which languages the agent speaks and how it switches between them.
When your primary language isn’t English, or additional languages are enabled, the agent uses a multilingual speech-recognition model so it understands callers in any of your configured languages. A location set to English and locked to its primary language recognizes English only.
Sending callers to the agent in a chosen language
A phone menu can put a caller straight into the agent in a particular language. On the IVR page, point a menu key at Pharmacy Agent (<language>), for example a “para español, oprima dos” key at Pharmacy Agent (Spanish). Calls that press that key run in that language from the start, whatever the location’s Primary Language is. Fifteen languages are available: English, Spanish, French, German, Portuguese, Italian, Dutch, Polish, Russian, Swedish, Turkish, Chinese, Japanese, Korean, and Hindi. The agent speaks its fixed lines in the call’s language: the greeting, “please hold while I connect you”, what it says before handing the caller to staff, the recording disclosure, and its goodbye.Webchat
Set up a chat widget for your pharmacy website. Patients who visit your site can use it to ask questions and submit refill requests without calling.
A live preview on the right side of the sub-tab updates as you change settings, so you can see how the widget will look before you add it to your site. See Embedding the chat widget for how to add it.
If webchat isn’t included in your plan, the sub-tab still opens, but a note says so and the settings are read-only.
Announcements
Choose which announcements the agent plays to callers at the start of an interaction. You create and manage announcements on the Announcements page; this sub-tab only sets which ones are active for the agent.Settings that moved
The September 22, 2026 settings reorganization moved several agent settings to other pages. The agent behaves the same way; only where you configure it changed.Location
Your store name, website, contact phone and email, and address are on the Store Information tab of Store settings. The agent uses them when patients ask questions like “where are you located?” The business hours the agent works to are on the Call Routing sub-tab.Knowledge Base
The Knowledge Base is custom context the agent uses when answering patient questions. It’s organized into named sections, each with a Title and a Data field. Separate sections cover distinct topics, for example pharmacy policies, frequently asked questions, or notes about specific services, instead of one combined block. The agent reads every section when it answers. When you save the agent configuration, VOXO still checks your knowledge base for content that could interfere with agent behavior, such as directives, capability claims, or prompt-like instructions. If it finds any, a warning dialog lists the issues and the affected sections.Refill Config
Refill settings are on the PMS Config tab of the PMS page. This section describes how the agent handles refill requests on a call.Refills for reassigned prescriptions. If your PMS reassigns Rx numbers, enable the matching option on the PMS Config tab so the agent accepts refills filed against the new number. Without it, the agent may tell callers to contact their prescriber about a prescription that’s already filled and on hold. The available toggles depend on your connected PMS.
Matching the right prescription
On PioneerRx, Liberty RX, and BestRx, each of a patient’s medications is listed separately with its strength, so different strengths of the same drug aren’t combined into one entry.- If a caller names a medication that matches more than one of their prescriptions, including the same drug at two strengths, the agent names the strengths and asks which one they mean.
- A prescription number that a renewal has replaced still resolves to the current prescription, so a number read off an older bottle refills the right one.
- When a medication has more than one prescription on file and one has been transferred, the agent reports and refills the one that wasn’t transferred, even if the transferred one has the newer number.
Which status the agent reads back
On PioneerRx, a prescription’s own status and its stage in your pharmacy’s workflow are tracked separately. While the prescription is still moving through the workflow, the agent reads back the workflow stage. Once the work is finished, the caller hears the prescription’s own status.- A workflow stage your system reports but VOXO doesn’t recognize is left out instead of being read back as a status.
- A reversed prescription is reported as still being processed, not unavailable.
- A prescription your pharmacy hasn’t finished preparing is reported as not yet refillable, and no refill is filed against it.
- If the profile comes back without the details the refill check needs (an expiration date, the quantity remaining, or the days-supply and controlled-substance dates when refill-due limits are on), the agent tells the caller the prescription can’t be refilled, not that it’s still being prepared.
- If the profile has no days-supply end date, the refill check works it out from the last fill date plus the days supply. A prescription that has never been filled isn’t held to refill-due limits.
Refilling several prescriptions
On PioneerRx, BestRx, and LibertyRx, when a caller asks for several prescriptions at once, the agent confirms the list with the caller, submits the refills together in one request, and reports the outcome for each prescription in one summary. A caller who asks to refill “everything” is asked which medications they mean; the agent doesn’t submit their whole profile. A caller who asks what they can refill hears the names of the prescriptions that are refillable now, so they can pick from that list.Date of birth check
On PioneerRx and Liberty RX, the date of birth the caller gave is sent with each refill and compared with the one your PMS holds for that prescription. A prescription whose date of birth doesn’t match is reported back as not refillable and isn’t filed, so a refill is never submitted against someone else’s prescription. Pet (animal) profiles are the exception. Pet profiles don’t carry the owner’s date of birth, so on PioneerRx, when the date of birth doesn’t match or the caller gave none, the agent checks whether the profile is an animal one. If it is, the agent files the refill.Refills remaining and next fill date
Refills remaining. A caller who asks how many refills are left on a medication hears the count your PMS reports, for example “two refills”, not only whether it can be refilled right now. If your PMS doesn’t supply a count for that prescription, the agent says it doesn’t have it. Next fill date. Where your PMS supplies one, the agent reads the next fill date in the refill confirmation: after submitting the refill, it tells the caller the pharmacy won’t fill that prescription until that date. Prescriptions submitted together that share a date are named in one sentence. The agent doesn’t mention the date before the caller has asked for the refill, and it doesn’t read back a date that has already passed. A prescription that can’t be refilled yet is still answered with the reason why.Tools
Auto Transfer Compounding is on the Call Routing sub-tab. Who Is Calling — Liberty RX locations only. The plugin download is on the Who is Calling tab of the PMS page. See Who Is Calling for install and troubleshooting steps. The agent can book vaccine appointments on outbound Vaccine Scheduling campaigns, using the calendars and event types you set up on the Scheduling page. Inbound callers who ask to schedule a vaccine or an appointment are routed to pharmacy staff.Embedding the chat widget
After you configure the widget in Settings, copy the embed code and add it to your pharmacy website.1
Open the Webchat sub-tab
In the Settings tab, select Webchat from the sub-tab list.
2
Configure the widget
Set the widget name, position, auto-open behavior, and appearance. The live preview on the right updates as you make changes.
3
Copy the embed code
Scroll down to the embed code section. Click the copy button to copy the code snippet to your clipboard.
4
Add the code to your website
Paste the embed code into the HTML of every page on your pharmacy website where you want the widget to appear. Place it just before the closing
</body> tag. If your site uses a tag manager, you can add the snippet there instead.5
Verify the widget
Visit your website and confirm the widget appears in the correct position and opens as expected. Return to the Webchat sub-tab to adjust any settings if needed.