Have you completed the BPMN introduction tutorial? In this second part tutorial we will discuss about the two other core BPMN elements: Activities and Gateways.
An activity, represented with a rounded-corner rectangle, describes a kind of work which must be done. It commonly includes Tasks and Subprocesses.

BPMN Tasks
A BPMN Task is essentially an activity which needs to be performed either by a human actor or automatically. Prior to BPMN 2.0 the only way to understand what type of task is was look at in the lanes in the pool, or using a text annotation to clarify the intent of the digram. BPMN 2.0 adds new icon annotations to the tasks. These icons might differ a bit depending on the BPMN software you are using, however I encourage you to use them because it brings a lot of clarity to a diagram.
Let's see all type of tasks available:
![]() |
Human task | A human task is a task that requires intervention by a human (actor). For example the user fills up a form and submit his work to the manager. |
![]() |
Manual task | A human task which is to be performed without the aid of any business process execution or any application. Example: phone call |
![]() |
Service task | Represents an automated unit of work that should be executed in this process. All work that is executed outside the process engine should be represented (in a declarative way) using a Service Task. |
![]() |
Call Activity | Represents a reusable global task or process. Call activity references a process that is external to the process definition, whereas the subprocess is embedded within the original process definition. |
![]() |
Script Task | A script task is an automatic activity. When a process execution arrives at the script task, the corresponding script is executed. |
![]() |
Send Task |
A simple task that is designed to send a message to an external participant (relative to the process). Once the message has been sent, the task is completed. |
![]() |
Receive Task | A simple task that is designed to wait for a message from an external participant (relative to the process). Once the message has been received, the task is completed. |
![]() |
Business rule task | Provides a mechanism for the process to provide input to a business rule engine and to get the output of calculations that the business rules engine might provide. In the process model it does not take any action. It just returns the rule result, which can be used by subsequent process logic in a variety of ways. |
Sub-Processes
Sub-Processes are a very handy concept in BPMN. Besides providing a natural way to draw a condensed top-down view with drill-down to any level of detail, BPMN subprocesses also determine the boundaries of when an event can be received – a change to an order in process, for example.
In terms of graphical aspect, a Sub-Process object shares the same shape as the Task object, which is a rounded rectangle. The Sub-Process can be in a collapsed view that hides its details (see picture)
A Sub-Process can be in an expanded view that shows its details within the view of the Process in which it is contained. Here is an example of Sub-Process ("OrderProduct") which is part of an Inventory system. The subprocess is used to model and hide the complexity of the refurnish subprocess and to issue an Exception if goods cannot be ordered in time.





















