Как это работает
- Звонок приходит (inbound) или инициируется (outbound).
- Агентика отправляет POST request на настроенный endpoint со стандартизированным payload.
- Абонент слышит ring-back tone, пока ожидается ответ.
- Ваш API отвечает JSON object с объектом
initial_context. - Переменные объединяются с initial context звонка.
- Голосовой агент стартует с полным доступом к полученным данным через синтаксис
{{variable_name}}.
Конфигурация
Откройте редактор узла Start Call и раскройте Advanced Settings. Включите Pre-Call Data Fetch и настройте:Формат запроса
Агентика отправляетPOST request со следующим JSON payload:
Заголовок
Content-Type установлен в application/json. Если вы настроили credential, соответствующий authentication header будет добавлен.
Ожидаемый формат ответа
Ваш API должен вернуть JSON object со статусом2xx. Переменные, которые нужно добавить в call context, должны находиться внутри ключа initial_context:
initial_context на верхний уровень:
Legacy-ключ
dynamic_variables все еще принимается как drop-in alias для initial_context, поэтому существующие integrations продолжают работать без изменений. Для новых integrations используйте initial_context. Если response содержит оба ключа, приоритет у initial_context.- Greeting:
Hello {{customer_name}}, thank you for calling! - Prompt:
The customer is a {{loyalty_tier}} member with {{open_tickets}} open support tickets.
Если response не является valid JSON object, не содержит
initial_context или legacy dynamic_variables, либо request fails или times out, звонок продолжается без дополнительного context. Pre-call fetch никогда не блокирует и не проваливает звонок.Вложенные переменные
Еслиinitial_context содержит вложенные объекты, обращайтесь к ним через dot notation:
{{customer.name}} и {{customer.address.city}}.
Timeout
У запроса есть 10-second timeout. Если ваш API не ответит за это время, звонок продолжится без полученных данных. Проектируйте endpoint так, чтобы он отвечал как можно быстрее и минимизировал длительность ring-back tone.Тестирование через Test Calls
Когда приходит настоящий телефонный звонок, context variables
caller_number и called_number автоматически задаются telephony provider и включаются в pre-call data fetch request как from_number и to_number. Но когда вы делаете test call — web call (WebRTC) или phone test call из workflow editor — эти переменные по умолчанию недоступны.
Чтобы имитировать telephony data во время тестирования:
- Откройте workflow и перейдите в Settings.
- В Context Variables добавьте:
caller_number— номер, который нужно имитировать как caller, например+12137771234.called_number— номер, на который как будто позвонили, например+12137771235.
- Сохраните настройки.
Эти context variables используются только во время test calls из workflow editor. В production inbound calls и campaign outbound calls используются реальные telephony data, а эти значения игнорируются.