skip to content

BPMN

BPMN is the standard notation for drawing a business process precisely enough that an engine can execute it: events, activities, gateways, and pools showing who does what. Interviewers ask about it wherever workflow engines or process automation are part of the job.

part ofCompliance & governance standardsoverview, primer and where to startread it →
on this pageshow

explore

questions

30

In BPMN 2.0, how do the user, manual, service, script, business-rule, send and receive task types differ?

level: juniorimportance: must knowfreq 50%

answer

  1. who or what does the work
  2. engine-managed versus unmanaged human work
  3. rules engine in, decision out
  4. envelope fill shows direction

basics

~20 s

In BPMN 2.0 the task type says who performs the work: a user task is human work the engine tracks, a manual task is human work it does not, service, script and business-rule tasks are automated, and send and receive tasks exchange messages.

solid answer

~50 s

BPMN 2.0 types a task by who or what performs it. A **user task** is done by a person with software help and its lifecycle is managed by a task manager; a **manual task** is done without any engine or application, so the engine does not track its start or end. A **service task** calls a service, such as a web service or an automated application; a **script task** runs a script the engine itself interprets; a **business-rule task** sends inputs to a business rules engine and gets its outputs back. A **send task** sends a message to an external participant and completes once it is sent; a **receive task** waits for one and completes on arrival. In a loan approval: credit-bureau check is a service task, eligibility rules a business-rule task, underwriter review a user task, and waiting for the signed offer a receive task.

go deeper

for a junior

Recall the seven task types and who performs each: person with a system, person without, service, engine script, rules engine, and message send or receive.

for a middle

Explain the managed versus unmanaged distinction between user and manual tasks, and when a receive task instead of an event is the better fit.

for a senior

Choose task types so an executable model behaves correctly: human steps the process must wait on are user tasks, and rule decisions are business-rule tasks.

for a principal

Set typing conventions across process models so automation candidates, human workload and rules ownership can be read straight from the diagrams.

## Why task types exist A **task** in BPMN 2.0 (OMG formal/13-12-09) is an atomic activity: work that is not broken down further in the model. Every task is a rounded rectangle drawn with a single thin line. A task with no type is an **abstract task** (called the "None Task" in BPMN 1.2). The **type**, shown by a marker in the upper-left corner, tells the reader who or what performs the work, and therefore whether a person is in the loop and whether an engine can run it. ## The seven typed tasks | Task type | Performed by | What the engine does | Marker | |---|---|---|---| | User | a person, helped by software | distributes it to people and tracks its lifecycle through a task manager | human figure | | Manual | a person, no application | nothing: it is not managed or tracked by any engine | hand | | Service | a service or automated application | invokes the service (a web service by default) | service marker | | Script | the engine itself | runs a script written in a language it can interpret | script marker | | Business rule | a business rules engine | sends inputs, receives the calculated outputs | rule marker | | Send | the engine | sends a message to an external participant, then completes | filled envelope | | Receive | the engine | waits for a message from an external participant, completes on arrival | unfilled envelope | The execution semantics chapter sums up each one: a user task is distributed to the assigned person or group and completes when the work is done; a manual task is also distributed, but "is never actually executed by an IT system"; a script task invokes its script and completes when the script does; an abstract task completes as soon as it is activated. ## The distinctions interviewers probe - **User versus manual.** Both need a human. The difference is management: the specification says a user task is executed by and managed by a business process runtime, while a manual task is neither executed nor managed by one. If the engine must know when the work started and finished, it is a user task. - **Service versus script.** A service task hands the work to something outside the engine; a script task is run by the engine. A script task without a script behaves like an abstract task. - **Service versus business rule.** Both are automated, but a business-rule task is specifically a call to a **rules engine** with inputs and outputs: a decision, not an arbitrary operation. - **Send and receive versus events.** A send task and a receive task carry the same envelope markers as a throwing and a catching message event. A task can carry markers such as loop or multi-instance and has an activity lifecycle; an event cannot. A receive task can even start a process when its `instantiate` attribute is true and it has no incoming sequence flow. ## A loan-approval process, typed 1. **Receive application**: a receive task with `instantiate` set to true, so the arriving application message starts the process. 2. **Pull credit report**: a service task calling the credit bureau's service. 3. **Evaluate eligibility**: a business-rule task that sends income, debt and score to the rules engine and receives an eligibility decision. 4. **Calculate arrangement fee**: a script task, since it is a small calculation the engine can run itself. 5. **Underwriter review**: a user task, because an underwriter must judge the file and the engine must know when the review is done. 6. **Verify identity documents in the branch**: a manual task if the branch officer checks the originals in person and no system records the step; a user task if a screen captures the result. 7. **Send loan offer** and **Await signed offer**: a send task and a receive task. ## Common mistakes - Marking human work as a **manual** task when the process must wait for it: nothing tells the engine when a manual task ends. - Using a **service** task for a rules decision that the organisation maintains in a rules engine; the business-rule task says what the step is. - Treating task type as decoration. In an executable model the type decides what the engine does at run time. - Forgetting the **abstract** task exists: an untyped task is valid in a descriptive model but executes as a no-op. - Assuming every type can be defined once and reused as a global task. The specification defines global versions only of the user, manual, script and business-rule tasks.

  • In BPMN 2.0, when should a human step be a user task rather than a manual task?
    When the process needs the engine to assign, track and complete the work. A user task is managed by a task manager and completes when the performer finishes it in the system; a manual task is never executed by an IT system, so the engine cannot know when it ended.
  • In BPMN 2.0, can a receive task start a process instance?
    Yes. If its `instantiate` attribute is true and it has no incoming sequence flow, the arriving message creates the process instance, and its envelope marker is drawn like a message start event.

