# description
Serverless Workflow specification - workflow schema

# properties.annotations.description
List of helpful terms describing the workflows intended purpose, subject areas, or other important qualities

# properties.autoRetries.description
If set to true, actions should automatically be retried on unchecked errors. Default is false

# properties.constants.oneOf[].description
URI to a resource containing constants data (json or yaml)

# properties.dataInputSchema.oneOf[].description
URI of the JSON Schema used to validate the workflow data input

# properties.dataInputSchema.oneOf[].properties.failOnValidationErrors.description
Determines if workflow execution should continue if there are validation errors

# properties.dataInputSchema.oneOf[].properties.schema.description
URI of the JSON Schema used to validate the workflow data input

# 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 'workflowExecTimeout'

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

# definitions.action.properties.nonRetryableErrors.description
List of unique references to defined workflow errors for which the action should not be retried. Used only when `autoRetries` is set to `true`

# definitions.action.properties.retryRef.description
References a defined workflow retry definition. If not defined the default retry policy is assumed

# definitions.action.properties.retryableErrors.description
List of unique references to defined workflow errors for which the action should be retried. Used only when `autoRetries` is set to `false`

# definitions.action.properties.sleep.description
Defines time periods workflow execution should sleep before / after function execution

# 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.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.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.continueasdef.oneOf[].description
Unique id of the workflow to be continue execution as. Entire state data is passed as data input to next execution

# definitions.continueasdef.oneOf[].properties.data.description
If string type, an expression which selects parts of the states data output to become the workflow data input of continued execution. If object type, a custom object to become the workflow data input of the continued execution

# definitions.continueasdef.oneOf[].properties.version.description
Version of the workflow to continue execution as

# definitions.continueasdef.oneOf[].properties.workflowExecTimeout.description
Workflow execution timeout to be used by the workflow continuing execution. Overwrites any specific settings set by that workflow

# definitions.continueasdef.oneOf[].properties.workflowId.description
Unique id of the workflow to continue execution as

# 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.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.defaultCondition.description
Default transition of the workflow if there is no matching data conditions. Can include a transition or end definition

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

# definitions.defaultconditiondef.description
DefaultCondition definition. Can be either a transition or end definition

# 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.end.description
End workflow execution in case of this error.

# definitions.error.properties.errorRef.description
Reference to a unique workflow error definition. Used of errorRefs is not used

# definitions.error.properties.errorRefs.description
References one or more workflow error definitions. Used if errorRef is not used

# definitions.error.properties.transition.description
Transition to next state to handle the error.

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

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

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

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

# 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 the received event/payload (default: '${ . }')

# definitions.eventdatafilter.properties.toStateData.description
 Workflow expression that selects a state data element to which the filtered event 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.onEvents.description
Define the events to be consumed and optional actions to be performed

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

# 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.batchSize.description
Specifies how many iterations may run in parallel at the same time. Used if 'mode' property is set to 'parallel' (default)

# 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.mode.description
Specifies how iterations are to be performed (sequentially or in parallel)

# 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.functionref.oneOf[].properties.selectionSet.description
Only used if function type is 'graphql'. A string containing a valid GraphQL selection set

# 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 injection 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 or in 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.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.numCompleted.description
Used when completionType is set to 'atLeast' to specify the minimum number of branches that must complete before the state will transition.

# 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.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.sleep.properties.after.description
Amount of time (ISO 8601 duration format) to sleep after function/subflow invocation. Does not apply if 'eventRef' is defined.

# definitions.sleep.properties.before.description
Amount of time (ISO 8601 duration format) to sleep before function/subflow invocation. Does not apply if 'eventRef' is defined.

# definitions.sleepstate.description
Causes the workflow execution to sleep for a specified duration

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

# definitions.sleepstate.properties.duration.description
Duration (ISO 8601 duration format) to sleep

# definitions.sleepstate.properties.transition.description
Next transition of the workflow after the workflow sleep

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

# 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.subflowref.oneOf[].description
Unique id of the sub-workflow to be invoked

# definitions.subflowref.oneOf[].properties.version.description
Version of the sub-workflow to be invoked

# definitions.subflowref.oneOf[].properties.workflowId.description
Unique id of the sub-workflow to be invoked

# 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