Campaigns
Call entire contact lists with your agent: upload the list, set schedules and retries, and follow the results in real time.
A campaign has your agent call a list of contacts for you: collections, reminders, surveys, or lead qualification at scale. You set the rules; the platform dials, retries, and reports.

Create and launch a campaign
- Pick the agent and upload the list
Upload a file (CSV or Excel) or load contacts via API. Each row can carry variables like name and amount, which the agent uses in the conversation.
- Set the rules
Allowed calling hours (with Law 2300 (Colombia) ready to autofill), how many retries per outcome, a budget cap, and how many lines to use in parallel.
- Schedule it or launch it
Start now or on the date you choose. You can pause, resume, or stop at any time.
How to read the summary

At the top of the summary you get List status: where every contact you uploaded stands right now. The rows always add up to the whole list, so if you uploaded 26 contacts, that card adds up to 26. Click any row to see exactly who they are.
- Contacted
They spoke with an actual person. A voicemail or a call where nobody said a word does not count.
- Calling now
The call is happening right now.
- Waiting for retry
They were already called and still have an attempt left. The row tells you what happened on the last one (no answer, busy, voicemail) and when it will be dialed again.
- Not dialed
They have not been called even once yet.
- No contact
The attempts ran out and nobody was ever reached. This is not a platform failure: it is the result of the list.
- Cancelled
The campaign stopped before reaching them.
The cards at the top always say what they are calculated on: Contact rate is how many answered out of the contacts already dialed (including those waiting for a retry, because they already got a call); Goal met is how many met your agent's success criteria out of those who answered, and it tells you if some conversations were left not evaluated; Sentiment tells you what prevailed and over how many conversations. If your agent transferred calls, the Transfers to people card tells you how many ended up connected with your team, how long your customers waited, and why the ones that failed did.
See a contact's retries
In the Contacts tab, the Status column tells you what actually happened on each person's latest call —Caller hung up, No answer, Voicemail, Silence (nobody spoke)— with the same words and colors as in Calls: green if there was a conversation, amber if there wasn't, and red only if something failed. Below it, in small type, which attempt it is on and what comes next: *attempt 2 · No answer · returns today 15:40*. A contact waiting for a retry still says Waiting for retry, because there what matters is when it gets called again.
Next to it is Goal: whether the agent met the success criteria you defined. It will say Not evaluated on many contacts, and that is information: it means that agent is missing its success criteria. You fix it in the agent editor, and from then on new calls do get evaluated.
You can also filter by reason on top of filtering by status: the selector only offers the reasons that actually showed up in this campaign, with how many contacts each one has. Both filters combine, so you can ask for "the ones waiting for a retry and that did not answer".
A contact's detail
Click any row in Contacts and that person's detail opens. At the top there is a single status, the same one you see in the table and the same one as in Calls: if the contact is already closed it says what happened on their latest call (Caller hung up, No answer, Voicemail, Silence (nobody spoke)); if they still have an attempt left it says Waiting for retry, which is the useful answer there.
When the contact is waiting for another attempt, its Retry category also shows up, labelled as such. It is not a second status, nor a second opinion about the same call: it is which pot of the retry budget that person goes to.
Further down, the detail shows every attempt separately — Attempt 1, Attempt 2, Attempt 3 — with its date and time, what happened in each one (no answer, voicemail, contacted), how long it lasted, and whether a recording was kept. The last one is marked current: it is the one that explains the status you see at the top of the contact.
Clicking any attempt opens that full call, with its recording and transcript. That is where you see where the campaign's call count comes from: 26 contacts with up to 3 attempts each add up to more calls than contacts, and you can go through them one by one.
Activity: what happened and when
The Call activity chart opens on Today, hour by hour — what you actually want when you open a running campaign — and you can switch it to 72 hours or 7 days. Each column is the total number of calls in that hour, split by what happened in each one: volume and reason at a glance. An hour with no calls looks empty, because there really were none.
How often a new call goes out
There are two numbers under Capacity and they do different things. Channels caps how many calls run at the same time. Seconds between calls caps how often a new one starts: at 10 seconds the campaign dials up to 6 per minute even with channels free.
Smart retries
The campaign retries based on what happened in each call: a voicemail is not the same as an "I can't talk right now" or a busy number. You configure how many retries and how far apart per outcome category, so you don't over-call and you respect the one-attempt-per-person-per-day limit.
Each category keeps its own count: if you set 2 retries, that's 2 for "no answer" plus 2 more for "busy" — they are not shared. That's why the card shows the total number of calls a single contact can end up receiving, before you launch.
Fixed or exponential wait. Fixed waits the same amount every time. Exponential doubles the wait on each round (60 min, then 120, then 240), which helps on busy numbers: if the person is on a call, trying again in 15 minutes beats waiting 4 hours — but by the third attempt you want to space things out.
Download the campaign recordings
From the Export button in the summary you can download the recordings of the whole campaign, and the per-batch comparison table has a button to download only that batch. It is also in the Contacts tab, where you already picked the batch with the filter.
Before generating anything we tell you how many recordings there are and how much they weigh. It is the same bulk download as in Calls, with the same maximums and the same warning when it is worth narrowing the filter.
When a WhatsApp campaign does not arrive
If the messages are not delivered, the screen shows you why and which ones can be retried. Not all of them: a number without WhatsApp will not have it tomorrow, and retrying costs a message and lowers your number's quality rating.
The same person received three messages from the same campaign.
Their phone was in more than one of the lists you uploaded, and each list creates its own contact. The «maximum per person per day» cap in the schedule is the net that limits it: check it in the campaign settings. And before uploading a new batch, keep in mind it adds to the previous one — if the lists overlap, that person ends up loaded several times.
It says «completed» but none arrived.
The screen counts deliveries, not sends. A message WhatsApp accepted and later rejected shows as failed, with its reason in the status column.