Если у вас есть своя 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:
- В CRM создайте «входящий webhook» — она даст вам URL.
- Этот URL вставьте в действие «Webhook» в нашем сценарии.
- В CRM настройте обработку: получить
chat_id/note, найти/создать контакт, создать сделку.
Если ваша CRM не умеет принимать произвольный JSON напрямую — добавьте «прокладку» в виде Google Apps Script или сервиса Make/Zapier.
Какие данные не отправляются
- Имя и
usernameклиента — мы передаём толькоchat_id. Если нужны другие поля — заранее запишите их в карточку (через действие «CRM: записать в поле клиента»), а потом сами обогащайте на стороне CRM поchat_id. - Текст последнего сообщения — нет, его нужно получать другими способами.
Простой пример
Сценарий «Запись на консультацию»:
- Бот спрашивает имя — пишем в карточку клиента.
- Бот спрашивает телефон — пишем в карточку клиента.
- Действие «Webhook» — URL вашей CRM, note:
Заявка на консультацию. - Ваша CRM получает уведомление, ищет клиента по
chat_id, создаёт сделку.
Проверка
- Перед запуском в продакшен — отправьте webhook на тестовый URL (например, webhook.site) и убедитесь, что приходит то, что ожидаете.
- В сценарии можно временно отключить webhook, чтобы не нагружать боевой контур.