Skip to main content

Set

The Set node allows you to create or modify data objects by setting one or more key-value properties. This is essential for data preparation, object construction, and adding metadata to workflow data in logistics operations.

Overview

The Set node is essential when you need to:

  • Create data objects - Build structured data from individual values
  • Add metadata - Attach timestamps, processing flags, or tracking information
  • Restructure data - Reorganize data into different object formats
  • Set default values - Add missing properties with default values
  • Combine data sources - Merge values from multiple workflow nodes
  • Prepare API payloads - Structure data for external API calls

Configuration

Key-Value Properties

Define one or more properties to set on the output object:

  • Property Key - The name of the property to set
  • Property Value - The value to assign (can be static or from workflow data)
  • Data Type - Automatic detection or explicit type specification
  • Dynamic Keys - Use workflow data to determine property names
  • Nested Properties - Set properties on nested objects using dot notation

Value Sources

Property values can come from various sources:

  • Static values - Fixed text, numbers, or boolean values
  • Workflow data - Values from previous nodes using variable references
  • Expressions - Calculated values using simple expressions

Output Behavior

Object Creation

  • New object - Creates a fresh object with only the specified properties
  • Type preservation - Maintains appropriate data types for each property
  • Nested structure - Supports creating nested object hierarchies

Example Usage

Data Restructuring

Input: Shipment data from API
Properties:
tracking_number: {{data.trackingId}}
current_status: {{data.status}}
last_updated: {{data.lastScanTime}}
carrier: "FedEx"
priority: "standard"

Output: Standardized shipment object

Metadata Addition

Input: Customer order data
Properties:
order_id: {{data.orderId}}
customer_name: {{data.customer.name}}
total_amount: {{data.total}}
processing_date: {{currentDate}}
workflow_version: "v2.1"
processed: true

Output: Order with processing metadata

API Payload Preparation

Properties:
shipment: {
tracking_number: {{data.trackingNumber}},
status: {{data.currentStatus}},
location: {{data.lastLocation}}
}
notification: {
email: {{data.customerEmail}},
sms: {{data.customerPhone}}
}
options: {
send_email: true,
send_sms: false,
include_history: true
}

Output: Structured payload for notification API

Advanced Patterns

Nested Object Construction

Properties:
customer.id: {{data.customerId}}
customer.name: {{data.customerName}}
customer.tier: {{data.customerTier}}
shipping.address: {{data.shippingAddress}}
shipping.method: {{data.shippingMethod}}
shipping.cost: {{data.shippingCost}}

Output: Nested customer and shipping objects

Data Transformation

Input: Raw API response
Properties:
id: {{data.shipment_tracking_number}}
status: {{data.current_shipment_status}}
location: {{data.last_known_location}}
updated: {{data.status_update_timestamp}}
carrier_code: {{data.shipping_carrier_identifier}}

Output: Transformed to standard format

Best Practices

Property Design

  • Use consistent naming - Follow standard naming conventions (camelCase, snake_case)
  • Meaningful keys - Choose descriptive property names
  • Type consistency - Maintain consistent data types for similar properties

Value Management

  • Validate inputs - Ensure source data exists before referencing
  • Null handling - Decide whether to include or exclude null properties
  • Data sanitization - Clean and validate values before setting

Performance

  • Minimize properties - Only set necessary properties
  • Efficient references - Use direct data references when possible
  • Avoid deep nesting - Keep object structures reasonably flat
  • Memory usage - Be mindful of large objects and arrays

Common Use Cases

Data Standardization

Convert various input formats to a standard structure:

API Response → Set Node → Standardized Object → Database Storage

Workflow Metadata

Add processing information to data objects:

Input Data → Set Node (add timestamps/flags) → Enhanced Data → Next Processing Step

API Request Preparation

Structure data for external API calls:

Workflow Data → Set Node → API Payload → HTTP Request → External System

Report Data Assembly

Combine data from multiple sources for reporting:

Multiple Data Sources → Set Node → Report Object → Generate Report

Configuration Objects

Create configuration objects for other workflow nodes:

User Inputs → Set Node → Configuration Object → Configurable Process

Integration Patterns

With Code Nodes

Use Set nodes to prepare clean data for Code node processing:

Raw Data → Set Node (structure) → Code Node (complex logic) → Output

With HTTP Requests

Structure request payloads for API calls:

Workflow Data → Set Node (format payload) → HTTP Request → API Response

With Conditional Logic

Create objects with conditional properties:

Input Data → If Node → Set Node (conditional properties) → Structured Output

With Loops

Set properties for each item in a collection:

Array Input → Loop → Set Node (per item) → Collect Results → Array Output

Troubleshooting

Common Issues

  • Missing references - Ensure referenced workflow data exists
  • Type mismatches - Verify data types match expectations
  • Invalid property names - Ensure property keys are valid identifiers

Debugging Tips

  • Test with simple values - Start with static values before using dynamic references
  • Check data sources - Verify that referenced data is available and correct
  • Validate output structure - Ensure the resulting object has the expected format
  • Monitor property types - Check that values have the correct data types

Validation

  • Required properties - Ensure all necessary properties are set
  • Data completeness - Verify that all expected values are present
  • Format consistency - Check that similar objects have consistent structure
  • Null value handling - Confirm null values are handled appropriately

The Set node is fundamental for data preparation and object construction in logistics workflows, enabling clean data structuring and metadata management.