Обработка лидов из 5 источников: как собрать в один поток
Типичная ситуация в малом и среднем бизнесе СНГ: заявки приходят из сайта, Telegram-бота, Avito, директа Instagram и почты. Где-то их обрабатывает менеджер вручную, где-то ловит первый, кто увидел, а где-то они просто теряются. Ниже - рабочая архитектура, которую мы ставим клиентам: один поток, дедупликация, маршрутизация в CRM, уведомления менеджеру.
Что считается «лидом из 5 источников»
Обычно это набор из такого списка:
- Сайт - форма заявки или callback, чаще всего отправляется webhook.
- Telegram-бот - диалог с вопросами, заканчивающийся отправкой данных.
- Avito - сообщения в чате объявления (через официальный Messenger API).
- Instagram Direct - личные сообщения с бизнес-аккаунта (через Meta API).
- Почта - info@ или sales@, куда падают и заявки, и спам, и старые ветки.
Каналов может быть больше или меньше - WhatsApp, VK, Wildberries-вопросы, Яндекс.Услуги. Архитектура от этого не меняется.
Главная проблема - не «собрать», а «не задвоить»
Один и тот же человек может оставить заявку на сайте, не дождаться ответа за 10 минут и написать в Telegram. Потом ещё в Instagram. Если просто лить всё в CRM, получится 3 сделки на одного клиента, два менеджера будут писать одновременно, а в отчёте будет каша.
Поэтому нормальная архитектура - не «5 интеграций в CRM», а «1 центральная труба → дедуп → CRM».
Архитектура: «webhook-сборщик → дедуп → маршрутизация»
Шаг 1. Унификация формата
Все каналы приводятся к одному JSON. Минимальный набор полей:
{
"source": "telegram", // канал-источник
"external_id": "tg_user_12345", // ID в источнике
"phone": "+375290000000", // E.164, если есть
"email": "client@example.com",
"name": "Иван",
"message": "Интересует автоматизация склада",
"created_at": "2026-05-28T10:15:30Z",
"raw": { ... } // исходный payload как есть
}
«Унификатор» делается либо отдельным workflow на канал, либо одним сценарием с router-нодой. Главное - на выходе всегда один формат.
Шаг 2. Дедупликация
Правило простое: один контакт - одна активная сделка. Дедуп ищет совпадение по приоритету:
- по телефону (нормализованному в E.164);
- по email (lowercase, trim);
- по связке
source + external_id- если ни телефона, ни email нет.
Если активная сделка уже есть - новый лид становится сообщением в существующей сделке, а не новой записью. Менеджер видит, что клиент пришёл повторно из другого канала, и продолжает там же.
На практике дедуп срабатывает на 15–30% заявок в первый же месяц. Это десятки часов сэкономленного времени менеджеров и нет ситуации «двое пишут одному».
Шаг 3. Маршрутизация
Куда лид попадает - зависит от правил. Типовые варианты:
- По очереди (round-robin) - заявки распределяются равномерно между менеджерами;
- По источнику - Avito ведёт один человек, Instagram другой;
- По тегу/категории - n8n или ИИ-классификатор расставляет тег, дальше тег решает направление;
- По времени - ночные заявки в дежурного, дневные - в основной отдел.
Шаг 4. Запись в CRM и уведомление
После маршрутизации лид падает в CRM (Bitrix24, amoCRM, Kommo, HubSpot - без разницы) и одновременно уходит уведомление ответственному менеджеру: в Telegram, на почту или внутренний чат. Уведомление содержит ссылку на сделку и сам текст заявки, чтобы менеджер не искал.
Какие узкие места возникают чаще всего
Avito Messenger API
Avito даёт официальный API для сообщений только аккаунтам с подключённым Avito Pro/Avito Бизнес. Без него - никаких легальных интеграций, парсинг чатов нарушает условия использования. Если нужно - берёте Avito Pro, регистрируете приложение, получаете токен.
Instagram Direct
Инстаграм-директ доступен через Meta Graph API только для бизнес-аккаунтов, привязанных к Facebook-странице, и только если пользователь сам начал диалог. «Холодные» сообщения через API невозможны. Также есть ограничения по времени ответа (24 часа на свободный ответ, дальше - только шаблоны).
Telegram
Самый простой канал: создаёте бота через BotFather, ставите webhook на свой URL, ловите все сообщения. Никаких approval не нужно. Подходит и для воронки с вопросами, и для «отправь заявку».
Почта
Почта - самый шумный канал. Без фильтра «это заявка / это спам / это переписка по уже открытой сделке» - там будет каша. Решается либо классификатором (regex по ключевым словам), либо мини-LLM (классификация в 1–2 категории, дешево даже на каждом письме).
Сайт
На сайте обычно достаточно простого POST-webhook из формы. Важно ставить защиту от спама: honeypot-поле, минимальное время заполнения, опционально reCAPTCHA. Без этого в CRM сразу полетят боты с «купи SEO».
На чём это лучше всего собирается
Архитектура одинаково работает на любом оркестраторе - n8n, Make, или собственном бэкенде. На практике мы чаще делаем на self-hosted n8n: бесплатный по числу запусков, данные клиентов не уходят за пределы вашего VPS, легко добавлять новые каналы и менять правила маршрутизации без релиза.
Подробнее о сравнении инструментов - в разборе n8n vs Make vs Zapier. Если интересует именно интеграция с CRM - смотрите страницу услуги «Интеграции с CRM».
Что в итоге получает бизнес
- Все лиды в одной CRM с понятным источником;
- Нет дублей и нет ситуации «двое пишут одному клиенту»;
- Менеджер реагирует за минуты, а не «когда увидит» - через push в Telegram;
- Отчёт по каналам - какой источник реально приносит сделки, а какой только заявки;
- Любой новый канал подключается за полдня, потому что архитектура уже унифицирована.
Чек-лист перед запуском
- Перечислите все каналы, через которые сейчас приходят заявки (включая «случайные» - Wildberries-вопросы, отзывы и т.д.).
- Соберите доступы: API-токены, права бизнес-аккаунтов, доступ к CRM.
- Решите правило дедупликации: по телефону, по email, по обоим.
- Опишите матрицу маршрутизации: какой источник → какой менеджер / отдел / тег.
- Подготовьте формат уведомлений: куда падает, что в тексте, ссылка на сделку.
- Заведите тестовые лиды по каждому каналу и прогоните весь поток до конца.
Если у вас уже больше 100 заявок в месяц и поток рассыпается по каналам - это первое, что окупается. На разумных объёмах внедрение под ключ занимает 5–10 дней.
Не готовы обсуждать проект? Оцените выгоду сами: калькулятор ROI автоматизации - 1 минута, без контактов. Или заберите чек-лист «Что автоматизировать первым».