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:
typeidentifies which Module Task this node represents (e.g.,InputTask,SwitchTask,JSTask). Set automatically when you convert a generic Task via the replace menu.dataa 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
- Click any Task on the canvas to select it.
- The side panel opens on the right, showing a form with the Task's properties.
- Fill in or modify the property values.
- Click Save Changes at the bottom of the panel to apply your edits to the node.
- Click Save in the toolbar to persist the entire Process (including all Task data) as a new version.
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:
| Control | Description |
|---|---|
| Text field | A single-line string input for names, variables, or short values. |
| Text area | A multi-line input for longer text such as messages or prompts. |
| Dropdown | A selection from predefined options (e.g., comparator types, languages). |
| Code editor | A syntax-highlighted editor for writing code (e.g., JavaScript scripts). |
| List | A repeatable group of fields for configuring multiple items (e.g., normalization steps, switch outputs). |
| Boolean | A 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.
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
- Use consistent variable names adopt a naming convention (e.g.,
camelCase) for all Session variables to avoid mismatches. - Configure Tasks before deploying a Task with no data causes error 3001 TaskNoData at runtime.
- Test incrementally after configuring a new Task, deploy and test with the Chat panel before adding more complexity.
Related pages
- 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.