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

Outbound campaigns are not included with Launch. Growth and Enterprise include capacity for 1,000 currently stored campaign contacts across the workspace. Enterprise arrangements may include a different agreed allowance.

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

Many jurisdictions have regulations on when automated calls may be placed. Ensure your operating hours comply with the laws in every region you are calling into. Cloudax Connect does not automatically enforce local calling-hour regulations; it is your responsibility to configure compliant schedules.

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

Enable both recording and transcription for campaigns where you need to review outcomes or train your agent. Transcripts are searchable and can be exported alongside analytics data.

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

A billing administrator can open Billing, select Add-ons, and choose Buy more contacts before uploading a larger list. The new limit is available after payment completes.
FieldRequiredDescription
PhoneYesThe contact's phone number in E.164 format (e.g. +442071234567).
NameYesThe contact's full name. Passed to the agent as context during the call.
EmailNoThe contact's email address. Available for integrations and follow-ups.
PriorityNoPer-contact priority (higher values are called first). Overrides the default ordering.
NotesNoFree-text notes passed to the agent as additional context.
TagsNoComma-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

If a contact has no value for a token you reference, the placeholder is removed from the start message rather than read aloud, so a contact imported without a name simply hears the greeting without their name, never a literal {{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

Ensure phone numbers include the country code with a leading + 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

Cloudax Connect provides tools to support compliance, but it is your workspace's responsibility to ensure that all outbound calling activities adhere to local regulations, including GDPR, TCPA, PECR, and any other applicable laws. Consult your legal team before launching campaigns to new markets.

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:

StatusDescription
DraftThe campaign has been created but not yet started or scheduled.
ScheduledThe campaign is configured and waiting for its start date.
RunningThe campaign is actively placing calls to contacts.
PausedThe campaign has been manually paused. No new calls are placed, but in-progress calls are allowed to finish.
CompletedAll contacts have been processed and no further calls are needed.
CancelledThe campaign was manually cancelled before all contacts were reached.
FailedThe 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

Review disposition and sentiment data after the first few hundred calls. If "not interested" rates are high, consider refining your agent's script or adjusting your target audience. Use key topics to identify FAQs and add them to your agent's knowledge base for better responses.

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

Campaign call logs and their transcripts are retained for 12 months. Export any records you need to keep for longer before they expire. Contact the Cloudax team if your organisation requires a different retention policy.