Share via


Develop a custom analytics strategy

Copilot Studio provides comprehensive analytics that help you understand an agent's usage and key performance indicators.

You can view reports related to the following analytics:

  • Performance and usage
  • Customer satisfaction
  • Session information
  • Topic usage
  • Billed sessions

However, you might need to create or use custom analytics.

For example, you might need to:

  • Share analytics with stakeholders or users.
  • Report on conversation transcripts data for a period longer than the default last 30 days.
  • Design a report not covered by out-of-the-box analytics.

You can use a few different approaches to take the analytics data recorded by Copilot Studio and use it in customized reports.

Copilot Studio analytics sample template report

To create custom analytics, start with the Copilot Studio analytics sample template report. The sample template report is a set of open-source assets, distributed through GitHub, which accelerates the time it takes to create a report that renders in Power BI.

Warning

  • The solution isn't part of the core Copilot Studio offering and requires configuration.

  • Microsoft doesn't provide support for the sample report, but you can raise issues in the GitHub repository to get help from the community.

Dataverse

Dataverse stores conversation transcripts and custom analytics data.

Conversation transcripts data

The analytics shown in Copilot Studio come from a data service residing within Copilot Studio. Usage data is also written to the associated Dataverse environment in the conversation transcripts table.

Retention periods

By default, both sources have a data retention of 30 days. You can change the retention period for conversation transcripts in Dataverse.

Copilot Studio Dataverse tables

Copilot Studio uses the following tables for custom analytics in Dataverse:

  • Chatbot (Bot). This table includes details of each agent in an environment. The details are often a small amount of data.
  • Chatbot Subcomponent (BotComponent). This table lists the topics, entities, and dialogs associated with the agent in your environment. The details are often a small amount of data.
  • Conversation Transcripts (ConversationTranscript). This table contains detailed conversation data for all the agents in your environment. The size of the data in this table is related to the use of the agent and can be large.

When there's need to retain conversation transcripts longer than the default retention period, build custom metrics or dashboards. Our recommended approach is to export raw conversation transcripts data to a more cost-effective data store like Azure Data Lake Storage Gen2 using the Azure Synapse Link for Dataverse feature.

The export creates an incremental sync of configured Dataverse tables in the Azure data lake, using the Common Data Model format.

You need to take more steps, including configure the base template:

Warning

By default, Azure Synapse Link for Dataverse mirrors the configured table data from Dataverse to the Azure data lake. Therefore, any record that gets deleted in Dataverse (for example, by the recurring bulk delete job that deletes conversation transcripts older than 30 days by default) is also removed from the Azure data lake. To work around this behavior, create copies or snapshots of your data in the Azure data lake, or configure the synchronization to use append-only mode.

Power BI

The custom analytics solution template includes a Power BI report that processes the raw transcript data (using Power Query) into a report that matches the Copilot Studio default analytics.

In addition, users of the report have access to the following information:

  • Data for all agents in an environment.
  • Data as far back as the feed provides (in Dataverse or in the Azure Data Lake Storage Gen2).
  • Raw data tables extracted from the Conversation Transcript table data, which can be used to create custom reports.
  • A transcript viewer, allowing users to see the actual conversations that occurred.

Warning

This report performs significant transformations on the base data. If your Conversation Transcript tables are greater than 80 MB, use the Azure Synapse Link for Dataverse and Power BI dataflows version of the report.