Twilio — международный телекоммуникационный провайдер. Он позволяет боту звонить клиентам и соединять их с вашими сотрудниками в любой из 100+ стран, где Twilio предлагает телефонные номера, включая Мексику, Бразилию, Турцию, Испанию, Германию, Францию, ОАЭ, Таиланд, Малайзию и многие другие.
Что вы получаете после подключения Twilio:
- звонок клиенту в один клик прямо из карточки диалога;
- автоматические звонки по сценариям — бот звонит клиенту и зачитывает текстовое сообщение вслух;
- групповые звонки — бот звонит клиенту и соединяет его с первым доступным сотрудником;
- запись всех звонков, ссылка на запись сохраняется в переменных заказа;
- события звонка (звонок, ответ, завершение) прямо в диалоге — их можно использовать для построения сценариев.
Шаг 1. Создайте аккаунт и купите номер
- Зарегистрируйтесь на twilio.com и пройдите процесс верификации.
- В консоли Twilio откройте Phone Numbers → Buy a number и выберите номер в нужной стране. Убедитесь, что Voice включен — некоторые номера поддерживают только SMS и не могут использоваться для звонков.
Шаг 2. Скопируйте учетные данные
На главной странице консоли Twilio в разделе Account Info вы найдете два значения:
| Пункт | Как выглядит |
|---|---|
| Account SID | ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| Auth Token | скрыт; нажмите Show, чтобы увидеть его |

⚠️ Скопируйте Auth Token точно так, как он отображается, без лишних пробелов до или после. Мы используем его для проверки подлинности каждого запроса от Twilio. Один невидимый лишний символ может привести к тому, что звонки будут работать, а события звонков не будут отображаться в диалоге.
Auth Token предоставляет полный доступ к вашему аккаунту Twilio и средствам на нем. Не отправляйте его через мессенджеры и не публикуйте где-либо.
Шаг 3. Подключите Twilio в вашем аккаунте
Откройте Проект → Интеграции → Телефония → Twilio и заполните три поля:
| Поле | Что ввести |
|---|---|
| Account SID | из шага 2 |
| Auth Token | из шага 2 |
| Twilio Number | купленный номер в международном формате: +14155550100
|

Номер должен быть введен в формате E.164: +, код страны и номер телефона, без пробелов, скобок и дефисов.
После сохранения на странице появится callback URL. Скопируйте его. Затем откройте настройки купленного номера в консоли Twilio и в разделе Voice & Fax настройте:
- A call comes in → Webhook → вставьте скопированный URL и выберите HTTP POST.
Без этой настройки исходящие звонки будут работать, но входящие звонки и события звонков в диалоге — нет.
Чтобы отключить интеграцию, очистите поле Account SID и сохраните настройки.
Шаг 4. Добавьте номера телефонов сотрудников
Twilio звонит сотрудникам на обычные телефонные номера — внутренних добавочных здесь нет.
Откройте вкладку Команда, выберите сотрудника и заполните поле Twilio Phone Number его полным номером телефона в том же формате:
+905551112233
Без этого номера кнопка звонка в карточке клиента не будет работать для этого сотрудника.

Звонок из карточки клиента
Рядом с номером телефона клиента в карточке диалога появится кнопка звонка. При нажатии запускается следующая последовательность:
- Twilio звонит сотруднику — сотрудник видит ваш номер Twilio как идентификатор вызывающего абонента.
- Сотрудник отвечает на звонок.
- Только после этого Twilio звонит клиенту и соединяет обе стороны.
Этот порядок намеренный: клиенту не приходится слушать гудки, пока сотрудник добирается до телефона. Если сотрудник не отвечает, клиенту вообще не звонят.
Звонки из сценариев бота
В калькуляторе доступны четыре метода.
twilio_employee_call(client_phone, employee_phone, caller_id)
Соединяет сотрудника с клиентом. Работает так же, как кнопка звонка в карточке клиента: сначала звонят сотруднику, затем клиенту.
twilio_employee_call(client_phone, "+905551112233")

