Flow variables

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Flow variables

    Flow variables in ServiceNow enable you to create and manage variables that can be accessed and modified throughout the lifecycle of a flow. They function similarly to Workflow scratchpad variables and allow data to be stored and referenced dynamically during flow execution. Unlike subflow inputs and outputs, which are limited to the start or end of a subflow, flow variables remain accessible at any point within the flow.

    Show full answer Show less

    Creating and Using Flow Variables

    You create flow variables using the Flow Variables option found in the More Actions menu within Workflow Studio. Multiple variables can be created simultaneously by specifying their names and data types. Once created, flow variables appear as data pills in the Flow Variables section of the Data panel and can be used like other data pills in the flow.

    To assign or modify values of flow variables, use the Set Flow Variables action. This logic allows you to set one or more variables at once by specifying the variable name and its new value. Values assigned to flow variables are mutable and can be changed multiple times during flow execution; only the last assigned value is used at runtime.

    When assigning values by referencing other variables or data pills, the order of assignments is important. Variables used as references must be assigned before the variables that depend on them to avoid null values.

    Flow Execution and Visibility

    The execution details for the Set Flow Variables action provide visibility into each variable’s name, type, configuration, and runtime value. Similarly, when variables are used in other actions or flow logic, their details and current values are displayed to aid in debugging and flow management.

    Supported Data Types

    Flow variables in Workflow Studio support a variety of data types, including:

    • Date/Time
    • Decimal
    • Floating-point number
    • Integer
    • JSON
    • Reference
    • String
    • True/False (Boolean)

    Practical Benefits for ServiceNow Customers

    Using flow variables allows you to maintain and manipulate stateful data throughout a flow's execution, enabling more dynamic and flexible process automation. Because variables are mutable and accessible at any point, you can build flows that adapt based on intermediate results, improving efficiency and control in your workflows.

    Similar to Workflow scratchpad variables, create variables that you can use and modify directly in your flow. Access flow variables as data pills directly in the Data panel.

    Use flow variables to set and retrieve values throughout a flow. Flow variables are similar to subflow inputs and outputs. Both define data available to a flow or subflow. The main difference between them is when they are accessible. Flow variables are accessible throughout a flow. Inputs are only accessible at the start of a subflow, and outputs are only accessible when a subflow completes.

    Creating flow variables

    Create variables with the Flow Variables option on the More Actions menu. You can create several variables at a time by choosing a name and data type for each one. Flow variables appear as data pills in the Flow Variables section of the Data panel.

    Assigning values to flow variables

    Assign values to variables with the Set Flow Variables flow logic. Set Flow Variables has the following inputs:
    • The name of the variable.
    • The data value for the variable.

    You can assign values to all of your variables with a single use of Set Flow Variables. Unlike other data pills, the values assigned to flow variables are mutable and can be changed at any time. Using Set Flow Variables overrides the current value of the variable. If no value is assigned to a variable, the default value is null.

    Flow variable values are set in the order in which they're assigned from top to bottom. If you set the value of the same variable multiple times, the flow only uses the last value set. For example, these three variable definitions result in the variable having the runtime value of last value set.

    Table 1. Last value set defines flow variable value
    Order Variable Configuration
    1 variable first value set
    2 variable second value set
    3 variable last value set

    Variable values can reference any data pill from earlier in the flow, including other variables. If you set variable values by reference to other data pills, you must maintain the order of the variable assignments. The referenced value must always come before the variable that uses the referenced value. Changing the order may produce null values. For example, these variable definitions only produce the expected runtime values when you maintain the order of the variable definitions.

    Table 2. Setting variable values by reference
    Order Variable Configuration Runtime Value
    1 variable1 One One
    2 variable2 {variable1}, Two One, Two
    3 variable3 {variable1}, {variable2}, Three One, Two, Three

    Flow execution details

    A summary of the Set Flow Variables flow logic appears in the execution details. The details show the name, type, configuration, and runtime values for all the variables set with the action. Execution details also provide information about the variables when they're used in actions or flow logic. In that case, it shows the type, configuration, and runtime values.

    Supported data types

    Workflow Studio supports the following data types for flow variables:
    • Date/Time
    • Decimal
    • Floating-point number
    • Integer
    • JSON
    • Reference
    • String
    • True/False