Data Processing
What this category is for
Use data-processing nodes to transform payloads, run custom logic, and shape data for routing, validation, storage, and final responses.
Node list table
| Node type | Purpose | Key inputs | Branch outputs |
|---|---|---|---|
set_node | Build/reshape JSON using expression-based assignments without writing code. | Config merge_mode, assignments; optional input base in merge mode | none |
xml_node | Convert XML ↔ JSON; optional SOAP Body unwrap for incoming XML. | Input data; config operation, optional unwrap_soap_body, root_element | success, error |
code_node | Execute custom JavaScript in a V8 runtime against upstream node outputs. | Config code (required), timeout_ms | success, error |
Common patterns
1) Build a response contract
- Use
set_nodewithmerge_mode: replace - Assign paths like
data,meta.request_id,errors - Feed
set_node.resultintoresponse_node.body
2) Patch existing request body safely
set_nodewithmerge_mode: mergebase={{ $json['http_trigger'].request.body }}- Add/override only required fields via assignments
3) Lightweight custom business rule
- Use
code_nodeto compute derived fields (totals, eligibility flags, normalization) - On
code_node.error, route to error response or fallback branch
4) Parse and map third-party responses
http_request_node->code_nodefor special parsing- Return a compact object from code and pass it to downstream nodes
Common mistakes and how to debug
set_nodeexpression errors: invalid expression returns partial output anderrorin node output. Test each assignment incrementally.- Empty path confusion in
set_node: emptypathspreads an object into root. If expression returns non-object, nothing is merged. code_nodetimeout: long loops or expensive transforms exceedtimeout_ms. Increase timeout or simplify code.- Missing upstream data in
code_node: runtime context only includes upstream outputs ($jsonstyle context). Check node IDs and execution order. - Silent type mismatch: downstream nodes may expect object but receive string. Inspect
resultin node test output before wiring further.