cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
DBZiggy
New Member

Multiple approvers - any two approvals condition

Hi,

 

I am trying to build an approval flow with a condition that

- when any two out of three assignee's' approve will complete the process.

- any reject response will terminate the process

- does not require all three assignee's to response

 

currently, I am using logic as flowing

- Compose: if(equals(body('Wait_for_an_approval')['outcome'],'Approve'),0.5,if(equals(body('Wait_for_an_approval)['outcome'],'Reject'),-1,0))

- condition: OR

    - compose + compose 2 = 1

    - compose 2 + compose 3 = 1

    - compose 1 + compose 3 = 1

 

The tests stuck at condition check when there are only two response received 

and the flow does not have 'reject' check.

 

Appreciate your help.

Thanks

Capture.JPG

1 ACCEPTED SOLUTION

Accepted Solutions
v-litu-msft
Community Support
Community Support

Hi @DBZiggy,

 

I think you could initialize an integer variable named Point to count the result of the responses, default is 0:

If someone approves the request, increase 1, if three people all approve, the Point is 3;

If anyone rejects the request, decrease 3, if three people all reject, the Point is -9, the reason for setting three points is that the proportion is larger because there is one veto.

Then create a delay as a Parallel branch waits for a period of time, such as one day, then determine the Point whether equals or greater than 2:

Annotation 2020-06-17 164356.jpg

 

Annotation 2020-06-17 164425.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.

View solution in original post

1 REPLY 1
v-litu-msft
Community Support
Community Support

Hi @DBZiggy,

 

I think you could initialize an integer variable named Point to count the result of the responses, default is 0:

If someone approves the request, increase 1, if three people all approve, the Point is 3;

If anyone rejects the request, decrease 3, if three people all reject, the Point is -9, the reason for setting three points is that the proportion is larger because there is one veto.

Then create a delay as a Parallel branch waits for a period of time, such as one day, then determine the Point whether equals or greater than 2:

Annotation 2020-06-17 164356.jpg

 

Annotation 2020-06-17 164425.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.

View solution in original post

Helpful resources

Announcements
MPA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Welcome Super Users.jpg

Super User Season 2

Congratulations, the new Super User Season 2 for 2021 has started!

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

Top Solution Authors
Users online (2,011)