Skip to main content
The Agent page at https://pharmacy.voxo.co/agent lets you manage the AI-powered pharmacy agent. The agent answers inbound patient calls, processes prescription refill requests, handles status checks, places outbound calls for call campaigns set to Assistant mode, and can operate as an embedded chat widget on your pharmacy website. The page has three tabs: Conversations, Analysis, and Settings.
Voice options and refill configuration settings vary depending on which pharmacy management system (PMS) you have connected. The available choices in those settings reflect what your PMS supports.
The agent recognizes touch-tone keypad input during calls. If a caller enters their prescription number on the keypad, the agent uses those digits to look up the prescription without asking for a name and date of birth. The agent allows a short pause between digits — useful when a caller is reading a number off a bottle — and a caller can press # to submit the number as soon as they finish entering it. A short entry, such as a four-digit birth year, isn’t mistaken for a prescription number, and a caller can press 0 at any time to let the agent know they’d like to speak with a person.
The agent incorporates the verified patient’s own medications into speech recognition during a session, improving accuracy when callers say their medications by name.
The agent matches hyphenated and multi-part names — such as “Ana Maria” or “Garcia-Lopez” — part by part, and tries alternate spellings when the first attempt finds no match. Accents are ignored, so “Núñez” on file matches a caller heard as “Nunez”, and a name is compared against both the full name your PMS holds and the patient’s first and last name, so a middle name on one side and not the other no longer prevents a match. Callers need to give both a first and a last name for a name lookup — a first name on its own is not enough to identify a profile.
The agent looks a caller up by the number they are calling from first. When 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 resolves fastest.Spoken dates of birth are read in US order — month, day, then year — so “one five ninety” is January 5, 1990. The agent normalizes ordinals, month names, and two-digit years, and treats a number the transcription rendered as a word in another language as that number.Enable Search Patient Tool may still appear under Voice Settings. It no longer changes what the agent does and is being removed from the dashboard.
For pharmacies on PioneerRx, the agent recognizes pet (animal) profiles, including pets that have no prescriptions on file, so callers asking about an animal’s medications are matched to the right profile.
For pharmacies on PioneerRx, when more than one patient profile matches the name and date of birth a caller gives — for example, family members who share a phone number — the agent asks for the street address on file to identify the right profile before continuing. If the address still doesn’t narrow it to a single profile, the agent transfers the call to pharmacy staff.
For pharmacies on PioneerRx, the agent matches only patients on file at your store. Profiles that belong to another location are not returned during patient lookup.
If the agent can’t reach your pharmacy management system during a call — for example, the connection to PioneerRx, Liberty RX, or BestRx is down — it recognizes the outage, lets the caller know, and transfers them to pharmacy staff instead of retrying or ending with a generic error. If the agent can’t load your pharmacy’s configuration at all when a call starts, it asks the caller to contact the pharmacy directly and ends the call rather than leaving them in silence.
When a caller asks for something the agent has no way to handle — a delivery, an insurance or billing question, medical or dosage advice, appointment or vaccine scheduling, a special order, or a message passed to staff — the agent hands the request off rather than 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 — with no call to transfer, the agent gives the caller your pharmacy’s phone number and asks them to call during business hours.
Patients are never routed to the prescriber voicemail box. If the agent can’t complete a transfer, it tells the caller so instead of announcing a hand-off that won’t connect.

Monitoring conversations

The Conversations tab provides a live view of patient interactions. A stats bar at the top shows session metrics for the current period. 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.
  • DirectionInbound, 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.
Your filters, search term, and page are kept while you work — open a conversation and come back and the list is where you left it.

Session list

Below the stats, each row in the session list represents 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 applicable. 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. This lets you verify what the agent did and why. An action that finishes without a spoken reply — because the agent handled the request itself instead of reading a result back — is logged as successful, not as an error. A lookup that couldn’t reach your pharmacy management system is logged as a failure with the error, so an outage reads as an outage rather than as 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.
To print or save the full message-by-message transcript of a conversation, open the conversation first, then use your browser’s print option from that view. The CSV export from the session list contains the table row only — it does not include the full transcript.
A conversation link carries the location the conversation belongs to, so it stands on its own when you copy it to a colleague. Opening a link for a location other than the one you are currently viewing switches the dashboard to that location.

Analyzing performance

The Analysis tab gives you aggregate data about how the agent is performing over time. Use the date range filter at the top of the tab to set the reporting window. The tab contains three sections:
  • Question analysis — a categorized breakdown of what patients asked. Use this to identify which topics drive the most contacts.
  • Performance metrics — call handling rates and resolution rates. These show what percentage of interactions the agent handled without requiring staff intervention.
  • Conversation patterns over time — a chart of interaction volume across the selected date range, so you can spot trends or spikes in contact volume.

Configuring the agent

The Settings tab contains several sub-tabs, each controlling a different aspect of the agent’s behavior.

Voice Settings

Configure how the agent sounds and behaves on calls. The available fields are:
Custom destinations let you transfer calls to external phone numbers in addition to internal extensions, queues, and call groups. Use these when you need to route callers to an off-site location or external provider.
If patients report hearing static or background noise on agent calls, turn off Enable Background Noise and have them try again.

Language

