Skip to main content
Version: 1.28 (Current)

BPMN 2.0 Workflows

Concept

BPMN 2.0 workflows are a concept feature. They're still being developed and can change before they're released. They're available only when the site's license includes the Concept feature Bpmn2.

Audience: Low-code Engineers

Skill Prerequisites: Workflows, Actions, Tokens

General Description​

A BPMN 2.0 workflow is a workflow whose diagram runs on the server. What you draw is what runs: loops, paths that join anywhere, errors that take their own path, steps that wait for a timer, an event or a person, and calls to other workflows that wait with them.

Use one when a process takes time or involves people, for example the Purchase follow-up process of a purchase request: it waits until the request is ordered, chases the supplier when the delivery is late, and asks Finance to book the invoice for large amounts. A run that waits is saved, survives restarts, and continues when the timer is due, the event arrives or the task is completed.

A BPMN 2.0 workflow keeps everything a workflow has today: its name, inputs, outputs, contract and permissions. It's called the same way, through its Execute action, the Run Workflow token or the Test button.

The two engines​

Each workflow runs on one of two engines. The engine bar in the Process tab of the workflow editor shows which one.

The engine bar above a BPMN 2.0 workflow's diagram, showing the engine, the version, the wait behavior and the Export .bpmn button
Current engineBPMN 2.0 engine
How the diagram runsThe editor turns the diagram into nested actions when you save, and those actions run.The server reads the saved diagram and runs it element by element.
What you can drawActions, Splits and Merges that nest, parallel gateways, end events and comments. No loops.Everything in What runs, connected freely, with loops.
WaitingA run starts and ends within one call.A run can wait for a timer, an event, a user task or a called workflow, and continues later.
ErrorsAn action's On Error handles them.On Error still works, and an error can also take its own path on the diagram.
Which workflowsEvery existing workflow, and every new one.Workflows you upgrade, one at a time.

New workflows start on the current engine. To use the BPMN 2.0 engine, save the workflow and select Upgrade to BPMN 2.0 in the engine bar. The upgrade is one-way. See Upgrading a Workflow to BPMN 2.0.

The engine bar shows:

ItemWhat it shows
EngineCurrent engine or BPMN 2.0.
Versionv12: the workflow's version, which goes up each time you save a change to its logic. See Versions.
Wait behaviorOn a BPMN 2.0 workflow: Finishes in the call, May wait or Always waits, from its diagram as last saved. See Calling a workflow that waits.
Upgrade to BPMN 2.0On a workflow on the current engine.
Export .bpmnOn a BPMN 2.0 workflow: downloads the saved diagram as a .bpmn file. See Exporting the diagram.
Hide test pathAfter a test, while the diagram shows the path the test took.

What runs​

These elements run on the BPMN 2.0 engine. The second column is the context pad entry that adds each one. See Designing BPMN 2.0 Workflows.

ElementAdded withWhat it does
Start eventWhere the run starts. A workflow has exactly one.
Start on eventStart on Event, on the start eventStarts the workflow when an event is raised. See Events.
Service taskAdd ActionRuns one action.
User taskAdd User TaskCreates a Built-in Tasks task and waits until it's completed. See User Tasks.
Call activityAdd Call ActivityCalls another workflow, on either engine.
SubprocessAdd SubprocessGroups steps, and says what comes back from them.
Exclusive gateway (Split)Add Exclusive GatewayTakes the first path whose condition is true.
Inclusive gatewayAdd Inclusive GatewayTakes every path whose condition is true, one after another.
Parallel gatewayAdd Parallel GatewayRuns every path at the same time.
Event-based gatewayAdd Event-Based GatewayWaits for whichever of several timers and events comes first.
TimerAdd TimerWaits for a duration, or until a moment.
Wait for eventAdd Wait for EventWaits until an event is raised.
Raise eventAdd Raise Event, Add Raise Event and EndRaises an event, and goes on or ends its path.
Error eventAdd Error, on a task, user task, subprocess or call activityCatches an error the element doesn't handle and continues along its own path.
End eventsAdd End Event, Add Terminate End Event, Add Error End EventEnds the path, ends the whole run, or raises an error.
Task with no type, manual taskDoes nothing: the run passes through.
Pool and lanesAdd Pool (to divide the workflow into lanes), on the start eventDrawing only.

The editor flags anything else on the diagram, and saving refuses it with a message such as "Approve" can't run yet: the BPMN 2.0 engine doesn't run script tasks in this version. This covers script, business rule, send and receive tasks, transactions, ad-hoc and event subprocesses, complex gateways, loop and multi-instance markers on a task, timers that repeat, start events with a timer, and events on a task's border other than errors.

How a run works​

  1. A call starts the run: an Execute action, a call activity, a token, the Test button, or an event the workflow starts on. The diagram runs on the server, within the call, until every path has ended or waits.
  2. When a path reaches a wait, the run is saved with its tokens and lists, and the call ends. The caller gets the run's id and status instead of the outputs. See Timers, Events and Waiting.
  3. When the wait is over, the run continues in the background, as the user who started it, until it ends or waits again.
  4. When it ends, its outputs are evaluated once, and what it saved while waiting is deleted.

The runs that are waiting, running or failed are listed in the History tab of App Builder › Workflows.

Versions​

Each workflow has a version number, on either engine. It goes up when you save a change to the workflow's logic: its elements and flows, conditions, element settings, actions, inputs and outputs, or engine. Moving shapes, renaming elements and editing comments don't change it.

A run stays on the version it started on, to its end, even when you change and save the workflow while it waits. The History tab shows it, for example #12 · v2 · current is v3.

Limits​

These values are fixed.

LimitValue
Steps a run may take before it stops, counted again from zero each time a waiting run continues10,000
Levels of call activities calling workflows inside each other20
What a run may hold while it waits, unless the wait sets its own Max size (MB)10 MB
Size above which a waiting run is saved with a warning1 MB
How often waiting runs are checked for a due timer or an eventEvery 30 seconds
How long a raised event with a key is kept7 days
Longest event name, and longest key200 and 400 characters
How long a test run is kept after it last changed7 days
How long a run may go without a sign of life from its server before it's marked Failed5 minutes

Licensing​

WhatNeeds
BPMN 2.0 workflows, the upgrade, the History tab, and the Raise Event and Throw Error actionsThe Concept feature Bpmn2. Without it, the editor hides the engine bar and a BPMN 2.0 workflow refuses to run with This workflow runs on the BPMN 2.0 engine, which isn't enabled on this site (Concept.Bpmn2).
A run that waits, and a workflow that starts on an eventWorkflows.LongRunning, part of the Enterprise plan. A run that reaches a wait without it fails.
Parallel gatewaysParallelization, part of the Enterprise plan, as on the current engine.
User tasksThe Concept feature Tasks too. See User Tasks.

Considerations​

  • Start small. Upgrade a copy of a workflow first, run both with the same inputs, and compare the outputs.
  • What runs after a wait runs in the background. Nobody waits for a response by then. Do what the user should see before the first wait.
  • Test runs do real work. Their actions send emails, write records and call other systems, as a workflow test always has. Only user tasks behave differently in a test. See Testing and Debugging.
  • Workflows on the current engine don't change. They run, test, export and import as before.

Revised 11/12/2026