Agent tools
Attach tools to an Agent so it can call your APIs, run code, or query knowledge bases during a run. The Agent selects tools automatically using their descriptions.
How tool selection works
The Agent reads tool descriptions and invokes the best match autonomously. You don't specify when tools are called.
Tool types for Agents
Built-in tools
Runtype provides ready-to-use platform integrations and provider-native tools:
Web search and scraping
Exa: Neural and keyword web search with summaries and highlights
Firecrawl: Scrape and extract content from any URL as markdown
OpenAI Web Search: Native web search via OpenAI models
Anthropic Web Search: Native web search via Anthropic models
xAI Web Search / X Search: Native web and X/Twitter search via xAI's Responses API
Content generation
DALL-E: Image generation from text descriptions
Knowledge and data
Vector Search: Semantic search across your knowledge bases
Runtype Record tools: Read, write, list, and delete Records directly
Voice
ElevenLabs TTS: Text-to-speech synthesis
ElevenLabs STT: Speech-to-text transcription
Provider-native tools (OpenAI Web Search, Anthropic Web Search, xAI Search) require the corresponding model provider. Platform tools (Exa, Firecrawl, DALL-E, Vector Search, ElevenLabs) work across any model and use your platform key or BYOK configuration. Enable platform integrations in Settings → Integrations.
Custom tools
JavaScript or Python code you write for specialized tasks. Custom tools run in a sandbox with no network access (Cloudflare Worker) or in a configurable container (Daytona). See Creating custom tools.
External tools
HTTP API endpoints the Agent calls with dynamic parameters. See Creating external tools.
Flow tools
Any published Flow can become a tool. The Agent invokes the Flow like a function, passing parameters and receiving the Flow's final output.
Create and publish a Flow
Add it to the Agent's tools list
The Agent can now invoke that Flow
This is useful for reusing complex multi-step logic across multiple Agents.
MCP tools
Connect to external MCP (Model Context Protocol) servers to expose their tools to your Agent. Configure an MCP integration in Settings → Integrations, then add individual MCP tools to the Agent.
Attaching tools to an Agent
Add tools to an Agent from the Agent editor:
Open the Agent you want to configure
Go to the Tools section
Click Add Tool
Select from built-in, custom, external, Flow, or MCP tools
Save the Agent
Writing effective tool descriptions
Tool descriptions guide Agent decision-making. Be specific:
Good:
lookup_customer_order(orderId: string) -> Order
Retrieves detailed order information by order ID. Returns order status,
items, shipping address, and tracking number. Use this when users ask about
specific orders.Poor:
Gets order dataInclude:
What the tool does
When to use it
What it returns
Any limitations or requirements
Tool parameters
Agents need to know what parameters tools expect. Parameter names, types, and descriptions are forwarded to the model automatically. Write descriptions as clear instructions — the Agent reads them to decide what values to pass.
Multi-step tool usage
Agents can chain tools without explicit orchestration. For example, an Agent with lookup_customer and create_ticket tools can resolve a refund request end-to-end.
Monitoring tool usage
Review execution logs to see which tools the Agent called, in what order, and with what parameters. This helps you understand Agent reasoning and identify wrong tool selections.
Tip: If an Agent repeatedly calls the wrong tool, improve that tool's description or add examples of when to use it.
Tool call limits
Set Max iterations to prevent runaway tool calling:
Too low: Agent gives up before completing the task
Too high: Expensive runaway executions
Recommended: 5–10 for most tasks
Error handling
If a tool returns an error or non-2xx response, the Agent sees the error message and can retry or switch tools. Set Max iterations on the Agent to prevent runaway loops. Make tool error messages clear so Agents can respond appropriately.
Best practices
Start with 2–5 tools. Too many tools confuse the Agent.
Avoid overlapping tools. Similar tools lead to poor selection.
Descriptive names.
search_ordersis better thansearch.Test tool selection by running the Agent and checking the execution log for the tool call sequence.
Monitor costs. Each tool call = LLM reasoning + tool execution.
Use managed secrets. Never expose credentials in tool configs or descriptions.
Next steps
Creating custom tools — build specialized JavaScript and Python tools
Creating external tools — HTTP API integrations
What are Tools? — conceptual background