Заметки

Заметка

n8n для маркетинга: шесть автоматизаций, которые снимают ручную работу, и что в них ломается

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

Содержание ↓
  1. Что такое n8n простыми словами и сколько он стоит
  2. Автоматизация n8n на примерах
  3. ИИ-агенты и автоматизация с n8n для текстов, метрик и отзывов
  4. Что ломается после запуска

Я руковожу интернет-маркетингом hh.ru и с 2025 года пишу для своей команды AI-инструменты. Часть автоматизаций крутится на n8n, в Docker на своём сервере, рядом с кодом Marketing OS. Самая неприятная поломка случилась уже в эксплуатации, и её долго никто не замечал.

Поэтому n8n для маркетинга я оцениваю по двум вещам: сколько ручной работы снимает сценарий и как быстро я узнаю, что он сломался. Ниже шесть сценариев с разбором по узлам и чек-лист, который я прохожу перед запуском. Цены, лицензию и ссылки я сверял 26.09.2026. Инструкции по установке здесь нет, её пишут хостеры.

Что такое n8n простыми словами и сколько он стоит

n8n собирает процесс из блоков на холсте. Каждый блок, в n8n он называется узлом, делает одно действие: забирает строки из таблицы, отправляет сообщение, задаёт вопрос модели, проверяет условие. Узлы соединяют стрелками. Получается сценарий (workflow), и запускать его можно по расписанию, по событию или руками. Имя расшифровывается как «nodemation», читается «эн-эйт-эн», интеграций в README проекта заявлено 1500+.

В маркетинге n8n работает клеем между сервисами, которые друг с другом не разговаривают: форма на лендинге не знает про CRM, рекламный кабинет не пишет в Telegram. Автоматизация маркетинга на n8n закрывает такие стыки без разработчика на каждый. Если вы прикидываете, с чего начинать внедрение ИИ в отдел маркетинга, начинайте со стыков. Их легко проверить, и поломка в них видна сразу.

Облако или свой сервер

Облако n8n берёт деньги за запуски (executions), и по странице тарифов запуск один на весь прогон сценария, сколько бы в нём ни было узлов. Сводка раз в день даёт 30–31 запуск в месяц, проверка раз в 5 минут — около 8 600–8 900, в три с лишним раза больше лимита Starter.

ВариантЦена на 26.09.2026ЛимитыКто следит за серверомГде данные
Community Edition0 $ за n8n, сервер и API моделей отдельнонет совместного доступа, Git, окружений, внешних хранилищ секретоввываш сервер
Cloud Starter$20 в месяц, если платить за годлимит 2 500 запусков, до 5 одновременно, история 7 днейn8nЕС, Франкфурт
Cloud Pro$50 в месяц, если платить за годлимит 10 000 запусков, до 20 одновременно, история 30 днейn8nЕС, Франкфурт
Business$800 в месяц, если платить за годлимит 40 000 запусков, SSO, Git, только свой сервервываш сервер

Цены взяты со страницы тарифов n8n, годовая оплата там дешевле помесячной на 17%. Помесячную цену и валюту сверяйте в день покупки. К подписке добавьте API моделей и часы человека на поддержку, полную стоимость я разбирал в заметке сколько стоит внедрить ИИ.

Community Edition бесплатна и, по формулировке документации, содержит «почти полный набор функций» (что в неё входит). Команде больнее всего без совместного доступа: сценарии и доступы видят только владелец экземпляра и их создатель. Бесплатная регистрация по почте открывает папки и Debug in editor. Её разумно сделать в первый же день.

Для проб n8n ставят локально на ноутбук, для работы поднимают n8n self hosted в Docker. Облако держит данные во Франкфурте. Пойдут через сценарий телефоны и почты клиентов российской компании — сначала покажите схему юристам. На своём сервере этого вопроса нет, зато обновления, бэкапы, ключ шифрования и присмотр за тем, срабатывают ли расписания, становятся вашей заботой.

Лицензия и почему n8n не называет себя open source

Русскоязычные обзоры почти хором называют n8n open source, сам проект так не говорит. Он выпускается как fair-code под Sustainable Use License и в разделе о лицензии объясняет почему: по определению OSI открытая лицензия не может ограничивать использование. Sustainable Use License его ограничивает. До 17 марта 2022 года проект жил на Apache 2.0 с Commons Clause.

