Categories: Microsoft Office 365

Azure Application Insights and Error Handling in Power Apps

This post is all about error handling in Power Apps with Azure Application Insight. Logging all events in your app (wanted and unwanted) within an easy to use log.

Enable the Application Insight feature

To enable the Azure Application Insights integration we will first need to enable to Pass errors to Azure Application Insights.

If however you want to also catch any erroring code you will also need to enable the Formula-level error management feature.

Both of these features are experimental so please use these with care.

Create Application Insight Resources

If you haven’t already configured Azure Application Insights then you might want to go to your Azure Portal and create the required resources. It should look something like this:

Instrumentation Key

Once the resources are created you will need to take a copy of the Instrumentation Key. The Instrumentation Key is the link between your Power Apps and your Application Insights configuration.

Now within your app you can use this key. Simply go to your app and set the Instrumentation key property.

Once you have published your app and run the published app (not from Power Apps Studio!), you will find that the Usage reports will show some graphs with details on users, events and so much more.

In this post however I want to focus on the reporting of the error handling.

Using the trace function

In my app I can now write messages to the trace log in my Azure Application Insights using the trace function. The trace function has three parts to it. The Message, the message level and an object that can contain any information. Just to proof the point that the object can be anything I included a typo in one of the properties.

And as users are using my app, the information messages now appear within my log

On the above log you can find information such as who ran the app and when. Just imagine creating a trace every time someone starts the app and you include the version number of the app in the details. You never need to ask a user which version they were running again!

Error Handling

So far I only used an information message. Although very useful in many ways, you might also want to report errors in the code. Maybe even automatically log a ticket in your helpdesk system when things go wrong, or email a developer to fix the issues.

Now, I’m going to make use of the IfError function to identify issues within my horrible code.

Both my Patch and my Set lines of code will fail and the IfError function will now run the Trace to report the issues. Notice that the Severity Level of the error has been changed to Error

Now when I run the app and click on the button I will see the error message coming through.

Pieter Veenstra

Business Applications Microsoft MVP working as a Principal Architect at HybrIT Services Ltd. You can contact me using

Recent Posts

Paginated REST API calls in Power BI

Last week I was asked about handling paginated REST API calls in Power BI. The…

3 days ago

Replace Edit with Contribute permissions with SharePoint Site Templates

How do we replace Edit with contribute permissions? When you create a new team site…

5 days ago

Managed Identities in Logic Apps to access Microsoft Graph

In this post I'm going through the steps to configure Logic apps to use Managed…

2 weeks ago

A scheduled flow that locks an app

Earlier this week I was asked on the chat how to handle scheduled flows that…

3 weeks ago

4 new undocumented functions to encode and decode Xml in Power Automate

Today, I found 4 new undocumented functions in Power Automate encodeXmlValue() decodeXmlValue() encodeXmlName() decodeXmlName() Why…

3 weeks ago

Connect to Microsoft Graph using PowerShell with certificates

Earlier this week I fixed some PowerShell scripts that connected into Microsoft Graph using the…

1 month ago