BPMN 2.0 element guide
Business Process Model Notation (BPMN) 2.0 uses the following element types to illustrate and create business process models:
You can associate documents to specific process model elements. See Associating documents for more information.
Note: To add an event on the modeling canvas, left click on an event from the event box and drag the event into the canvas. Left click again to place the event. Once the event is placed you can use the pop-up that shows next to the event to change the event type, edit the properties of the event, or delete the event.
Events are triggers that start, modify, or complete a process. Events are shown by circles containing other symbols based on event type. There are three types of events:
Start Event Symbol |
Intermediate Event Symbol |
End Event Symbol |
Events can be either catching or throwing.
Catching events
A catching event is any event that reacts to an external trigger. Something is started once the trigger is activated, such as:
-
A process starting
-
A process or process path continuing
-
A task processing
-
A sub-process being canceled
-
Another process being used while a task or sub-process executes
Throwing events
A throwing event is any event that the process triggers itself, such as:
-
During the process
-
At the end of the process
An activity, or task, is defined by a particular action required. Activities and tasks are shown by rectangles with rounded corners:
Task Symbol |
Subtask Symbol |
Tasks
There are several different task types, as described in the following table:
Task | Description |
---|---|
Receive | Receiving a message can be modeled as a separate task. This task type is an alternative to the catching message event, which is why the symbol for the event defined in BPMN 2.0 is an empty envelope. |
Receive (instantiated) | An instantiated task replaces the message start event, and is shown by a small event symbol in the top left corner of the symbol. |
Script | Scripts execute directly in the process engine, and must be written in a language that the process engine can interpret. |
Manual | A task executed by a user. The task can be executed by any user with access to the process. |
Service | A task that is completed by a piece of software. An example is an accounting piece of software that processes pay roll. |
User | A task executed by an assigned user. |
Send | Tasks that are executed by a web call, or some web service. Typically very technical, and not often used. |
Business rule | A task that applies a business rule. |
Sub Process versus Call Activity
A call activity is visualized as a rounded task rectangle with a thick border and is used to execute another process definition as part of the current process instance. A call activity does not share context with the process instance. Process variables are explicitly mapped between the process instance and the call activity. The main use case for the call activity is to have a reusable process definition that can be called from multiple other process definitions.
To reference a process using call activity, use the wrench icon from the sub-menu in edit mode to explicitly link to another process. You can then navigate to the linked process when viewing the process model.
A sub process is a single activity that contains activities, gateways, and events which form a process. A sub process is completely embedded inside a parent process. You can use a sub process to create a new scope for events. Events that are thrown during execution of the sub process, can be caught by Boundary events on the boundary of the sub process, creating a scope for that event limited to just the sub process. Sub-processes have the following characteristics:
-
A sub process has exactly one none start event. No other start event types are permitted. A sub process must have at least one end event.
-
Sequence flow cannot cross sub process boundaries.
-
A sub-process is visualized as a rounded rectangle with a minus box within it.
Gateways are decision points in your process that can change the path of the process based on conditions or events. They are shown as diamonds in the process model, and have several types:
Exclusive | Also referred to as an "either/or" decision, this is the most common type of decision in a business process. Exclusive gateways limit the possible outcome of a decision to a single path, and circumstances choose which one to follow. |
Event -based | Event-based gateways are similar to exclusive gateways as both involve a single path in the process flow. In the case of an event-based gateway, however, you evaluate which event has occurred, not which condition has been met. |
Parallel |
To express parallel flow in BPMN, you use a parallel gateway.
|
Inclusive | Allows for parallel execution and decision-based exclusion of following sequence flows. |
Exclusive (event based) | Event-based gateways and exclusive gateways function in a similar way. Users follow only one path of several potential outbound options. Event-based gateways are only triggered on intermediate events, and they wait for the event to occur before they trigger a decision. Event-based gateways only consider the first event that occurs. |
Complex | Complex gateways are only used for the most complex flows in the business process. They use words in place of symbols and, therefore, require more descriptive text. Use complex gateways if you need multiple gateways to describe the business flow; otherwise, you should use an exclusive or inclusive gateway. |
Inclusive (event based) | Event-based gateways and inclusive gateways function in a similar way. For inclusive gateways all outbound paths are followed, but are triggered on intermediate events. |
Flows show the order of operations within a process model. There are two types of flows depicted:
Sequence flow | Shows the order of activities to be performed. It is shown as a straight line with an arrow. It might show a conditional flow, or a default flow. |
Message flow | Depicts messages that flow across "pools," or organization boundaries such as departments. It shouldn’t connect events or activities within a pool. It is represented by a dashed line with a circle at the start and an arrow at the end. |
A pool represents major participants in a process. A different pool may be in a different company or department but still involved in the process.
Swim lanes within a pool show the activities and flow for a certain role or participant, defining who is accountable for what parts of the process.
Artifacts are additional information that developers add to bring a necessary level of detail to the diagram. There are three types of artifacts:
Data object | Shows what data is necessary for an activity. |
Groups | Helps organize tasks or processes that have related value in the overall process. Groups help to better arrange your BPMN diagram and increase its readability and value. |
Annotation | Allows you to describe the business process and flow objects in more detail. Annotations help make your BPMN more readable and further increase understanding of your process with end users. |
Use the following tools to help build and update your process models.
Hand tool | This tool enables you to drag and drop an already placed element. By default, the hand tool is activated. | |
Lasso tool | This tool allows you to click and drag across several elements and select them. | |
Space tool | This tool allows you to add or remove space to the canvas. | |
Connector tool | This tool allows you to draw different types of connections to different elements or pools. | |
Start event | This element marks the start of the process. | |
Intermediate event | This element marks a secondary or intermediate step in the process. | |
End event | This element marks the end of the process. | |
Create gateway | This element marks a point in the process that could move in different directions depending upon the action needed. | |
Task | This element marks that a task is required for the event. | |
Subtask | This element marks a subtask for an existing task in the process. | |
Data object | This element marks that a task or event might require a script or development process. | |
Storage | This element marks a storage or data event that might require access to a specific database. | |
Pool | This element allows you to create a pool that groups specific elements into a process that is part of a larger process. | |
Group | This element groups surrounded elements into a group boundary. |
Changing element sub-type
After you have added an element to the canvas, click the Wrench icon to access a sub-menu that allows you to quickly change the element's sub-type without needing to delete or remove the icon. For example, if you added a Task element to the canvas, but it needs to be changed to a Sub-task element, you can change this using the sub-menu from the Wrench icon.
Changing element color
After you have added an element to the canvas, click the Paintbrush icon to access the color palette. Select a color from the palette.
Use Process Manager to add supporting documents to your BPMN elements in a process. You can associate multiple documents to a process model element. See Upload and Link documents for information on how Process Manager manages documents.
To attach a document to a BPMN element first open the process model in edit mode and select the element. In the Element side panel click on the Add Document button. Select how you want to add the document (Attach, Upload, or Link), then select a valid document and click the Add button. You can now save your process model to exit Edit mode and select the element to confirm that the document is available.
Documents can be attached to the following element types:
-
Start, End and Intermediate events and all their sub-types, such as Message, Timer etc.
-
Gateways and all their subtypes
-
Tasks and all their subtypes, except for Sub-processes
-
Data Objects and Data Stores
-
Text Annotations
Documents cannot be attached to the following element types:
-
Flows (Sequence Flow, Default Flow, Conditional Flow, DataInputAssociation, and DataOutputAssociation etc.)
-
Pools and Lanes
-
Groups
-
Sub-Processes
Important: Documents associated to your process models can be archived and deleted. Use bulk delete or archiving of documents with caution.
Add documents to process models