Розробка чат-бота для Бітрікс24: сценарії, CRM, інтеграція

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка чат-бота для Бітрікс24: сценарії, CRM, інтеграція
Середній
~1-2 тижні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    946
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    732
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1075

Уявіть: ваш відділ продажів тоне в повторюваних питаннях, менеджери витрачають 2/3 часу на рутину, а ліди йдуть через довгу відповідь. Чат-бот для Бітрікс24 вирішує цю проблему. Ми розробляємо таких ботів під ключ. На відміну від стандартних автовідповідей у відкритих лініях, які закривають лише один сценарій — «написали поза робочим часом, зачекайте», — наш бот обробляє до 80% вхідних звернень без участі оператора: кваліфікує ліда, відповідає на типові запитання, створює угоди в CRM і передає оператору лише тих клієнтів, яких не зміг обробити сам. Зв'яжіться з нами — обговоримо сценарії для вашого бізнесу.

Архітектура чат-бота в Бітрікс24

Бітрікс24 надає два механізми для чат-ботів.

Вбудований Bot Framework — реєстрація бота через REST API метод imbot.register. Бот працює всередині Бітрікс24: відповідає в чатах, відкритих лініях, внутрішніх розмовах. Події надходять на webhook-URL вашого сервера.

Відкриті лінії + зовнішній обробник — усі повідомлення з підключених каналів (Telegram, WhatsApp, сайт) проходять через відкриту лінію. Зовнішній сервіс підписується на події через imopenlines.bot.session.message і відповідає через imbot.message.add.

Для більшості завдань використовують комбінацію: зовнішній сервіс (Python/Node.js) + Bot Framework Бітрікс24 + інтеграція з CRM через REST. Згідно з офіційною документацією REST API Бітрікс24 для реєстрації бота використовується метод imbot.register.

Реєстрація та життєвий цикл бота

POST /rest/imbot.register
{
  "CODE": "support_bot",
  "EVENT_HANDLER": "https://your-server.com/bot/handler",
  "EVENT_MESSAGE_ADD": "https://your-server.com/bot/message",
  "OPENLINE": "Y",
  "PROPERTIES": {"NAME": "Підтримка", "COLOR": "AZURE"}
}

Після реєстрації Бітрікс24 присвоює боту BOT_ID. Усі вхідні повідомлення клієнтів у відкритих лініях, підключених до цього бота, надходять на EVENT_MESSAGE_ADD у вигляді POST-запиту з полями: BOT_ID, DIALOG_ID, MESSAGE, USER_ID.

Бот відповідає через:

POST /rest/imbot.message.add
{
  "BOT_ID": 123,
  "DIALOG_ID": "chat456",
  "MESSAGE": "Привіт! З якого питання звертаєтесь?"
}

Для передачі чату оператору — imopenlines.session.transfer із зазначенням USER_ID оператора або ID черги.

Логіка діалогу: FSM vs. NLP

Сценарний бот (FSM — скінченний автомат) — найбільш передбачуваний варіант. Кожен діалог — дерево станів. Користувач обирає з кнопок, бот переходить у наступний стан.

Кнопки в Бітрікс24 реалізуються через KEYBOARD у imbot.message.add:

"KEYBOARD": {
  "BUTTONS": [
    [{"TEXT": "Статус замовлення", "COMMAND": "order_status"}],
    [{"TEXT": "Повернути товар", "COMMAND": "return"}],
    [{"TEXT": "Зв'язатися з оператором", "COMMAND": "transfer"}]
  ]
}

NLP-бот — розуміє довільний текст. Вимагає підключення мовної моделі (Dialogflow, Rasa, OpenAI API). Обробка: повідомлення → NLP-сервіс → intent → обробник intent → відповідь. Точність на українській/російській мові у Rasa сильно залежить від якості навчальної вибірки. OpenAI GPT-4 працює без навчання, але коштує дорожче при високих навантаженнях.

На практиці використовують гібрид: структуровані кнопки + NLP для вільного введення з фолбеком на оператора при низькій впевненості (confidence нижче 0.7).

Як чат-бот інтегрується з CRM?

