Один движок вместо зоопарка подписок

CRM, рассылки, конструктор ботов, платформа автоматизации, аналитика - пять подписок и пять расходящихся копий базы клиентов. Рассказываю, как я собрал всё это внутри одной системы, что действительно стало проще, и честно - в каких случаях так делать не надо.

Александр МазинАлександр Мазин AI-инженер · автоматизация бизнеса Опубликовано
Спутанные кабели к пяти блокам слева и один монолитный блок справа

Раньше сайт работал в связке с отдельной платформой автоматизации: она принимала заявки, считала оценку задачи, вела бота. Платформа хорошая, но это отдельная система со своей логикой, своими секретами и своим кабинетом, а данные при этом жили в другом месте.

Типичный набор небольшой компании: CRM, сервис рассылок, конструктор чат-ботов, платформа автоматизации, где-то отдельно аналитика. Пять подписок, пять личных кабинетов, пять счетов - и, что хуже, пять копий базы клиентов, которые расходятся между собой.

Что стало

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

Главный выигрыш не в экономии на подписках, хотя она есть. Он в том, что у клиента одна карточка, к которой привязано всё. Раньше один и тот же человек был контактом в CRM, подписчиком в рассылке и пользователем в боте, и эти три записи приходилось как-то сопоставлять между собой.

Как это устроено внутри

Несколько решений, которые оказались важнее остальных.

Очередь - это таблица. Одна строка - одно сообщение одному человеку. Не "рассылка на 500 адресов", а 500 строк с собственным статусом. Отправкой занимается процесс по расписанию, который берёт готовые к отправке и обрабатывает их.

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

В системе нигде не записано, сколько писем уже ушло. Это каждый раз пересчитывается по фактическим доставкам. Так же и с шагом воронки: отдельной галочки нет, шаг виден из истории человека.

Соблазн записать число огромный - так быстрее. Но вторая копия одних и тех же данных рано или поздно расходится с первой. И вы получаете отчёт, где рассылка завершена, а на самом деле - нет.

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

Каждый процесс называется по шаблону "область: что делает" и лежит в папке своей области. Через полгода это единственное, что позволяет найти нужное среди нескольких десятков процессов.

Что это дало на практике

Самый показательный пример - публикация статьи. Я перевожу статью в статус "опубликована". Дальше без моего участия: встроенный ИИ-помощник формулирует сюжет обложки, задание уходит в очередь картинок, генератор рисует, файл прикрепляется к статье, статья расходится по внешним площадкам, я получаю уведомление о результате.

Раньше это была ручная работа, разложенная по четырём интерфейсам. Сейчас одно действие. И, что важнее, вся эта логика лежит в одном месте - если завтра понадобится добавить площадку, я добавлю её там же, а не в пятом сервисе.

Когда так делать не надо

Команда - первый стоп-сигнал. Разделение по инструментам - это ещё и разделение ответственности: маркетолог в своём сервисе рассылок никого не сломает, а в общем движке может сломать многое.

Если процессы сложные и их много. Специализированные платформы автоматизации существуют не зря: у них лучше визуальный редактор, история запусков, отладка. Я отказался от такой платформы для маленького личного сайта - но на большом проекте продолжаю её использовать и не собираюсь переносить полторы сотни сценариев в админку.

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

Мой случай - предельный: один человек, много автоматизации, полный контроль и желание не платить за пять кабинетов. Для компании из десяти человек ответ будет другим.

Что это даёт вам в месяц

500 рублейЧас ручной сверки одного клиента между CRM, рассылкой и ботом - при ставке менеджера.
40 000 - 50 000 рублейМесяц контент-менеджера, который вручную разносит статьи и картинки по площадкам.
7 000 - 10 000 рублейВаш день, потраченный на выяснение, какая из пяти копий базы клиентов верная.

Посчитайте на своих числах. Часы, которые уходят на сверку одного клиента между CRM, рассылкой и ботом, при ставке 500 рублей в час превращаются в прямые деньги. Добавьте свои дни на выяснение, какая копия базы верная: день собственника стоит 7 000 - 10 000 рублей. Если сумма выходит больше пяти подписок, зоопарк уже не экономит, а стоит вам денег.

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

Новые разборы - на почту

Разборы задач автоматизации: что автоматизировать, сколько это стоит и что даёт в цифрах. Одно письмо на статью, без рекламы чужих продуктов.

Александр Мазин

Александр Мазин

AI-инженер. Автоматизирую бизнес под ключ: CRM, интеграции, AI-ассистенты, платформы. Пишу о системах, которые заменяют отдел.