Skip to content

Set Variable

"type" : "SET_VARIABLE"

The Set Variable task (SET_VARIABLE) allows you to construct shared variables at the workflow level across tasks.

These variables can be initialized, accessed, or overwritten at any point in the workflow:

  • Once initialized, the variable can be referenced in any subsequent task using "${workflow.variables.someName}" (replacing someName with the actual variable name).
  • Initialized values can be overwritten by a subsequent Set Variable task.

Task parameters

To configure the Set Variable task, set your desired variable names and their respective values in inputParameters. The values can be set in two ways:

  • Hard-coded in the workflow definition, or
  • A dynamic reference.

JSON configuration

This is the task configuration for a Set Variable task.

{
  "name": "set_variable",
  "taskReferenceName": "set_variable_ref",
  "type": "SET_VARIABLE",
  "inputParameters": {
    "variableName": "value",
    "variableName2": "${workflow.input.someKey}"
    "variableName3": 5,
  }
}

Examples

In this example workflow, a username is stored as a variable so that it can be reused in other tasks that require the username.

{
  "name": "Welcome_User_Workflow",
  "description": "Designate a user to be welcomed",
  "tasks": [
    {
      "name": "set_name",
      "taskReferenceName": "set_name_ref",
      "type": "SET_VARIABLE",
      "inputParameters": {
        "name": "${workflow.input.userName}"
      }
    },
    {
      "name": "greet_user",
      "taskReferenceName": "greet_user_ref",
      "inputParameters": {
        "var_name": "${workflow.variables.name}"
      },
      "type": "SIMPLE"
    },
    {
      "name": "send_reminder_email",
      "taskReferenceName": "send_reminder_email_ref",
      "inputParameters": {
        "var_name": "${workflow.variables.name}"
      },
      "type": "SIMPLE"
    }
  ]
}

In the example above, set_name is a Set Variable task that initializes a variable name using a workflow input reference. In subsequent tasks, the variable is later referenced using "${workflow.variables.name}".

Limitations

Here is a limitation when using the Set Variable task:

  • Variable scope—The scope of the Set Variable task is limited to its workflow. An initialized variable in one workflow will not carry over to another workflow or sub-workflow and will have to be re-initialized using another Set Variable task.