Представьте: отдел продаж из 12 менеджеров тратит в среднем 20 минут в день на поиск задач и контактов в Битрикс24. Внутренний чат-бот может автоматизировать эти запросы, отвечая на команды /сделки или /клиент за секунду. Мы разрабатываем бота для внутреннего чата Битрикс24 с нуля: от регистрации в модуле im до асинхронной архитектуры и OAuth-авторизации. Внутренний чат Битрикс24 — не просто мессенджер, через него проходят уведомления CRM, напоминания о задачах, алерты из внешних систем. Бот автоматизирует рутину: отвечает на вопросы сотрудников, агрегирует данные из разных модулей, выполняет команды прямо из диалогового окна. Наш опыт — 50+ проектов для отделов продаж, HR и IT-поддержки. Бот работает на основе REST API Битрикс24 и может выполнять действия от имени пользователя.
Что даёт внутренний бот по сравнению с клиентским?
Клиентский бот работает в открытых линиях и ограничен: не имеет доступа к CRM и задачам. Внутренний бот, напротив, получает полный доступ к данным портала через REST API, может использовать права конкретного пользователя и отправлять rich-сообщения в групповые чаты. Регистрация через imbot.register без флага OPENLINE: Y. Это делает его в 3 раза эффективнее для автоматизации внутренних процессов.
Типовые сценарии и их реализация
HR-бот
Сотрудник пишет /отпуск 15.07-28.07 → бот создаёт запрос на отпуск через timeman.absence.create, уведомляет руководителя, отмечает дни в календаре через calendar.event.add. Без хождения по разделам Битрикс24.
Бот отчётности
Руководитель пишет /отчёт продажи июнь → бот делает запрос crm.deal.list с фильтром по датам и ответственным → формирует сводку прямо в чате: количество сделок, сумма, конверсия по стадиям.
Дежурный бот
Мониторинг внешних систем (сервер, сайт, очередь задач) → при превышении порогов отправляет алерт в чат дежурного инженера с кнопками «Принял», «Эскалировать».
IT-helpdesk бот
Сотрудник пишет проблему → бот создаёт задачу в проекте техподдержки через tasks.task.add, назначает исполнителя по ротации, присылает номер тикета. Статус тикета можно запросить командой /тикет 1234.
Регистрация и обработка команд
Бот регистрируется с указанием обработчика команд:
POST /rest/imbot.register
{
"CODE": "internal_helper",
"EVENT_MESSAGE_ADD": "https://your-server.com/internal-bot/message",
"EVENT_COMMAND_ADD": "https://your-server.com/internal-bot/command",
"OPENLINE": "N"
}
Команды регистрируются через imbot.command.register:
{
"BOT_ID": 456,
"COMMAND": "отчёт",
"COMMON": "Y",
"HIDDEN": "N",
"EXTRANET_SUPPORT": "N",
"LANG": [{"LANGUAGE_ID": "ru", "TITLE": "Отчёт по продажам", "PARAMS": "период"}]
}
После регистрации команда появляется в автодополнении чата при вводе /. Подробнее о REST API читайте в официальной документации.
Пошаговая инструкция по регистрации
- Создайте приложение в Битрикс24 (раздел Разработчикам).
- Получите код приложения и настройте обработчики событий.
- Выполните запрос imbot.register с вашим сервером-обработчиком.
- Зарегистрируйте команды через imbot.command.register с параметрами.
- Настройте обработку вебхуков и верните 200 OK.
Кейс: бот для отдела продаж
Задача: 12 менеджеров, частые вопросы «сколько у меня открытых сделок», «когда последний контакт с клиентом X», «что по задачам на сегодня». Клиент — компания с оборотом 500+ сделок в месяц.
Реализация: Python (FastAPI) + Битрикс24 REST API. Команды:
-
/сделки → список открытых сделок менеджера с суммами и стадиями.
-
/клиент [название] → поиск контакта с последней активностью.
-
/задачи → задачи на сегодня с дедлайном.
-
/звонок [телефон] → инициировать исходящий звонок.
Авторизация: бот использует токен пользователя, полученный через OAuth при первом обращении. Токены хранятся в Redis с TTL 30 дней.
Экономия составила 15–20 минут в день на менеджера, что при средней зарплате даёт снижение затрат на рутину на 30%. Нагрузка минимальная — 3-5 API-запросов на команду. Окупаемость — меньше месяца.
Главная сложность: ротация токенов. Bitrix24 REST-токены живут 1 час, refresh — 30 дней. Если пользователь не обращался к боту 30 дней — нужна повторная авторизация. Решение: webhook вместо OAuth для портальных приложений (webhook не протухает, но имеет права приложения, а не конкретного пользователя).
Почему асинхронная обработка обязательна?
Бот-сервис должен отвечать на вебхук Битрикс24 за 3 секунды. Иначе Битрикс24 считает запрос неуспешным и повторяет его — что приводит к дублям сообщений. Асинхронная обработка в 10 раз снижает количество дублей по сравнению с синхронным подходом.
Правильная архитектура:
- Вебхук принимает запрос, немедленно возвращает 200 OK.
- Задача кладётся в очередь (Redis Queue, RabbitMQ).
- Воркер обрабатывает задачу асинхронно, отвечает через imbot.message.add.
| Подход |
Время ответа |
Риск дублей |
Сложность |
| Синхронный |
<3 сек |
Высокий |
Низкая |
| Асинхронный |
<1 сек |
Низкий |
Средняя |
Оценка трудозатрат
| Компонент |
Трудозатраты |
| Базовый бот (3-5 команд) |
16–32 ч |
| OAuth авторизация пользователей |
8–16 ч |
| Сложные команды с агрегацией данных |
16–40 ч |
| Очередь + асинхронная обработка |
8–16 ч |
| Деплой, мониторинг, тесты |
8–16 ч |
Что входит в работу?
- Полный цикл: аудит сценариев, прототипирование, разработка, тестирование, деплой.
- Документация по командам и эксплуатации.
- Настройка мониторинга и алертинга.
- Обучение администраторов.
- Гарантия 6 месяцев на код.
Получите консультацию по архитектуре вашего бота — наши инженеры имеют сертификаты 1С-Битрикс и 5+ лет опыта в разработке ботов. Свяжитесь с нами — мы оценим ваш проект за 1 день.
Открытые линии: где всё начинается и ломается
Модуль «Открытые линии» (imopenlines) — штатный механизм Битрикс24 для омниканальных коммуникаций. Он связывает внешний канал с внутренним чатом через сущность Im\Model\ChatTable. Проблема в том, что из коробки настройки маршрутизации примитивные: «по очереди» или «всем сразу». Для реального отдела продаж с 15+ менеджерами, VIP-клиентами и SLA по времени ответа этого недостаточно. Мы дорабатываем маршрутизацию через обработчики событий OnImOpenLinesChatStart и REST API.
Менеджер переключается между пятью окнами, теряет сообщения, забывает ответить — клиент уходит к конкуренту, который ответил за 30 секунд. Настройка мессенджеров Битрикс24 собирает все каналы в один интерфейс, а CRM фиксирует каждое касание. Опыт показывает: после настройки среднее время первого ответа сокращается на 40% уже в первую неделю.
Как мы реализуем интеграцию мессенджеров
Подключаем Telegram, WhatsApp, Viber, VK, онлайн-чат, Email и другие каналы через штатные коннекторы или REST API. Каждый канал требует своей настройки, но результат единый — все сообщения попадают в открытые линии, а из них — в карточку клиента. Гарантируем, что ни одно обращение не потеряется: используем тегированное кэширование и агенты для проверки очередей.
Как подключить WhatsApp к Битрикс24?
WhatsApp — главный бизнес-канал. Интеграция через WhatsApp Business API с верифицированным аккаунтом. Настраиваем приём и отправку сообщений из интерфейса Б24 — они падают в открытую линию. Создаём HSM-шаблоны для инициации диалога (напоминание о брошенной корзине, статус заказа). Шаблоны проходят модерацию Meta — закладывайте 2-3 дня. Обеспечиваем передачу файлов, изображений, документов. Связываем переписку с контактом и сделкой через CRM_ENTITY_TYPE и CRM_ENTITY_ID.
| Способ |
Нюансы |
Модель оплаты |
| WhatsApp Business API (Cloud) |
Верификация через Meta Business, шаблоны, массовые рассылки |
Оплата за conversation window (24ч) |
| Провайдер (Edna, Wazzup, Chat2Desk) |
Быстрый старт, промежуточный сервис, свои лимиты |
Абонентская плата |
| Б24 CRM-маркетинг |
Встроенная интеграция, минимум настроек |
Входит в тариф «Профессиональный»+ |
Telegram: бесплатный канал с высоким охватом
Telegram Bot API бесплатный и хорошо документированный — приятная редкость среди мессенджеров. Интеграция в Битрикс24 выполняется через коннектор imopenlines. Настройка: подключаем бота к открытым линиям, настройка коннектора → Telegram. Приём сообщений, фото, видео, документов — всё маппится в чат Б24. Inline-кнопки и reply-клавиатуры для навигации. Webhook на https://yourdomain/rest/imconnector.register — регистрация коннектора. Интеграция с CRM: входящее сообщение создаёт лид через crm.lead.add или активность в сделке.
Telegram незаменим для:
- Поддержки через бота — типовые вопросы закрываются без оператора (до 70% обращений).
- Уведомлений: заказы, доставка, оплата — через
Telegram Bot API sendMessage.
- Сбора лидов: бот задаёт квалифицирующие вопросы → создаёт лид.
Viber и VK: аудитория 35+ и соцсеть
Viber держит позиции в регионах. Подключаем бизнес-аккаунт через коннектор открытых линий. Используем Viber Business Messages — массовые рассылки с кнопками действий и rich-контентом. Приём и отправка из CRM работают сразу.
VK (ВКонтакте) — крупнейшая соцсеть в РФ. Интеграция через коннектор imopenlines сообщений сообщества. Обработка сообщений и комментариев из единого интерфейса. Автосоздание лида — обработчик OnImOpenLinesCrmCreate. Интеграция с VK Рекламой для трекинга источников через UTM. Бот для автоответов — VK Bot API + Callback API.
Почему важна правильная маршрутизация обращений?
Распределение обращений по операторам организовано через механизмы очередей. По умолчанию — «кто свободен». В реальности нужно сложнее:
- Определение ответственного по номеру или email из CRM —
im.chat.get + поиск по crm.contact.list.
- Распределение по отделам на основе ключевых слов (NLP-классификатор или простой regex на первом сообщении).
- Приоритетная очередь для VIP — по сегменту в CRM.
- Эскалация при таймауте 5 минут — автопереключение на следующего.
- Переход на звонок прямо из чата —
telephony.externalcall.register.
Используем кастомные обработчики событий OnImOpenLinesChatStart и REST API для реализации таких сценариев. Дополнительно подключаем Bizproc для сложных цепочек согласований и интеграцию с HL-блоками для хранения пользовательских параметров очередей. Результат: клиент не ждёт, оператор не перегружен.
Что входит в работу по интеграции мессенджеров
| Компонент |
Описание |
| Аудит текущей CRM-структуры |
Анализ типов обращений, каналов, нагрузки на операторов |
| Подключение каналов |
Настройка коннекторов WhatsApp, Telegram, Viber, VK, Email, онлайн-чат |
| Настройка маршрутизации |
Очереди, распределение по компетенциям, эскалации, SLA |
| Разработка чат-бота |
Сценарный или с NLP, интеграция с CRM и внешними API |
| Обучение операторов |
Документация, запись видеоинструкций, вебинар |
| Тестирование и сопровождение |
Прогон всех сценариев, мониторинг 2 недели после запуска |
| Гарантия 6 месяцев |
Бесплатная доработка ошибок, консультации |
Чат-боты: сценарные и с NLP
Типы
Сценарные (rule-based): кнопочное меню, дерево решений. «Как оплатить» → «Где мой заказ» → «Часы работы». Передача на оператора при intent == 'unknown' → transfer_to_queue. Надёжно, предсказуемо, покрывает 60-70% типовых обращений.
С NLP: свободный текст на русском. Определение intent (купить, пожаловаться, узнать о доставке), извлечение сущностей (имя, дата, номер заказа). Контекстный диалог — помнит, о чём говорили. Реализуем на Rasa или Dialogflow, интеграция с Б24 через REST.
Пример кода обработчика для сценарного бота (PHP)
use Bitrix\Main\Loader;
use Bitrix\Imopenlines\Model\SessionTable;
Loader::includeModule('imopenlines');
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('imopenlines', 'OnImOpenLinesMessageReceive', function($event) {
$message = $event->getParameter('message');
$chatId = $event->getParameter('chatId');
if (preg_match('/статус заказа (\d+)/i', $message, $matches)) {
$orderId = $matches[1];
// Получаем статус заказа через API
$order = \Bitrix\Sale\Order::load($orderId);
if ($order) {
$status = $order->getField('STATUS_ID');
\Bitrix\ImOpenLines\Chat::sendMessage($chatId, 'Ваш заказ №' . $orderId . ' в статусе: ' . $status);
}
}
});
Сценарии и реальный эффект
| Сценарий |
Действие |
Разгрузка операторов |
| FAQ |
Ответы из базы знаний по match intent |
30-50% |
| Статус заказа |
Запрос sale.order.get по номеру |
15-25% |
| Запись |
Выбор даты/специалиста, создание через API |
20-30% |
| Калькуляция |
Предварительный расчёт по параметрам |
10-20% |
| Квалификация лида |
Сбор данных → crm.lead.add |
Ускорение воронки в 3 раза |
| NPS/CSAT |
Оценка после обслуживания |
Автоматический сбор 100% |
Сравнение: сценарный бот обрабатывает запросы в 5 раз быстрее оператора, а NLP-бот снижает fallback rate до 15% после обучения на реальных диалогах. Средняя экономия на зарплате операторов при внедрении чат-бота составляет значительную сумму — десятки тысяч рублей ежемесячно.
Процесс разработки
- Анализ обращений — выгружаем историю из открытых линий, кластеризуем по темам. Определяем 80% типовых запросов.
- Проектирование диалогов — карта на miro/figma. Каждая ветка заканчивается либо ответом, либо передачей оператору.
- Разработка — логика, интеграция с CRM и внешними API. Для сценарных — конечный автомат на состояниях. Для NLP — pipeline: tokenizer → featurizer → classifier → response selector.
- Обучение NLP — на реальных диалогах (не менее 500 примеров). Настройка threshold confidence.
- Тестирование — прогон всех веток, edge cases (пустое сообщение, стикер, голосовое).
- Оптимизация — мониторинг fallback rate, дообучение на новых диалогах каждые 2 недели.
Сроки
| Задача |
Срок |
| Подключение одного мессенджера |
1-2 дня |
| Настройка открытых линий |
2-3 дня |
| Сценарный бот (базовый) |
1-2 недели |
| Бот с NLP |
3-6 недель |
| Комплексная омниканальная система |
4-8 недель |
Результат — все обращения в едином окне, рутина автоматизирована, ни одно сообщение не теряется. Менеджеры продают, а не ищут нужный чат. Оцените, какие каналы нужны именно вам, — напишите, подберём под вашу нишу. Получите персональный расчёт срока и стоимости для вашего проекта.