Task types are like job descriptions on a shift roster: the roster says whether the job goes to a person with a terminal, a person with a clipboard nobody collects, or a machine.

saying these in an interview costs you the question

  • A manual task is simply a user task done on paper, tracked the same way.
  • A script task is executed by an external service, like a service task.
  • Send and receive tasks behave exactly like message events, markers included.
  • An untyped task is invalid BPMN.
  • A business-rule task is just a service task with a different icon.
open as a page

In BPMN 2.0, how do start, intermediate and end events differ, and what makes an event catching rather than throwing?

level: juniorimportance: must knowfreq 50%

basics

~20 s

In BPMN 2.0 a start event (thin circle) only catches the trigger that creates a process instance, an end event (thick circle) only throws a result as it consumes a token, and an intermediate event (double circle) may catch or throw.

open as a page

In BPMN 2.0, how do sequence flow, message flow and association differ in notation and in meaning?

level: juniorimportance: must knowfreq 50%

basics

~20 s

In BPMN 2.0 a sequence flow (solid line, solid arrowhead) orders flow nodes inside one process and carries the token; a message flow (dashed, open circle to open arrowhead) passes a message between pools; an association (dotted) only attaches information.

open as a page

In BPMN 2.0, how do exclusive, inclusive and parallel gateways behave when they split the flow and when they join it?

level: juniorimportance: must knowfreq 50%

basics

~20 s

In BPMN 2.0 an exclusive gateway takes exactly one branch and merges without waiting; an inclusive gateway takes every branch whose condition is true and joins those still expected; a parallel gateway takes all branches and waits for all.

open as a page

In BPMN 2.0, what is the difference between a pool and a lane in a hiring process diagram?

level: juniorimportance: must knowfreq 50%

basics

~20 s

In BPMN 2.0 a pool is the graphical form of a participant, such as the employer or the candidate, and contains at most one process; a lane is a sub-partition inside that process, such as Recruiting or Hiring manager.

open as a page

In BPMN 2.0, what distinguishes an embedded sub-process, a call activity and an event sub-process, and when is each used?

level: middleimportance: must knowfreq 45%

basics

~20 s

In BPMN 2.0 an embedded sub-process is part of its parent and shares its data; a call activity (thick border) reuses a separately defined process or global task; an event sub-process (dotted border) has no sequence flow and starts on its own trigger.

open as a page

In BPMN 2.0, what is the difference between an interrupting and a non-interrupting boundary event attached to an activity?

level: middleimportance: must knowfreq 52%

basics

~20 s

In BPMN 2.0 an interrupting boundary event (solid border, cancelActivity=true) cancels the activity and sends the token down its exception flow; a non-interrupting one (dashed border, cancelActivity=false) leaves the activity running and starts an extra parallel token.

open as a page

An analyst hands developers a BPMN 2.0 expense-reimbursement diagram to automate; what does it lack that an executable model needs?

level: middleimportance: must knowfreq 40%

basics

~20 s

A BPMN 2.0 diagram usually lacks what execution needs: isExecutable set to true, formal condition expressions instead of prose, implementation details on service and user tasks, typed data with inputs, outputs and data associations, and full definitions for messages and timers.

