
# Tools, Knowledge and Memory

A voice agent with no tools can only talk. Tools are what let it look things
up, write things down and send things — during the call, while the caller is
still on the line. This article covers the **Tools** tab: what the groups
mean, which switches matter, and the ones people forget.

Everything here is on the agent's **Tools** tab (**Tools & Capabilities**),
except Testing mode, which is on **Setup**.

## What you'll need

- The **`agents:voice:manage`** permission.
- A saved voice agent — see [Create a Voice Agent](/help/voice-agents/creating-campaigns).
- For knowledge search: published Tenant Brain concepts, or a vector store
  with documents in it.
- For helpdesk tools: the Helpdesk feature configured, including its AI
  governance policy.

## Enable a tool

1. Open the agent and click the **Tools** tab.
2. Use the search box ("Search tools, MCP servers, capabilities…") or expand a
   category. Tools are grouped so 60-plus of them do not arrive as one list;
   categories holding a selection or a recommended tool start open.
3. Tick the tools this agent should have. The header keeps a running count —
   *"N of M selected"* — and a sticky tray shows what you have picked no
   matter how far you scroll.
4. **Save Changes**, then promote when you are ready.

**An agent gets a tool only if it is ticked here.** There is no implicit set;
if the agent "won't do" something, this tab is the first place to look.

Five are marked as recommended for most agents: **`send-sms`**,
**`send-email`**, **`web-search`**, **`retrieval_search`** and
**`save-update-user`**.

## The groups, and what they are for

```mermaid
flowchart TB
    A["Tools tab selection"] --> B["In-call telephony<br/>transfer · cold_transfer · send-dtmf<br/>voicemail_detection · manage_timer"]
    A --> C["CRM & contacts<br/>save-update-user · notes · tasks · deals"]
    A --> D["Knowledge & search<br/>Tenant Brain · vector search · web search"]
    A --> E["Messaging<br/>send-email · send-sms"]
    A --> F["Helpdesk<br/>create·reply·update ticket<br/>CSAT"]
    A --> G["Operations & duty<br/>duty-check · duty_notify"]
    A --> H["Integrations<br/>Google · Microsoft · calendar · maps · Workiz · ERS"]
    A --> I["MCP servers<br/>your own connected tools"]
```

**Voice & Calls** — the in-call mechanics: warm and cold transfer, keypad
tones, voicemail detection, timers. See
[Transfers, Forwarding and the Duty Roster](/help/voice-agents/transfers-and-escalation).

**CRM & Contacts** — `save-update-user` identifies and updates the caller,
plus the verbs to add notes, create tasks and deals, and move lifecycle
stages. Everything in this group is pinned to the caller the agent
identified — the agent cannot redirect a CRM write to somebody else's record.

**Knowledge & Search** — Tenant Brain reads and searches, document
(`file-search` / vector) search, web search, and fetching the detail of a
prior interaction.

**Messaging** — `send-email` and `send-sms`. Both use the identity you set on
the **Telephony** tab (from name, from address, signature, SMS number).

**Helpdesk & Tickets** — create, read, list, update and reply to tickets, and
record a satisfaction score. These are **caller-scoped**: they only ever touch
the caller's own tickets, and replies are public replies. Status and priority
changes follow your Helpdesk AI governance policy and may wait in the
approvals queue rather than applying immediately.

> **Helpdesk tools need `save-update-user` too.** Tickets are filed under a
> contact, and that is the tool the agent identifies the caller with. Enable a
> helpdesk tool without it and the tab warns you: the agent will not be able
> to open tickets at all.

**Operations & Duty** — duty lookups and notifications.

**Integrations & Other** — Google Workspace, Microsoft 365, calendar, maps,
and industry packs such as Workiz and roadside assistance, where configured.

Two tools are always available and are not listed: the agent can always tell
the time, and it can always record an opt-out if a caller asks not to be
contacted again.

## Knowledge: the Tenant Brain versus a vector store

Both let the agent answer from your material; they are not the same thing.

