---
title: "內置工具"
description: "提示 ThunderPhone 智能體結束通話、轉駁來電者、操作按鍵、等候保留、搜尋知識庫、播放聲音及傳送電郵。"
---

內置工具讓智能體無需連接你自己的 API，即可執行常見通話操作。大部分工具會自動提供；電郵、音效及知識搜尋則只會在你設定相關選項或來源後出現。在提示詞中告訴智能體何時使用各項操作。

| 工具 | 用途 | 如何啟用 | 支援的通話 |
| --- | --- | --- | --- |
| `end_call` | 結束已完成的對話 | 一直可用 | 電話、瀏覽器 Talk、小工具、模擬及 Realtime |
| `transfer_call` | 為電話來電者轉駁 | 在提示詞中設定路由條件 | 一般電話通話；使用 `call_events` 的內嵌 Realtime 可使用冷轉接。已儲存智能體的 Realtime 不提供此功能。 |
| `send_keypad_input` | 在電話選單中按鍵 | 一般電話通話一律可用 | 電話通話；使用 `call_events` 的內嵌撥出 Realtime。已儲存智能體的 Realtime 不提供此功能。 |
| `no_response` | 在自動選單播放期間繼續聆聽 | 一直可用 | 所有通話類型 |
| `wait_on_hold` | 靜候對方返回通話 | 撥出通話中提供 | 撥出電話及撥出內嵌 Realtime 工作階段 |
| `search_knowledge_base` | 根據已附加來源回答 | 為智能體附加知識 | 已附加知識的已儲存智能體通話 |
| `play_sound` | 播放已設定的通知音效 | **進階 → 工具音效** | 已儲存智能體通話 |
| `send_email` | 向一名固定收件人發送電郵 | **進階 → 發送電郵** | 已儲存智能體通話 |

## `end_call`

當提示詞指示模型這樣做時，結束目前通話。此工具預設可用，無需任何智能體設定。

在提示詞中寫明條件及任何必要的告別語：

```text
When the caller confirms they need nothing else, say goodbye and end the call.
```

一般由模型結束的通話會有 `end_reason: "ai_hangup"`。因時長或餘額而中止的通話，則可能使用更具體的結束原因。

## `transfer_call`

將電話來電者轉駁至由模型提供的固定號碼。冷轉接會立即進行。經篩選的暖轉接會先私下致電目的地，再連接雙方。暖轉接需要已驗證、可撥出電話的匯入 VoIP 號碼。

在提示詞中加入目的地號碼及準確的路由條件：

```text
If the caller asks for billing, transfer them to +15551234567.
```

成功的冷轉接會有 `end_reason: "ai_transfer"`；完成的暖轉接交接會有 `end_reason: "ai_warm_transfer"`。暖轉接嘗試失敗時，控制權會交還智能體，因此通話其後如何結束會決定其結束原因。在非電話工作階段中，轉接要求會改為結束工作階段。

請參閱[轉駁通話](/yue/guides/call-transfers)，了解控制台及 API 設定、路由、篩選、失敗處理、限制及測試。

## `send_keypad_input`

向電話線路發送 DTMF（電話按鍵）數字 `0`–`9`、`*` 及 `#`。模型會使用此工具操作 IVR，即要求來電者按鍵的自動選單。此工具預設可用，無需任何智能體設定。

告訴模型可操作哪些選單，以及所需數值的來源。不要要求它猜測選單選項：

```text
Follow the phone menu for account status. Press a key only after the menu
states what that key does. Enter the account number supplied by the caller.
```

平台會移除不支援的字元，並依序發送有效數字。如沒有剩餘有效數字，或通話無法發送按鍵輸入，失敗結果會傳回智能體，以便它作出處理。

## `no_response`

當自動系統仍在說話，或要求智能體繼續聆聽時，讓智能體保持靜默。此工具不適用於真人的問候、問題或真正的通話等候隊列。此工具預設可用，無需任何智能體設定。

通常內置說明已足夠。對於大量使用 IVR 的通話，可在提示詞中加強此界線：

```text
Stay silent while a phone menu is still speaking. Answer a live person as soon
as they address you.
```

此操作不會結束通話。

## `wait_on_hold`

