Custom analytics strategy

Important

Power Virtual Agents capabilities and features are now part of Microsoft Copilot Studio following significant investments in generative AI and enhanced integrations across Microsoft Copilot.

Some articles and screenshots may refer to Power Virtual Agents while we update documentation and training content.

Microsoft Copilot Studio provides comprehensive out of the box analytics that allow customers to understand a copilot's usage and key performance indicators.

Customers can view reports related to the following:

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

However, there are often scenarios where you 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.

There are a few ways you can take the analytics data recorded by Microsoft Copilot Studio and use it in customized reports.

Microsoft Copilot Studio analytics sample template report

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

Warning

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

The sample report isn't supported by Microsoft, but you can raise issues in the GitHub repository to get help from the community.

Dataverse

Conversation transcripts data

The analytics shown in the Microsoft Copilot Studio portal come from a data service residing within Microsoft 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, but customers can change the retention period for conversation transcripts in Dataverse.

Microsoft Copilot Studio Dataverse tables

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

  • Chatbot (Bot). This table includes details of each copilot 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 copilot in your environment. The details are often a small amount of data.
  • Conversation Transcripts (ConversationTranscript). This table contains detailed conversation data for all the copilots in your environment. The size of the data in this table is related to the use of the copilot and can be large.

When copilots generate large volumes of conversation transcripts (roughly more than 10,000 sessions a month, representing more than 80 MB of transcript data), the recommended approach is to export copilot data to an Azure Data Lake Storage Gen2 using the Azure Synapse Link for Dataverse feature. This approach has the benefit of offloading data from Dataverse database storage in a cheaper data lake storage. It also retains large volumes of conversation transcripts for long periods.

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

There are more steps you need to take, including what's configured in 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) will also be removed from the Azure data lake. To work around this, you can create copies or snapshots of your data in the Azure data lake, or you can configure the synchronization to use the 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 Microsoft Copilot Studio default analytics.

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

  • Data for all copilots 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 a complex report that performs significant transformations on the base data. Customers with Conversation Transcript tables greater than 80 MB should look to use the Azure Synapse Link for Dataverse and Power BI dataflows version of the report.