> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/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>

## Agent Tools vs. Automations

Both are ways for an assistant to act on outside systems, but they run at different moments. A tool on this page is something the assistant reaches for itself, live, while it's already talking to someone — deciding in the moment that it needs to look something up or create a record. An automation is a fixed sequence of steps you (or Milian) design in advance, usually started by a background event like a call ending.

| | Agent Tools (this page) | Automations |
| - | - | - |
| Runs | Live, mid-conversation | Mostly in the background, on a trigger |
| Steps chosen by | The assistant, as it needs them | You or Milian, in advance |

The two meet in one place: an automation you make assistant-callable appears in **Installed** as an **Automation-managed** tool — listed here, but edited from the automation itself. For background workflows started by events like **On Call Completed** or a new contact, see [Automations](/automations/overview).

## 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.

<Frame caption="Agent Tools → Installed → API → Custom Agent Tool: select HTTP API tool, name it, describe when to use it, then set the method, URL, and parameters.">
  <img src="https://mintcdn.com/ouraicall/in65rcKkEfEQesee/images/guide-ui/agent-tool-api-editor.png?fit=max&auto=format&n=in65rcKkEfEQesee&q=85&s=b6b71c6790bc14808efe40ee73468f28" alt="New HTTP API tool form with placeholder values" width="960" height="1112" data-path="images/guide-ui/agent-tool-api-editor.png" />
</Frame>

## 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.

<Frame caption="Tools — browse supported connectors">
  <img src="https://mintcdn.com/ouraicall/WagMmZTnlbbvnz8J/images/app-ui/tools-connectors.jpg?fit=max&auto=format&n=WagMmZTnlbbvnz8J&q=85&s=8f68cc9252377cfcb4012e81fc55bb6f" alt="Tools and connectors catalog" width="1383" height="650" data-path="images/app-ui/tools-connectors.jpg" />
</Frame>

## Waiting behavior

Each HTTP API tool has a **Voice behavior** section that controls what callers hear while its request runs. These settings apply to voice conversations only:

* **Talk While Waiting** — the conversation continues while the request runs. Once the result arrives, the assistant shares it at the next pause. Turn this on for requests that take more than a few seconds.
* **Filler phrase** — said when the request starts, for example "One moment, I'm checking that." With **Talk While Waiting** on, an empty field uses a default phrase; with it off, an empty field means nothing is said.
* **Talk After Action Completed** — on by default: the assistant continues as soon as the request finishes, for example to share the result or use it in a next step such as a transfer. Turn it off to complete the action without a reply: the assistant still receives the result, but waits for the caller to speak before it continues.

With **Talk While Waiting** off, the caller waits until the request finishes; a [thinking sound](/assistants/conversation-quality#background-audio) can fill that pause.

**Timeout (sec)** under **Request** sets how long the assistant waits for a response: 1 to 120 seconds, 10 by default. Set it above the longest time your endpoint needs — a request that takes longer counts as failed. MCP servers have the same field under **Connection**.

## 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.

## Always available

Some tools are attached by the platform itself and never appear under **Installed** — you don't assign them, and they can't be removed:

| Tool | When it's available |
| - | - |
| `get_current_time` | Always, on every call and chat. Returns the current date and time in the assistant's timezone (a campaign timezone overrides it). The system prompt also receives a "Today is …" line at call start, and `{{date}}` / `{{time}}` are available as variables. |
| `search_knowledgebase` | As soon as a knowledge base is attached to the assistant. |
| `submit_knowledge_gap_draft` | When a knowledge base is attached and knowledge-gap capture is enabled. |
| `check_availability`, `book_appointment` | When a calendar integration is connected under the assistant's **Integrations** tab. |
| Recall job tools | Only on a [Famulor Loop](/telephony/famulor-loop) Recall call. |

A prompt that tells the assistant to call one of these works without any tool assignment. Everything else — built-ins, API tools, MCP servers, connectors — must be installed and assigned.

## 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

<Frame caption="Assistant Settings → Advanced → Tools: assign a tool with Add tool, then review its settings. The example shows the end-call Farewell field.">
  <img src="https://mintcdn.com/ouraicall/in65rcKkEfEQesee/images/guide-ui/assistant-tools.png?fit=max&auto=format&n=in65rcKkEfEQesee&q=85&s=a4e9ce9290c7d0650bf09f139210989b" alt="Assistant Tools tab with Add tool and end-call farewell settings" width="960" height="1045" data-path="images/guide-ui/assistant-tools.png" />
</Frame>

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**.

Reusable tools and assistant MCP connections share the **Tools & MCP** workspace limit. A reusable tool assigned to several assistants counts once. Reseller customer workspaces include five tools with plan or prepaid access; paid **Extra Tools** add-ons provide more capacity. **Connect AI (MCP)** must also be enabled in the assigned plan or prepaid defaults. Review your allowance 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>

## Manage tools with Milian

Ask Milian to create or edit HTTP, MCP and built-in tools, enable or disable them, inspect versions, restore a previous version, and assign or unassign tools. It preserves other assignments and checks the current revision before saving. Shared changes affect every assistant using the tool. Archiving requires an explicit request and is available only for unused tools.

Milian can discover an MCP server’s functions and inspect execution history. HTTP tests send real requests and require your approval. OAuth sign-in remains a browser step you complete yourself.

| REST | MCP | Scope |
| - | - | - |
| `POST /api/v1/tools/test` | `test_tool` | `assistants:write` |
| `POST /api/v1/tools/discover` | `discover_tool` | `assistants:write` |
| `GET /api/v1/tools/{id}/runs` | `list_tool_runs` | `assistants:read` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.