Разработка бота для автоматизации задач Битрикс24
Менеджер создаёт задачу, забывает указать крайний срок — задача висит неделю без движения. Другой менеджер закрывает сделку, но не ставит задачу на отгрузку — клиент ждёт. Третий сценарий: каждое утро руководитель вручную собирает статусы по задачам из разных проектов. Всё это решается ботом, который работает внутри чата Битрикс24 и взаимодействует с задачами, CRM и уведомлениями через REST API.
Архитектура бота
Бот в Битрикс24 — это серверное приложение, зарегистрированное через метод imbot.register. Портал отправляет события на URL обработчика (webhook endpoint), бот обрабатывает команды и отвечает через imbot.message.add. Вся логика живёт на вашем сервере — Битрикс24 выступает как интерфейс (чат) и источник данных (REST API).
Ключевые компоненты:
-
Регистрация бота —
imbot.registerс указанием EVENT_HANDLER (URL для приёма событий), MESSAGE_ADD (URL для отправки сообщений), BOT_ID. После регистрации бот появляется в списке чатов. - Обработчик команд — серверный endpoint, который принимает POST-запросы от Битрикс24 при отправке сообщения боту. Парсит текст команды, выполняет логику, отвечает.
-
REST API вызовы — бот работает с задачами (
tasks.task.add,tasks.task.update,tasks.task.list), CRM (crm.deal.get,crm.lead.add), уведомлениями (im.notify), пользователями (user.get).
Сценарии автоматизации
Бот-контролёр задач
Запускается по расписанию (cron на стороне сервера) и проверяет задачи через tasks.task.list с фильтрами:
- Задачи без крайнего срока (
DEADLINE= null) — отправляет сообщение ответственному: «У задачи #123 нет дедлайна. Установи срок или объясни почему». - Просроченные задачи (
DEADLINE < now,STATUS!= 5) — уведомляет руководителя и исполнителя. - Задачи без активности более N дней —
DATE_LAST_ACTIVITYсравнивается с текущей датой. Если задача «зависла» — пинг в чат.
Бот пишет в личный чат с сотрудником или в групповой чат проекта — зависит от настройки. Сообщение содержит ссылку на задачу, имя ответственного, количество дней просрочки.
Бот-ассистент для CRM
Менеджер пишет боту в чат: «Создай задачу на отгрузку по сделке 4521». Бот:
- Вызывает
crm.deal.getс ID 4521 — получает данные сделки. - Извлекает контакт, сумму, товары из сделки.
- Вызывает
tasks.task.add— создаёт задачу с заполненными полями: название, описание с данными сделки, ответственный (из настроек), дедлайн (текущая дата + 2 рабочих дня). - Отвечает в чат: «Задача #789 создана, ответственный — Иванов А.С., срок — 15.03».
Разбор текстовых команд реализуется через регулярные выражения или набор фиксированных шаблонов. Для сложных сценариев подключаем NLP-обработку, но в 90% случаев хватает простого парсинга.
Бот-сборщик отчётов
Руководитель пишет: «Статус по проекту Альфа». Бот:
- Ищет группу (проект) по названию через
sonet_group.getс фильтром. - Получает задачи проекта:
tasks.task.listс фильтромGROUP_ID. - Группирует по статусам: новые, в работе, завершённые, просроченные.
- Формирует сводку и отправляет в чат.
Формат ответа — структурированное сообщение с разбивкой по категориям. REST API Битрикс24 поддерживает форматирование: жирный текст, ссылки, разделители.
Обработка событий (webhook handler)
Бот принимает события через POST-запросы. Основные типы событий:
-
ONIMBOTMESSAGEADD — пользователь написал боту. Payload содержит
DIALOG_ID,MESSAGE_ID,FROM_USER_ID, текст сообщения. - ONIMBOTJOINCHAT — бот добавлен в групповой чат.
- ONIMBOTDELETE — бот удалён из чата.
Обработчик должен отвечать HTTP 200 в течение 5 секунд — иначе Битрикс24 посчитает запрос неудачным. Если обработка команды занимает больше времени (запрос к внешнему API, тяжёлая выборка задач), используем асинхронную обработку: принимаем событие, ставим в очередь, отвечаем 200, обрабатываем в фоне, отправляем результат через imbot.message.add.
Интеграция с внешними сервисами
Бот не ограничен данными Битрикс24. Типичные внешние подключения:
- Трекеры и Git. Бот принимает webhook от GitLab/GitHub при мердже — находит задачу в Б24 по номеру из коммита, меняет статус на «Выполнена».
- Мониторинг. Zabbix отправляет алерт → бот создаёт задачу в проекте «Инфраструктура» и уведомляет дежурного.
-
Календарь и HR. Бот проверяет отсутствия через
calendar.event.getи перераспределяет задачи сотрудника, ушедшего на больничный.
Сроки внедрения
| Масштаб | Что входит | Срок |
|---|---|---|
| Простой бот | 1–2 команды, работа с задачами или CRM, без внешних интеграций | 3–5 дней |
| Средний | 5–10 команд, интеграция с 1–2 внешними сервисами, обработка событий | 1–2 недели |
| Сложный | Полноценный ассистент с NLP, множественные интеграции, админ-панель настройки | 3–4 недели |
Технические требования
Серверная часть бота размещается на вашем сервере или в облаке. Требования:
- HTTPS-доступ — Битрикс24 отправляет события только на HTTPS-endpoint.
- Время ответа — менее 5 секунд на POST-запрос. Для тяжёлых операций — очередь (Redis, RabbitMQ).
-
Авторизация — бот работает с правами OAuth-приложения. При регистрации через
imbot.registerуказывается scope:imbot,task,crm,sonet_groupи другие модули, к которым бот обращается. - Логирование — все входящие события и исходящие вызовы REST API пишутся в лог. Без логов отладка бота превращается в гадание.
Что разрабатываем
- Серверный обработчик бота (Node.js, PHP или Python — зависит от вашей инфраструктуры)
- Регистрация бота в Битрикс24 через
imbot.register - Набор команд под ваши бизнес-процессы
- Интеграция с внешними сервисами по webhook или API
- Тестирование в dev-окружении, деплой на production
- Документация по командам бота для сотрудников







