BPMN stands for Business Process Modeling Notation, and it is a standard method for creating valuable business process flowcharts. This guide will only cover one portion of BPMN diagrams—to learn more, see our guides on BPMN artifacts, events, and gateways. For a general overview of BPMN, check out our BPMN tutorial.
To create BPMN diagrams easily, we recommend signing up for a free Lucidchart account. Lucidchart requires no downloads and will allow you to seamlessly collaborate and share your diagram with co-workers online.
BPMN activities are broken up by activity types (task, transaction, event sub-process, and call activities), task types, and activity markers. Read on to learn more about each variation of BPMN activity shapes.
A task is the most granular level of a process. Lucidchart supports many types of symbols that signify the various task types.
A normal task is a single action that occurs in a business process, i.e. mailing a letter.
The example below shows the process of writing a paper, and normal tasks are used to depict each of the activities.
A loop task is a task that repeats over and over again in sequence.
If you want to incorporate a loop task into the previous example, you might change the editing paper task to a loop task. This loop task signals your intention to repeatedly edit the document before submitting the final draft. To explain the conditions of the loop task, you might also add an annotation saying that you will continue to edit the paper until the teacher says the current draft will get an A.
Multiple instance task
A multiple instance task is a task that happens multiple times. These instances can happen in parallel or sequentially.
Let's say that you were able to get several friends to look over your draft and give you feedback on possible changes. You would want to make it a multiple instance task instead of a loop task. This task type indicates that you gave a draft to three different people and that all three will get back to you at the same time. This example shows multiple edits happening simultaneously, but you could easily show the multiple edits happening sequentially by changing the activity type.
A compensation task is a specialized version of a task that only happens when another specific task occurs previously. Compensation tasks are often used to show the form and timeliness of payout given for the work done in the process.
Your friends probably won't work for free, so you can add a compensation task to show that you will pay them on the condition that they edit your paper.
Compensation loop task
A compensation loop task makes compensation a recurring event. In this example, if you only had one editor, you could show that you paid them each time they edited your work.
In BPMN, sub-processes are a subset of regular task types that favor simplicity. In a typical work environment, BPMN diagrams are used to communicate processes to stakeholders and developers alike. Stakeholders generally do not want the complexity that developers require, so sub-processes allow you to collapse and expand tasks to quickly convey information to both groups.
A loop indicates that a sub-process repeats itself in sequence. It is treated similarly to a loop task when in a collapsed view.
This sub-process can run concurrently with other identical sub-processes. It is treated similarly to a multi-instance task when in a collapsed view.
A compensation sub-process is typically reserved for a group of tasks that describe some part of the compensation method, either accounts receivable or accounts payable.
An ad hoc sub-process is a group of tasks that exist for the sole purpose of completing a piece of a process. For example, an ad hoc sub-process might deal with one particular vendor who has a unique payment system.
A transaction activity is a specialized sub-process symbol that represents payment processes. All transaction activities are contained by a double line. Transactions must verify that all participants have completed their parts of the transaction before the sub-process can be completed.
Event sub-processes are used to describe events that happen within the boundary of a sub-process. Event sub-processes are triggered by a start event, and they differ from other sub-processes because they are not part of the regular flow. They’re self-contained and occur within the context of a sub-process.
There are two main types of event sub-processes: interrupting and non-interrupting. An interrupting event sub-process interrupts the normal business flow, while a non-interrupting event sub-process does not. For example, if an order on a website is canceled, the process is interrupted, and all website activity is terminated. But if the customer simply checks the shopping cart to see which items are reserved for purchase, the process is non-interrupting.
A call activity is a global process that is used whenever a certain process needs to be implemented. Whenever the call activity notation is used, control of the process is pushed to the global predefined process.
BPMN task types
BPMN task types represent executable tasks. While they are not used much in practice, they are particularly important when modeling the requirements for an engineering project.
Business rule task type
Business rules, added with BPMN 2.0, are specific types of services maintained by a business group, rather than an IT group. The rule shape is used to represent the implementation of a business rule.
Manual task type
A manual task type is used whenever an activity must be executed manually. It can be executed without any outside help or application (e.g. loading a truck with product).
Receive task type
A receive task indicates that the process is relying on an incoming message from a third party. Upon receiving a message, the task has been performed.
Script task type
Send task type
A send task sends a message to another process or lane. The task is completed once the message is sent.
Service task type
A service task is any task that uses an automated application or web service to complete the task.
User task type
The user task type indicates that the task is being performed by a person and cannot be easily broken down into simpler tasks.