Agents
Define agent behavior with variations, prompts, and tool assignment.
Agents are workspace-scoped resources that define how an AI executes work. Each agent contains one or more variations — distinct configurations that specify a system prompt, model, and available tools.
Agent lifecycle
Section titled “Agent lifecycle”Agents have three statuses:
- Draft — The agent is being configured. It cannot be used in objectives.
- Published — The agent is available for use in objectives.
- Archived — The agent is retired. Existing objectives continue to work, but new objectives cannot use it.
// Create a draft agentconst agent = await client.agents.create({ name: "Research Agent", description: "Researches topics using web tools", status: "draft",});
// Publish when readyawait client.agents.update(agent.metadata.id, { status: "published",});Variations
Section titled “Variations”Variations are the core of agent configuration. Each variation defines a complete set of instructions and capabilities for the agent.
A variation includes:
- System prompt — Instructions that define the agent’s behavior, personality, and constraints. Up to 1MB.
- Model — Which LLM to use and its temperature setting.
- Tool assignment — Which tools, tool sets, or sub-agents are available.
- Constraints — Limits on tool calls and sub-objectives.
Creating a variation
Section titled “Creating a variation”When you create an agent, you can include an initial variation using default_variation:
const agent = await client.agents.create({ name: "Research Agent", description: "Researches topics using web tools", status: "published", default_variation: { name: "v1", prompt: "You are a research assistant. Find accurate, up-to-date information using the tools available to you. Cite your sources.", model_config: { model_id: "claude/opus-4.6", temperature: 0.3, }, agent_tools: [ { tool_set: { tool_set_id: "toolset_01ABC...", }, }, ], },});You can also add variations to an existing agent:
const variation = await client.agents.variations.create(agent.metadata.id, { name: "v2", description: "More creative research style", prompt: "You are a creative research assistant. Explore unconventional angles and connections.", model_config: { model_id: "claude/opus-4.6", temperature: 0.8, }, agent_tools: [ { tool_set: { tool_set_id: "toolset_01ABC...", }, }, ],});Tool assignment
Section titled “Tool assignment”Three types of tools can be assigned to a variation:
Tool sets
Section titled “Tool sets”Assign an entire tool set. All tools in the set become available to the agent.
agent_tools: [ { tool_set: { tool_set_id: "toolset_01ABC...", }, },];Individual tools
Section titled “Individual tools”Assign specific tools from a tool set, rather than the entire set.
agent_tools: [ { tool: { tool_id: "tool_01XYZ...", }, },];Sub-agents
Section titled “Sub-agents”Assign other agents as sub-agents. The variation can spawn objectives against them during execution.
agent_tools: [ { agent: { agent_id: "agent_01DEF...", }, },];Model configuration
Section titled “Model configuration”Each variation specifies which model to use:
- Model ID — In
family/modelformat, e.g.,claude/opus-4.6. - Temperature — Controls randomness, from
0.0(deterministic) to1.0(creative). Defaults vary by model.
model_config: { model_id: "claude/opus-4.6", temperature: 0.5,}