Showing results for 
Search instead for 
Did you mean: 
Frequent Visitor

Cancel approval in CDS and "Wait for an approval" action


Is there a way to programmatically cancel an approval in a way that it will make an action "Wait for an approval" detect it and move forward (get the result)?

I have an approval process that spans across multiple departments. There are multiple people within each department there are responsible for the approvals. Only the first response from department matters. If any of the departments reject I want to cancel all the other departments pending approvals.

For canceling I use the CDS connector action "Update a record" as in the picture below but the other flow is still hanging at "Wait for an approval" action.

Cancel approval using CDS updateCancel approval using CDS update



Bartosz Domżalski

Community Support
Community Support

Re: Cancel approval in CDS and "Wait for an approval" action

Hi @bdomzalski,


Could you please share the end of the first Flow and the start of second Flow?


If you are using HTTP request to pass these value to second Flow, you could pass Identifier of the Updated item, then create a branch as below:


Initialize an array variable to store these StageValues, then wrap Get record and delay actions, create a loop to check the status, if it contains "Complete", means there is already responded by a user or updated by you. Then do next steps.

Annotation 2020-06-10 163920.jpg


Annotation 2020-06-10 163954.jpg


Annotation 2020-06-10 164003.jpg


Best Regards,
Community Support Team _ Lin Tu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Frequent Visitor

Re: Cancel approval in CDS and "Wait for an approval" action

Hi @v-litu-msft,


My design was to have one flow (Department approval) which handles each approval separately and stores responses at SharePoint list and the second (Finalize department approval) which decides if the whole approval process is completed and based on the result executes proper actions.

Below are simplified (maybe even oversimplified) versions of those flows.

Department approvalDepartment approvalFinalize department approvalFinalize department approval

If I understand your solution correctly actions which should be done when we got approval response followed by "Terminate" must be repeated in both branches: after "Wait for an approval" and CDS "Get record". Otherwise even if we detect completion of approval we would still need to wait for action in the other branch (wait or delay) to end/timeout.

Or you suggest to completely replace "Wait for an approval" with the "manual" checking for status using CDS?

Or maybe there is a way to continue common steps (single action/path for both branches) as soon as the quicker of the parallel branches execution ends?


Kind regards,

Bartosz Domżalski

Helpful resources


Super User Program Update

Three Super User rank tiers have been launched!


Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021


Join the new Power Virtual Agents Community!

We are excited to announce the launch of Power Virtual Agents Community. Check it out now!


New & Improved Power Automate Community Cookbook

We've updated and improved the layout and uploading format of the Power Automate Cookbook!


Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

Top Solution Authors
Top Kudoed Authors
Users online (8,029)