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
- Drag the Transform node from the left panel onto your workflow canvas
- Connect it to the previous node using the arrow connector
- Click on the Transform node to open the configuration panel
Basic Setup
- In the "Transformation" dropdown, select the type of transformation you need
- The configuration panel will update to show relevant options for your chosen transformation
- Fill in the required fields based on your specific transformation type
Testing Your Configuration
- Use the workflow test feature to run sample data through your transformation
- Check the output to ensure the transformation produces the expected results
- Adjust settings if needed and test again
- 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.