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

# System tools: end calls, transfer and more

> Let your Centillion agent end a call, switch language, wait for the customer, transfer to another agent or a person, and detect voicemail.

System tools are built-in actions your agent can take during a conversation:
ending a call, waiting for the customer, handing over to another agent or
moving a call to a person. Unlike [custom tools](https://cntillion.com/docs/agents/custom-actions.md), they
need no API or code.

![Agent Tools page with Tools and MCP tabs, search, type and creator filters, attached tools and the System tools panel](https://mintcdn.com/centillion/n9koGqutqlVBNAYF/images/agents/custom-actions-01-actions-page.webp?fit=max\&auto=format\&n=n9koGqutqlVBNAYF\&q=85\&s=17017ab1068ee8e4f24b55216b387a43)

System tools sit beside the agent's attached tools. Hover a tool's name to see what it does.

## Turn a tool on

Open **Tools** in the agent sidebar. **System tools** lists nine tools, each with
a switch. Hover a tool's name to see what it does.

**End conversation**, **Detect language**, **Skip turn**, **Play keypad touch
tone**, **Voicemail detection** and **Flag issue for review** turn on as soon as
you click the switch. The gear beside an enabled tool opens its settings.

**Update state**, **Transfer to agent** and **Transfer to number** do nothing
until they're configured, so their switch opens the settings first. The tool
turns on when you choose **Save**. **Cancel** leaves it off. Turning one of these
off later keeps its rules, so turning it back on shows them again.

New blank agents start with all nine tools off. Existing agents keep the tools
they had. Templates keep their configured behavior.

These settings belong to the branch. They save to its draft, so publish before
live conversations use them.

## Settings every tool has

**Name** is the tool's fixed name, which you can use in your prompt.

**Description** tells the agent how and when to use the tool. Leave it blank to
use the default. **Show default** puts the default in the field so you can edit
it, and **Restore original** takes it back out.

**Advanced** holds **Interruptions**, which controls whether the customer can
speak over the agent:

| Option | Behavior |
| - | - |
| Allow | The customer can interrupt at any time. |
| Disable during execution | The customer can't interrupt while the tool runs. They can interrupt the reply that follows it. |
| Disable during whole turn | The customer can't interrupt while the tool runs or during the reply that follows it. |

**Edit as JSON** shows the tool's configuration as text, for copying between
agents. **Switch to form** goes back and keeps your edits.

## Where each tool works

| Tool | Phone calls | Website calls | Text conversations |
| - | - | - | - |
| End conversation | Yes | Yes | No |
| Detect language | Yes | Yes | No |
| Skip turn | Yes | Yes | No |
| Update state | Yes | Yes | Yes |
| Transfer to agent | Yes | Yes | Yes |
| Transfer to number | Yes | No | No |
| Play keypad touch tone | Yes | No | No |
| Voicemail detection | Outbound | No | No |
| Flag issue for review | Yes | Yes | Yes |

Workflow and procedure steps keep their own permissions. Turning off an agent's
tool does not remove a transfer or end step you configured in a workflow or
procedure.

## End conversation

Lets the agent close the conversation once it's finished or the customer wants
to stop. The default description asks for a brief goodbye first. Write your own
to narrow it down, for example:

> End the call only after confirming the caller has no more questions.

## Detect language

Lets the agent switch to the customer's language, either because they spoke it
or because they asked. Add each language the agent may switch to under its
language settings first.

Background speech or a strong accent can trigger a switch nobody wanted. Turn on
**Only at start of conversation** to limit switching to the first two customer
turns. If the language doesn't switch in those turns, later attempts fail and
the agent keeps its language without mentioning it. If it does switch, switching
stays available for the rest of the conversation, so a wrong guess can still be
corrected.

## Skip turn

Lets the agent stay silent when the caller says something like "give me a
second", then wait for them to speak.

Turn on **Re-prompt after waiting** to have the agent check in if the caller
stays quiet, and set **Wait duration** from 1 to 600 seconds. It's 10 by default.
The **End conversation after silence** timer pauses during the wait, so a long
wait doesn't end the call. If the caller speaks first, the agent doesn't check
in.

## Update state

Lets the agent save what it learns to variables during the conversation. Add at
least one variable. The agent can only change the variables you list, and it
can't change a sensitive workflow variable.

## Transfer to agent

Lets the agent hand the conversation to another agent in your workspace. The
agent needs no workflow.

![Edit system tool panel with a transfer rule showing the agent, condition, delay, transfer message and voice options](https://mintcdn.com/centillion/wROkqZPzQEdzO1F8/images/agents/system-tools-01-transfer-to-agent.webp?fit=max\&auto=format\&n=wROkqZPzQEdzO1F8\&q=85\&s=e8d599678479c6582781e71d7a2d1804)

Each rule pairs a condition with the agent that takes over. Rules stay in this panel.

Choose **Add rule** and fill in:

| Field | What it does |
| - | - |
| Agent | The agent that takes over. Required. |
| Condition | When to transfer, in plain language. Required. |
| Delay before transfer | Milliseconds to wait, up to 60,000. |
| Transfer message | What the agent says during the transfer. Optional. |
| Enable first message | The new agent greets the customer as soon as it takes over. Off by default, so it carries on the conversation. |
| Preserve voice settings | Keep this agent's voice and speech settings after the transfer. |
| Preserve voice overrides | Carry this conversation's voice overrides over to the new agent. |

The agent reads the conditions and picks the rule that fits, so write them so
that no two overlap:

> The customer asks about an invoice or a refund.

The new agent keeps the whole conversation and uses its own prompt, knowledge,
tools and, unless you preserve it, voice. This agent's system tools stay behind,
which means a transferred agent can't transfer the conversation again. On calls,
both agents must use the same voice mode and realtime provider.

Publishing freezes the target's settings into the release. When the target
agent changes, publish this agent again to pick up the change.

If the agent has a workflow with **Agent transfer** steps, they appear here too.
Select the ones the tool may use.

## Transfer to number

Lets the agent move a phone call to a person, on a phone number or a SIP
address. It runs on phone calls only, and it needs no workflow.

![Edit system tool panel with a human transfer rule showing the transfer type, destination, post-dial digits, transfer message and condition](https://mintcdn.com/centillion/wROkqZPzQEdzO1F8/images/agents/system-tools-02-transfer-to-number.webp?fit=max\&auto=format\&n=wROkqZPzQEdzO1F8\&q=85\&s=b1266dffcb61ba52276e8f73c5d59445)

A human transfer rule sets how the call moves, where it goes and when.

Choose **Add rule** and fill in:

| Field | What it does |
| - | - |
| Transfer type | **Conference**, **Blind** or **SIP REFER**. |
| Destination type | A phone number or SIP URI, fixed or read from a variable when the transfer starts. SIP URIs need **SIP REFER**. |
| Post-dial digits | Tones sent once the call connects, such as an extension. Use `0-9`, `*`, `#` and `w` for a half-second pause. Not available with **SIP REFER**. |
| Custom Headers | `X-` headers sent with a **SIP REFER** transfer. |
| User-to-User Information | Data for the receiving phone system, with **SIP REFER** only. |
| Play ringing tone during transfer | Ringing the caller hears while a **SIP REFER** transfer completes. On by default. |
| Transfer message | What the agent says before the transfer. |
| Condition | When to transfer, in plain language. Required. |

Lines from Centillion transfer only to phone numbers in the line's own country.
A number from your own Twilio account can also transfer to SIP addresses. If a
transfer fails, the caller stays with the agent, which says it can't put them
through.

A workflow's **Phone number transfer** steps appear here too. Select the ones
the tool may use.

To try a rule, call the agent's number. Preview shows the agent choosing the
rule, but a browser call has no phone line to move.

## Play keypad touch tone

Lets the agent press keys on a connected phone call, for example to get through a
phone menu. **Use out-of-band DTMF** is on by default; switch it off to play tones
as audio. **Suppress turn after DTMF** keeps the agent silent after the tones.

## Voicemail detection

Lets the agent recognize an answering machine on an outbound call. Leave
**Voicemail message** blank to end the call silently, or enter a message to play
before hanging up. The message can use variables such as `{{name}}`, including
recipient columns from a batch file. The agent waits for the greeting to finish
and recording to begin, plays the message once, then ends the call. The
conversation result stays **Voicemail**.

![Voicemail detection system tool editor with an optional voicemail message](https://mintcdn.com/centillion/n9koGqutqlVBNAYF/images/agents/custom-actions-07-voicemail.webp?fit=max\&auto=format\&n=n9koGqutqlVBNAYF\&q=85\&s=046972fd243f7a16a142ab2fcf954b4f)

Voicemail detection can end the call silently or play a configured message after the greeting.

## Flag issue for review

Lets the agent flag a conversation for a teammate when it isn't sure how to
proceed, without interrupting the customer. The flag and the agent's reason are
stored in the conversation's client data.


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