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