BPMN 2.0 Message Events Explained: Types, Triggers, and Behavior

Diagram editor interface showing a timed start (“Start the task every Monday at 9:00 am.”) leading to reminder and logging steps.

Communication drives every successful process. That’s why I rely on message events in BPMN when different participants need to exchange information. In this article, I’ll show you how message events work and how you can model them correctly using BPMN 2.0. Let’s explore each event type through a practical example. I’ll walk you through it step by step.


What Is BPMN 2.0?

BPMN 2.0 stands for Business Process Model and Notation. It’s the global standard for visualizing business processes. I use it because it creates clarity. Everyone involved—whether technical or not—can understand the diagram.

BPMN 2.0 uses defined symbols for tasks, events, gateways, and flows. Each element has a specific meaning. This consistency helps me avoid confusion and ensures smooth collaboration across teams.

Learn more in Exclusive Gateways in BPMN 2.0: Clear and Simple and The Participant Perspective in BPMN (open in new tabs).


Events in BPMN 2.0

An event in BPMN shows that something happens. It can trigger a process, interrupt it, or mark its end. There are different types of events. Today, I’ll focus on message events, which model communication between people or systems.

I use message events whenever a process needs to send or receive information. This makes the communication in my diagrams crystal clear.


Modeling Message Events in BPMN

Let me show you how I apply message events using a course registration process as an example.

Scenario

A student wants to register for an online course. The university responds with a confirmation. Once the student receives it, they begin learning.


Message Start Event

Next, the student sends a registration request to the university. I use this to show that an external message triggers the process.

BPMN Symbol: Message Start Event

Cropped BPMN message event labeled **“Course Interest Declared”** with an outgoing line to the right.

Purpose: Process initiation based on an incoming message


Throwing Intermediate Message Event

Next, the student sends a registration request to the university. For this, I use a throwing intermediate message event. It marks the exact point in the process where a message is sent out.

BPMN Symbol: Throwing Intermediate Message Event

Cropped BPMN message event labeled **“Send Registration Event”** with an incoming sequence flow from the left and a **vertical dashed line** below the event.

Purpose: Actively send a message to another participant


Catching Intermediate Message Event

Now the student waits. The process pauses until a catching intermediate message event receives the confirmation. I use this to reflect real-life waiting situations within a flow.

BPMN Symbol: Catching Intermediate Message Event

Cropped BPMN message event labeled “Receive Registration Request” with an envelope icon, an incoming arrow from the top, and an outgoing arrow to the right.

Purpose: Pause until a message is received


Message End Event

Once the learning phase starts, the process ends with a message end event. This event sends out a final communication confirming that learning has begun. I use it to close the process cleanly.

BPMN Symbol: Message End Event

Cropped BPMN message event with an envelope icon and the label “Learning Started”, with an incoming arrow from the left.

Purpose: Final message before process completion


Optional: Attached Non-Interrupting Intermediate Message Event

Sometimes, a student might want to switch courses later. During the “Start Learning” task, I can attach a non-interrupting intermediate message event. It allows the task to continue while also reacting to new incoming messages.

BPMN Symbol: Attached Non-Interrupting Intermediate Message Event

Cropped BPMN **message boundary event** with a **dashed outer ring** and an envelope icon, labeled **“Course Change Request Received.”**

Purpose: React to parallel messages without stopping the current task


Optional: Attached Interrupting Intermediate Message Event

Although not in this example, I often use interrupting intermediate message events too. If the course is suddenly full, the student might get a message during the course selection. This cancels the current task. I use this to model disruptive messages that change the course of action.

BPMN Symbol: Attached Interrupting Intermediate Message Event

Cropped close-up of a BPMN **message event icon** (envelope inside a double circle) placed against thick black connector/border lines. Text not visible (cropped).

Purpose: Interrupt and cancel the current activity


Step-by-Step Modeling Guide

Even though I won’t go into tool-specific instructions here, the modeling steps follow a clear structure: Create a pool for the student and another for the university system. This separates roles and responsibilities visually.

Two empty BPMN lanes (“Student” and “University System”) highlighted as a large framed area in Camunda Modeler.

Start with a message start event labeled “Course Interest Declared.”

Camunda Modeler BPMN canvas with the message start event “Course Interest Declared” highlighted.

Add a task: “Select Course.”

Camunda Modeler BPMN canvas with the task “Select Course” highlighted by a red frame.

Insert a throwing intermediate message event labeled “Send Registration Request.” Draw a message flow to the university pool.

BPMN diagram in Camunda Modeler with the intermediate message event “Send Registration Event” highlighted in the Student lane.

In the university pool, insert a catching intermediate message event: “Receive Registration Request.”

Camunda Modeler BPMN diagram highlighting a vertical dashed message flow between “Send Registration Event” and “Receive Registration Request.”

Follow this with a task: “Process Registration.”

Camunda Modeler BPMN diagram with the task **“Process Registration”** highlighted in a red box.

Add a throwing message event labeled “Send Confirmation.”

BPMN message event “Send Confirmation” highlighted in the “University System” lane, with a vertical dashed line and upward arrow marker.

Back in the student lane, insert a catching intermediate message event called “Receive Confirmation.”

Camunda Modeler BPMN diagram with the message event “Receive Confirmation” highlighted, including a vertical dashed line and arrow.

Add a task: “Start Learning.” Close the process with a message end event named “Learning Started.”

Camunda Modeler BPMN diagram with the message event “Learning Started” highlighted in a red box.

(Optional) Attach a non-interrupting intermediate message event to “Start Learning” for parallel messages like course change requests.

Camunda Modeler BPMN collaboration with lanes “Student” and “University System,” highlighting the task “Start Learning” and the event “Course Change Request Received.”

Final Thoughts

Message events in BPMN help me design realistic and dynamic process flows. Whether it’s sending or receiving information, I use them to make communication visible and structured.

Because BPMN is a standardized language, I always stick to the official terms. This keeps my diagrams clean, consistent, and easy for others to read. It also helps future users or developers implement the process exactly as modeled. In short, when you model a message event in BPMN, you’re showing that communication matters—and you’re making it part of the process flow itself.

What’s Next?

Now that I understand how BPMN roles support better process modeling, I can move one step deeper into responsibility inside the diagram itself. In the next article, Participants in BPMN: How Pools Define Process Responsibility, I show how pools represent the main actors in a process. This helps me separate responsibilities, clarify collaboration, and make process boundaries easier to read. After that, I can also explore The Power of the Signal Event in BPMN 2.0 to understand how BPMN models broad communication without one fixed receiver. Signal events help me show when something is announced once and every listening process may react. Therefore, these next guides are the right step if I want to model who owns which part of a BPMN process and how processes communicate across boundaries.

Process and Modeling for Requirements Engeineering

When I want to understand a workflow, I need more than isolated process steps. I need to see how work starts, how it moves, and how it creates a result. That is why my main article on Processes is a useful next step. There, I show how Process Management helps me organize and improve workflows. I also explain how BPMN makes these workflows visible as clear diagrams. In addition, I show how Camunda can support practical BPMN modeling. Therefore, this guide helps me move from process understanding to better process design.

Process modeling also belongs to a broader modeling context. For that reason, I also recommend my main article on Requirements Modeling. In that guide, I connect Modeling Concepts, BPMN-based Process Modeling, and UML. As a result, I can compare different modeling approaches and choose the model that fits the situation best.


Credits: The diagrams were created with Camunda.

Scroll to Top
WordPress Cookie Plugin by Real Cookie Banner