Control which languages the agent speaks and how it switches between them.
Selecting additional languages lets callers request a different language mid-call. With Lock to primary language on, the agent always stays in the primary language regardless of what the caller asks.
When your primary language is something other than English, or additional languages are enabled, the agent transcribes calls with a multilingual model so it understands callers in any of the languages you have configured. A location set to English and locked to its primary language transcribes 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, regardless of the location’s Primary Language. 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 rather than always in English — the greeting, “please hold while I connect you”, what it says before handing the caller to staff, the recording disclosure, and its goodbye.

Chatbot

Configure an embedded chat widget that you can add to your pharmacy website. Patients who visit your site can use the widget to ask questions and submit refill requests without calling. Available settings: 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 on your site before deploying it. See Embedding the chat widget below for instructions on adding the widget to your website.

Location

Enter the business location information the agent references when patients ask questions like “where are you located?” or “what is your address?” Keep this information current so the agent provides accurate answers. You can expand the section details to add custom context about your location that the agent will include in its responses. The Location tab also includes an Hours Configuration section. Use this section to select or create the business hours schedule the agent uses when answering questions about when the pharmacy is open. You can assign an existing hours schedule, create a new one, edit the current selection, or remove it.
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 rather than editing your regular business hours.

Knowledge Base

Add custom context the agent uses when answering patient questions. The Knowledge Base is organized into named sections, each with a Title and a Data field. Use separate sections for distinct topics — for example, pharmacy policies, frequently asked questions, or notes about specific services — rather than combining everything into one block. Click Add Information to create a new section, then enter a title and the content you want the agent to reference. Sections collapse into the list and can be expanded for editing or removed with the trash icon. The agent reads every section when generating responses.
When you save the agent configuration, the system checks your knowledge base for content that could interfere with agent behavior — such as directives, capability claims, or prompt-like instructions. If flagged content is found, a warning dialog lists the specific issues and affected sections so you can review and update them before saving.

Announcements

Select which announcements the agent plays to callers at the start of an interaction. Announcements are managed separately on the Announcements page. Use this sub-tab to choose which of those announcements are active for the agent.

Refill Config

Control how the agent handles prescription refill requests. The available options depend on your connected PMS. Settings are organized into the following areas: Refill loop attempts — The maximum number of times the IVR retries filling a script before exiting the refill flow. Choose a value from 1 to 10. Set it lower to avoid trapping callers in long refill loops. Receiving options — By default, the agent assumes patients will pick up prescriptions at the pharmacy. Enable receiving options to offer alternatives like mail or delivery. When enabled, you can choose whether to prompt patients or use their default preference from your PMS. Promise times — When enabled, you can set minimum and maximum time estimates for each receiving option. A default promise time applies as a fallback when a specific receiving option does not have its own estimate configured. Date of birth verification — Require patients to enter their four-digit birth year before submitting a refill request. Refill conditions — Enable conditional refill tools to apply checks when a patient requests a refill. Available conditions include:
  • Prevent early refill requests — uses the prescription’s due date to block requests that are submitted too early.
Additional PMS-specific settings are displayed based on your connected system (BestRx, LibertyRx, PioneerRx, or others).
Refills for reassigned prescriptions. If your PMS reassigns Rx numbers, enable the corresponding option here so the agent accepts refills filed against the new number. Without it, the agent may tell callers to contact their prescriber for a prescription that’s already filled and on hold. The available toggles depend on your connected PMS.
You can give refills a dedicated direct-dial number that routes callers straight to the refill agent, bypassing your main menu. Additional numbers used for this purpose aren’t charged — ask your administrator or VOXO support to point a number at the refill agent.
On PioneerRx, Liberty RX, and BestRx, each of a patient’s medications is listed on its own, with its strength, rather than every strength of the same drug being folded 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 instead of choosing. A prescription number that a renewal has since replaced still resolves to the current prescription, so a number read off an older bottle refills the right one.
On PioneerRx, a prescription your pharmacy has not finished preparing is reported as not yet refillable, and the agent tells the caller it is still being prepared rather than filing a refill it cannot complete.
A prescription that comes back from your PMS without a prescription number can’t be refilled or reported on. When a caller asks about one, the agent hands them to pharmacy staff instead of answering from the profile, filing a refill, or asking the caller to read out a number your system doesn’t have.
On PioneerRx, BestRx, and LibertyRx, the agent submits refills in a single bulk request when a caller asks for several prescriptions at once. The agent confirms the list with the caller, files the refills together, and reports the outcome for each prescription in one summary instead of repeating the refill flow for every script.

Tools

Configure tools the agent can use during patient interactions. Auto Transfer Compounding — When enabled, the agent automatically transfers compounding-related calls to a destination of your choice instead of attempting to handle the refill itself. Toggle the setting on, then pick the Transfer Destination — an extension, queue, call group, or custom destination. Leave the toggle off to let the agent handle compounding calls normally. Who Is Calling — Liberty RX locations only. Select Download to get the Who Is Calling plugin for your Liberty RXQ workstations. See Who Is Calling for install and troubleshooting steps.
The agent can book vaccine appointments on outbound Vaccine Scheduling campaigns, against the calendars and event types you set up on the Scheduling page. Inbound callers who ask to schedule a vaccine or an appointment are still routed to pharmacy staff.

Embedding the chat widget

After configuring the widget in Settings, copy the embed code and add it to your pharmacy website.
1

Open the Chatbot sub-tab

In the Settings tab, select Chatbot 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 Chatbot sub-tab to adjust any settings if needed.
If your website is built on a CMS platform (such as WordPress), check your theme’s documentation for where to add custom scripts. Many platforms have a dedicated field for site-wide footer scripts, which is the appropriate place for the embed code.