Overview
Scheduled Priority Callbacks are tasks that prioritize reaching customers by placing their callback requests ahead of all waiting calls, including any other type of callback. These callbacks are ideal for low-volume, high-priority callback scenarios.
This article briefly explains what the capabilities and restrictions of Scheduled Priority Callbacks are. It also gives an overview what has to be built in babelforce.
In the end, we give a step-by-step guide on how to set this up.
Important: we do not cover the integration in a CRM or help center. If tickets should be updated or created for a callback, please refer to other articles.
Key capabilities and restrictions
| Summary | Longer description |
|---|---|
| Always first in queue | Callback enters the top of the queue — in front of all waiting calls. |
| Low traffic environment | Works best with a limited number of waiting callers and callbacks; unsuitable for high-volume traffic. |
| Can be requested from anywhere | This type of callback can be scheduled from anywhere (inside or outside the call flow, even externally, like websites). |
| Limit the times callback reschedules with agents | Callbacks are automatically rescheduled upon failure for a certain amount of time, using global automation. |
| No special queue selection logic | Not tied to queue logic; can't be handled via queue settings but will be assigned to any agent assigned to the queue. |
| Priority callbacks should be limited | May block inbound calls if too many callbacks are pending. |
| Limited visibility | Not visible in queue wait metrics. Callback only becomes visible in reports when routed to an agent. All requests are visible in task automation logs |
| Callbacks remain in the queue | Callback remains in the queue until handled by an agent or they reached the rescheduling maximum. |
Components Overview
| Component | Role |
|---|---|
| Local Automation (Call Module) | Used to create and confirm a callback request. |
| Global Automation | Used to reschedule failed callbacks based on retry logic and finish reasons. |
| Trigger | Defines the logic for when to reschedule a callback. |
| Task Template | Predefined task configuration (callbacks_dialer) for initiating callback. |
Setup Instructions
- 1 Local Automation
- 1 Global Automation
- 1 Trigger
1. Local Automation — Creating a Priority Callback
Priority Callbacks are created with a Local Automation. It is recommended to place the automation outside the queue (e.g., right after a failed routing or no-agent scenario). Once a callback task is created, the call should be hung up immediately.
This process flow offers two options, either offering the callback before entering the queue or after some time waiting in the queue. If the customer agrees to a callback, take the call out of the queue.
On the last call module (04.2 - Callback confirmation in the example above), add a pre-automation. Here are the details of how to configure it.
- Action:
Create task via template - Template:
babelfroce.priority-callback - Style:
flat
Request Body:
| Field | Value |
|---|---|
body.queue_id | The target queue ID (e.g., 32c47747bb4f44e...) |
body.ivr.ticketid | Ticket ID, usually dynamic (e.g., integration.zendesk_v2.ticket.id) |
body.to | {call.from.number} |
body.displayAs | Callback display number (e.g., 49303xxx - has to be assigned to your account) |
body.attempt | 0 (Initial attempt) |
| scheduled_at | define the time the callback attempt should be scheduled, e.g. in 5min, now, etc. |
Tip: Ensure that the call is hung up immediately after task creation. This avoids it going into a live queue or being misrouted.
2. Global Automation — Reschedule Callback
This automation re-creates the callback if the initial or subsequent attempt to connect to an agent fails. It’s triggered only when specific conditions are met. Use the same template with slightly different settings
- Event:
Call finished - Trigger: see next section, 3. Trigger Setup
- Action:
Create task via template - Template:
babelfroce.priority-callback - Style:
flat - Request Body:
| Field | Value |
|---|---|
body.queue_id | The target queue ID (e.g., 32c47747bb4f44e...) |
body.ivr.ticketid | {integration.zendesk_v2.ticket.id} or other dynamic ID |
body.to | {call.from.number} |
body.displayAs | Callback display number (e.g., 49303xxx - has to be assigned to your account) |
body.attempt | {ivr.task.attempt} |
scheduled_at | now (Immediate rescheduling) |
3. Trigger Setup — Callback Rescheduling
For the rescheduling of the task, the correct trigger is needed. You decide, how often you want to try to connect the call to an agent, usually 5 - 7 attempts is reasonable. You can adjust this any time. Here is how to setup your trigger:
- Logic Type:
All conditions have to match - Conditions:
| # | Condition |
|---|---|
| 1 | ivr.task.attempt is less than 7 |
| 2 | Finish reason matches ^(busy|unreachable|declined|timeout|canceled)$ |
| 3 | Domain is internal is given |
| 4 | Source is equal to api |
This ensures only specific failed attempts trigger a retry and prevents indefinite looping.
Limitations & Warnings
- ⚠️ Inbound Blocking: If too many callbacks are queued, they can block inbound calls.
- 🚫 Queue Settings Ignored: These tasks do not inherit queue properties (e.g., max wait time, SLA).
- 📉 Metrics Exclusion: Callbacks don't reflect in queue wait metrics.
- 👀 Reporting Visibility: Call is only visible in call reporting once it reaches an agent.
Maintenance Tips
- Monitor the task logs to verify callbacks are being triggered/rescheduled.
- Keep an eye on retry limits (default: 7). If too many retries fail, customer will not be contacted.
- Avoid overloading queues with too many priority callbacks to prevent inbound call blockage.
- Only use this method when callback traffic is light and response time is critical.
Final Notes
Setting up Scheduled Priority Callbacks is relatively easy, but requires a careful balance between call volume, callback retry strategy, and agent availability. Always validate your setup by checking:
- Task logs
- Call reporting
- Trigger executions
Also ensure the business logic aligns with use case constraints (ensure to only offer callbacks when less than <5 customers are waiting or if you have a dedicated team taking these calls).
Related to
Comments
0 comments
Please sign in to leave a comment.