Categories in the Variables resource panel

The Variables resource panel organizes your variables into these categories: Undefined, Simple, Data Objects, and Schemas.

Undefined variables

Variables whose data type has yet to be set. In some situations, you might prefer to quickly add a variable and wait until later to fully define its data type. For example, while setting up a node, you realize you need a new variable to store a value: you can add a variable on the fly and start using it immediately. The new variable is considered undefined, until you set its data type, upon which it will appear under Simple, or under Data Objects.

Simple variables

Variables of type string (default), alphanumeric, digits, Boolean, integer, decimal, amount, date, time, distance, temperature, list, or dynamic entity data.

Use dynamic entity data variables to support dynamic list entities with up to 100 values.

Data objects

In Mix.dialog, data objects represent complex variables comprising multiple variables, including nested data objects. For example, the data object for a person might include the person’s name, address, phone number, date of birth, and so on, where the address is also a data object specifying street number, street name, city, and so on.

Before adding data objects you must first define their underlying schema. A data object is always based on a schema.

Complex variables can get their value from external systems, via data access nodes or external actions nodes.

If you need to send a complex variable to an external system, or if you need to set its value from within the dialog, you must first initialize its structure (not yet available for complex variables with fields that are lists).


A schema represents the structure of a data object. You can create multiple data objects, or lists of data objects, based on a common schema. Schemas can also refer to other schemas. For example, the schema for a postal address may appear in schemas that represent a user, a company, and so on.