Summary


Expression Language is a special syntax used in Blue Relay to dynamically evaluate and manipulate data at runtime.

In the context of Workflows and Events - it utilizes Spring Expression Language (SpEL)

In the context of Form questions - it utilizes Angular Expressions.


This article will mostly cover SpEL.



It allows you to:

  • Inject values into fields
  • Access object properties
  • Query and retrieve data
  • Apply logic and conditions
  • Transform or combine values

It is commonly used across:

  • Events (triggers and actions)
  • Workflows and tasks
  • Forms (including question rules)
  • Filters and conditions

In simple terms, Expression Language lets you make the rules of an automation dynamic instead of static.


Key Concept

Expressions are evaluated when the system runs, not when they are written.

For example:

(( #file.title ))

This will resolve to the actual file title at runtime, depending on the current context.


Always Available Data

The following objects are always available regardless of context:

  • #user — the user responsible for the action
  • #company — the associated company
  • #item - the folder, file, or form that the called event/workflow was triggered on. 

These values are dynamic and change depending on how the action was triggered 


For a full list of Context Variables, see the Expression Language Index.



Basic Syntax

Most expressions must be wrapped in:

(( ... ))

This tells the system to evaluate the content as an expression instead of plain text.


Variables and Property Access

  • # is used to reference objects or variables
  • Properties are accessed using dot notation

Example:

#item.title
  • #item → object (folder, file, or form that the expression was triggered against)
  • title → property of that object



Next: