Переписка с клиентами в Telegram и WhatsApp внутри CRM: что подключается легко, а что нет
Telegram в CRM подключается за вечер: создаёте бота, получаете токен и принимаете сообщения. WhatsApp требует аккаунта Meta, публичного HTTPS-адреса и шаблонов, а личные чаты менеджеров вообще не видны компании. Ниже порядок подключения, правила идентификации клиента и разбор запуска за четыре недели.
Какие каналы подключаются к CRM за день, а какие за недели
Когда заказчик говорит «хотим всю переписку в CRM», я первым делом прошу перечислить, где клиенты пишут сегодня. Каналов обычно четыре-пять, и по трудоёмкости они делятся на три группы. К первой относятся те, которые подключаются за день: Telegram-бот, почта и форма на сайте. Ко второй те, что требуют согласований на стороне платформы: WhatsApp. В третью попадает всё, что делается руками людей в личных аккаунтах и пока не подключается вообще.
Я привожу картину на примере нашей CRM с AI-отделом продаж, потому что её каналы я знаю изнутри. Ядро системы знает только «диалог» и «сообщение», а особенности канала спрятаны в адаптерах, поэтому новый канал добавляется без изменения схемы данных. Сводка по каналам: | Канал | Что нужно от вас | Ограничение | Статус в продукте | |---|---|---|---| | Telegram-бот | токен от BotFather | клиент должен сам открыть диалог с ботом | готово | | Электронная почта | почтовый ящик (IMAP и SMTP) | опрос раз в 1–2 минуты | готово | | Веб-форма или виджет | код на сайте | заявка попадает в лид за секунды | готово | | WhatsApp | аккаунт Meta Business, шаблоны | окно 24 часа, одобрение шаблонов | задел следующей очереди | | VK, Avito, телефония | зависит от канала | отдельные согласования | задел следующей очереди |
Статус «задел» означает, что архитектура готова, а канал не подключён: я не обещаю того, чего нет. В этой же системе клиента опознают по любому контакту: из какого бы канала человек ни написал, он попадает в одну карточку. Идентификацию разберу отдельно в четвёртом разделе.
Для ERPNext картина другая: готового Telegram-бота в коробке нет, а WhatsApp подключается сторонним приложением. Если вы строите переписку на ERPNext, закладывайте разработку и проверяйте на стенде, что именно умеет выбранное приложение в вашей версии.
Telegram-бот: токен BotFather и диалог в карточке клиента
Telegram самый лёгкий канал, потому что открытый и хорошо документированный. Бот создаётся у BotFather, он выдаёт токен, и с этого токена начинается интеграция. Токен это пароль: храните его в настройках CRM, не в письмах и не в чатах. Если токен утёк, его перевыпускают у BotFather, и старый перестаёт работать.
Дальше нужно решить, как CRM получает сообщения. Telegram предлагает два способа: долгий опрос getUpdates и вебхук setWebhook. Одновременно использовать оба нельзя. Опрос годится для тестов, в production используют вебхук: Telegram сам присылает обновления на ваш HTTPS-адрес. Поддерживаются порты 443, 80, 88 и 8443. Параметр secret_token, который вы задаёте при установке вебхука, Telegram возвращает в заголовке X-Telegram-Bot-Api-Secret-Token, и по нему сервер отличает настоящие обновления от посторонних запросов. Вот как выглядит установка вебхука, токен и домен подставьте свои:
curl -s "https://api.telegram.org/bot<ТОКЕН>/setWebhook" \
-d url="https://crm.example.com/hooks/telegram" \
-d secret_token="случайная-строка-из-латиницы-и-цифр"В нашей CRM эту работу делает адаптер канала: сообщения приходят за миллисекунды и без дублей, а оператору остаётся внести токен в настройки. Дубли, если вы строите самостоятельно, возникают, когда Telegram повторяет доставку после ответа об ошибке: обработчик должен быть идемпотентным и помнить номера уже принятых обновлений.
Два ограничения, о которых заказчики узнают поздно. Первое: по правилам Telegram бот не пишет человеку первым, пока тот не открыл с ним диалог. Для CRM это означает, что холодных рассылок через бота не будет, и клиентов приходится приглашать ссылкой или кнопкой на сайте. Второе: темп. Telegram рекомендует не отправлять в один чат больше одного сообщения в секунду и в группу больше 20 в минуту, а массовые рассылки идут примерно до 30 сообщений в секунду; на живую переписку этих лимитов хватает, на рассылки по базе нет.
Как быть с телефоном клиента. Бот по умолчанию знает идентификатор пользователя в Telegram, а не номер. Чтобы получить телефон, в диалоге показывают кнопку с запросом контакта: пользователь сам нажимает её, и бот получает объект контакта с номером. Без этого шага карточка клиента из Telegram остаётся «безымянной» и не склеивается с тем, кто звонил или писал на почту.
WhatsApp: что нужно от Meta и почему свободно писать клиенту первым нельзя
WhatsApp для бизнеса подключается через официальный Cloud API от Meta. Минимум, который требуется по документации: приложение в кабинете разработчика Meta, связанный бизнес-аккаунт WhatsApp, номер телефона, публичный HTTPS-адрес для вебхука и постоянный токен доступа. Временный токен из быстрого старта живёт недолго и годится только для проверки: для рабочей системы создают системного пользователя и выпускают постоянный. В нашей базе знаний добавлено ещё, что нужны портфель Meta Business и верификация компании; перед стартом сверьте требования в кабинете Meta, они меняются.
Главное правило, из-за которого ломаются ожидания, такое. Диалог, начатый бизнесом, начинается с заранее одобренного Meta шаблона сообщения. Свободный текст можно отправлять только в окне 24 часа после последнего сообщения клиента. Закрылось окно, снова нужен шаблон. Шаблоны проходят одобрение и делятся на категории, поэтому рассылку «напомним о визите» нельзя придумать утром и отправить в обед.
Что это значит для CRM. Во-первых, автоматические напоминания и рассылки строят на шаблонах и заранее. Во-вторых, менеджер должен видеть в карточке, открыто ли окно: если закрыто, поле ввода предупреждает о необходимости шаблона. В-третьих, роботу-продавцу ставят то же ограничение, что и человеку: отвечать свободным текстом он может только внутри окна.
Неофициальные шлюзы, которые подключают личный номер через QR-код, существуют, но их стабильность и допустимость зависят от правил самого мессенджера. Я не строю на них постоянный канал для бизнеса: номер могут ограничить, и компания лишится всей истории. Рабочий путь это Cloud API с шаблонами, он дороже в настройке и предсказуемее в эксплуатации.
Для ERPNext на стороне сообщества есть приложение frappe_whatsapp (репозиторий shridarpatil/frappe_whatsapp): оно работает напрямую с Cloud API, принимает входящие через вебхук, синхронизирует одобренные Meta шаблоны и умеет уведомления по событиям документов. Совместимость с вашей версией Frappe в описании не указана, поэтому ставьте его сначала на копию и проверяйте, где и как хранится переписка. Доступность каналов Meta и оплату в вашей юрисдикции тоже проверяйте отдельно до проекта.
Как CRM узнаёт клиента: один человек, три канала, одна карточка
Подключить канал половина дела. Вторая: чтобы сообщение из Telegram и звонок с того же номера оказались в одной карточке. Правило идентификации у меня такое: контакт — это любое из полей, телефон, почта или идентификатор в мессенджере, и совпадение по любому ведёт к одному клиенту. В нашей CRM так и устроено: из какого бы канала человек ни написал, он попадает в одну карточку.
Алгоритм, который я закладываю при проектировании, выглядит так. Пришло сообщение, система ищет клиента по контакту. Нашла, значит, добавляет сообщение в существующий диалог. Не нашла, создаёт клиента и лид с источником канала, например «Telegram», и ставит статус «Не обработан». Ответ менеджера или AI-продавца записывается в ту же ленту «Диалоги».
Где алгоритм ломается, я знаю по проектам. Клиент пишет с рабочего и с личного номера, и система считает его двумя людьми. Один сотрудник заказчика пишет от разных компаний. Человек использует в Telegram псевдоним и не делится номером. Для этих случаев нужны две вещи: ручное объединение карточек и контрольный отчёт о подозрительных дублях. Автоматически объединять по совпадению имени я не советую: слишком много ложных склеек.
Что должен видеть менеджер после идентификации. Карточку клиента с историей заказов и заявок, диалог с канальной пометкой, ответственного и время последнего контакта. Когда ответственный меняется, новый человек получает всю переписку из карточки, а не из личного мессенджера бывшего сотрудника. Это главный практический довод в пользу переписки внутри CRM.
Разбор случая: клининговая компания «Чистый Лист Групп» на 45 рабочих мест
Условный пример. Клининговая компания «Чистый Лист Групп», 45 рабочих мест: восемь диспетчеров и менеджеров, около тридцати бригадиров и клинеров, остальные бухгалтерия и руководство. Заявки приходят из Telegram, по почте и с сайта; часть клиентов привыкла писать в WhatsApp. Цифры вымышлены для иллюстрации: порядка 60 обращений в день, что для такой компании правдоподобно, но реального клиента за этим нет.
Начальное положение: заявки в личных мессенджерах диспетчеров, часть теряется в выходные и при отпусках. План запуска на четыре недели. Неделя 1: Telegram-бот и веб-форма. Неделя 2: подключение почты и правила назначения ответственных. Неделя 3: обучение сотрудников на реальных диалогах. Неделя 4: разбор дублей клиентов и решение по WhatsApp. После каждой недели контрольная точка с проверкой по списку: приходят ли сообщения, нет ли дублей, видят ли диспетчеры очередь.
Результат по неделям в этом примере такой. Первая неделя: бот принимает сообщения, форма создаёт лиды за секунды, диспетчеры видят их в одном окне. Вторая: почта собирается в диалоги цепочками, а правила назначения ставят ответственного по району. Третья: обучение на реальных диалогах, а не на слайдах, потому что слайды не удерживают внимание диспетчеров. Четвёртая: обнаруживается около десятка дублей клиентов, которые объединяют вручную.
Решение по WhatsApp: клиентов немного, и компания откладывает канал до следующей очереди, чтобы не запускать на нём рассылки без одобренных шаблонов. Это нормальное решение, а не провал: подключать канал, к которому не готов регламент, значит копить проблемы. Через месяц они возвращаются к вопросу с подготовленными шаблонами для подтверждения заказа и напоминания.
Что я посоветовал бы этой компании сверх плана. Дать диспетчерам короткие шаблоны ответов в системе, чтобы не печатать одно и то же. Разделить очереди по районам. Включить в еженедельный отчёт долю заявок без ответа дольше часа. И обязательно назначить владельца канала, человека, который отвечает за токен, шаблоны и доступность, иначе всё держится на одном энтузиасте.
Что делать с перепиской в личных мессенджерах менеджеров
Это самая неприятная часть. Личный Telegram менеджера вне контроля компании: руководитель не видит переписки, а когда сотрудник уходит, клиенты уходят вместе с историей. CRM здесь ничего не исправит автоматически. Можно только переносить диалог на канал, который компания контролирует.
Рабочая схема такая. Менеджер продолжает общаться, но через бота или шлюз к CRM, и тогда диалог хранится в карточке. Наша система имеет опциональный шлюз для личных переписок, но использовать его стоит осознанно и по согласованию с сотрудниками: это вопрос прав работника и политики компании, а не только технологии. Если шлюза нет, остаётся организационная мера: правило, что любое обращение клиента фиксируется в CRM в течение рабочего дня.
Ограничения честно. Переписку, которая уже случилась в личных чатах, автоматически не вытащить. Телефонные звонки и мессенджеры без официального API остаются вне системы. Если клиент пишет в канал, который CRM не подключает, менеджер вносит краткое резюме руками, и дисциплина здесь важнее технологии. Подробнее про организацию контроля и сохранность истории я писал в материале про Telegram-переписку с клиентами, а о выборе канала связи вообще в статье про мессенджеры вместо WhatsApp.
Итог моих рекомендаций для компании, которая только начинает. Сначала подключите Telegram-бота, форму и почту: они дешёвые и дают ощутимый результат. Потом договоритесь с командой, что клиентская переписка идёт через каналы CRM. И только после этого решайте про WhatsApp, когда у вас есть владелец канала и набор шаблонов. Если нужен бот под конкретный сценарий, смотрите про Telegram-ботов для бизнеса.
- Бот и форма: готово за вечер, рассылайте клиентам ссылку на бота.
- Почта: подключается с опросом раз в 1–2 минуты, цепочки в одном диалоге.
- WhatsApp: отдельный проект с Meta и шаблонами.
- Личные чаты: переносите на каналы CRM организационным правилом.
Частые вопросы
Можно ли подключить WhatsApp к CRM без официального API?
Неофициальные шлюзы существуют, но их стабильность и допустимость зависят от правил мессенджера, номер могут ограничить. Рабочий путь для бизнеса Cloud API от Meta: нужны приложение и бизнес-аккаунт, номер, публичный HTTPS-вебхук и шаблоны сообщений.
Почему в WhatsApp нельзя первым написать клиенту любой текст?
Диалог, начатый бизнесом, требует одобренного Meta шаблона. Свободные сообщения возможны только в окне 24 часа после последнего сообщения клиента. Поэтому рассылки и напоминания в CRM строят на шаблонах, подготовленных заранее.
Как подключить Telegram-бота к CRM и сколько это занимает?
Создаёте бота у BotFather, получаете токен и вносите его в настройки канала; вебхук настраивается на HTTPS-адрес CRM. В нашей CRM сообщения приходят без дублей, настройка входит во внедрение под ключ, условия смотрите на странице продукта.
Что делать, если клиент пишет с разных номеров и аккаунтов?
CRM сопоставляет обращение по контакту: телефон, почта, идентификатор в мессенджере. Незнакомый контакт создаёт клиента и лид с источником канала, а дубли объединяют вручную. Автослияние по имени я не советую из-за ложных склеек.
Видит ли руководитель переписку менеджера в личном Telegram?
Нет, личная переписка вне контроля компании. Если диалог ведётся через бота или шлюз к CRM, он хранится в карточке, и руководитель видит историю при смене ответственного. Использование шлюза согласуйте с сотрудниками.
Источники
- Telegram Bot API, setWebhook и getUpdates — Токен BotFather, два способа получения обновлений, HTTPS-вебхук, порты 443, 80, 88, 8443, параметр secret_token и заголовок X-Telegram-Bot-Api-Secret-Token. https://core.telegram.org/bots/api
- Telegram Bot API, KeyboardButton — Параметр request_contact и объект Contact с номером телефона. https://core.telegram.org/bots/api#keyboardbutton
- Telegram Bots FAQ — Рекомендации по частоте отправки сообщений (одно в секунду в чат, 20 в минуту в группу, около 30 в секунду при рассылках). https://core.telegram.org/bots/faq
- WhatsApp Cloud API, быстрый старт и шаблоны — Приложение Meta, бизнес-аккаунт WhatsApp, номер, вебхук по HTTPS, постоянный токен; шаблоны вне 24-часового окна. https://developers.facebook.com/docs/whatsapp/cloud-api/get-started Приложение для ERPNext: https://github.com/shridarpatil/frappe_whatsapp (Cloud API, вебхук, шаблоны; проверено 01.10.2026).
- Страница продукта CRM + AI-отдел продаж — Каналы Telegram, почта, веб-форма, задел WhatsApp, VK, Avito и телефонии; идентификация клиента по любому контакту (проверено 01.10.2026). https://itfresh.ru/products/crm-ai/
