Parent Previous Next

BPMN definition:

An activity is the work actually performed within a process.

Activity types are:

An Activity is a generic term for work that company performs in a Process. An Activity can be atomic or non-atomic (compound). The types of Activities that are a part of a Process Model are: Sub-Process and Task, which are rounded rectangles. Activities are used in both standard Processes and in Choreographies





User task

This task requires interactive user interaction

Manual Task

A Manual Task is a Task that is expected to be performed without the aid of any business process execution engine or any application. An example of this could be a telephone technician installing a telephone at a customer location

Service Task

A Service Task will call a function (i.e. a web service)

Receive Task

A Receive Task is a simple Task that is designed to wait for a Message to arrive from an external Participant (relative to the Process). Once the Message has been received, the Task is completed.

Send Task

A Send Task is 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

Business Rule Task

A Business Rule Task provides a mechanism for the Process to provide input to a Business Rules Engine and to get the output of calculations that the Business Rules Engine might provide.

Script Task

A Script Task is executed by a business process engine. The modeler or implementer defines a script in a language that the engine can interpret. When the Task is ready to start, the engine will execute the script. When the script is completed, the Task will also be completed

Undefined Task

A Task which is not further specified is called Abstract Task  

Activity markers available for all task types






Compensation is concerned with undoing steps that were already successfully completed, because their results and possibly side effects are no longer desired and need to be reversed. If an Activity is still active, it cannot be compensated, but rather needs to be canceled. Cancellation in turn can result in compensation of already successfully completed portions of an active Activity, in case of a Sub-Process.  


The attributes of tasks will determine if they are repeated or performed once. There are two types of loops:

  • Standard

A small looping indicator will be displayed at the bottom-center of the activity.

After each run, it will be checked, if the loop (termination) conditions are reached. The number of runs is not determined.

  • Multi-Instance


    • Parallel

Three vertical lines shown at the bottom-center of the pool indicate a parallel multiple instance.

Activities in the pool can follow a any order (can be parallel).

    • Sequential

Three horizontal lines shown at the bottom-center of the pool indicate a sequential multiple instance.
Activities in the pool need to follow a certain order (sequence).


(collapsed view)


(expanded view)

A Sub-Process consists of  activities. It can be broken into a finer level of detail. )

The Sub-Process can be in a collapsed view that hides its details  or it can be in an expanded view that shows its details within the view of the Process in which it is contained. In the collapsed form, the Sub-Process object uses a marker to distinguish it as a Sub-Process, rather than a Task.


A transaction is a Sub-Process that is supported by a special protocol that insures that all parties involved have complete agreement that the activity should be completed or cancelled. The

attributes of the activity will determine if the activity is a transaction. A double-lined

boundary indicates that the Sub-Process is a


Event Sub-Process

An Event Sub-Process is a specialized Sub-Process that is used within a Process (or Sub-Process). A Sub- Process is defined as an Event Sub-Process when its triggeredByEvent attribute is set to true.  

Ad Hoc Sub-Process

The Activities of an Ad Hoc Sub-Process are controlled by the process performers, not by sequence flows.

Call Activity

Call to a process

A Call Activity is a wrapper for a globally defined Task or Process reused in the current Process. A call to a Process is marked with a symbol

Activities available in the choreography toolbox (refer to: Choreography diagram):





Task Type


Choreography task

A Choreography Task is an atomic Activity in a Choreography. It represents a set of one or more Message exchanges. Each Choreography Task involves two Participants. The name of the Choreography Task and each of the Participants are all displayed in the different bands that make up the shape’s graphical notation. There are two or more Participant Bands and one Task Name Band.

Drag from toolbox

Choreography Sub-process

A Sub-Process is a compound Activity that is included within a Process or Choreography. It is compound in that it can be broken down into a finer level of detail (a Process or Choreography) through a set of sub-Activities.

Drag from toolbox