Add a Transform action when the workflow needs to create or reshape data before another action uses it.
Transform uses workflow expressions to combine values, format data, build objects or arrays, and prepare payloads for integrations. The action produces output fields that later steps can reference.
For guidance on writing expressions, see Use expressions in workflows and agent tools. For an overview of workflow actions, see Understand workflow actions. For a summary of Transform behavior, see Workflow actions reference.
Before you begin
Make sure you have:
- A workflow open in the designer with a configured Start action.
- The Experience Designer or Tenant administrator role.
- The source values you need available from workflow inputs, earlier action outputs, or state variables.
- A clear understanding of the data shape the next action expects, such as the fields required by a Run Tool.
When to use a Transform action
Use Transform when the workflow should:
- Format or combine values, such as a first and last name.
- Build an object or array for a tool or event payload.
- Rename or restructure properties from an earlier response.
- Convert data types or extract nested values.
- Prepare data for a Condition, Process List, Set State, or Send Event action.
Add a Transform action
- Open the workflow in the workflow designer.
- From the Actions palette, add a Transform action.
- Connect it to the previous action.
- Select the Transform action to open the node editor.
- Enter a clear Name.
For example: Build leave payload
- Configure the required Expression that creates or reshapes the data. Type @ to insert workflow variables, then complete the JSONata expression.
The Transform action must have an expression before the workflow can validate or publish successfully.
- Under Output fields, define the values that later actions need. Use names that are easy to reference in downstream actions.
Changes save automatically.
Example transforms
| Goal | Example expression |
| Combine text | $.inputs.firstName & ' ' & $.inputs.lastName |
| Count list items | $count($.GetTeam.members) |
| Map a list of emails | $map($.GetTeam.members, function($m) { $m.email }) |
| Build a simple object | { "employeeId": $.inputs.employeeId, "status": "ready" } |
Always test expressions with representative data.
For available operators and functions, see Expressions reference.
Define output fields
Output fields define the values that later actions can reference from the Transform.
Your field names can vary depending on what the workflow needs. Use names that clearly describe the resulting values.
| Output field | Example use |
| fullName | Combined display name |
| payload | Object prepared for a tool or event |
| itemCount | Count used by a later Condition |
For more information about accessing action outputs, see Workflow variables reference.
Next steps
- Map Transform outputs into a Run Tool action, a Condition expression, or a Send Event payload.
- Store values with a Set State action when several later steps need to reuse the result.
- Test the workflow and confirm the Transform outputs in the run details.
- Publish the workflow when you're ready.