| | Tenant Brain | Vector stores |
|---|---|---|
| Holds | Governed, versioned concepts your team reviewed and published | Documents you uploaded |
| Best for | Policies, playbooks, FAQs, pricing rules — anything that must be right | Manuals, spec sheets, long reference PDFs |
| Citation | The call shows which concepts were used | Retrieved passages |
| Who changes it | Published through review; agents can *propose*, not publish | Whoever manages the store |

For anything a caller might act on, prefer the Brain. A policy that lives only
in a PDF gets retrieved differently every time; a published concept is one
governed answer.

**Vector Stores** has its own block lower on the tab: *"Select the vector
stores this agent can search."* It is **required when using the `file-search`
tool** — enabling the tool without selecting a store leaves the agent with
nothing to search. The header shows *"N of M selected"*.

Tenant Brain tools include draft-only **proposal** ability: the agent can
suggest a concept from something it learned on a call, and a human publishes
it. That is the loop that makes next month's calls better than this month's.
See [Tenant Brain](/help/knowledge/overview).

### Brain settings for this agent

An agent with `read_knowledge` or `search_knowledge` ticked sees a **map** of
the Tenant Brain in its instructions (one line per published entry) and reads
entries by path; when it cannot name a path, the brain's advisor picks one. The
**Tenant Brain** block on the Tools tab, right under the tools list, sizes that
map and each read for this agent. Every value has a platform default, shown as
a placeholder until you set one.

| Setting | What it does | Default |
|---|---|---|
| **Include the brain's map in this agent's instructions** | Off, the agent keeps its brain tools but gets no map and has to list the brain before it can read a path. | On |
| **Map lines** | *Lean* is path, title, tags and aliases; *Full* adds each entry's description so the agent can tell siblings apart without a read. | Lean |
| **Map budget (characters)** | How much of the map the prompt may carry. The map trims to fit, whole sections first, and never drops silently. | 12,000 |
| **Read budget (characters)** | What one read may return. The first entry is trimmed before anything is dropped. | 8,000 |
| **Entries per lookup** | How many entries one `read_knowledge` or `search_knowledge` call returns at most. | 3 |
| **When a lookup names no path** | *Serve the advisor's pick* returns the best entry's content in one round trip; *Return the shortlist* hands the agent the candidates to choose from. Both run the advisor. | Serve |

Every character of the map and of a read is time to first word on a call, so
the block's **Recommended for voice agents** line suggests a lean map of 8,000
characters, reads of 4,000 and 2 entries per lookup; **Apply recommended**
sets them in one click. The line under the block reads back what the agent
will get. The same block, with its own recommendation, is on every agent
type's form.

## MCP Servers

**MCP Servers** connects the agent to tools you host or subscribe to, beyond
what ships with the platform. Pick the servers this agent may use, and — where
a server offers many — the individual tools from each.

Everything about MCP is subject to the **Testing mode** rule below.

## Memories

**Memories → Enable Memories** gives the agent per-contact memory that
survives between calls: what this person prefers, what was agreed last time,
the thing they always have to explain. With it on you can also choose which
**memory types** the agent may read and write.

Memories are **not** part of a browser test run, so a memory-dependent
behaviour has to be checked with **Simulate Call** or a real call.

## Cross-Agent Enrichment

