Events
Explore BPMN events, their types, symbols, and how they trigger, modify, or complete business processes.
A BPMN 2.0 boundary event is an intermediate catch event that is attached to the border of an activity. It listens for a trigger (a deadline, a message, an error, a signal, a change in data) while the activity is running, and when the trigger happens it opens a path out of that activity.
ProcessMind supports boundary events for every type listed on this page. Drag one from the Boundary Event or Boundary Non-Int. group in the BPMN Elements palette onto the border of an activity to attach it. Dragging an existing intermediate catch event onto an activity border attaches it too, and dragging it off again detaches it. Both the attachment and the interrupting setting survive a BPMN export and re-import.
Boundary events come in two forms, and the form decides what happens to the activity when the trigger arrives.
| Interrupting | Non-interrupting | |
|---|---|---|
| Drawn as | A solid double ring | A dashed double ring |
| Effect on the activity | Immediately cancelled; the work in it is abandoned | Keeps running; nothing is cancelled |
| Paths after the trigger | Only the boundary path; the activity’s normal outgoing flow is not taken | Both: the normal path continues and the boundary path runs in parallel |
| How often it can fire | Once; the activity is gone after the trigger | More than once while the activity stays active, for example on every cycle of a repeating timer |
| BPMN attribute | cancelActivity="true" | cancelActivity="false" |
An interrupting boundary event replaces the normal continuation of the activity. A non-interrupting boundary event branches off from it.
Use interrupting when the trigger makes the activity pointless or unsafe to finish: a missed deadline, a failure, a withdrawal. Use non-interrupting when the trigger calls for extra work alongside the activity, or for a reminder or notification that should not throw away the work in progress.
Both forms only make sense while the activity is active. An interrupting event that fires cancels the activity, so any other boundary events on that activity are disarmed at the same time. A non-interrupting event leaves the activity and its other boundary events in place.
One activity, several boundary events. A single activity can carry several boundary events. A common mix on an approval task is:
ProcessMind supports the types below. The interrupting group is larger, because some triggers only make sense when they stop the activity.
| Type | What it means | Typical example |
|---|---|---|
| Message | Waits for a specific message addressed to this activity. | “Wait for supplier quote” is interrupted by the message “quote withdrawn” and continues to “Source alternative supplier”. |
| Timer | A deadline: a duration, a date, or a cycle calculated from the moment the activity started. | “Approve expense” has a two-day timer; if it has not finished, the case moves to “Escalate to finance manager”. |
| Error | Catches an error thrown inside the activity and stops it. Error boundary events are always interrupting. | “Run credit check” sub-process throws “check failed”; the boundary path goes to “Request manual underwriting”. |
| Escalation | Stops the activity because a higher level needs to take over. | “Resolve incident” is escalated after the first-response target is missed and moves to “Incident commander takes over”. |
| Cancel | Catches the cancel end event of a transaction sub-process. Only valid on a transaction. | “Book travel” transaction is cancelled by the customer; the boundary path goes to “Refund payment and release reservations”. |
| Compensation (special case) | Runs the compensation handler for an activity that already completed, to undo its effect. It does not cancel work in progress. | “Charge deposit” is compensated by “Refund deposit” when the order is cancelled later in the process. |
| Conditional | Fires when a business condition becomes true while the activity is running. | “Reserve stock” is interrupted when availableStock < orderedQuantity; the case moves to “Backorder and notify customer”. |
| Signal | Catches a broadcast signal. A signal is not addressed to one activity; every matching listener can react. | “Collect missing documents” is interrupted by the company-wide signal “case withdrawn” and the case is closed. |
| Multiple | Fires when any one of several triggers occurs. | “Wait for customer reply” catches either the message “reply received” or a ten-day timer; whichever comes first cancels the wait. |
| Parallel Multiple | Fires only when all of its triggers have occurred. | “Gather release approvals” waits for both the legal approval message and the security approval message before it proceeds. |
A few rules of thumb for this group:
| Type | What it means | Typical example |
|---|---|---|
| Message | A message arrives while the activity continues; the message starts a side path. | “Draft proposal” keeps running when the message “reviewer comment received” starts “Log review comment”. |
| Timer | A reminder or periodic check; the activity is not stopped. | “Handle support ticket” has an eight-hour repeating timer that starts “Send status update” while handling continues. |
| Escalation | Raises an escalation alongside the activity without ending it. | “Resolve complaint” keeps running while the escalation “customer is strategic” starts “Notify account director”. |
| Conditional | A condition triggers a side path while the activity continues. | “Process loan application” keeps running when riskScore > 70 starts “Flag for audit review”. |
| Signal | A broadcast starts a side path for every listener; the activity continues. | “Run nightly batch” keeps running when the signal “market closed” starts “Snapshot interim totals”. |
| Multiple | Any one of several triggers starts a side path; the activity continues. | “Negotiate contract” stays open; either a counterparty message or a three-day timer starts “Send nudge”. |
| Parallel Multiple | All triggers together start a side path; the activity continues. | “Wait for all checks” stays active until both the message and the signal have arrived, then starts “Record readiness”. |
Non-interrupting boundary events are the tool for reminders, notifications, observation, and parallel escalation. They do not change the main flow; they add a branch next to it.
Some event types look as if they could be boundary events, but they are not:
Tips for working with them:
attachedToRef and the interrupting setting as cancelActivity. Both are restored when the file is imported again.| Start | Intermediate | End | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | Normal | Event Sub process | Event Sub process non-interrupt | Catch | Boundary | Boundary non-interrupt | Throw | |
| None | | |||||||
| Message | | | | | | | | |
| Timer | | | | | | | ||
| Conditional | | | | | | | ||
| Link | | | | |||||
| Signal | | | | | | | | |
| Error | | | | |||||
| Escalation | | | | | | | ||
| Termination | | |||||||
| Compensation | | | | | ||||
| Cancel | | | ||||||
| Multiple | | | | | | | | |
| Multiple Parallel | | | | | | | ||
Get instant access with no credit card and no waiting. Turn the way your organization works into clear, connected process designs.
Build your process architecture, define ownership and controls, and align roles and responsibilities across every level.
Start your free trial and create one reliable foundation for governing, managing, and continuously improving your processes.
We use cookies to improve your experience, personalize content, and analyze traffic. Anonymous page measurement happens without them; analytics consent adds an identifier that links your visits. By clicking "Accept All," you consent to our use of cookies.