BPMN tasks

Introduction

Tasks are atomic pieces of work within a business process. They are - besides the sub-processes and call activities - a graphical representation of Activities.

Tasks can accure with different types and with different markers.

All task types can be combined with all task markers.

The task types that are defined by BPMN are:

  • none
  • service
  • send
  • receive
  • receive and instantiate process
  • manual
  • user
  • business role
  • script

The Celonis Process Management legacy definition for tasks is:

definition: OTFUNC shape: STFUNC

No. JSON request / definition JSON request / shape Graphic display BPMN definition BPMN display
1 "properties": {
  "type": "func",
  "kind": "OBJ"
}
"properties": {
  "type": "func"
}
GRAPHIC-task <task>...</task>
BPMN-task
2 "properties": {
  "type": "func",
  "kind": "OBJ",
  "funcType": "service"
}

"properties": {
  "type": "func"
}
BPMN-serviceTask <serviceTask> ... </serviceTask>

GRAPHIC-serviceTask
3
"properties": {
  "type": "func",
  "kind": "OBJ",
  "funcType": "send"
}

"properties": {
  "type": "func"
}
BPMN-sendTask
<sendTask> ... </sendTask>
GRAPHIC-sendTask
4
"properties": {
  "type": "func",
  "kind": "OBJ",
  "funcType": "receive"
}

"properties": {
  "type": "func"
}
BPMN-receiveTask
<receiveTask> ... </receiveTask>

GRAPHIC-receiveTask
5
"properties": {
  "type": "func",
  "kind": "OBJ",
  "funcType": "user"
}

"properties": {
  "type": "func"
}
BPMN-userTask
<userTask> ... </userTask>

GRAPHIC-userTask
6
"properties": {
  "type": "func",
  "kind": "OBJ",
  "funcType": "manual"
}

"properties": {
  "type": "func"
}
BPMN-manualTask
<manualTask> ... </manualTask>

GRAPHIC-manualTask

The task markers, that are defined by BPMN are:

  • none
  • loop
  • parallel multiple
  • sequential multiple
  • compensation
  • compensation loop
No. JSON request / definition JSON request / shape Graphic sdisplay BPMN definition BPMN sdisplay
A "properties": {
  "type": "func",
  "kind": "OBJ"
}
"properties": {
  "type": "func"
}
GRAPHIC-task <task> ... </task>
BPMN-task
B "properties": {
  "type": "func",
  "kind": "OBJ",
  "funcMarker": "loop"
}
"properties": {
  "type": "func"
}
GRAPHIC-taskWithLoop <task> ...
<standard-
LoopCharacteristics />
... </task
BPMN-taskWithLoop
C "properties": {
  "type": "func",
  "kind": "OBJ",
  "funcMarker": "parallelMultiple"
}
"properties": {
  "type": "func"
}
GRAPHIC-taskWithParallelMultiple <task> ...
<multiInstance-
LoopCharacteristics />
... </task>
BPMN-taskWithParallelMultiple
D "properties": {
  "type": "func",
  "kind": "OBJ",
  "funcMarker": "sequentialMultiple"
}
"properties": {
  "type": "func"
}
GRAPHIC-taskWithSequentialMultiple <task> ...
<multiInstance-
LoopCharacteristics isSequential="true" />
... </task>
BPMN-taskWithSequentialMultiple
E "properties": {
  "type": "func",
  "kind": "OBJ",
  "funcMarker": "compensation"
}
"properties": {
  "type": "func"
}
GRAPHIC-taskWithCompensation <task isFor-
Compensation="true">
... </task>
BPMN-taskWithCompensation
F "properties": {
  "type": "func",
  "kind": "OBJ",
  "funcMarker": "compensationLoop"
}
"properties": {
  "type": "func"
}
GRAPHIC-taskWithLoopAndCompensation <task isFor-
Compensation="true"> ...
<standard-
LoopCharacteristics />
...</task>
BPMN-taskWithLoopAndCompensation