The PowerPlatform offers monitoring of your apps on a high level. The telemetry gathered includes Performance, Usage and Errors aggregated on the environment level.

As of now, there is no official way to get detailed telemetry at the app level.

I decided to give it a shot to see if I could create a PCF control that could send telemetry to Azure Application Insights.

Here is my initial attempt. It supports tracking of Page Views i.e. Screen Views which includes screens views, duration, user information, session information, geographic information and other telemetry.

It's a custom PowerApps control for Canvas Apps. It might be useful for Model-Driven apps also, you let me know, ok?

When the control is added to a PowerApps Canvas Screen it allows to captures telemetry such as Screen Views, Duration, Custom Events and Errors. If implemented correctly, this telemetry is useful to understand how users are using the app.

NOTE: to use custom controls in PowerApps Canvas Apps it is required that the environment administrator has enabled the feature PowerApps component framework for canvas apps and that the maker of the Powerapp Canvas App has enabled the Components feature.

Enable PowerApps Component Framework for Canvas Apps

Environment Administrator must enable PowerApps Componet Framework for canvas apps.

PowerApps Canvas App Maker must enable Components feature.


Download the solution file from the github repository

Import the solution file into your environment.


  1. In your Canvas App open the Insert menu, click Components and select Import components.
  2. Click Code (experimental) and wait for the list to refresh.
  3. Select the pcfAppInsightsControl component and click Import.
  4. Insert the pcfAppInsightsControl component on the screens you want to track.
  5. Select the pcfAppInsightsControl and open the advanced properties.

Set the following properties:

Instrumentation Key: this is the intrumentation key found in the overview page of your Azure Application Insights instance

Track Screen View: set this to the name of you screen. Suggest to use Parent.Name

Once you have configured the ApplicationInsightsControl component you can set its visibility to false to hide it in your UI.

Track Screen Views

Once configured, Screen Views are tracked in Azure Application Insights automatically every time a screen loads.

Source code is available in the github repository :

Feel free to contribute!