Service Task
An automated activity performed by software — a web service, an API call or an internal system function — with no human involvement. The engine invokes the implementation and moves on when it returns. Marked with a gear icon.
The Service Task (Service Task) is the workhorse of process automation: whenever the process needs a system to *do* something — charge a card, create a record, call an API — a service task is the element that says so.
In the BPMN 2.0 specification, the task references its implementation (for example, a web service operation). At runtime, the engine calls that implementation, optionally maps input and output data, and completes the task when the call returns. Failures are typically modeled with an Error Boundary Event attached to the task.
When to use and avoid
When to use
For system-to-system work: calling an API, updating a database record, generating a document, charging a payment.
When the step must run without waiting for a person, keeping the process moving 24/7.
When you want failures of the integration to be handled explicitly in the flow (error boundary + alternative path).
When NOT to use
When a person makes the decision or enters the data — use a User Task.
When the automated step is a small piece of logic the engine itself can run (a calculation, a data transformation) — a Script Task is lighter than a service call.
When the step's essence is *communication with another participant* — Send Task / Receive Task express that intent more precisely.
Business example
Charging a credit card during checkout

Open this example in the HEFLO process editor and explore the diagram from the inside.
Open in the HEFLO editor →Step by step
- The process starts when the customer places an order.
- The Service Task “Charge credit card” (highlighted) calls the payment gateway — no human is involved; the engine waits only for the API response.
- Update ERP records the settled payment in the back-office system, also automatically.
- The process ends with the payment settled.
In a production model you would attach an Error Boundary Event to the charge task to route declined cards to a recovery path.
Differences
Difference between a Service Task and a Script Task
Both are automatic, but the Service Task calls something *outside* the engine (a web service, an API, another system), while the Script Task runs a script *inside* the engine itself. Rule of thumb: integration → Service; small internal logic → Script.
Difference between a Service Task and a Send Task
A Send Task exists specifically to transmit a *message to another participant* (another Pool) and is tied to a message flow. A Service Task is a general-purpose system call with a request/response character. If the essence of the step is inter-participant communication, prefer Send Task.
FAQ
What happens if the service call fails?
Model it explicitly: attach an Error Boundary Event to the service task and route the failure to a compensation or retry path. Many engines also offer automatic retries before raising the error.
Is a Service Task synchronous or asynchronous?
Conceptually the task completes when the work is done. Engines implement both patterns: blocking calls for quick operations and asynchronous continuation (callbacks/queues) for long-running ones — the diagram stays the same.
Where is the service implementation defined?
In the model's technical attributes (the spec references an operation of a service interface). In practice, each tool provides its own binding — REST endpoint, connector, integration script — configured on the task.