A campaign is a list of contacts that an Outbound voice skill calls automatically on a schedule. Use campaigns for lead follow-ups, appointment reminders, surveys, and any other outbound calling.
Campaigns live on the Contacts tab of an outbound voice skill.
A campaign is created automatically once you've completed the required outbound settings on the skill's Configuration tab and saved. The Contacts tab will prompt you until they're done:
Complete the required campaign settings (webhook, schedule, contact context schema) and save to auto-create a campaign.
So at minimum you need an End of Process Webhook, a Schedule, and a Contact context schema (see Skills for all outbound settings).
The schedule (on the skill's Configuration tab) controls when the campaign is allowed to dial:
Related outbound controls keep calling safe and sensible:
On the Contacts tab:
Each contact appears in the contacts table with its phone number, name, any context fields, and a status showing where it is in the calling process.
A campaign moves through these statuses:
| Status | Meaning |
|---|---|
| Draft | Being set up; not scheduled to run. |
| Scheduled | Will start automatically at the configured time. |
| Running | Currently dialling contacts. |
| Paused | Temporarily stopped. |
| Completed | All contacts have been processed. |
| Cancelled | Stopped and closed. |
Use the toggle in the campaign header to move between Draft and Scheduled: when it's a Draft, Schedule it to run automatically at the configured time; when it's Scheduled, Move to draft to pause planning.
While a campaign is running, the contacts table refreshes automatically so you can watch progress live.
For each contact you can:
When a campaign is closed, the table also shows each contact's reason, number of attempts (click to see every attempt with its status, reason and duration), and last call time.
Each time a campaign starts dialling, a run is recorded, so you can see when the campaign was active.