Ключовий момент — усе, що бот дізнався про клієнта, має потрапити в CRM. Типовий сценарій:

  1. Клієнт написав → бот створив лід: crm.lead.add із джерелом SOURCE_ID = 'CHAT'.
  2. Бот задав кваліфікаційні питання: ім'я, телефон, суть запиту.
  3. Відповіді записуються в поля ліда: crm.lead.update із заповненими NAME, PHONE, COMMENTS.
  4. Якщо клієнт ввів телефон — бот шукає його в CRM: crm.contact.list із фільтром по PHONE. Знайшов — оновлює, не знайшов — створює.
  5. При передачі оператору — лід уже заповнений, оператор бачить історію листування в картці.

Подія створення/оновлення CRM-сутності автоматично з'являється в таймлайні — це стандартна поведінка модуля crm.

Реальний кейс з нашої практики: бот для інтернет-магазину

Наш кейс — розробка та впровадження чат-бота для великого інтернет-магазину побутової техніки, що обробляє ~500 звернень на день через Telegram. 70% вхідних питань вкладалися в три типові сценарії: «де моє замовлення?», «чи можна повернути товар?», «чи є в наявності конкретна модель?». Це ідеальна ситуація для автоматизації.

Архітектура рішення: Node.js сервер на виділеному VPS + Бітрікс24 Bot Framework + REST-інтеграція з 1С для синхронізації замовлень і залишків. Бот працює у відкритій лінії Telegram і синхронізує всі дії з CRM.

Реалізовані сценарії:

  • «Де замовлення» → бот запитує номер замовлення → робить запит в 1С (через REST-сервіс 1С) → повертає актуальний статус. Без участі оператора.
  • «Наявність товару» → пошук по каталогу Бітрікс (iblock.element.list + фільтр по складах) → видача поточного залишку в режимі реального часу.
  • «Повернення товару» → FSM-сценарій: дата покупки → причина повернення → фото товару (завантаження через disk.folder.uploadfile) → автоматичне створення завдання менеджеру з додатком.
  • Нестандартні запити → автоматичний переклад на оператора з позначкою категорії питання для швидкої обробки.

Результати впровадження (через місяць після запуску): оператори обробляють лише 35% від початкового обсягу вхідних. Решту 65% успішно закриває бот без участі людини. Середній час відповіді на типове питання скоротився з 8 хвилин до 15 секунд. Це дозволило клієнту знизити операційні витрати на підтримку на 40% при одночасному покращенні NPS.

Технічні особливості в процесі розробки: основне вузьке місце — обробка файлів (фотографії товару/упаковки). Бітрікс24 передає завантажені файли через тимчасові посилання з TTL 30-60 секунд. Довелося реалізувати асинхронне завантаження з retry-логікою та кешуванням в S3 для уникнення втрати даних при мережевих збоях.

Тестування та QA чат-ботів

Перед запуском у бойове середовище необхідно протестувати всі сценарії та граничні випадки:

  • Функціональне тестування — кожен шлях у FSM має бути пройдений вручну. Перевіряється коректність відповідей, обробка введення користувача, передача даних в CRM.
  • Інтеграційне тестування — перевіряється взаємодія з Бітрікс24 API, 1С, платіжними системами. Особлива увага — помилкам мережі та timeout-ам при повільному інтернеті.
  • Load-тестування — імітація пікових навантажень (якщо очікується 500+ повідомлень на годину). Перевіряється, як сервер бота справляється з чергою запитів, чи не губляться повідомлення.
  • Тестування на реальних каналах — перед повним запуском проводиться пілотний період на вибраній групі користувачів (наприклад, 10% вхідних потоків). Це виявляє проблеми, які не видно на staging-сервері.

Типовий регрес-тест чат-бота включає 15-20 сценаріїв і займає 2-3 години ручного тестування. При кожному оновленні логіки діалогу рекомендується повторювати тестування.

Розгортання та моніторинг

Розгортання зазвичай відбувається на виділеному VPS або в контейнері (Docker + PM2). Критичні вимоги:

  • Сертифікат SSL для webhook-URL (Бітрікс24 вимагає HTTPS).
  • Фіксований IP або DNS з довгою TTL (зміна IP призводить до втрати повідомлень).
  • Постійне підключення до черги повідомлень (Redis/RabbitMQ для асинхронної обробки при високих навантаженнях).
  • Логування всіх запитів і помилок — без цього неможливо діагностувати проблеми.

