Полгода назад я столкнулся с задачей: в нашей CRM Битрикс24 сделки висели без движения по несколько дней, ответственные забывали их брать в работу, а SLA клиентами не соблюдалось. Руководство требовало автоматизации, но писать кастомные скрипты на каждом этапе было бы безумием. Оказалось, что большую часть работы можно сделать встроенными бизнес-процессами и роботами — и сегодня я расскажу, как именно.
Что такое бизнес-процессы и роботы в Битрикс24
Бизнес-процесс — это визуальный конструктор потоков работы. Вы собираете схему из блоков: условия, действия, паузы, циклы. Робот — это «мини-бизнес-процесс», который привязывается к конкретному этапу воронки и выполняет одно или несколько действий при переходе сделки на этот этап. Грубо говоря, робот — это бизнес-процесс-синглтон, а бизнес-процесс — полноценный оркестратор.
Наш кейс: автоматизация воронки сделок
Мы выстроили вот такую цепочку. При создании сделки в воронке «Новые лиды» срабатывал робот автоназначения: он смотрел на поле «Источник» и по простому маппингу назначал ответственного менеджера. Если источник был «Сайт» — шли к Алине, «Реклама» — к Диме, остальные — в очередь руководителю отдела.
Далее включался SLA-трекинг. Бизнес-процесс запускался в фоновом режиме и через 2 часа проверял: если сделка не переведена на следующий этап, отправлял уведомление в чат ответственного и ставил задачу с приоритетом «Высокий». Через 4 часа — эскалация на руководителя. Через 8 часов — сделка помечалась красным флагом в дашборде.
Робот или бизнес-процесс — когда что использовать
За три месяца экспериментов я выработал простое правило. Если действие привязано к одному этапу воронки и не нуждается в ветвлении — используйте робота. Это быстрее в настройке и проще в поддержке. Если нужен цикл, множественные условия, паузы по расписанию или взаимодействие с несколькими сущностями — собирайте полный бизнес-процесс.
У нас 12 роботов и 4 бизнес-процесса. Роботы обрабатывают рутину: автоназначение, смена Stage, отправка email-шаблонов. Бизнес-процессы занимаются SLA, многошаговыми согласованиями и интеграцией с внешними системами.
Запуск бизнес-процесса через REST API
Иногда нужно запустить процесс программно — например, из нашей внутренней админки на PHP. Вот рабочий пример:
$webhookUrl = 'https://your-domain.bitrix24.ru/rest/1/your_webhook_code/';
$data = [
'template_id' => 47, // ID бизнес-процесса
'document_id' => ['crm', 'CCrmDocumentDeal', 'DEAL_12345'],
'parameters' => [
'SLA_Hours' => '4',
'NotifyManager' => 'Y',
],
];
$ch = curl_init($webhookUrl . 'bizproc.workflow.start');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if (isset($response['result'])) {
echo 'Процесс запущен, ID: ' . $response['result'];
} else {
echo 'Ошибка: ' . ($response['error_description'] ?? 'unknown');
}
Обратите внимание на формат document_id — это массив из трёх элементов: модуль, тип документа и идентификатор сущности. Для сделок префикс всегда DEAL_.
Ограничения, с которыми я столкнулся
Первое и самое болезненное — циклы в бизнес-процессах ограничены 100 итерациями. Мы попытались сделать процесс, который опрашивал статус интеграции каждые 5 минут, и на второй день он падал с ошибкой превышения лимита. Пришлось перепроектировать на вебхуки обратного вызова.
Второе — таймаут выполнения. В облачной версии один запуск бизнес-процесса не может длиться дольше определённого времени. Если у вас тяжёлые HTTP-запросы к внешним API внутри процесса, закладывайте обработку таймаутов на каждом шаге.
Третье — мониторинг сбоев. По умолчанию упавший бизнес-процесс просто становится красным в списке. Я настроил робота на сущность «Бизнес-процесс», который при статусе «Ошибка» отправляет мне сообщение в Telegram через входящий вебхук. Это спасало не раз.
# Пример вебхука для уведомления об ошибке в Telegram
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
-d chat_id="${CHAT_ID}" \
-d text="БП #47 упал. Сделка: ${DOCUMENT_ID}. Проверьте: https://your-domain.bitrix24.ru/company/personal/bizproc/"
Практические советы
Логируйте каждый значимый шаг бизнес-процесса через «Действие: Записать в журнал». Без этого отлаживать падения — квест. Называйте процессы осмысленно: не «БП 1», а «SLA — воронка B2B — 4ч эскалация». И главное — не пытайтесь впихнуть всю логику в конструктор. Если вам нужны сложные вычисления, лучше вынести их в PHP-скрипт и вызывать через «Действие: Выполнить PHP-код» или через REST API извне.
Пока нет комментариев
Будьте первым, кто оставит комментарий к этой статье