Skip to main content
This reference covers 28 built-in node types across 11 families. It is generated from the same descriptor catalog used by Workflow Studio, so configuration labels, output fields, and in-product guidance stay aligned. For the authoring flow, see Build a workflow. For the data model, see Workflows.

Triggers

Manual trigger

trigger.manual · Version 1 · low risk Start this workflow with a button click

What it does

Creates a run from a dashboard action, API call, or test-run command.

What it needs

An optional button label. The caller supplies the workflow input when it starts the run.

Configuration

What it returns

The trigger source, the complete payload, and every payload field for later steps.

Good to know

Test runs use the same node but report their trigger source as test.

Webhook trigger

trigger.webhook · Version 1 · medium risk Start when an outside service calls a URL

What it does

Creates a run from an authenticated workflow webhook registration.

What it needs

An active webhook registration configured separately for the published workflow version.

Configuration

This node has no node-specific configuration fields.

What it returns

The parsed body, safe headers, trigger source, and original normalized payload.

Good to know

Authorization, cookies, signatures, and configured secret headers are removed before the payload is stored.

Schedule trigger

trigger.schedule · Version 1 · low risk Start on a recurring schedule

What it does

Creates one workflow run for each occurrence of a published schedule.

What it needs

A cron schedule and, when needed, an IANA timezone such as Europe/Berlin.

Configuration

What it returns

The scheduled timestamp, trigger source, and complete schedule payload.

Good to know

Publishing creates an immutable version. Activate or update its durable schedule through trigger registration settings.

Channel message trigger

trigger.channel_message · Version 1 · medium risk Start when a message arrives in a channel

What it does

Normalizes a registered channel event and creates a workflow run.

What it needs

A published channel-message registration and its channel binding.

Configuration

What it returns

Message text and author, channel details, trigger source, and the complete normalized payload.

Good to know

The original payload stays available even when a channel does not provide every normalized message field.

Flow control

Condition

flow.condition · Version 1 · low risk Branch into true or false paths

What it does

Evaluates a value or comparison and activates the matching outgoing edge.

What it needs

A literal or upstream value, an operator, and a comparison value when the operator needs one.

Configuration

What it returns

The evaluated condition and the selected branch name.

Good to know

Only the selected branch runs. The other path is shown as skipped in run history.

Switch

flow.switch · Version 1 · low risk Route to one of several paths

What it does

Selects the outgoing edge whose port matches a configured branch value.

What it needs

A branch name or upstream value plus the named paths you want to expose.

Configuration

What it returns

The selected branch name.

Good to know

When no named edge matches, the default edge is used.

Merge

flow.merge · Version 1 · low risk Join branches back together

What it does

Waits until incoming paths converge and shallow-merges their available data.

What it needs

Incoming branches and any optional additional values.

Configuration

What it returns

The merged workflow fields. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

When the same key appears more than once, the later value wins.

Stop

flow.stop · Version 1 · low risk End the workflow successfully

What it does

Completes the run immediately at this point in the graph.

What it needs

An optional final output object.

Configuration

What it returns

The configured final output fields. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

Steps after this node do not run.

Error

flow.error · Version 1 · low risk End the workflow with an error

What it does

Fails the current run with a structured code and message.

What it needs

An optional error code and message.

Configuration

What it returns

No downstream data because the run ends in a failed state. This node does not produce a successful downstream output.

Good to know

The error remains available in the run inspector for diagnosis.

Data

Set data

data.set · Version 1 · low risk Store values for later steps

What it does

Adds or replaces a set of named workflow fields.

What it needs

One or more field names and values. Values can reference upstream outputs.

Configuration

What it returns

Exactly the configured fields. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

Later steps can insert these fields from this node by name.

Map data

data.map · Version 1 · low risk Reshape data from earlier steps

What it does

Creates a new object by assigning upstream values to the field names you choose.

What it needs

Mapping rows with a target name and a value, or a legacy items array.

Configuration

What it returns

The mapped fields. Legacy item mode returns an items array.

Good to know

Use mapping rows when later steps need clear, stable field names.

Transform expression

data.transform_expression · Version 1 · medium risk Compute a value from workflow data

What it does

Resolves an upstream variable or emits an explicit output object.

What it needs

A variable or text value, with optional named output fields.

Configuration

What it returns

The explicit output fields, or the resolved value under value.

Good to know

This editor resolves workflow variables; it does not execute arbitrary JavaScript.

Merge data

data.merge · Version 1 · low risk Combine data from multiple sources

What it does

Shallow-merges the run input, prior outputs, configured objects, and final values.

What it needs

Optional objects and final values to add to the available workflow data.

Configuration

What it returns

The merged fields. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

Later objects overwrite earlier keys; nested objects are not deep-merged.

Pick data

data.pick · Version 1 · low risk Keep only the fields you need

What it does

Copies selected fields from the current workflow data into a smaller object.

What it needs

A list of field names.

Configuration

What it returns

Every selected field that exists when this step runs. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

Missing fields are omitted instead of being returned as null.

Waits

Delay

wait.delay · Version 1 · low risk Pause for a set amount of time

What it does

Creates a durable timer and resumes the run after it elapses.

What it needs

A delay duration.

Configuration

What it returns

The wait id and delay-elapsed reason.

Good to know

The run is checkpointed while it waits, so no process needs to stay alive.

External callback

wait.external_callback · Version 1 · medium risk Wait for an outside system to call back

What it does

Parks the workflow until an external resolver supplies a payload.

What it needs

Callback context, with an optional expected-field schema and deadline.

Configuration

What it returns

The wait id plus every field supplied by the callback.

Good to know

A missed deadline expires the wait and fails the run instead of continuing with empty data.

Channel reply

wait.channel_reply · Version 1 · medium risk Wait for a reply in a channel

What it does

Parks the run until a person supplies a channel reply.

What it needs

A reply request and, when needed, the channel, assignee, and deadline.

Configuration

What it returns

The reply, resolver identity when available, wait id, and original resolved payload.

Good to know

Open replies appear in the workflow inbox while the run is waiting.

Human steps

Human approval

human.approval · Version 1 · medium risk Ask a person to approve or reject

What it does

Creates a durable approval item and pauses the run until someone decides.

What it needs

An approval question and, when needed, an assignee and deadline.

Configuration

What it returns

The approval boolean, decision, resolver identity, note, and original resolved payload.

Good to know

The workflow inbox is the source of truth for unresolved approval work.

Human input

human.input · Version 1 · medium risk Ask a person for information

What it does

Creates a durable input request and pauses the run until it is answered.

What it needs

A question, optional answer-field name, assignee, expected fields, and deadline.

Configuration

What it returns

The named answer fields, resolver identity when available, wait id, and original resolved payload.

Good to know

The current workflow inbox is optimized for one required text answer, while advanced schemas remain available.

Human choice

human.choice · Version 1 · medium risk Ask a person to pick an option

What it does

Creates a durable choice request and pauses the run until one option is selected.

What it needs

A question, allowed choices, and optionally an assignee and deadline.

Configuration

What it returns

The selected choice, resolver identity when available, wait id, and original resolved payload.

Good to know

The inbox checks configured choices before it resolves the wait.

Agents

Agent task

agent.task · Version 1 · medium risk · Governed side-effect capability Give one of your agents a task

What it does

Dispatches one agent, checkpoints the workflow, and resumes when the structured result arrives.

What it needs

An agent, an instruction, optional return fields, and an optional timeout.

Configuration

What it returns

The agent result directly, using the return fields configured on this step. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

The run does not depend on one web request staying alive while the agent works.

Agent collaboration group

agent.collaboration_group · Version 1 · high risk · Governed side-effect capability Have several agents work together

What it does

Runs declared child tasks and asks a lead agent to synthesize their outputs.

What it needs

A lead agent, one or more child tasks, and optional synthesis return fields.

Configuration

What it returns

The lead agent’s synthesis directly. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

This version supports all-complete joins. Child steps and artifacts remain owned by the workflow run.

Fleet

Fleet orchestration

fleet.orchestrate · Version 1 · high risk · Governed side-effect capability Coordinate a fleet of agents on one goal

What it does

Runs participant tasks and reduces their results according to the selected fleet mode.

What it needs

A mode, participants, and the manager, reviewer, quorum, cancellation, or timeout settings required by that mode.

Configuration

What it returns

A join envelope with selected participant results plus manager or reviewer output when applicable.

Good to know

Participant work is stored as child workflow steps, so direct conversations never become workflow state.

Workflows

Sub-workflow

workflow.subworkflow · Version 1 · medium risk · Governed side-effect capability Run another workflow as a step

What it does

Executes a published child workflow and returns its completed output to the parent.

What it needs

A child workflow and, optionally, a specific published version.

Configuration

What it returns

Child run identifiers, the complete child output, and each child output field at the top level.

Good to know

This version is synchronous. A child that enters a waiting state is terminated because async joins are not implemented yet.

Code

User code runner

code.user_runner · Version 1 · high risk · Governed side-effect capability Run custom code in a sandbox

What it does

Executes user-authored code through the isolated code-runner boundary.

What it needs

Code, explicit mapped input, an optional timeout, and optional non-executing environment or secret policy metadata.

Configuration

What it returns

The runner’s explicit output object. The concrete fields are dynamic. Configure an output schema when the node supports one, or inspect a test run for the exact shape.

Good to know

Logs, errors, and artifacts stay available to the run inspector. The current runner does not inject configured environment variables or secret values into user code.

Actions

Send message

action.send_message · Version 1 · medium risk · Governed side-effect capability Prepare a message for a channel

What it does

Records a governed message intent using fully resolved workflow data.

What it needs

A target channel, message body, and execution mode.

Configuration

What it returns

A dry-run intent envelope containing the resolved message configuration.

Good to know

The current executor records intent only. It does not send the external message yet.

HTTP request

action.http_request · Version 1 · high risk · Governed side-effect capability Prepare an external API request

What it does

Records a governed HTTP request intent using fully resolved workflow data.

What it needs

A URL plus optional method, headers, body, and execution mode.

Configuration

What it returns

A dry-run intent envelope containing the resolved request configuration.

Good to know

The current executor records intent only. It does not perform the network request yet.

Connected apps

Connector action

connector.action · Version 1 · high risk · Governed side-effect capability Prepare an action in a connected app

What it does

Records a governed connected-app action intent using resolved workflow data.

What it needs

A connector, action name, optional action fields, and execution mode.

Configuration

What it returns

A dry-run intent envelope containing the resolved connector configuration.

Good to know

The current executor records intent only. It does not invoke the connector yet.