Expression Language
Create calculated attributes, define conditions, and transform data using ProcessMind's expression language.
ProcessMind expressions support a variety of operators for arithmetic calculations, comparisons, and logical operations.
| Symbol | Name | Description | Example | Result |
|---|---|---|---|---|
| + | Addition | Adds two numbers or concatenates strings | 5 + 3 | 8 |
| - | Subtraction | Subtracts the second number from the first | 10 - 4 | 6 |
| * | Multiplication | Multiplies two numbers | 6 * 7 | 42 |
| / | Division | Divides the first number by the second | 15 / 3 | 5 |
| Symbol | Name | Description | Example | Result |
|---|---|---|---|---|
| == | Equal | Checks whether two values are equal | Status == "Active" | true or false |
| != | Not Equal | Checks whether two values are not equal | Status != "Deleted" | true or false |
| < | Less Than | Checks whether the first value is less than the second | Amount < 100 | true or false |
| > | Greater Than | Checks whether the first value is greater than the second | Amount > 1000 | true or false |
| <= | Less Than or Equal | Checks whether the first value is less than or equal to the second | Count <= 10 | true or false |
| >= | Greater Than or Equal | Checks whether the first value is greater than or equal to the second | Score >= 80 | true or false |
| in | In List | Checks whether a value is in a list of values | Status in ["A", "B", "C"] | true or false |
| Symbol | Name | Description | Example | Result |
|---|---|---|---|---|
| && | Logical AND | Returns true if both conditions are true | Amount > 100 && Status == "Active" | true or false |
| and | Logical AND (keyword) | Alias for &&. Returns true if both conditions are true | Amount > 100 and Status == "Active" | true or false |
| || | Logical OR | Returns true if at least one condition is true | Priority == "High" || Urgent == true | true or false |
| or | Logical OR (keyword) | Alias for ||. Returns true if at least one condition is true | Priority == "High" or Urgent == true | true or false |
| ! | Logical NOT | Negates a boolean value | !IsDeleted | true or false |
| not | Logical NOT (keyword) | Alias for !. Negates a boolean value | not IsDeleted | true or false |
Operators with higher precedence are evaluated first. Parentheses can be used to override the default precedence.
| Precedence | Category | Operators | Associativity |
|---|---|---|---|
| 1 | Logical OR | || , or | Left to right |
| 2 | Logical AND | && , and | Left to right |
| 3 | Equality | == , != | Left to right |
| 4 | Comparison | < , > , <= , >= , in | Left to right |
| 5 | Addition/Subtraction | + , - | Left to right |
| 6 | Multiplication/Division | * , / | Left to right |
| 7 | Unary | ! , not , - | Right to left |
| 8 | Function Call | () | Left to right |
| 9 | Parentheses | ( ) | — |
String concatenation with +: the + operator also concatenates strings when either operand is a string:
"Hello" + " " + "World" → "Hello World" The in operator is equivalent to multiple OR comparisons:
Status in ["Pending", "Active", "Review"]
// is the same as:
Status == "Pending" || Status == "Active" || Status == "Review" Combining conditions:
// Both conditions must be true
Amount > 1000 && Region == "Europe"
// At least one condition must be true
Priority == "High" or Escalated == true
// Negation
not IsArchived The ternary operator provides a shorthand for simple if/else logic:
Syntax:
condition ? valueIfTrue : valueIfFalse Example:
Amount > 1000 ? "High" : "Low" Equivalent to:
if(Amount > 1000, "High", "Low") Without parentheses:
2 + 3 * 4 → 14 (multiplication first)
10 > 5 && 3 < 7 → true (comparisons before AND) With parentheses:
(2 + 3) * 4 → 20 (addition first) Quoted Identifiers: If a column name contains spaces or special characters, use backticks:
`Order Amount` * 0.1
`Customer Name`
`2024 Revenue` String Escaping: Use backslash to escape special characters in strings:
"Line 1\nLine 2" // newline
"Tab\there" // tab
"Say \"Hello\"" // double quote
"Path\\to\\file" // backslash Null Values: null represents a missing value, and any comparison involving null returns null rather than true or false. Test for a missing value with the isNull() function:
if(isNull(Department), "Unknown", Department) Get instant access with no credit card and no waiting. Turn the way your organization works into clear, connected process designs.
Build your process architecture, define ownership and controls, and align roles and responsibilities across every level.
Start your free trial and create one reliable foundation for governing, managing, and continuously improving your processes.
We use cookies to improve your experience, personalize content, and analyze traffic. Anonymous page measurement happens without them; analytics consent adds an identifier that links your visits. By clicking "Accept All," you consent to our use of cookies.