Capabilities
Capabilities are modular functionality units that extend Agent behavior. A Capability can contribute additions to the system prompt, provide tools, and modify execution behavior. Users can enable multiple capabilities on an Agent to compose functionality.
Overview
When you assign capabilities to an agent, those capabilities enhance what the agent can do:
- System Prompt Additions: Some capabilities add instructions to the agent’s system prompt
- Tools: Capabilities can provide tools that the agent can use during conversations
- Behavior Modifications: Future capabilities may modify how the agent processes requests
Available Capabilities
Current Time
Status: Available
Adds a tool to get the current date and time in various formats and timezones.
- Tool:
get_current_time - Formats: ISO 8601, Unix timestamp, human-readable
- Use cases: Agents that need to know the current time or date
No-Op
Status: Available
A no-operation capability for testing and demonstration purposes. Does not add any functionality.
- Use cases: Testing capability assignment workflow
Deep Research
Status: Coming Soon
Enables deep research capabilities with a scratchpad for notes, web search tools, and structured thinking.
- System Prompt: Adds research scratchpad instructions
- Use cases: Research-focused agents
Sandboxed Execution
Status: Coming Soon
Enables sandboxed code execution environment for running code safely.
- System Prompt: Adds code execution instructions
- Use cases: Agents that need to run code
File System Access
Status: Coming Soon
Adds tools to access and manipulate files - read, write, grep, and more.
- System Prompt: Adds file system access instructions
- Use cases: Agents that need to work with files
Web Fetch
Status: Available
Enables fetching content from URLs and converting HTML to markdown or plain text.
- Tool:
web_fetch - Features:
- Fetch web content with configurable timeouts (1s for first byte, 30s for body)
- Convert HTML to markdown or plain text
- Extract metadata (size, filename, last modified)
- Returns metadata for binary content (images, PDFs) instead of failing
- Use cases: Agents that need to retrieve information from the web
Managing Capabilities
Via UI
- Navigate to the Agent detail page
- Find the Capabilities section in the sidebar
- Enable or disable capabilities using the checkboxes
- Reorder capabilities using the up/down arrows
- Click Save to apply changes
The order of capabilities matters - capabilities are applied in the order shown, with earlier capabilities’ system prompt additions appearing first.
Via API
Create agent with capabilities:
curl -X POST http://localhost:9000/v1/agents \ -H "Content-Type: application/json" \ -d '{ "name": "My Agent", "system_prompt": "You are a helpful assistant.", "capabilities": ["current_time", "web_fetch"] }'Update agent capabilities:
curl -X PATCH http://localhost:9000/v1/agents/{agent_id} \ -H "Content-Type: application/json" \ -d '{ "capabilities": ["current_time", "session_file_system"] }'Get agent (includes capabilities):
curl -X GET http://localhost:9000/v1/agents/{agent_id}List all available capabilities:
curl -X GET http://localhost:9000/v1/capabilitiesCapability Application Flow
When a session runs, capabilities are applied as follows:
- The agent’s assigned capabilities are fetched (ordered by position)
- Each capability’s system prompt addition is collected
- Each capability’s tools are collected
- The final system prompt = capability additions + agent’s base prompt
- All capability tools are made available to the agent
Best Practices
- Order Matters: Place more important capabilities first - their instructions appear earlier in the system prompt
- Minimal Capabilities: Only enable capabilities the agent actually needs
- Test Combinations: Some capability combinations may produce unexpected behaviors
- Check Status: Coming Soon capabilities cannot be enabled yet