+7 (988) 353-52-54Звонки и мессенджеры kompman1@yandex.ru

Боты 5 мин чтения

Интеграция сайта с Telegram и CRM: схема и настройка

Пошаговая схема «форма на сайте → обработчик → уведомление в Telegram → сделка в amoCRM или Битрикс24»: какие поля куда передавать, как довести до CRM метки UTM, что делать с дублями и как не потерять заявку, если CRM недоступна.

Интеграция сайта с Telegram и CRM: схема и настройка

Задача звучит просто: человек оставил заявку на сайте — менеджер через несколько секунд видит её в Telegram, а в CRM появилась сделка с контактом и источником. На практике заявки теряются не в Telegram и не в CRM, а на стыках: CRM не ответила, токен истёк, метки рекламы не дошли, одна заявка создала три сделки. Ниже — схема, в которой эти стыки закрыты.

Зачем бизнесу вообще бот и уведомления, я разбирал отдельно — в статье зачем бизнесу Telegram-бот. Здесь только устройство связки.

Схема целиком

  1. Посетитель заполняет форму на сайте.
  2. Форма отправляет данные на обработчик на вашем сервере — это и есть вебхук сайта.
  3. Обработчик проверяет данные и сначала сохраняет заявку у себя — в таблицу базы данных с уникальным номером.
  4. Обработчик создаёт контакт и сделку в CRM и получает в ответ её номер.
  5. Обработчик отправляет уведомление в рабочий чат Telegram со ссылкой на сделку.
  6. Если шаг 4 или 5 не удался, заявка остаётся в очереди и отправляется повторно.

Ключевая идея — заявка сначала записывается на стороне сайта. Telegram — это канал уведомления, CRM — рабочее место менеджера, но ни то, ни другое не должно быть единственным местом, где заявка существует.

Шаг 1. Форма: что собирать

Видимые поля — только то, без чего нельзя перезвонить: имя, телефон, иногда услуга или комментарий. Плюс отметка согласия на обработку персональных данных со ссылкой на текст согласия.

Скрытые поля заполняются автоматически:

  • utm_source, utm_medium, utm_campaign, utm_content, utm_term — метки рекламы;
  • yclid — идентификатор клика Яндекс Директа;
  • идентификатор посетителя Яндекс Метрики (ClientID) — чтобы потом связать заявку с визитом;
  • адрес страницы, с которой отправлена форма, и адрес, откуда человек пришёл на сайт.

Частая ошибка с метками: их читают из адреса текущей страницы. Человек пришёл по рекламе на главную, перешёл в «Услуги» — и меток в адресе уже нет. Правильно — при первом заходе сохранить метки в cookie и подставлять их в форму на любой странице. Как эти данные потом превращаются в отчёт о стоимости заявки по каждой кампании, описано в статье про сквозную аналитику.

Шаг 2. Обработчик на сервере

  • Проверяет телефон и обязательные поля, отсекает спам: скрытое поле-ловушка для ботов, ограничение частоты отправок с одного адреса.
  • Защищает от двойного нажатия: если с тем же телефоном пришла заявка минуту назад, новая не создаётся, а добавляется комментарием.
  • Пишет заявку в свою таблицу со статусом «новая» и всеми полями.
  • Токены CRM и бота хранит в настройках сервера, а не в коде страницы. Если токен виден в исходном коде сайта, им может воспользоваться кто угодно.

Шаг 3. CRM: что куда передаётся

amoCRM

Подключение — через внешнюю интеграцию с OAuth: обработчик получает ключ доступа и периодически обновляет его. Порядок действий:

  • ищем контакт по телефону, чтобы не плодить дубли; не нашли — создаём;
  • создаём сделку в нужной воронке и на нужном этапе, привязываем к контакту;
  • имя и телефон — в контакт, услугу и комментарий — в поля или примечание сделки;
  • метки UTM — в UTM-поля сделки, страницу и ClientID — в свои поля.

Если нужно, чтобы менеджер сам решал, брать ли заявку в работу, её кладут в «Неразобранное».

Битрикс24

Самый простой способ — входящий вебхук с правами на CRM, его создают в разделе для разработчиков. Дальше:

  • создаётся лид или сделка с контактом — зависит от режима CRM: в простом режиме лидов нет, сразу сделки;
  • у лида и сделки есть штатные поля UTM_SOURCE, UTM_MEDIUM, UTM_CAMPAIGN, UTM_CONTENT, UTM_TERM;
  • источник заявки ставится полем «Источник», чтобы в отчётах было видно «Сайт».

В ответ CRM возвращает номер созданной сделки — его записываем в свою таблицу рядом с заявкой.

Шаг 4. Уведомление в Telegram

