Автоматическое распределение лидов в Bitrix24 через n8n: пошаговый гайд | AiManual
AiManual Logo Ai / Manual.
06 Янв 2026 Гайд

Лиды разбегаются, менеджеры плачут: как настроить автоматическое распределение в Bitrix24 за 30 минут

Пошаговая инструкция по настройке round-robin распределения лидов в Bitrix24 через n8n. Вебхуки, ноды, workflow и реальные цифры экономии.

Почему ваши менеджеры ненавидят друг друга (и вы теряете деньги)

Представьте: в вашу CRM падает новый лид. Три менеджера одновременно видят уведомление. Кто должен взять его в работу? Первый, кто успел кликнуть? Самый опытный? Тот, у кого меньше загрузки?

В реальности происходит следующее: либо лид "висит" без ответа, потому что все думают, что его уже кто-то взял. Либо его хватают все трое, начинается внутренняя война. Либо он достается тому, кто просто быстрее всех нажимает кнопки.

Одна компания из моего опыта потеряла так 70 000 рублей за месяц. Не в абстрактных "упущенных возможностях", а в реальных сделках, которые сорвались из-за дублирования коммуникации или просто провалившегося в никуда лида.

Если у вас больше одного менеджера по продажам и нет четкой системы распределения - вы уже теряете деньги. Просто не знаете об этом.

Round-robin: не идеально, но лучше хаоса

Round-robin ("карусель") - простейший алгоритм распределения. Первый лид - первому менеджеру, второй - второму, третий - третьему, четвертый - снова первому, и так по кругу.

Это не учитывает загрузку, опыт или специализацию менеджеров. Но это лучше, чем ничего. Значительно лучше.

Bitrix24 предлагает свои механизмы распределения, но они либо платные (в дорогих тарифах), либо ограниченные. Мы же сделаем свою систему на n8n - бесплатно, гибко и под полным контролем.

Что нам понадобится (спойлер: почти ничего)

  • Работающий Bitrix24 (любой тариф)
  • n8n (self-hosted или облачная версия)
  • 5 минут на настройку вебхука в Bitrix
  • Еще 25 минут на сборку workflow
  • Список ID ваших менеджеров (легко найти в админке Bitrix)

1 Готовим Bitrix24: вебхук вместо сложных настроек

Откройте ваш Bitrix24 и перейдите в раздел "Приложения". Нам нужен "Входящий вебхук".

Создайте новый вебхук с правами:

Право Зачем нужно
crm Работать со сделками и лидами
user Получать информацию о пользователях
tasks Создавать задачи (опционально)

Скопируйте URL вебхука - он понадобится через минуту.

💡
Не давайте вебхуку все права подряд. Минимизируйте доступ - это базовая безопасность. Если не планируете создавать задачи - не давайте tasks.

2 Настраиваем триггер в n8n: ловим новые лиды

Откройте n8n и создайте новый workflow. Добавьте ноду "Webhook" (Webhook Trigger).

Вставьте URL вашего Bitrix вебхука в поле "Path". Сохраните.

Теперь вернитесь в Bitrix24 и настройте бизнес-процесс. Или просто создайте автоматизацию: "При создании лида → Отправить вебхук".