Компании, которая автоматизирует свой маркетинг, это почти не мешает: для внутренних задач n8n бесплатен. У агентств картина другая. По FAQ к лицензии можно собирать сценарии клиентам на своём экземпляре, если клиенты их не создают и не правят, и брать деньги за настройку, поддержку, обучение и консалтинг. Открыть клиентам свой n8n как сервис для сборки процессов нельзя, перепродавать под своим брендом тоже.

Когда n8n, а когда код

В стеке Marketing OS n8n стоит рядом с Next.js, Supabase и моделями OpenAI и отвечает за автоматизации. Задачи между ним и кодом я делю по свойствам процесса, сложность тут на втором месте: простой расчёт, от которого зависит бюджет, я всё равно пишу кодом.

Свойство процессаКуда отношу
Связать 2–5 сервисов по схеме «событие → действие»n8n
Сценарий должен понимать маркетолог, который его не собиралn8n
Пропуск одного запуска неприятен, но терпимn8n
По числу решают, куда пойдут деньги или какую кампанию остановитькод или SQL
Тысячи строк и постраничная выборкакод
Логику нужно покрывать тестамикод
Запуск критичен по временисистемный cron на сервере

Метрики для решений я пишу кодом через Claude Code: там их проверяют тесты и встречный счёт.

Автоматизация n8n на примерах

Все компании в сценариях ниже выдуманные, результатов я им не приписываю. ИИ-узел есть в каждом из шести, но цифры ни в одном модели не доверены.

1. Упоминания в СМИ → сводка в Telegram

Сеть клиник хочет по утрам видеть в Telegram, где её упомянули СМИ и городские порталы, без одноимённых клиник из других городов. Когда понадобится отчёт для руководства, это уже задача уровня радара рынка.

ШагЧто внутри
ВходRSS-ленты СМИ и отраслевых сайтов, поисковая выдача через API
УзлыSchedule Trigger или RSS Feed Read Trigger → HTTP Request → Remove Duplicates → Text Classifier → Aggregate → Telegram
Где модельрешает, про эту ли клинику материал, и пересказывает его в две строки
Где правилобелый список источников, стоп-слова, отсев повторов, счёт упоминаний за день
Что проверитьрежим Remove Duplicates, ветку Other у Text Classifier, пробу промта на 3–5 записях

Remove Duplicates переключите в режим, который помнит записи из прошлых запусков (по умолчанию 10 000 значений, описание узла), иначе статья будет приходить в сводку каждое утро, пока висит в ленте. Вторая ловушка тише. Если модель не нашла подходящей категории, Text Classifier по умолчанию выбрасывает запись (Discard Item, документация). Спорные упоминания, обычно самые интересные, пропадают без следа, поэтому включите ветку Other и отправляйте её человеку.

Перед тем как разметить новым промтом несколько сотен публикаций, мы прогнали его на четырёх живых постах и прочитали ответы глазами. Дефектов нашлось два. Модель вопреки прямому запрету притянула нужную тему к посту про аренду квартир. А у половины источников в базе не было текста, только анонс на 130–300 знаков. Массовый прогон заполнил бы поле догадками по заголовкам, и в сводке это смотрелось бы вполне прилично.

2. Заявки с форм → CRM с разбором модели

B2B-сервис для бухгалтеров получает заявки с лендингов. В поле «Комментарий» пишут что угодно: «у нас два юрлица, отчётность горит, перезвоните после обеда». Разложить такую фразу на размер клиента, задачу и срочность может модель, если заранее описать ей поля.

ШагЧто внутри
ВходWebhook формы на сайте с авторизацией по заголовку
УзлыWebhook → Edit Fields (телефон к одному формату, UTM по полям) → IF (обязательные поля) → поиск дубля в CRM → Information Extractor → HTTP Request в CRM → Telegram менеджеру
Где модельInformation Extractor достаёт из комментария эти три поля
Где правилоисточник и UTM, формат телефона, дубли, маршрут: «срочно» плюс крупный клиент уходит старшему менеджеру
Что проверитьадрес вебхука (тестовый или боевой) и куда уходят персональные данные

Если спросить модель до проверки формы, платный вызов уйдёт на пустую строку, а менеджер получит аккуратный пересказ пустоты. Так что порядок узлов тут важнее выбора модели: IF отсекает заявки без телефона ещё до Information Extractor, а дубль ищется до создания сделки.

Для Битрикс24 и amoCRM встроенных узлов в документации n8n нет, только HTTP Request, и кто-то в команде должен читать их документацию API. У Webhook два адреса, тестовый и боевой: после проверки переключите форму на боевой.

3. Ежедневный отчёт по рекламе

