Skip to content

Transform

Builds a new object by mapping source fields (referenced with {{...}}) onto target keys. Use this when you need to reshape data between two nodes — e.g. taking a Stripe payload and producing the shape your CRM expects.

When to use

  • Renaming or restructuring fields between two systems.
  • Extracting a subset of fields from a big payload.
  • Applying a basic transformation (uppercase, lowercase, trim) while copying the value.
  • Computing derived fields (concatenation, defaults).

For more complex transformation that needs branching logic, consider AI Transform instead.

Configuration

FieldRequiredWhat it does
mappingsYesJSON array of mapping rules.

Mapping rule format

json
[
  {
    "targetKey": "customer_email",
    "sourceExpression": "{{trigger.data.customer.email}}",
    "transform": "lowercase"
  },
  {
    "targetKey": "full_name",
    "sourceExpression": "{{trigger.data.first_name}} {{trigger.data.last_name}}"
  },
  {
    "targetKey": "amount_cents",
    "sourceExpression": "{{trigger.data.amount}}"
  }
]

transform is optional. Supported: lowercase, uppercase, trim, number (coerces strings to numbers), boolean (coerces "true"/"false" strings to booleans).

What it outputs

An object built from the targetKey/result pairs:

{
  customer_email: "alice@example.com",
  full_name: "Alice Smith",
  amount_cents: 9999
}

Downstream nodes reference fields as {{<transform_node_id>.data.customer_email}} etc.

Gotchas

  • Missing source fields produce empty strings in the output, not undefined. If you need "field was missing" semantics, pair with a downstream If/Else checking exists.
  • Template concatenation is string-based — {{a.b}} {{c.d}} produces a space-separated string, not a number sum. For arithmetic, use AI Transform or Set Variable with a computed value.