A Conditional Event is a type of event that activates based on the evaluation of a condition, typically expressed as a Boolean expression (true or false).
Conditional Events depend on the state or value of process variables that are part of the process context.
They continuously evaluate the given condition and act when the condition is met.
A Start Conditional Event marks the beginning of a process or a sub-process, triggered when a specific condition is fulfilled, or in other terms, when the condition evaluates to true.
In the subsequent scenario, as an online order is placed by a customer, our inventory count gets adjusted.
Should this count descend beneath a set threshold, an alert is activated, signaling the warehouse to replenish stocks.
Our goal is to maintain an uninterrupted shopping experience for the customer, yet it's important to inform relevant staff when our inventory nears depletion.
However, they can only be put in the oven when it reaches the necessary temperature.
While one might consider using a timer to gauge readiness (and it's not entirely wrong to do so), a timer only measures the elapsed time since activation.
It can't determine the actual temperature inside the oven.
Given that our pastries need a specific temperature for baking, only when this condition is met can we proceed to place them in the oven.
Instead, we shift and use the alternative route to inform the user that the intended process can't progress further, order more stock, or place the user on a list to be notified when the product becomes available again.
When utilizing a condition to loop back to a previous stage, it's crucial to highlight that the condition should be reset to evaluate as false once again.
If not adjusted, the condition might activate immediately when the instance revisits the task, potentially causing an infinite loop.
Always revert the condition to its default state to ensure appropriate behavior.
| ![name_field](images/name_field.png) | **Name:** Request Assistance | A descriptive name given to the element, providing a human-readable label or title. |
| ![id_field](images/id_field.png) | **ID:** Example - request_assistance | An identifier used to uniquely identify the element within the BPMN model. |
| ![configure_conditional_event](images/configure_conditional_event.png) | **Conditional Expression:** request_assistance == true | Set the expression that needs to be evaluated to take action. |