Интернет-магазин электроники хочет к 9 утра видеть в Telegram расход, CPA и кампании, ушедшие от своего среднего за 7 дней. Яндекс Директ, VK Реклама и Яндекс Метрика подключаются через HTTP Request: встроенных узлов для них нет, зато он умеет постраничную выборку (Pagination).

ШагЧто внутри
ВходAPI рекламных кабинетов и отчётов Яндекс Метрики
УзлыSchedule Trigger → HTTP Request с Pagination → Code → Basic LLM Chain → Telegram или почта
Где модельтри предложения о том, что изменилось, строго по уже посчитанным числам
Где правилоформулы в Code или SQL: расход, CPA, отклонение от среднего за 7 дней
Что проверитьчасовой пояс, полноту выборки, число строк на границе лимита, совпадение итогов с кабинетом

Правило «числа считает код» выросло из моей ошибки. Была у нас метрика, которую «оценивала» модель. Смотрелась она красиво, только от прогона к прогону плыла, всё время завышалась и в итоге оказалась фейком. С тех пор цифру, по которой кто-то примет решение, считает формула, а модель получает готовую таблицу и объясняет её словами. Подробнее о таком разделении труда в заметке про нейросети в аналитике.

С полнотой выборки мы тоже попались. База через API отдавала нам не больше 1000 строк на запрос, даже когда мы просили 10 000, и дашборды упирались в подозрительно круглые 1000 публикаций. Ошибок не было. Хвост данных просто не доезжал. Лечится постраничной выборкой и счётом на стороне базы, а число строк ровно на границе лимита должно поднимать флаг.

Сверке с интерфейсом я тоже больше не верю на слово. Числа в одном нашем отчёте сошлись встречным счётом, а источником был агрегат поставщика данных, который сам расходился со вторым представлением тех же данных в 17 раз. Теперь по каждому источнику я спрашиваю, что подтверждает сверка и полны ли данные. Цели до автоматизации тоже стоит проверить, для этого есть аудит целей Яндекс Метрики.

ИИ-агенты и автоматизация с n8n для текстов, метрик и отзывов

Следующие три сценария ближе к тому, что называют ИИ-агентом для маркетинга: модели в них достаётся больше работы с текстом. Кроме AI Agent, в n8n для этого есть Basic LLM Chain, Text Classifier, Sentiment Analysis и Guardrails. Последний ставят перед моделью, чтобы проверить входящий текст, или после неё, чтобы проверить ответ.

4. Черновики постов и писем из брифа с проверкой человеком

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

ШагЧто внутри
Входбриф в форме или строке таблицы: продукт, аудитория, оффер, канал, запреты
УзлыForm Trigger → AI Agent или Basic LLM Chain → Guardrails → Code → Telegram (Send and Wait for Response) → рассылка или возврат автору
Где модельдва-три варианта черновика под канал
Где правилолимит символов канала, стоп-слова и запрещённые обещания, ссылка с UTM, одобрение человеком до отправки
Что проверитьнет ли у агента инструмента «отправить» без одобрения, как письмо выглядит в почтовом клиенте

AI Agent получает чат-модель и хотя бы один инструмент и сам выбирает, какой вызвать. Для одного черновика по шаблону хватит Basic LLM Chain. Если у агента есть инструмент отправки, включите на нём одобрение человеком: сценарий встанет на паузу и пришлёт запрос в Slack, Telegram или чат n8n. В простой схеме хватает операции Send and Wait for Response у узла Telegram, там есть кнопки «одобрить» и «отклонить».

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

5. Алерты об аномалиях в Яндекс Метрике

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

Цепочка тут короткая: Schedule Trigger раз в час или раз в день → HTTP Request к API отчётов Яндекс Метрики → Code → IF → Basic LLM Chain → Telegram. Code сверяет значение с таким же днём недели на четырёх предыдущих неделях и держит порог отклонения. Если IF пропустил отклонение дальше, модель дописывает к алерту список гипотез: сломался счётчик, остановилась кампания, праздник, сбой выгрузки. До запуска проверьте часовой пояс сценария и алерт на пустой ответ.

Рано или поздно API ничего не вернёт, Code насчитает ноль отклонений, и в чат уйдёт «всё спокойно». Поэтому «данных нет» у меня отдельный алерт, а за источником следит сторож свежести. Порог первые две недели не трогайте, сначала посчитайте, сколько раз сценарий сработал зря.

6. Разметка отзывов по темам

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

