---
title: "Công cụ tích hợp sẵn"
description: "Prompt tác nhân AI ThunderPhone để kết thúc cuộc gọi, chuyển cuộc gọi, điều hướng bàn phím số, chờ giữ máy, tìm kiếm kiến thức, phát âm thanh và gửi email."
---

Công cụ tích hợp sẵn cho phép tác nhân AI thực hiện các thao tác cuộc gọi phổ biến mà không cần kết nối API riêng của bạn. Hầu hết được cung cấp tự động; email, âm thanh và tìm kiếm kiến thức chỉ xuất hiện sau khi bạn cấu hình cài đặt hoặc nguồn liên quan. Hãy cho tác nhân AI biết khi nào cần sử dụng từng thao tác trong prompt.

| Công cụ | Dùng để | Cách bật | Cuộc gọi được hỗ trợ |
| --- | --- | --- | --- |
| `end_call` | Kết thúc cuộc trò chuyện đã hoàn tất | Luôn khả dụng | Điện thoại, Talk trên trình duyệt, widget, mô phỏng và Realtime |
| `transfer_call` | Chuyển hướng người gọi điện thoại | Cấu hình định tuyến trong prompt | Cuộc gọi điện thoại thông thường; Realtime nội tuyến có `call_events` có thể dùng chuyển cuộc gọi lạnh. Realtime của tác nhân đã lưu không có tính năng này. |
| `send_keypad_input` | Nhấn phím trong menu điện thoại | Luôn khả dụng trong cuộc gọi điện thoại thông thường | Cuộc gọi điện thoại; Realtime gọi đi nội tuyến có `call_events`. Realtime của tác nhân đã lưu không có tính năng này. |
| `no_response` | Tiếp tục lắng nghe khi menu tự động đang phát hoặc người gọi đang suy nghĩ thành lời; người gọi yêu cầu tác nhân AI chờ sẽ chỉ nhận được "Được." | Luôn khả dụng | Mọi loại cuộc gọi |
| `wait_on_hold` | Chờ im lặng để một người quay lại | Có trong cuộc gọi đi | Phiên điện thoại gọi đi và Realtime nội tuyến gọi đi |
| `search_knowledge_base` | Trả lời từ các nguồn đã đính kèm | Đính kèm kiến thức vào tác nhân AI | Cuộc gọi của tác nhân đã lưu có kiến thức đính kèm |
| `play_sound` | Phát âm thanh thông báo đã cấu hình | **Nâng cao → Âm thanh công cụ** | Cuộc gọi của tác nhân đã lưu |
| `send_email` | Gửi email cho một người nhận cố định | **Nâng cao → Gửi email** | Cuộc gọi của tác nhân đã lưu |

## `end_call`

Kết thúc cuộc gọi hiện tại khi prompt yêu cầu mô hình làm như vậy. Công cụ này
có sẵn mặc định và không có cài đặt tác nhân AI.

Viết điều kiện và lời tạm biệt bắt buộc vào prompt:

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

Cuộc gọi do mô hình kết thúc có `end_reason: "ai_hangup"`, bao gồm cả cuộc gọi kết thúc sau cảnh báo giới hạn thời lượng cuộc gọi. Cuộc gọi chỉ kết thúc với `max_duration` nếu giới hạn thời lượng được đạt tới trước, và với `balance_exhausted` khi số dư trả trước cạn.

## `transfer_call`

Chuyển người gọi điện thoại đến một số cố định do mô hình cung cấp. Chuyển lạnh
diễn ra ngay lập tức. Chuyển ấm có sàng lọc sẽ gọi riêng đến đích trước khi kết
nối các bên. Chuyển ấm yêu cầu số VoIP đã nhập và xác minh, có thể thực hiện
cuộc gọi đi.

Đặt số đích và điều kiện định tuyến chính xác trong prompt:

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

Một lần chuyển lạnh thành công có `end_reason: "ai_transfer"`; một lần bàn giao
chuyển ấm hoàn tất có `end_reason: "ai_warm_transfer"`. Lần thử chuyển ấm thất
bại sẽ trả quyền kiểm soát về cho tác nhân AI, vì vậy lần kết thúc sau đó của
cuộc gọi sẽ quyết định lý do kết thúc. Trong phiên không phải điện thoại, yêu
cầu chuyển cuộc gọi sẽ kết thúc phiên thay vào đó.

