CRM.
Сценарий на 120+ Telegram-контактов и 30 активных диалогов: приём заявок с портфолио и AI OPS, фильтры, задачи, inline-правки и отправка в n8n. ИИ-синхронизация Telegram → CRM каждые 20 минут и умное распределение по 15 параметрам.
Роль
Архитектура, full-stack, деплой
Год
2026
Статус
Next.js 16 · SQLite · n8n
Публичной ссылки нет: CRM работает только для владельца. Метрики — сценарий нагрузки на одном сервере, не публичная аналитика.
Обзор
Лиды
120
контактов
30
активных
0
ошибок
Анна Орлова
@anna_ops
Михаил Ковалёв
m.kovalev@example.com
Ирина Соколова
@irina_smm
Денис Морозов
@denis_build
120+
Telegram-контактов
30
активных диалогов
10+
функций
1
пользователь
Умная синхронизация через ИИ
Ответы, этапы и задачи обновляются сами: 20 минут, 15 параметров и один next action.
20 мин
цикл синхронизации
15
параметров распределения
4
шага задач
Задача
Лиды приходили из формы портфолио, AI OPS и Telegram-выгрузок. Часть терялась, дубли не отслеживались, а отправка в n8n была ручной.
Решение
Одна SQLite-база, один входной API и один экран. Заявки автоматически создают лид, дубли склеиваются по email, Telegram и телефону, а n8n получает подписанный payload из очереди с повторами.
Что происходит каждые 20 минут
Модель читает новые сообщения, обновляет этап и температуру, а синк переносит данные в CRM. Без дублей и потерянных ответов.
Читает новые сообщения, понимает контекст, отличает живого клиента от бота или агрегатора, обновляет этап, температуру и теги. Детерминированный синк переносит историю, score, follow-up и ошибки доставки; повторный запуск не создаёт дубли.
Ответы разбираются по смыслу
Входящее сообщение не теряется: модель определяет, кто пишет — клиент, бот или агрегатор, — и обновляет этап, температуру и теги.
Следующий шаг появляется сам
Из контекста и плана рождается задача: ответить, сделать follow-up, повторить после PEER_FLOOD. В работе всегда один next action.
Дубли не создаются
Повторная синхронизация обновляет ту же карточку. Дедуп по Telegram, email и телефону; timeline и задачи идемпотентны.
Задачи: сначала план
План по датам и приоритетам: первое касание, follow-up через 3 дня, разбор ответа, повтор после PEER_FLOOD. Из него рождаются задачи и next action.
Архитектура
Next.js принимает заявки, SQLite хранит лиды и очередь, worker отправляет в n8n. Всё на одном сервере за Caddy.
Источники
Портфолио, AI OPS, Telegram JSON и ручной ввод.
API
Bearer-ключ, идемпотентность и дедуп по контактам.
SQLite
Лиды, события, задачи и очередь доставок в одном файле.
n8n
Вебхук с HMAC, повторами и журналом ответов.
{
"schema": "lead.v1",
"event": "lead.created",
"lead": {
"id": "ld_...",
"name": "Ivan",
"email": "ivan@example.com",
"source": "portfolio",
"temperature": "hot",
"score": 70
},
"consent": { "granted": true },
"meta": { "attempt": 1 }
}Стек
n8n получает lead.v1, проверяет HMAC-подпись и идемпотентность. При 5xx CRM повторяет отправку.
Ключевые решения
Один пользователь — без ролей
Не строил команду и права, которых нет. Один вход, один владелец, минимум лишних сущностей.
SQLite вместо Postgres
Для одного пользователя и десятков лидов в день SQLite быстрее, проще и дешевле. WAL и индексы закрывают фильтры.
Очередь, а не прямой fetch
Если n8n недоступен, доставка остаётся в очереди. Worker повторяет отправку, а failed видно в журнале.
Канонический payload lead.v1
CRM не зависит от формата получателя: наружу уходит один контракт, n8n разбирает его своим workflow.
Список — рабочее место, а не витрина
Сортировка, inline-правки, массовые действия и сохранённые виды позволяют вести десятки лидов без постоянных переходов в карточку.
Состояние не теряется
Фильтры, сортировка и колонки живут в URL и sessionStorage: возврат из карточки открывает тот же рабочий вид.
Что внутри
Гибкие колонки: 21 поле, выбор сохраняется в URL
Inline-редактирование этапа, температуры, score, бюджета и даты шага
Сохранённые виды: фильтры + сортировка + колонки
Расширенные фильтры: score, канал связи, активность и возраст
SLA-метка «N дней без ответа»
Глобальный поиск ⌘K / Alt+K по всей базе
Массовые действия и экспорт только выбранных лидов
Закрепление лидов и навигация j/k по строкам
Задачи и следующие шаги в одном рабочем экране
n8n outbox: HMAC, retry, журнал доставок
Импорт Telegram-лидов и дедуп по email / Telegram / телефону
API приёма, SQLite, бэкап и systemd
ИИ-синхронизация Telegram → CRM каждые 20 минут
Распределение по 15 параметрам: score, бюджет, язык, SLA и др.
План задач: первое касание, follow-up, разбор ответа, повтор
Как это выглядит
Демо-данные: имена, контакты и сообщения вымышлены. Реальные лиды в скриншотах не показаны.




