The expression builder lets a workflow insert dynamic data into any string field using placeholders wrapped in double curly braces, with optional filters to shape the result. Placeholders work in action configs, field mappings, branch and trigger conditions, and sub-workflow input mappings. The guided builder helps you compose them without memorizing the syntax, and you can always type them directly.
Placeholder forms
- Trigger field:
{{trigger.field}}reads a field on the trigger record. - Related field:
{{trigger.relation.field}}follows an allowed relation to a value on a related record. - Custom object field:
{{trigger.data.<field_id>}}reads a field on a custom object entry by its field id. - Step output:
{{steps.<step_name>.output.<key>}}reuses the output of an earlier named action. - Loop item:
{{loop.item}},{{loop.item.<field>}}, and{{loop.index}}reference the current item inside a for-each. - Change set:
{{change_set.<field>}}holds a changed field, and{{change_set.<field>|from}}and{{change_set.<field>|to}}give the previous and new values on a field changed trigger. - Current time:
{{now}}is the execution time, and a relative form such as{{now -7d}}shifts it by a number of minutes, hours, days, weeks, or months.
Filter pipelines
Append a filter to a placeholder with a pipe, and chain several filters left to right. The supported filters are:
- upper, lower, title: change the letter case of text.
- default:
default:'value'supplies a fallback when the input is empty. - date:
date:'Y-m-d'formats a datetime with standard date tokens. - truncate:
truncate:100shortens text to a maximum length. - json: encodes the value as JSON.
- map:
map:'field'projects a field from each item in a collection. - take:
take:5keeps the first items of a collection. - join:
join:', 'joins a collection into a string with a separator.
Chaining an example
Filters combine naturally. For example, {{trigger.title | truncate:60 | upper}} shortens a title and upper-cases it, while {{steps.list_items.output.items | map:'title' | join:', '}} turns a collection of items into a comma separated list of titles. Because chains read left to right, order matters, so shape the data before you format it.
Where placeholders apply
Use placeholders anywhere a workflow accepts a string value: the subject and body of an email, the field mappings of a create or update action, the conditions in a branch, the values compared in a trigger condition, and the input mappings passed to a sub-workflow. To see the actions that consume these values, read Workflow Actions, and to choose the data a workflow starts from, see Workflow Triggers. For the wider context, read the Workflow Automation Overview.
Want to try dynamic workflows on your own data? Start your free 14-day trial.