Xem [Chuyển cuộc gọi](/vi/guides/call-transfers) để biết cách thiết lập trên bảng
điều khiển và API, định tuyến, sàng lọc, xử lý lỗi, giới hạn và kiểm thử.

## `send_keypad_input`

Gửi các chữ số DTMF (bàn phím điện thoại) `0`–`9`, `*` và `#` đến một đường dây
điện thoại. Mô hình sử dụng công cụ này để điều hướng IVR, menu tự động yêu cầu
người gọi nhấn phím. Công cụ này có sẵn mặc định và không có cài đặt tác nhân AI.

Cho mô hình biết những menu mà mô hình có thể điều hướng và nơi lấy các giá trị
được yêu cầu. Không yêu cầu mô hình đoán tùy chọn menu:

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

Nền tảng loại bỏ ký tự không được hỗ trợ và gửi các chữ số hợp lệ theo thứ tự.
Nếu không còn chữ số hợp lệ hoặc cuộc gọi không thể gửi dữ liệu bàn phím, lỗi sẽ
được trả về cho tác nhân AI để xử lý.

## `no_response`

Giữ im lặng cho tác nhân AI khi một hệ thống tự động vẫn đang nói hoặc yêu cầu tiếp tục lắng nghe, và khi người gọi đang suy nghĩ thành tiếng ("ừm, để tôi xem") hoặc quay sang nói chuyện với người khác. Khi người gọi yêu cầu tác nhân AI đợi trong lúc họ làm gì đó ("đợi một chút", "để tôi kiểm tra", "bạn có thể chờ một lát không?") và không nói thêm điều gì để trả lời, tác nhân AI chỉ nói "Được." (không phải "Cứ từ từ") rồi chờ người gọi nói lại. Các lời kiểm tra khi im lặng của tác nhân AI vẫn hoạt động và luôn được nói ra nếu đường dây vẫn yên lặng. Tính năng này không dành cho lời chào từ người thật, câu hỏi hoặc hàng chờ giữ máy thực sự. Tính năng này có sẵn theo mặc định và không có cài đặt tác nhân AI.

Nếu prompt của bạn hướng dẫn tác nhân AI phải nói gì khi người gọi yêu cầu chờ một lát, prompt sẽ được ưu tiên.

Thông thường, mô tả tích hợp sẵn là đủ. Với các cuộc gọi chủ yếu dùng IVR, hãy
củng cố ranh giới trong prompt:

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

Thao tác này không kết thúc cuộc gọi.

## `wait_on_hold`

Đưa tác nhân gọi ra vào trạng thái chờ im lặng cho đến khi người thật quay lại.
Mô hình chỉ sử dụng công cụ này sau khi bên kia nói rõ rằng tác nhân đang được
yêu cầu chờ máy. Công cụ tự động khả dụng trên cuộc gọi đi và không có
cài đặt trên dashboard.

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

Không nhắc tác nhân sử dụng công cụ này cho thông báo “vui lòng chờ” của IVR. Theo
mặc định, thời gian chờ kéo dài tối đa 15 phút. Với các cuộc gọi đi thông thường, `POST /v1/call`
chấp nhận `max_hold_seconds` là số nguyên dương; Realtime nội tuyến giới hạn
`max_hold_seconds` từ 10–900 giây. Nếu người đó
quay lại, tác nhân tiếp tục mà không thay đổi lý do kết thúc cuộc gọi. Nếu hết giới hạn
thời gian, nền tảng kết thúc cuộc gọi với `end_reason: "ai_hangup"`.

## `search_knowledge_base`

Tìm kiếm tài liệu được đính kèm với tác nhân và trả về các đoạn có liên quan. Đính kèm
một cơ sở kiến thức hoặc từng tài liệu kiến thức riêng lẻ để bật công cụ này, sau đó cho
mô hình biết câu trả lời nào phải lấy từ các nguồn đó:

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

Nếu tìm kiếm thất bại, kết quả sẽ được trả về cho tác nhân. Xem [Cơ sở kiến
thức](/vi/guides/knowledge-base) để biết cách thiết lập trên dashboard và API.

