For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

Core structure
Description

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

Other options
Description

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.

Outputs
Key
Notes

=@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:

  1. It evaluates every expression in the structure.

  2. It resolves any TextLocale and TextWithFormat values 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.

Action evaluate output results
Action evaluate output results

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

Action evaluate - preserved result
Action evaluate - preserved result

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?