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.

Share
Pieter Veenstra

Business Applications and Office Apps & Services Microsoft MVP working as a Microsoft Productivity Principal Consultant at HybrIT Services. You can contact me using contact@veenstra.me.uk.

Recent Posts

Stop missing reminders in Outlook

Do you ever miss the start of a meeting because those reminders don't pop up…

6 days ago

Don’t Update or Insert records in Dataverse but Upsert when using Power Automate

A typical pattern for data import processes is that you first check if an item…

2 weeks ago

Size your Power Apps with Height and Width in SharePoint webparts

Sizing you apps in Power Apps isn't any more complicated than setting the height and…

3 weeks ago

Filter null values in Dataverse using Power Automate

Filtering records on empty values can be a real pain as there are many mistakes…

4 weeks ago

Lock and wipe devices using Microsoft Graph in Power Automate

On a recent project I needed to be able to lock and wipe devices. I…

1 month ago

2 Liquid tips – Generate GUIDs and base urls in Power Pages

In this post I'm looking at Power Pages and how to get the base url…

1 month ago