Укажите URL, который n8n показывает в ноде Webhook (обычно что-то вроде https://ваш-n8n.com/webhook/123).

// Пример данных, которые Bitrix отправит в n8n
{
  "event": "ONCRMLEADADD",
  "data": {
    "FIELDS": {
      "ID": "12345",
      "NAME": "Иван",
      "LAST_NAME": "Иванов",
      "STATUS_ID": "NEW",
      "ASSIGNED_BY_ID": "1" // Это ID текущего ответственного
    }
  }
}

3 Храним состояние: кто следующий в очереди

Вот здесь большинство спотыкаются. Где хранить информацию о том, кому следующий лид?

Варианты:

  1. База данных - надежно, но сложно
  2. Переменные n8n - теряются при перезапуске
  3. Файл - костыль, но работает

Я предлагаю четвертый вариант: использовать ноду "Set" для хранения в памяти workflow. Да, при перезапуске n8n счетчик сбросится. Но это случается редко, а простота реализации того стоит.

// В ноде "Set" (или Code node) храним:
{
  "currentManagerIndex": 0,
  "managers": [6, 12, 18] // ID менеджеров из Bitrix24
}

Если вы запускаете n8n в Docker и часто пересобираете контейнеры - этот метод не подойдет. Используйте тогда базу данных (PostgreSQL через ноду "PostgresDB") или внешнее хранилище.

4 Логика распределения: выбираем следующего менеджера

Добавьте ноду "Code" (или "Function") после Webhook. Здесь будет вся магия:

// Получаем текущее состояние
let state = $input.first().json.state || {
  currentManagerIndex: 0,
  managers: [6, 12, 18] // Замените на ваши ID
};

// Вычисляем, кому достанется этот лид
const nextManagerId = state.managers[state.currentManagerIndex];

// Обновляем индекс для следующего лида
state.currentManagerIndex = (state.currentManagerIndex + 1) % state.managers.length;

// Возвращаем результат
return [
  {
    json: {
      leadId: $input.first().json.data.FIELDS.ID,
      assignedToId: nextManagerId,
      state: state // Новое состояние для сохранения
    }
  }
];

Просто? Да. Эффективно? Невероятно.

5 Сохраняем состояние и обновляем лид

После ноды Code добавьте еще одну ноду "Set" - чтобы сохранить обновленное состояние. Подключите ее к выходу Code ноды.

Затем добавьте ноду "HTTP Request" - это будет запрос к Bitrix24 API для обновления лида:

// Метод: POST
// URL: https://ваш-домен.bitrix24.ru/rest/crm.lead.update.json
// Query Parameters:
// id={{leadId}}
// fields[ASSIGNED_BY_ID]={{assignedToId}}
// auth={{ваш_вебхук_токен}}

Вместо ручного формирования URL используйте выражение:

{{ "https://ваш-домен.bitrix24.ru/rest/crm.lead.update.json?auth=" + $vars["webhookToken"] }}

Полный workflow: 5 нод, которые заменяют менеджера по распределению

Давайте соберем все вместе:

  1. Webhook Trigger - получаем событие о новом лиде
  2. Set node - загружаем текущее состояние (или инициализируем)
  3. Code node - вычисляем следующего менеджера
  4. Set node - сохраняем новое состояние
  5. HTTP Request - обновляем лид в Bitrix24

Вот и все. Весь workflow помещается на одном экране.

Где собака зарыта: ошибки, которые все совершают

Я видел десятки реализаций такой системы. Вот топ-3 ошибки:

Ошибка 1: Не учитывают, что менеджер может быть удален

Вы храните массив ID [6, 12, 18]. А что, если менеджера с ID 12 уволили? Ваша система будет пытаться назначить лиды несуществующему пользователю.

Решение: Добавьте проверку перед распределением. Сделайте запрос к Bitrix API (user.get) для каждого ID из списка. Исключайте неактивных пользователей.

Ошибка 2: Забывают про дублирование событий

Bitrix иногда отправляет одно событие дважды. Особенно при сетевых проблемах. Ваш workflow получит два одинаковых вебхука - и распределит один лид двум разным менеджерам.

Решение: Добавьте проверку на дубликаты. Сохраняйте ID обработанных лидов (хотя бы на час). Или используйте встроенную идемпотентность n8n.

Ошибка 3: Не тестируют на реальных данных

Настроили workflow, запустили - вроде работает. А через неделю оказывается, что лиды все равно скапливаются у одного менеджера.

Решение: Создайте тестовый скрипт, который имитирует 100 последовательных лидов. Проверьте, что распределение действительно round-robin.

А что если... (расширяем базовую версию)

Базовая система работает. Но ведь можно лучше?

Взвешенное распределение

Менеджер А берет 2 лида, менеджер Б - 1, менеджер В - 3. Потом повтор. Реализуется чуть сложнее, но тоже в паре нод.

Распределение по времени

Менеджеры работают в разных часовых поясах? Распределяйте лиды только тем, кто сейчас на работе.

Интеграция с загрузкой

Подключайтесь к статистике Bitrix: сколько у менеджера активных сделок, сколько сегодня уже обработано. Отдавайте лиды менее загруженным.

💡
Для сложных сценариев посмотрите мою статью про AI-агентов на n8n. Там я показываю, как делать системы, которые принимают решения на основе множества факторов.

Цифры, которые заставят вас сделать это сегодня

Давайте посчитаем:

  • Время на ручное распределение лида: 30 секунд (открыть, посмотреть, решить, назначить)
  • Количество лидов в день: 50
  • Рабочих дней в месяце: 22
  • Стоимость часа работы менеджера: 500 рублей

30 секунд × 50 лидов × 22 дня = 9 166 секунд = 2.5 часа в месяц

2.5 часа × 500 руб/час = 1 250 рублей в месяц

Кажется, немного? Но это только прямое время распределения. Добавьте:

  • Конфликты между менеджерами ("Это мой лид!")
  • Пропущенные лиды (все думали, что кто-то другой взял)
  • Дублирование коммуникации (два менеджера пишут одному клиенту)

И вот уже те самые 70 000 рублей упущенной выручки из реального кейса.

Что делать, если Bitrix24 - не ваша единственная CRM?

Тот же принцип работает для:

  • AmoCRM - есть вебхуки
  • RetailCRM - есть API
  • Даже для Google Sheets, если вы там ведете учет

Просто замените ноду HTTP Request на вызов другого API. Логика распределения останется той же.

Можно ли сделать это без n8n?

Можно. На Python скрипте. На PHP. На чем угодно.

Но тогда вам нужно:

  • Хостить этот скрипт где-то
  • Настроить мониторинг, чтобы он не упал
  • Писать логирование
  • Обрабатывать ошибки
  • Обновлять при изменении API Bitrix

В n8n все это уже есть. Плюс визуальный интерфейс. Плюс возможность быстро модифицировать. Плюс интеграция с тысячами других сервисов.

Как в том примере с автоматизацией документов - иногда проще использовать готовый инструмент, чем строить свой.

Что будет дальше с автоматизацией продаж

Round-robin распределение - это первый шаг. Следующий - AI-агенты, которые будут:

  • Анализировать текст лида (откуда пришел, что написано)
  • Смотреть историю взаимодействий с клиентом
  • Оценивать вероятность сделки
  • И распределять не просто "по очереди", а тому менеджеру, у которого выше шансы закрыть

Такие системы уже работают в крупных компаниях. И собираются они на тех же n8n или EmergentFlow.

Но начинать нужно с простого. С того, что даст результат сегодня. С распределения лидов по кругу.

Сделайте это сейчас. Прямо сейчас. Пока ваш следующий лид не "повис" между менеджерами.

P.S. Если через месяц ваши менеджеры перестанут ругаться из-за лидов - напишите мне. Расскажете, сколько денег сэкономили. Я люблю такие истории.