Уявіть: відділ продажів із 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 для реєстрації конектора. Інтеграція з 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 тижнів |
Результат — всі звернення в єдиному вікні, рутина автоматизована, жодне повідомлення не губиться. Менеджери продають, а не шукають потрібний чат. Оцініть, які канали потрібні саме вам, — напишіть, підберемо під вашу нішу. Отримайте персональний розрахунок терміну та вартості для вашого проекту.