Adventures with Power Apps: Creating Solutions for Existing Components

I create a Canvas App and a Power Automate Flow.

The Flow takes a name input and returns text in the format of Hello name!.

Just as a heads up, I also include the name of the flow, as I have multiple flows that do similar things.

Figure 1 – Power Automate Flow

The Canvas App allows the user to provide a name, click Submit, calls the Flow, and displays the returned text.

Figure 2 – Canvas App

The Canvas App works great!

Now I want to migrate it to another environment, and I want to do it in such a way that I can leverage ALM, or Application Lifecycle Management in the future.

To do this, we will want to use Solutions.

I am going to leave out some of the detailed steps, but I have them all documented at PowerAppsMigrationLab/README.md at main · mattruma/PowerAppsMigrationLab (github.com), where you can try it out for yourself.

I tried to simplest approach I could, I created the solution, and then did a couple of Add existing for the Canvas App and the Flow, both of which were Outside Dataverse.

Figure 3 – Solution View

From the Overview tab, I clicked Publish all customizations, followed by Export and then downloaded the solution package.

I navigated to the import environment, and from Solutions, clicked Import, selected my solution package I exported previously and completed the import.

I then navigated to my Canvas App and clicked Play, only to discover that, while it loaded, whenever I hit submit, nothing happened!

For some reason, it could not see the flow! 😠

Wasn’t sure what happened, so I reached out to a peer to get some insight.

In order for this to work properly, I had overlooked one critical step. The Canvas App needed to reference the Flow that was now in the solution.

To do this, I edited my Canvas App, I removed the old Flow, and then added the Flow from solution.

Figure 4 – Canvas App and Flow

You can see from the screenshot above what the flow looks like in the Canvas App during the process of solution import.

  1. Canvas App with Flow prior to importing to a solution
  2. Post import to a solution
  3. Removing and updated the flow to use the one from the solution
  4. Post update

I went through the export and import process again, and this time when I ran my Canvas App in the new environment, everything worked! 😊


Discover more from Matt Ruma

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *