UiPath Documentation
maestro
latest
false

Maestro user guide

Data Transform

Transforms data using a variety of operations. The Data Transform node and its individual operation nodes (Filter, Map, Group By) are available as separate selectable nodes in the node palette.

When to use Data Transform vs Script

Use Data Transform operations when the transformation is a field-level operation on a collection. The available operations cover:

  • Filtering
  • Mapping
  • Grouping

Use Script when the transformation requires conditional logic, arithmetic, or string manipulation, or when no dedicated operation covers the case. Both can be combined: a Data Transform operation can filter or reshape a collection, then pass the result to a Script node.

Output

All Data Transform operation nodes output their result as output, accessible downstream as $vars.<nodeName>.output.

Filter

Keeps only the entries in a collection that match your conditions.

Configuration

FieldRequiredDescription
InputYesThe collection (array) to filter. Reference as $vars.<nodeName>.output.
ConditionsYesOne or more conditions. An entry is kept only if all conditions are met.

Example

Keep only orders with a status of "completed":

  • Input: $vars.fetchOrders1.output.body
  • Condition: status equals completed

Output available as $vars.filter1.output.

Transforms each entry in a collection by modifying or reshaping its fields.

Configuration

FieldRequiredDescription
InputYesThe collection (array) to transform.
Field mappingsYesFor each target field, define the name and the source field or expression.

Example

Rename firstName and lastName fields to first and last:

Target fieldSource mapping
firstfirstName
lastlastName

Output available as $vars.map1.output.

Group By

Groups a collection by a shared field and aggregates values like totals, averages, or counts.

Configuration

FieldRequiredDescription
InputYesThe collection (array) to group.
Group by fieldYesThe field whose value determines the group.
AggregationsNoAdditional computed fields per group (count, sum, average, min, max, first, last, collect).

Example

Group a list of orders by region and count the number of orders per region:

  • Input: $vars.fetchOrders1.output.body
  • Group by: region
  • Aggregation: orderCount = count

Output available as $vars.groupBy1.output.

Common issues

IssueResolution
Output is empty after FilterThe conditions don't match any entries. Inspect the input collection in the execution trace to verify the field names and values.
Map output has undefined fieldsThe source field path doesn't exist in the input entries. Use the execution trace to confirm the input structure.

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated