Skip to main content
Version: 2.0-beta.1
Set Node interface

Set node

Set Node

Overview

The Set Node reshapes payloads by adding, updating, or removing fields in flight. It supports both click-to-configure field mappings and JSON-based templates, allowing teams to enrich data, normalize schemas, or inject metadata without writing custom code. Expressions are fully supported so downstream nodes receive the exact structure and values they expect.


Core Functionality

1. Two Authoring Modes

  • Manual mode lets you configure individual fields with dedicated names, values, and target types.
  • JSON mode accepts a JSON structure (including expressions) that merges into the payload.

2. Expression-Aware Transformations

  • Any string field can include Maestro expressions ({{ }}) that resolve against pipeline context.
  • Expressions have access to $input, $node, $pipeline.

3. Type Conversion & Validation

  • Supported target types: auto, string, number, boolean, json, array.
  • Optional Ignore Type Conversion Errors lets you continue when conversions fail (defaults to strict mode).
  • Validation catches missing field names, unsupported types, or invalid JSON before execution.

4. Flexible Input Merge Strategies

  • Include Input Data: "all" (default) clones the inbound payload before applying changes.
  • Include Input Data: "none" starts from an empty object—ideal for building new payloads.
  • Include Input Data: "selected" is reserved for selective merges; today it behaves like "all" unless the backend injects filtered data.

5. Field-Level Controls

  • Keep Only Set Fields removes fields not explicitly configured (manual mode only).
  • Dot notation (user.profile.name) creates or updates nested objects when Support Dot Notation is enabled.

Configuration Reference

Set Node parameters

Parameters Tab

Parameters Configuration

Set Node options

Field Options

Field Options

Set Node settings

Settings Tab

Settings Configuration

Parameters (Dynamic Data)

FieldTypeDefaultDescription
Modestring"manual"Authoring strategy ("manual" or "json").
Fieldsarray[]Manual field definitions (required in manual mode).
JSON Datastring""JSON payload injected when Mode is "json".

Options

FieldTypeDefaultDescription
Keep Only Set FieldsbooleanfalseRemove any fields not explicitly configured (manual mode only).
Support Dot NotationbooleantrueAllow nested paths such as order.total.
Ignore Type Conversion ErrorsbooleanfalseContinue execution when conversion errors occur.
Include Input Datastring"all"Merge behavior: "all", "none", or "selected".

Manual Field Definition (fields[])

PropertyTypeDescription
NamestringTarget field name; supports dot notation when enabled.
ValuestringLiteral value or expression resolved at runtime.
TypestringOptional conversion target (auto, string, number, boolean, json, array).

Settings (Static Configuration)

FieldTypeDefaultDescription
Retry on FailbooleanfalseRetries execution if the node encounters infrastructure issues.
On Errorstring"Stop Pipeline""Stop Pipeline" aborts the branch, "Continue Execution" forwards the payload with error metadata.
Notesstring""Document transformation intent for collaborators.
Display Note in PipelinebooleanfalseShow notes directly on the canvas.

Usage Examples

Example 1: Add Production Metadata in Manual Mode

FieldValue
Modemanual
Include Input Dataall
Support Dot Notationtrue
NotesAttach operator name and processed timestamp.
Manual FieldAssigned ValueType
batch.operatorNameJane Millerstring
batch.processedAt1706539200000number

The incoming payload is preserved while the node adds a nested batch object with operator details.

Example 2: Build a Fresh Payload with JSON Mode

FieldValue
Modejson
JSON Template{"status":"ready","line":"Assembly-1","targetUnits":480}
Include Input Datanone
Ignore Type Errorsfalse

The output becomes exactly the JSON template above—ideal for shaping requests to a downstream connector without carrying legacy fields.

Example 3: Keep Only Essential Fields

FieldValue
Modemanual
Include Input Dataall
Keep Only Settrue
NotesReturn only identifiers for audit export.
Manual FieldAssigned ValueType
orderIdPO-8721string
totalAmount1543.75number
metadata.retryCount0number

After execution, the payload contains only the configured fields. metadata.retryCount populates with 0 when absent but leaves existing values untouched because Keep Missing is true.