open as a page

In a BPMN 2.0 buyer-supplier collaboration, why can't a sequence flow join the buyer's send-order task to the supplier's receiving event?

level: middleimportance: must knowfreq 45%

basics

~20 s

In BPMN 2.0 a sequence flow never crosses a pool boundary: each pool holds a separate participant's process. The order is a message flow, consumed by the supplier's message start event, receive task or message catch event.

open as a page

In a BPMN 2.0 process run by an engine, which elements make an expense-claim instance wait, and when does the instance complete?

level: juniorimportance: should knowfreq 35%

basics

~20 s

In BPMN 2.0 an instance waits at user tasks until the assignee finishes, at receive tasks and catching message events until the message arrives, and at timers until they fire. It completes when no token remains and no activity is active.

open as a page

In BPMN 2.0, how does a standard loop activity differ from a sequential or parallel multi-instance activity, and what does completionCondition do?

level: middleimportance: should knowfreq 40%

basics

~20 s

In BPMN 2.0 a standard loop repeats one activity while a condition holds; a multi-instance activity creates a count fixed up front, run in sequence or in parallel. Its completionCondition, checked as each instance completes, cancels the rest when true.

open as a page

In BPMN 2.0, when should a sub-process throw an error rather than an escalation, and how does each reach its catching event?

level: middleimportance: should knowfreq 32%

basics

~20 s

In BPMN 2.0 an error is critical: its end event terminates the sub-process's active paths and an always-interrupting boundary event catches it. An escalation is non-critical: work continues where it was thrown, and the catching boundary event may be non-interrupting.

open as a page

In BPMN 2.0, which event triggers may a top-level start event, an end event and a boundary event each use?

level: middleimportance: should knowfreq 38%

basics

~20 s

In BPMN 2.0 a top-level start event catches none, message, timer, conditional, signal, multiple or parallel multiple; an end event throws none, message, error, escalation, cancel, compensation, signal, terminate or multiple; a boundary event catches anything except none and link.

open as a page

In an executable BPMN 2.0 expense process, when do you hold claim data in a data object, a property or a data store?

level: middleimportance: should knowfreq 30%

basics

~20 s

In BPMN 2.0 a data object is visible data living as long as its process or sub-process instance; a property is hidden data on a process, activity or event, living as long as that element; a data store persists beyond the process.

open as a page

In a BPMN 2.0 interchange file, what does the process XML hold versus the BPMN DI section, and why must both travel together?

level: middleimportance: should knowfreq 30%

basics

~20 s

In BPMN 2.0 the process XML holds the model's semantics: elements, flows, data and attributes. The BPMN DI section holds only layout, shapes and edges on a plane, each pointing at a model element. Rendering needs both; execution needs only the model.

open as a page

In BPMN 2.0, how do you show a purchase-order document produced by one task and read by the next, and why not with sequence flow?

level: middleimportance: should knowfreq 30%

basics

~20 s

In BPMN 2.0 the order is a data object wired by data associations: output from the creating task, input to the checking task. Sequence flow cannot touch data objects, and no token flows along data associations.

open as a page

In BPMN 2.0, which sequence-flow and message-flow connections are illegal at start events, end events, boundary events and gateways?

level: middleimportance: should knowfreq 35%

basics

~20 s

In BPMN 2.0 no sequence flow may enter a start event or a boundary event, or leave an end event; gateways take no message flows; start events never send and end events never receive message flows.

open as a page

In BPMN 2.0, how does an event-based gateway model a claim that waits for either the claimant's documents or a 14-day timeout, whichever comes first?

level: middleimportance: should knowfreq 38%

basics

~20 s

In BPMN 2.0 an event-based gateway is followed by catching events or receive tasks, here a documents message and a 14-day timer. The token waits at the gateway; the first event to occur takes its branch and the other is withdrawn.

open as a page

In BPMN 2.0, what happens when two sequence flows enter a task directly with no gateway, and when must an explicit gateway be drawn?

level: middleimportance: should knowfreq 30%

basics

~20 s

In BPMN 2.0 several flows entering a task directly form uncontrolled flow: each arriving token starts the task on its own, like an exclusive merge. Draw an explicit parallel or inclusive gateway whenever arrivals must be synchronised.

open as a page

In a BPMN 2.0 hiring collaboration, when should the background-check agency be a black-box pool rather than a white-box pool?

level: middleimportance: should knowfreq 30%

basics

~20 s

