Much like every site on the internet, we use cookies to help analyze traffic and improve our website. As outlined in our privacy policy, any information is only used internally and is not shared with outside organizations.
Learn More

Expressions

Overview

Expressions are specially formatted text used as input for key parts of the application that need dynamic values. Unlike hard-coded or statically defined text, the value of an Expression is not determined until it is evaluated at run-time when your Process is executing. The dynamic nature of Expressions allows you to vary the actual input used by your Process without having to modify the input itself.

Syntax and Formatting

Using Expressions is easy, and the most important aspect of defining an Expression is the use of the curly brace characters { and }. Only the text inside curly braces will be evaluated to determine their dynamic value. All other text is used exactly as written.

Consider the following expression: The year is {CurrentYear}. This Expression consists of the standard text The year is followed by a reference to the System Variable {CurrentYear}. When evaluated at run-time, the value {CurrentYear} will be replaced with the value of that Variable. The end result as of the time of this writing would be The year is 2018.

Of course, you do not have to combine other text with Variables. Typically, the entire expressoin is just a reference to a Variable. Using just the expression {CurrentYear} would evaluate as 2018. Being able to combine text with your Variables, however, provides an opportunity to build the exact data you need.

If you need to use a real curly brace in your text without it being evaluated as an expression, all you have to do is repeat the character twice as {{ or }}. The expression Closing bracket characters are ], ), and }} would be evaluated as Closing bracket characters are ], ), and }.

Using Expressions

Expressions are primarily used as Arguments for an Activity Call.

Variables as Arguments Screenshot

Note: The example screenshot above is from a pre-release version of AutoBloks and may differ slightly from the current product.

The above example shows where two User-Defined Variables are being used for both input and output.

It is important to note that Output Arguments only support directly referencing a single variable and are not evaluated as full Expressions like Input Arguments. We chose to use the same formatting so that Variable references are consistent.

Expressions may also be used for Element Identification.

Variables in Property Identification Screenshot

Note: The example screenshot above is from a pre-release version of AutoBloks and may differ slightly from the current product.

The above example shows where the name of a property used for identification is based on a User-Defined Variable, and part of the corresponding value is also using a User-Defined Variable.

Examples

The following table provides some examples of using Expressions. Many of the examples use Pre-Defined Variables, but some assume User-Defined Variables are available. Refer to the Variables topic for details on browsing available Variables.

SummaryExpressionExample Result
Current date based on regional formatting{CurrentDate}7/8/2018 (for US English)
Current date in YYYY-M-D format{CurrentYear}-{CurrentMonth}-{CurrentDay}2018-1-31
Current date in YYYY-MM-DD format{CurrentYear}-{CurrentMonth2Digit}-{CurrentDay2Digit}2018-01-31
Current time based on regional formatting{CurrentTime}1:59 PM
Current time in 24-hour format{Current24Hour2Digit}:{CurrentMinute2Digit}13:59
Formatting a name as "Last, First"{LastName}, {FirstName}Smith, Jane
Full path to a sub-folder on the Windows Desktop based on the name of the current process.{SpecialFolderDesktop}\{ProcessName}C:\users\jsmith\Desktop\HelloWorld
Displaying curly braces around an expressionProcess file is {{{ProcessFileName}}}Process file is {HelloWorld.abprocess}
XPath of an element//input[@Type='{TypeName}']//input[@Type='button']
Tip!
Use the Watch Tool Window to enter any Expression and see the evaluated result.