Flow Designer : How multiple group approvals work with Flow Designer ?

Gaurav Kumar15
Giga Guru

Hi All, 


We are implementing flow designer for one of the catalog items and we have below scenario and not sure how we can solve this using flow designer :-

Scenario : We have to trigger approvals to multiple groups (dynamically it can be 2 groups, 3 groups, 4 groups, etc), depending upon the request. So for implementing this i tried below 2 approches :-

Approach 1 : I tried triggering the approval to all the groups in one go, it is creating the Approval records, but as soon as any user approves, it move ahead. I want FD to move ahead if user from each group approved and not just single user. So not sure how can we solve this using Flow Designer capabilitie.


Approach 2 : I tried triggering the approvals using the for each loop, but in that the approvals are triggered in Sequence, which wont serve our purpose.


So could you share their experience if they came across this kind of situation and were able to make it work using FD. 

TIA,
Gaurav Kumar

2 REPLIES 2

CezaryBasta
Tera Guru

You have multiple options for approval management in flow designer. Based on docs:

Define the approval and rejection rules. Approval rules determine which users can approve or reject requests, and what happens after approval or rejection. Approval or rejection rules include:

  • Anyone approves
  • All users approve
  • All responded and anyone approves
  • % of users approve
  • # of users approve

In the field beside the approval rule, add the desired approvers. To add approvers:

  • Select individual users or groups.
  • Drag-and-drop or select a field from a record.
  • Select Manual approvers icon to allow a manual approver to process an approval or rejection. A manual approver is a user manually added to the Approvers related list who can then approve the request. For example, you can manually add a subject matter expert to a task to approve the request. To learn more about adding manual approvers, see Generate approvals using the approvers related list.

Define rejection rules by adding another OR rule set. When defining approvals, include rejection rules that run when there are no matching approvals. Such rejection rules prevent the flow from remaining in a waiting state. For example, if an approval can be approved by anyone, create a time-based rejection rule in case no one approves it.

Note: If you set an approval rule with no rejection rule (or vice versa) and the expected approval state is not met, the runtime value will be canceled.
 
Check the options you are using. 
 
If this doesn't help, you would need to explain a bit more on your goal.
--
See more of my content here.

Katarina Macisa
Tera Contributor

Hi, 

 

I don't know if you have already solved this issue but you can use scripted rules in the action - see in here

how to do it.

If you are unsure about the syntax of the rule (especially if it is complicated one), just do the test flow with hardcoded values of the groups/users in the condition and then you can copy-paste correct syntax from the Flow context.

E.g.: If you need multiple groups and each group has to approve (one of the members of the group) but any group can reject it will looks like this:

ApprovesAnyG[<groupSysID>]&AnyG[<groupSysID>]OrRejectsAnyG[<groupSysID>,<groupSysID>]
 
Hope it helps. 🙂