> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voxo.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Call campaigns

> Run automated outbound call campaigns to notify patients about prescription pickups, refill reminders, birthday outreach, and other patient contact.

The Call Campaigns page at [https://pharmacy.voxo.co/outbound-calling](https://pharmacy.voxo.co/outbound-calling) lets you run automated call campaigns that contact patients on behalf of your pharmacy. Campaigns deliver pre-recorded or AI-generated messages and can accept key press responses from patients — such as confirming a pickup or requesting a transfer to staff. The page has three tabs: **Report**, **Campaigns**, and **Settings**.

## Campaign types

VOXO Pharmacy supports five campaign types. The campaign type determines the message delivered to patients and the response options they receive.

| Campaign type    | Purpose                                                                                                                                                                                                 |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Pickup Reminder  | Notifies patients that a prescription is ready to pick up. The patient can confirm they will pick it up, decline, or request a transfer to the pharmacy.                                                |
| Refill Reminder  | Reminds patients to refill a prescription before it runs out. Useful for maintenance medications or patients who may forget to request refills on time.                                                 |
| Contact Pharmacy | General outreach asking the patient to call or visit the pharmacy. Use this for situations that do not fit the pickup or refill reminder templates. Rx Number and Drug Name are optional for this type. |
| Birthday         | Places a birthday greeting call to patients on their birthday. Can be queued daily from PMS birthdays — see [Birthday campaign settings](#birthday-campaign-settings).                                  |
| Custom           | A campaign you define for a specific outreach scenario. Custom campaigns always run in Assistant mode and you can create as many as you need per location.                                              |

<Note>
  The four system types — Pickup Reminder, Refill Reminder, Contact Pharmacy, and Birthday — are limited to one campaign per location. If a system type already exists for your location, the wizard greys it out. Custom campaigns have no limit.
</Note>

## Campaign modes

Each campaign runs in one of two modes, which you select when you create or edit a campaign:

* **IVR** — The system plays a pre-recorded or text-to-speech menu and collects key press responses from the patient.
* **Assistant** — The pharmacy agent places the call and handles the interaction conversationally. The agent introduces the call, explains the reason for it, captures the patient's response, and detects voicemail so the disposition is recorded correctly.

<Note>
  Custom campaigns always run in Assistant mode.
</Note>

<Info>
  **Assistant** mode requires the Gold plan. If your pharmacy is not on the Gold plan, creating, editing, or duplicating a campaign in Assistant mode is rejected with a message that the Gold plan is required — switch the campaign to **IVR** mode or contact VOXO to upgrade. **IVR** mode has no plan requirement. Because Custom campaigns are always Assistant mode, they require the Gold plan.
</Info>

<Note>
  On Assistant-mode **Pickup Reminder**, **Refill Reminder**, and **Contact Pharmacy** calls, the agent verifies the patient's identity before discussing any prescription details. The opening message gives only the pharmacy name and a general reason for the call; the agent then asks for the patient's date of birth and shares prescription information only after confirming a match — the same verify-before-disclosure flow the agent uses on inbound calls. **Birthday** and **Custom** campaigns are unaffected.
</Note>

## Campaign schedule

Each campaign uses one of two schedule types:

* **Always-on** — The campaign places calls continuously during its configured calling hours whenever queued records are present.
* **One-time** — The campaign runs once at a specific date and time you select. Useful for a single outreach event such as a clinic day or store closure notice.

## Viewing campaign records

The Report tab shows the records associated with your campaigns. Use the campaign type dropdown at the top of the tab to choose which campaign's records to view — system types are listed first, followed by your custom campaigns.

Additional filters let you narrow the results further:

* **Search** — find records by patient name or phone number.
* **Status** — filter by **Queued** (call not yet placed), **Complete** (call attempt finished), or view **All**.
* **Date range** — set a start and end date to limit results to a specific time window.

Each row in the records table represents one patient contact attempt:

| Column      | Description                                                                                                            |
| ----------- | ---------------------------------------------------------------------------------------------------------------------- |
| Rx Number   | The prescription number associated with the record (if applicable)                                                     |
| Name        | The patient's name                                                                                                     |
| Number      | The number the system dialed                                                                                           |
| Drug Name   | The name of the medication (if applicable)                                                                             |
| Timestamp   | When the call was placed, shown in your local timezone                                                                 |
| Duration    | How long the call lasted                                                                                               |
| Disposition | How the call was answered: **HUMAN** (live person), **MACHINE** (answering machine or **VOICEMAIL**), or **NO ANSWER** |
| Result      | The patient's response: **CONFIRMED**, **DENIED**, or **TRANSFERRED**                                                  |

Use the pagination controls at the bottom of the table to move through large record sets.

### Exporting campaign records

Click **Export CSV** above the records table to download the current view as a CSV file. The export honors your active campaign, date range, status, and search filters.

* The file downloads directly in your browser — you do not receive an email link.
* The filename includes the location name, campaign type, and selected date range (for example, `Main Street Pharmacy - pickupReminder 5-1-2026-5-15-2026.csv`).
* Timestamps in the CSV are converted to your dashboard's local timezone.

<Note>
  Exports are capped at 512,000 records. If your selection exceeds that, the export is rejected with a message explaining the limit — narrow the date range or apply more filters and try again.
</Note>

## Managing campaigns

The Campaigns tab lists every campaign configured for your location. Each row shows the campaign name, type, mode, schedule, and status, along with controls to edit, archive, or add records.

Use the toolbar to:

* **Search** for a campaign by name.
* Filter by **Status — All / Active / Inactive**.
* Toggle between **Archived** and active campaigns.
* Click **Create Campaign** to open the campaign wizard.

### Adding records to a campaign

Open a campaign's row actions to add records. You can import a CSV file or enter records manually.

For **Pickup Reminder** and **Refill Reminder** campaigns, every record requires a patient name, phone number, Rx Number, and Drug Name.

For **Contact Pharmacy**, **Birthday**, and **Custom** campaigns, only the patient name and phone number are required. Rx Number and Drug Name are optional and can be left blank.

<Note>
  Patients who have opted out of voice contact are excluded automatically. Attempting to add a record for an opted-out number is rejected, and pickup-ready or refill-ready uploads sent from PioneerRx and BestRx skip those numbers before they reach the queue.
</Note>

#### Importing a CSV file

<Steps>
  <Step title="Open the Campaigns tab">
    On the Call Campaigns page, select the **Campaigns** tab.
  </Step>

  <Step title="Choose Add records">
    On the campaign you want to add records to, open the row actions and select **Add records → Import CSV**.
  </Step>

  <Step title="Prepare your file">
    Format your CSV with the columns your campaign type requires (patient name, phone number, and Rx Number / Drug Name where applicable). Download the example CSV from the dialog if you need a template.
  </Step>

  <Step title="Upload the file">
    Drag the CSV into the upload zone or click to browse. The dialog steps you through mapping each CSV column to the campaign field it represents, then previews the first five rows so you can confirm the mapping.
  </Step>

  <Step title="Confirm the import">
    Review the preview and click **Import**. The records are added to the campaign queue and calls go out according to the campaign's schedule and calling hours.
  </Step>
</Steps>

#### Adding records manually

<Steps>
  <Step title="Open Add records">
    On the campaign row, select **Add records → Manual entry**.
  </Step>

  <Step title="Enter patient information">
    Fill in the patient name and phone number, plus Rx Number and Drug Name when the campaign type requires them. Optional fields are labeled **(Optional)** and can be left blank.
  </Step>

  <Step title="Add the record">
    Click **Add** to save the record. Repeat for each additional patient.
  </Step>

  <Step title="Close the dialog">
    When you have finished, close the dialog. The records appear in the campaign with a Queued status.
  </Step>
</Steps>

### Creating a campaign

Campaigns are created with a step-by-step wizard from the Campaigns tab.

<Steps>
  <Step title="Open the wizard">
    On the Campaigns tab, click **Create Campaign**.
  </Step>

  <Step title="Pick a type, name, mode, and schedule">
    Choose the campaign type — **Pickup Reminder**, **Refill Reminder**, **Contact Pharmacy**, **Birthday**, or **Custom** — and enter a name that identifies the campaign in your list. Pick **Assistant** or **IVR** mode (Custom is Assistant-only). Then choose **Always-on** or **One-time**; for one-time, set the date and time the campaign should run.
  </Step>

  <Step title="Configure calling hours and message">
    Select the business hours block that defines when calls can be placed. For **IVR** mode, pick an audio file to play as the **Initial message**. For **Assistant** mode, write a short **Description** of what the campaign is about — the agent uses it to introduce the call.
  </Step>

  <Step title="Set a transfer destination">
    Choose the extension, queue, call group, or custom destination patients are connected to if they request a transfer to staff.
  </Step>

  <Step title="Review and save">
    Confirm the summary, then click **Save**. The campaign appears in the Campaigns tab list. You can now add records to it.
  </Step>
</Steps>

<Note>
  A campaign only places calls during the calling hours you configure. Records added outside that window stay queued until the next allowed time block.
</Note>

### Editing or archiving a campaign

Click a campaign row to open the wizard in edit mode. Type changes are locked once a campaign exists; other fields can be updated and saved.

To archive a campaign, use the row actions. Archived campaigns are hidden from the default list — toggle **Archived** on the toolbar to view them, and restore one by un-archiving from its row actions.

## Campaign settings

The Settings tab holds location-wide settings that apply across your campaigns.

### Birthday campaign settings

The Birthday Campaign Settings card on the Settings tab includes:

* **Enable Automated Birthday Calls** — a toggle that, when on, runs a daily job that pulls today's birthdays from your PMS and queues them into your location's Birthday campaign.

<Note>
  The toggle is only effective once a Birthday campaign has been created for your location. If you turn it on without a configured Birthday campaign, the dashboard surfaces an error and the setting is not saved.
</Note>

## Campaign reports

Aggregate metrics for your campaigns are available within the Report tab when a campaign is selected. Use them to evaluate how well your campaigns are reaching patients.

**Summary stats:**

* **Total Calls** — the number of call attempts placed in the reporting period.
* **Completed Calls** — calls that reached a conclusion (answered, voicemail, or no answer).
* **Answered Calls** — calls answered by a live person.
* **Transferred Calls** — calls where the patient chose to be transferred to pharmacy staff.
* **Voicemail** — calls that reached an answering machine.

**Charts:**

* **Human vs. voicemail breakdown** — a pie chart showing the proportion of calls answered by a live person versus those that went to voicemail.
* **Confirmed / denied / transferred breakdown** — a bar chart showing the distribution of patient responses.

Use these metrics to assess whether your campaign messages are landing effectively and whether the right patients are being reached at the right time.
