Show Table of Contents
11.5. Events
Events are triggers, which when occur, impact a business process. Events are classified as start events, end events, and intermediate events. A start event indicates the beginning of a business process. An end event indicates the completion of a business process. And intermediate events drive the flow of a business process. Every event has an event ID and a name. You can implement triggers for each of these event types to identify the conditions under which an event is triggered. If the conditions of the triggers are not met, the events are not initialized, and hence the process flow does not complete.
11.5.1. Start Events
A start event is a flow element in a business process that indicates the beginning of a business process flow. The execution of a business process starts at this node, so a process flow can only have one start event. A start event can have only one outgoing connection which connects to another node to take the process flow ahead. Start events are of the following types:
Table 11.4. Types of Start Events in the Object Library
| Event | Icon | Description |
|---|---|---|
| None |
| Use the None start events when your processes do not need a trigger to be initialized.
|
| Message |
| Use the Message start event when you require your process to start, on receiving a particular message.
|
| Timer |
| Use the Timer start event when you require your process to initialize at a specific time, specific points in time, or after a specific time span.
|
| Escalation |
| Use the Escalation start event in your subprocesses when you require your subprocess to initialize as a response to an escalation.
|
| Conditional |
| Use the Conditional start event to start a process instance based on a business condition.
|
| Error |
| Use the Error start event in a subprocess when you require your subprocess to trigger as a response to a specific error object.
|
| Compensation |
| Use the Compensation start event in a subprocess when you require to handle a compensation.
|
| Signal |
| Use the Signal start event to start a process instance based on specific signals received from other processes.
|
11.5.2. End Events
An end event marks the end of a business process. Your business process may have more than one end event. An end event has one incoming connection and no outgoing connections. End events are of the following types:
Table 11.5. Types of End Events in the Object Library
| Event | Icon | Description |
|---|---|---|
| None |
| Use the None error end event to mark the end of your process or a subprocess flow. Note that this does not influence the workflow of any parallel subprocesses. |
| Message |
| Use the Message end event to end your process flow with a message to an element in another process. An intermediate catch message event or a start message event in another process can catch this message to further process the flow. |
| Escalation |
| Use the Escalation end event to mark the end of a process as a result of which the case in hand is escalated. This event creates an escalation signal that further triggers the escalation process. |
| Error |
| Use the Error end event in your process or subprocess to end the process in an error state and throw a named error, which can be caught by a Catching Intermediate event. |
| Cancel |
| Use the Cancel end event to end your process as canceled. Note that if your process comprises any compensations, it completes them and then marks the process as canceled. |
| Compensation |
| Use the Compensation end event to end the current process and trigger compensation as the final step. |
| Signal |
| Use the Signal end event to end a process with a signal thrown to an element in one or more other processes. Another process can catch this signal using Catch intermediate events. |
| Terminate |
| Use the Terminate end event to terminate the entire process instance immediately. Note that this terminates all the other parallel execution flows and cancels any running activities. |
11.5.3. Intermediate Events
Intermediate events occur during the execution of a process flow, and they drive the flow of the process. Some specific situations in a process may trigger these intermediate events. Intermediate events can occur in a process with one or no incoming flow and an outgoing flow. Intermediate events can further be classified as :
- Catching Intermediate Events
- Throwing Intermediate Events
11.5.3.1. Catching Intermediate Events
Catching intermediate events comprises intermediate events which implement a response to specific indication of a situation from the main process workflow. Catching intermediate events are of the following types:
- Message: Use the Message catching intermediate events in your process to implement a reaction to an arriving message. The message that this event is expected to react to, is specified in its properties. It executes the flow only when it receives the specific message.
- Timer: Use the Timer intermediate event to delay the workflow execution until a specified point or duration. A Timer intermediate event has one incoming flow and one outgoing flow and its execution starts when the incoming flow transfers to the event. When placed on an activity boundary, the execution is triggered at the same time as the activity execution.
- Escalation: Use the Escalation catching intermediate event in your process to consume an Escalation object. An Escalation catching intermediate event awaits a specific escalation object defined in its properties. Once it receives the object, it triggers execution of its outgoing flow.
- Conditional: Use the Conditional intermediate event to execute a workflow when a specific business Boolean condition that it defines, evaluates to true. When placed in the Process workflow, a Conditional intermediate event has one incoming flow and one outgoing flow and its execution starts when the incoming flow transfers to the event. When placed on an activity boundary, the execution is triggered at the same time as the activity execution. Note that if the event is non-interrupting, it triggers continuously while the condition is true.
- Error: Use the Error catching intermediate event in your process to execute a workflow when it received a specific error object defined in its properties.
- Compensation: Use the Compensation intermediate event to handle compensation in case of partially failed operations. A Compensation intermediate event is a boundary event that is attached to an activity in a transaction subprocess that may finish with a Compensation end event or a Cancel end event. The Compensation intermediate event must have one outgoing flow that connects to an activity that defines the compensation action needed to compensate for the action performed by the activity.
- Signal: Use the Signal catching intermediate event to execute a workflow once a specified signal object defined in its properties is received from the main process or any other process.
11.5.3.2. Throwing Intermediate Events
Throwing intermediate events comprises events which produce a specified trigger in the form of a message, escalation, or signal, to drive the flow of a process. Throwing intermediate events are of the following types:
- Message: Use the Message throw intermediate event to produce and send a message to a communication partner (such as an element in another process). Once it sends a message, the process execution continues.
- Escalation: Use the Escalation throw intermediate event to produce an escalation object.Once it creates an escalation object, the process execution continues. The escalation object can be consumed by an Escalation Start event or an Escalation intermediate catch event, which is looking for this specific escalation object.
- Signal: Use the Signal throwing intermediate events to produces a signal object. Once it creates a signal object, the process execution continues. The signal object is consumed by a Signal start event or a Signal catching intermediate event, which is looking for this specific signal object.

















Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.