Как я сделал SaaS CRM прямо в Telegram — без единого веб-интерфейса
Когда малый бизнес говорит "нам нужна CRM" — они обычно имеют в виду что-то простое: видеть заявки, назначать менеджеров, отмечать оплату. Но все существующие решения либо дорогие, либо сложные, либо требуют отдельного браузерного интерфейса который никто не открывает.
Я пошёл другим путём: сделал CRM прямо в Telegram, используя топики (темы) супергруппы как колонки Kanban-доски. Никакого веб-интерфейса — только бот.
Идея: Telegram как UI
У Telegram есть функция топиков в супергруппах. Это как каналы внутри группы — каждый топик имеет своё название и изолированный чат. Именно это стало основой архитектуры:
- Новые
- В работе
- Успех
- Кабинет
- База знаний
Архитектура
Три независимых процесса
- API
- MasterBot
- CRMBot
Почему три процесса а не один? Каждый компонент имеет разные требования к надёжности и масштабированию. API может перезапуститься не прерывая polling ботов. Master Bot не нужен Redis FSM с теми же настройками что CRM Bot. А также:
- PostgreSQL
- Redis
Мультитенантность
Вся система мультитенантная — один инстанс обслуживает множество клиентов.
ForceReply - ввод данных без команд
Одна из главных UX-задач: как получить ввод от менеджера внутри группового чата? Модальных окон в Telegram нет. Решение — ForceReply: бот отправляет сообщение, Telegram автоматически открывает поле ввода с указанием "Ответить на...". Менеджер вводит данные, не покидая чат.
SaaS: подписки и монетизация
Оплата через ЮКасса. Тарифы:
- Базовый, вкл в себя пробный на 14 дней и ограничениями по заявкам и менеджерам
- Безлимитный, 1500 р./мес.
Онбординг через Master Bot
Пользователь регистрируется через отдельный Master Bot:
- /start → вводит название компании
- Выбирает тариф (trial или сразу оплата)
- Получает инструкцию: создать супергруппу, добавить CRM бота, написать /setup
- /setup в группе — бот(CRMBot) создаёт все топики, привязывает группу к тенанту
Интеграция с Tilda
Tilda присылает form-data с произвольными полями — у каждой формы своя структура. Написал универсальный парсер.
Планы развития
- Вложения к карточкам — документы и фото прикрепляются к лиду и переезжают вместе с карточкой по топикам
- Аналитика — графики конверсии, среднее время сделки
- Webhooks исходящие — уведомлять внешние системы при смене статуса
- Масштабирование в месенджер MAX, как целевое решение
Итог
Топики супергрупп дают готовую Kanban-доску. ForceReply закрывает потребность в формах. Inline-кнопки заменяют веб-интерфейс для большинства операций.
Менеджеры не устанавливают отдельное приложение — они просто работают в Telegram который у них уже открыт весь день.