Skip to main content

User task

A User Task is a BPMN flow element that represents work performed by a human. It suspends process execution until a user completes the task and provides input or makes a decision.

Key characteristics

  • Requires human intervention: a User Task pauses the process instance and waits for a human to complete the work and submit a response.

  • Can have incoming and outgoing sequence flows: User Tasks connect to other flow elements via sequence flows, allowing complex workflows with conditional routing based on task outcomes.

  • Input and output parameters: User Tasks can receive data from the process and return data back to continue execution with user-provided information.

  • Assignment rules: tasks can be assigned to specific users, groups, or dynamically based on process variables and expressions.

  • Types of user task handling:

    • Simple assignment: task is assigned to a single user or group. The assigned user must claim and complete the task.

    • Pool-based assignment: task is assigned to a pool of candidates (e.g., all users in a department). Any member can claim and complete it.

    • Dynamic assignment: task assignment is determined at runtime based on process variables, expressions, or business rules.

    • Escalation: if a User Task is not completed within a specified time, it can be escalated to a manager or supervisor.

    • Delegation: the assigned user can delegate the task to another user while maintaining audit trail and original assignment context.

    • Priority-based: user asks can have priority levels (low, medium, high, critical) to help users prioritize their work queue.

Graphical notation

User task usage example

A rectangle with a person icon in the top-left corner.

XML Definition

<bpmn:userTask id="UserTask_1" name="Approve Request">
<bpmn:incoming>Flow1</bpmn:incoming>
<bpmn:outgoing>Flow2</bpmn:outgoing>
</bpmn:userTask>

Current Implementation

User task is fully supported.