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 InsightsAccountSidis used for splitting TaskRouter traffic to individual analytical workspacesWorkspaceSidis not used in InsightsWorkflowSidis not used in InsightsWorkflowNameto Conversations ▸ WorkflowAttributesused for extracting properties added by VoiceML and custom propertiesAgeis not used in Insights, we use events timestamps insteadPriorityis not used in InsightsTaskQueueSidto Conversations ▸ Handling TeamAssignmentStatusis not used in InsightsReasonto Conversations ▸ OutcomeDateCreatedis not used in InsightsDateUpdatedis not used in InsightsTimeoutis not used in InsightsTaskChannelSidis not used in InsightsTaskChannelUniqueNameto Conversations ▸ ChannelAddonsis not used in Insights
Properties extracted from Task events:
TaskSidused to uniquely identify the task within InsightsTaskAttributesused for extracting properties added by VoiceML and custom propertiesTaskAgeis not used in Insights, we use events timestamps insteadTaskQueueNameto Conversations ▸ Handling Team NameTaskQueueSidto Conversations ▸ Handling Team IDTaskPriorityis not used in InsightsTaskAssignmentStatusis not used in InsightsTaskCanceledReasonto Conversations ▸ OutcomeTaskCompletedReasonto Conversations ▸ Outcome
Properties extracted from Worker events:
WorkerSidis used to uniquely identify agents in InsightsWorkerNameto Agents ▸ Full NameWorkerAttributesused for extracting custom propertiesWorkerActivitySidis not used in InsightsWorkerActivityNameto Activities ▸ Activity
Properties extracted from the TaskAttributes property:
from_countryto Customers ▸ Country for inbound callscalledto Customers ▸ Phone for outbound callsto_countryto Customers ▸ Country for outbound callsto_cityto Customers ▸ City for outbound callsto_stateto Customers ▸ State for outbound callscaller_countryto Customers ▸ Country for inbound callscall_statusis not used in Insightscall_sidis used for connecting tasks into a single Conversation with multiple Segmentsaccount_sidis used for splitting TaskRouter traffic to individual analytical workspacesfrom_zipto Customers ▸ ZIP for inbound callsfromto Customers ▸ Phone for inbound callsdirectionto Conversations ▸ Directioncalled_zipto Customers ▸ ZIP for outbound callscaller_stateto Customers ▸ State for inbound callsto_zipto Customers ▸ ZIP for outbound callscalled_countryto Customers ▸ Country for outbound callsfrom_cityto Customers ▸ City for inbound callscalled_cityto Customers ▸ City for outbound callscaller_zipto Customers ▸ ZIP for inbound callsapi_versionis not used in Insightscalled_stateto Customers ▸ State for outbound callsfrom_stateto Customers ▸ State for inbound callscallerto Customers ▸ Phone for inbound callscaller_cityto Customers ▸ City for inbound callstoto Customers ▸ Phone for outbound callsflexInteractionSid▸ correlation attribute used to identify corresponding Interaction eventstransfer_sid▸ correlation attribute used to identify a transfer in an Interactionprevious_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.