Before you start
Confirm the following so the campaign runs cleanly:- the bot has passed test calls and is ready for live use
- the outbound numbers you want to dial from are configured under Carriers
- your contact CSV has clean phone numbers and a
phone_numbercolumn - the calling time window and working days are approved for the client
- the concurrency you plan to use is safe for available capacity
/dashboard/campaigns/new.
The same wizard is used to edit a campaign. Editing is only allowed while a campaign is in draft or paused status. Once a campaign has run, its name, bot, and contacts lock for audit safety — see Locked fields after the first run.
The wizard at a glance
The wizard has five steps, shown as pills across the top. The current step is highlighted in the brand colour; completed steps turn green. You can click back to revisit a step, but the wizard checks required fields before letting you move forward.Wizard buttons
These buttons appear across the wizard. Not all are visible on every step.| Button | Where it appears | What it does |
|---|---|---|
| Back link (arrow) | Top of page, all steps | Returns to the campaign list or campaign detail, depending on where you came from. Leaves the wizard. |
| Back | Steps 2–5 | Returns to the previous step. Your entries are kept. |
| Next | Steps 1–4 | Advances to the next step once required fields pass validation. Stays disabled (greyed out) until they do. |
| Browse | Step 4 (Upload CSV) only | Opens your computer’s file picker to choose a CSV. |
| Create Campaign | Step 5 (Review) only | Submits the campaign. On success you are taken to the campaign detail page. Shows “Creating…” or “Saving…” while it works. Disabled if the campaign is not editable (for example, already running or completed). |
Step 1 — Basics
Name the campaign and choose the bot that will speak to contacts.| Field | Required | What to enter | Default / validation |
|---|---|---|---|
| Campaign Name | Yes | A clear, human-readable name. Combine client, segment, date, and purpose, for example “Q2 Renewal Drive”. | None. Disabled if identity is locked. |
| Bot | Yes | The bot that runs the conversation. Pick the one already tested for this campaign. | None. Disabled if identity is locked. |
The bot list is drawn from your existing bots. If the bot you need is missing, create it first — see Create a bot.
Locked fields after the first run
Once a campaign has been started or restarted, the Campaign Name and Bot fields become read-only and a notice appears:These fields stay fixed so old and new attempts remain audit-safe.If you need a different name, bot, or contact set on an already-run campaign, use Clone from the campaign list or detail page to copy it into a fresh draft you can edit freely.
Step 2 — Number Pool
Choose the outbound numbers (DIDs) the dialler will place calls from. The list is drawn from your configured carriers.| Field | Required | What to enter | Notes |
|---|---|---|---|
| Select outbound numbers | Yes (at least one) | Tick the checkbox next to each number you want to dial from. Each row shows the number and, where set, a label such as “(Support team)”. | Scrollable list. The dialler rotates across all ticked numbers during the run. |
- choose numbers approved for this client and campaign
- avoid inbound-only DIDs
- select enough numbers to support your intended concurrency
- carrier dial-rate (CPS) capacity is configured separately under Carriers, not here
Step 3 — Dialler Config
This step controls pacing, the calling schedule, and how the dialler retries and re-dials contacts. It is the longest step.Concurrency and mode
| Field | Required | What to enter | Default / validation |
|---|---|---|---|
| Concurrency Limit | Yes | The number of calls allowed to run at the same time. | Defaults to 50 if left blank or below 1. Clamped to at least 1 when you click away. |
| Campaign Mode | Yes | Single Day — the campaign stops when the time window ends and does not resume. Multi Day — dialling pauses at the cutoff and resumes the next working day; the campaign stays running. | Default: Single Day. |
| Always-on | No | Only shown when mode is Multi Day. When enabled, the campaign never auto-completes and stays running until you stop it manually. The CSV becomes optional, so you can feed contacts over time via the API or by appending CSVs. | Off by default. |
Concurrency is the seat budget — how many conversations can be live at once. It is the protection limit for available capacity, not the rate at which new calls are launched. The carrier’s own dial-rate limit also applies, and the tighter of the two wins.
Time window and working days
| Field | Required | What to enter | Default |
|---|---|---|---|
| Time Window: Start | Yes | The earliest time of day dialling may begin, in 24-hour HH:MM format. | 09:00 |
| Time Window: End | Yes | The latest time of day dialling may run, in 24-hour HH:MM format. | 18:00 |
| Time Window: Timezone | Yes | The timezone the window is measured in. Options include Asia/Kolkata (IST), Asia/Dubai (GST), Asia/Singapore (SGT), Asia/Tokyo (JST), Europe/London, Europe/Berlin, America/New_York, America/Chicago, America/Los_Angeles, and UTC. | Matches your display timezone when you create the campaign. |
| Working Days | Yes | Tick the days of the week the campaign may dial within the window. | All seven days selected. |
Retries
| Field | Required | What to enter | Default / validation |
|---|---|---|---|
| Max Attempts | Yes | The most times a single contact may be called, including the first attempt. | Defaults to 3 if blank or below 1. |
| Retry Delay (minutes) | Yes | How many minutes to wait before a contact becomes eligible for its next attempt. | Defaults to 30 if blank or below 1. |
| Retry on System Dispositions | No | Tick which automatic call outcomes should trigger a redial: no_answer, rejected, RNR, error, timeout. | None ticked by default. |
| Custom Retry Dispositions | No | A comma-separated list of business disposition names from post-call analysis that should also redial, for example callback_requested, not_available. | Saved as a list. |
Redial and stop rules
These two optional rules adjust retry behaviour based on how long the last connected call lasted. They help you avoid re-dialling people you genuinely reached, and re-dial people who only connected for a moment.| Field | Required | What to enter | Default / validation |
|---|---|---|---|
| Stop redials after a meaningful connect | No | When enabled, cancels any remaining redials if the last connected call lasted longer than the threshold below. | Off by default. |
| Connected longer than (seconds) | No | The duration that counts as “meaningfully reached”. Only shown when the stop rule is enabled. | Defaults to 30 if blank or below 1. |
| Redial after a short connect | No | When enabled, redials whenever the last connected call was shorter than the threshold below — a brief connect is treated as not yet a real conversation. | Off by default. |
| Connected shorter than (seconds) | No | The duration below which a connect counts as “too short”. Only shown when the redial rule is enabled. | Defaults to 15 if blank or below 1. |
Callbacks and exclusion
| Field | Required | What to enter | Default |
|---|---|---|---|
| Callback Detection | No | When enabled, post-call analysis detects when a customer asks to be called back and schedules that callback inside this campaign. | Off by default. |
| Sticky exclusion | No | When enabled, a contact that has been excluded stays suppressed even if it is later re-added through the API or by re-uploading a CSV. When off, a deliberate re-add will be dialled again. | Off by default. |
Callback detection is the campaign half of a double gate. For the bot to actually schedule callbacks, the bot’s own callback setting must also be enabled. See Callbacks.
There is no answering-machine detection toggle in this wizard. Calls that reach a machine are still counted on the campaign detail screen, but machine detection is not switched on or off here.
Step 4 — Upload CSV
Upload the contact list. You can drag a file onto the dropzone or use Browse to pick one.| Field | Required | What to provide | Limits and behaviour |
|---|---|---|---|
| Contacts (CSV upload) | See note | A CSV that includes a phone_number column. Any other columns become per-call variables the bot can use. | Maximum 100 MB or 500,000 rows. |
- Single Day, or Multi Day without Always-on — a CSV is required.
- Always-on (Multi Day) — the CSV is optional, because contacts can be added over time.
Editing a draft campaign
Editing a draft campaign
Uploading a new CSV on a draft campaign replaces the existing contact list. The wizard shows: “Optional. Uploading a CSV on a draft campaign replaces the existing contact list.”
When the contact list is locked
When the contact list is locked
On a campaign that has already run, the CSV is locked and cannot be replaced. The wizard shows: “CSV contacts are locked for this campaign. Use Clone if you need a different contact set.” Clone the campaign to start a fresh draft with a new list.
Step 5 — Review
The final step shows a read-only grid of everything you configured: name, bot, selected numbers, the CSV, concurrency, mode, always-on, the time window, max attempts, retry delay, callback detection, and sticky exclusion. Before you click Create Campaign, confirm:- the bot name is correct
- the number-pool count matches what you intended
- the CSV preview looks right
- concurrency is safe for available capacity
- the time window and working days are correct
- the retry and redial rules match the campaign brief
A newly created campaign stays in draft status and does not dial anything until you press Start on the campaign list or detail page. This gives you a final chance to review before live calls begin.
Edit-mode notices
When you open the wizard to edit an existing campaign, you may see one of these notices:| Notice | Meaning |
|---|---|
| ”Only draft and paused campaigns can be edited. Current status: [status].” | The campaign cannot be edited in its current state. Pause it first, or clone it. |
| ”Campaign name, bot, and contacts are locked after the first run. You can rotate outbound numbers and adjust dialler config before pressing Start.” | The campaign has run before. You can still change the number pool and dialler settings, but not the identity or contacts. |
What’s next
- Upload leads — CSV formatting, phone-number rules, and per-call variables
- Callbacks — how detected callbacks are scheduled and tracked