Business processes can branch into several parallel or alternative flows.
Example
Create a process that would branch depending on the results of a call. If the customer is interested in the meeting, then the meeting is scheduled. If the customer is not interested, the process ends. The call may also be completed with the “Call later” result, in which case the call element must be run again.
There are a number of process elements used for process branching.
-
Conditional flows activate if their conditions are met.
-
Gateways activate one or more outgoing flows, depending on the gateway type: “exclusive OR“, “inclusive OR“, “parallel AND“.
-
[User dialog] and [Auto-generated page] process elements can be completed with different results, such as the option that the user selects on the dialog page or the button that the user clicks on an auto-generated page. The selected options can be specified as conditions for outgoing conditional flows.
-
The [Perform task], [Open edit page] process elements, the result of which are determined by the values in one of the fields. The column value in the field that determines the element result, can be used as condition for outgoing conditional flows.
How to branch a process using gateways
To process the task results, the [Exclusive gateway (OR)] should be used, since only one result can be selected for a task. Alternatively, you can add outgoing conditional flows directly to the task process element, which is the equivalent of using an [Exclusive gateway (OR)] element.
To branch the process (Fig. 1) based on the [Perform task] element results:
1.Place the [Exclusive gateway (OR)] element on the process diagram after the ”Call customer” element (Fig. 2).
Note
The [Excluding gateway (OR)] element is used when only one of the alternative process branches can be executed.
Note
If the process should take both paths simultaneously, use the [Parallel gateway (AND)]. For branching, this gateway is used with sequence flows only.
2.Connect the gateway and the ”Conduct meeting” element with a conditional flow.
3.In the element setup window of the conditional flow, select the [Completed] checkbox (Fig. 3).
4.Add conditional flows for other results in the same manner. Add a flow back to the meeting task and select [Call later], and another outgoing conditional flow to the process end event with the [Not interested] checkbox selected (Fig. 4).
5.Save the process.
As a result, three possible task results will be available on the “Call customer” task page: [Completed], [Not interested] and [Rescheduled] (Fig. 5).
Clicking [Completed] will open the “Conduct meeting” page. Clicking [Rescheduled] will open page for another meeting activity. Clicking [Not interested] will end the process.
Note
To change the condition for the conditional flow, double-click the flow and select the new condition in the opened window.
If the process depends on the activity results, the activity can only be closed with the results provided by the process.
Note
If a branch of the process must be executed when none of the other results is selected, add the default flow that will be triggered if the activity has a result that was not specified in the conditional flows.
See also