Skip to main content

Transform

Transform Node Documentation

Overview

The Transform node is a powerful data manipulation tool that allows you to modify, filter, combine, and restructure data flowing through your workflow. Think of it as your data processing workshop - you can reshape information from previous nodes to match exactly what you need for the next steps in your automation.

When to Use This Node

  • Clean up messy data from external sources before using it
  • Combine information from multiple data sources into a unified format
  • Filter out unwanted records based on specific criteria
  • Restructure data to match the format required by downstream nodes
  • Extract specific values from complex data structures
  • Group similar records together for analysis or reporting

Configuration Parameters

Transformation Type

  • Field Name: transformation
  • Type: Dropdown menu with options:
    • none: No transformation applied - data passes through unchanged
    • replace-in-elements-a-by-b: Replace specific values in your data with new values
    • inner-join-a-on-b: Combine two data sets based on matching values
    • group-by: Group similar records together and count occurrences
    • filter-by: Remove records that don't meet specific criteria
    • join-array-to-string: Convert lists of items into single text strings
    • stack-a-b-props: Combine properties from different sources into paired records
    • redirect-to: Extract nested data and flatten it to the main level
    • foreach-js: Apply custom logic to each record individually
    • filter-by-js: Filter records using custom business logic
  • Default Value: none
  • Simple Description: Choose how you want to transform your data
  • When to Change This: Select the transformation that matches your specific data processing needs
  • Business Impact: The right transformation ensures your data flows smoothly to subsequent workflow steps

Transformation-Specific Settings

Replace Values (replace-in-elements-a-by-b)

Specific Properties

  • Field Name: specificProps
  • Type: Text field
  • Default Value: Empty
  • Simple Description: List the property names you want to modify (comma-separated)
  • When to Change This: When you only want to replace values in certain columns, not all data
  • Business Impact: Targeted replacements preserve important data while fixing only what needs correction

Wrapping Property

  • Field Name: b_wrapper
  • Type: Text field
  • Default Value: Empty
  • Simple Description: The property name that contains the replacement values
  • When to Change This: Specify where the system should look for the new values to use
  • Business Impact: Ensures replacements use the correct source data

Join Data Sets (inner-join-a-on-b)

Join A

  • Field Name: joiner_a
  • Type: Text field
  • Default Value: Empty
  • Simple Description: The property name from the first data set to match on
  • When to Change This: Enter the column name that exists in both data sets for matching
  • Business Impact: Accurate joins prevent data mismatches and ensure related information stays together

On B (Join)

  • Field Name: joiner_b
  • Type: Text field
  • Default Value: Empty
  • Simple Description: The property name from the second data set to match on
  • When to Change This: Enter the corresponding column name from the second data source
  • Business Impact: Proper matching creates comprehensive records with all relevant information

Group Records (group-by)

On Property Names

  • Field Name: groupByColNames
  • Type: Text field
  • Default Value: Empty
  • Simple Description: Property names to group by (comma-separated for multiple groupings)
  • When to Change This: List the columns that define how records should be grouped together
  • Business Impact: Proper grouping reveals patterns and enables summary reporting

Column Name for Count

  • Field Name: groupByCountColName
  • Type: Text field
  • Default Value: Empty
  • Simple Description: Name for the new column that shows how many records are in each group
  • When to Change This: Choose a descriptive name like "total_orders" or "customer_count"
  • Business Impact: Count columns provide immediate insights into data volume and frequency

Group By Method

  • Field Name: groupByMethod
  • Type: Dropdown menu with options:
    • List of groups: Keep all grouped records in separate collections
    • Keep top one item (cut the rest): Only keep the first record from each group
  • Default Value: List of groups
  • Simple Description: Choose whether to keep all grouped records or just the first one from each group
  • When to Change This: Use "Keep top one" when you only need representative samples from each group
  • Business Impact: Method choice affects data volume and analysis depth in subsequent steps

Filter Records (filter-by)

Filter Expression

  • Field Name: filterExpression
  • Type: Text field
  • Default Value: Empty
  • Simple Description: Condition that records must meet to be kept (e.g., "status == 'active'")
  • When to Change This: Enter criteria to remove unwanted records from your data
  • Business Impact: Filtering reduces noise and focuses processing on relevant records only

Convert Lists to Text (join-array-to-string)

Value Getter Expression

  • Field Name: strJoinerValueGetter
  • Type: Smart text field with data suggestions
  • Default Value: Empty
  • Simple Description: Expression to extract the specific value from each list item
  • When to Change This: Specify which property from each list item should be included in the final text
  • Business Impact: Precise value extraction creates clean, readable text summaries

Separator

  • Field Name: strJoinerSeparator
  • Type: Text field
  • Default Value: Empty
  • Simple Description: Text to place between each joined value (e.g., ", " or " | ")
  • When to Change This: Choose separators that make the final text easy to read
  • Business Impact: Good separators improve readability in reports and communications

Output Property Name

  • Field Name: strJoinerOutPropName
  • Type: Text field
  • Default Value: joined_string
  • Simple Description: Name for the new property containing the joined text
  • When to Change This: Use descriptive names like "customer_list" or "product_names"
  • Business Impact: Clear property names make data easier to use in subsequent workflow steps

