Parallel Workflow

There may be times when you want different stages to be processed simultaneously, rather than waiting for each stage to complete before the next is processed. WorkflowFirst has support for this through the role settings on each substage.

If substages have different roles, then they will be processed independently of one another. WorkflowFirst will automatically run all the substages at the same time, sending out notifications for each.

Note: If you want make the execution of a workflow branch conditional, you can use the Assignment Condition (eg. #input/NeedsMgrApproval) which must evaluate to true for that branch to be executed. You would then need to have a similar condition on the Wait For Stages section entry, so it's not waiting for a stage that never ran.

Each branch will continue running in parallel, but if you want them to converge back into a single thread, you need to do two things:

1. At the stage you want it to converge, use the "Then Run This Stage" option to select the stage you want it to go back to. Note: You must put this on every stage that will ultimately converge to a single stage, even if the convergent stage is right underneath that stage.

2. At that convergent stage, go to the Stage, then go to a list underneath it called "Wait For Stages"

In there you just add all the stages that need to be reached before that point will continue.

Keep in mind that the stage where the parallel processes converge won't show up as a button. If you want another action underneath it, then add more stages underneath.

Here's an example of a parallel workflow. Note in this example that the Accounting and Human Resource stages have Button=No, because they're just markers in the workflow and set a new role for the stages underneath.

Next Topic: Creating Reports