Загрузка
Все статьи

Битрикс24: бизнес-процессы и роботы — автоматизация CRM без написания кода

Как мы автоматизировали воронку сделок в Битрикс24 с помощью бизнес-процессов и роботов — реальный кейс с SLA, автоназначением ответственных и мониторингом сбоев.

Полгода назад я столкнулся с задачей: в нашей 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 извне.

Поделиться статьёй

Комментарии

0
0 / 2000

Пока нет комментариев

Будьте первым, кто оставит комментарий к этой статье

Читайте также

Сложности с разделами каталога в Битрикс24 через REST API: игра с деревом

Обновляете товар через API, передаете SECTION_ID, но он не появляется в нужной папке. В этой статье я объясняю разницу между простым SECTION_ID и сложным деревом инфоблоков, как правильно выстроить иерархию и почему метод crm.product.update не умеет создавать папки.

5 июля 2026 1 мин

Битрикс24: batch-запросы и обработка 10 000 элементов без таймаута

Обычный crm.deal.list возвращает 50 элементов. Для синхронизации 10 000 сделок нужно 200 запросов — и это при условии, что ни один не упадёт по таймауту. Batch-метод Битрикс24 позволяет отправить до 50 команд в одном запросе, но у него свои подводные камни: лимит на размер запроса, ошибки частичной обработки и полное отсутствие транзакционности.

12 мая 2026 9 мин

Битрикс24: вебхуки и ограничение 1000 событий — как мы потеряли данные

На портале Битрикс24 можно создать максимум 2000 входящих вебхуков. Но мало кто знает, что каждый вебхук обрабатывает максимум 1000 событий в очереди. Если ваша интеграция не успевает — события удаляются. Рассказываю, как мы обнаружили потерю данных и построили систему надёжной обработки.

6 мая 2026 7 мин