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. Changes are saved to the Task automatically — you do not need to click a separate save button in the panel.
  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 engine raises error 4010 — ModuleInputNotInSession. Double-check that variable names match exactly between Tasks.

Common configuration patterns

Setting an output variable

Many Tasks write their result to a Session variable. You specify the variable name in an Output or OutputVar property. Downstream Tasks can then read from that variable.

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.