Skip to content

Data Nodes

Data nodes transform, filter, reshape, and prepare payloads for downstream processing. Use them to clean API responses, prepare inputs for AI nodes, and normalize schemas between services.

NodeTypeOutput
JSON Transformjson_transformjson
Set Variablesset_variablesjson
Extract Fieldextract_fieldtext
Rename Fieldrename_fieldjson
Filter Itemsfilter_itemsarray
Aggregateaggregatejson
Sortsortarray
Deduplicatededuplicatearray
Text Splittertext_splitterdocument[]
Data Mapperdata_mapperjson

JSON Transform

Type: json_transform · Category: Data

Transform JSON with a mapping expression. Extract, rename, reshape, or compute new fields from structured payloads.

Inputs

NameTypeRequired
jsonjsonYes

Required Config

FieldTypeDescription
expressionstringMapping expression. Use $ paths and template syntax.

Example

json
{ "expression": "{ title: input.title, score: input.score }" }

Expected input: { "title": "Lens A", "score": 0.92, "metadata": {...} }

Expected output: { "transformed": { "title": "Lens A", "score": 0.92 } }

Downstream:data_mapper

Data Mapper · Extract Field · Rename Field


Set Variables

Type: set_variables · Category: Data

Set workflow variables for downstream nodes. Use to inject constants, computed values, or shared configuration into the execution context.

Required Config

FieldTypeDescription
variablesjsonKey/value pairs to set (e.g. { "digestWindow": "7d" }).

Example

json
{ "variables": { "digestWindow": "7d", "channel": "#arena-alerts" } }

Downstream:prompt_template

JSON Transform · Data Mapper


Extract Field

Type: extract_field · Category: Data

Extract one field from a JSON payload. Returns a text output for use in nodes that accept plain string input.

Required Config

FieldTypeDescription
pathstringJSON path to the field (e.g. $.pull_request.body).

Example

json
{ "path": "$.pull_request.body" }

Expected output: { "value": "This PR adds workflow runners." }

Downstream:summarizer


Rename Field

Type: rename_field · Category: Data

Rename one or more fields while preserving the rest of the payload.

Required Config

FieldTypeDescription
renamesjsonMap of { oldKey: newKey } pairs.

Example

json
{ "renames": { "body": "digestBody", "title": "digestTitle" } }

Expected output: { "digestBody": "...", "digestTitle": "Weekly digest" }

Downstream:email_send


Filter Items

Type: filter_items · Category: Data

Filter array items by condition. Removes items that do not match.

Inputs

NameTypeRequired
itemsarrayYes

Required Config

FieldTypeDescription
conditionstringBoolean expression (e.g. $.score >= 0.75).

Example

json
{ "condition": "$.score >= 0.75" }

Expected output: { "items": [{ "id": "doc_1", "score": 0.91 }] }

Downstream:rag_retrieval

Deduplicate · Sort · Aggregate


Aggregate

Type: aggregate · Category: Data

Aggregate numeric or grouped values from an array. Supports avg, sum, min, max, count operations with optional groupBy.

Inputs

NameTypeRequired
itemsarrayYes

Required Config

FieldTypeDescription
groupBystringField path to group by (e.g. $.contender).

Optional Config

FieldTypeDescription
metricsjsonArray of { field, op, as } metric definitions.

Example

json
{
  "groupBy": "$.contender",
  "metrics": [{ "field": "$.score", "op": "avg", "as": "averageScore" }]
}

Expected output: { "groups": [{ "contender": "A", "averageScore": 0.84 }] }

Downstream:score_aggregator


Sort

Type: sort · Category: Data

Sort items by a configured field and direction.

Inputs

NameTypeRequired
itemsarrayYes

Required Config

FieldTypeDescription
sortBystringField path to sort on (e.g. $.score).

Optional Config

FieldTypeDefaultOptions
directionstringascasc · desc

Example

json
{ "sortBy": "$.score", "direction": "desc" }

Expected output: { "items": [{ "id": "a", "score": 0.98 }] }

Downstream:leaderboard_update


Deduplicate

Type: deduplicate · Category: Data

Remove duplicate items by key. Keeps the first occurrence of each unique key value.

Inputs

NameTypeRequired
itemsarrayYes

Required Config

FieldTypeDescription
keyPathstringPath to the deduplication key (e.g. $.url).

Example

json
{ "keyPath": "$.url" }

Expected output: { "items": [{ "url": "https://example.com/post", "title": "Arena news" }] }

Downstream:summarizer


Text Splitter

Type: text_splitter · Category: Data

Split long text or documents into chunks for downstream embedding or processing.

Inputs

NameTypeRequired
texttextYes

Outputs

NameTypeDescription
documentsdocument[]Chunked documents with metadata.

Required Config

FieldTypeDescription
chunkSizenumberChunk size in characters.

Optional Config

FieldTypeDefault
chunkOverlapnumber120

Example

json
{ "chunkSize": 1000, "chunkOverlap": 120 }

Expected output: { "documents": [{ "pageContent": "Battle report chunk...", "metadata": { "chunk": 1 } }] }

Downstream:embedding

Valid Connections

embedding (primary use case)

rag_retrieval (if chunks are pre-indexed)

Embedding · RAG Retriever


Data Mapper

Type: data_mapper · Category: Data

Map fields from one schema into another using a declarative mapping object. Use to bridge incompatible schemas between nodes (e.g. API response → email template fields).

Required Config

FieldTypeDescription
mappingjsonField mapping: { targetField: "$.sourcePath" }.

Example

json
{
  "mapping": {
    "to": "$.owner.email",
    "subject": "PR Review: {{title}}",
    "body": "$.summary"
  }
}

Expected output: { "to": "owner@example.com", "subject": "PR Review: Add runners", "body": "Review summary..." }

Downstream:email_send

JSON Transform · Rename Field · Set Variables


See also: Node Catalog Index · Logic Nodes · AI Primitive Nodes · Workflow Studio