The double-gate
Callback detection only activates when both switches are on. Turning one on without the other does nothing.The bot's callback toggle
The bot must have its callback toggle enabled. This is what tells the post-call analysis step to look for callback requests and emit the callback fields. You set this when building or editing the bot — see Create a bot.
The campaign's Callback Detection toggle
The campaign that placed the call must also have Callback Detection enabled. You set this in the campaign wizard under Dialler Config — see Create a campaign.
Where you set each gate
Bot toggle
Set on the bot, applies to every campaign that uses that bot. Build it once into the bot.
Campaign toggle
Set per campaign in the wizard. The Callback Detection checkbox in step 3 (Dialler Config) reads: “Detect customer callback requests in post-call analysis and schedule them inside this campaign.”
Callback Detection is a simple on/off checkbox in the campaign wizard. There is no separate threshold or sensitivity setting to configure — the detection logic and time resolution are handled for you once the toggle is on.
What the bot extracts
When detection is active, the post-call analysis records a small set of callback fields for the call. In plain terms:| Field | What it means |
|---|---|
| Callback requested | Yes when the customer asked to be called back, or the bot promised to call back. This is the trigger for scheduling. |
| Preferred time (the customer’s words) | The customer’s own phrasing about when, captured verbatim — for example “5 minute baad”, “kal subah”, “shaam ko”, “after lunch”. |
| Reason | A short reason the customer gave, such as “busy”, “driving”, or “not free right now”. |
| Confidence | How sure the analysis is that this was a genuine callback request, from a clear ask down to a softer implied one. |
How the time is worked out
The platform converts the customer’s free-text phrasing into a concrete scheduled time, expressed in the campaign’s timezone. The rules it follows:- Relative phrases (“30 minutes”, “half an hour”, “2 hours”, “aadhe ghante”) are added to the current time.
- Day markers (“kal” / tomorrow, “parso” / day after) set the target day.
- Dayparts (“subah” / morning, “shaam” / evening) set an approximate time of day.
- No clear time given: the platform falls back to the campaign’s normal retry delay.
- Always clipped to the calling window: any resolved time that falls outside the campaign’s calling window is moved to the next valid window. A callback is never scheduled for a time the campaign would not be dialling anyway.
Scheduling and priority
Once a callback is scheduled, the contact moves into a callback-scheduled state with a due time. When that due time arrives, the dialler leases the contact before fresh pending contacts and before ordinary retries:What happens when a callback call fails
A callback keeps its top priority across retries:Retryable failure (no answer, busy, etc.)
Retryable failure (no answer, busy, etc.)
The contact is re-scheduled back into the callback-scheduled state — not the ordinary retry queue — so it stays ahead of pending and retry contacts on the next pass.
Attempts exhausted
Attempts exhausted
Once the contact runs out of attempts, the callback is closed and counted as exhausted. It is no longer re-dialled.
Voicemail or abandoned
Voicemail or abandoned
If the attempt hits a voicemail machine or is abandoned, the callback is torn down and closed, and the callback counters update accordingly.
Single-day campaigns and the window close
For a Single Day campaign, callbacks do not carry over to another day. When the calling window ends, any callbacks still waiting to be dialled are cancelled: the contact moves to a window-closed state and the callback is marked cancelled. They are counted in the cancelled total and are not re-attempted.If you need callbacks to survive past today’s window — for example a “call me tomorrow morning” request — run the campaign in Multi Day mode. A multi-day campaign keeps the callback scheduled and dials it when the next valid window opens. The mode is set with the Campaign Mode dropdown in the campaign wizard.
Watching callbacks on the campaign
On the campaign detail screen, once any callbacks exist for a campaign you get a dedicated Callbacks panel and a set of filter tabs above the call list. These only appear when Callback Detection is enabled.Callbacks panel
A summary block that appears when the campaign has callbacks:| Card | What it shows |
|---|---|
| Callbacks requested | How many calls produced a callback request. |
| Callbacks pending | Callbacks scheduled and still waiting to be dialled. |
| Callbacks completed | Callback attempts that reached a final state. |
| Avg delay | The average gap between the request and the scheduled callback time. |
Callback filter tabs
Above the call list, these tabs let you narrow the list by callback state:| Button | What it does |
|---|---|
| All calls | Removes the callback filter and shows every call. This is the default view. |
| Callbacks requested | Shows only calls where a callback was requested. |
| Callbacks pending | Shows only contacts with a callback still pending. |
| Callbacks completed | Shows only contacts whose callback has completed. |
| Callbacks cancelled | Shows only callbacks that were cancelled (for example, a single-day window closed before the due time). |
Callback badge in the call list
In the call list itself, a small blue Callback badge appears next to a contact’s status whenever that contact currently has a callback scheduled, so you can spot scheduled callbacks at a glance without switching tabs.Operations checklist
Use this to confirm callbacks are wired up end to end before relying on them:Campaign toggle on
Confirm Callback Detection is checked in the campaign’s Dialler Config. Both gates must be on.
Run a test call
Place a test call and ask to be called back at a specific time. Afterwards, check that the call produced callback fields and that the contact shows a Callback badge.
Set the right timezone
Make sure the campaign timezone matches the customer’s contactable timezone, since callback times are clipped to that window.