Моніторинг після запуску:

  • Метрики обробки: кількість повідомлень на годину, відсоток успішної обробки, відсоток перекладів на оператора.
  • Час відповіді: середній і максимальний час від вхідного повідомлення до відповіді бота.
  • Помилки: кількість помилок API, timeout-и, невдалі спроби інтеграції із зовнішніми системами.
  • Availability: перевірка живого webhook-ендпоінта кожні 5 хвилин, автоматичний alert при падінні.

Рекомендується підключити Sentry або подібний сервіс для відстеження винятків у реальному часі. При проблемах потрібна оперативна реакція — навіть 1 година простою означає втрату 20+ клієнтських звернень.

Чому гібридна архітектура ефективніша?

Порівняння типів ботів допомагає обрати оптимальний варіант:

Тип бота Точність Складність розробки Вимоги до даних
FSM Висока Низька Немає
NLP Середня Висока Навчальна вибірка
Гібрид Висока Середня Мінімальна

Гібридна архітектура (FSM + NLP) обробляє 95% запитів проти 60% у чистого FSM — це в 1.5 рази ефективніше.

Що входить у розробку чат-бота

  • Аналіз бізнес-вимог та опис сценаріїв
  • Розробка логіки діалогу (FSM/NLP)
  • Реєстрація та налаштування бота в Бітрікс24
  • Інтеграція з CRM (ліди, контакти, угоди)
  • Інтеграція із зовнішніми сервісами (1С, ERP, телефонія)
  • Розгортання на сервері клієнта
  • Документація сценаріїв та інструкція по деплою
  • Гарантійна підтримка 30 днів
Приклад обробки повідомлення в гібридному режимі
  1. Повідомлення надходить на зовнішній сервер.
  2. NLP-сервіс намагається визначити intent. Якщо впевненість > 0.7 — виконується відповідний сценарій.
  3. Якщо впевненість нижче 0.7 — бот пропонує обрати з кнопок (FSM) або передає оператору.
  4. Усі дані зберігаються в CRM.

Що впливає на трудозатрати

Компонент Трудозатрати
Базовий FSM-бот (3-5 сценаріїв) 16-40 год
Інтеграція з CRM (ліди, контакти) 8-16 год
NLP на OpenAI/Dialogflow 16-40 год
Інтеграція із зовнішніми системами (1С, ERP) 16-40 год
Тести, деплой, моніторинг 8-16 год

Мінімальний робочий бот із 3-4 сценаріями та CRM-інтеграцією — від 40 годин. Складний мультисценарний бот з NLP та зовнішніми інтеграціями — 80-120 годин. Зв'яжіться з нами для оцінки вашого проєкту — ми розрахуємо терміни та вартість індивідуально. Отримайте консультацію прямо зараз.

Як відкриті лінії змінюють комунікацію?

Модуль «Відкриті лінії» (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% після навчання на реальних діалогах. Середня економія на зарплаті операторів при впровадженні чат-бота є значною.

Процес розробки

  1. Аналіз звернень — вивантажуємо історію з відкритих ліній, кластеризуємо за темами. Визначаємо 80% типових запитів.
  2. Проектування діалогів — карта на miro/figma. Кожна гілка закінчується або відповіддю, або передачею оператору.
  3. Розробка — логіка, інтеграція з CRM та зовнішніми API. Для сценарних — кінцевий автомат на станах. Для NLP — pipeline: tokenizer → featurizer → classifier → response selector.
  4. Навчання NLP — на реальних діалогах (не менше 500 прикладів). Налаштування threshold confidence.
  5. Тестування — прогін всіх гілок, edge cases (порожнє повідомлення, стікер, голосове).
  6. Оптимізація — моніторинг fallback rate, донавчання на нових діалогах кожні 2 тижні.

Терміни

Завдання Термін
Підключення одного месенджера 1-2 дні
Налаштування відкритих ліній 2-3 дні
Сценарний бот (базовий) 1-2 тижні
Бот з NLP 3-6 тижнів
Комплексна омніканальна система 4-8 тижнів

Результат — всі звернення в єдиному вікні, рутина автоматизована, жодне повідомлення не губиться. Менеджери продають, а не шукають потрібний чат. Оцініть, які канали потрібні саме вам, — напишіть, підберемо під вашу нішу. Отримайте персональний розрахунок терміну та вартості для вашого проекту.