Expressions

Expressions are evaluated by the workflow engine and the output is used at the time of execution.

You can use expressions for any input field in the workflow editor.

Arithmetic

You can use the basic arithmetic operators +, -, *, / and % (modulo) in expressions.

25 / (3 + 2)

The devision operator / will always return a floating point number. If you want to get a floored integer, use the // operator.

31 // 5

Comparison

The comparison operators ==, !=, <, <=, >, >= can be used to compare values.

5 > 3

Logical

The logical operators and, or and not can be used to combine multiple expressions.

5 > 3 and 3 > 1

Variables

You can use variables in expressions, by referring to their names.

(var1 + var2) == 5

Object properties

You can access properties of objects by using the dot or bracket notation.

object.property
object["property"]

Array items

You can access items of arrays by using the bracket notation.

array[0]

Expression helpers

Conversion functions

Convert values from one data type to another.

FunctionDescriptionExample
doubleAccepts an attribute of type string or integer and returns a double.double("5")
intAccepts an attribute of type string or double and returns an integer.int("5")
stringAccepts an attribute of type integer, double, or boolean and returns a string.string(5)

Data type functions

Operate on lists, maps, and strings.

FunctionDescriptionExample
inChecks whether a given key is present in a list or map."Foo" in ["Foo", "Bar"]
keysAccepts an attribute of type map and returns a list of key elements in the map.keys({"Foo": "Bar"})
lenAccepts an attribute of type list, map, or string and returns its length.len("Foo")

Conditional functions

Support conditions within expressions.

FunctionDescriptionExample
ifAccepts a boolean expression and returns the first value if true, else null.if(5 > 3, "Foo", "Bar")
defaultAccepts a value and returns it if it is not null, else returns the default value.default("Foo", "Bar")

Type functions

Check the type of an attribute.

FunctionDescriptionExample
get_typeAccepts an attribute and returns its type.get_type("Foo")