---
title: "Вбудовані інструменти"
description: "Налаштовуйте агентів ThunderPhone завершувати дзвінки, переадресовувати абонентів, керувати клавіатурами, очікувати на утриманні, шукати знання, відтворювати звуки та надсилати електронні листи."
---

Вбудовані інструменти дають агенту змогу виконувати поширені дії під час дзвінка без підключення вашого API. Більшість із них доступні автоматично; електронна пошта, звуки та пошук у базі знань з’являються лише після налаштування відповідного параметра або джерела. У промпті вкажіть агенту, коли використовувати кожну дію.

| Інструмент | Використання | Як увімкнути | Підтримувані дзвінки |
| --- | --- | --- | --- |
| `end_call` | Завершити розмову | Завжди доступний | Телефон, Talk у браузері, віджет, симуляція та Realtime |
| `transfer_call` | Перенаправити телефонного абонента | Налаштуйте маршрутизацію в промпті | Звичайні телефонні дзвінки; вбудований Realtime з `call_events` може використовувати холодне переведення. У Realtime зі збереженим агентом цей інструмент недоступний. |
| `send_keypad_input` | Натискати клавіші в телефонному меню | Завжди доступний для звичайних телефонних дзвінків | Телефонні дзвінки; вбудований вихідний Realtime з `call_events`. У 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"`, зокрема якщо він завершується
після попередження про обмеження часу виклику. Виклик завершується з `max_duration`, лише якщо
обмеження часу досягнуто першим, і з `balance_exhausted`, коли закінчується передплачений
баланс.

## `transfer_call`

Переводить телефонного абонента на фіксований номер, наданий моделлю. Холодне переведення відбувається негайно. Перевірене тепле переведення приватно телефонує до пункту призначення перед з’єднанням сторін. Для теплого переведення потрібен перевірений імпортований номер VoIP, з якого можна здійснювати вихідні дзвінки.

У промпті вкажіть номер призначення та точну умову маршрутизації:

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

Успішне холодне переведення має `end_reason: "ai_transfer"`; завершена тепла передача має `end_reason: "ai_warm_transfer"`. Невдала тепла спроба повертає керування агенту, тому причина завершення дзвінка визначається його подальшим завершенням. У нетелефонних сеансах запит на переведення натомість завершує сеанс.

Перегляньте [Переведення дзвінків](/uk/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.
```

Якщо пошук не вдається, результат повертається агенту. Дивіться [База
знань](/uk/guides/knowledge-base) для налаштування в панелі керування та API.

## `play_sound`

Відтворює налаштований звук сповіщення агента після будь-якого мовлення в тому самому
ході. У панелі керування встановіть **Додатково → Звук інструмента** на **Chime**, **Ding**
або **Beep**, а потім розгорніть агента. **Немає** вимикає інструмент.

За допомогою [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 символів. Відсутня конфігурація, недійсний
вміст, ліміт на дзвінок і помилки доставки повертаються агенту.
Невдала доставка все одно використовує одну з трьох спроб.

Перевірте з контрольованим одержувачем перед широким розгортанням. Browser Talk і
симуляції надсилають реальні електронні листи; режиму пробного запуску немає.

## Примітка щодо сумісності

Налаштування **Додатково → Непереривані повідомлення** і застаріле
поле `speak_uninterruptible_enabled` залишаються для сумісності, але їх увімкнення
не має ефекту. Залиште налаштування вимкненим; жоден промпт не може активувати цей інструмент.

Для обов’язкового повідомлення на початку дзвінка використовуйте **Оголошення згоди**. Воно відтворюється
дослівно перед звичайною розмовою та не може бути перерване. Дивіться [Закони про згоду на
запис дзвінків](/uk/guides/recording-consent-laws).

## Тестуйте та відстежуйте вбудовані інструменти

Використовуйте Browser Talk або симуляцію, щоб перевірити промпти, пошук у базі знань, звуки
та електронну пошту. Ці середовища не можуть відтворити поведінку телефонної мережі. Перевіряйте
навігацію клавіатурою та очікування під час вихідного телефонного дзвінка, а також повне тепле
перенаправлення на реальному дзвінку за допомогою придатного імпортованого VoIP-номера. Підтримка Realtime
обмежена, як показано в таблиці вище.

## Виклики, ціноутворення та вебхуки

Вбудовані дії не мають плати за використання інструментів. Звичайні тарифи на виклики та послуги провайдера
все одно застосовуються; дивіться [Ціни](/uk/guides/pricing). Їхні виклики та результати можуть відображатися
в завершеній транскрипції, але вони не надсилають події `telephony.tool` або `web.tool`.
Ці події призначені для [функцій, визначених користувачем](/uk/tools/overview). Лише успішно завершене
завершення виклику або переадресація змінює `end_reason` виклику; інші помилки повертаються
агенту. Запис виклику дивіться в розділі [Вебхуки завершення виклику](/uk/webhooks/call-complete).
