Skip to main content
Nodes return { success, output?, data?, error? }. output is a string that downstream templates can use. data carries structured values.

input

Exposes the run input. output is the input as JSON, and data is the input object. Templates can read the input directly as {{input.field}}, so this node is optional.

prompt

string
required
Text with {{path}} placeholders. The rendered text is the node’s output.

llm

One chat call through a named provider. There is no loop and no tool use.
string
required
Provider id. It must support chat.
string
Overrides the provider’s default model.
string
System prompt.
"summarize" | "classify" | "extract" | "rewrite" | "translate"
System prompt from a built-in preset. system wins if both are set.
string
Template for the user message. Defaults to the upstream outputs joined by blank lines.
number
Truncates the message before the call. Unset means no truncation.

decision

A typed decision. See decisions.
string
required
Provider id. It must support decide.
"choice" | "score" | "noul"
required
Decision type.
string
required
The question. Templated.
string
What to evaluate. Templated. Defaults to the whole run input as JSON.
string[] | string
Choices for choice, ordered levels (at least two) for score. A single {{path}} pulls a list from the run input.
number
Between 0 and 1. Gates choice decisions to none_of_these.
string
Overrides the provider’s default model.

http

A generic HTTP call. url, headers and body are templated. A response outside 200-299 fails the node.
string
required
Request URL.
"GET" | "POST" | "PUT" | "PATCH" | "DELETE"
default:"GET"
HTTP method.
Record<string, string>
Request headers.
unknown
Sent as JSON. Strings are sent as they are.
The result’s data is { status, body }, where body is parsed JSON when possible.

mcp

Calls a tool on another MCP server. See MCP.
string
required
Id of a server under mcpServers. Loading fails for an unknown id.
string
required
Tool name. Templated.
object
Tool arguments. Templated.
string[]
Tools this node may call. Required when tool is a template.
output is the tool’s text. data is its structured content, or the text parsed as JSON. A tool error fails the node.

output

Marks the flow result.
string
Rendered as the output. Defaults to the upstream outputs joined by blank lines.
data is the upstream node’s data, or a map by node id when several nodes are live. The run result exposes this node’s result as output.

Add your own node

Register a node type on a Registry. Nothing else changes.