A task is the most fundamental business process element, since it defines a unit of work.
BPMN 2.0 defines several types of tasks, which are graphically annotated with different symbols positioned on the top left corner of a task element. These define the various inherent behaviours that a task might possess.
For tasks performed by a person, BPMN distinguishes between a User task and a Manual task.
A User task represents a typical “workflow” task, executed by a person with the assistance of a “process-aware” application.
And a Manual task is performed physically.
For tasks without human interaction, BPMN defines the types: Service task, Script task, and Business Rule task.
A Script task should be used in a case when a task is executed locally, within a business process engine.
A Service task should be used when an external service is called to perform a task. This could be a web service or an automated application.
And a Business rule task represents communication with a business rules engine, inputting information and receiving output of calculations.
Finally, for tasks requiring message exchange, BPMN defines the Send and Receive task types.
A Send task is designed to send a message to an external participant. Once the message has been sent, the task is completed.
And a Receive task is designed to wait for a message to arrive from an external participant. Once the message has been received, the task is completed.
If none of the above types are suitable for a task or if a task is not specified in detail, it should be defined as an Abstract task, which has no task-type symbol.