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

# System Tools

> The built-in tools a voice agent can use — ending calls, detecting voicemail, switching language, searching knowledge, and transferring to a person

System tools are ready-made actions built into Osvi. Turn one on from **Tools → System tools**, adjust its settings in the panel on the right, and click **Save**. See [Tools Overview](/platform/tools) for how tools are added and removed.

## End call

Lets the agent hang up when the conversation has reached a natural end. The agent finishes what it's saying, speaks the closing message, and ends the call.

<Frame>
  <img src="https://mintcdn.com/osviai/KMqnCQy0WnU1ttJE/images/Tools/system-tools-Light.png?fit=max&auto=format&n=KMqnCQy0WnU1ttJE&q=85&s=926cd5f561d88cc596422f08b937716a" alt="End call selected in the System tools list, with its name, description, and message settings" className="dark:hidden" width="1600" height="613" data-path="images/Tools/system-tools-Light.png" />

  <img src="https://mintcdn.com/osviai/KMqnCQy0WnU1ttJE/images/Tools/system-tools-Dark.png?fit=max&auto=format&n=KMqnCQy0WnU1ttJE&q=85&s=7dbbdade208db7071162eae854a023ce" alt="End call selected in the System tools list, with its name, description, and message settings" className="hidden dark:block" width="1600" height="617" data-path="images/Tools/system-tools-Dark.png" />
</Frame>

| Setting                                | Default                       | What it does                                                                                                                     |
| -------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Use end call static message**        | On                            | On: speak a fixed closing message. Off: the agent writes its own closing line.                                                   |
| **End call message**                   | *Thank you, have a nice day.* | The fixed message, spoken exactly as written. The caller can't interrupt it.                                                     |
| **End call message generation prompt** | —                             | When the static message is off: instructions for the closing line, such as "Thank the caller by name and confirm the next step." |

## Detect voicemail

For outbound calls. When the agent recognises a voicemail greeting or an automated assistant, it hangs up and the call is marked as **voicemail** instead of using up minutes talking to a recording. Campaigns can then retry the contact later.

The agent doesn't leave a message. Detect voicemail has no settings besides its name and description — the default description lists typical voicemail greetings to help the agent recognise them.

## Language switch

Lets the agent change language when the caller asks — for example, from English to Hindi. The agent's speech recognition and voice switch to the new language, keeping the same providers and voice.

It can switch to any language the agent's [speech-to-text and text-to-speech providers](/platform/voices) support. If they don't support the one the caller asks for, the agent tells them it can't switch.

Language switch has no settings besides its name and description.

<Note>
  Switching language doesn't change the system prompt. If the agent should reply in the caller's language after switching, say so in the prompt.
</Note>

## Search knowledge base

Lets the agent look up answers in the [knowledge base](/platform/knowledge-base) documents attached to it. This tool is added automatically when you attach documents.

When the agent searches, it first says a short filler line so the caller isn't left in silence, then answers from what it finds. If nothing relevant turns up, it says so.

| Setting                                  | Default                                        | What it does                                                                                                        |
| ---------------------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Character limit**                      | 50000                                          | The most text retrieved per search.                                                                                 |
| **Chunk limit**                          | 20                                             | The most document passages retrieved per search.                                                                    |
| **Vector distance limit**                | 0.30                                           | How closely a passage must match the question. Lower is stricter (**More similar**); higher lets in looser matches. |
| **Use static RAG search message**        | On                                             | On: speak a fixed filler line while searching. Off: the agent writes its own.                                       |
| **Static RAG search message**            | *Please wait I am checking for information...* | The fixed filler line.                                                                                              |
| **RAG search message generation prompt** | —                                              | When the static message is off: instructions for the filler line.                                                   |

<Warning>
  Save this tool as soon as you turn it on, even with the defaults — until you do, the filler line spoken to the caller may be in Hindi.
</Warning>

You can add more than one knowledge base search — for example, with different limits — using the **+** button on the card.

## Transfer call to human agent

Hands the caller to a person when they ask for one or the question is beyond the agent. The agent speaks a transfer message, the caller hears hold music, and the call is connected to the number you set. The agent then leaves the conversation.

| Setting                                | Default                       | What it does                                                                                                           |
| -------------------------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **WS Transfer mode**                   | Off                           | Off: transfer over SIP. On: transfer over WebSocket, for Exotel Voicebot calls.                                        |
| **Phone Number**                       | —                             | Required for SIP transfers. A 10-digit Indian number (the **+91** prefix is added for you).                            |
| **Participant Name**                   | —                             | A label for the person or team you transfer to, such as *Billing department*.                                          |
| **Use call transfer static message**   | On                            | On: speak a fixed message before transferring. Off: the agent writes its own.                                          |
| **Transfer message**                   | *Thank you, have a nice day.* | The fixed message. Replace the default with a transfer message, such as *Please stay on the line while I connect you.* |
| **Transfer message generation prompt** | —                             | When the static message is off: instructions for the transfer message.                                                 |

**Requirements**

* **SIP transfers** go out through the agent's outbound SIP trunk, so the agent needs one set up — see [Phone numbers](/platform/phone-numbers).
* **WS Transfer mode** is for Exotel Voicebot calls. Your Exotel flow must be **Voicebot → Passthru → Connect**. The phone number is optional in this mode — leave it blank to use the number configured in Exotel's Connect applet. See the [Exotel guide](/exotel-integration).

If the transfer fails, the agent tells the caller and carries on with the conversation. You can add several transfers — for example, one for sales and one for support — with the **+** button on the card; describe each one so the agent knows which to use.

## Warm transfer to human

Like a transfer, but the person you're connecting to is briefed first. The caller is put on hold while Osvi calls the person and an AI assistant summarises the conversation so far. The person can then accept the call — and is connected to the caller — or decline it.

If the person declines, doesn't answer, or the call reaches their voicemail, the caller is taken off hold and the agent apologises and continues.

Warm transfer has the same settings as [Transfer call to human agent](#transfer-call-to-human-agent), plus:

| Setting                  | What it does                                                                                                                  |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **Summary Instructions** | What the briefing should cover — for example, "Include the caller's name, account number, and the issue they need help with." |

**Requirements:** a SIP call and an outbound SIP trunk. With **WS Transfer mode** on, warm transfer works like a regular transfer, without the briefing.
