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
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
Helper / Utility Functions
Utility helpers provide functions for working with data.
ExpressionUtil (#expr)
General-purpose helper functions for:
- Searching (e.g., Solr queries)
- Finding items (e.g., by path)
- User/group lookups
- Converting or transforming values
ListUtil (#list)
Used for working with collections (lists of objects).
Example:
#list.explodeProperty(#folder.items, 'title')
Returns a list of titles from all items in a folder.
MapUtil (#map)
Used for working with key-value structures.
Less commonly used, but useful when dealing with structured or nested data such as attributes.
Contextual Data
Available data depends on where the expression is used.
Workflows / Tasks
Typically includes:
taskitemoption- collection-related data
Events
Varies by trigger, such as:
- file, folder, or item data
- user or system context
Forms
Used in question rules for:
- visibility conditions
- default values
- validation logic
Dynamic Data Access
Expressions can also query data dynamically using helper functions:
- Search datasets
- Retrieve items or tasks
- Inject results into logic or fields
This allows expressions to go beyond the immediate context.
See Examples here: