Portal Community

Properties

PropertyTypeRequiredDefaultDescription
operationstring enumYesThe JSON operation to perform. One of: parse, stringify, minify, extract, merge, filter.
sourcestring | object (expression)No*The primary input data. For parse, this should be a JSON string. For others, this can be an object or BizFirst expression. *Either source or source_output must be provided.
source_outputstringNo*Name of an upstream node whose output is used as the source. Takes precedence over source.
propertystring (dot-notation)For extractThe dot-notation path to extract from the source object. Used only by the extract operation. Example: transaction.amount.value.
merge_withobject | expressionFor mergeThe second object to merge into the primary source. Used only by the merge operation. Properties in this object overwrite matching properties in source.

Per-Operation Requirements

Operationsource / source_outputpropertymerge_withNotes
parseRequired (JSON string)Source must be a valid JSON string. Malformed JSON triggers the error port.
stringifyRequired (any object)Produces pretty-printed JSON with 2-space indentation.
minifyRequired (object or JSON string)If source is a string, it is first parsed then re-serialized without whitespace.
extractRequired (object)RequiredReturns null (not an error) if the path does not exist.
mergeRequired (object)RequiredShallow merge only. Nested objects are replaced wholesale, not recursively merged.
filterRequired (array)Removes null and undefined entries. Non-null falsy values (0, false, "") are preserved.
Shallow Merge Behaviour

The merge operation performs a shallow (single-level) merge, not a deep recursive merge. If both source objects have a property containing a nested object, the entire nested object from merge_with replaces the one from source. For deep merging, use a CodeExecute node with custom JavaScript.

Example: All Six Operations

// parse: turn a JSON string into an object
{ "operation": "parse", "source": "{@ output.HttpCall.body }" }

// stringify: turn an object into a pretty JSON string
{ "operation": "stringify", "source_output": "BuildPayload" }

// minify: compact JSON for storage
{ "operation": "minify", "source_output": "BuildPayload" }

// extract: pull a nested field
{ "operation": "extract", "source_output": "ParsedResponse", "property": "data.user.id" }

// merge: overlay updates onto a base record
{
  "operation": "merge",
  "source": "{@ var.baseCustomer }",
  "merge_with": "{@ var.customerUpdates }"
}

// filter: remove nulls from array
{ "operation": "filter", "source": "{@ var.productList }" }