Campaigns
Run automated outbound calling campaigns using your AI agents to reach contact lists at scale. Campaigns let you schedule calls, manage retries, track outcomes, and analyse performance, all from a single dashboard.
Availability
Creating a Campaign
Campaigns are created through a four-step wizard that walks you through configuration, call settings, scheduling, and advanced options. Each step validates your inputs before allowing you to proceed.
Step 1: Basic Information
Start by defining the core details of your campaign:
- Campaign name: a descriptive name that helps you identify the campaign in lists and reports.
- Description: an optional summary of the campaign's purpose, target audience, or goals.
- Agent: select the AI agent that will conduct the calls. The agent's system prompt, voice, and personality are used for every call in the campaign.
- Phone number(s): choose one or more imported phone numbers to place calls from. Using multiple numbers can improve answer rates and distribute load.
- Priority: set the campaign priority level (Low, Normal, High or Urgent). Higher-priority campaigns are processed first when multiple campaigns run concurrently.
Step 2: Call Settings
Tune retry behaviour and throughput for the campaign:
- Max retries: the number of times to retry a contact who was not reached on the first attempt, from 0 (no retries) to 10.
- Retry interval: the minimum wait time between retry attempts, ranging from 5 minutes to 24 hours. Longer intervals help avoid the perception of spam.
- Max calls per day: an upper limit on the total number of calls the campaign can place in a single day, up to 10,000. Use this to control your campaign pace and avoid overwhelming your team with follow-up work.
- Max calls per hour: throttle the campaign's calling rate to a maximum of 1,000 calls per hour. Useful for pacing campaigns that target large contact lists.
- Call timeout: the maximum ring duration before the system considers the call unanswered, from 10 to 300 seconds.
Step 3: Scheduling
Define when the campaign is allowed to place calls. Scheduling ensures you only reach contacts during appropriate hours.
- Start date and end date: the campaign will only run between these dates. Calls outside this window are paused automatically.
- Per-day operating hours: set individual time windows for each day of the week (Monday through Sunday). For example, you might allow calls from 09:00 to 17:00 on weekdays and 10:00 to 14:00 on Saturdays, with Sundays disabled entirely.
- Timezone: search and pick from any worldwide timezone. All scheduling times are interpreted in the selected timezone, ensuring calls go out at the right local time for your contacts.
Respect local calling hours
Step 4: Advanced
Configure recording, compliance, and voicemail behaviour:
- Call recording: enable or disable recording for all calls in the campaign. Recording is on by default for new campaigns. Recordings are stored securely and accessible from call logs.
- Transcription: automatically transcribe every call so you can review conversations, search for keywords, and feed data into analytics.
- Respect do-not-call: when enabled, the system automatically skips contacts who have been flagged on your workspace's do-not-call list.
- Voicemail detection: when enabled, the agent can detect voicemail greetings and leave a customisable message. You provide the voicemail message text, and the agent's voice is used to deliver it.
Recording best practices
Contact Lists
Every campaign needs a contact list. Upload your contacts via CSV file. The system parses the file and maps columns to the expected fields. The following fields are supported:
Managing Contact Capacity
Your campaign-contact limit applies to the total contacts currently stored across every outbound campaign in the workspace. Open Workspace settings and select Limits to compare current usage with the available capacity.
When a Growth or Enterprise workspace reaches its limit, the add-contact and CSV import flows offer the option to buy more capacity. Extra capacity is sold in recurring 1,000-contact blocks, up to 250,000 total contacts. Monthly volume pricing reduces from £20 to £5 per additional block, and annual billing saves 15%.
Buy capacity before an import
| Field | Required | Description |
|---|---|---|
| Phone | Yes | The contact's phone number in E.164 format (e.g. +442071234567). |
| Name | Yes | The contact's full name. Passed to the agent as context during the call. |
| No | The contact's email address. Available for integrations and follow-ups. | |
| Priority | No | Per-contact priority (higher values are called first). Overrides the default ordering. |
| Notes | No | Free-text notes passed to the agent as additional context. |
| Tags | No | Comma-separated tags for filtering and segmentation. |
Only the columns above are recognised; any additional CSV columns are ignored on import. If you need extra context to reach the agent, put it in the Notes field.
Personalising Each Call
Contact details are passed through to the agent as prompt variables, so you can personalise every call without editing the agent per campaign. Reference the contact's name in the system prompt or start message with {{contactName}} (or its alias {{customerName}}), for example, a start message of “{{greeting_uk}} {{contactName}}, this is Acme calling about your order” greets each contact by name. Any custom metadata carried on the call is also available by its key (and an auto camelCase alias, e.g. {{campaignId}}).
Missing values are dropped
{{contactName}}.After upload, each contact is tracked individually. The system records the number of call attempts and updates the contact's status as the campaign progresses:
- Pending: the contact has not yet been called.
- Calling: a call to this contact is currently in progress.
- Completed: the contact was successfully reached and the call finished.
- Failed: all call attempts to this contact failed (e.g. invalid number, network error).
- Skipped: the contact was skipped, typically because they appeared on the do-not-call list or had an invalid phone number.
- Do Not Call: the contact has been permanently flagged and will not be contacted in any future campaigns.
CSV formatting tips
+ sign. Remove any spaces, dashes, or brackets from phone numbers before uploading. The first row of your CSV should contain column headers matching the field names above.Compliance
Before starting any outbound campaign, Cloudax Connect requires you to accept an outbound call disclosure. This acknowledgement confirms that your workspace has the legal basis to contact the individuals on your list and that you will comply with all applicable telecommunications regulations.
The disclosure form captures your workspace name and the full name of the person signing. This record is stored alongside the campaign for audit purposes. Campaigns cannot transition to the Running state until the disclosure has been accepted.
Legal responsibility
Monitoring Progress
Once a campaign is running, open its detail page to monitor progress in real time. The detail page provides three main views:
- Contacts table: a filterable, sortable list of all contacts showing their current status, number of attempts, last call time, and outcome.
- Call logs: a chronological record of every call placed by the campaign, including duration, result, recording link, and transcript.
- Analytics: visual charts and summary metrics covering call outcomes, disposition breakdowns, and sentiment trends.
A campaign moves through the following statuses during its lifecycle:
| Status | Description |
|---|---|
| Draft | The campaign has been created but not yet started or scheduled. |
| Scheduled | The campaign is configured and waiting for its start date. |
| Running | The campaign is actively placing calls to contacts. |
| Paused | The campaign has been manually paused. No new calls are placed, but in-progress calls are allowed to finish. |
| Completed | All contacts have been processed and no further calls are needed. |
| Cancelled | The campaign was manually cancelled before all contacts were reached. |
| Failed | The campaign encountered a critical error that prevented it from continuing (e.g. provider disconnection, billing issue). |
Campaign Analytics
The analytics section of each campaign provides detailed insight into how your calls performed. Metrics are updated in near real time as calls complete.
Call Results
Every call is categorised into one of the following result types:
- Answered: the contact picked up and a conversation took place.
- No answer: the call rang but was not answered within the timeout.
- Busy: the contact's line was busy.
- Failed: the call could not be connected due to a technical error.
- Voicemail: the call reached a voicemail system and a message was left (if voicemail detection was enabled).
Dispositions
For answered calls, the AI agent automatically assigns a disposition based on the conversation outcome:
- Interested: the contact expressed interest in the offer, product, or service.
- Not interested: the contact declined or showed no interest.
- Callback: the contact requested to be called back at a later time.
- Voicemail: a voicemail was left rather than a live conversation.
- Wrong number: the person who answered was not the intended contact.
“Call Back Requested” column
When the agent (or a contact) requests a callback during a campaign call, the scheduled time is stored on the contact and surfaced through a sortable Call Back Requested column on the campaign's contacts table. Switch the column on from the column picker at the top right of the table, then click the header to sort; earliest pending callbacks rise to the top so you can spot a backed-up queue or plan a quiet hour around it. The column respects your existing filters: combine it with Status = Callback and a date range to scope down to exactly the contacts you need to action.
Advanced Analytics
Beyond basic call results and dispositions, campaigns capture richer analytical data:
- Sentiment analysis: each call is scored for positive, neutral, or negative sentiment, helping you gauge how contacts are responding to your messaging.
- Key topics: the system identifies the most frequently discussed topics across all calls, surfacing common questions, objections, and areas of interest.
- Conversion tracking: if your agent is configured with conversion goals (e.g. booking an appointment, confirming an order), the analytics dashboard tracks conversion rates and highlights top-performing segments.
Optimise with analytics
Campaign Logs
The Campaign Logs page provides a cross-campaign log viewer that aggregates call records from all your campaigns into a single, searchable interface. This is useful for auditing, reporting, and comparing performance across campaigns.
The log viewer supports a range of filters including campaign name, date range, call result, disposition, agent, phone number, and contact tags. Combine multiple filters to narrow down to exactly the calls you need.
You can export logs to CSV at any time; the export respects your currently applied filters, so you only download the data you need. Each exported row includes the contact details, call timestamp, duration, result, disposition, sentiment score, and a link to the full transcript.
Clicking on any log entry opens the transcript viewer, which displays the full conversation between the agent and the contact. Transcripts are time-stamped and include speaker labels, making it easy to review exactly what was said during each call.
Log retention