Using Transform Nodes (Structured Mode)

Use structured transforms to reshape data by defining fields and types.

Overview

A Transform node in Structured mode lets you build a new object by declaring its fields, types, and values. Each field pulls from earlier steps using template expressions, and the node outputs a typed object that downstream steps can read by name.

Use structured mode when the next step expects a specific shape - a connector tool with a typed input, a subworkflow with declared inputs, or a response body with named fields. It keeps the shape explicit instead of hidden inside free-form text.

Configuration

  1. Drop a Transform node onto the canvas.
  2. In the properties panel, set the mode to Structured.
  3. Add a field for each property of the output object. For each field, set:
    • Name - the property key (for example customerEmail).
    • Type - string, number, boolean, object, or array.
    • Value - a template expression such as {{ step1.customer.email }}.
  4. For object and array types, add nested fields to describe the shape.
  5. Enable Map Over if you want to apply the same shape to every item in an input array.

Map Over Arrays

When Map Over is enabled, the transform runs once per item in the chosen source array. Inside the field values, reference {{ item }} to read the current array element. The output is a new array of objects in the shape you defined.

Configuration Reference

  • Mode - set to Structured.
  • Fields - list of name/type/value entries that describe the output object.
  • Map Over - off by default. When on, choose the source array and reference {{ item }} in field values.

Usage Examples

  • Trim a Shopify order - output orderId (string) from {{ step1.id }}, total (number) from {{ step1.total_price }}, and customerName (string) from {{ step1.customer.first_name }} {{ step1.customer.last_name }}.
  • Reshape a product list - enable Map Over on {{ step1.products }} and define fields like sku from {{ item.variant.sku }} and price from {{ item.variant.price }}.

Tips

  • Choose the correct type for each field. A number left as a string can break downstream connectors that validate input.
  • Use structured mode immediately before a Connector or Subworkflow node so the shape feeding the next step is explicit.
  • If the output is fundamentally a single string (an email body, a URL), use Plaintext mode instead.

Common Pitfalls

  • Forgetting to enable Map Over when the source is an array produces a single object referencing the whole array, not a list of items.
  • Referencing {{ item }} without Map Over resolves to nothing.
  • Deeply nested objects are hard to debug in the field editor. Build them in small pieces and check the execution log between transforms.

Related Articles

Learn More

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.