cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Frequent Visitor

Approval with a variable number of approvers

Hi all.

 

Hopefully someone out there may be able to assist, or give some suggestions for an Automate issue I'm working on....

 

We have a requirement for automating a process which, on receiving a (Confidential) document in a specific mailbox, starts an Approval process to all the members of a group (with options Approve/Reject/Discuss). The group will (currently) have 4 members, but only requires x (currently 2) Approvals to allow it to progress; however if it gets y (currently also 2) Rejections then the project is fully rejected, and if anyone selects Discuss, then the project is requiring further discussion among the group.

 

I've had a look at the built in Approval options, and the options are "First to approve" or "Everyone must approve", but there's no option for dealing with x approvals/rejections/other.....and I was hoping someone may have had a similar requirement, or have some ideas for how to deal with this.

 

Also, if 2 out of 4 Approvals is required, then I don't really want a Flow to be waiting for the other 2 people to reply before it continues...(especially if they haven't replied as one is ill, or on holiday - as this could delay an already approved project by days/weeks).

 

 

Appreciate any help/ideas people can give....

 

4 REPLIES 4
Highlighted
Microsoft
Microsoft

Re: Approval with a variable number of approvers

Hi @chris421 

 

I have an idea, that may can help you. Is complex, not sure if this can be a solution, hope it can help you

 

Create a complex flow with multiple approvals with the condition ( First to approve)  and switch

approval.PNG

 

Then create 3 different switch, with the names of the approvals who didn't approve yet.

 

You can use the function concant for add the outcomes of the different approvals.

 

Once the outcome have 2 approval or 2 rejects, you can create a condition for approve or reject the project

 

Hope this can help you!

 

 

 

 

 

Highlighted
Frequent Visitor

Re: Approval with a variable number of approvers

hi @pagonza 

 

Thanks for the suggestion, but I'm not 100% sure I follow what direction you're pointing me in...

 

Create a complex flow with multiple approvals with the condition ( First to approve)  and switch

 

In order to create multiple (First To Approve) Approvals (one for each user in the Group), I'd need to create that in an Apply to Each loop. However, wouldn't this create a unique ApprovalID for each Approval for watching for incoming Replies?

 


 

Then create 3 different switch, with the names of the approvals who didn't approve yet.

 

You can use the function concant for add the outcomes of the different approvals.

 

The issue here would be that I don't yet know who hasn't approved.

 

 

And how would I force the Flow to continue and process according to the decision, if there are still outstanding Approvals?

Highlighted
Microsoft
Microsoft

Re: Approval with a variable number of approvers

Hello @chris421 

 

I test on my side, hope this can help, may can't pass all the requirements

 

When you put the approval, first to answer, the flow just wait for the first answer and it continue the flow.

 

Once I checked who was the first to answer, I send a new approval for the other 3 approver ( may this don't pass your requirement)

I can check who answer the first, with the switch funtion. Once I the second approval, I checked the outcomes of the first and second approval action, with the action concat.

 

Hope this can help you!

 

 

 

 

Highlighted
Frequent Visitor

Re: Approval with a variable number of approvers

Hi @pagonza 

 

I see what you mean now...

 

Send a single "First to reply" approval...and when that is completed, figure out who did respond, and send a further approval to the remaining members.

 

The issue here would be that (in my original example) I was looking for 2 approvals or 2 rejections...I would need to build all the possible approval flows into this flow...so Approval1 is sent...they say Yes...Approval2 is sent....they say No...so Approval3 is sent...(so 3 approval stages required). However, it's only currently 2 approvals or 2 rejections....if the group size grew (e.g. it had 20 members), then they may want to have 5 or 6 or more approvals to get something to pass (so that there's a slightly bigger agreement, rather than only 2 people out of 20 agreeing).

 

Ideally I'd need this idea to be variable based so that the target number of approvals/rejections are set in variables at the start of the Flow....

 

In my testing I've had it send one approval to x members.....and I've had it send x approvals to the x members (1 each)....and i've looped over an array of the ApprovalIDs waiting for replies....

The issue is trying to get out of the waiting stage....I've put the whole waiting section in a Do Until, and had it check for a variable (which is incremented each time I get an approval/rejection)....but it never makes it to the Do Until reset point as it is still waiting for other approval replies....

 

 

Chris

 

 

Helpful resources

Announcements
Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

Upcoming Events

Experience what’s next for Power Automate

See the latest Power Automate innovations, updates, and demos from the Microsoft Business Applications Launch Event.

Community Conference

Power Platform Community Conference

Find your favorite faces from the community presenting at the Power Platform Community Conference!

Top Solution Authors
Top Kudoed Authors
Users online (5,813)