Skip to main content
An agent node ("type": "agent") runs an LLM-backed step. It is the only node type with more than one handler class, and handler_class decides the shape of process. Use this page when building nodes for Create a Workflow or Update a Workflow.

Choosing A Class

An agent_advanced node cannot be used as a tool by another advanced agent. Only Basic and Custom agents, code utilities and integrations can be referenced in tool_references.

agent_basic

You describe what the step should achieve; Opus generates the prompting.
object
required
See Blueprint below.
string
Model identifier. Defaults to an empty string, which lets Opus pick.
string
Model provider. Defaults to an empty string.
string
Model to fall back to if the primary is unavailable.
string
Provider for backup_model.
agent_basic

agent_custom

You write the prompts verbatim. Opus sends them as given.
string
required
The system prompt, sent unchanged.
string
required
The user prompt, sent unchanged.
string
Model identifier. Defaults to an empty string.
string
Model provider. Defaults to an empty string.
string
Model to fall back to if the primary is unavailable.
string
Provider for backup_model.
agent_custom

agent_advanced

A blueprint agent that can call other handlers as tools.
object
required
See Blueprint below. Identical to the agent_basic blueprint.
array | object
The tools this agent may call. Defaults to empty.
object
The handlers behind those tools, keyed by tool name.
number
default:"5"
How many tool-calling rounds the agent may take before it must answer.
string
Model identifier. Defaults to an empty string.
string
Model provider. Defaults to an empty string.
string
Model to fall back to if the primary is unavailable.
string
Provider for backup_model.
agent_advanced

Blueprint

Used by agent_basic and agent_advanced. Four fields are required — the blueprint is what Opus turns into prompts, so an empty description produces a weaker agent.
string
required
What this step is meant to achieve
string
required
What the step takes in, described as a whole
string
required
How the step should go about the work
string
required
What the step hands on, described as a whole
array
Named inputs, each { name, description }. Defaults to empty.
array
Named outputs, each { name, description }. Defaults to empty.
array
Steps the agent must carry out, each { name, description }. Defaults to empty.
input_description and output_description describe the step’s input and output as a whole. Per-variable descriptions belong in input_schema and output_schema instead.