ШагЧто внутри
Входвыгрузка отзывов: API площадки, Google Sheets или CSV
УзлыSchedule Trigger → HTTP Request или Google Sheets → Loop Over Items пачками → Text Classifier с веткой Other → Sentiment Analysis → запись в таблицу → Code или SQL → сводка
Что проверитьпробу на 3–5 отзывах, долю Other, повторяемость разметки на одном наборе

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

Шесть сценариев в одной таблице

СценарийЧастотаМодельПравило или кодГлавный риск
Упоминания в СМИраз в день или по RSSпро нас или нет, пересказповторы, белый список, счёт упоминанийпропажа спорных записей
Заявки с формна каждую заявкуполя из комментариятелефон, UTM, дубли, маршрутдубль сделки
Отчёт по рекламераз в денькомментарий к числамрасход, CPA, отклонениянеполная выборка
Черновики текстовпо брифудва-три черновикалимит канала, запреты, UTM, одобрениетекст ушёл без человека
Аномалии в Метрикераз в час или в деньгипотезы причинпорог, сравнение с четырьмя неделямипустой ответ принят за норму
Разметка отзывовраз в неделютема и тонсписок тем, доли, динамикадрейф тем между прогонами

Экономию я считаю грубо: запуски за месяц умножаю на минуты, которые человек тратил на то же самое руками. Для окупаемости эти минуты переводятся в часы сотрудника и ставятся против сервера и счёта за API. У n8n в настройках сценария даже есть поле Estimated time saved, туда пишут минуты на запуск (настройки сценария). Цифру туда я ставлю по замеру до запуска. Иначе экономия на бумаге выйдет такой же красивой, как та метрика от модели.

Что ломается после запуска

Расписание, которое молча перестало работать

Моя главная история с n8n обошлась без единой ошибки в логах. После перезапуска контейнера n8n снял расписания со всех сценариев и не поставил их обратно. Контейнер числился здоровым, в логах было пусто, данные просто перестали обновляться. Узнали мы через несколько дней от собственного сторожа свежести данных. Критичные запуски после этого переехали в системный cron на сервере, а в n8n остались сценарии, где пропуск не страшен.

Похожие симптомы описывают и другие. Пока я писал эту заметку, в трекере n8n висел открытым issue #36859 от 22 августа: сценарий активен, вручную запускается, автоматических запусков ноль (Docker и SQLite). В #39444 от 24 сентября наоборот: выключенный сценарий продолжает запускаться, суточное расписание сработало дважды с разницей 14 секунд. Тот ли это баг, что был у меня, по описаниям не понять. Похожие закрытые обращения в трекере тоже есть, например #30220 и #35025.

Ещё две ловушки описаны в документации. На своём сервере часовой пояс по умолчанию America/New_York, и отчёт «на 9 утра» придёт в 16:00 по Москве, а зимой в 17:00, пока вы не поменяете GENERIC_TIMEZONE или пояс в настройках сценария (Schedule Trigger). Новый интервал заработает только после повторной публикации, отсчёт пойдёт от неё, а запуск «30-го числа» в феврале не случится (частые проблемы узла).

Такие поломки ошибок не дают, ловить приходится отсутствие результата. Сторожу свежести для этого хватает двух вещей про каждый источник: когда тот последний раз успешно обновился и какая для него норма (для ежедневной выгрузки, например, 26 часов). Раз в час проверка сравнивает одно с другим и пишет в Telegram, если данные старше порога. Ставьте её вне n8n или хотя бы в отдельный сценарий, иначе сторож в том же контейнере упадёт вместе с подопечными.

Бюджет на API моделей

Вторая дыра нашлась в деньгах: разовые скрипты тратили их на платные API мимо всякого учёта. Теперь на все процессы разом стоит один жёсткий месячный лимит в рублях. Сумма под вызов резервируется заранее, на 80% и на 100% в Telegram падает алерт, а когда лимит кончился, платные вызовы просто перестают уходить. Сколько там рублей, не скажу, у каждой команды своя цифра.

В n8n такой функции нет, это моя схема: отдельный подсценарий-«касса». Перед каждым узлом с моделью основной сценарий вызывает кассу, та сверяет остаток с лимитом, резервирует оценку стоимости и отвечает «можно» или «стоп». На «стоп» сценарий падает через Stop And Error, и падение ловит общий Error Workflow.

Ретраи, секреты, логи, версии

