Заявка відправлена з сайту — і далі тиша. Менеджер може помітити її через годину, через день, або не помітити взагалі. За статистикою, 70% клієнтів не дочікуються відповіді, якщо вона не приходить протягом 5 хвилин. Ми вирішуємо цю проблему за допомогою бота-обробника: він миттєво фіксує заявку в Бітрікс24, повідомляє потрібного співробітника, відправляє автовідповідь клієнту та при необхідності починає діалог у месенджері. Такий підхід прискорює реакцію на заявку з годин до секунд і знижує ризик втрати клієнта на 90%. Ми маємо 5+ років досвіду та 50+ успішних проєктів.
Бот обробляє заявку за секунди — у 20+ разів швидше за ручну обробку, що підтверджується практикою впроваджень. Бот у 20 разів швидший за менеджера, що дає змогу обробляти до 200 заявок на день без втрат.
Бот працює з будь-якими формами на сайті: веб-форми Бітрікс, кастомні AJAX-форми, зворотні дзвінки. Він інтегрується через штатні події та REST API, не вимагає заміни існуючих компонентів. Час впровадження — від 1.5 тижнів, результати видно одразу. Нижче — як ми будуємо таку систему: від перехоплення подій до обробки дублів і автовідповіді.
Як бот перехоплює події форм у Бітрікс?
Будь-яка форма на сайті Бітрікс — CWebForm, веб-форми модуля form, зворотні дзвінки з sale.order.ajax, кастомні AJAX-форми — генерує подію при відправленні. Ми перехоплюємо потрібні події через штатні обробники, наприклад, OnAfterResultAdd:
// local/php_interface/init.php AddEventHandler('form', 'OnAfterResultAdd', 'handleFormSubmit'); function handleFormSubmit(int $webFormId, int $resultId, array $arResult): void { if (!in_array($webFormId, [1, 3, 7])) { // ID потрібних форм return; } BotQueue::push('process_form', [ 'form_id' => $webFormId, 'result_id' => $resultId, 'fields' => $arResult, ]); } Для bitrix:main.feedback використовуємо обробник у шаблоні компонента, для sale.order.callback — подію OnSaleOrderCallbackCreate.
Створення ліда, повідомлення менеджера та автовідповідь
Після отримання даних створюємо сутність в CRM. Логіка вибору: кваліфікована заявка (є телефон, зрозуміла потреба) → одразу угода; первинне звернення → лід.
$leadId = $b24Rest->callMethod('crm.lead.add', [ 'fields' => [ 'TITLE' => "Заявка з сайту: {$formName}", 'NAME' => $arResult['NAME'] ?? '', 'LAST_NAME' => $arResult['LAST_NAME'] ?? '', 'PHONE' => [['VALUE' => $arResult['PHONE'], 'VALUE_TYPE' => 'WORK']], 'EMAIL' => [['VALUE' => $arResult['EMAIL'], 'VALUE_TYPE' => 'WORK']], 'SOURCE_ID' => 'WEB', 'SOURCE_DESCRIPTION' => $formName, 'COMMENTS' => $arResult['COMMENT'] ?? '', 'ASSIGNED_BY_ID' => getResponsibleManager($webFormId), 'UTM_SOURCE' => $_COOKIE['utm_source'] ?? '', 'UTM_MEDIUM' => $_COOKIE['utm_medium'] ?? '', 'UTM_CAMPAIGN' => $_COOKIE['utm_campaign'] ?? '', ], ])['result']; UTM-мітки з cookie — обов'язковий елемент для аналітики джерел. Після створення ліда бот пише відповідальному в чат-бот Бітрікс24 з кнопками дій:
$b24Rest->callMethod('imbot.message.add', [ 'BOT_ID' => $botId, 'DIALOG_ID' => 'u' . $managerId, 'MESSAGE' => "[b]Нова заявка з сайту[/b]", 'ATTACH' => [[ 'TITLE' => $formName, 'DESCRIPTION' => "Клієнт: {$name}\nТелефон: {$phone}\nКоментар: {$comment}", 'COLOR' => '#2fc6f6', 'LINK' => "https://portal.bitrix24.com/crm/lead/show/{$leadId}/", ]], 'KEYBOARD' => ['BUTTONS' => [[ ['TEXT' => 'Відкрити лід', 'LINK' => "https://portal.bitrix24.com/crm/lead/show/{$leadId}/"], ['TEXT' => 'Взяти в роботу', 'COMMAND' => 'assign_lead', 'COMMAND_PARAMS' => $leadId], ]]], ]); Клієнт отримує автовідповідь клієнту email та/або SMS:
\Bitrix\Main\Mail\Event::sendImmediate([ 'EVENT_NAME' => 'FORM_SUBMIT_CONFIRM', 'LID' => SITE_ID, 'C_FIELDS' => [ 'CLIENT_NAME' => $name, 'CLIENT_EMAIL' => $email, 'FORM_NAME' => $formName, ], 'TO_EMAIL' => $email, ]); Якщо у клієнта є Telegram (визначаємо через telephony.externalcall.searchcrm), бот може написати й туди через Open Lines.
Як черга задач покращує обробку заявок?
При високому трафіку синхронна обробка може гальмувати відповідь сервера. Ми впроваджуємо чергу задач на базі Redis: подія форми кладе задачу в чергу за мілісекунду, а worker (PHP-демон або cron) обробляє її асинхронно. При недоступності Бітрікс24 REST API задача залишається в черзі до наступної спроби — це гарантує доставку заявки навіть при збоях. Наша черга витримує до 1000 задач в секунду без втрат.
Уникнення дублювання та маршрутизація заявок
Перед створенням нового ліда скрипт виконує пошук за телефоном через метод crm.duplicate.find. Якщо знаходиться відкритий лід — бот не створює новий, а додає до нього активність з текстом «Повторна заявка» та посиланням на результат форми. Різним формам призначаються різні відповідальні:
function getResponsibleManager(int $formId): int { return [1 => 15, 3 => 22, 7 => 8][$formId] ?? 1; } При повторній заявці з тим самим телефоном бот не створює новий лід, а додає активність до існуючого — це запобігає дублям та плутанині та реалізує обробку дублів заявок.
Обробка при недоступності REST API
Черга задач на Redis рятує: задача залишається в черзі і повторюється при наступному запуску worker-а (кожні 1–3 секунди). Якщо API не відповідає довше 5 хвилин, бот відправляє email-оповіщення адміністратору. Це гарантує, що жодна заявка не загубиться, навіть при тимчасових збоях.
Порівняння: бот vs ручна обробка
| Параметр | Ручна обробка | Бот-обробник |
|---|---|---|
| Час від заявки до ліда | Години | Секунди |
| Ризик втрати заявки | Високий (до 70%) | Мінімальний (менше 1%) |
| UTM-аналітика | Вручну | Автоматично |
| Обробка дублів | Вручну | Автоматично |
| Повідомлення клієнта | Ручне | Автоматичне |
| Вартість впровадження | (людський ресурс) | Від $1500 |
| Економія на місяць | – | До €5000 |
Бот краще ручної обробки в 20 разів за швидкістю — це перевірено на десятках проєктів. Впровадження підвищує конверсію заявок на 30% та знижує час реакції на 95%.
Наш досвід: 5+ років на ринку, 50+ впроваджень для бізнесу.
Що входить в роботу
- Аналіз поточних форм на сайті та вибір способу перехоплення
- Написання обробників подій з урахуванням кешування тегованого в Бітрікс
- Налаштування маршрутизації заявок за типом, регіоном або навантаженням
- Інтеграція з REST API Бітрікс24 для створення лідів/угод
- Розробка чат-бота в ім-бот з кнопками для менеджерів
- Налаштування автовідповіді по email/SMS
- Впровадження черги для надійної обробки при пікових навантаженнях
- Тестування в 3 сценаріях: одинична заявка, дублі, відмова API
- Передача документації щодо доступів та логіки роботи
Як впровадити бота: крок за кроком
- Встановити обробник подій для перехоплення форм.
- Налаштувати створення лідів в CRM через REST API.
- Інтегрувати чат-бота для повідомлення менеджерів.
- Налаштувати автовідповідь клієнту.
- Додати механізм уникнення дублів.
- Протестувати всі сценарії.
Детальніше про тестові сценарії
Ми перевіряємо роботу бота на одиничних заявках, при повторному відправленні з тим самим телефоном, а також при симуляції відмови REST API (наприклад, вимикаємо вебхук). У кожному випадку фіксуємо коректну поведінку: створення ліда, повідомлення, автовідповідь, відсутність дублів.Строки та вартість
| Етап | Строк |
|---|---|
| Перехоплення подій форм Бітрікс | 1–2 дні |
| Створення лідів в Б24, маршрутизація | 2–3 дні |
| Повідомлення через бота, кнопки дій | 2–3 дні |
| Автовідповідь клієнту (email/SMS) | 1–2 дні |
| Обробка дублів, повторних заявок | 1–2 дні |
| Черга + тестування | 1–2 дні |
Разом: 1.5–2 тижні для стандартного набору форм. Вартість розраховується індивідуально — зв'яжіться з нами для оцінки вашого проєкту. Отримайте прозору смету та гарантію якості після впровадження. Ми допомагаємо автоматизувати обробку заявок під ключ — замовте розробку прямо зараз.
Бот обробки заявок Бітрікс24 — це комплексне рішення для автоматизації лідів. Інтеграція форм Бітрікс дозволяє швидко налаштувати CRM повідомлення та маршрутизацію заявок. Чат-бот Бітрікс24 і обробка заявок ботом — наші ключові компетенції.







