Розробка кастомних роботів CRM Бітрікс24 під ключ
Уявіть: угода перейшла на стадію «Перемога», а проект в Jira досі не створено, дані в ERP не пішли, рахунок не виставлено. Стандартні роботи Бітрікс24 такого не вміють — вони обмежені діями всередині CRM. Вихід — кастомні роботи, які викликають зовнішні API та автоматизують будь-яку логіку. Наша команда розробляє їх під ключ за 1–2 тижні. Досвід — понад 50 проектів, гарантія на безперебійну роботу. Така автоматизація дозволяє заощадити до ₴200 000 на рік на ручній обробці.
Чому стандартних роботів недостатньо?
Вбудовані роботи закривають лише базові сценарії: відправка email, створення ліда, зміна поля. Але щойно потрібна взаємодія з зовнішніми системами — Jira, Trello, ERP, 1С, — їхніх можливостей не вистачає. Кастомний робот може виконувати будь-які HTTP-запити, обробляти відповіді та оновлювати дані угоди. За нашими оцінками, кастомний робот в 4.75 рази ефективніше за вбудований: покриває до 95% потреб автоматизації проти 20%. Наприклад, створювати задачі в Jira, формувати рахунки в 1С або синхронізувати замовлення з ERP.
Архітектура кастомних роботів
Роботи в Бітрікс24 — це надбудова над двигуном бізнес-процесів (bizproc). Кастомний робот реєструється як дія бізнес-процесу (CBPActivity) з прапорцем FILTER, який обмежує його область застосування (CRM, конкретні типи сутностей).
Два способи створити кастомний робот:
-
Через REST API — метод
bizproc.robot.add. Реєструє зовнішній вебхук як робота. Бітрікс24 викликає URL при спрацьовуванні, передає дані сутності, отримує відповідь. Підходить для хмарного Бітрікс24, не потребує доступу до файлової системи. -
Через PHP-модуль — створюється клас, що успадковує
\Bitrix\Bizproc\Activity\BaseActivity. Реєструється вRegisterModuleDependencesна подіюOnBizProcActivityList. Доступний тільки на коробковому Бітрікс24 з доступом до сервера.
| Характеристика | REST | PHP-модуль |
|---|---|---|
| Хмарний портал | Так | Ні |
| Доступ до сервера | Не потрібен | Потрібен |
| Час впровадження | 1–2 дні | 3–5 днів |
| Асинхронний режим | Підтримується | Потребує ручного налаштування |
| Оновлення | Без деплою модуля | Через оновлення модуля |
Згідно з офіційною документацією Бітрікс24 (https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2074), кастомні роботи реєструються через метод bizproc.robot.add.
Вибір способу розробки: REST чи PHP-модуль
Якщо портал у хмарі — однозначно REST. Для коробки вибір залежить від завдання: REST впроваджується в 3 рази швидше, ніж PHP-модуль, і простіше підтримується. PHP-модуль дає повний контроль над оточенням і дозволяє використовувати внутрішні API Бітрікс24 без обмежень CORS. REST виграє за швидкістю впровадження: не потрібно розгортати модуль, достатньо розмістити обробник на будь-якому сервері.
Покрокова інструкція створення REST-робота
- Розробіть обробник на зовнішньому сервері (наприклад, PHP, Python, Node.js). Він приймає POST-запит з даними угоди та повертає JSON.
- Зареєструйте робота через запит до REST API Бітрікс24:
bizproc.robot.addз параметрами NAME, CODE, HANDLER (URL обробника), PROPERTIES. - Налаштуйте параметри — визначте, які поля угоди передавати роботу.
- Протестуйте у CRM: створіть бізнес-процес з вашим роботом та перевірте виконання.
Як реалізувати асинхронну обробку?
При асинхронному підході обробник ставить задачу в чергу (наприклад, Redis) і одразу відповідає. Бітрікс24 не блокується. Після завершення зовнішньої операції обробник викликає bizproc.event.send з ідентифікатором воркфлоу. Такий підхід обов'язковий, якщо зовнішній API відповідає довше 5 секунд або є ризик тайм-ауту.
// Приклад обробника з асинхронним режимом
$workflowId = $_POST['data']['WORKFLOW_ID'];
$properties = $_POST['data']['PROPERTIES'];
// Ставимо задачу в чергу (Redis)
$redis->lpush('robot_tasks', json_encode([
'workflow_id' => $workflowId,
'properties' => $properties,
'auth' => $_POST['data']['auth']
]));
// Відразу повертаємо async
header('Content-Type: application/json');
echo json_encode(['status' => 'async']);
Реальний кейс: синхронізація з ERP (з практики нашої компанії)
Завдання: наш клієнт, виробнича компанія, 150 угод на місяць. При переході угоди на стадію «Замовлення підтверджено» потрібно: створити замовлення в ERP (SOAP API), записати номер замовлення ERP назад у поле угоди UF_CRM_ERP_ORDER_ID, повідомити відповідального про результат.
Рішення: REST-робот на окремому PHP-сервері. Обробник приймає дані угоди, викликає SOAP API ERP в асинхронному режимі (задача в черзі Redis), при отриманні відповіді від ERP оновлює поле угоди через crm.deal.update і надсилає сповіщення через im.notify.system.add.
Проблема: ERP іноді відповідає 30–40 секунд. Синхронний режим не працював — Бітрікс24 позначав виклик як завислий. Перехід на асинхронний режим з bizproc.event.send вирішив проблему. Додали retry-логіку з повтором через 5 хвилин.
Результат: ручне введення замовлень в ERP зникло повністю. Час від підтвердження угоди до появи замовлення в ERP — 1–3 хвилини. Клієнт заощадив ₴120 000 на рік на ручному введенні. Вартість розробки такого робота — від ₴30 000. Для порівняння, альтернативне рішення на базі скриптів коштувало б ₴60 000 і вимагало вдвічі більше часу на підтримку.
Деталі реалізації
Для забезпечення відкладеної обробки використовується ідемпотентність ключів у чергах Redis. Аутентифікація обробника виконується через OAuth2 з використанням токенів, отриманих при реєстрації вебхука. Для коробкових порталів доступне використання внутрішніх агентів Бітрікс24 для періодичного опитування черги.
Що входить у роботу
- Проектування логіки робота (узгодження сценаріїв, тригерів, значень, що повертаються)
- Розробка обробника (вибір стеку, налаштування черг, retry-стратегії, аутентифікація OAuth2)
- Реєстрація робота через REST або PHP-модуль
- Тестування в реальній воронці з усіма аномаліями (дублі, помилки, тайм-аути)
- Документація по API та інструкція для співробітників
- Годинна підтримка після запуску
Замовте розробку кастомного робота — ми проаналізуємо ваші процеси та запропонуємо оптимальне рішення.
Приклади завдань для кастомних роботів
- Створення задач у Jira при отриманні оплати (економія до ₴50 000/рік)
- Автоматичне формування рахунків в 1С при переході угоди на стадію «Рахунок виставлено» (скорочення часу з 10 хв до 30 с)
- Синхронізація замовлень з ERP в реальному часі (помилки ручного введення знижено на 95%)
Терміни розробки
| Завдання | Час |
|---|---|
| Простий REST-робот (вебхук + запис поля) | 1–2 дні |
| Робот з асинхронним режимом і retry | 2–3 дні |
| PHP-модуль для коробкового Бітрікс24 | 3–5 днів |
| Тестування на стейджингу + деплой | 1–2 дні |
Підсумкові терміни розробки кастомного робота — 1–2 тижні з урахуванням проектування, розробки та тестування в реальній воронці.
Отримайте консультацію з архітектури робота без зобов'язань.