## `play_sound`

Phát âm thanh thông báo đã cấu hình của tác nhân sau bất kỳ lời nói nào trong cùng
lượt. Trên dashboard, đặt **Nâng cao → Âm thanh công cụ** thành **Chuông ngân**, **Ting**,
hoặc **Bíp**, rồi triển khai tác nhân. **Không có** sẽ xóa công cụ.

Với [Agents API](/api-reference/agents), đặt `play_sound_asset` thành
`"chime"`, `"ding"`, hoặc `"beep"`, rồi triển khai. Đặt thành `""` để tắt
công cụ.

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

Lỗi phát âm thanh được trả về cho tác nhân và không kết thúc cuộc gọi.

## `send_email`

Gửi email văn bản thuần đến một người nhận duy nhất do chủ sở hữu tác nhân cấu hình.
Mô hình cung cấp tiêu đề và nội dung email. Mô hình không bao giờ thấy tham số người nhận
và không thể chọn hoặc thay đổi địa chỉ.

Trên dashboard, bật **Nâng cao → Gửi email**, lưu địa chỉ người nhận,
rồi triển khai tác nhân. Với [Agents API](/api-reference/agents), đặt cả
`send_email_enabled: true` và `send_email_recipient` không rỗng, rồi triển khai.
Xác định điều kiện kích hoạt và nội dung bắt buộc trong prompt:

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

Một cuộc gọi chỉ có thể thử gửi tối đa ba email. Mỗi tiêu đề được giới hạn 300
ký tự và mỗi nội dung được giới hạn 20.000 ký tự. Thiếu cấu hình, nội dung không hợp lệ,
giới hạn theo cuộc gọi và lỗi gửi đều được trả về cho tác nhân.
Một lần gửi thất bại vẫn sử dụng một trong ba lượt thử.

Kiểm tra với người nhận được kiểm soát trước khi triển khai rộng rãi. Browser Talk và
mô phỏng gửi email thật; không có chế độ chạy thử.

## Lưu ý về khả năng tương thích

Cài đặt **Nâng cao → Thông báo không thể ngắt quãng** và trường cũ
`speak_uninterruptible_enabled` vẫn được giữ lại để tương thích, nhưng việc bật
chúng không có tác dụng. Để cài đặt ở trạng thái tắt; không prompt nào có thể kích hoạt công cụ này.

Đối với thông báo bắt buộc khi mở đầu cuộc gọi, hãy sử dụng **Thông báo đồng ý**. Thông báo này được phát
nguyên văn trước cuộc trò chuyện thông thường và không thể bị ngắt quãng. Xem [Luật về sự đồng ý ghi âm cuộc gọi](/vi/guides/recording-consent-laws).

## Kiểm tra và theo dõi công cụ tích hợp

Sử dụng Browser Talk hoặc mô phỏng để kiểm tra prompt, tìm kiếm kiến thức, âm thanh
và email. Các môi trường đó không thể tái tạo hành vi của mạng điện thoại. Kiểm tra
điều hướng bàn phím và chờ máy trên một cuộc gọi điện thoại đi, đồng thời kiểm tra chuyển cuộc gọi có hỗ trợ hoàn chỉnh
trên cuộc gọi thật bằng số VoIP đã nhập đủ điều kiện. Hỗ trợ Realtime
bị giới hạn như trong bảng ở trên.

## Cuộc gọi, giá và webhook

Các hành động tích hợp sẵn không có phí công cụ theo lần sử dụng. Phí cuộc gọi và nhà cung cấp thông thường
vẫn áp dụng; xem [Bảng giá](/vi/guides/pricing). Cuộc gọi và kết quả của chúng có thể xuất hiện
trong bản chép lời đã hoàn tất, nhưng không phát sự kiện `telephony.tool` hoặc `web.tool`.
Các sự kiện đó dành cho [hàm do người dùng xác định](/vi/tools/overview). Chỉ thao tác
gác máy hoặc chuyển cuộc gọi hoàn tất mới thay đổi `end_reason` của cuộc gọi; các lỗi khác được trả về
cho tác nhân AI. Xem [Webhook hoàn tất cuộc gọi](/vi/webhooks/call-complete) để biết bản ghi cuộc gọi.
