BPMN Task Types: All 7 Types Explained

Seven task types, seven different meanings. Most people only need three. Here is how to tell them apart.

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.