Twilio Voice — программные телефонные звонки. Блок инициирует исходящий вызов, читает историю и запись через API (Application Programming Interface — программный интерфейс).
С Twilio Voice в Pailot вы можете:
- Звонить на номер в формате E.164 с номера Twilio
- Задавать сценарий вызова через URL TwiML (Twilio Markup Language — разметка управления звонком) или строку
twiml(угловые скобки заменяйте квадратными:[Response][Say]Hello[/Say][/Response]) - Получать статусы по вебхуку (входящий HTTP-запрос):
statusCallback,recordingStatusCallback - Писать разговор, определять автоответчик, смотреть список звонков и расшифровку записи
Нужны Account SID, Auth Token и номер Twilio. Для сценария укажите url или twiml.
Блок ставят на холст как отдельный шаг или прикрепляют к агенту. Секреты — в переменных окружения рабочего пространства.
Инструменты
twilio_voice_make_call
Исходящий звонок через Voice API.
Вход
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
to | string | Да | Номер назначения в формате E.164 (например +14155551234) |
from | string | Да | Номер Twilio, с которого звонить (E.164) |
url | string | Нет | URL, который отдаёт инструкции TwiML |
twiml | string | Нет | Инструкции TwiML вместо URL. Угловые скобки заменяйте квадратными: [Response][Say]Hello[/Say][/Response] |
statusCallback | string | Нет | URL вебхука для статусов звонка |
statusCallbackMethod | string | Нет | HTTP-метод колбэка статуса: GET или POST |
accountSid | string | Да | Account SID Twilio |
authToken | string | Да | Auth Token Twilio |
record | boolean | Нет | Записывать разговор |
recordingStatusCallback | string | Нет | URL вебхука для статусов записи |
timeout | number | Нет | Сколько секунд ждать ответа (по умолчанию 60) |
machineDetection | string | Нет | Определение автоответчика: Enable или DetectMessageEnd |
Выход
| Параметр | Тип | Описание |
|---|---|---|
success | boolean | Удалось ли инициировать звонок |
callSid | string | Уникальный идентификатор звонка |
status | string | Статус: queued, ringing, in-progress, completed и др. |
direction | string | Направление (outbound-api) |
from | string | Номер отправителя |
to | string | Номер назначения |
duration | number | Длительность в секундах |
price | string | Стоимость звонка |
priceUnit | string | Валюта стоимости |
error | string | Сообщение об ошибке, если звонок не удался |
twilio_voice_list_calls
Список входящих и исходящих звонков аккаунта.
Вход
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
accountSid | string | Да | Account SID Twilio |
authToken | string | Да | Auth Token Twilio |
to | string | Нет | Фильтр по номеру назначения |
from | string | Нет | Фильтр по номеру отправителя |
status | string | Нет | Фильтр по статусу (queued, ringing, in-progress, completed и др.) |
startTimeAfter | string | Нет | Звонки, начавшиеся не раньше этой даты (YYYY-MM-DD) |
startTimeBefore | string | Нет | Звонки, начавшиеся не позже этой даты (YYYY-MM-DD) |
pageSize | number | Нет | Число записей (макс. 1000, по умолчанию 50) |
Выход
| Параметр | Тип | Описание |
|---|---|---|
success | boolean | Удалось ли получить список |
calls | array | Объекты звонков |
total | number | Число возвращённых звонков |
page | number | Номер страницы |
pageSize | number | Число звонков на странице |
error | string | Сообщение об ошибке, если запрос не удался |
twilio_voice_get_recording
Метаданные записи и расшифровка (если включена в TwiML).
Вход
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
recordingSid | string | Да | SID записи |
accountSid | string | Да | Account SID Twilio |
authToken | string | Да | Auth Token Twilio |
Выход
| Параметр | Тип | Описание |
|---|---|---|
success | boolean | Удалось ли получить запись |
recordingSid | string | Идентификатор записи |
callSid | string | SID звонка, к которому относится запись |
duration | number | Длительность записи в секундах |
status | string | Статус записи: completed, processing и др. |
channels | number | Число каналов (1 — моно, 2 — стерео) |
source | string | Как создана запись |
mediaUrl | string | URL файла записи |
price | string | Стоимость записи |
priceUnit | string | Валюта стоимости |
uri | string | Относительный URI ресурса записи |
transcriptionText | string | Текст расшифровки (если есть) |
transcriptionStatus | string | Статус расшифровки: completed, in-progress, failed |
transcriptionPrice | string | Стоимость расшифровки |
transcriptionPriceUnit | string | Валюта стоимости расшифровки |
error | string | Сообщение об ошибке, если запрос не удался |