
Creating a campaign
To create a campaign, navigate to “Campaigns” in the sidenav, and click “Create campaign” in the top right.
- Name: Name of your campaign
- Description (optional): Description of your campaign.
- Labels (optional): Add labels or tags.
- Channel source: Select a channel source, which is assigned to an outbound agent, that will be doing the outreach
- Display ID: Enter the phone number or caller ID that your recipients will see
- Rate per hour: Set the rate of outreach per hour (e.g., If set to 60, it will try to do 1 outreach per minute)
- Campaign hours: Set the days and hours of operation for your campaign. You can set it so that it will only run during weekdays, or normal business hours of 9 to 5.
Creating a batch
A batch is a grouping of phone numbers to call. Phone numbers to call are populated in a batch by uploading a CSV or manually adding a phone number. To create a batch, click on a campaign, click the “Batches” tab and “Create batch” when you are viewing a campaign.
- Expires on (optional): Can set an expiration date for the campaign to end. This may or may not occur after all the contacts are reached out to.
- Note: Phone numbers in the batch will not be called after the expiry time
 
- Auto-run batch: This toggle is to immediately start running the campaign on the batch.
- If enabled, the campaign will automatically start reaching out to the contact list when you click “Save”. And new phone numbers added to the batch will be automatically called.
- If disabled, the campaign will be paused when you click “Save”, and you will need to click “Start” to have it begin reaching out.
 
Uploading a batch
You can create a batch in a few ways:- Directly through the API endpoint
- Upload a CSV file in the UI
- reference_id: A unique identifier
- target: Phone number in format +14155551234
- Any other columns can be referenced in the agent prompt or message. For example, if the CSV has a column “first-name”, the agent message can be configured to say something like “Hello vars.first-name” when that phone number is called.

Batches
A campaign can have multiple batches. But a batch can only have one file upload.
- Active: When batch upload is successful and campaign is running (e.g., Auto-run is enabled)
- Paused: When batch upload is successful and campaign is paused (e.g., Auto-run is disabled)
- Pending: When batch is created, but there is no file uploaded yet or is being processed
- Failed: When batch upload is unsuccessful
- Canceled: When batch is canceled
- Expired: When batch is expired
Testing your campaign
To test your campaign configuration and batch file upload, you can try sending one test call to see if it follows the specified business hours and rate of outreach.- Go to a campaign, click on Batches tab
- Click on a batch and add a test number to the “Add to queue” section
- By clicking “Add”, it will be added to the batch, and will follow the campaign settings for business hours and rate of outreach. 
- Note: Depending on your campaign settings, you may need to wait until the next scheduled outreach.
 

Campaign statuses
When running outbound campaigns, each call request moves through two status dimensions:- Request Status: The overall lifecycle state of the campaign request.
- Channel Manager Status: The telephony or dialer state that reflects what’s happening at the call level.
| Request Status | Channel Manager Status | Description | 
|---|---|---|
| PENDING | PENDING | The request has been acknowledged and is waiting to be scheduled. | 
| INITIATED | PENDING | The request has been queued to the dialer but not connected yet. | 
| CONNECTED | COMPLETED | The call connected successfully and the connection has been completed. Note this does not mean the call has been completed simply the connection. | 
| CONNECTED | HUMAN | The call connected and a human answered. | 
| CONNECTED | MACHINE | The call connected but was answered by a machine (e.g. voicemail or IVR). | 
| CONNECTED | UNKNOWN | The system could not confidently determine whether the answer was human or machine. | 
| FAILED | PENDING | The dialer encountered an error before connecting (e.g. internal failure or high load). | 
| FAILED | BUSY | The call could not be completed because the line was busy. | 
| FAILED | NO-ANSWER | The call rang but was not answered within the timeout window. | 
| FAILED | FAILED | The request failed due invalid phone numbers, or other unrecoverable conditions. | 
| INVALID | PENDING | The phone number failed validation (e.g., malformed or unsupported). The request is skipped. | 
| DUPLICATE | PENDING | The record was identified as a duplicate in the batch. | 
| CANCELLED | PENDING | The batch was canceled or expired before dialing. | 
- CONNECTED statuses represent successful call connections, whether with a human, machine, or unknown party.
- INVALID, DUPLICATE, and CANCELLED requests are not sent to the campaign manager and do not initiate any call attempts
Voicemail detection
You can enable voicemail detection for your campaigns. When a call connects, the system can determine whether the answer is from a live person or a voicemail system. If a voicemail is detected, the agent can leave a pre-recorded message for the recipient. If no voicemail is detected, the agent or workflow proceeds with a live interaction, based on the agent’s instructions. Configuration Options You can configure detection timeouts to control when and how voicemail is identified:- Pre-speech timeout: Time allowed before the callee begins speaking. If the user does not speak within this timeout, the conversation proceeds normally.
- **Post-speech timeout: **Time allowed after the callee finishes speaking. If the user stays silent for this duration, the system considers the speech ended and makes a decision.
- Overall timeout: Maximum total duration for voicemail detection to run before returning a result.
If you reach a voicemail set the voicemail_message to: “Hello, this is New Bay Health calling to assist you with scheduling your recent referral. We’re eager to assist you at your earliest convenience. Please give us a call back at 555-123-1234. Our scheduling team is available Monday through Friday from 7:00 AM to 5:00 PM to assist you. Thank you.”

