Skip to main content
A transform step reshapes data from the trigger and previous steps into a new output object. You define the output shape with output_schema and fill its fields with mapping. The result is stored under the step’s ID so later steps can reference it.

Configuration

configuration
object

Mapping

Each key in mapping is an output field; each value is a data access template expression. Pull values from the trigger payload, prior step results, or workflow variables, and apply pipes to coerce or format them:
{{steps.lookup.is_valid}}
{{payload.total_amount | int}}
{{steps.validate.amount | format_money:USD}}

Example

Build a typed result object from two earlier steps:
{
  "id": "return-result",
  "type": "transform",
  "output_schema": {
    "type": "object",
    "properties": {
      "valid": { "type": "boolean" },
      "discount_amount": { "type": "number" }
    }
  },
  "mapping": {
    "valid": "{{steps.lookup.is_valid}}",
    "discount_amount": "{{steps.validate.amount | int}}"
  },
  "next": "notify"
}
Downstream steps reference the output with {{steps.return-result.valid}}.

Sync return triggers

Transform is the step that produces the typed result a sync return trigger returns to the caller. For those workflows the transform must be the last step, set output_schema_type to the trigger’s required type, and produce an output_schema that matches it.

Next steps

  • Data access. Template syntax and available pipes for mapping
  • Trigger modes. Where transform output is consumed by sync return triggers