Skip to content

Tools and Web Access

Thorsten Sommer edited this page Oct 31, 2026 · 3 revisions

AI models in AI Studio can use tools on their own: they search the web, read web pages, search your Confluence wiki, or search the data sources of a chat. This page shows how you switch tools on and off, how you configure them, and how you keep internal content from leaving through them.

The tools

ID Tool Default minimum confidence
web_search Web Search VERY_LOW
read_web_page Read Web Page VERY_LOW
search_confluence Search Confluence, for Confluence Data Center HIGH, always
semantic_search Semantic Search in the data sources of a chat NONE
mailboxes The tool collection for mailboxes (prototype): search, read, and count mails VERY_LOW

Some tools only make sense together and form a tool collection, such as mailboxes. Wherever your configuration names tools, use the ID of the collection for them.

Users select tools per chat and per assistant. semantic_search isn't selected: it offers itself whenever a chat has data sources.

Switching tools on and off

-- No tools at all:
CONFIG["SETTINGS"]["DataTools.EnableTools"] = false

-- Single tools or collections off:
CONFIG["SETTINGS"]["DataTools.DisabledToolIds"] = { "web_search" }
  • With EnableTools = false, AI Studio hides the tool selection in chats and assistants.
  • DisabledToolIds is always locked. Users can't switch on a tool you switched off. AI Studio ignores unknown IDs, so you can list a tool before it exists.
  • Switching off semantic_search makes AI Studio search the data sources of a chat with every message instead.
  • Users can switch off further tools themselves in "Tool Settings", for example, the Confluence search when they have no Confluence. That's their choice and not part of your configuration.

Minimum confidence per tool

CONFIG["SETTINGS"]["DataTools.MinimumProviderConfidenceByToolId"] = {
    ["web_search"] = "LOW",
    ["read_web_page"] = "LOW",
    ["search_confluence"] = "HIGH",
    ["semantic_search"] = "NONE",
}

A provider below the minimum of a tool can't use it. search_confluence always requires HIGH, whatever you set. semantic_search needs no minimum of its own: it offers a provider only the data sources whose level the provider meets. The table is locked as a whole unless you add DataTools.MinimumProviderConfidenceByToolId.AllowUserOverride = true.

Configuring tools

Tool settings are keys of the form "<tool ID>.<field name>", and their values are always text. Two tables decide how firmly a value applies:

  • DataTools.LockedToolSettings: users can't change the value.
  • DataTools.DefaultToolSettings: the value is preset, and a value the user saves wins.
CONFIG["SETTINGS"]["DataTools.LockedToolSettings"] = {
    ["web_search.searxng.baseUrl"] = "https://searxng.intra.example.org/",
    ["web_search.defaultLanguage"] = "de-DE",
    ["read_web_page.freeAddressChoice"] = "OFF",
    ["read_web_page.allowedPrivateHosts"] = "intra.example.org, *.intra.example.org",
    ["read_web_page.internalPageOutboundDataRestriction"] = "ONLY_LINKS_FROM_CHAT",
    ["search_confluence.baseUrl"] = "https://wiki.intra.example.org/confluence/",
}

CONFIG["SETTINGS"]["DataTools.DefaultToolSettings"] = {
    ["web_search.maxResults"] = "5",
    ["web_search.defaultSafeSearch"] = "MODERATE",
}

API keys of tools, such as those of Staan or Tavily, can be rolled out only encrypted (see Providers and API Keys) and only in LockedToolSettings. AI Studio refuses a key in plain text and logs a warning. A key the user entered stays untouched and returns when you stop rolling out yours.

The example plugin lists every field. The most important ones:

Web Search

  • Search services: SearXNG, Staan, and Tavily. With more than one, web_search.backendStrategy decides what happens, and web_search.primaryBackend which one AI Studio asks first.
  • SearXNG needs an instance of your own: AI Studio reads its results as JSON, which public instances usually don't offer. Enable json in search.formats of the instance's settings.yml.
  • web_search.defaultLanguage is required, for example, de-DE, or all for no language.

Read Web Page

  • read_web_page.freeAddressChoice: with OFF, the AI reads only addresses that appear in the chat, written by the user or returned by a tool. With ON, it may also choose addresses itself.
  • read_web_page.allowedPrivateHosts: private or VPN hosts the AI may read, separated by commas, such as intra.example.org, *.intra.example.org. Public pages don't need to be listed. AI Studio never reads private addresses that aren't listed here.
  • read_web_page.internalPageOutboundDataRestriction: where a chat may send data once it read internal content, see below.

Search Confluence

  • Works with Confluence Data Center; Confluence Cloud isn't supported yet.
  • search_confluence.baseUrl is the HTTPS address of the wiki, with its context path, such as https://wiki.intra.example.org/confluence/.
  • Selecting Search Confluence also selects Read Web Page, which opens the pages found. If your wiki has a private or VPN address, add its host to read_web_page.allowedPrivateHosts.
  • For a wiki with a private address, AI Studio signs in with the user's operating system account.

Internal content and outbound data

A web search, or an address the AI writes itself, could carry internal content to third parties. That's why a chat restricts its tools once it read internal content: a page with a private or VPN address, a page of your Confluence wiki, or a search of that wiki. read_web_page.internalPageOutboundDataRestriction sets the level:

Level What the chat may still do
ONLY_CONFIGURED_SERVICES Read only pages of your wiki and of the allowed private hosts. No web search.
ONLY_LINKS_FROM_CHAT (default) Also read pages whose addresses stand in the chat. No web search, and no addresses the AI chooses outside your wiki and the allowed hosts.
UNRESTRICTED No restriction beyond those of each tool.

Lock it to ONLY_CONFIGURED_SERVICES when the AI mustn't even choose which of the given links to follow. Data sources and mailboxes restrict a chat in the same way, see Confidence and Data Security.

Exporting tool settings

You can set a tool up in "Tool Settings" and export it, see Testing and Exporting Configurations. The export asks more than others:

  1. Choose the areas to export. For Web Search, SearXNG, Staan, Tavily, and General are separate areas; select General for the language, the strategy, and the preferred service.
  2. Choose "Locked settings" or "Editable defaults".
  3. Optionally include encrypted API keys. They always go into LockedToolSettings.
  4. Decide whether to include the minimum confidence of the tool.
  5. Paste the fragment after CONFIG["SETTINGS"] = {} in your plugin.

The fragments extend the tables instead of replacing them, so you can combine several. A later line like CONFIG["SETTINGS"]["DataTools.LockedToolSettings"] = { … } would replace what came before, so put the fragments after it.

Where to go next

Clone this wiki locally