**Cross-Agent Enrichment** ("Pull recent interactions from other agent types
into this agent's context") is the setting that makes a caller feel recognised
rather than processed: the agent opens the call already knowing the person
emailed on Tuesday and used the website chat this morning.

1. Turn on the switch.
2. **Agent types to pull from** — tick any of **ChatAgent**, **TaskAgent**,
   **SmsAgent**, **VoiceAgent**. Only interactions with *this contact* are
   surfaced.
3. **Interactions per type** — how many recent ones per selected type, 1 to
   10, default 2.

It also enables the agent's ability to fetch the full detail of one of those
interactions when the summary is not enough.

Keep the count low. Each interaction is context the model reads on every turn,
so a high number costs latency on the whole call in exchange for history the
agent may never need.

## Optional Prompt Components

Below the tools, **Optional Prompt Components** switches on reusable prompt
text — platform components and your workspace's own. System components are
always included and are not listed here. Your workspace's components are
created by a tenant admin at **Settings (the gear icon) → Agents & AI → Prompt
Components**. See
[Instructions, Goals and Scheduled Prompts](/help/voice-agents/instructions-and-scheduling).

A component of kind **Section** is a *situation* — instructions for one moment
in a call that the agent reads with `read_instructions` only when the moment
arrives. Sections are picked on the agent's **Situations** tab, not here. See
[Situations](/help/knowledge/situations).

## Testing mode disables all of this

On the **Setup** tab, **Agent Mode → Testing Agent** deliberately turns off
MCP servers, memories and external tools. The agent still talks; it cannot
act.

It is the right setting for rehearsing wording without sending real emails,
and it is the most common reason an agent that "worked yesterday" suddenly
does nothing. The form shows a **Testing mode** badge in the header while it
is set — and switching to Testing clears the agent's tool, MCP and voicemail
settings when saved, so it is not a switch to flip casually on a configured
agent.

## Tools run for real

This is worth stating plainly, because it surprises people during testing:
when a tool fires, it fires. Emails are sent, texts go out, tickets are
created, connected systems are written to — including from the browser test
panel, which says so in its own description.

When you are still iterating, use **Testing Agent** mode, or test with your
own contact record and your own phone number.

## Tools on live-audio calls

On a **Gemini 3.8 Live** agent the Tools tab gains **Tools on live-audio
calls**: one row per enabled tool with what the caller hears while it runs —
**Wait for the result** (the agent pauses), **Keep talking · interrupt** (the
result cuts in as soon as it lands), **Keep talking · at the next pause** (the
agent finishes its sentence first) or **Keep talking · silently** (the result
simply enters the agent's context; if the agent said nothing when it called
the tool, it speaks again once the result is in, so the caller is never left
in silence). The defaults by kind: lookups and sends at
the next pause, saves silently, transfer / end call / voicemail-detected
**wait**, because the call cannot continue past them — change those only if
the agent should finish its sentence first. On the extended-thinking variant
every tool keeps talking, whatever is set. Whichever you pick, the agent is
told per tool never to say a result is done before it has it.

While a "keep talking" tool runs, the agent is told to use the time: it
starts a lookup as soon as it has what the lookup needs, and in the same
breath says what it is checking and asks the question that moves the call
forward ("Let me check that address. While I do, what day suits you for the
pickup?"), so the caller's answer fills the wait. Meanwhile it carries on with
whatever does not need the result. If a lookup has run for about two and a
half seconds with the agent silent, the platform gives it a turn to do exactly
that, so the line never goes quiet for long. The call record shows how long each tool left the line silent.

## Troubleshooting

- **The agent says it will do something and nothing happens.** The tool is not
  ticked on this tab, or **Agent Mode** is **Testing Agent**.
- **It answers from nothing / makes something up.** No knowledge tool is
  enabled, or no vector store is selected for `file-search`. Platform rules
  forbid inventing facts, so the usual symptom is a refusal to answer rather
  than an invention — if you are getting inventions, check the instructions
  are not pushing it to answer regardless.
- **"The agent won't open a ticket."** `save-update-user` is not enabled.
  Tickets need an identified contact.
- **A ticket status change never applied.** Your Helpdesk AI governance policy
  queued it. Check **Approvals**.
- **`file-search` returns nothing.** No vector store is selected in the
  **Vector Stores** block.
- **Memories work on a real call but not in the browser test.** Expected —
  memories are not part of browser test runs.
- **Calls got noticeably slower after I enabled a lot of tools.** Every
  enabled tool and every enrichment interaction is context the model reads per
  turn. Trim to what the agent actually needs.

## Next steps

- [Instructions, Goals and Scheduled Prompts](/help/voice-agents/instructions-and-scheduling)
- [Transfers, Forwarding and the Duty Roster](/help/voice-agents/transfers-and-escalation)
- [Testing, Drafts and Going Live](/help/voice-agents/testing-and-promotion)
- [Tenant Brain](/help/knowledge/overview)
