Automation 360 offers a variety of variables, each designed to hold specific types of data and is intended for specific use. Use the topics below to learn more about each variable and how to use them.

Using variables

The following table describes how Automation 360 passes variable values between a parent and child bot when using different data types:
Data type Behavior
Number, String, Boolean, DateTime, Credential, and Datatable (Assign,Join, and Merge) You create a parent and a child bot using the following data types (Number, String, Boolean, DateTime and Credentials) and run the TaskBot. When the parent bot passes a variable to the child bot through input variables, and if you change the values of those variables in the child bot, the changes are not saved when execution returns to the parent bot. When you use these data types, the variable's actual value is passed, and any changes made to these variables in the child bot are not reflected in the parent bot.
List, Dictionary, File, Table, Window, Record, Session, Form, and Datatable (Insert or Delete row or column, Sort and Set value of a single cell) You create a parent and child bot using the following data types (List, Dictionary, File, Table, Window, Record, Session and Form) and run the TaskBot. When the parent bot passes a variable to the child bot through input variables, and if you change the values of those variables in the child bot, the changes are saved when execution returns to the parent bot. When you use these data types, the values are passed by reference, and any changes made to these variables in the child bot are reflected in the parent bot.
Example: You created a parent and child bot using the following variables:
  • VarList: Employee data (First name, last name, Date of birth)
  • VarString: Employment type (Permanent)
  • VarNumber: 100
You used the same variables in the child bot with the Use as input check box selected.
In the child bot, you updated the following values:
  • Added a new detail in the VarList variable as Employee data (Date of Joining)

  • Changed the value of the VarString variable to Employment type (Contract)
  • Changed the value of the VarNumber variable to 50
When the parent bot calls the child bot, and the execution returns to the parent bot, the List variable will show the updated values, whereas the String and Number variable values will not change:
  • VarList: Employee data (First name, Last name, Date of birth, Date of joining)
  • VarString: Employment type (Permanent)
  • VarNumber: 100
Credentials and credential variables in the Bot editor
Use credentials when building bots to pass sensitive information such as passwords and account numbers. Using credentials separates the sensitive information from the bots and Bot Runners, which reduces the risk of data spillage or unauthorized user access.
Predefined variables
Predefined (or system) variables return the specific values about the machine on which the bot is executed. Users cannot edit the values of a predefined variable.
Your variables (user-defined)
Users and some actions create user-defined variables to temporarily hold values. Use this kind of variable to input values into an action (window title, login credential, or file path) or to accept the output of an action (values read from a file or a Boolean return).
Create a variable
Global values
Global values enable users to reuse identical values between bots instead of creating new variables for each bot.
Work Item variables
You can use the Work Item variables to pass the Work Item attributes or values to the Task Bot from the Control Room when you run the bot with the option Run bot with queue.

Editing variables

You can edit the data type of an existing variable in the Bot Editor which significantly improves bot-building flexibility, reduces rework, and prevents errors when variables evolve during automation development.

Data type editing for existing variables: Users can now open a variable for editing and change its Type.
  • For List, Dictionary, and Session variables, the Subtype field is also editable.
  • The UI dynamically adjusts which fields are shown, editable, or disabled based on the new type.
Smart warnings before applying a type change: When you change a variable's type and click Apply, the system displays a confirmation message that explains the impact of the change. Warnings include the following scenarios that enable you to make an informed decision before committing the change:
  • Potential validation errors
  • Broken references in parent automations
  • Resetting of Input/Output/Constant states
  • Loss of previously saved default values
Automatic updates to all usages in the bot: After confirming the change:
  • The variable’s type is updated everywhere it's used in the bot.
  • If the new type causes mismatches, validation errors appear both in the Bot editor and in the Assistant window’s Issue Browser tab.
  • Disabled actions are excluded from validation.
Intelligently Preserves or Resets Variable Properties: Based on the new type:
  • Settings that still apply are retained.
  • Settings no longer applicable are automatically hidden or disabled.
  • Default values behave intelligently:
    • If a user enters a new default after type change → it is retained.
    • If no new default is entered → the previous default is reset based on type.
    • For Any type → default is not editable.
    • For Session type → default is hidden.
Maintains consistency across the platform: Mapped output variables will show type mismatch errors if relevant after the change. The updated type is reflected across:
  • Debug watch window
  • Search and replace window
  • Task Bot, API Task, and Process Composer

Undo functionality: Undo functionality enables you to restore the previous type, default value, and validation state.

Benefits of variable editing

  • Full control over variable evolution
  • There is no need to recreate variables,drastically reducing debugging and rework.
  • Automated warnings and validation help prevent broken bots.
  • The system ensures a safe, predictable, and transparent type-change workflow.