Built-in tools
Built-in tools
Use Runtype’s built-in tools in an Agent or Flow to generate images, search the web, and fetch page content. Use them to browse websites, manage Records, run code, search knowledge bases, store memory, and work with time.
The core built-in tools are:
The built-in tool registry also includes these categories:
- Browser: interact with live web pages.
- File Operations: store files, publish pages, and generate PDFs.
- Record Management: create, read, update, and delete Runtype Records.
- Agent Memory: save and recall information across conversations.
- Sandbox: run code in a Linux environment.
- Send Email: send transactional email through Resend.
- Temporal: get the current time, convert time zones, and schedule reminders.
Choose a tool marked Any model when you want to use it with different model providers. Provider-native tools require a compatible model from the named provider.
Agent Sandbox tools
Enable Sandbox on a model-mode Agent to provide a Linux computer with these automatically injected tools:
bash: run a shell command in/workspace.bash_output: read new output from a running command.kill_process: stop a running process and its child processes.list_processes: list live and retained process handles.read_file: read a file from the sandbox.write_file: write a file to the sandbox.edit_file: edit a file in the sandbox.expose_port: expose a sandbox port through a public preview URL.
The bash tool runs in /workspace. Its timeout_ms value sets when the tool returns control, not when it stops the command. If the command continues, the result includes a process_id, partial output, and a running status.
When a command returns a deliveryId, pass that value as ack_delivery_id to the next bash_output call. Use wait_for_exit_ms to wait for the process to finish instead of polling in a loop. The tool caps the wait at 240,000 milliseconds.
Use list_processes to inspect retained handles without replaying their output. Use kill_process to stop a process, then call bash_output to read any remaining output.
Files you write to /workspace remain available to later calls in the same execution. Session-managed sandbox tools also reuse files when you pass the same sandboxId. The sandbox stores files, not running processes, in its snapshots. A process does not resume after you destroy the container. The sandbox stores the process status and exit code separately from its capped output.
Temporal tools
Use Temporal tools when your Agent needs a current time, a time-zone conversion, an elapsed-time calculation, a stored conversation time zone, or a reminder. These tools work with any model and do not need an API key.
The following table describes the Temporal tools:
When you omit a time zone, Runtype uses the explicit tool parameter, the Agent’s default time zone, the conversation’s stored time zone, or UTC. Set the Agent’s default time zone in the temporal configuration.
Set a reminder
Use Set Reminder to schedule a one-time run of the same Agent. The scheduled Agent receives the message value when the reminder fires and can act on it, including sending a message or email.
Configure the reminder with these parameters:
Set Reminder is available only to Agents. Reminders count toward your plan’s active schedule limit, along with schedules created in the dashboard or API. For more information, see What are Schedules?.
Get started
Add the required provider keys before you configure a tool:
- GPT Image 2: Use a Runtype platform key or add an OpenAI API key in Settings > Models.
- OpenAI Web Search: Add an OpenAI API key in Settings > Models.
- Anthropic Web Search and Anthropic Web Fetch: Add an Anthropic API key in Settings > Models.
- Exa: Use a Runtype platform key or add an Exa API key in Settings > Integrations.
- Firecrawl: Use a Runtype platform key or add a Firecrawl API key in Settings > Integrations.
- Massive Web Render: If the tool is enabled for your account, use a Runtype platform key or add a Massive API key in Settings > Integrations.
- Semantic Search: Add an OpenAI API key in Settings > Models for embeddings. If you need background on vector data, see What are Records?.
Add tools to an Agent
To add built-in tools to an Agent, follow these steps:
- Open the Agent and select the Capabilities tab.
- In the Tools section, select Configure Tools.
- Select tools in the Built-in Tools category. The list includes only tools compatible with the Agent’s model.
- Select Apply Changes.
For the full Agent setup, see Creating and configuring Agents.
Add tools to a Flow
To add built-in tools to a Flow, follow these steps:
- Open the Flow and add or edit a prompt step.
- Open the tool configuration and select Built-in Tools.
- Select the tools you need and configure their optional settings.
For a complete Flow walkthrough, see Creating and editing flows.
If a tool does not appear, confirm that the prompt step or Agent uses a compatible model. Review model compatibility in Settings > Models.
Invoke a built-in tool directly with a Tool Call step
A prompt step lets the model decide when to call a tool. When the call must happen at a fixed point every run, use a Tool Call step instead and set its toolId to the catalog ID:
toolId accepts any built-in or platform catalog ID (builtin:store_asset, builtin:browser:open, builtin:slack:send_message, platform:orthogonal:<vendor>:<op>) as well as a saved Tool. Supply per-tool settings — the same values a prompt step’s tool configuration collects — with the optional config.toolConfig object.
A Tool Call step is deterministic and has no approval gate: it runs whenever the Flow reaches it, with the parameters you wrote. A step on builtin:send_email or a builtin:browser:* tool sends and browses unattended. Approval gating applies to model-chosen tool calls in an Agent or a prompt step.
GPT Image 2
Use GPT Image 2 to generate images from text in an Agent conversation or Flow. The tool returns a generated image that you can view or download.
The following settings control image generation:
For example, ask an Agent to “Create a logo for a coffee shop.” The Agent calls GPT Image 2 and returns the generated image.
OpenAI Web Search
Use OpenAI Web Search with a compatible OpenAI model to retrieve current information from the web during a conversation.
Configure these settings:
- Search context size: Set the context size to
low,medium, orhigh. - Location context: Optionally set a city and region for location-specific search results.
Each search adds a per-search fee to the model token costs. Review these charges under Spend by tool in Usage data.
Anthropic Web Search
Use Anthropic Web Search with a compatible Claude model to retrieve current information from the web.
Configure Max uses as a number from 1 to 10. The default is 5.
Each search adds a per-search fee to the model token costs. Review these charges under Spend by tool in the Usage data view.
Anthropic Web Fetch
Use Anthropic Web Fetch with a compatible Claude Sonnet model to fetch and read content from a specific URL. Use it when your prompt includes a known URL for retrieval.
Configure Max uses as a number from 1 to 10. The default is 1.
Exa
Use Exa with any model to search the web with neural or keyword search. Configure optional full text, summaries, highlights, domain filters, and publication-date filters.
Configure these settings:
- Search type: Select
auto,neural, orkeyword. - Number of results: Return from 1 to 10 results. The default is
5. - Content options: Include full text, AI-generated summaries, or highlights.
- Domain filtering: Include or exclude specific domains.
- Date filtering: Limit results to a publication date range.
Use domain filtering to focus research on selected websites, such as documentation sites.
Firecrawl
Use Firecrawl with any model to extract content from a web page. Firecrawl renders JavaScript pages and returns Markdown, HTML, raw HTML, screenshots, or links.
Configure these settings:
- Output formats: Select Markdown, HTML, raw HTML, screenshots, or links.
- Main content only: Keep this setting enabled to remove sidebars, navigation, and footers from the result.
- Wait time: Add from 0 to 30 seconds for dynamic content to load before scraping.
Use Firecrawl to extract a product page as Markdown for summarization or analysis.
Massive Web Render
Use Massive Web Render with any model to fetch pages that resist ordinary HTTP requests. It renders JavaScript, solves CAPTCHAs, retries requests through a residential network, and supports country-based fetching. The tool returns Markdown by default, rendered HTML, or raw HTML.
Massive Web Render appears only when it is enabled for your account. For setup details, see Massive (web rendering).
Configure these settings:
- Output format: Select
markdown,rendered, orraw. The default ismarkdown. - Country: Enter a two-letter ISO country code, such as
us. - Delay: Add from 0.1 to 10 supplemental seconds before the tool captures content.
Use Massive Web Render when a page returns a 403 response to ordinary requests and you need the rendered content.
Semantic Search
Use Semantic Search with any model to find content in a knowledge base by meaning rather than exact keywords. Add multiple Semantic Search instances to the same Agent or Flow when you need to search different knowledge bases.
Set up a knowledge base instance
To add a Semantic Search instance, follow these steps:
- In the tool configuration, select Add Knowledge Base.
- Enter a Display Name, such as
Search Documentation. The model uses this name when it selects the instance. - Select a vector provider.
- Set the Similarity Threshold from
0to1. Lower values return more results. Higher values return closer matches.
Semantic Search supports the platform pgvector provider, Weaviate, and Cloudflare Vectorize. Each instance points to one knowledge base.
The Limit setting controls the maximum number of results per query. Set it from 1 to 20. The default is 5.
Start with a similarity threshold near 0.3 and adjust it based on result quality. A high threshold can omit relevant content. A low threshold can return noisy results.
Agent Memory tools
Enable Agent Memory to store facts, preferences, decisions, and events across conversations. Unlike Semantic Search, which queries a knowledge base, Agent Memory stores information associated with an Agent Memory profile. Runtype also records each user and assistant exchange in the background. Agent Memory works with any model and does not need an API key.
To enable Agent Memory, set memory: { enabled: true } in the Agent configuration. For profile scoping and the complete configuration, see Memory.
Runtype adds these tools when memory is enabled:
Configure recall_memory with these optional parameters:
thinkingLevel: Set the search breadth tolow,medium, orhigh.responseLength: Set the synthesized answer length toshort,medium, orlong.
When memory is not enabled for an Agent, the memory tools return memory_not_enabled instead of failing silently.
Browser tools
Use Browser tools in an Agent or Flow to interact with live web pages. They appear in the Browser category and support quick actions, persistent sessions, and autonomous browsing.
Quick actions
Quick-action tools run against one URL without keeping a session open. Use them to retrieve content from a page and finish the browser operation in one call.
browser:screenshot: Capture a screenshot of a rendered page.browser:content: Return the fully rendered HTML after JavaScript runs.browser:markdown: Convert a rendered page to Markdown.browser:scrape: Extract data from CSS selectors on a rendered page.browser:json: Extract structured JSON from a rendered page.browser:links: Retrieve links from a rendered page.browser:snapshot: Return rendered HTML and a screenshot together.
Session tools
Session tools share a persistent browser session across turns in the same conversation. Use browser:open to start a session, then pass its sessionId to the other session tools.
browser:open: Start a session and load a URL.browser:navigate: Navigate to a URL in the session.browser:click: Click an element.browser:type: Type into an input.browser:scroll: Scroll the page.browser:session-screenshot: Capture the current session view.browser:evaluate: Run a script against the page.browser:session-info: Read the current session state.browser:close: End the session.
Sessions close after 2 minutes of inactivity and have a 10-minute maximum lifetime. Finish multi-step work within that window.
Hand a session to a person
Hand a browser session to a person when the page needs a login, multi-factor authentication, CAPTCHA completion, payment, or another human decision. Do not share credentials with a browser tool.
browser:get_live_view: Return a Live View URL that opens the page in a browser tab. Treat the URL as a capability and share it only with the intended person.browser:request_handoff: Return a Live View URL and instructions for a person. The tool returns immediately. The person selects Done or Failed in Live View when the task ends.browser:get_handoff_state: Return whether the handoff is active or complete, including the person’s success result.
Set a handoff timeout from 30 seconds to 30 minutes. The default is 10 minutes. While a handoff is active, the session’s inactivity timer and maximum lifetime are paused. Each session supports up to 10 handoffs and 60 minutes of total handoff time.
After you call browser:request_handoff, share the Live View URL and poll browser:get_handoff_state until its status is completed. If the handoff reports failure, use browser:session-screenshot to confirm the page state before continuing.
Autonomous browsing with browser:agent
Use browser:agent when you want a browser tool to complete a web task from a natural-language goal. Provide a startUrl for a new session or a sessionId from browser:open for an existing session.
Configure the result with these options:
- Start a session: Set
startUrl. - Use an existing session: Set
sessionId. - Choose the output: Set
outputSchemafor structured JSON. Without it, the tool returns a text summary.
Session tools use flat per-action billing. browser:agent uses dynamic billing based on usage, with the default account margin of 20%.
File operations
Use File Operations tools in an Agent or Flow to store files, publish pages, and generate PDFs. They appear in the File Operations category.
Store an asset
Use store_asset to store a file from an HTTP or HTTPS URL or from base64-encoded content. The tool returns a public URL or a time-limited signed URL. Stored files are served as downloads instead of rendered inline.
Configure store_asset with these parameters:
Pass exactly one of url or content. Files have a 25 MB size limit. To publish HTML that renders in a browser, use publish_page instead.
Chain a screenshot into store_asset
When a tool returns binary media, such as a browser:session-screenshot PNG, a generated image, or a text-to-speech clip, Runtype stores the bytes and adds a runtype-asset:// handle to the tool result. The model sees the image and the handle in the same turn. On later turns, the transcript keeps only the handle, so the model never re-types the base64 content.
To pass the media to another tool, the Agent puts the handle in a parameter instead of the bytes:
store_assetandpublish_page: accept the handle in theurlparameter. The bytes are read from storage server-side, not downloaded.- Base64 parameters: any parameter whose schema declares
contentEncoding: "base64"resolves a handle to the stored bytes before the tool runs. Built-in examples arestore_asset.content,publish_page.content, andsend_email.attachments[].content. Custom external and MCP tools can declare the same keyword; see Receive binary results from other tools.
Handles are scoped to your organization and expire after 7 days. The same behavior applies on every execution path: Agent turns, Flows, execute_tool on the REST API and MCP server, and Code Mode. When the chain needs logic between hops, such as a loop or a branch, use Code Mode.
Automatic image hosting
When asset storage is available, Runtype stores a permanent copy when GPT Image 2 generates an image. The response includes the hosted URL when storage succeeds. If storage fails, the tool returns the original image URL or media content and the execution continues.
Control media visibility
Set the mediaVisibility setting in a tool configuration to control whether the end user and the model receive media produced by that tool.
The following values control media visibility:
The default is both. Use model for an intermediate image that the model uses for reasoning. Use user for media that you want to display without adding it to the model’s context.
Use platform keys or your own API keys
Runtype provides platform keys for several platform-executed tools. Platform keys are shared and rate-limited. Use them for development and lower-volume workloads.
Connect your own API keys in Settings when you need dedicated rate limits or direct provider billing. For a comparison, see Platform keys vs. bring your own key (BYOK).
Best practices
Use these practices when you configure tools:
- Describe tool use: Tell your Agent when and how to use each tool.
- Limit result counts: Set a result limit that matches the task.
- Combine tools: Pair Exa with Firecrawl for research, or pair Semantic Search with a prompt step for retrieval workflows.
- Use multiple knowledge bases: Configure separate Semantic Search instances for different data sources, such as documentation and customer Records.
Next steps
Follow these links to continue:
- What are Tools?: compare built-in, custom, and external tools.
- Connecting AI model providers: configure provider keys for tools that require them.
- Available AI models: review model compatibility for provider-native tools.