Skip to main content
This auto-generated reference documents the Input and Output schemas for workflow node types. Descriptions are extracted from proto annotations in workflow_v2.proto.

Common Node Fields

These fields are available on all node types. They provide shared functionality for node identification, conditional execution, thread management, and output handling.
FieldTypeRequiredDescription
idstringYes
typestringYes
conditionstringNo
timeoutstringNo
save_messageSaveMessageConfigNo

Thread Configuration

The thread field controls conversation context:
- id: analyze
  type: call_llm
  thread:
    mode: fork      # fork, new, or inherit (default)
    memo: true      # reuse across loop iterations
    inject:
      role: user
      content: "Analyze: {{inputs.data}}"

Conditional Execution

Use condition to skip nodes based on runtime state:
- id: cleanup
  type: run
  condition: "{{nodes.process.exit_code != 0}}"
  run: "rm -rf temp/"

Automatic Message Saving

Use save_message to capture output without a separate save_message node:
- id: summarize
  type: workflow
  ref: builtin://summarizer
  thread:
    mode: fork
  save_message:
    role: assistant
    content: "{{output.summary}}"

Agent

Invoke an agent or sub-workflow

Inputs

FieldTypeRequiredDefaultDescription
refstringNo-Workflow reference (builtin://name or project://name)
argsmapNo-Input values for the sub-workflow
presetsmapNo-Preset configurations for sub-workflow inputs

Approval

Pause workflow execution for user approval

Inputs

FieldTypeRequiredDefaultDescription
titlestringNo-Approval dialog title
timeoutstringNo-How long to wait for approval

Outputs

FieldTypeDescription
approval_idstring-
statusstring-
action_takenstring-

Call LLM

Send a prompt to a language model and get a response

Inputs

FieldTypeRequiredDefaultDescription
modelmodelNo-Model selector using tags (e.g. flagship) or explicit ID
temperaturenumberNo0.7Temperature (0-1) controls randomness (range: 0-2)
thinking_levelstringNononeExtended thinking level for complex reasoning (enum: none|low|medium|high|xhigh)
system_promptstringNo-System message for this LLM call
tool_filterarrayNo-Filter which tools are available. Use tool names, glob patterns (edit*), tags (tag:search), or !exclusions (!bash).

Outputs

FieldTypeDescription
response_textstring-
token_countinteger-
upstream_request_idstring-
upstream_proxyman_idstring-

Compact

Compact conversation context to reduce token usage

Create Worktree

Create a git worktree for isolated development

Inputs

FieldTypeRequiredDefaultDescription
namestringNo-Worktree name, used in path
base_branchstringNo-Base branch to branch from
copy_filesstringNo-Files to copy from source repo (e.g. .env)
forcebooleanNo-Force creation by deleting existing worktree

Outputs

FieldTypeDescription
idstring-
namestring-
pathstring-
branchstring-
base_branchstring-
repo_idstring-
statusstring-

Delete Worktree

Delete a git worktree and clean up its resources

Inputs

FieldTypeRequiredDefaultDescription
namestringYes--

Outputs

FieldTypeDescription
deletedboolean-

Execute Tools

Execute tool calls from an LLM response

Inputs

FieldTypeRequiredDefaultDescription
tool_callsstringNo-CEL expression for tool calls to execute

Outputs

FieldTypeDescription
thread_token_countinteger-
total_result_charsinteger-

Run Command

Execute a shell command

Inputs

FieldTypeRequiredDefaultDescription
commandstringNo-Shell command to execute

Outputs

FieldTypeDescription
exit_codeinteger-
stdoutstring-
stderrstring-

Save Message

Save a message to the conversation thread

Inputs

FieldTypeRequiredDefaultDescription
rolestringNo-Message role (enum: user|assistant|system|tool)
contentstringNo-Message content
tool_callsstringNo-Tool calls from LLM response
display_stylestringNo-UI display style hint (enum: info|warning|success|hidden)

Outputs

FieldTypeDescription
messageobject-
message.idstring
message.rolestring
message.textstring
message_idstring-
threadstring-
tool_callsarray-
tool_calls[].idstring
tool_calls[].namestring
tool_calls[].inputstring
tool_resultsarray-
tool_results[].tool_call_idstring
tool_results[].namestring
tool_results[].contentstring
tool_results[].is_errorbool
thread_token_countinteger-
message_countinteger-