Campaigns (New)

Run outbound calls at scale. Each number you add to a campaign becomes a task — your agent dials it, handles replies, and logs everything automatically.

Overview

  • What it is? A campaign is a set of call tasks generated from your contact list.

  • What it does? Creates tasks, places calls, retries when needed, and records outcomes.

  • What you configure? Who to call, when to call, retry rules, and priority.

Campaign types

Choose a type based on how your contact list is structured.

TYPE 01 — Batch

Upload a CSV of contacts and launch all calls in one go. Best for static, pre-assembled lists.

TYPE 02 — Realtime

Push contacts one-by-one via API as they arrive. Best for live lead streams or instant follow-up triggers.

Guide for Batch Campaigns

Use when you have a static list of numbers to call. For example, a list of leads along with their contact details in a .csv file.

How to create Batch Campaigns?

  1. Go to Campaigns → Batch and click + Create Campaign followed by Batch .

  2. Fill out basics:

    Field

    Purpose

    Name

    Internal label (e.g., Abandoned Cart Recovery 12 Jan)

    Agent

    Which AI agent will place the calls

    Calling Number

    Caller ID shown to recipients

    Priority

    Normal (default) or Lowest ,Low, High, Highest

  3. Upload CSV (up to 5K rows).:

    • First column header must be phone and phone numbers must have respective country codes.

    • Provide context to agent in other columns as per your requirements and reference them in your prompt using column headers. (e.g., ${name}${orderId}).

  4. Time settings

    1. Timezone: Controls schedule & calling hours.

    2. Start Time: Start now or schedule to start later.

    3. End Time: Campaign stops and archives any pending tasks.

    4. Calling Hours: Daily calling window (e.g., 10:00–20:00). Calls pause outside this window.

  5. Retries (Follow-ups)

    Set the number of retries for the campaign. Each retry happens after the set interval from the last call within allowed hours.

  6. Slot Allocation

    A Slot is just a unit of concurrent calling capacity: One slot = One simultaneous call that your org/workspace can run at a time.


    So if your organisation has 6 total slots, across all workspaces, you can only have 6 calls in progress at the same time. The 7th call will have to wait until one of the running calls finishes.


    Select number of slots you want to allocate to each campaign. Teams can divide their total calling capacity across multiple campaigns and run them in parallel depending upon the total number of slots you have for the organisation.

    If not specified, user will use all the available slots in the workspace.

    Soft Slot

    Hard Slot

    A soft slot is a temporary cap: if a workspace has 5 slots allotted in the start, but eventually if 3 more slots get free from some other workspace, it will combine both of them and start using 8 slots to complete the tasks even faster.

    A hard slot is a strict cap: if a workspace has 5 hard slots, it will never run more than 5 concurrent calls, even when other allocated slots become free and are available to use for calling.

  7. Follow up settings

    Setting

    Purpose

    Retries

    0 = single attempt. ≥1 = additional attempts allowed.

    Retry Interval

    Gap from the last attempt’s end‑time before the next retry.

    Retry Conditions

    Which call outcomes should be retried (see table below).

Every CSV row becomes a task with identical config (agent, caller ID, retry rules, etc.) only the callee’s number and context differs.

Guide for Realtime Campaigns

Ideal for on‑demand or event‑driven calls (e.g., instant lead follow‑up). Example use case:- A user fills a google form. Your AI agents then receives the information and calls the user back after a certain interval of time immediately.

How to Create Realtime Campaigns?

  1. Go to Campaigns → Realtime and click + Create Campaign followed by Realtime .

  2. Fill the Campaign Name, Select your Agent and Slot Limits.

  3. Click Create – this generates a Campaign ID and a sample JSON body for create task API input.

  4. Use the Create Task API to push tasks dynamically (check API reference)

{
  "phone": "+9189xxxxxxxx",      //phone number to call
  "from": "+9180xxxxxxxx",       //your agent's number
  "agent": "agent_id",
  "start": 1000,                 //10 AM
  "end": 1800,                   //06 PM
  "timezone": "Asia/Kolkata",
  "startAfter": 1748629800000,   //start time for 1st attempt
  "endAfter": 1748629800000,     //end time for this task
  "priorities": [                //attempt wise priority
    100,
    50,
  ],
  "retries": 2,                  //total attempts
  "intervals": [                 //gap between attempts
    180000
  ],
  "retryOutcomes": [             //outcomes for re-attempt
    "voicemail"
  ],
  "context": {                   //context for agent
    "name": "Tarun"
  },
  "campaign": "campaign_id"
}

Batch vs. Realtime — at a glance

Aspect

Batch

Realtime

How contacts are added

CSV upload (up to 50k rows)

Create Task API, one at a time

Task configuration

Same for all rows (agent/phone + settings)

Fully customisable per task

Best for

Static lists

Continuous lead streams, instant follow-up

Campaign ID required

Yes

Yes

Understanding follow-up settings

Retry outcome options

Outcome(s)

Auto‑included?

Notes

no_answer ,busy ,failed ,init_failed

Yes

User did not pick or call could not be placed.

busy_callback

Yes (if agent uses this outcome)

User provides a specific time for callback.

voicemail

No

Voicemail detected.

no_response

No

Call connected but user silent.

Any custom outcome

No

Defined in call analysis.

Retry intervals

  • Next attempt time = last_attempt + retry_interval.

  • If that time falls outside Calling Hours, the attempt waits until the next window starts.

The interval array length in create task API is always retries -1.