BPM step type reference

BPM step types are wrappers around the underlying (executable) process step types. The BPM step types have similar names to the underlying process step types. The properties of the BPM step types generally follow the names of the config properties of the process step types, but check the documentation for the BPM step types.

Reference BPM step type Description Process step type
call Call BPM step type

Make a call through a channel.

Other step types provide more specialised calls:

  • send sends worker state and data.
  • sendProcess sends a process definition.
chat Chat BPM step type

Participate in a chat conversation with a partner.

delete Chat BPM step type

Participate in a chat conversation with a partner.

download Download BPM step type

Download one or more files associated with a worker, and optionally confirm that the download has taken place.

evaluate Evaluate BPM step type

Evaluate an expression on some data and write the result to a data area or attribute.

form Form BPM step type

Show a form to the user, either updateable or read-only.

frame Frame BPM Step Type

Show a webpage in an inline frame (iframe).

getGroup Get group BPM step type

Return details, workers or sub-groups of a group.

Get group
notify Notify BPM step type

Create a notification, which is typically used to send an email.

receive Receive BPM step type

Receive data or status sent through a channel.

This is the same as the set BPM step type, but with removeRequest defaulted to true.

redirect Redirect BPM step type

A BPM step type representation of the param redirect step type.

reminder Reminder BPM step type

Set, update or run a reminder.

schedule Schedule BPM step type

Create or cancel a request to run an action in the future.

send Send BPM step type

Send status or data through a channel/connection.

sendProcess Send process BPM step type

Send a process definition to a partner, so that it can participate in a process with a worker.

This is typically picked up by a control worker that creates a new worker and instantiates it with the process.

sendProcess is inserted automatically by the process compiler.

Send process
set Set BPM step type

Set status and/or data.

This does not support user interaction (show is set to false), See User Set for set associated with user input.

setAttributes Set attributes BPM step type

Set attributes that can be accessed in a later step.

Set attributes
switch Switch BPM step type

Set the state to control the flow of execution flow. This is based on the evaluate step type.

The script defaults to "data", so you can use data to select a state, e.g. "%{data:result.nextStep}".

userSet User set BPM step type

Set data and status based on user input.


See Core BPM step types for an up-to-date list.

State and status processing

Any flows that start or end with a user task will involve the creation of a status. Settings these up in Camunda needs some care.

  • For tasks starting at a non-user task, the default status of "*" will suffice.
  • For tasks starting at a user task, you must set the status property of the flow to the appropriate button value (such as "submit").
  • For choices following a task, you must set the status of each branch to the appropriate button value (such as "accept" and "cancel").

If you want to add a name, you can set either set the status using the "reference/name" convention, e.g. set status to "accept/NDA accepted". Or you can use the flow name to set the name. If you use the flow name for a flow from a non-user task, you must set the status property of the flow to "*".