Docs

Reliable by Design · 05.20

Node Reference: Data, Compute & IO

transform, code, data_query, http_request, aggregate_window, knowledge, browser, artifact_save, mcp, human_input — every data/compute/IO node explained.

NodesReference

Deterministic data & compute

NodePurpose
transform / filterReshape or select data via safe expressions — never eval.
codeRun sandboxed JS (or Python) with a call cap and timeout.
data_query / data_mutateRead or write the App datastore.
http_request / graphqlCall external APIs — SSRF-guarded, cancellable.
aggregate_windowWindowed aggregation over a stream of items.
spreadsheet / json_schema_validateParse or emit CSV; validate a payload against a schema.
workflow_store / workspace_store / scratchpadDurable per-workflow, per-workspace, or per-run key-value storage.

Knowledge, IO & human-in-the-loop

NodePurpose
knowledge / knowledge_ingestSearch a knowledge base, or ingest documents into one.
browserHeadless Playwright navigation, extraction, or screenshot.
artifact_save / artifact_collectPersist a referenceable artifact; gather several for delivery.
mcp / integration / extension_taskCall an MCP tool, a connector operation, or an agent-authored extension.
human_inputSuspend the run for a human answer, then resume exactly where it paused.
Adding an entirely new node kind touches roughly 4–6 wiring points: the type union, its config schema, dispatch, the handler itself, validation, and canvas metadata. The node executors live behind a typed host facade in engine/executors/, not scattered through the core engine file.

Continue