I have a scenario where we'd like to get approval from several different groups (any one member from group A, all members in group B, any one from group C, etc.) and importantly, we'd like to start these approvals in parallel since doing so serially will take longer.
I know that when all required to approve, if a member of a group rejects the task, the other members' (of that group) tasks are canceled. But that won't alert the other parallel approvers or cancel their tasks. Is there a way to do that?
The best I've been able to cobble together regarding this is to keep track of the task ID's upon assignment, then upon any rejection, iterate through that collection and cancel them. Does this sound plausible?
Solved! Go to Solution.
This turned out to be easier than I thought it would be. I ended up using the flow shown below, where I store the action IDs of the three Request Approval tasks in their own variables, then upon any task's rejection, it completes the other two tasks, using their respective Action IDs. My tests worked fine, though it can take just over 30 minutes to complete -- I'm assuming due to the timer frequency.
That's what we do in our workflow. How do you solve the problem of the locking tasks. Say Approver 1 rejected, then Approver 2 immediately approved. The complete workflow task hasn't kicked off yet, so Approver 2's task remains at pending forever and locked for editing. And the complete workflow task doesn't start because of that. Do you possibly have a solution for that?