將外撥智能體置於靜音保留狀態，直至真人返回。
模型只會在對方明確表示將智能體置於保留狀態後使用此工具。此工具會自動於外撥通話中提供，控制台內沒有相關設定。

```text
If a person explicitly puts you on hold, wait silently. When they return,
continue from the question you were discussing.
```

請勿因應 IVR 的「請稍候」訊息提示智能體使用此工具。預設最長保留時間為 15 分鐘。一般外撥通話中，`POST /v1/call`
接受正整數 `max_hold_seconds`；內嵌 Realtime 則將
`max_hold_seconds` 限制為 10 至 900 秒。若對方返回，
智能體會繼續通話，而不會更改通話的結束原因。若超出時限，
平台會以 `end_reason: "ai_hangup"` 結束通話。

## `search_knowledge_base`

搜尋附加至智能體的文件，並傳回相關內容。附加知識庫或個別知識文件以啟用此工具，然後告訴模型哪些答案必須來自這些來源：

```text
Search the knowledge base before answering policy questions. If the first
search is inconclusive, try once more with different key terms.
```

如搜尋失敗，結果會傳回給智能體。請參閱[知識庫](/yue/guides/knowledge-base)了解控制台及 API 設定。

## `play_sound`

在同一語音回合內任何發言後，播放智能體已設定的通知聲音。在控制台中，將**進階 → 工具聲音**設為 **Chime**、**Ding**
或 **Beep**，然後部署智能體。**None** 會移除此工具。

使用 [Agents API](/api-reference/agents) 時，將 `play_sound_asset` 暫存為
`"chime"`、`"ding"` 或 `"beep"`，然後部署。設為 `""` 即可停用
此工具。

```text
After confirming that an appointment was saved, say "You're all set" and play
the notification sound.
```

播放失敗會傳回給智能體，但不會結束通話。

## `send_email`

向智能體擁有者設定的唯一收件人傳送純文字電郵。
模型會提供主旨及內容，絕不會看到收件人參數，
亦不能選擇或更改電郵地址。

在控制台中啟用 **進階 → 傳送電郵**，儲存收件人地址，
然後部署智能體。使用 [Agents API](/api-reference/agents) 時，同時暫存
`send_email_enabled: true` 及非空白的 `send_email_recipient`，然後部署。
在提示中定義觸發條件及所需內容：

```text
When the caller asks to leave a message, collect their name, callback number,
and message. Read the details back for confirmation, then email them.
```

每次通話最多可嘗試傳送三封電郵。每個主旨最多 300 個
字元，每個內容最多 20,000 個字元。缺少設定、內容無效、
每次通話的上限及傳送失敗均會傳回給智能體。
即使傳送失敗，仍會用掉三次嘗試中的一次。

大規模部署前，請先使用受控收件人測試。瀏覽器 Talk 及
模擬會傳送真實電郵；不設模擬執行模式。

## 相容性說明

**進階 → 不可中斷聲明**設定及舊版
`speak_uninterruptible_enabled` 欄位會保留以維持相容性，但啟用後不會產生任何效果。請保持此設定關閉；任何提示均無法啟用此工具。

如需在通話開始時提供強制聲明，請使用**同意公告**。此公告會在一般對話開始前逐字播放，且無法被中斷。請參閱[通話錄音同意法例](/yue/guides/recording-consent-laws)。

## 測試及監察內置工具

使用瀏覽器 Talk 或模擬檢查提示、知識搜尋、聲音及電郵。
這些環境無法重現電話網絡行為。請於外撥電話通話中測試
按鍵導航及保留功能，並使用符合資格的已匯入 VoIP 號碼，在真實通話中測試完整的暖轉接。Realtime 支援範圍
如上表所示。

## 通話、定價及 Webhook

內置操作不設每次使用工具費用。一般通話及服務供應商費用
仍然適用；請參閱[定價](/yue/guides/pricing)。其通話及結果可顯示於
已完成的逐字稿中，但不會發出 `telephony.tool` 或 `web.tool`。
該等事件適用於[使用者自訂函式](/yue/tools/overview)。只有已完成的
掛線或轉駁會更改通話的 `end_reason`；其他失敗情況會回傳至智能體。請參閱[完成 Webhook](/yue/webhooks/call-complete) 以查看通話記錄。
