evaluate
An action that evaluates any data structure. The action.evaluate action evaluates any value you pass into the options.value property. It supports objects, arrays, primitives, and nested combinations of all three.
Expressions are evaluated first. Any TextLocale or TextWithFormat values in the result are then resolved to strings. The final result is stored in outputs.value and keeps the original shape.
Configuration options
Some properties are common to all actions, see Common action properties for a list and their configuration options.
title
Provide a short title for the action button. You can use text or an expression.
instanceId
Give the action a unique identifier so you can reference the output later.
value
Provide any value to evaluate. This can be an object, array, primitive, expression, or nested combination. For example:
value: =@ctx.expressions.submissionTitle
icon
Specify an icon for swipeable, secondary, and header actions. Primary actions do not support icons.
isHidden
Set to true to hide the action button.
style
Style the action button. Common options include isPrimary, isSecondary, isDanger, and isDisabled.
=@ctx.actions.instanceId.outputs.
value
Returns the fully evaluated result. Objects and arrays keep their structure. TextLocale and TextWithFormat values are resolved to strings.
Considerations
The output key is
outputs.value.The action evaluates nested expressions inside objects and arrays.
Localized text and formatted text are resolved anywhere in the result tree.
Use this action when another action needs resolved text or mixed evaluated data.
This is useful before actions like info-modal and generate-pdf.
How it works
action.evaluate takes the structure in options.value and processes it in two steps:
It evaluates every expression in the structure.
It resolves any
TextLocaleandTextWithFormatvalues in the result.
The final data is stored in:
Examples and code snippets
Evaluate a nested structure
In this example, a single action.evaluate call builds a nested result that contains localized text, datasource values, formatted dates, numbers, and arrays. The output result is then used by an info-modal. and an entity-field to show specific values that have been evaluated.

You can access the results like this:
=@ctx.actions.evaluated.outputs.value.greeting→"Hello John"=@ctx.actions.evaluated.outputs.value.items→ array from the datasource=@ctx.actions.evaluated.outputs.value.formattedDate→"Jan 8, 2020"=@ctx.actions.evaluated.outputs.value.count→42
Result shape is preserved

If you pass an object, you get an object back. If you pass an array, you get an array back. action.evaluate does not flatten or reshape the result.
Example output access:
=@ctx.actions.result.outputs.value.greeting=@ctx.actions.result.outputs.value.items=@ctx.actions.result.outputs.value.total=@ctx.actions.result.outputs.value.formattedDate
Last updated
Was this helpful?