> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Tools

> A workspace-wide catalog of custom tools and pre-built connectors any assistant can call

Assistants act on the world through tools — actions they can take during a conversation. **Agent Tools** (`/tools` in the sidebar, under **Agents**) is where you build your own tools once and connect pre-built ones, so any assistant in the workspace can use them.

<Note>
  Agent Tools is workspace-wide: a tool lives here once and is assigned to as many assistants as you like. An assistant's own **Tools** tab is the per-assistant view, where you switch platform actions like call transfer, SMS, and end call on or off for that one assistant — see [Built-in tools](/assistants/built-in-tools).
</Note>

## Installed

Your workspace's own tools, grouped by type:

* **HTTP API tools** — call your own HTTP endpoint from any supported conversation channel, for example `book_appointment → POST https://…`.
* **MCP servers** — connect an external MCP server and allow every tool it offers, or select only specific ones.
* **Built-in** — platform capabilities such as call transfer, SMS, or end call, set up once here and reused across assistants. The same actions can be configured per assistant instead; see [Built-in tools](/assistants/built-in-tools).

Each tool is created once and can be assigned to several assistants — select **Assign** on a tool to see and change which ones use it. Editing a tool updates it everywhere it's assigned, and each row shows how many assistants use it (or **Unused**).

Rows also carry the tool's health: the result of its last run, and a warning when a connection stopped working. If an MCP server's sign-in expired, select **Reauthorize** on that tool — the connection is repaired in place, so assignments, allowed tools, and settings stay as they were.

## Agent Connectors

The **Agent Connectors** tab is a searchable app store of pre-built integrations — CRM, Calendar, Telephony, Automation, Productivity, Utilities, and Other apps, filterable by category or narrowed to MCP-only — that attach to an assistant as a callable tool in a couple of clicks instead of building an API tool by hand. Connect with an API key or an OAuth sign-in, depending on the app.

## Execution behavior

Every tool an MCP server exposes has its own **Execution behavior** section in the server's editor, controlling how that tool runs during a call or chat:

* **Allow cancellation** — lets the assistant cancel a running invocation. Cancellation can't undo a remote change the tool already made.
* **Duplicate calls** — what happens if the assistant tries to call the same tool again while it's still running: allow it, reject it, replace the running call, or ask the assistant to confirm first.
* **Speak progress updates** — read out progress text the MCP server sends while the tool runs. Only enable this for servers you trust, since that text becomes part of the conversation.

## Max tool steps

Each assistant has its own **Max tool steps** setting, in its **Tools** tab — how many tool calls it may chain within a single turn before it has to answer without calling another tool. Range 1–20, default 3.

## Tool versions

Every change to a tool is versioned. Use the API or MCP to review a tool's history and restore an earlier version if a recent edit broke something.

## Managing tools

Workspace admins create, edit, and assign tools. Other members see a notice that tools are managed by workspace admins.

## Availability

Your plan's **Tools & MCP** limit caps how many tools the workspace can have installed at once. MCP servers additionally need the **Connect AI (MCP)** plan feature — without it, creating an MCP tool is refused. Both are shown under **Settings → Plan**.

## API & MCP

| REST                                                  | MCP tool                                     | Scope                                  |
| ----------------------------------------------------- | -------------------------------------------- | -------------------------------------- |
| `GET/POST /api/v1/tools`                              | `list_tools`, `create_tool`                  | `assistants:read` / `assistants:write` |
| `GET/PATCH/DELETE /api/v1/tools/{id}`                 | `get_tool`, `update_tool`, `delete_tool`     | `assistants:read` / `assistants:write` |
| `GET /api/v1/tools/{id}/versions`                     | `list_tool_versions`                         | `assistants:read`                      |
| `POST /api/v1/tools/{id}/versions/{revision}/restore` | `restore_tool_version`                       | `assistants:write`                     |
| `GET /api/v1/tools/{id}/usage`                        | `get_tool_usage`                             | `assistants:read`                      |
| `POST /api/v1/tools/{id}/reauthorize`                 | `reauthorize_tool`                           | `assistants:write`                     |
| `GET/PUT /api/v1/assistants/{id}/tools`               | `get_assistant_tools`, `set_assistant_tools` | `assistants:read` / `assistants:write` |

See [Tools & webhooks](/api/tools-and-webhooks) for request and response details.

## Next steps

<CardGroup cols={2}>
  <Card title="Built-in tools" icon="wrench" href="/assistants/built-in-tools">
    Turn on call transfer, SMS, email, and other platform actions per assistant
  </Card>

  <Card title="Tools & webhooks" icon="webhook" href="/api/tools-and-webhooks">
    Full API and MCP reference for building and assigning tools
  </Card>
</CardGroup>
