Перевод звонка
В этом документе простым языком описано, как настроить перевод звонка на оператора или в меню АТС: что включить, что указать и чего ожидать в разговоре.
Два вида перевода
| Вид | Что происходит | Когда использовать |
|---|---|---|
| Холодный перевод | Бот сразу переводит звонок на указанный номер или «нажимает» код в меню АТС. С оператором заранее не разговаривает. | Нужно перевести в меню (по тонам DTMF) или на одну и ту же линию/номер. |
| Тёплый перевод | Бот сначала звонит оператору, кратко сообщает ему суть разговора и спрашивает, готов ли он принять звонок. После согласия соединяет клиента с оператором. | Нужно, чтобы оператор знал контекст до того, как к нему попадёт клиент. |
Ниже — по шагам для каждого вида и полный список настроек.
Есть два способа тёплого перевода — в зависимости от агента:
- Классический (кампания с пользовательскими настройками) — параметры вроде
enableWarmTransfer,warmTransferPhoneNumberи т.д. Описан ниже в разделе «Тёплый перевод». - Агент Nova — интеграция Tool → функция «Перевод на оператора». Описан в разделе «Тёплый перевод для агента Nova».
Холодный перевод: пошаговая настройка
Цель: клиент просит соединить с человеком или отделом — бот переводит звонок на номер или отправляет в линию нужный код (DTMF), без предварительного разговора с принимающей стороной.
Шаг 1. Включить холодный перевод
В настройках кампании добавьте пользовательскую настройку: имя параметра — enableTransfer, значение — true. Без этого бот не будет выполнять перевод.
Шаг 2. Выбрать способ перевода
Возможны три варианта. Выберите один в зависимости от того, как устроена ваша АТС.
Вариант А: Один и тот же номер (перевод по SIP)
-
Укажите «Номер для перевода» (transferPhoneNumber) — номер или внутренний номер в формате вашей АТС (например внутренний 100 или SIP-адрес).
-
Звонок всегда будет переводиться на этот н омер.
-
Важно: перевод по номеру (SIP) выполняется, если у кампании подключена интеграция «Подключение Вашей телефонии» (custom_voip). Номер для перевода при этом задаётся в интеграции «Call Transfer» или в пользовательских настройках кампании (transferPhoneNumber).
Вариант Б: Один код (DTMF) — бот «нажимает» цифры в линии
- Оставьте «Номер для перевода» пустым и укажите «Код для перевода (DTMF)» (dtmfTransferNumber) — цифры и при необходимости * или # (например 2222 или *1).
- При переводе бот отправит в линию именно эту последовательность тонов. Так часто устроены меню АТС: «наберите 2222 для перевода в отдел продаж».
Вариант В: Несколько вариантов — бот выбирает по разговору
- Укажите «Опции перевода» (dtmfTransferOptions) — список строк вида:
2222 — диспетчер
3333 — отдел продаж
(каждая опция с новой строки; можно добавлять * и # в коды). - Бот по словам клиента поймёт, куда перевести, и отправит нужный код. Например, клиент говорит «соедините с отделом продаж» — бот отправит 3333.
Шаг 3. Поведение после перевода
- Обычно включают «Завершить звонок после перевода» (endCallAfterTransfer = true): бот говорит что-то вроде «Перевожу вас на оператора» и завершает свою часть разговора. Клиент остаётся на линии и общается уже с оператором или меню.
- Если поставить false, бот останется на линии после перевода — такой режим нужен только в особых сценариях.
Что проверить
- Формат номера или кода должен совпадать с требованиями вашей АТС (внутренний номер, международный формат, наличие * или #).
- В скрипте разговора должно быть понятно, когда клиент просит перевод. Тогда бот ответит одной из фраз-триггеров — и выполнится перевод (см. список фраз ниже).
Все фразы, по которым срабатывает перевод
Перевод выполняется, когда бот в своей реплике произносит фразу, содержащую одну из подстрок-триггеров. Список триггеров можно задать своими настройками (phrasesBeforeTransfer для холодного, phrasesBeforeWarmTransfer для тёплого). Если настройки не заданы, подставляются значения по умолчанию.
Холодный перевод — фразы бота по умолчанию (русский):
- соединяю вас
- соединю вас
- переведу вас
- переведу звонок
- перевожу звонок
- перевожу вас
Холодный перевод — фразы бота по умолчанию (английский):
- transfer call
- transfer please
Тёплый перевод — фразы бота по умолчанию (русский):
- соединяю вас
- соединю вас
- переведу вас
- переведу звонок
- перевожу звонок
- перевожу вас
- перевожу на
- соединяю с
Тёплый перевод — фразы бота по умолчанию (английский):
- transfer call
- transfer please
Проверка идёт по вхождению подстроки: если бот сказал, например, «Сейчас переведу вас на менеджера», сработает триггер «переведу вас».
Примеры реплик клиента, на которые бот должен реагировать переводом (в скрипте нужно описать, что в таких случаях бот отвечает и переводит):
- Соедините с оператором.
- Переведите в отдел продаж.
- Хочу поговорить с человеком.
- Переключите на менеджера.
- Соедините со специалистом.
- Переведите, пожалуйста, в поддержку.
- Можно к живому оператору?
- Переведу вас / Соединяю вас (если бот сам так говорит после согласия клиента — сработает триггер по фразе бота).
Свои триггеры задаются в настройках «Фразы перед переводом» (холодный) и «Фразы перед тёплым переводом» (тёплый) — список подстрок через |.
Все настройки холодного перевода
Все параметры добавляются в кампании как пользовательские настройки (имя параметра — в первом поле, значение — во втором).
| Настройка (имя параметра) | Что это | Что указать |
|---|---|---|
| Включить холодный перевод (enableTransfer) | Разрешить боту переводить звонок на другую линию или в меню без предварительного разговора с оператором. | true — включить. false или пусто — не использовать. |
| Номер для перевода (transferPhoneNumber) | На какой номер переводить при одном фиксированном варианте. Задаётся в интеграции «Call Transfer» или в настройках кампании. При подключённой интеграции «Подключение Вашей телефонии» (custom_voip) бот переводит по SIP на этот номер. | Номер или внутренний номер (например 100), SIP-адрес, в формате вашей АТС. Пусто — если используете только DTMF или API. |
| Код для перевода (DTMF) (dtmfTransferNumber) | Цифровой код (тона), который бот «набирает» в линии для перевода. | Цифры и при необходимости * или #, например 2222 или *1. Пусто — если используете опции перевода или номер/API. |
| Опции перевода (dtmfTransferOptions) | Варианты «куда перевести» для выбора по разговору; бот по словам клиента выберет подходящий код. | Текст вида: «* 2222 — диспетчер», «* 3333 — отдел продаж». Каждая опция с новой строки. Пусто — если один код (dtmfTransferNumber) или один номер. |
| Фразы перед переводом (phrasesBeforeTransfer) | Фраз ы-триггеры: если бот сказал одну из них, выполняется перевод. | Строка с подстроками через |, например: «соединяю вас | переведу вас | переведу на менеджера». Пусто — подставляются стандартные («соединяю вас», «переведу вас» и т.п.). |
| Завершить звонок после перевода (endCallAfterTransfer) | После перевода бот завершает свою часть разговора или остаётся на линии. | true — завершить (рекомендуется). false — остаться на линии. |
| Отключить распознавание после перевода (disableRecognitionEnabled) | После перевода бот перестаёт распознавать речь абонента. | true — отключить. false или пусто — оставить распознавание. |
Тёплый перевод: пошаговая настройка
Цель: бот сначала звонит оператору, сообщает ему краткий контекст разговора и спрашивает, готов ли он принять звонок. После согласия опе ратора клиент и оператор соединяются.
Шаг 1. Включить тёплый перевод
В настройках кампании добавьте пользовательскую настройку: имя параметра — enableWarmTransfer, значение — true.
Шаг 2. Указать номер оператора (и при необходимости — несколько отделов)
Заполните «Номер оператора для тёплого перевода» (warmTransferPhoneNumber): номер в международном формате (+79001234567), внутренний номер АТС (2122) или SIP URI (sip:2122@pbx.example.com) — как принимает ваша телефония. Этот же параметр служит запасным вариантом, если включён список опций ниже, но автоматический выбор не сработал.
Если нужен перевод на разные отделы по смыслу разговора, добавьте настройку warmTransferPhoneOptions: в поле значения (многострочное) введите варианты каждый с новой строки — одна строка, одна запись вида <endpoint> - название отдела> (обычный текст: после каждой строки нажимайте Enter и пишите следующий вариант). Слева указывайте тот же тип endpoint, что и для обычного тёплого перевода (не коды DTMF вида ##2122 — это для холодного перевода в линию). Если warmTransferPhoneNumber пуст, но список опций задан корректно, запасным номером считается первая строка списка.
Если нет ни номера, ни ни одной корректной строки в списке опций, клиент услышит ошибку (текст — warmTransferErrorNoPhone).
Шаг 3. При необходимости — настроить навигацию по IVR (DTMF)
Если номер оператора ведёт через автоответчик или меню АТС (IVR), бот должен сначала «нажать» нужную цифру, чтобы попасть к живому сотруднику. Для этого задайте параметры DTMF:
| Параметр | Что делает | Рекомендуемое значение |
|---|---|---|
| warmTransferDTMFnumber | Цифра, которую бот нажмёт в меню IVR | 1 (или нужная кнопка) |
| warmTransferDTMFdelay | Пауза (мс) после соединения — пока IVR произносит приветствие | 10000 (10 сек) |
| warmTransferDTMFafterDelay | Пауза (мс) после нажатия — пока IVR переключает на оператора | 8000 (8 сек) |
| warmTransferContextDelay | Дополнительная пауза (мс) перед тем как бот начнёт говорить | 7000 (7 сек) |
Когда warmTransferDTMFnumber задан, бот меняет порядок действий:
- Не говорит приветствие и контекст до подтверждения оператора (их услышит IVR, а не человек)
- Ждёт пока живой оператор ответит и скажет «да»
- После подтверждения оператора произносит приветствие и контекст разговора, затем соединяет с клиентом
Это гарантирует, что информацию услышит именно живой человек, а не автоответчик.
Шаг 4. При желании — настроить тексты
Можно оставить стандартные формулировки или задать свои (см. таблицу «Все настройки тёплого перевода» ниже).
Все настройки тёплого перевода
Как и для холодного перевода, параметры задаются пользовательскими настройками в кампании.
| Настройка (имя параметра) | Что это | Что указать |
|---|---|---|
| Включить тёплый перевод (enableWarmTransfer) | Разрешить боту звонить оператору, передать контекст и затем соединить клиента с оператором. | true — включить. false или пусто — не использовать. |
| Номер оператора для тёплого перевода (warmTransferPhoneNumber) | Endpoint, на который бот звонит оператору при тёплом переводе; также запасной вариант при warmTransferPhoneOptions. | E.164 (+79001234567), внутренний номер (2122) или SIP URI — как требует телефония. Либо оставьте пустым, если задан непустой warmTransferPhoneOptions с корректными строками (тогда fallback — первая строка списка). |
| Варианты тёплого перевода по разговору (warmTransferPhoneOptions) | Список допустимых endpoint'ов; система по транскрипту выбирает одну строку. | Как в шаге 2: в одном поле, каждая новая строка — отдельный вариант в формате endpoint - отдел. В подписи не используйте фрагмент -. |
| Фразы перед тёплым переводом (phrasesBeforeWarmTransfer) | Фразы-триггеры: если бот сказал одну из них, выполняется тёплый перевод. | Строка с подстроками через |, например: «соединяю с оператором | переведу на живого». Пусто — подставляются стандартные по языку. |
| Показывать клиента оператору как звонящего (useClientFromUserWarmTransfer) | На телефоне оператора отображать номер клиента, а не номер бота/кампании. | true — показывать номер клиента. false или пусто — обычный номер. |
| Текст приветствия оператору (warmTransferOperatorGreeting) | Первая фраза бота оператору после ответа. | Любой короткий текст, например: «Лид от ИИ-сейлсбота». Пусто — стандартная фраза по языку. |
| Текст перед контекстом для оператора (warmTransferOperatorContextPrefix) | Текст перед озвучкой контекста разговора оператору. | Например: «Контекст разговора:». Пусто — дефолт по языку. |
| Текст перед доп. данными для оператора (warmTransferOperatorDataPrefix) | Текст перед дополнительными данными для оператора. | Например: «Доп. информация:». Пусто — по умолчанию. |
| Вопрос оператору (warmTransferOperatorQuestion) | Вопрос о готовности принять звонок. | Текст вопроса, например: «Готовы принять звонок, да или нет?». Пусто — стандартный по языку. |
| Фраза оператору после согласия (warmTransferOperatorAccept) | Что бот говорит оператору после его согласия принять звонок. | Например: «Ок, подключаю клиента». |
| Фраза оператору при отказе (warmTransferOperatorDecline) | Что бот говорит оператору при отказе принять звонок. | Например: «Хорошо, я завершу разговор с клиентом». |
| Сообщение клиенту: соединяем (warmTransferClientConnecting) | Что сказать клиенту в момент соединения с оператором. | Например: «Соединяю с оператором. До свидания!». |
| Сообщение клиенту в начале перевода (warmTransferClientNotify) | Что сказать клиенту, когда бот только начал звонить оператору. | Например: «Сейчас соединю со специалистом, подождите». |
| Сообщение клиенту: оператор ответил (warmTransferClientOperatorAnswered) | Фраза клиенту, когда оператор уже ответил, но ещё не принял звонок. | Например: «Оператор ответил. Пожалуйста, подождите минуту». |
| Сообщение клиенту: оператор отказался (warmTransferClientDeclined, warmTransferClientOperatorDeclined) | Что сказать клиенту, если оператор не принял звонок. | Вежливая фраза, например: «К сожалению, оператор не может принять звонок. До свидания». |
| Сообщение об ошибке: нет номера (warmTransferErrorNoPhone) | Текст ошибки клиенту, если нет ни warmTransferPhoneNumber, ни корректных строк в warmTransferPhoneOptions. | Понятное извинение и инструкция, например: «Сейчас перевод недоступен. Перезвоните позже.» |
| Фразы ожидания (warmTransferWaitingPhrases) | Фразы, которые бот по очереди говорит клиенту, пока оператор не ответил. | JSON-массив строк, например: ["Хорошая погода, да?", "Ещё секунду"]. Пусто — стандартные по языку. |
| Краткое резюме для оператора (warmTransferContextPrompt) | Инструкция для системы: как по транскрипту сделать краткое резюме для оператора. | Текст-инструкция. Пусто — оператору передаётся полная транскрипция (или заголовок из warmTransferDefaultContext). |
| Заголовок контекста по умолчанию (warmTransferDefaultContext) | Текст перед транскрипцией, когда не используется краткое резюме. | Например: «Клиент обратился с вопросом. Контекст разговора:». |
| Код DTMF для навигации по IVR (warmTransferDTMFnumber) | Цифра, которую бот «нажимает» в меню IVR, чтобы попасть к живому оператору. Если задан — бот переходит в DTMF-режим: приветствие и контекст передаются оператору только после его подтверждения («да»). | Один символ: 1, 2, # и т.д. Пусто — DTMF не используется, бот сразу разговаривает с тем, кто ответил. |
| Задержка перед отправкой DTMF (warmTransferDTMFdelay) | Пауза (мс) после соединения с оператором — пока IVR произносит приветствие, прежде чем бот нажмёт цифру. | Число в мс. Рекомендуется 10000 (10 сек). По умолчанию: 3000 мс. |
| Задержка после отправки DTMF (warmTransferDTMFafterDelay) | Пауза (мс) после нажатия DTMF — ожидание пока IVR переключит на живого оператора в очереди. | Число в мс. Рекомендуется 8000 (8 сек). По умолчанию: 2000 мс. |
| Задержка перед озвучиванием контекста (warmTransferContextDelay) | Дополнительная пауза (мс) перед тем, как бот начнёт говорить оператору — чтобы IVR успел полностью завершить свою фразу. | Число в мс. Рекомендуется 7000 (7 сек). По умолчанию: 0 мс (без задержки). |
Тёплый перевод для агента Nova
Этот раздел — для кампаний на агенте Nova. Здесь тёплый перевод настраивается не через пользовательские настройки кампании (enableWarmTransfer и т.п.), а через интеграцию Tool.
Что происходит: клиент остаётся на линии ожидания, бот звонит оператору, кратко вводит его в курс дела (брифинг), и после согласия соединяет клиента с оператором.
Клиент ──[ожидание] ── Бот ──[брифинг]── Оператор
↓ согласие
клиент ↔ оператор (соединение)
Интеграции → добавить Tool → в поле «Какую функцию настроить» выбрать «Перевод на оператора».
Привяжите интеграцию к кампании с телефонией.
Шаг 1. Создать интеграцию Tool
- В меню слева откройте «Интеграции».
- Нажмите «Добавить интеграцию».
- В каталоге выберите карточку Tool (категория skills).
- Укажите понятное имя (например, «Варм трансфер»).
- В селекте «Какую функцию настроить» выберите «Перевод на оператора» — откроется готовая форма.
- Привяжите интеграцию к кампании с телефонией.
Шаг 2. Когда переводить
Заполните блок «Когда переводить»:
| Поле | Зачем |
|---|---|
| Зачем переводить | Кратко: когда и зачем бот переводит на человека. |
| Если клиент сказал — перевести | Фразы клиента (по одной на строку), после которых нужен перевод. Пример: соедините с оператором. |
| Если бот сказал — перевести | Фразы бота, после которых запускается перевод. Пример: сейчас переведу вас. |
Шаг 3. Куда можно перевести
В блоке «Что бот узнаёт из разговора» заполните таблицу направлений:
- слева — номер или SIP (
+79991234567илиsip:70000003088@host:9090); - справа — название направления (ЖК, отдел, линия).
Можно указать один номер или несколько. Бот сам выберет направление по разговору.
Чекбокс «Бот обязательно должен выбрать направление» — если включён, направление обязательно для вызова перевода.
Шаг 4. Какие факты о лиде сообщить
В блоке «Какие факты о лиде сообщить» опишите, что бот до лжен собрать из разговора с клиентом и передать оператору при брифинге.
Примеры: регион, количество комнат, название объекта, имя клиента.
Это не готовый текст, а подсказка боту: какие факты собрать. Сами факты бот заполняет во время звонка.
Чекбокс «Бот обязательно должен собрать факты о лиде» — рекомендуется оставить включённым.
Шаг 5. Как соединять звонок (по желанию)
Блок «Как соединять звонок» — технические настройки линии. Можно не заполнять: тогда возьмутся из телефонии кампании.
| Поле | Зачем |
|---|---|
| Домен / логин / пароль / порт / исходящий прокси | SIP для звонка оператору, если нужен отдельный trunk |
| Номер, который увидит оператор | Часто {{call.phone}} — чтобы оператор видел номер клиента |
Шаг 6. Как вести разговор с оператором
В блоке «Как вести разговор с оператором» задайте сценарий после того, как оператор взял трубку:
- поздороваться;
- передать факты о лиде (их бот уже собрал);
- спросить, готов ли принять звонок;
- при согласии — соединить, при отказе — завершить.
Если поле пустое, подставится стандартный сценарий; факты о лиде всё равно добавятся в конец, если они собраны.
Шаг 7. Фразы клиенту на ожидании (по желанию)
Пока идёт набор и брифинг с оператором, клиент слышит фразы ожидания. Если поля пустые — используются стандартные («подожди те», «оператор на связи» и т.п.).
Что происходит в разговоре (Nova)
- Клиент просит оператора (или бот сам предлагает перевод по фразам/смыслу).
- Бот ставит клиента на ожидание и звонит оператору.
- С оператором идёт короткий брифинг: сценарий из шага 6 + факты о лиде из шага 4.
- Оператор согласен → клиент и оператор соединяются.
- Оператор отказался или недоступен → клиенту сообщают об этом.
Что проверить
- К кампании привязаны Tool с «Перевод на оператора» и телефония.
- В таблице направлений указан хотя бы один номер или SIP.
- В «Какие факты о лиде сообщить» понятно, что собирать.
- В «Как вести разговор с оператором» есть инструкция соединить после согласия (иначе оператор может «зависнуть» на брифинге).
Что происходит в разговоре
При холодном переводе
- Клиент просит соединить с оператором или отделом (или бот сам предлагает перевод и клиент соглашается).
- Бот говорит что-то вроде «Сейчас переведу вас на менеджера» или «Оставайтесь на линии».
- Бот выполняет перевод: отправляет в линию код DTMF и/или переводит звонок на указанный номер.
- В вашей системе статус звонка обновляется (например, помечается как «переведён»).
- Если включено «Завершить звонок после перевода» — бот завершает свою часть; клиент остаётся на линии и разговаривает с оператором или меню.
При тёплом переводе (прямой звонок оператору)
Используется когда warmTransferDTMFnumber не задан — оператор отвечает напрямую, без IVR.
- Клиент просит соединить с оператором (или бот предлагает и получает согласие).
- Бот говорит клиенту, что соединяет со специалистом, и просит подождать.
- Бот звонит на номер оператора. Когда оператор отвечает, бот приветствует его, кратко сообщает контекст разговора и спрашивает, готов ли оператор принять звонок.
- Если оператор согласен — бот говорит «Ок, подключаю клиента» и соединяет их; клиент слышит «Соединяю с оператором. До свидания».
- Если оператор отказывается — клиенту озвучивается сообщение об отказе.