What are Intermediate Boundary Events in BPMN and why are they special?

Filip Stachecki
25-09-2023

11 min

When working with BPMN (Business Process Model and Notation), it is essential to have a solid grasp of Intermediate Events, particularly Boundary Events. Although many are familiar with Intermediate Events used in normal process flows, Boundary Events introduce an additional layer of control and flexibility, especially in scenarios where deviations or exceptions occur.

Intermediate Events in Normal Flow

Intermediate Events are points in a process where something happens between the start and end of the flow. They are typically used to denote a trigger or a delay. For example, a Timer Intermediate Event may indicate a pause until a certain time, or a Signal Event might wait for some external input. In the normal flow of a process, these Intermediate Events simply guide the process along its primary path.

Example 1: A simplified employee onboarding process example using Intermediate Timer and Signal Events.

Here are a few key points about Intermediate Events in normal flow:

  • They are not skippable (in other words, they are not optional).
  • They can interrupt or continue a flow.
  • They can be triggered by external or internal factors.
  • Their occurrence doesn’t typically indicate an error or exception.

Intermediate Boundary Events

Intermediate Boundary Events, on the other hand, are associated with Activities and are attached to the boundary of those Activities. They are used to either interrupt or react to exceptions, such as errors, timeouts, or cancellations that occur while an Activity is in progress.

Example 2: Intermediate Boundary Events attached to boundaries of Activities.

The key distinction between Intermediate Events and Boundary Intermediate Events lies in their placement and function:

Placement: Boundary events are placed directly on the boundary of a Task or Sub-Process.

Example 3: Diagram fragments containing Boundary Intermediate Events attached to a Task, a collapsed Sub-Process, and an expanded Sub-Process.

Function: Boundary events can interrupt the ongoing activity (Interrupting Boundary Event) or allow the Activity to continue while reacting to the Boundary Event (Non-interrupting Boundary Event).

Example 4: Diagram fragment containing an Interrupting and Non-interrupting Intermediate Boundary Events.

Interrupting vs. Non-interrupting Boundary Events

  1. Interrupting Boundary Events: When an Interrupting Boundary Event is triggered, it immediately halts the Activity it’s attached to. The process flow is diverted to handle the exception, and the original Activity does not resume. For example, an Error Boundary Event interrupts a Task when an error occurs, redirecting the process to an error-handling path. This ensures the process does not continue after encountering the exception.
  2. Non-interrupting Boundary Events: Non-interrupting Boundary Events, on the other hand, allow the Activity to continue while initiating an additional, parallel path to handle the event. For example, a Non-interrupting Timer Boundary Event might trigger a notification or escalation if a Task takes longer than expected, but it allows the Task to continue. This ensures that while the event is addressed, the process is not unnecessarily halted.

It is important to have a good understanding of the terms we use in this article.

  • Normal flow is the standard sequence of Activities in a BPMN diagram. It begins with a Start Event, progresses through a series of Tasks or Sub-Processes, and concludes with an End Event.
  • Exception flow occurs outside the normal flow of the process and is based upon an Intermediate Event attached to the boundary of an Activity.

Example 5: Normal vs. Exception flow

Optionality in Boundary Events

Boundary Events are optional in the sense that they may or may not be triggered depending on whether the specified condition or event actually occurs during the execution of the activity. For example, if a Boundary Event is set to react to a time limit, it will only trigger if that time limit is exceeded. If the condition isn’t met, the Boundary Event remains inactive, and the process proceeds as if the Boundary Event wasn’t there.

This optionality gives process designers flexibility, allowing them to model events that may or may not happen:

  • If the Boundary Event condition (such as an Error or Timeout) is met, the Boundary Event is triggered.
  • If the condition is not met, the Boundary Event has no impact, and the Activity completes as usual.

You can attach multiple Boundary Events to a single Activity, with each one reacting to different potential scenarios (e.g., error, timeout, message receipt). Whether these Events actually interrupt the Task or Sub-Process to which they are attached, or run in parallel to the Task or Sub-Process to which they are attached, depends on their configuration as either Interrupting or Non-interrupting Boundary Events.

Notation

Every Intermediate Event is represented as a circle drawn with a double thin line.

Example 6: Intermediate Event

If we look at the details, Intermediate and Boundary Intermediate Events have distinct graphical notations that convey their behavior and role in process flows.

Intermediate Events in Normal flow

Intermediate Events can be represented as an empty circle (None Events) or with an optional marker inside. This marker can be filled or unfilled depending on whether it is a Throwing or Catching Event. The following simplified table, created based on Table 10.93 from the BPMN specification, contains all the possibilities.

Table 1: Intermediate Events in normal flow

Boundary Intermediate Events

Boundary events are attached to an activity and react to specific conditions. They are always Catching and must have a marker inside (there is no None Boundary Intermediate Event). Link and Terminate can’t be used as Boundary Intermediate Events. Non-interrupting Boundary Events use a dashed border style.

Table 2: Boundary Intermediate Events

Examples of when Boundary Events are useful

Boundary Events are especially useful in scenarios where real-life processes involve uncertainty, delays, or external triggers. Here are three examples where using Boundary Events significantly improves process handling:

1. Handling Timeouts in Customer Service: In a customer service process, a representative might be expected to resolve a customer issue within a specified timeframe. Attaching a timer boundary event to the Task ensures that if the issue isn’t resolved within the allotted time (e.g., 30 minutes), the Boundary Event triggers a notification to a manager or escalates the issue without interrupting the current work. This non-interrupting timer boundary event ensures parallel escalation.

2. Error Handling in Payment Processing: Consider a payment process where an attempt to process a payment may result in an error (e.g., insufficient funds, technical failure). An Error Boundary Event attached to the payment Task can capture the error and redirect the flow to an error-handling process. This interrupts the payment Task, stops the attempt, and ensures that an appropriate fallback (e.g., notifying the customer) takes place, providing a smooth error-handling mechanism.

3. Receiving External Triggers in Supply Chain: In a supply chain process, a manufacturing Task may continue for several hours. However, the arrival of new shipment data from a supplier may need to be processed without halting the current production activity. A Non-interrupting Message Boundary Event can be attached to the production Sub-Process to handle the external message while allowing the production process to continue. This ensures agility and responsiveness to external changes without stopping core operations.

Conclusion

Boundary Intermediate Events in BPMN provide a powerful mechanism for managing exceptions, deviations, and external triggers in process flows. By understanding the differences between Intermediate Events in normal flow and Boundary Intermediate Events, process designers can better model real-world scenarios. 

Boundary Events, especially in interrupting and non-interrupting forms, offer the flexibility to manage complex process behaviors efficiently. 

Real-life examples like customer service timeouts, error handling in payments, and external triggers in supply chains show how boundary events can improve process robustness and responsiveness.

Further Reading

What Exactly Are Activities and Events in BPMN? (eduMAX blog)

✔❌ BPMN 2.0 Quiz (Level 2, Lesson 5) 📝

Take the BPMN 2.0 Lesson 5 Quiz