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
Enabletime_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.
Web search
Enableweb_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
Enableretrieve_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
Enablecontinue_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.
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.
Related
Web chat widgets and forms
Configure interactive widgets and structured forms for WebRTC chat.
Tools
Define your own config tools that call external webhooks.