У каждого узла есть Retry On Fail и поле On Error: остановить сценарий, продолжить или увести ошибку в отдельный выход (работа с узлами). Повтор полезен при чтении и опасен при отправке: узел, который шлёт письмо или создаёт сделку, после сетевого сбоя выполнится второй раз. Перед такими шагами я ставлю проверку «уже отправляли?» по идентификатору заявки или сделки. Двойной запуск из #39444 бьёт туда же.

Общий Error Workflow с узлом Error Trigger запускается, когда падает любой привязанный к нему сценарий (обработка ошибок). Кнопкой его не проверить, он срабатывает только на автоматических запусках, поэтому я роняю по расписанию тестовый сценарий с узлом Stop And Error.

Ключи API живут только в Credentials. Доступы n8n шифрует ключом, который создаёт при первом запуске в папке ~/.n8n. На своём сервере задайте его явно через N8N_ENCRYPTION_KEY, в режиме очереди всем воркерам (настройка ключа), и храните копию отдельно от бэкапа базы. Потеряете ключ при переезде — все сохранённые доступы придётся заводить заново. Внешние хранилища секретов есть только в Business и Enterprise.

По умолчанию n8n удаляет запуски старше 336 часов (14 дней) или сверх 10 000, а на SQLite место на диске само не освобождается (хранение запусков). В облачном Starter история живёт 7 дней. Если через месяц придётся отвечать, кому и что отправил сценарий, ведите свой журнал в таблице или базе.

Релизы выходят почти каждый день: 2.40.6 появился 24.09.2026, 2.40.7 на следующий день, параллельно обновляется ветка 1.x (релизы). В Docker я указываю конкретную версию образа вместо latest и обновляюсь после бэкапа и чтения заметок к релизу. Привычка скучная, зато сценарии ломаются в день, который я выбрал сам.

Каждую такую граблю мы записываем в проектную память Claude Code правилом в три строки: симптом, причина, что делать. Агент читает их в начале работы.

Чек-лист перед запуском

  1. В сценарии с Schedule Trigger выставлен ваш часовой пояс.
  2. Сценарий опубликован, первый автоматический запуск прошёл и виден в истории.
  3. Критичное расписание продублировано в системном cron, сторож свежести знает этот источник.
  4. Узлы с моделью стоят за «кассой» бюджета.
  5. У Text Classifier включена ветка Other.
  6. Назначен Error Workflow, и алерт из него вы хотя бы раз получили.
  7. Шаги, которые шлют письма или создают сделки, защищены от повтора.
  8. Ключи лежат в Credentials, ключ шифрования сохранён отдельно от базы.
  9. Версия n8n зафиксирована в образе.
  10. Промт прогнан на 3–5 живых записях, ответы прочитаны глазами.
  11. Итоговое письмо, сводку или отчёт вы видели глазами.

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

Вопросы

Вопросы и ответы

n8n бесплатный?

Community Edition на своём сервере бесплатна для внутренних задач компании по Sustainable Use License. Платить придётся за сервер и API моделей, плюс время человека, который всё это обслуживает. Облако n8n стоит от $20 в месяц при оплате за год, это 2 500 запусков по странице тарифов на 26.09.2026.

Чем n8n отличается от Make и Zapier?

n8n можно поставить на свой сервер, а облако берёт деньги за полные запуски сценария, шаги внутри не тарифицируются. На мой взгляд, у Zapier больше готовых интеграций, а в n8n проще вставить свой код и ветвления. Для российского стека разница меньше: Метрику, Директ и CRM всё равно подключают через API.

Можно ли собрать в n8n ИИ-агента для маркетинга?

Да, узел AI Agent работает с чат-моделью и хотя бы одним инструментом. Если среди инструментов есть отправка письма или правка CRM, поставьте на них одобрение человеком. Метрики и решение, есть ли аномалия, я оставляю коду.

Нужен ли программист, чтобы работать с n8n?

Нет, если первые сценарии автоматизации в n8n собраны из встроенных узлов. Для Яндекс Метрики, Яндекс Директа, Битрикс24 и amoCRM встроенных узлов в документации n8n нет, поэтому нужен человек, который читает документацию API и понимает JSON. Для своего сервера нужен ещё тот, кто отвечает за обновления и бэкапы.

Облако n8n или свой сервер для российской компании?

Облако n8n хранит данные в ЕС, на серверах во Франкфурте. Если через сценарии идут персональные данные клиентов, это вопрос к юристам. Свой сервер этот вопрос снимает, зато обслуживать его придётся своими силами.

Консультация

Разберём вашу задачу

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

Дмитрий Щеголяев с микрофоном на Мобильном Форуме