Power Automate Tip: Re-submit/Resend Cloud Flow automatically if there’s Server Response Failure or any condition not met
Hello everyone,
You may have encountered a scenario in which Cloud Flow failed unexpectedly or failure from Server or certain conditions were not met during execution due to an asynchronous process. As a result, the Flow must be re-submitted, which is accomplished by selecting the Run History and clicking on Re-submit.
In this blog, I’ll show you how to use configuration settings to automatically re-submit Failed flows.
I’ll use the Parent-Child Flow concept to accomplish this.
I made a simple Parent-Child Flow in which the Parent calls the Child Flow, the Child Flow sends Approval to the User, and the response is passed back to the Parent, indicating that the request was successfully completed.
If the user rejects the request, it will be resent only when certain conditions for the execution are met.
The steps for implementation and a guide to achieving this are outlined below.
Step 1: For having Parent-Child Flows, you need to create a Solution and have 2 Flows (Parent – with any Trigger, Child – should be Manual Trigger)
Step 2: Below is the Child Flow (I have used PowerApps V2 Manual Trigger)
Tip: PowerApps Trigger can be seen and added later into the solution but if Manual Trigger (Blue Icon) is used then it may not show in existing Flows and cannot be used as Parent-Child is not in any solution
A simple Flow, where I have sent an Approval to myself where if I have Approved it would send a response back to Parent Flow but if I reject the Approval then it will execute as Failed without passing a response to Parent Flow.
Note: I have used Scope block, so if you have many Action controls and anything fails then it won’t send a response to Parent unless you have configured the flow as such.
Here, the Red outlined Block, is the deciding block and the Blue block is the responding Block that will execute only if User Approves the Approval Request.
Step 3: Configure the ‘Run-Only’ user for Child Flow on the main page.
‘Run-Only’ defines on who’s behalf to run the flow in the context of, since Child Flows are independent.
Step 4: Below is the Parent Flow and the configuration for re-sending Child Flow in case of failure
As you see, I have called the Child Flow once and displayed the output of the Child Flow.
Because I’m only invoking the Child Flow once, I need to change the configuration for dealing with failed responses so that it can retry the submission of a failed response.
On the Child Flow action, click the ellipse (3 dots) and then settings.
For the specific action, a settings page will appear.
Now we see the ‘Retry Policy,’ which determines whether the flow should retry in the event of a failure with certain conditions.
In this case, I used a fixed interval; see the screenshot below.
Step 5: That’s all. Now I have tested initially by rejecting the 1st request and the Retry Policy triggers and sends the 2nd request and I approve it. Thus completing the entire flow. Here’s the count of retries that occurred when you see the Run History of Parent Flow with deeper insights
Hope this helped 👍🏻