Розробка Бота для Автоматизації Задач Bitrix24
Менеджер створює задачу, забуває вказати крайній строк — задача висить неділю без руху. Інший менеджер закриває угоду, але не ставить задачу на відправку — клієнт чекає. Третій сценарій: кожного ранку керівник вручну збирає статуси по задачах із різних проектів. Все це вирішується ботом, який працює всередині чату Bitrix24 і взаємодіє із задачами, CRM і повідомленнями через REST API.
Архітектура Бота
Бот у Bitrix24 — це серверне додаток, зареєстроване через метод imbot.register. Портал відправляє события на URL обробника (webhook endpoint), бот обробляє команди й відповідає через imbot.message.add. Вся логіка живе на вашому сервері — Bitrix24 виступає як інтерфейс (чат) і джерело даних (REST API).
Ключові компоненти:
-
Реєстрація бота —
imbot.registerз указанням EVENT_HANDLER (URL для отримання подій), MESSAGE_ADD (URL для відправки повідомлень), BOT_ID. Після реєстрації бот з'являється в списку чатів. - Обробник команд — серверний endpoint, який приймає POST-запити від Bitrix24 при відправці повідомлення боту. Розбирає текст команди, виконує логіку, відповідає.
-
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 Bitrix24 підтримує форматування: жирний текст, посилання, роздільники.
Обробка Подій (Webhook Handler)
Бот отримує события через POST-запити. Основні типи подій:
-
ONIMBOTMESSAGEADD — користувач написав боту. Payload містить
DIALOG_ID,MESSAGE_ID,FROM_USER_ID, текст повідомлення. - ONIMBOTJOINCHAT — бот доданий у груповий чат.
- ONIMBOTDELETE — бот видалений із чату.
Обробник повинен відповісти HTTP 200 протягом 5 секунд — інакше Bitrix24 вважатиме запит невдалим. Якщо обробка команди займає більше часу (запит до зовнішнього API, важка вибірка задач), використовуємо асинхронну обробку: приймаємо подію, ставимо в чергу, відповідаємо 200, обробляємо в фоні, відправляємо результат через imbot.message.add.
Інтеграція зі Зовнішніми Сервісами
Бот не обмежений даними Bitrix24. Типові зовнішні підключення:
- Трекери та Git. Бот отримує webhook від GitLab/GitHub при мерджі — знаходить задачу в Bitrix24 за номером з коміту, змінює статус на «Виконана».
- Моніторинг. Zabbix відправляє алерт → бот створює задачу в проекті «Інфраструктура» й повідомляє дежурного.
-
Календар та HR. Бот перевіряє відсутності через
calendar.event.getй перерозподіляє задачі співробітника, який пішов на хворобу.
Строки Внедрення
| Масштаб | Що входить | Строк |
|---|---|---|
| Простий бот | 1–2 команди, робота з задачами або CRM, без зовнішніх інтеграцій | 3–5 днів |
| Середній | 5–10 команд, інтеграція з 1–2 зовнішніми сервісами, обробка подій | 1–2 тижня |
| Складний | Повнофункціональний асистент із NLP, множинні інтеграції, адмін-панель | 3–4 тижня |
Технічні Вимоги
Серверна частина бота розташовується на вашому сервері або в хмарі. Вимоги:
- HTTPS-доступ — Bitrix24 відправляє события тільки на HTTPS-endpoint.
- Час відповіді — менше 5 секунд на POST-запит. Для важких операцій — чергу (Redis, RabbitMQ).
-
Авторизація — бот працює із правами OAuth-додатка. При реєстрації через
imbot.registerвказується scope:imbot,task,crm,sonet_groupта інші модулі, до яких бот звертається. - Логування — всі вхідні события й вихідні виклики REST API пишуться в лог. Без логів відладка бота перетворюється на вгадування.
Що Розробляємо
- Серверний обробник бота (Node.js, PHP або Python — залежить від вашої інфраструктури)
- Реєстрація бота в Bitrix24 через
imbot.register - Набір команд під ваші бізнес-процеси
- Інтеграція зі зовнішніми сервісами по webhook або API
- Тестування в dev-окружені, деплой на production
- Документація по командам бота для співробітників







