Channel Analytics
The contact center analytics need operational and conversational data to provide historical and real-time insights into the performance of the contact center. To get precise insights into the call center performance, the analysts need data from the following sources
- CRM transactional data: The data about the customers, their cases, their journey and all round relationship with the organizations. This is stored in Microsoft Dataverse
- Communication Data: The data about the interactions (intended, ongoing and completed) with known and unknown customers
- Agent Behavior Data: The data about the behavior of agents before, during and after the interactions.
Channel Analytics in the Dynamics 365 Channel Integration Framework, provides a model to build a consistent, seamless, and unified experience when it comes to channel related analytics and insights.
Without the channel analytics model, if you want to build a contact center analytics solution you will face following problems:
- Disjointed and distributed communication data that is generated and maintained by the channel providers.
- Agent behavior is not logged and instrumented.
- No clear guidance on how to ingest analytical data and in what schema.
Important
Channel Analytics is not supported for Channel Integration Framework version 1.0.
How does Channel Analytics help?
- It generates instrumentation for agent behavior on the Dynamics 365.
- It provides APIs to ingest the conversational data into Dataverse.
- It standardizes schema for how the aforementioned analytical data will be stored
- It defines mechanism to correlate the communication data from multiple providers, CRM transactional data and agent behavior data.
- It is extensible, in the sense that it allows you to bring your own KPIs, define your own data payload so that organizations can build analytical solutions as per their need.
Once the aforementioned data is available in CDS, the business analysts can build analytical solutions that can help users to get historical and real time insights into the contact center performance.
How do analytics help supervisors?
Channel Analytics can help supervisors identify the root cause of anomalies in a session, prepare audit reports for dissatisfactory conversations, track KPIs that impact customer sentiment, and monitor service requests for any KPI breach.
How do analytics help customer service managers?
Channel Analytics can help customer service managers track KPIs that indicate infrastructural health, get predictive insights about volume of requests and resource requirements, and track KPIs that impact high-priority customer sentiment in the contact center.
How do analytics help customer service agents?
Channel Analytics can help customer service agents see their performance metrics on different dimensions like customer satisfaction and average handling time, see the burndown trend for their daily work items, and see customer sentiment for ongoing conversations.
Channel Analytics APIs
The two APIs for tracking event analytics are:
| Name | Description |
|---|---|
| updateConversation | Invoke this method to update a conversation record. |
| logAnalyticsEvent | Invoke this method to log analytics for custom events. |
The updateConversation API can be invoked if the channel provider wants to enrich the Conversation entity record with details from third party systems. logAnalyticsEvent API can be called as many times as needed after the updateConversation call succeeds.
How to enable analytics for your organization
Channel Analytics can be enabled at a Dynamics 365 Channel Integration Framework provider level. It can be enabled using both the user interface and the Web API.
Using app profile manager
Sign in to your Power Apps portal.
Under the available apps, select the ellipses to the right of Omnichannel for Customer Service or Customer Service workspace.
On the menu that appears, select App profile manager.
Select App profiles from the site map, and then, select your app profile.
Select the Channels tab.
Select + New to add a new provider.
In the New Channel page, set Enable Analytics field to Yes.

Using Web API
Query for the provider record ID by using the following Web API request:
GET [Organization URI]/api/data/v9.1/msdyn_ciproviders.Copy the value of
msdyn_ciprovideridfrom the output.Execute the following script to enable the analytics flag to
True.
var data = {
"msdyn_enableanalytics": true,
}
// Update enable analytics flag to True
Xrm.WebApi.updateRecord("msdyn_ciprovider", <msdyn_ciproviderid fetched from previous step>, data)
- Reload the page.
Typical flow for Channel Analytics
For every incident conversation, the provider will call the updateConversation API. The data payload of the API will contain the information to create a conversation record (with session and participant information).
For that session, all first-party instrumentation events like notification displayed, notification response, session started, and session switched will be fired with the correlation ID.
If the partner wants to fire some custom event for their KPIs, they can do it with the same correlation ID as well using the logAnalyticsEvent API.
Channel Analytics Entities
Channel Integration Framework creates a Conversation entity (msdyn_ocliveworkitem) record in Dataverse for every third party conversation launched through it.
msdyn_kpieventdefinition
Primary entity for defining a KPI event.
Display name: KPI Event Definition
Primary field: name
Entity set path: [Organization URI]/api/data/v9.1/msdyn_kpieventdefinitions
More information: msdyn_kpieventdefinition.
msdyn_conversationdata
This entity is deprecated and using it to access Dataverse data is not supported.
More information: msdyn_conversationdata.
msdyn_sessiondata
This entity is deprecated and using it to access Dataverse data is not supported.
More information: msdyn_sessiondata.
msdyn_sessionparticipantdata
This entity is deprecated and using it to access Dataverse data is not supported.
More information: msdyn_sessionparticipantdata.
msdyn_kpieventdata
Primary entity for a KPI event.
Display name: KPI Event Data
Primary field: name
Entity set path: [Organization URI]/api/data/v9.1/msdyn_kpieventsdata
More information: msdyn_kpieventdata.
Sample code
The softphone integration sample code implements functionalities wherein the conversation entity record is updated when a call is accepted and updating conversation entity record with case details as soon as a case is created. It uses Channel Analytics API logAnalyticsEvent to log the events when the call is put on Hold or Unhold.
More information: Sample code for softphone integration using Dynamics 365 Channel Integration Framework version 2.0.
See also
App profile manager overview
Softphone integration sample code for Channel Integration Framework version 2.0
What's new in Dynamics 365 Channel Integration Framework
Frequently asked questions
updateConversation API
logAnalyticsEvent
Maklum balas
Kirim dan lihat maklum balas untuk