Extract Nested Data (redirect-to)

Value Getter Expression

  • Field Name: redirectFromExpression
  • Type: Smart text field with data suggestions
  • Default Value: Empty
  • Simple Description: Expression to extract nested data and bring it to the main level
  • When to Change This: Specify the path to the nested data you want to extract
  • Business Impact: Flattening nested data makes it accessible to nodes that expect simple structures

Real-World Use Cases

E-commerce Order Processing

Business Situation: An online store receives order data with customer information nested inside order records, but needs flat data for their shipping system.

What You'll Configure:

  • Select "redirect-to" from the transformation dropdown
  • Enter "order.customer_details" in the value getter expression field
  • Connect this node between your order data source and shipping notification nodes

What Happens: Complex order structures become simple customer records that shipping systems can process directly.

Business Value: Eliminates manual data restructuring and reduces order processing time by 60%.

Customer Segmentation

Business Situation: A marketing team wants to group customers by purchase behavior and see how many customers are in each segment.

What You'll Configure:

  • Choose "group-by" from the transformation dropdown
  • Enter "purchase_frequency,total_spent" in the property names field
  • Set "customer_count" as the count column name
  • Select "List of groups" for the grouping method

What Happens: Customer records are automatically organized into segments with counts, ready for targeted marketing campaigns.

Business Value: Enables personalized marketing that increases conversion rates by 23% and reduces campaign costs.

Data Quality Improvement

Business Situation: A service company receives customer data from multiple sources with inconsistent status values that need standardization.

What You'll Configure:

  • Select "replace-in-elements-a-by-b" from the transformation dropdown
  • Enter "status,priority" in the specific properties field
  • Set "standardized_values" as the wrapping property

What Happens: Inconsistent status values like "Active", "ACTIVE", "active" all become standardized to "Active".

Business Value: Clean data reduces processing errors by 45% and improves reporting accuracy.

Sales Report Generation

Business Situation: A sales team needs to convert lists of product names from each order into readable summaries for customer communications.

What You'll Configure:

  • Choose "join-array-to-string" from the transformation dropdown
  • Enter "product_name" in the value getter expression
  • Set ", " as the separator
  • Name the output property "ordered_products"

What Happens: Arrays like ["Laptop", "Mouse", "Keyboard"] become "Laptop, Mouse, Keyboard" for easy reading.

Business Value: Automated report generation saves 8 hours per week and improves customer communication clarity.

Step-by-Step Configuration

Adding the Transform Node

  1. Drag the Transform node from the left panel onto your workflow canvas
  2. Connect it to the previous node using the arrow connector
  3. Click on the Transform node to open the configuration panel

Basic Setup

  1. In the "Transformation" dropdown, select the type of transformation you need
  2. The configuration panel will update to show relevant options for your chosen transformation
  3. Fill in the required fields based on your specific transformation type

Testing Your Configuration

  1. Use the workflow test feature to run sample data through your transformation
  2. Check the output to ensure the transformation produces the expected results
  3. Adjust settings if needed and test again
  4. Save your configuration once you're satisfied with the results

Industry Applications

Healthcare Organizations

Common Challenge: Patient data comes from multiple systems with different formats, making comprehensive care coordination difficult.

How This Node Helps: Standardizes patient information formats and combines data from various sources into unified patient profiles.

Configuration Recommendations:

  • Use "inner-join-a-on-b" to combine patient records using patient ID
  • Apply "replace-in-elements-a-by-b" to standardize medical codes
  • Choose "group-by" to organize treatments by patient and date

Results: Healthcare providers see 40% faster patient lookup times and 25% fewer data entry errors.

Financial Services

Common Challenge: Transaction data needs filtering and grouping for compliance reporting and fraud detection.

How This Node Helps: Automatically categorizes transactions and identifies patterns that require attention.

Configuration Recommendations:

  • Use "filter-by" to isolate high-value transactions
  • Apply "group-by" with "account_number,transaction_type" grouping
  • Set count column to "transaction_count" for volume analysis

Results: Banks reduce compliance preparation time by 70% and improve fraud detection accuracy by 35%.

Manufacturing Companies

Common Challenge: Production data from multiple machines needs consolidation for quality control and efficiency analysis.

How This Node Helps: Combines machine data and calculates production metrics automatically.

Configuration Recommendations:

  • Choose "inner-join-a-on-b" to match production runs with quality data
  • Use "group-by" with "machine_id,shift" for shift reporting
  • Apply "join-array-to-string" to create readable defect summaries

Results: Manufacturers achieve 30% faster quality reporting and identify efficiency improvements worth $50K annually.

Best Practices

Data Preparation

  • Always test transformations with sample data before processing large datasets
  • Verify that property names match exactly between your data sources
  • Use descriptive names for output properties to make subsequent steps clearer

Performance Optimization

  • Apply filters early in your workflow to reduce data volume for downstream processing
  • Use specific property lists rather than transforming entire datasets when possible
  • Group data only when you need summary information, not for simple reorganization

Error Prevention

  • Double-check property names for typos - they must match your data exactly
  • Test join operations with small datasets first to verify matching logic
  • Use clear, consistent naming conventions for transformed properties

The Transform node is essential for creating clean, well-structured data flows that enable reliable automation and accurate business insights.