A workflow should invoke at least one action. Action invocations are called steps and are defined in a workflow’s steps section. Every step must have a name that is unique to a workflow.


Although steps are formatted as a list, the action invocation order is not defined by the action order in the list. In reality, the action order in the list only affects how actions are displayed on the Instance Log screen. Execution order is defined by the actions’ corresponding phases.


In YAML terms, a workflow’s steps section is a list of step invocations, where each step invocation is a dictionary. Each step name is a key.

For each step, the invoked action name must be provided. The action name is either a basic step name or a macro name. An action can also accept parameters and provide outputs as a result of its execution. Both parameters and return values are dictionaries in a YAML sense. Parameter dictionary binds a parameter with a given name to a given value. Output dictionary binds a local variable with a given name to a given output.


- [step-name]:
  action: [action-name]
  phase: [phase-name]
  precedingPhases: [phase-names-list]
    [key-1]: [value-1]
    [key-2]: [value-2]
    [var-1]: [key-1]
    [var-2]: [key-2]
- ...


Name Type Constraints Default Definition
action string     Action to invoke.
phase string   “provision” Phase when the step will be executed.
precedingPhases list of strings   [ ] Phases that must be finished before the step can be executed.

Common Parameters

Name Type Constraints Default Definition
retryCount number min: 0 0 Number of times the system will try to execute the step before giving up.
ignoreFail bool   false Continue the workflow even if this step reported failure.