Skip to content

Parallel State

- id: a
  type: parallel
  mode: and
  - function: myfunc
    input: 'jq(.x)'
  - function: myfunc
    input: 'jq(.y)'


The parallel state is an alternative to the action state when a workflow can perform multiple threads of logic simultaneously.

Parameter Description Type Required
type Identifies which kind of StateDefinition is being used. In this case it must be set to parallel. string yes
id An identifier unique within the workflow to this one state. string yes
log If defined, the workflow will generate a log when it commences this state. See StateLogging. Structured JQ no
metadata If defined, updates the instance's metadata. See InstanceMetadata. Structured JQ no
transform If defined, modifies the instance's data upon completing the state logic. See StateTransforms. Structured JQ no
transition Identifies which state to transition to next, referring to the next state's unique id. If undefined, this state terminates the workflow. string no
catch Defines behaviour for handling of catchable errors. []ErrorCatchDefinition no
timeout ISO8601 duration string to set a non-default timeout. string no
mode If defined, must be either and or or. The default is and. This setting determines whether the state is considered successfully completed only if all threads have returned without error (and) or as soon as any single thread returns without error (or). string no
actions Defines the action to perform. []ActionDefinition yes