https://retellai.com/?utm_source=discord&utm_medium=seo logo
Если я хочу принимать звонки INbound b хочу при пр...
# ❓・ai-evy-support
d
@AI Evy Если я хочу принимать звонки INbound b хочу при приеме звонка передать переменные об абоненте из моей CRM ( то есть нужно подтянуть исходя из входящего номера телефона переменные из CRM совершив API риквест). Как это настроить?
a
Thanks for tagging me @dropsofsteel. I'll look through relevant sources and get back to you shortly.
### Answer Для передачи переменных из вашей CRM при входящих звонках используйте Inbound Call Webhook [(1) ]() . Этот вебхук позволяет выполнить API-запрос к вашей CRM на основе входящего номера телефона и вернуть динамические переменные для агента . Настройка: 1. Настройте вебхук на уровне телефонного номера (в разделе Phone Numbers) [(2) ]() 2. Ваш вебхук получит запрос с данными о звонке, включая
from_number
(номер звонящего) [(1) ]() [(2) ]() 3. Выполните API-запрос к вашей CRM, используя
from_number
4. Верните данные в следующем формате [(2) ]() :
Copy code
json
{
  "call_inbound": {
    "dynamic_variables": {
      "first_name": "Иван",
      "last_name": "Иванов",
      "email": "ivan@example.com",
      "caller_known": "true"
    }
  }
}
Важно: Динамические переменные для входящих звонков должны быть вложены под ключом
call_inbound
с подключом
dynamic_variables
. Это отличается от исходящих звонков, где используется
retell_llm_dynamic_variables
напрямую [(3) ]() . Вебхук должен быть настроен именно на уровне телефонного номера, а не только на уровне агента [(2) ]() . После настройки агент получит эти переменные и сможет использовать их в промпте для персонализации разговора [(3) ]() .
​ To learn more, see the sources I considered: [[1] Receive calls](https://docs.retellai.com/deploy/inbound-call) [[2] Inbound webhook returns retell_llm_dynamic_variables but agent doesn't receive them](https://community.retellai.com/t/inbound-webhook-returns-retell-llm-dynamic-variables-but-agent-doesnt-receive-them/733) [[3] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
d
@AI Evy Вебхук должен быть настроен именно на уровне телефонного номера, а не только на уровне агента - поясни
a
Thanks for the follow-up, @dropsofsteel. I'll get back to you soon.
### Answer Inbound Webhook настраивается на уровне телефонного номера, а не агента, потому что это часть конфигурации номера [(1) ]() . Вот как это работает: Почему на уровне номера: Когда входящий звонок поступает на ваш номер, Retell AI должен знать, куда отправить webhook до того, как звонок будет подключен к агенту . Webhook срабатывает в момент получения звонка, и звонок еще не подключен — объект call еще не создан . Где настроить: 1. **В Dashboard**: перейдите в раздел Phone Numbers, выберите нужный номер и укажите
inbound_webhook_url
[(2) ]() 2. Через API при создании номера:
Copy code
json
{
  "inbound_webhook_url": "<https://example.com/inbound-webhook%22>
}
[(3) ]() 3. Через API при импорте номера:
Copy code
json
{
  "phone_number": "+14157774444",
  "termination_uri": "someuri.pstn.twilio.com",
  "inbound_webhook_url": "<https://example.com/inbound-webhook%22>
}
[(4) ]() Что получает ваш webhook: Retell отправит POST-запрос с данными [(1) ]() :
Copy code
json
{
  "event": "call_inbound",
  "call_inbound": {
    "agent_id": "agent_12345",
    "from_number": "+12137771234",
    "to_number": "+12137771235"
  }
}
Что вы должны вернуть: После запроса к вашей CRM верните :
Copy code
json
{
  "call_inbound": {
    "dynamic_variables": {
      "customer_name": "Иван Иванов",
      "account_id": "12345"
    }
  }
}
Webhook на уровне номера позволяет обрабатывать каждый входящий звонок индивидуально, извлекая данные из CRM по
from_number
до начала разговора [(5) ]() .
​ To learn more, see the sources I considered: [[1] Inbound webhook](https://docs.retellai.com/features/inbound-call-webhook) [[2] Receive calls](https://docs.retellai.com/deploy/inbound-call) [[3] Create Phone Number](https://docs.retellai.com/api-references/create-phone-number) [[4] Import Phone Number](https://docs.retellai.com/api-references/import-phone-number) [[5] Discord message from @katecardenas_67927 on 2025-09-17](https://discord.com/channels/1186424376300679209/1186462578310910112/1417939440860528783) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
d
@AI Evy Xn будет если на вебхук по какой-то приине не будет полчен ответ? Неужели агент просто не возьет трубку?
a
Thanks for the follow-up, @dropsofsteel. I'll get back to you soon.
### Answer Нет, агент всё равно примет звонок, даже если вебхук вернет ошибку [(1) ]() . Звонок подключится, но без динамических переменных . Поведение при ошибке вебхука: Webhook имеет таймаут 10 секунд [(2) ]() . Если в течение 10 секунд не получен успешный статус (2xx) , вебхук будет повторен до 3 раз . Если все попытки неуспешны, звонок всё равно продолжится [(1) ]() . Важные детали: - Звонок подключается без динамических переменных, если вебхук не отвечает - Логи не всегда содержат информацию об ошибке вебхука - Переменные останутся в формате
{{variable_name}}
(не будут заполнены) [(3) ]() Рекомендация: Если вы хотите завершать звонок при ошибке вебхука, можно вернуть специальную переменную (например,
SHOULD_HANG_UP: "true"
) и проверять её в агенте [(1) ]() . Однако это требует изменения логики обработки ошибок на вашем сервере, чтобы всегда возвращать статус 2xx . Пример обработки в агенте: Добавьте в промпт агента инструкцию проверять переменные:
Copy code
Если {{customer_name}} отображается с фигурными скобками, используйте общее приветствие.
В противном случае поприветствуйте клиента по имени.
[(3) ]() Это обеспечит корректную работу даже при отсутствии данных из CRM .
​ To learn more, see the sources I considered: [[1] The call connects despite the fact that Inbound Call Webhook returns an error](https://discord.com/channels/1186424376300679209/1343523617744486511) [[2] Inbound webhook](https://docs.retellai.com/features/inbound-call-webhook) [[3] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
d
@AI Evy Опиши прочтыми словами тогда как все будет работаь при входящем звонке
a
Thanks for the follow-up, @dropsofsteel. I'll get back to you soon.
### Answer Как работает входящий звонок с Inbound Webhook: Шаг 1: Звонок поступает Клиент звонит на ваш номер телефона в Retell AI [(1) ]() . Шаг 2: Retell отправляет запрос на ваш вебхук Retell AI отправляет POST-запрос на URL вебхука, который вы указали в настройках номера . Звонок еще не подключен — телефон продолжает звонить . Ваш вебхук получает данные о звонке :
Copy code
json
{
  "event": "call_inbound",
  "call_inbound": {
    "agent_id": "agent_12345",
    "from_number": "+12137771234",
    "to_number": "+12137771235"
  }
}
Шаг 3: Ваш сервер обращается к CRM Ваш вебхук берет
from_number
(номер звонящего) и делает API-запрос к вашей CRM, чтобы найти информацию о клиенте по этому номеру [(2) ]() . Шаг 4: Вы возвращаете данные в Retell Ваш вебхук должен вернуть ответ со статусом 2xx в течение 10 секунд [(1) ]() . Формат ответа [(3) ]() :
Copy code
json
{
  "call_inbound": {
    "dynamic_variables": {
      "customer_name": "Иван Иванов",
      "email": "ivan@example.com",
      "account_id": "12345"
    }
  }
}
Шаг 5: Retell подключает звонок к агенту Агент получает динамические переменные и использует их в разговоре [(4) ]() . Например, агент может поприветствовать клиента по имени: "Здравствуйте, {{customer_name}}" . Что если вебхук не ответил: - Retell повторит запрос до 3 раз [(1) ]() - Если все попытки неуспешны, звонок всё равно подключится, но без динамических переменных [(5) ]() - Переменные останутся в формате
{{customer_name}}
(не заполнятся) [(4) ]() Важно: Таймаут вебхука — 10 секунд [(1) ]() . Убедитесь, что ваш API-запрос к CRM выполняется быстро.
​ To learn more, see the sources I considered: [[1] Inbound webhook](https://docs.retellai.com/features/inbound-call-webhook) [[2] Discord message from @katecardenas_67927 on 2025-09-17](https://discord.com/channels/1186424376300679209/1186462578310910112/1417939440860528783) [[3] Inbound webhook returns retell_llm_dynamic_variables but agent doesn't receive them](https://community.retellai.com/t/inbound-webhook-returns-retell-llm-dynamic-variables-but-agent-doesnt-receive-them/733) [[4] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) [[5] The call connects despite the fact that Inbound Call Webhook returns an error](https://discord.com/channels/1186424376300679209/1343523617744486511) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.