Бота добавляют в рабочую группу менеджеров, и обработчик отправляет туда сообщение через Bot API. В сообщении — минимум для действия: имя, телефон, услуга, источник и ссылка на сделку в CRM. Полный набор данных, метки и комментарии пусть живут в CRM.

Если нужны кнопки «Беру» или «Перезвонил», боту понадобится свой вебхук: Telegram отправляет нажатия на адрес сервера по HTTPS, сервер меняет ответственного или этап в CRM. Для простых уведомлений это не обязательно.

Обратная связь из CRM в Telegram

Связка может работать и в другую сторону. И amoCRM, и Битрикс24 умеют сами отправлять уведомление на адрес сервера при событиях: сделку перевели на этап, сменили ответственного, задача просрочена. Обработчик превращает такое событие в сообщение в Telegram — например, руководителю, если заявка висит без ответа дольше часа. Для маленькой команды это часто полезнее, чем сложные отчёты.

Если CRM пока нет

Схема работает и без CRM: заявки сохраняются в таблицу на сайте, а уведомление уходит в Telegram. Когда CRM появится, к готовой цепочке добавится один шаг, и старые заявки можно будет перенести из таблицы.

Что делать, когда CRM недоступна

CRM бывает недоступна, ключ доступа истекает, если интеграцией долго не пользовались, лимиты на запросы срабатывают в пиковый час. Поэтому:

  1. Уведомление в Telegram уходит в любом случае — с пометкой «не попала в CRM». Менеджер звонит, клиент не ждёт.
  2. Заявка в таблице сайта получает статус «не отправлена», и планировщик раз в несколько минут повторяет попытку.
  3. Номер сделки сохраняется после успешной отправки. Повторная попытка сначала проверяет его — так одна заявка не создаёт три сделки.
  4. Если попытки не удаются час, в Telegram приходит отдельное сообщение ответственному: «интеграция с CRM не работает».
  5. Резервная копия — письмо на почту. Telegram тоже бывает недоступен, и второй канал не помешает.

Персональные данные

Имя и телефон — персональные данные, и 152-ФЗ касается всей цепочки. Нужно отдельное согласие на обработку и опубликованная политика конфиденциальности. Первичная запись данных граждан России должна вестись в базах на территории России — проверьте, где хранит данные ваша CRM и сервер сайта. В Telegram-сообщение я кладу только то, что нужно для звонка, и не делаю чат хранилищем заявок.

Проверка перед запуском

  • Отправьте заявку по ссылке с метками и с перехода на другую страницу — метки должны дойти до CRM.
  • Нажмите «Отправить» дважды — должна появиться одна сделка.
  • Отключите на время доступ к CRM — уведомление должно прийти, а заявка дойти после восстановления.
  • Проверьте, что цели Метрики срабатывают на успешную отправку, а не на клик по кнопке.

Настройку такой связки я делаю в рамках интеграции сайта с CRM — от 20 000 ₽ и от 7 дней, оповещения в Telegram входят. Если нужен ещё и бот с кнопками и сценариями, это отдельно — бот для уведомлений о заявках.

Вопросы и ответы

Как связать форму на сайте с amoCRM или Битрикс24?
Форма отправляет данные на обработчик на сервере сайта, он сохраняет заявку и через API создаёт контакт и сделку. В amoCRM для этого используется внешняя интеграция, в Битрикс24 — входящий вебхук.
Как передать метки UTM в CRM?
Сохранить метки в cookie при первом заходе, подставлять их в скрытые поля формы и записывать в UTM-поля сделки. Если читать метки только из адреса текущей страницы, они теряются при переходах.
Что будет с заявкой, если CRM не работает?
При правильной схеме заявка сначала сохраняется на сайте, уведомление в Telegram уходит сразу, а отправка в CRM повторяется автоматически, пока не пройдёт.
Почему одна заявка создаёт несколько сделок?
Обычно из-за двойного нажатия кнопки или повторных попыток без проверки. Помогает поиск контакта по телефону и сохранение номера уже созданной сделки.
Сколько стоит интеграция сайта с CRM и Telegram?
От 20 000 ₽ и от 7 дней, оповещения в Telegram входят в эту работу.

Читайте также

Блог
Telegram-бот для интернет-магазина: функции и интеграция
E-commerce

Telegram-бот для интернет-магазина: функции и интеграция

Что Telegram-бот может делать для магазина: уведомлять команду о заказах, присылать покупателю статусы, показывать каталог и принимать оплату. Как связать его с сайтом на OpenCart и что в бота переносить не стоит.

5 мин чтения

Беру новые проекты

Обсудим вашу задачу?

Расскажите о проекте — перезвоню в течение рабочего дня, задам пару вопросов и назову цену и срок.

Отвечаю в течение рабочего дня

Отвечу в течение рабочего дня