База знаний· Автоматизация· Webhook: интеграция с внешней системой

Автоматизация

Webhook: интеграция с внешней системой

Как из сценария отправить данные в вашу CRM, Bitrix или другую систему через webhook.

Если у вас есть своя CRM, AmoCRM, Bitrix, Salesforce, Notion, Google Apps Script — почти любая система умеет принимать HTTP-уведомления. Из сценария можно «выстрелить» таким уведомлением в момент, когда клиент дошёл до нужной точки.

Это и называется webhook — наш сервер делает HTTP-запрос на ваш URL.

Где в редакторе

В сценарии добавьте действие «Webhook».

В правой панели:

  • URL — куда отправить запрос. Полная ссылка вида https://your-domain.com/api/leads.
  • Заметка — короткий комментарий, что это за событие. Поле необязательное, идёт в payload как note.

Что отправляется

Мы делаем POST-запрос на указанный URL с JSON-телом:

``json { "bot_id": 5, "dialog_id": 12345, "chat_id": 987654321, "note": "Клиент завершил заявку" } ``

Поля:

  • bot_id — внутренний ID вашего бота в нашем сервисе.
  • dialog_id — ID диалога.
  • chat_id — ID клиента в его мессенджере (Telegram/VK/Max user id; для Instagram — IGSID).
  • note — то, что вы указали в действии.

Ответ от вашего сервера мы не используем — webhook здесь «выстрелил и забыл».

Что важно учитывать

  • HTTPS обязательно. Запросы делаются только на https:// адреса. http:// не поддерживается.
  • Таймаут небольшой. Ваш сервер должен ответить за несколько секунд. Если делаете тяжёлую обработку — складывайте в очередь и отвечайте 200 OK мгновенно.
  • Идемпотентность. Если ваш сервер вернул ошибку, мы пытаемся повторить запрос ограниченное число раз. Делайте обработку так, чтобы один и тот же dialog_id дважды не обрабатывался дважды.

Что делать на стороне CRM

Например, для AmoCRM или Bitrix:

  1. В CRM создайте «входящий webhook» — она даст вам URL.
  2. Этот URL вставьте в действие «Webhook» в нашем сценарии.
  3. В CRM настройте обработку: получить chat_id/note, найти/создать контакт, создать сделку.

Если ваша CRM не умеет принимать произвольный JSON напрямую — добавьте «прокладку» в виде Google Apps Script или сервиса Make/Zapier.

Какие данные не отправляются

  • Имя и username клиента — мы передаём только chat_id. Если нужны другие поля — заранее запишите их в карточку (через действие «CRM: записать в поле клиента»), а потом сами обогащайте на стороне CRM по chat_id.
  • Текст последнего сообщения — нет, его нужно получать другими способами.

Простой пример

Сценарий «Запись на консультацию»:

  1. Бот спрашивает имя — пишем в карточку клиента.
  2. Бот спрашивает телефон — пишем в карточку клиента.
  3. Действие «Webhook» — URL вашей CRM, note: Заявка на консультацию.
  4. Ваша CRM получает уведомление, ищет клиента по chat_id, создаёт сделку.

Проверка

  • Перед запуском в продакшен — отправьте webhook на тестовый URL (например, webhook.site) и убедитесь, что приходит то, что ожидаете.
  • В сценарии можно временно отключить webhook, чтобы не нагружать боевой контур.

Не нашли ответ?

Напишите в поддержку — подскажем по шагам в рабочее время.