As a consulting firm with a core competency in rapid application development through the PowerApps and Power Automate products from Microsoft, our firm frequently deploys solutions to a plethora of our customers. This presents several issues for our team. Firstly, this makes it hard to keep track of our intellectual property. Secondly, with many different clients that often manage their own Office 365 tenants, our team needs to ensure that we have current backups of any significant development if something goes cataclysmically wrong with their PowerApps environments.

This summer, our development team decided to implement various practices to facilitate better habits and strategies regarding backing up custom elements that we have deployed to customers, whether those are SuiteScript customizations for Netsuite, custom .NET applications, SQL routines, or PowerApps/Power Automate customizations. While we use other solutions for more typical backup scenarios, our team set up a Sharepoint Library to contain solution exports, msapp files, and flow JSON schemas. At first, we started working on building habits to back up our data manually but wanted to see if this could be automated.

Our team started by exploring the Power Automate Management connector and from there developed client-specific flows that will automatically back up our Flows and PowerApps so our team doesn’t need to maintain our backup database ourselves. Starting with the “List My Environments” to get the source environments for where the customizations live, our flow then iterates through each environment and uses the Get Apps as Admin or List Flows as Admin actions depending on which element we are trying to back up. After this, our Flows move the .msapp or JSON file to our Sharepoint repository so if needed, we can export and deploy them if need be.

But how do you deploy a .msapp or JSON schema file to the client if the original App or Flow were to be corrupted?” you may ask. For Canvas PowerApps, this is simple – if you needed to install a backup App to the client, all the user has to do is save the MSAPP file stored in SharePoint, open a local file in the PowerApps Studio, and save it to the client’s environment after reconfiguring the data connections. For Flows, because we only have the JSON schema definition and Flow metadata, we built another Power Automate routine that if need be, will iterate through a list of Flow schema data and create the backed-up flow in the Client’s environment.

Removing the manual process, and adding scheduled back-ups every week has made maintaining backups easy and time-efficient.

Unlock Your Full Potential With the Power Platform and MIBAR

As a Gold Certified Microsoft Consulting and Implementation Partner, MIBAR has the skills to build and customize not only Dynamics products, but Power Platform products including Power BI, PowerApps, and Power Automate.

As always, please reach out if you are interested in discussing or implementing the solutions described above, or any other Power Platform solutions!