What is a BPMN task?
A task is a unit of work in a BPMN diagram — the rounded rectangle. The default task (no icon) is generic. Task type markers (small icons in the top-left corner) tell you who or what performs the work.
The 7 task types
User Task
Performed by a human using a software interface. The process engine assigns the task to a user and waits for completion. Example: "Review loan application" in a banking workflow.
Service Task
Performed automatically by a system or web service. No human involvement. Example: "Calculate credit score" — an API call that returns a number.
Send Task
Sends a message to an external participant. The process continues immediately without waiting for a response. Example: "Send order confirmation email".
Receive Task
Waits for an incoming message from an external participant. The process pauses until the message arrives. Example: "Wait for payment confirmation".
Manual Task
Performed by a human without software assistance. The process engine cannot track it — it just knows it needs to happen. Example: "Physically inspect warehouse".
Script Task
Executes a script or code snippet inside the process engine. No external system call needed. Example: "Calculate total with tax" using a JavaScript expression.
Business Rule Task
Evaluates a set of business rules, typically defined in a DMN decision table. Example: "Determine discount tier" based on customer type and order amount.
Which task types do I actually need?
- -For documentation only: use generic tasks (no marker). Task types add noise when you are just mapping a process for understanding.
- -For executable processes: user tasks (human work), service tasks (system work), and send/receive tasks (messages) cover 95% of cases.
- -Script and business rule tasks are for advanced automation — use them when you have logic that runs inside the engine.
Related guides
Keep learning
Frequently asked questions
Do I need to specify task types?▼
For documentation, no — generic tasks are fine. For executable BPMN (running on a process engine), yes — the engine needs to know if a task is performed by a human (user task) or a system (service task).
What is the most common task type?▼
User task (human work with a form) and service task (automated system call). Together they cover the vast majority of executable BPMN models.
Can I change a task type later?▼
Yes. Task types are just markers — changing a generic task to a user task does not affect the flow logic. It only affects how the process engine handles that step.