Skip to main content

Task Configuration

Configure the data and behavior of every Task node directly from the editor's side panel.

When you click a Task in the BPMN Editor, a configuration panel opens on the right side of the screen. This panel displays the properties defined by the Task's Module type and lets you set the values that control what the Task does at runtime.

How it works

Each Task in the editor has two key attributes stored in the BPMN XML:

  • type identifies which Module Task this node represents (e.g., InputTask, SwitchTask, JSTask). Set automatically when you convert a generic Task via the replace menu.
  • data a JSON object containing the Task's configured properties. Updated through the side panel form.

When the Token reaches a Task during execution, the engine reads the type to determine which Module handler to invoke and passes the data as the Task's configuration.

Using the side panel

  1. Click any Task on the canvas to select it.
  2. The side panel opens on the right, showing a form with the Task's properties.
  3. Fill in or modify the property values.
  4. Click Save Changes at the bottom of the panel to apply your edits to the node.
  5. Click Save in the toolbar to persist the entire Process (including all Task data) as a new version.
tip

If the side panel shows no properties, the Task may still be a generic Task. Right-click it and use the replace menu to convert it to a specific Module Task type.

Property types

Task properties use different input controls depending on their data type:

ControlDescription
Text fieldA single-line string input for names, variables, or short values.
Text areaA multi-line input for longer text such as messages or prompts.
DropdownA selection from predefined options (e.g., comparator types, languages).
Code editorA syntax-highlighted editor for writing code (e.g., JavaScript scripts).
ListA repeatable group of fields for configuring multiple items (e.g., normalization steps, switch outputs).
BooleanA toggle for true/false settings.

Variable references

Many Task properties accept variable references names that correspond to Session variables set by previous Tasks. Variable names are case-sensitive.

For example, if an OutputTask sets a message using a variable called userName, a previous Task in the workflow must have written a value to userName in the Session data.

warning

If a referenced variable does not exist in the Session at runtime, the {placeholder} resolves to an empty string the Task does not fail, the value is simply missing. Double-check that variable names match exactly between Tasks (they are case-sensitive).

Common configuration patterns

Setting an output variable

Many Tasks write their result to a Session variable. You specify the variable in an Output or Store in Variable property, written in braces ({userName}). Downstream Tasks can then read from that variable with the same {userName} reference.

Reading an input variable

Tasks that process existing data require an Input or InputVar property pointing to a Session variable set earlier in the workflow.

Configuring gateway outputs

The SwitchTask (mapped to an Exclusive Gateway) requires you to define a list of Outputs, each with a name and comparison conditions. The output names must match the labels on the outgoing Sequence Flows from the gateway.

Best practices

  1. Use consistent variable names adopt a naming convention (e.g., camelCase) for all Session variables to avoid mismatches.
  2. Configure Tasks before deploying a Task with no data causes error 3001 TaskNoData at runtime.
  3. Test incrementally after configuring a new Task, deploy and test with the Chat panel before adding more complexity.
  • BPMN Editor editor overview and toolbar controls.
  • Elements reference for all available BPMN elements.
  • Standard Module properties for core Tasks like Input, Output, and Switch.