How to perform sequential approvals in Flow Designer?

Jordan26
Tera Expert

I am trying to create a flow which will perform sequential approvals for a record, but it doesn't seem like Flow Designer supports this.

The scenario is a given record has 3 different people that need to approve, but sequentially. This means that Approval A should trigger first, and once that person approves, then Approval B should occur, then Approval C. Then only once all three have approved should the approval field on the record be marked as approved, but if any of them reject along the way the flow should stop and the approval on the record be marked rejected.

The behavior I am seeing when setting this up is that if you set up each approval activity to approve or reject, when the first approval is done, the record is approved then when the next approval is generated, the approval is set back to requested and this continues until the final approval leaves the approval as approved. I tried setting the first two approvals to only Reject if anyone rejects, but what happens when they're configured that way is the first approval is approved which leaves the approval field as requested but when the next approval in the sequence is generated, the approval field is changed back to Not Yet Requested and then immediately back to requested. 

What I am looking to do is to have the first two approvals set the approval field to rejected if they are rejected, but if they are approved to simply leave the approval field as requested until the last approval is completed and then set the approval field value to either rejected or approved based on the outcome of that last approval.

 

If anyone has any insight on how to configure a flow this way it would be greatly appreciated, thank you!

1 ACCEPTED SOLUTION

Unfortunately I haven't, the best I could do is to chain Ask for Approval actions where all but the last approval in the chain has it's approval rule set to reject when anyone rejects and the last approval is set to approve or reject when anyone rejects.

 

This still causes the Approval field to jump back and forth between Not Yet Requested and Requested but at the end of the day it works to create the approval chain. Just be careful that you don't have any logic running on the Approval field that is triggered when the value changes to Requested, otherwise that will trigger for each new approval that is generated.

View solution in original post

24 REPLIES 24

Antonio39
Tera Contributor

In "ask for approval" action you can configure the way you want your approval goes:find_real_file.png

in your case i would do something like that:

find_real_file.png

putting some users or groups, but then it depends the way you select the approvers/approval groups.

 

Keep in touch

Kyle Brown
Tera Guru

Hey Jordan, 

Did you get a solution to this one? It seems like a pretty standard use case for lots of people and it's these kinds of things that have made me hold off on moving away from old-fashioned workflows so far.

Regards, 

Kyle

mcorl
Tera Expert

Hi Jordan,

You will need to use some nested IF and ELSE IF logic after each approval to check for a previous approval or rejection. I will explain each situation below and include a screen shot of a flow I'm currently using.

Approver Rejects:
If the initial approver rejects, the first 'IF Rejected' validation returns TRUE and takes a path that contains an update to the rejected record and then ends the flow. In my example, the record is an RITM record where I'm setting the 'Approval' field to Rejected and the 'State' field to Closed Complete and lastly ending the flow.

Approver Approves:
If the initial approver approves, the first 'IF Rejected' validation returns FALSE and proceeds to the first 'ELSE IF Approved' validation, which will return TRUE. Beneath the 'ELSE IF' action is where you will add your 2nd 'Ask for Approval' action. Now repeat the process until you've stepped through all your tiered approvals. The last 'Ask for Approval' action will only need to check for Rejection. If the final validation results in an approval, the flow will bounce back to whatever action is next in your flow.

 

find_real_file.png

Jon11
Tera Contributor

I tried this, and what kept happening for me is: 

If the first approval is APPROVED, the second approval was sent to the group of users as expected, but the first approval was reset back to "requesting approval". The first user can approve again and bypass the second tier of approvals. Looks like this after the first approval was already approved: 

find_real_file.png

 

Mi Mi
Tera Contributor

Thank you so much, @mcorl. It is really helpful to me to solve my issue.

Regards

mmk