Campaigns
A Campaign dials every contact in an audience using a selected voice flow. OliAI handles rate limiting, retries, and concurrency automatically.
Campaign Lifecycle
DRAFT → IN_PROGRESS → COMPLETED
↕
PAUSED
↓
CANCELLED| Status | Meaning |
|---|---|
| DRAFT | Created but not started. You can still edit or delete it. |
| IN_PROGRESS | Actively dialing contacts. |
| PAUSED | Temporarily halted. Can be resumed. |
| COMPLETED | All contacts have been called (success or final failure). |
| CANCELLED | Manually stopped. Cannot be resumed. |
Creating a Campaign
Go to Campaigns
Click Campaigns in the sidebar, then click + Create Campaign.
Set Campaign Details
| Field | Required | Description |
|---|---|---|
| Name | Yes | Internal label for this campaign |
| Flow | Yes | The voice flow to use for all calls |
| Audience | Yes | The group of contacts to call |
| Scheduled Start | No | Leave blank to start manually, or set a future date/time |
| Timezone | No | Required if you set a scheduled start |
Configure Dialing Settings
| Setting | Default | Description |
|---|---|---|
| Calls Per Minute | 10 | How many calls to initiate per minute |
| Max Concurrent Calls | 5 | Maximum simultaneous active calls |
| Max Retries | 3 | How many times to retry a failed call |
| Retry Delay (minutes) | 5 | Wait time between retry attempts |
| Call Timeout (minutes) | 5 | Maximum duration per call |
Start with lower concurrency (3-5) for your first campaigns to ensure call quality. Scale up once you've validated the flow.
Create the Campaign
Click Create Campaign. The campaign is created in DRAFT status.
Starting a Campaign
From the Campaigns list or the campaign detail page, click Start Campaign.
OliAI checks your organization's quota before starting. If you don't have enough remaining call minutes, the start will be blocked. See Billing & Usage.
Monitoring Progress
Open a running campaign to see the live progress dashboard:
| Metric | Description |
|---|---|
| Total | Total contacts in the audience |
| Pending | Not yet called |
| In Progress | Currently on a call |
| Completed | Call finished (any outcome) |
| Failed | All retry attempts exhausted |
| % Complete | (Completed + Failed) / Total |
Pausing and Resuming
- Pause — Stops initiating new calls. Calls in progress complete normally.
- Resume — Continues from where it left off, dialing remaining contacts.
Viewing Campaign Calls
In the campaign detail page, scroll to the Calls section to see every call attempt:
| Column | Description |
|---|---|
| Contact | Name and phone number |
| Status | COMPLETED, FAILED, IN_PROGRESS, etc. |
| Duration | Call length in seconds |
| Attempts | How many times the call was tried |
| Transcript | AI-readable summary of the conversation |
| Audio | Playback of the recorded call |
Cancelling a Campaign
Click Cancel Campaign. This:
- Stops all new dials immediately
- Allows in-progress calls to finish
- Sets the campaign to CANCELLED — it cannot be resumed
Cancellation is permanent. If you might want to continue later, use Pause instead.
Call Audio Playback
For completed calls, click the Play button in the calls table to listen to the recording. Audio is a dual-track recording of both the customer and the AI.
Retry Logic
OliAI automatically retries calls that fail due to:
- No answer
- Busy signal
- Network errors
Each retry waits for the configured Retry Delay before attempting. After Max Retries exhausted, the call is marked as permanently failed.
Calls are not retried for:
- Contact explicitly declined / hung up immediately
- Invalid phone number