Разработка кастомных роботов CRM Битрикс24 под ключ
Представьте: сделка перешла на стадию «Победа», а проект в Jira всё ещё не создан, данные в ERP не ушли, счёт не выставлен. Стандартные роботы Битрикс24 такое не умеют — они ограничены действиями внутри CRM. Выход — кастомные роботы, которые вызывают внешние API и автоматизируют любую логику. Наша команда разрабатывает их под ключ за 1–2 недели. Опыт — более 50 проектов, гарантия на бесперебойную работу. Такая автоматизация позволяет сэкономить до 200 000 руб в год на ручной обработке.
Почему стандартных роботов недостаточно?
Встроенные роботы закрывают только базовые сценарии: отправка email, создание лида, изменение поля. Но как только требуется взаимодействие с внешними системами — Jira, Trello, ERP, 1С, — их возможностей не хватает. Кастомный робот может выполнять любые HTTP-запросы, обрабатывать ответы и обновлять данные сделки. Встроенный робот «Отправить email» покрывает 20% потребностей, а кастомный — до 95%, так как может вызывать любое внешнее API. Например, создавать задачи в 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 дней |
| Асинхронный режим | Поддерживается | Требует ручной настройки |
| Обновления | Без деплоя модуля | Через обновление модуля |
Как выбрать способ разработки: REST или PHP-модуль?
Если портал в облаке — однозначно REST. Для коробки выбор зависит от задачи: REST быстрее внедрить и проще поддерживать, но PHP-модуль даёт полный контроль над окружением и позволяет использовать внутренние API Битрикс24 без ограничений CORS. REST выигрывает по скорости внедрения в 3 раза: не нужно разворачивать модуль, достаточно разместить обработчик на любом сервере.
Как реализовать асинхронную обработку?
При асинхронном подходе обработчик ставит задачу в очередь (например, 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 руб.
Что входит в работу
- Проектирование логики робота (согласование сценариев, триггеров, возвращаемых значений)
- Разработка обработчика (выбор стека, настройка очередей, retry-стратегии)
- Регистрация робота через REST или PHP-модуль
- Тестирование в реальной воронке со всеми аномалиями (дубли, ошибки, тайм-ауты)
- Документация по API и инструкция для сотрудников
- Часовая поддержка после запуска
Закажите разработку кастомного робота — мы проанализируем ваши процессы и предложим оптимальное решение.
Сроки разработки
| Задача | Время |
|---|---|
| Простой REST-робот (вебхук + запись поля) | 1–2 дня |
| Робот с асинхронным режимом и retry | 2–3 дня |
| PHP-модуль для коробочного Битрикс24 | 3–5 дней |
| Тестирование на стейджинге + деплой | 1–2 дня |
Итоговые сроки разработки кастомного робота — 1–2 недели с учётом проектирования, разработки и тестирования в реальной воронке.
Получите консультацию по архитектуре робота без обязательств.