Третий аргумент необязателен. Он указывает номер телефона, который клиент увидит как идентификатор вызывающего абонента. По умолчанию используется ваш номер Twilio.
twilio_group_call(client_phone, employee_phones, caller_id)
Звонит клиенту и, когда клиент отвечает, одновременно звонит всем сотрудникам из указанного списка. Звонок соединяется с первым ответившим сотрудником.
twilio_group_call(client.phone, "+905551112233,+905554445566,+905557778899")
⚠️ Здесь порядок обратный. В отличие от предыдущего метода, клиент отвечает первым и может слышать несколько секунд тишины, пока Twilio звонит сотрудникам. Это ограничение Twilio: одновременный звонок группе и соединение с первым ответившим работает только так. Если важно, чтобы клиенту не приходилось ждать, используйте
twilio_employee_call.
twilio_play_message(client_phone, text, voice, language)
Звонит клиенту и зачитывает указанный текст с помощью синтезированной речи. Это полезно для напоминаний о встречах, подтверждений заказов и уведомлений о доставке.
twilio_play_message(client.phone, "Здравствуйте! Это напоминание о вашей встрече завтра в 15:00.", "alice", "ru-RU")
Голос alice универсален и поддерживает основные языки, включая tr-TR, es-ES, es-MX, pt-BR, de-DE, fr-FR, en-US, ru-RU и ar-XA.
Всегда указывайте язык явно — иначе Twilio может прочитать текст с английским произношением.
Не включайте в сообщение пароли, коды подтверждения или другую конфиденциальную информацию: на звонок может ответить голосовая почта.
twilio_get_record_link(call_id)
Возвращает ссылку на запись звонка. Это редко нужно, потому что ссылка обычно появляется автоматически (см. следующий раздел). Может быть полезно, если ссылка на запись не была получена и ее нужно запросить снова.
twilio_get_record_link()
Если аргумент не указан, используется последний звонок клиента.
Переменные и события
После каждого звонка бот сохраняет следующие переменные в заказе клиента:
| Переменная | Что содержит |
|---|---|
twilio_call_id |
идентификатор звонка Twilio |
twilio_call_disposition |
результат звонка: completed, busy, no-answer, failed, canceled
|
twilio_call_duration |
длительность звонка в секундах |
twilio_record_link |
ссылка на запись |
twilio_record_id |
идентификатор записи Twilio |
События в формате twilio_call_event <статус> отправляются в диалог. Вы можете использовать их как условия в своих сценариях:
| Событие | Когда отправляется |
|---|---|
twilio_call_event initiated |
звонок создан |
twilio_call_event ringing |
телефон звонит |
twilio_call_event answered |
на звонок ответили |
twilio_call_event completed |
звонок завершен |
twilio_call_event busy / no-answer / failed / canceled
|
звонок не удалось завершить |
twilio_call_event recording |
запись звонка готова |
⚠️ Дождитесь события
recordingперед использованием ссылки на запись, а не событияcompleted. Twilio обрабатывает файл записи после того, как звонок уже завершен. На момент получения событияcompletedпеременнаяtwilio_record_linkеще пуста. Поэтому сценарий, который отправляет запись менеджеру или в CRM, должен запускаться по событиюrecording.
Типичный сценарий «не удалось дозвониться до клиента — отправьте ему сообщение» работает так: условие для twilio_call_event no-answer или busy → отправка сообщения клиенту.

Записи звонков
Запись включена по умолчанию для всех звонков с участием сотрудника. Обе стороны разговора записываются с момента ответа на звонок. Файлы хранятся в вашем аккаунте Twilio и тарифицируются Twilio.
⚠️ URL
twilio_record_linkуказывает напрямую на Twilio и защищен учетными данными вашего аккаунта. Вы не можете просто открыть его в браузере или отправить клиенту — будет отображаться ошибка доступа. Чтобы скачать запись, откройте консоль Twilio и перейдите в Monitor → Logs → Calls, затем найдите звонок по егоtwilio_call_id.
⚖️ Запись звонков регулируется законом. Во многих странах — включая Германию, Францию, Испанию и многие штаты США — может требоваться согласие обеих сторон, а в некоторых случаях в начале звонка должно воспроизводиться устное уведомление. Как владелец аккаунта Twilio, вы несете ответственность за соблюдение применимых требований. Если эти правила применимы к вам, начинайте звонок с уведомления о записи или отключите запись в настройках вашего номера Twilio.
Устранение неполадок
Звонок не создается и возвращается ошибка аутентификации
Account SID или Auth Token неверны. Скопируйте их снова из консоли Twilio. Наиболее частые причины — лишний пробел или случайное копирование тестового токена вместо основного Auth Token.
Звонки работают, но в диалоге нет событий или записей
Callback URL не настроен в настройках номера Twilio (см. Шаг 3) или настроен с неправильным HTTP-методом. Метод должен быть HTTP POST.
Другая частая причина — Auth Token был изменен в Twilio, но в вашем аккаунте все еще настроен старый токен. В этом случае подписи запросов больше не совпадают, и все обратные вызовы отклоняются.
Ошибка 21606 или "From number not valid"
Номер, введенный в поле Twilio Number, либо не был куплен в вашем аккаунте Twilio, либо не поддерживает голосовые вызовы.
Откройте Phone Numbers → Manage → Active numbers и убедитесь, что номер указан и имеет возможность Voice.
Ошибка 21215 — Geo Permissions
По умолчанию Twilio блокирует звонки во многие страны как меру предотвращения мошенничества.
Откройте Voice → Settings → Geo Permissions и включите нужные направления.
Клиент звонит, но карточка диалога создается для номера сотрудника
Callback настроен с неправильным URL. Скопируйте callback URL со страницы интеграции еще раз, убедившись, что скопирован весь URL, включая все после вопросительного знака.
Пробный аккаунт: Twilio воспроизводит голосовое сообщение перед звонком
Это стандартное поведение для пробных аккаунтов Twilio. Пробные аккаунты также могут звонить только на проверенные номера телефонов.
Пополните счет и перейдите на полный аккаунт Twilio.