BPMN Advanced Training: Inclusive Gateway
This low-code tutorial demonstrates the usage of a BPMN Inclusive Gateway, where all flows containing satisfied conditions are followed. In the following sample the registration request is approved in case the user has reached the legal age (first flow) and has a Gmail Account (second flow), otherwise the request is denied (default flow). It consists of one business processes, called "UserRegistration" which execute the following process steps:
-
UserRegistration:
-
The “UserRegistration” process uses an Inclusive Gateway. In the first flow if the user has reached the legal age, the hasReachedLegalAge attribute is set to True.
-
In second flow if the user has a Gmail Account, the hasGmailAccount attribute is set to True.
-
If both of the above conditions are not True, in the default flow (third flow) the registration request is denied.
-
Finally, in the View Registration Result, the registration request is approved if the user has reached the legal age and has a Gmail account, if both conditions are not satisfied, the registration request is denied.
The following screenshot shows the FLOW “age>=18”, which is configured in the Implementation Tab.

When the age is greater than or equal to 18 in the Script “Approve Legal Age” the hasReachedLegalAge variable is set to True. See the following screenshot.

The following screenshot shows the FLOW “has gmail account”, which is configured in the Implementation Tab.

When the user has a Gmail account in the Script “Approve Gmail Account” the hasGmailAccount variable is set to True.

The following screenshot shows that when neither of the above conditions is true, the gateway continues by default flow.

In the Script “Deny Registration” is put the denied request.

Finally, the following screenshot shows the View Registration Result, where the registration request is approved if the user has reached the legal age and has a Gmail account, if both conditions are not satisfied, the registration request is denied. This is configured in Implementation Tab, Init Script Subtab.

