TaskRouter interprets any disconnection prior to agent acceptance as an abandonment. Without custom attributes, the system cannot programmatically distinguish between a customer who hung up in frustration and one who opted into a callback workflow. Analytics show customers leaving the queue even though they successfully queued for a callback.
Why this happens
Flex Insights logic is based on TaskRouter events. A conversation is marked as Abandoned if the Task is canceled or ended while in a Pending or Reserved state (before an agent clicks "Accept").
When a customer selects the callback option, the initial voice call must end to free up the line. Because the customer disconnected before talking to an agent, the system triggers the "Abandoned" flag by default, even though the intent was to stay in the queue via a callback task.
Solution:
Step 1: Tag the Task (Plugin Level)
Ensure your Callback Plugin or TaskRouter workflow adds a specific attribute to the task when a callback is requested.
Example: {"callback_requested": "true"} or {"task_type": "callback"}.
Step 2: Create a Custom Filter in Flex Insights
Once the attribute is being sent to Insights, you can create a custom report to filter these instances:
Open Flex Insights (Ytica).
Navigate to the Report Editor.
Add a filter for your specific attribute (e.g.,
callback_requestedis not "true").This will provide a view of "True Abandons"—customers who hung up without requesting assistance.