Below is my workflow diagram;
What is the best way to build this workflow ? State machine might be too heavy for this logic. I request some help with the logic for this workflow so that it performant enough. Please advise
Thanks in advance.
Hello cvuppala -
I would highly recommend using a state machine for this simply because it will allow you to easily jump back to a different review step (state) when you encounter an "Information Missing" outcome.
While you can do it sequential, this approach will not easily allow you to jump back to another review step without starting a new instance of the workflow or creating a new workflow for each step.
Here is something that can be quickly put together in a state machine:
Above you can easily see that each review step (state) has its own branch and based on the outcome of the task, it will either update the status to be disapproved, jump back to a previous review, or move on to the next reviewer. You can also add in more logic very easily for different branches if needed or even add/remove branches entirely.
Again, there is not one set way to do it, but you can solve a lot of issues and concerns by using a state machine.
If you are hesitant because of performance; there is minimal difference between using a state machine or doing it in a sequential workflow. Each one will have to run until the entire process is completed and each review step is acted upon. With a state machine, you will be able to see where things bottleneck and what/who are your pain points in the overall process/workflow.
Hope this helps!