Skip to main content
Built-in tools are capabilities Anyreach hosts for you. Unlike config tools (which you define and point at your own webhooks), you turn these on by adding the matching key under built_in_tools in an agent version, and the platform supplies the implementation. The model decides when to call them during a conversation. Each built-in tool is independent: include the key to enable it, omit it to disable it. The keys live under agent.built_in_tools: This page covers time_tool, web_search, retrieve_webpage, and continue_on_phone. Widgets and forms are documented on the web chat widgets and forms page.
Built-in tools are exposed to the model alongside your config tools. For how config tools work, see /agents/tools.

Time

Enable time_tool to give the agent the get_current_time tool. The model can ask for the current date and time, optionally in a specific timezone. The tool accepts an optional timezone argument (an IANA name such as Europe/London or Asia/Tokyo); when omitted, the agent’s default_timezone is used. time_tool works on every channel and direction. Enable web_search to give the agent the web_search tool, which queries Google through Serper. The tool takes: web_search has no configuration fields; add web_search: {} to enable it.
Web search requires a SERPER_API_KEY to be configured on the platform. If it is not set, the tool returns web_search is not configured instead of results.

Retrieve webpage

Enable retrieve_webpage to give the agent the retrieve_webpage tool. It fetches a single URL and returns the page as markdown, scraped through Firecrawl. Use it to read articles, product pages, or documentation when the agent needs a page’s full content. retrieve_webpage has no configuration fields; add retrieve_webpage: {} to enable it.
Webpage retrieval requires a FIRECRAWL_API_KEY to be configured on the platform. If it is not set, the tool returns retrieve_webpage is not configured.

Continue on phone

Enable continue_on_phone to let a web chat agent move the conversation onto a phone call. When the user wants to switch from chat to a call, the model calls continue_on_phone with the user’s phone number and the platform initiates an outbound call.
continue_on_phone is only available on the WebRTC (web chat) channel. Enabling it has no effect on telephone or other channels.
The tool takes one argument from the model: You control which agent and number place the call with the configuration fields below. All are optional.

WebRTC thinking hints

On the WebRTC channel only, web_search and retrieve_webpage gain an extra required argument so the agent can tell the user what it is doing while a slow call runs: On the same channel, a standalone set_thinking_hint tool is also added so the agent can surface a processing hint at any time. It takes a single required hint string.
The thinking_hint argument and the set_thinking_hint tool appear only on WebRTC. On other channels, web_search and retrieve_webpage keep their base argument set and no set_thinking_hint tool is added.

Per-channel availability

A single function, compute_runtime_tool_specs, decides which tools the runtime exposes for a given agent config, channel, and direction. The same built_in_tools config behaves differently depending on where the conversation runs: Config-declared tools are always added first, then time_tool, then channel-specific built-ins, so the order the model sees is consistent across runs.
Direction matters for some tools beyond the built-ins (for example voicemail detection is added only for outbound telephone calls), but the built-in tools above depend only on whether they are configured and on the channel.

Web chat widgets and forms

Configure interactive widgets and structured forms for WebRTC chat.

Tools

Define your own config tools that call external webhooks.