In BPMN 2.0 a black-box pool references no process and message flows attach to its boundary; use it when the agency's internals are unknown or not yours to model. Use a white-box pool when its activities matter.

open as a page

In BPMN 2.0, why is a lane labelled 'Background-check agency' not a participant, even though it names a separate organisation?

level: middleimportance: should knowfreq 35%

basics

~20 s

In BPMN 2.0 a lane is only a partition of one process: it has no process of its own and is not a party to the collaboration. Naming it after the agency still makes the agency's work part of the employer's process.

open as a page

In BPMN 2.0, when a loan is cancelled after its arrangement fee was charged, how do compensation markers and handlers undo that completed work?

level: seniorimportance: should knowfreq 30%

basics

~20 s

In BPMN 2.0 compensation undoes activities that already completed. A handler, either a compensation activity (rewind marker) associated with the activity or a compensation event sub-process, runs only when a compensation event is thrown, in reverse order of the original flow.

open as a page

A BPMN 2.0 order process puts a non-interrupting 24-hour reminder timer on 'Await payment', and its branch rejoins the main flow before 'Ship order'; why do orders now ship twice?

level: seniorimportance: should knowfreq 28%

basics

~20 s

In BPMN 2.0 a non-interrupting boundary event adds a second token while the task keeps waiting. Merged into the main flow, that token ships the order once after the reminder and again after payment. End the reminder branch with its own end event.

open as a page

A BPMN 2.0 expense model writes its conditions in FEEL and calls a DMN policy decision, but its definitions declare no expression language; what is wrong, and how do you fix it?

level: seniorimportance: should knowfreq 25%

basics

~20 s

In BPMN 2.0 an undeclared expressionLanguage defaults to XPath, so FEEL conditions are declared as XPath and cannot be evaluated as intended. Declare the DMN FEEL URI on definitions or each formalExpression, and bind the business-rule task's implementation to the decision.

open as a page

A BPMN 2.0 task 'Review order' has a conditional flow to 'Manager approval' and a plain flow to 'Send order'; why do large orders go out unapproved?

level: seniorimportance: should knowfreq 28%

basics

~20 s

In BPMN 2.0 every unconditional flow leaving a task gets a token on completion, so 'Send order' always runs alongside approval. Marking it the default flow (slash marker) makes it fire only when no condition holds.

open as a page

A BPMN 2.0 claim model splits with an exclusive gateway into fast-track and full assessment, then rejoins them with a parallel gateway; why does every claim hang there?

level: seniorimportance: should knowfreq 35%

basics

~20 s

In BPMN 2.0 the exclusive split puts a token on only one branch, but a parallel join waits for a token on every incoming flow. The missing token never comes, so the instance deadlocks. Alternatives must merge with an exclusive gateway.

open as a page

A BPMN 2.0 hiring model is one pool with lanes Candidate, Recruiting, Hiring manager and Agency, linked by sequence flows; what does it misstate, and how would you restructure it?

level: seniorimportance: should knowfreq 28%

basics

~20 s

In BPMN 2.0 one pool is one process with one controller, so this model claims the employer sequences the candidate's and agency's actions. Restructure as a collaboration: employer pool with internal lanes, separate participant pools, message flows.

open as a page

In BPMN 2.0, how do choreography and conversation diagrams differ from a collaboration diagram of the same hiring interaction?

level: middleimportance: nice to knowfreq 18%

basics

~20 s

In BPMN 2.0 a collaboration shows participants as pools exchanging message flows; a choreography models the ordered message exchanges between them with no central controller; a conversation diagram groups related message flows into hexagons for a bird's-eye view.

open as a page

In BPMN 2.0, what does a transaction sub-process add to an ordinary sub-process, and how do its cancel and hazard outcomes differ?

level: seniorimportance: nice to knowfreq 20%

basics

~20 s

In BPMN 2.0 a transaction sub-process (double border) is controlled by a transaction protocol. It ends in success, cancel (rollback plus compensation of completed work, then a cancel boundary event) or hazard (interrupted without compensation, then an error boundary event).

open as a page

In BPMN 2.0, what exactly does a converging inclusive gateway wait for, and why is its synchronisation harder than a parallel join's?

level: seniorimportance: nice to knowfreq 25%

basics

~20 s

In BPMN 2.0 a converging inclusive gateway waits for any token that can still reach its empty inputs. A parallel join checks only its own inputs; the inclusive join must inspect paths across the whole model, so it is non-local and hard to verify.

open as a page