Gateways are used to control how the Process flows (how Tokens flow) through Sequence Flows as they converge and diverge within a Process. If the flow does not need to be controlled, then a Gateway is not needed. The term “gateway” implies that there is a gating mechanism that either allows or disallows passage through the Gateway; that is, as tokens arrive at a Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked.
Gateways are used to control the flow of a process. While the standard also allows branching without the use of gateways, using gateways greatly improves the understandability of a process model.
In Flowable, the following gateway types are supported: