Skip to content

Essentials

The three cards of every workflow: Start (variables), Agent (model + prompt + tools), and End.

Updated on Sep 02, 2026

Every workflow has a Start, at least one Agent, and typically an End. The Start is fixed on the canvas — it cannot be dragged or deleted.

Start

Core · start · fixed canvas node

Declares the workflow variables. They are how data enters via the API (variables field of the run), how state persists between turns, and how multi-agent nodes find dynamic collections.

variables[].namestringobrigatório

Name used in `{{name}}` references in prompts, conditions, and templates.

variables[].typefixed | input | collectionobrigatório

`fixed` = constant value · `input` = comes from the request (`variables`) · `collection` = table of items with schema.

variables[].valueany

The value, when `fixed`. Can be text, number, or object (`{"guilty": 0, "innocent": 0}`).

variables[].requiredbooleanpadrão: true

For `input`: if the value is missing from the request, the run fails with `502 Required variables not provided`.

variables[].persistbooleanpadrão: false

The value persists between turns of the same `thread_id` (e.g., round counter).

variables[].descriptionstring

Documentation of the variable for integrators.

variables[].schema.fields[]{name, type, required}[]

For `collection`: the schema of each item (e.g., `id`, `name`, `role`, `alive`).

variables[].items[]object[]

For `collection`: the initial items.

References that work in conditions and sources

{{var}} simple value · {{object.key}} dict access ({{votes.guilty}}) · {{collection.* | field=value}} filters items in a collection · suffixes .count and .exists to count/test.

Agent

Core · agent · the heart of the workflow

An AI agent: model + prompt + tools. Tools arrive via slots on the right — connect any tool card and the model gains the ability to call it. Handoffs to other agents (delegate-*) get their own prompt tab in the modal.

namestringobrigatório

Agent name (sanitized: letters, numbers, and `_`). Becomes the identifier in routers and delegations.

modelstringobrigatório

Language model (`input_name` from the catalog, e.g., `deepseek-ai/deepseek-v4-flash`).

system_promptstring

The system prompt. Accepts `{{variables}}` from Start.

delegate_descriptionsobject

Description per handoff (`delegate-*`): when to delegate to each connected agent.

config.temperaturenumberpadrão: 0.7

Sampling creativity (0–2).

config.max_tokensnumberpadrão: 4096

Response token ceiling.

config.max_tool_loopsnumberpadrão: 10

Maximum tool rounds per turn (protection against infinite loops).

config.timeoutnumberpadrão: 120

Timeout in seconds for each model call.

config.capture_flowbooleanpadrão: false

If the turn ends with a pending question, the next turn goes straight back to this agent (pin), bypassing the router.

config.widget_formsbooleanpadrão: false

Allows the agent to emit forms and buttons in the widget.

config.advertise_capabilitiesbooleanpadrão: true

Announces available tools in the agent's prompt.

config.tools_filterstring[]padrão: [] (todas)

Restricts visible tools to this list of names — useful when multiple tools share the same canvas.

End

Core · end · ends the flow

Marks the end of a path. The input from above accepts any node; the input from the left accepts only tools (end of a pipeline). The status helps you read executions in statistics.

labelstringpadrão: 'End'

Visual label of the node.

statussuccess | failure | neutral | custompadrão: neutral

How this output counts in the agent's metrics.

custom_statusstring

The status text when `custom`.

output_messagestring

Optional final message emitted when reaching here.

Was this page helpful?