Warning!
You’re now reading a legacy document. The features described below are only usable within the classic generation environment. Looking for a similar document describing next-gen variables? Have a look here.
This article explains the different variables in different parts of the platform. When creating a variable you can choose from different types and the set of options for these types. The variable's type determines what kind of value would be temporarily stored/calculated in it. In this article we'll explain all settings of all different variable types.
Different kinds of variables
Below are all different kinds of variables explained, listed alphabetically. Some of them can be used as variables, some as input variables, and some as both. While regular variables are designed to create/calculate the value of a certain variable inside of an action, input variables are meant to define that when this action starts, it should get the value of the variable assigned right there. It is not calculated or predefined, but it should be given along by the ‘parent’ action/page.
Another type of variables is expression variable. They are automatically calculated by the platform whenever one of the dependent items is altered. Be aware that expression variables carry a different kind of load and need to be used with caution.
Checkbox
This variable is used as container for a checkbox value (true or false)
Variable
Kind: Checkbox
Name: Choose a name for the variable which is used in expressions, endpoints and Liquid syntax. Must be unique within the scope.
Value: Set a value for this variable. Checked means true, unchecked means false.
Input variable
Kind: Checkbox
Name: Choose a name for the variable which is used in expressions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Checkbox expression
Note: You will notice that all of the variable expressions have the 'Filter value from logs' checkbox now. That makes sure the expression gets filtered from the application logs. If you have debug logging turned on in your action, it will log all action steps and variables in the logs. If you turn on the filter value from logs, you won't be able to read its value in the eventual logs.
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Checkbox value (true or false) based on the expression entered in the Expression setting.
Variable
Kind: Checkbox
Name: Choose a name for the variable which is used in expressions, endpoints and Liquid syntax. Must be unique within the scope.
Expression: Define the expression that determines what the variable's outcome should be. Insert variables and expressions to create custom functionality. The expression is evaluated as true or false.
Collection
This variable is used as a container for a collection of records which belongs to the chosen model. The records are determined by the applied filter or expression.
Variable
Kind: Collection
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Model: Select the model to which the records must belong to.
Ids: Enter variables or values containing the Id's of the records you want to collect. This option will be deprecated somewhere in the future, we encourage using the Filter or Expression options.
Filter: Apply a filter to narrow down the results. All properties and relations are available for filtering.
Order: Select an order in which the records are collected. The results are collected on an alphanumeric order based on the chosen property.
Limit: Set a limit for the number of records in the collection. Enter a static number or use an expression for dynamic values. E.g. enter 50
and the collection will contain 50 records, maximum.
Offset: Set an offset for the records in the collection. Enter a static number or use an expression for dynamic values. E.g. enter 50
and the collection will skip 50 records.
Expression: Insert variables and expressions which act as a filter for the collected result(s). Overrules the selected model and filter(s).
Input variable
Kind: Collection
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Model: Select the model to which the records must belong to.
Ids: Enter variables or values containing the Id's of the records you want to collect. This option will be deprecated somewhere in the future, we encourage using the Filter or Expression options.
Filter: Apply a filter to narrow down the results. All properties and relations are available for filtering.
Order: Select an order in which the records are collected. The results are collected on an alphanumeric order based on the chosen property.
Limit: Set a limit for the number of records in the collection. Enter a static number or use an expression for dynamic values. E.g. enter 50
and the collection will contain 50 records, maximum.
Offset: Set an offset for the records in the collection. Enter a static number or use an expression for dynamic values. E.g. enter 50
and the collection will skip 50 records.
Expression: Insert variables and expressions which act as a filter for the collected result(s). Overrules the selected model and filter(s).
Collection (custom model)
This variable is used as a container for JSON formatted data, when the data is plural (multiple objects). When a response from a webservice or endpoint is formatted as JSON data, the custom model can be selected to capture the data in the corresponding attributes. More information about Custom models can be found here: What are custom models?
Input variable
Kind: Custom model
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Custom model: Select an existing custom model or create a new one in which the JSON data will be captured.
Configuration
This variable is used as a container for a Custom configuration. Custom configurations have the ability to contain their own value for each sandbox of your application, whereas Global variables can't. More information about global variables and how to use Custom configurations can be found here: Global variables and Custom configurations.
Variable
Kind: Configuration
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Expression: Select one of the existing configurations (of the type Custom) in your application or assign a variable.
Custom model
This variable is used as a container for JSON formatted data, when the data is singular (a single object). When a response from a webservice or endpoint is formatted as JSON data, the custom model can be selected to capture the data in the corresponding attributes. More information about Custom models can be found here: What are custom models?
Input variable
Kind: Custom model
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Custom model: Select an existing custom model or create a new one in which the JSON data will be captured.
Date
This variable is used as a container for a date value.
Variable
Kind: Date
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Value: Select a date through the datepicker for the variable or enter it manually in DD-MM-YYYY format.
Input variable
Kind: Date
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Date expression
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Date value based on the expression entered in the Expression setting.
Variable
Kind: Date expression
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Expression: Define the expression that determines what the variable's outcome should be. Insert variables and expressions to create custom functionality. The expression should have a valid date as outcome. If this is not the case, the variable will be empty.
Date time
This variable is used as a container for a date time value.
Variable
Kind: Date time
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Value: Select a date time through the datetimepicker for the variable or enter it manually in DD-MM-YYYY HH:MM format.
Input variable
Kind: Date time
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Date time expression
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Date value based on the expression entered in the Expression setting.
Variable
Kind: Date time expression
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Expression: Define the expression that determines what the variable's outcome should be. Insert variables and expressions to create custom functionality. The expression should have a valid date time as outcome. If this is not the case, the variable will be empty.
Filtered collection
This variable is used as a container for a filtered version of the collection chosen in the Collection option. The records are determined by the applied filter or expression. As the filtered collection is derived from a collection variable, its loading time is significantly faster than normal collection variables.
Variable
Kind: Filtered Collection
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Model: Select the model to which the records must belong to.Collection: Select a base collection from which the filtered collection is derived from. All settings (existing filter/expression, order, limit and offset) from the collection will be applied to the filtered collection.
Filter: Apply a filter to narrow down the results. All properties and relations from the chosen model are available for filtering.
Hash
This variable is used as a container for a JSON value. As hash is a broad term in computing, it may have different meanings from person to person. In the Betty Blocks platform, we treat hashes as data in JSON formatting, mainly consisting of keys and values. More information about hashes can be found here: Hashes | Ruby for Beginners.
Variable
Kind: Hash
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Json: Enter a static value in JSON format or insert variables and expressions for dynamic values. The expression should be evaluated as valid JSON.
Input variable
Kind: Hash
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Number
This variable is used as a container for whole numbers (that are written without fractional/decimal components), both positive and negative. Only accepts the characters 0 to 9 and - (minus).
Variable
Kind: Number
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Value: Set a value for this variable. Enter a static number.
Input variable
Kind: Number
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Number expression
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Number value based on the expression entered in the Expression setting.
Variable
Kind: Number expression
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Expression: Define the expression that determines what the variable's outcome should be. Insert variables and expressions to create custom functionality. The expression should have a valid number as outcome. If this is not the case, the variable will be empty.
Number with decimal
This variable is used as a container for numbers that may contain fractional/decimal components, both positive and negative. Only accepts the characters 0 to 9 , - (minus), . (period) and , (comma).
Variable
Kind: Number with decimal
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Value: Set a value for this variable. Enter a static number.
Scale: Set the scale for the Number with decimal value. The number entered limits the number of digits behind the delimiter. E.g. Scale set to 3 turns 10,37829 to 10,378
Input variable
Kind: Number with decimal
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Scale: Set the scale for the Number with decimal value. The number entered limits the number of digits behind the delimiter. E.g. Schaal set to 3 turns 10,37829 to 10,378
Number with decimal expression
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Number with decimal value based on the expression entered in the Expression setting.
Variable
Kind: Number with decimal expression
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Expression: Define the expression that determines what the variable's outcome should be. Insert variables and expressions to create custom functionality. The expression should have a valid number (with decimal) as outcome. If this is not the case, the variable will be empty.
Precision: Set the precision for the Number with decimal value. The number entered limits the number of digits behind the delimiter. E.g. Precision set to 3 turns 10,37829 to 10,378
Object
This variable is used as a container for a record which belongs to the chosen model. The record is determined by the applied filter or expression.
Variable
Kind: Object
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Model: Select the model to which the record must belong to.Filter: Apply a filter to narrow down the results. All properties and relations are available for filtering. When the filter yields multiple records, the first in line is selected for the variable. See Order for more info.
Order: Select an order in which the records are collected. The results are collected on an alphanumeric order based on the chosen property. Depending on the order, the record which is first in line is contained in the variable.
Expression: Insert variables and expressions which act as a filter for the collected result(s). Overrules the selected model and filter(s).
Input variable
Kind: Object
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Model: Select the model to which the record must belong to.
Filter: Apply a filter to narrow down the results. All properties and relations are available for filtering. When the filter yields multiple records, the first in line is selected for the variable. See Order for more info.
Order: Select an order in which the records are collected. The results are collected on an alphanumeric order based on the chosen property. Depending on the order, the record which is first in line is contained in the variable.
Expression: Insert variables and expressions which act as a filter for the collected result(s). Overrules the selected model and filter(s).
Regex
This variable is used as a container for regular expressions. Regexes are used to check if a value meets a specific pattern/format. Can be used in the
1boolean_match()
expression. More information about Regex can be found here: Regular Expressions.
Variable
Kind: Regex
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Regex: Enter a static value to be used as regex for checking another value's pattern/format.
Input variable
Kind: Regex
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Regex expression
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Regex value based on the expression entered in the Expression setting.
Variable
Kind: Regex expression
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Text: Set a value for this variable. Enter a static text or insert variables and expressions to create custom functionality. The expression should have a valid regex as outcome. If this is not the case, the variable will be empty.
Text
This variable is used as a container for plain text. All characters are accepted as long as they're UTF-8 encoded.
Variable
Kind: Text
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Text: Set a value for this variable. Enter a static text.
Input variable
Kind: Text
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Text expression
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Text value based on the expression entered in the Expression setting.
Variable
Kind: Text expression
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Text: Set a value for this variable. Enter a static text or insert variables and expressions to create custom functionality. The expression should have a valid text as outcome. If this is not the case, the variable will be empty.
Liquid parse: With this setting enabled, all Liquid syntax included in the Text field is processed.
Url
This variable is used as a container for a URL.
Variable
Kind: Url
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Value: Enter the url which is parsed with this variable. Requires a protocol (http or https) or the step where the variable is included will fail.
Input variable
Kind: Url
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Label: Choose a label for the variable.
Required: With this setting enabled, a value is required in this input variable. If the variable doesn't receive a value, the flow will fail.
Url expression
This variable is an expression variable, so its value is automatically calculated and can't be manually changed. It is used for generating a Url value based on the expression entered in the Expression setting.
Variable
Kind: Url expression
Name: Choose a name for the variable which is used in expressions, actions, endpoints and Liquid syntax. Must be unique within the scope.
Expression: Define the expression that determines what the variable's outcome should be. Insert variables and expressions to create custom functionality. The expression should have a valid URL as outcome. If this is not the case, the step where the variable is included will fail.