AnsweredAssumed Answered

Force closing a flexitask?

Question asked by waltont on Jul 31, 2015
Latest reply on Oct 24, 2016 by waltont

Is there a way to cancel the flexitask or force a specific outcome on a flexitask being executed based on responses from other users?



For instance:


I have an approval workflow that contains a set of parallel tasks that runs 5 separate approval processes in tandem. Each separate branch of the parallel action does different things based on each approver as they all have their own processes that must execute and set various items in separate lists based on what they responded with. (Its quite complicated to explain fully here)


That's the easy part, for the real complicated part:


There's a 6th branch in the parallel task that runs separately which notifies a person to execute the task being approved in the event that 4 of the 5 approvers say "approved". The tricky part is that all 5 approvers must actually agree but this allows us some flexibility in case someone is on vacation and that the majority of the approvers say "ok" that the approval process will kick off. If the process is already executed it kicks off a process that reverses the execution (that's the easy part); however, if the 5th approver comes back after the 6th process is started but has not yet been marked completed, and that approver says "Reject", I want to force the 6th flexitask to do one of the following:


Force an outcome of "incomplete" where it will then kick off the "incomplete" branch of the flexitask, this notifies the initiator that the process was not able to be completed (this is the ideal situation result if its possible) OR

Cancel completely and notify the user their action is no longer required (I can setup a notification manually if need be, but I don't want to end the workflow entirely because other processes are still in operation that need to finish)


Ideally I'd like to force the "incomplete" branch to kick off because it will allow the remaining part of the workflow to end normally which will notify the initiator that the workflow didn't finish completely but setting up a bunch of series actions to do that in each tree will make this workflow massive and I'm trying to avoid all that mess. I can setup separate workflow tasks that will do that if I have to, but ideally I'd just like it to finish normally so I don't have to go through all that manipulation of data and lists to get the proper result on each and every branch.


What I have at this point is basically along each of the reject trees in the flexitasks a forced "end workflow" which works ok, but sometimes it ends a little prematurely so I added a delay so other processes could still finish, but when I do that then there's still a chance the 6th flexitask can execute and complete during that "short window" delay which I'm trying to prevent. If I could stop that 6th flexitask by force ending it or cancelling it without having to end the entire workflow post-rejection of the 5th person, then I'm gold.