BPMN Error Events
In short: An error event is a circle with a lightning bolt. It models a failure that the process knows how to handle: the order is cancelled, the payment is declined, the delivery fails. One element throws the error, another catches it, and the process continues on a path made for this case.
Guide: End a Task with an Error Status shows how to set up an error boundary event in Flower, step by step.
Symbols
| Symbol | Element | Meaning |
|---|---|---|
| Error end event | A sub-process ends with an error and throws it to its parent | |
| Error boundary event | Catches an error of the activity it is attached to and starts the error path | |
| Error start event | Starts an event sub-process that handles the error |
How Error Events Work in BPMN
An error travels from the inside to the outside. Inside a sub-process, an error end event says: this did not work. On the border of the sub-process, an error boundary event catches the error. The sub-process is canceled, and the token leaves over the flow of the boundary event.
Rules:
- An error boundary event is always interrupting. A step that failed cannot go on. Its border is always solid.
- There is no intermediate error event in the normal flow. An error is either thrown at an end or caught at a border.
- An error can carry an error code. A boundary event with a code catches only this error, one without a code catches all.
- An error that nobody catches ends the process.
Use an error for a business failure that belongs to the process, such as Credit check failed. Technical problems, like a system that is down, are a matter of the engine and usually do not belong in the diagram.
Error or Escalation?
| Error | Escalation | |
|---|---|---|
| Says | The step failed | The step needs help |
| The activity | Always ends | Can go on (non-interrupting) |
| Typical use | Cancelled, rejected, failed | Call the manager, missed target |
In Flower and Jira
Error boundary events are executed from Flower 3.7.0.
Flower is BPM for work done by people, so in Flower a person throws the error: by resolving the work item of a task in an error status.
| Element | Status in Flower |
|---|---|
| Error boundary event on a task | Executed |
| Error end event, error start event of an event sub-process | Can be modeled, ignored during execution |
How it works:
- You attach an error boundary event to a task and select a Jira status for it, for example Cancelled. The modeler lists the statuses of the work type of the task.
- A person resolves the work item in this status.
- Flower ends the task and takes the path of the error event instead of the normal outgoing flow.
Resolved in any other status, the process takes the normal flow. Flower checks the status when the work item is resolved, so the error status must be a done status or set a resolution.
The step-by-step guide is End a Task with an Error Status.
Common Mistakes
- An error for a normal outcome. Rejected in an approval is often a regular result. Use a gateway or a conditional event.
- A non-interrupting error. It does not exist. Use an escalation.
- An error event without a path. The boundary event needs an outgoing flow that says what happens after the failure.
- In Flower: an error event without a status. It never fires. The model validator warns about it.
Read More
- End a Task with an Error Status: the guide for Flower
- BPMN Escalation Events and BPMN Conditional Events
- BPMN Events: all event types and positions
- All BPMN symbols at a glance
Frequently Asked Questions
What is an error event in BPMN?
An event that models a failure the process can handle. An error end event throws the error, an error boundary event catches it.
Is an error boundary event interrupting?
Always. The activity it is attached to ends when the error is caught.
What is the difference between an error and an escalation in BPMN?
An error ends the activity because it failed. An escalation asks for attention and can leave the activity running.
How do I model a cancelled task in Jira with BPMN?
With Flower, attach an error boundary event to the task and select the Jira status Cancelled. When the work item is resolved in this status, the process takes the error path.