Skip to content

Schema Node

  • outputSchema – JSON Schema defining the expected structure
  • validationEnabled – Whether to validate incoming data
  • transformData – Whether to transform data to match schema

On the Data tab you page output rows from the workflow engine. You can scroll large tables. The engine does not count the repeated JSON Schema overlay toward the row-window size cap, so the grid stays on JSON instead of failing after a few windows.

Nested output ports follow the schema tree. An array field port (for example _sheetData) is one row with one column holding the nested array. The array item port under it (the {} node, path ending in .0) unnests object items into a table so you can split a multi-sheet workbook into one tabular stream per sheet. Schema copies those nested arrays from the incoming row by full path (Sheet1._sheetData), then you can wire that item port to a following Schema.

Schema from Input on File Input does that split for you when the file is a multi-sheet workbook: it creates the input Schema for the keyed workbook, then one extract Schema per sheet wired to output.{Sheet}._sheetData.0 with that sheet’s columns already added. The hub Input Schema turns on Hide Unused Properties so unused nested columns and unused sheets start hidden. Extract Schemas and single-sheet or flat-table Input Schemas leave that setting off.

On Schema Display Settings, Hide Unused Properties keeps a field on the canvas when you wired that field or any nested field under it. A wire on output.Sheet1._sheetData.0.Col A keeps Sheet1, _sheetData, the item row, and Col A. Unused sibling columns and unused sheets hide.

Unused grey field ports stay hidden until you hover the Schema card. While you drag a wire from another node, unused ports on the opposite side become visible on every Schema so you can drop: an output drag shows inputs, an input drag shows outputs.

On the Schema Output Schema tree, select a field to add a source-path alias ((add source...)). The processor maps incoming columns from those JSONPath or dot paths first, then falls back to the field name. The canvas Schema card shows existing aliases as grey text and does not let you edit them there.

On Schema settings you can pick an ordered row identity key from that Schema’s output properties (one field or several). The first Schema on a lineage that sets this key owns it. Later Schemas inherit it and cannot re-declare it.

When a key is defined:

  • Default Auto-Merge, including input.* wires, joins rows by that key after a filter or reorder. You do not set mergeBy: "key" on each edge. Index merge stays the default when no Schema key is defined. Explicit append (mergeBy: "none") and lookup edges stay as you authored them.
  • A missing key value, a duplicate key, or two lineages that meet with different keys fails the run.
  • Exception management matches tickets by this key across runs, not by a full-row content hash.

Community template Exception Ticket Persistence uses tradeId as the identity key so you can change ticket Status, edit the blotter, and re-run.

The key travels as sidecar metadata on each row. Virtual and input.* ports can still show a single cell. The key is not added as extra visible columns.