Reshapes data from any previous step into a new structure. You define a set of named output fields, each with a value expression that can reference earlier steps. Use Transform to rename keys, combine fields, extract nested values, or prepare data in exactly the shape a later step expects.
transform
Real-world data rarely arrives in the exact shape you need. An API might return a deeply nested object
when you just need two fields at the top level. A trigger might carry first name and last name
separately when you need them combined. One step might produce a key called user_identifier
when the next step expects it as id.
The Transform node solves all of these problems. You declare a list of output fields, giving each a name and a value. The value can be a static string, a number, a direct variable reference to a previous step's field, or a combination of values built using variable syntax. The output of the Transform node is a clean object containing exactly the fields you defined.
Transform is purely a data-reshaping step โ it does not make any external calls, run any AI inference, or produce side effects. It always succeeds as long as the referenced variables exist.
The Transform node is configured through its Fields list. Each entry in the list becomes one key in the output object.
| Sub-field | Description |
|---|---|
| Name | The key name for this field in the output object. Use clear, descriptive names in snake_case (e.g. full_name, email_address, total_price). |
| Type | The data type to cast the value to: string, number, boolean, array, or object. Flusso coerces the value to this type when possible. |
| Value | The value expression for this field. Can be a static value (e.g. active), a direct variable reference (e.g. {{ api_call.output.body.user.email }}), or a template combining text and variables (e.g. Hello, {{ trigger.output.first_name }} {{ trigger.output.last_name }}). |
The Transform node produces a single object containing all the fields you defined. Each key in the output object corresponds to one entry in the Fields list.
The trigger payload delivers first_name and last_name separately. A later
step (an email notification) needs a full_name field.
An HTTP Request returns a deeply nested JSON response. You want a flat object with just the fields your Agent needs.
Your data has a key called customer_identifier but the next API call expects userId.
"142" but needs to be a number for a downstream step, set the Type to number and Flusso will coerce it automatically.