TaskRouter Data in Flex Insights
Warning
For Customers building HIPAA-compliant workflows, Twilio will redact any TaskRouter Attributes that could contain PII (per definition of the Attribute field) from ingressing into Flex Historical Insights. For more information on HIPAA for Flex Insights, please review our detailed documentation.
Public beta
Flex Insights (also known as Historical Reporting) is currently available as a public beta release and the information contained in the Flex Insights documentation is subject to change. This means that some features are not yet implemented and others may be changed before the product is declared as generally available. Public beta products are not covered by a Twilio SLA.
Any reference to "Historical Reporting", "Flex Insights API", "Flex Insights Historical Reporting", or "Flex Insights Historical Reporting API" in the Flex Insights documentation refers to Flex Insights.
Individual TaskRouter events are connected into a single Analytics Data Model that provides a unified look at conversations and their contexts across multiple contact centers and customer management systems. We transform and clean data to make it ready to consume and analyze.
Flex Insights provides a wide context for conversations, giving you the most insight possible. Not all data is available from Twilio out-of-the-box, as this data might include CRM customer details, customer satisfaction surveys, data from non-voice channels, or data from other call center solutions.
TaskRouter's Worker is an Agent in Insights. We call people who handle conversations with customers Agents. There are a number of different names for workers in contact centers including Advisors, Agents, Associates, Customer Support Specialists, Operators, Representatives, Workers, and more. We historically use Agents in documentation to make it consistent for the widest audience possible.
TaskRouter's Task has no direct representation in Insights. You can say that a Task is roughly one Segment of a Conversation. This may, however, differ, as Insights may split tasks into multiple Segments to properly represent transfers and other scenarios. See Datasets in Analytics Data Model and Conversation Structure for how conversations look like in Insights.
TaskRouter's Call may be directly represented as a Conversation in Insights. However multiple Calls in TaskRouter may be represented as a single Conversation to better represent the actual scenario. One of the examples is when a customer calls in and TaskRouter creates another Call to connect the customer with the Agent. This appears as two Calls in TaskRouter but as a single Conversation in Insights.
Measures based on this data will be available out-of-the-box:
- Abandoned Conversations - the number of conversations where Agent and Customer have not talked to each other.
- Abandonment Time - time a Customer or an Agent spends waiting on the other party before giving up.
- Handled Conversations - the number of conversations handled by an Agent.
- Queue Time - time a customer spends waiting in a queue before reaching an Agent.
- Talk Time - time Agents spend talking to customers.
- Wrap Up Time - time Agents spend after talking to customers to do after call work.
All the available measures can be sliced by the following attributes:
- Agent
- Channel
- Customer City
- Customer Country
- Customer Phone
- Customer ZIP
- Date and Time including Days of Week, Days of Month and similar
- Direction
- Queue
- Team
TaskRouter provides a set of attributes that are provided with each task by default. We extract these and save them as corresponding attributes and measures in Insights.
The list of attributes that we extract from TaskRouter events:
- Sidis not used in Insights
- AccountSidis used for splitting TaskRouter traffic to individual analytical workspaces
- WorkspaceSidis not used in Insights
- WorkflowSidis not used in Insights
- WorkflowNameto Conversations ▸ Workflow
- Attributesused for extracting properties added by VoiceML and custom properties
- Ageis not used in Insights, we use events timestamps instead
- Priorityis not used in Insights
- TaskQueueSidto Conversations ▸ Handling Team
- AssignmentStatusis not used in Insights
- Reasonto Conversations ▸ Outcome
- DateCreatedis not used in Insights
- DateUpdatedis not used in Insights
- Timeoutis not used in Insights
- TaskChannelSidis not used in Insights
- TaskChannelUniqueNameto Conversations ▸ Channel
- Addonsis not used in Insights
Properties extracted from Task events:
- TaskSidused to uniquely identify the task within Insights
- TaskAttributesused for extracting properties added by VoiceML and custom properties
- TaskAgeis not used in Insights, we use events timestamps instead
- TaskQueueNameto Conversations ▸ Handling Team Name
- TaskQueueSidto Conversations ▸ Handling Team ID
- TaskPriorityis not used in Insights
- TaskAssignmentStatusis not used in Insights
- TaskCanceledReasonto Conversations ▸ Outcome
- TaskCompletedReasonto Conversations ▸ Outcome
Properties extracted from Worker events:
- WorkerSidis used to uniquely identify agents in Insights
- WorkerNameto Agents ▸ Full Name
- WorkerAttributesused for extracting custom properties
- WorkerActivitySidis not used in Insights
- WorkerActivityNameto Activities ▸ Activity
Properties extracted from the TaskAttributes property:
- from_countryto Customers ▸ Country for inbound calls
- calledto Customers ▸ Phone for outbound calls
- to_countryto Customers ▸ Country for outbound calls
- to_cityto Customers ▸ City for outbound calls
- to_stateto Customers ▸ State for outbound calls
- caller_countryto Customers ▸ Country for inbound calls
- call_statusis not used in Insights
- call_sidis used for connecting tasks into a single Conversation with multiple Segments
- account_sidis used for splitting TaskRouter traffic to individual analytical workspaces
- from_zipto Customers ▸ ZIP for inbound calls
- fromto Customers ▸ Phone for inbound calls
- directionto Conversations ▸ Direction
- called_zipto Customers ▸ ZIP for outbound calls
- caller_stateto Customers ▸ State for inbound calls
- to_zipto Customers ▸ ZIP for outbound calls
- called_countryto Customers ▸ Country for outbound calls
- from_cityto Customers ▸ City for inbound calls
- called_cityto Customers ▸ City for outbound calls
- caller_zipto Customers ▸ ZIP for inbound calls
- api_versionis not used in Insights
- called_stateto Customers ▸ State for outbound calls
- from_stateto Customers ▸ State for inbound calls
- callerto Customers ▸ Phone for inbound calls
- caller_cityto Customers ▸ City for inbound calls
- toto Customers ▸ Phone for outbound calls
- flexInteractionSid▸ correlation attribute used to identify corresponding Interaction events
- transfer_sid▸ correlation attribute used to identify a transfer in an Interaction
- previous_task_sidis used to identify the task from which an agent initiated a transfer
If you need to add data not provided by TaskRouter out-of-the-box, you can check how to add custom data task and worker attributes. See the documentation on TaskRouter built-in task attributes.