---
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"`. Прекратяване поради продължителност или баланс може вместо това да използва по-конкретна причина за прекратяване.

## `transfer_call`

Прехвърля обаждащ се по телефон към фиксиран номер, предоставен от модела. Студеният трансфер е незабавен. Топъл трансфер с предварителна проверка се обажда насаме до дестинацията, преди да свърже страните. Топлият трансфер изисква потвърден импортиран VoIP номер, който може да извършва изходящи обаждания.

Поставете номера на дестинацията и точното условие за маршрутизиране в подканата:

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

Успешният студен трансфер има `end_reason: "ai_transfer"`; завършеното топло прехвърляне има `end_reason: "ai_warm_transfer"`. Неуспешният топъл опит връща контрола на агента, така че последващото приключване на разговора определя причината за прекратяването му. При сесии извън телефонни разговори заявката за трансфер вместо това прекратява сесията.

Вижте [Прехвърляне на разговори](/bg/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.
```

Ако търсенето е неуспешно, резултатът се връща на агента. Вижте [База
знания](/bg/guides/knowledge-base) за настройка в таблото и чрез API.

## `play_sound`

Възпроизвежда конфигурирания звук за известяване на агента след всяка реч в същия
ход. В таблото задайте **Разширени → Звук на инструмента** на **Камбанка**, **Звън**
или **Бип**, след което публикувайте агента. **Няма** премахва инструмента.

С [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` остават за съвместимост, но активирането им
няма ефект. Оставете настройката изключена; никаква подкана не може да активира този инструмент.

За задължително оповестяване при начало на обаждане използвайте **Съобщение за съгласие**. То се възпроизвежда
дословно преди обичайния разговор и не може да бъде прекъснато. Вижте [Закони за съгласие за записване на обаждания](/bg/guides/recording-consent-laws).

## Тествайте и наблюдавайте вградените инструменти

Използвайте Talk в браузъра или симулация, за да проверите подканите, търсенето в база знания, звуците
и имейла. Тези среди не могат да възпроизведат поведението на телефонната мрежа. Тествайте
навигацията с клавиатурата и изчакването при изходящо телефонно обаждане, както и пълно топло
прехвърляне при реално обаждане с подходящ импортиран VoIP номер. Поддръжката на Realtime
е ограничена, както е показано в таблицата по-горе.

## Обаждания, ценообразуване и уебхукове

Вградените действия нямат такса за инструмент за всяко използване. Обичайните такси за обаждания и доставчик
продължават да се прилагат; вижте [Ценообразуване](/bg/guides/pricing). Техните обаждания и резултати могат да се показват
в завършения транскрипт, но не генерират `telephony.tool` или `web.tool`.
Тези събития са за [дефинирани от потребителя функции](/bg/tools/overview). Само завършено
прекратяване на разговора или прехвърляне променя `end_reason` на обаждането; другите неуспехи се връщат
към агента. Вижте [Уебхукове при завършване](/bg/webhooks/call-complete) за записа на обаждането.
