Activities represent work to be performed by a participant that require time and resources to complete. The three most common activities are tasks, subprocesses, and call activities.

Types of activities

  • task is a fundamental unit of work that cannot be broken down to a more granular level of detail.
  • subprocess, on the other hand, hides complexity: it contains its own activities, gateways, events, and (except in the case of ad hoc subprocesses) a sequence flow. Subprocesses are, by default, embedded within their superordinate, or parent, process. As a consequence, they can only be invoked by the parent process.
  • Call activities, however, are global. That is, they can be used in many different processes.

Activity Markers

Markers indicate the execution behavior of activities. These are among the most common:

Typical activity markers

  • loop activity is repeated until the condition associated with the activity is satisfied. In other words, the number of instances isn’t known in advance.
  • When a task or subprocess must repeat a known number of times, a parallel or sequential multi-instance activity is used, indicated by three vertical or horizontal lines.
  • In an ad hoc subprocess, activities are executed without a pre-defined sequence. That is, it doesn’t contain a sequence flow.

Activity Types

Activities can be further differentiated by type.

Activity types

  • Abstract (“None” type) activities don’t specify a default behavior.
  • The send task sends a message to an external participant.
  • The receive task receives a message from an external participant.
  • service task is used when an external service, such as a web service, is called to perform a task.
  • user task is completed with the assistance of information technology.
  • manual task is completed without the assistance of information technology.
  • business rule task is used to model the evaluation of a recurring decision.
  • script task is used when a task is executed locally using a process engine.