Hide a Business Process Flow Using JavaScript

In some scenarios, you may want to hide a Business Process Flow (BPF) once the entire process is complete. In this post, we’ll walk through how to achieve this in a model-driven app using JavaScript. Once the last stage is completed, the JS code hides the control. The Methodology We can use the formContext.data.process client API to determine the status of the BPF with the getStatus method. When the process is complete, this method returns the string value "finished". Then, call the formContext.ui.process.setVisible method to hide or show it. Applying the Code Create a new web resource and…

Comments Off on Hide a Business Process Flow Using JavaScript

Write to Dataverse Notes Table using Web API

I had a challenge recently where I needed to migrate hundreds of notes from an old database to the Dataverse. Dataverse has an Out of the Box Notes table (logical name “annotations”) that allows for recording notes and attachments against a related table. This post will showcase the preparation steps and PowerShell script used to do just that. Preparation Steps Enable Notes and Attachments For this example, let’s assume we are trying to write rows from a csv into the notes table regarding Purchase Orders. First, ensure the table has the option “Enable Attachments (including notes and files)”…

Comments Off on Write to Dataverse Notes Table using Web API

Intro to Deep Linking in PowerApps

Instead of opening an app's main screen, there are scenarios where you'd want to directly take a user to a specific screen. This post will explore how to deep link to a specific record in both Canvas and Model Driven Apps. Example Use Case Consider an example where app contains Purchase Orders. When someone creates a new purchase order (PO), Power Automate sends an email to the manager with a deep link to the corresponding PO. The deep link directly to the main form for that PO. A Deep link in an email navigating to the Main Form…

Comments Off on Intro to Deep Linking in PowerApps

Fetch a List of PowerApps across Environments

One of the challenges I’ve faced when using the Power Apps Admin Center is getting a quick view of all the apps within all environments for documentation purposes. Sure, you can go into each environment's Admin Center and view the apps, but this is not efficient. Even worse, from there, there's no way export the a list of the apps! To solve this, I explored several options before landing on the approach I describe below. First, I tried PowerShell with the Get-AdminPowerApp cmdlet—but that only returns Canvas App data. No Model-Driven Apps in sight. Then I turned to…

Comments Off on Fetch a List of PowerApps across Environments

Automated Azure AD Credential Expiration Alerts

All secrets and certificates created within Azure App Registrations have expiration dates, making it crucial for administrators to stay informed to take timely action. Microsoft does not provide an automated notification for this. However, by leveraging Microsoft Graph API and Power Automate, you can set up automated alerts to notify when secrets and certificates are nearing expiration—or have already expired. Below is an example e-mail of expiring and expired secrets and certificates generated by Power Automate: The end-result in e-mail showing expiring secrets, expired secrets, as well as an a csv export of all secrets. Requirements You'll need…

Comments Off on Automated Azure AD Credential Expiration Alerts

Cancel an Approval of Behalf of Another User in Power Automate

Using the Approvals Connector within Power Automate is a great way to streamline approvals, as it provides a lot of functionality out of the box. One limitation it has however is the ability to cancel an approval on behalf of another user. For that, we need to use Power Automate and make an update directly in the Approvers table record. Example - Purchase Order Approval Request Using a Model Driven App, I have an IT Inventory tracking system where I need to submit Purchase Orders for manager approval. When the flow button is pressed in the app, the…

Comments Off on Cancel an Approval of Behalf of Another User in Power Automate

Calculate Age using PowerApps

On the surface, the calculation for a person's age in PowerApps seems simple enough: use the DateDiff function to take the current date and the difference between their birthdate and return in years. However, in PowerApps, it's not quite so straight-forward! For example, let's say the current date is 6/5/2025, and someone's birthdate is 7/4/1989. Using DateDiff: DateDiff(Date(1989,7,4),Date(2025,6,5),TimeUnit.Years) The function returned 36 and not 35 like we would expect! The person wouldn't be 36 until it's 7/4/2025. Turns out, the PowerApps DateDiff function behaves differently than it's Excel counterpart. Unlike DateDif function in Excel which, by default, calculates…

Comments Off on Calculate Age using PowerApps