---
title: "Message Tasks vs. Message Events — Spiff Arena 0.1 documentation"
description: "In Business Process Model and Notation (BPMN) , Message Tasks and Message Events facilitate communication between different participants in a process. Although both involve message exchanges, they serve different…"
source_url: https://spiff.works/docs/spiff-arena/reference/bpmn/message_events_vs_tasks.html
---

☰ Menu

# Message Tasks vs. Message Events[](#message-tasks-vs-message-events "Link to this heading")

In **Business Process Model and Notation (BPMN)**, **Message Tasks** and **Message Events** facilitate communication between different participants in a process. Although both involve message exchanges, they serve different purposes and are used in different contexts.

This guide explains when to use a **Message Task** versus a **Message Event**, along with examples and best practices.

## 1. Message Task[](#message-task "Link to this heading")

A **Message Task** represents a task where sending or receiving a message is the primary activity within a process.

### When to Use a Message Task[](#when-to-use-a-message-task "Link to this heading")

- **Performing an Activity:** The task itself involves sending or receiving a message.

  - Example: An employee sends a request to another department.
- **Synchronous Communication:** The process **waits for a response** before proceeding.

  - Example: A service request is sent, and the process pauses until a reply is received.
- **Part of a Sequence:** The message exchange is an essential part of the workflow.

  - Example: An order confirmation message must be sent before an item is shipped.

### Example: Message Task Usage[](#example-message-task-usage "Link to this heading")

A customer service representative sends a **refund request** to the finance department and waits for approval.

**BPMN Representation:**

- A **Message Task** labeled **“Send Refund Request”** is part of the process sequence.
- The process **cannot continue** until the request is sent and/or a response is received.

**Key Takeaway:** Use a **Message Task** when a specific task directly involves sending or receiving a message as part of process execution.

## 2. Message Event[](#message-event "Link to this heading")

A **Message Event** represents the occurrence of a message in a process but does not represent a specific task. It affects the process flow based on the message received or sent.

### When to Use a Message Event[](#when-to-use-a-message-event "Link to this heading")

- **Process Interruption:** The message **interrupts the flow** or triggers a reaction.

  - Example: A customer cancels an order, stopping the shipment process.
- **Boundary Events:** The message is attached to an activity to indicate that the process should react when the message is received.

  - Example: A process is waiting for approval via a message; if rejected, it follows a different path.
- **Intermediate Events:** The message is sent or received within a process without being an explicit task.

  - Example: A notification is sent to a supplier when an order is updated.
- **Start Events:** A **Message Start Event** starts a process in response to receiving a message from an external source.

  - Example: A service request is received, triggering the support ticket process.

### Example: Message Event Usage[](#example-message-event-usage "Link to this heading")

A **customer cancels an order** before it is processed.

**BPMN Representation:**

- A **Message Start Event** triggers the **“Cancel Order”** process upon receiving a cancellation request.
- A **Message Intermediate Event** indicates that an update notification is sent to the supplier.
- A **Message Boundary Event** attached to “Prepare Shipment” allows cancellation before shipment processing starts.

**Key Takeaway:** Use a **Message Event** when you need to indicate that a message occurrence influences the process flow but is not an activity in itself.

## 3. Summary: Message Task vs. Message Event[](#summary-message-task-vs-message-event "Link to this heading")

| Feature | **Message Task** | **Message Event** |
| --- | --- | --- |
| **Purpose** | Represents a task where sending or receiving a message is an explicit action. | Represents the occurrence of a message that affects process flow. |
| **Usage** | When the process explicitly involves sending or receiving a message as an activity. | When a message triggers, interrupts, or signals process changes. |
| **Flow Behavior** | Appears as a task in the process sequence and must be executed. | Can be a Start, Intermediate, or Boundary Event, influencing process flow. |
| **Example** | A task where an employee sends a request to another department. | A message received that cancels an ongoing process. |

Use **Message Tasks** when the **act of sending/receiving a message is part of an activity**.

Use **Message Events** when a message **affects the process flow** but is **not a discrete task**.

Understanding the distinction between **Message Tasks** and **Message Events** ensures accurate BPMN modeling of message-based interactions.
