Table of contents
Official Content
  • This documentation is valid for:

The Condition Expression Language describes the syntax used to define rules in the Condition Expression field of an Exclusive condition. The language is deterministic and case-insensitive, meaning that the same input always produces the same evaluation result regardless of capitalization.

Variables

Conditions are evaluated against process variables. Variables are always referenced with a leading ampersand (&).

Examples:

  • &orderTotal
  • &ticketPriority
  • &customer_country
  • &createdAt

Logical operators

Conditions can be combined using the following logical operators: and, or, not.

Examples:

  • &isActive.IsTrue() and &hasAccess.IsTrue()
  • not &isArchived.IsTrue()

Grouping and precedence

Use parentheses to group expressions and control the order of evaluation.

Examples:

  • (&a.IsTrue() or &b.IsTrue()) and &c.IsFalse()
  • not (&status.EqualTo("Closed") or &status.EqualTo("Cancelled"))

Direct value comparisons

Conditions can compare values using the following operators: <, <=, >, >=, ==, <>.

Supported value types:

  • Strings: "High", 'Uruguay'
  • Numbers: 10, 3.5
  • Booleans: true, false
  • Other variables: &minAmount

Examples:

  • &orderTotal > 1000
  • &status == "Open"
  • &score >= &minimumScore

Functions

Most conditions are written using function calls applied directly to a variable. The general syntax is:

&variable.FunctionName(value?)

Functions without parameters

These functions evaluate the state or existence of a variable.

Supported functions:

  • Exists()
  • DoesNotExist()
  • IsEmpty()
  • IsNotEmpty()
  • IsTrue()
  • IsFalse()

Examples:

  • &email.Exists()
  • &attachments.IsNotEmpty()
  • &optionalField.DoesNotExist()

Functions with parameters

These functions compare a variable with a specified value.

Examples:

  • &orderTotal.GreaterThan(1000)
  • &orderTotal.GreaterThanOrEqualTo(500)
  • &age.LessThan(18)
  • &country.EqualTo("Uruguay")
  • &status.NotEqualTo("Closed")
  • &tags.Contains("vip")
  • &email.EndsWith("@company.com")
  • &name.StartsWith("Jo")
  • &description.MatchesRegex("^ERR-.*")
  • &createdAt.IsAfter("2024-01-01")
  • &expiresAt.IsOnOrBefore("2024-12-31")

Combining expressions

You can combine logical operators, comparisons, function calls, and grouped expressions.

Examples:

  • &priority.EqualTo("High")
  • &priority.EqualTo("High") and &attachments.IsNotEmpty()
  • (&orderTotal.GreaterThan(1000) AND &country.EqualTo("Uruguay")) OR (&priority.EqualTo("High") AND not &attachments.IsEmpty())

Considerations

  • The language does not rely on runtime AI interpretation.
  • Whitespace formatting does not affect evaluation behavior.
  • Conditions can combine direct comparisons and function-based evaluations within the same expression.
Last update: 2026 | © Globant S.A. All rights reserved.