# description
Serverless Workflow specification - workflow schema

# properties.expressionLang.description
Identifies the expression language used for workflow expressions. Default is 'jq'

# properties.keepActive.description
If 'true', workflow instances is not terminated when there are no active execution paths. Instance can be terminated via 'terminate end definition' or reaching defined 'execTimeout'

# definitions.action.properties.eventRef.description
References a 'trigger' and 'result' reusable event definitions

# definitions.action.properties.timeout.description
Time period to wait for function execution to complete

# definitions.actiondatafilter.properties.fromStateData.description
Workflow expression that selects state data that the state action can use

# definitions.actiondatafilter.properties.results.description
Workflow expression that filters the actions data results

# definitions.actiondatafilter.properties.toStateData.description
Workflow expression that selects a state data element to which the action results should be added/merged into. If not specified, denote, the top-level state data element

# definitions.branch.properties.workflowId.description
Unique Id of a workflow to be executed in this branch

# definitions.callbackstate.description
This state performs an action, then waits for the callback event that denotes completion of the action

# definitions.callbackstate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.callbackstate.properties.eventRef.description
References an unique callback event name in the defined workflow events

# definitions.callbackstate.properties.onErrors.description
States error handling and retries definitions

# definitions.callbackstate.properties.timeout.description
Time period to wait for incoming events (ISO 8601 format)

# definitions.callbackstate.properties.transition.description
Next transition of the workflow after all the actions have been performed

# definitions.callbackstate.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.crondef.oneOf[].description
Cron expression defining when workflow instances should be created (automatically)

# definitions.crondef.oneOf[].properties.expression.description
Repeating interval (cron expression) describing when the workflow instance should be created

# definitions.crondef.oneOf[].properties.validUntil.description
Specific date and time (ISO 8601 format) when the cron expression invocation is no longer valid

# definitions.databasedswitch.description
Permits transitions to other states based on data conditions

# definitions.databasedswitch.properties.default.description
Default transition of the workflow if there is no matching data conditions. Can include a transition or end definition

# definitions.databasedswitch.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.databasedswitch.properties.dataConditions.description
Defines conditions evaluated against state data

# definitions.databasedswitch.properties.onErrors.description
States error handling and retries definitions

# definitions.databasedswitch.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.defaultdef.description
Default definition. Can be either a transition or end definition

# definitions.delaystate.description
Causes the workflow execution to delay for a specified duration

# definitions.delaystate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.delaystate.properties.onErrors.description
States error handling and retries definitions

# definitions.delaystate.properties.timeDelay.description
Amount of time (ISO 8601 format) to delay

# definitions.delaystate.properties.transition.description
Next transition of the workflow after the time delay

# definitions.delaystate.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.end.oneOf[].properties.compensate.description
If set to true, triggers workflow compensation. Default is false

# definitions.end.oneOf[].properties.terminate.description
If true, completes all execution flows in the given workflow instance

# definitions.enddatacondition.properties.condition.description
Workflow expression evaluated against state data. Must evaluate to true or false

# definitions.enddeventcondition.properties.eventRef.description
References an unique event name in the defined workflow events

# definitions.error.properties.code.description
Error code. Can be used in addition to the name to help runtimes resolve to technical errors/exceptions. Should not be defined if error is set to '*'

# definitions.error.properties.end.description
End workflow execution in case of this error. If retryRef is defined, this ends workflow only if retries were unsuccessful.

# definitions.error.properties.error.description
Domain-specific error name, or '*' to indicate all possible errors

# definitions.error.properties.retryRef.description
References a unique name of a retry definition.

# definitions.error.properties.transition.description
Transition to next state to handle the error. If retryRef is defined, this transition is taken only if retries were unsuccessful.

# definitions.eventbasedswitch.description
Permits transitions to other states based on events

# definitions.eventbasedswitch.properties.default.description
Default transition of the workflow if there is no matching data conditions. Can include a transition or end definition

# definitions.eventbasedswitch.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.eventbasedswitch.properties.eventConditions.description
Defines conditions evaluated against events

# definitions.eventbasedswitch.properties.eventTimeout.description
If eventConditions is used, defines the time period to wait for events (ISO 8601 format)

# definitions.eventbasedswitch.properties.onErrors.description
States error handling and retries definitions

# definitions.eventbasedswitch.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.eventdatafilter.properties.data.description
Workflow expression that filters of the event data (payload)

# definitions.eventdatafilter.properties.toStateData.description
 Workflow expression that selects a state data element to which the event payload should be added/merged into. If not specified, denotes, the top-level state data element.

# definitions.eventref.properties.contextAttributes.description
Add additional extension context attributes to the produced event

# definitions.eventref.properties.data.description
If string type, an expression which selects parts of the states data output to become the data (payload) of the event referenced by 'triggerEventRef'. If object type, a custom object to become the data (payload) of the event referenced by 'triggerEventRef'.

# definitions.eventref.properties.resultEventRef.description
Reference to the unique name of a 'consumed' event definition

# definitions.eventref.properties.triggerEventRef.description
Reference to the unique name of a 'produced' event definition

# definitions.eventstate.description
This state is used to wait for events from event sources, then consumes them and invoke one or more actions to run in sequence or parallel

# definitions.eventstate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.eventstate.properties.exclusive.description
If true consuming one of the defined events causes its associated actions to be performed. If false all of the defined events must be consumed in order for actions to be performed

# definitions.eventstate.properties.onErrors.description
States error handling and retries definitions

# definitions.eventstate.properties.onEvents.description
Define the events to be consumed and optional actions to be performed

# definitions.eventstate.properties.timeout.description
Time period to wait for incoming events (ISO 8601 format)

# definitions.eventstate.properties.transition.description
Next transition of the workflow after all the actions have been performed

