Skip to main content

How to Refresh a Flow in a Canvas App in Power Apps

· 5 min read
Jagdish Kumawat
Founder @ Dewiride

A canvas app keeps its own copy of what it knows about each flow it runs. After you change a flow in Power Automate, refresh it in the app: open the flow's More menu in Studio's Power Automate pane, select Refresh, then save and publish the app.

Microsoft's Power Automate pane article is firm about it: After making changes to a flow outside of Power Apps Studio, you must perform this step; otherwise, the flow may fail to run—even in previously published apps. Microsoft's flow integration troubleshooting explains why: Power Apps stores what inputs the flow requires, what connections to provide, and what outputs the flow returns in the app.

The example is the Overtime Timesheet app. I changed its flow, Get Waiting Approvals, in Power Automate after adding it to the app: I removed a field it returned.

Prerequisites​

Step 1: Open the Flow's More Menu​

Open the Power Automate pane (More > Power Automate on the left bar). Under In your app, select More (…) next to the flow, then Refresh:

The Power Automate pane with Get Waiting Approvals under In your app and its More menu open: Edit, Refresh and Remove from app

Step 2: Wait for Refreshing to Finish​

The flow shows a spinner and Refreshing …:

The Power Automate pane with Get Waiting Approvals showing a spinner and the word Refreshing

When it's done, the flow is listed as before, with its More button back:

The Power Automate pane with Get Waiting Approvals under In your app, showing GetWaitingApprovals below it and the More button

Step 3: Save and Publish the App​

Save the app and publish it, so people using it get the refreshed flow (How to Publish a Canvas App in Power Apps). In this case, the app also had formula changes to save.

Later, I refreshed the flow again after a change to one of its expressions. That time Save stayed unavailable, and I published the app again to be sure the live version was current.

When to Refresh​

Change in the flowRefresh?
An input added, removed or renamedYes
An output added, removed or renamedYes
A connection added or changed, including to an invoker connectionYes
A field removed from a JSON output, as in the exampleYes, the docs say any change made outside Studio

Microsoft's known issues with the Power Apps V2 trigger adds that after switching a connection to an invoker connection, you must refresh or remove and readd the flow in the app and then save the app.

Common Mistakes​

MistakeWhat happensDo this instead
Changing the flow and not refreshingThe flow may fail to run, even in the published appRefresh after every change made outside Studio
Refreshing without publishing the appPeople keep the old versionPublish after refreshing
Changing a flow that a live app usesPeople using the app can be affectedMicrosoft suggests copying the flow, changing the copy, and moving the app to it

Troubleshooting​

SymptomLikely causeFix
A new output isn't offered after Run().The app hasn't been refreshedRefresh the flow
Refreshing doesn't helpThe app's copy of the flow is still out of stepRemove from app, add the flow again, save
People still get the old behaviourThe app wasn't published, or they have the old version openPublish; they open the app again

FAQ​

Is Refresh the same as removing and adding the flow?​

Both update what the app knows about the flow. Microsoft's troubleshooting article uses remove and add again for several errors; Refresh is the quicker first step.

Do I need to refresh after editing the flow from Studio?​

The article's requirement is for changes made outside of Power Apps Studio. I made my changes in Power Automate, so I refreshed each time.

Conclusion​

After any change to a flow in Power Automate, select More > Refresh on it in Studio's Power Automate pane, wait for Refreshing to finish, and save and publish the app.

Additional Resources​