# definitions.exectimeout.properties.duration.description
Timeout duration (ISO 8601 duration format)

# definitions.exectimeout.properties.interrupt.description
If `false`, workflow instance is allowed to finish current execution. If `true`, current workflow execution is abrupted.

# definitions.exectimeout.properties.runBefore.description
Name of a workflow state to be executed before workflow instance is terminated

# definitions.foreachstate.description
Execute a set of defined actions or workflows for each element of a data array

# definitions.foreachstate.properties.actions.description
Actions to be executed for each of the elements of inputCollection

# definitions.foreachstate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.foreachstate.properties.inputCollection.description
Workflow expression selecting an array element of the states data

# definitions.foreachstate.properties.iterationParam.description
Name of the iteration parameter that can be referenced in actions/workflow. For each parallel iteration, this param should contain an unique element of the inputCollection array

# definitions.foreachstate.properties.max.description
Specifies how upper bound on how many iterations may run in parallel

# definitions.foreachstate.properties.onErrors.description
States error handling and retries definitions

# definitions.foreachstate.properties.outputCollection.description
Workflow expression specifying an array element of the states data to add the results of each iteration

# definitions.foreachstate.properties.transition.description
Next transition of the workflow after state has completed

# definitions.foreachstate.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.foreachstate.properties.workflowId.description
Unique Id of a workflow to be executed for each of the elements of inputCollection

# definitions.injectstate.description
Inject static data into state data. Does not perform any actions

# definitions.injectstate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.injectstate.properties.data.description
JSON object which can be set as states data input and can be manipulated via filters

# definitions.injectstate.properties.transition.description
Next transition of the workflow after subflow has completed

# definitions.injectstate.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.onevents.properties.actionMode.description
Specifies how actions are to be performed (in sequence of parallel)

# definitions.onevents.properties.actions.description
Actions to be performed if expression matches

# definitions.onevents.properties.eventRefs.description
References one or more unique event names in the defined workflow events

# definitions.operationstate.description
Defines actions be performed. Does not wait for incoming events

# definitions.operationstate.properties.actionMode.description
Specifies whether actions are performed in sequence or in parallel

# definitions.operationstate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.operationstate.properties.onErrors.description
States error handling and retries definitions

# definitions.operationstate.properties.transition.description
Next transition of the workflow after all the actions have been performed

# definitions.operationstate.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.parallelstate.description
Consists of a number of states that are executed in parallel

# definitions.parallelstate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.parallelstate.properties.completionType.description
Option types on how to complete branch execution.

# definitions.parallelstate.properties.n.description
Used when completionType is set to 'n_of_m' to specify the 'N' value

# definitions.parallelstate.properties.onErrors.description
States error handling and retries definitions

# definitions.parallelstate.properties.transition.description
Next transition of the workflow after all branches have completed execution

# definitions.parallelstate.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.produceeventdef.properties.contextAttributes.description
Add additional event extension context attributes

# definitions.produceeventdef.properties.data.description
If String, expression which selects parts of the states data output to become the data of the produced event. If object a custom object to become the data of produced event.

# definitions.repeat.properties.checkBefore.description
If true, the expression is evaluated before each repeat execution, if false the expression is evaluated after each repeat execution

# definitions.repeat.properties.continueOnError.description
If true, repeats executions in a case unhandled errors propagate from the sub-workflow to this state

# definitions.repeat.properties.expression.description
Expression evaluated against SubFlow state data. SubFlow will repeat execution as long as this expression is true or until the max property count is reached

# definitions.repeat.properties.max.description
Sets the maximum amount of repeat executions

# definitions.repeat.properties.stopOnEvents.description
List referencing defined consumed workflow events. SubFlow will repeat execution until one of the defined events is consumed, or until the max property count is reached

# definitions.schedule.oneOf[].description
Time interval (must be repeating interval) described with ISO 8601 format. Declares when workflow instances will be automatically created.  (UTC timezone is assumed)

# definitions.schedule.oneOf[].properties.interval.description
Time interval (must be repeating interval) described with ISO 8601 format. Declares when workflow instances will be automatically created.

# definitions.schedule.oneOf[].properties.timezone.description
Timezone name used to evaluate the interval & cron-expression. (default: UTC)

# definitions.startdef.oneOf[].properties.schedule.description
Define the time/repeating intervals or cron at which workflow instances should be automatically started.

# definitions.statedatafilter.properties.input.description
Workflow expression to filter the state data input

# definitions.statedatafilter.properties.output.description
Workflow expression that filters the state data output

# definitions.subflowstate.properties.compensatedBy.description
Unique Name of a workflow state which is responsible for compensation of this state

# definitions.subflowstate.properties.onErrors.description
States error handling and retries definitions

# definitions.subflowstate.properties.transition.description
Next transition of the workflow after SubFlow has completed execution

# definitions.subflowstate.properties.usedForCompensation.description
If true, this state is used to compensate another state. Default is false

# definitions.subflowstate.properties.waitForCompletion.description
Workflow execution must wait for sub-workflow to finish before continuing

# definitions.transition.oneOf[].properties.compensate.description
If set to true, triggers workflow compensation when before this transition is taken. Default is false

# definitions.transition.oneOf[].properties.produceEvents.description
Array of events to be produced before the transition happens

# definitions.transitiondatacondition.properties.condition.description
Workflow expression evaluated against state data. Must evaluate to true or false

# definitions.transitiondatacondition.properties.transition.description
Workflow transition if condition is evaluated to true

# definitions.transitioneventcondition.properties.eventRef.description
References an unique event name in the defined workflow events

# definitions.transitioneventcondition.properties.transition.description
Next transition of the workflow if there is valid matches