n8n: что это и как автоматизировать бизнес без кода

Опубликовано 23 августа 2026 г. · 20 мин чтения

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

Название читается как «нодемейшн» и устроено как ребус: буква n, восемь букв внутри, снова n. Проект запустил Ян Оберхауэр в Берлине в 2019 году, и с тех пор исходный код лежит в открытом доступе - любой желающий скачивает его и ставит на свой сервер. Лицензия называется Sustainable Use: она разрешает пользоваться инструментом внутри собственной компании и закрывает возможность перепродавать n8n дальше под видом своего сервиса.

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

Что такое нода в n8n?

Нода (node) - один блок на холсте, который выполняет одно действие: забирает данные, преобразует их или отправляет дальше. Ноду выбираешь из списка встроенных интеграций - Gmail, Telegram, Google Sheets, Notion, Postgres, Airtable, Slack, OpenAI, - настраиваешь её обычными полями-формами и соединяешь стрелкой с соседней. Список интеграций большой, но конечный. Когда нужного сервиса там не оказалось, выручает нода HTTP Request: она умеет постучаться на любой адрес, у которого есть API и страница документации, поэтому подключить получится почти что угодно, вплоть до внутренней самописной системы или российской CRM без готового коннектора.

По роли ноды делятся на три группы.

  • Триггеры запускают сценарий. Триггер всегда стоит первым блоком слева. Варианты: «пришло новое письмо», «появилась строка в таблице», «наступило 9:00», «на адрес пришёл запрос снаружи», «оператор нажал кнопку Execute вручную».
  • Действия делают полезную работу: отправляют сообщение, создают карточку сделки, пишут в базу, ходят в нейросеть за текстом, выгружают файл.
  • Служебные ноды не связаны ни с каким внешним сервисом и занимаются данными внутри сценария. IF пропускает поток по одной из двух веток в зависимости от условия. Switch делает то же самое, но с несколькими вариантами. Set (в свежих версиях Edit Fields) переименовывает и чистит поля. Merge склеивает две ветки обратно в одну. Wait ставит паузу, например на сутки перед повторным письмом. Split In Batches режет большой список на порции, чтобы не упереться в лимиты чужого API.

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

Что такое вебхук и зачем он нужен?

Вебхук (webhook) - адрес-ссылка, которую n8n выдаёт конкретному сценарию, чтобы посторонние сервисы могли что-то в него прислать. Возьмём форму на сайте. Ставишь ноду-триггер Webhook, она отдаёт уникальный адрес вида https://твой-n8n/webhook/zayavka, ты вставляешь этот адрес в настройки формы. Теперь при каждом нажатии кнопки «Отправить» форма сама передаёт данные заявки внутрь сценария, и запуск происходит в ту же секунду.

У вебхука в n8n два адреса: тестовый и рабочий. Тестовый живёт, пока ты держишь открытым редактор и нажал Listen for test event, ловит одно событие и замолкает. Рабочий начинает отвечать только после того, как сценарий переключён тумблером Active. Половина вопросов новичков про молчащий вебхук упирается ровно сюда.

Альтернативный способ ловить события - опрос, polling: n8n по расписанию сам ходит и проверяет почтовый ящик или таблицу. Работает как охранник, который каждую минуту обходит пустой склад: 1440 обходов в сутки, и почти все впустую. В облачном тарифе любой такой обход засчитывается как запуск сценария, поэтому расписание «каждую минуту» съедает лимит за пару недель тишины. Вебхук за те же сутки сработает ровно столько раз, сколько реально было заявок.

Отдельная тема - безопасность. Адрес вебхука по умолчанию знает только тот, кому ты его дал, но угадываемый путь вроде /webhook/form рано или поздно найдут переборщики. n8n умеет требовать заголовок с ключом или базовую авторизацию, и на форме, куда прилетают телефоны клиентов, это стоит включить сразу.

Что такое связка и как ноды передают данные?

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

Выглядит это так: в ноде «Отправить в Telegram» в поле «текст сообщения» вместо ручного набора ты вставляешь значение из предыдущего блока - {{ $json.name }} оставил заявку на {{ $json.amount }} руб. Двойные фигурные скобки означают ссылку на данные, пришедшие раньше по цепочке, а $json указывает на текущий элемент. Тянуть поля можно и мышкой: слева в редакторе есть панель с результатом предыдущей ноды, оттуда поле перетаскивается прямо в форму, и выражение подставляется само.

Данные внутри n8n ходят массивом элементов, и это важнее, чем кажется на старте. Когда нода отдала на выход десять строк из таблицы, следующая нода отработает десять раз - по разу на каждую строку. Отсюда классическая ситуация: человек хотел одно письмо со списком, а получил десять писем по одной позиции в каждом. Лечится нодой, которая собирает элементы в один (Aggregate или Code с ручной сборкой массива).

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

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

Как выглядит простой сценарий?

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

[ Webhook ]  -->  [ Google Sheets ]  -->  [ Telegram ]
  триггер:          действие:               действие:
  пришла            добавить строку         прислать тебе
  заявка            с данными заявки         сообщение
  1. Webhook ловит заявку с формы. На выходе отдаёт поля: имя, телефон, что человек хочет.
  2. Google Sheets берёт эти поля через выражения {{ $json.name }}, {{ $json.phone }} и дописывает новую строку в таблицу лидов.
  3. Telegram берёт те же поля и шлёт тебе в личку: «Новая заявка: Иван, +7…, интересует продакшн».

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

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

Как собирается сценарий посложнее: три источника заявок в одну таблицу

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

Сборка выглядит так. Три триггера, каждый в своём углу холста: Webhook на форму, Telegram Trigger на бота, Gmail Trigger на почту с фильтром по адресу. Каждый триггер отдаёт данные в своём формате: форма присылает поля name и phone, бот - message.from.first_name и текст сообщения, почта - тему, отправителя и тело письма. После каждого триггера ставится своя нода Set, которая приводит всё к четырём общим полям: name, contact, text, source. В source вписывается откуда пришло, чтобы потом было видно, какой канал реально приносит обращения.

Дальше три ветки сходятся в ноду Merge в режиме Append, и с этого места поток единый. Идёт нода Code, которая чистит телефон: выкидывает пробелы, скобки и дефисы, приводит восьмёрку к семёрке. Следом Google Sheets в режиме поиска проверяет, есть ли такой номер в таблице за последние дни. Нода IF разводит результат: новый контакт уходит на запись строки и уведомление в общий чат отдела, повторный - на отдельное сообщение «этот человек уже писал вчера, карточка такая-то».

Что здесь ломается на практике. Telegram Trigger отдаёт пустой first_name, когда у человека в профиле только username, и строка в таблице приезжает безымянной - лечится выражением с запасным вариантом. Gmail Trigger при первом включении может выгрести весь ящик разом и наплодить сотню строк - спасает фильтр по дате и ограничение на количество писем за запуск. Поиск по таблице в Google Sheets упирается в лимиты API, когда обращений много, и на потоке базу стоит переносить в Postgres или Airtable.

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

Когда нужна нода Code и что в ней пишут?

Нода Code - место, где заканчивается мышка и начинается JavaScript (в свежих версиях доступен и Python). Тянуться к ней приходится редко, зато в предсказуемых ситуациях: нормализовать телефон или дату, разобрать строку по разделителю, посчитать сумму по массиву позиций, собрать из десяти элементов одно сообщение, вытащить значение из вложенного ответа чужого API, где данные лежат на четвёртом уровне.

Внутри ноды доступен массив items, каждый элемент - объект с полем json. Простейший код на нормализацию номера занимает четыре строки: взять item.json.phone, прогнать через регулярное выражение, положить обратно, вернуть массив. Писать это с нуля необязательно - опиши задачу словами любой модели, попроси код именно для ноды Code в n8n и вставь результат. Проверка занимает один тестовый прогон: видно, что пришло на вход и что ушло на выход.

Граница между «собрать мышкой» и «написать кодом» примерно такая же, как между формулой в таблице и макросом. Сравнение этих двух подходов на живых задачах разобрано в материале макросы VBA против ИИ, а полностью скриптовый путь без визуального конструктора - в разборе автоматизации рутины на Python. У n8n перед голым скриптом есть одно практическое преимущество: логика видна глазами, и через полгода в ней разберётся не только автор.

Как встроить нейросеть в сценарий n8n?

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

Дальше идёт AI Agent - нода, где модель получает не один вопрос, а инструкцию и набор инструментов. Инструментом становится любая другая нода: поиск по базе, запрос в календарь, отправка письма. Модель сама решает, к какому инструменту обратиться и в каком порядке, а сценарий превращается в исполнителя с правом выбора шага. Что это даёт бизнесу и где у подхода границы, подробно разобрано в статье ИИ-агенты для бизнеса. Сборку такого агента по шагам, с ролью, инструкцией и проверкой ответов, показывает разбор как собрать ИИ-сотрудника с нуля.

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

Есть ещё Chat Trigger - он превращает сценарий в чат-виджет с окном на сайте. Логика подключения и типовые сценарии применения описаны в разборе чат-бот для бизнеса. Модель под задачу выбирается отдельно и влияет на счёт сильнее, чем кажется: сравнение вариантов лежит в статье Claude или ChatGPT.

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

Все три соединяют приложения без кода и внешне похожи: холст, блоки, стрелки. Расхождения начинаются в двух местах.

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

Место второе - за что берут деньги. Zapier тарифицирует задачи: каждый шаг сценария считается отдельно, и цепочка из пяти действий съедает пять задач за один прогон. Make считает операции похожим образом, хотя пакеты у него крупнее и дешевле в пересчёте. Облачный n8n берёт плату за запуск сценария целиком, и внутри этого запуска может стоять хоть тридцать нод. На потоке в несколько сотен событий в день разница между «платим за шаги» и «платим за запуски» превращается в разницу в порядок величины.

Self-hosted n8n меняет саму модель расходов: вместо аренды по счётчику ты покупаешь метраж, платишь фиксированную сумму за сервер и обслуживаешь его сам. Обновления, бэкапы, мониторинг падений - твоя зона ответственности. Тем, кто не готов держать эту зону, проще начать с облачного тарифа и переехать позже, когда счёт за запуски перерастёт стоимость администрирования.

Сколько стоит запустить n8n?

Для self-hosted варианта минимальная конфигурация - VPS с 2 ГБ оперативной памяти и Docker. Десяток небольших сценариев, которые дёргаются по вебхуку несколько сотен раз в сутки, на такой машине живут спокойно. Память заканчивается быстрее всего в двух случаях: сценарий тянет за один запуск большой массив данных (выгрузка тысяч строк, обработка файлов) или работает очередь на собственной базе с несколькими параллельными обработчиками.

К стоимости сервера добавляются вещи, о которых на старте забывают. Домен и сертификат нужны, потому что вебхуки требуют https. Резервные копии базы n8n стоит настроить сразу, иначе потеря диска означает потерю всех сценариев и подключений. Обновления выходят часто, и раз в пару месяцев кто-то должен накатить свежую версию и проверить, что ничего не отвалилось. Отдельной строкой идут платные API: запросы к моделям, SMS, сервисы обогащения данных - счёт за них приходит независимо от того, где крутится сам n8n.

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

С чего начать первую автоматизацию?

Заходить в n8n с планом «автоматизируем весь бизнес» - верный способ бросить через неделю. Возьми одну задачу, которую делаешь руками каждый день и в которой понятны вход и выход. Как отобрать эту первую задачу по трудозатратам и частоте, подробно разобрано в материале с каких задач начать автоматизацию рутины.

ШагЧто делаешь
1Выбери одну рутину: заявка в таблицу, письмо в уведомление, оплата в чат
2Опиши её словами: «когда происходит X - сделай Y и Z»
3Найди триггер-ноду под X и действия-ноды под Y и Z
4Соедини их, подставь поля через {{ }}
5Нажми Test workflow и прогони на одном примере
6Проверь результат руками: строка появилась? Сообщение пришло?
7Включи Active и посмотри на журнал запусков через день реальной работы

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

Как дорабатывать сценарий и не уронить работающий?

Через месяц сценарий обрастает ветками, и правка «на живую» однажды роняет поток заявок посреди рабочего дня. Порядок, который это предотвращает, состоит из четырёх привычек.

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

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

Отключение отдельных нод. Ноду можно деактивировать, и поток пройдёт сквозь неё дальше по цепочке. Приём выручает при отладке начала сценария, когда на каждом прогоне не хочется отправлять клиенту письмо или создавать лишнюю сделку в CRM.

Выгрузка в файл. Готовый сценарий экспортируется в JSON и кладётся рядом с остальными рабочими файлами компании. Перед крупной переделкой такая выгрузка стоит десяти секунд, а возвращает к рабочему состоянию за одну операцию импорта.

Где n8n ломается и что остаётся человеку?

Список поломок довольно короткий и повторяется у всех.

  • Связки путаются, когда название поля на входе расходится с тем, что вписано в выражение. Лечится проверкой: открой панель результата предыдущей ноды и скопируй имя точь-в-точь.
  • Вебхук молчит, если сценарий остался в тестовом режиме. Тестовый адрес ловит одно событие и замолкает, рабочий слушает постоянно, но только у активированного сценария.
  • Авторизация сервисов становится первым барьером. Каждое подключение делается один раз через ключ доступа или OAuth, и это ручная работа, в которой у Google свои правила, у Telegram свои, а у российских CRM третьи.
  • Ветвящаяся логика требует времени на обкатку. Прямая цепочка собирается за вечер, схема с четырьмя условиями и слияниями обкатывается неделю.
  • Чужие лимиты бьют неожиданно. API отдаёт ошибку 429 при превышении частоты запросов, и сценарий падает на середине списка. Помогают Split In Batches, пауза между порциями и включённый retry на ноде.
  • Часовые пояса портят расписания. Сервер по умолчанию живёт по UTC, и отчёт, поставленный на 9:00, приходит сотрудникам в Москве среди ночи. Пояс задаётся в настройках экземпляра и отдельно проверяется на каждом сценарии с Schedule Trigger.

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

Человеку остаются решения, которые машина принять не может: что считать горячим лидом, каким тоном отвечать клиенту, где ошибка автоматики стоит дороже, чем ручная работа.

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

Что отвечать на частые возражения?

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

«Это игрушка, серьёзные процессы так не делают». n8n держит очереди, повторные попытки, параллельных обработчиков и работу с базой данных. Ограничение лежит в другой плоскости: сценарий на сто нод с двадцатью развилками поддерживать тяжело, и на таком объёме дешевле писать сервис. Граница проходит примерно там, где схема перестаёт помещаться на один экран.

«Данные утекут». Self-hosted версия закрывает этот вопрос по существу: сервер твой, база твоя, наружу уходят только те запросы, которые ты сам прописал в нодах. Внимания требуют ключи доступа и адреса вебхуков - их стоит хранить в разделе Credentials и защищать заголовком с секретом.

«Проще нанять человека на эту рутину». Иногда так и есть, особенно когда задача возникает пару раз в неделю и каждый раз выглядит по-новому. Автоматизация выигрывает на однотипных операциях с большой частотой и проигрывает там, где каждый случай требует суждения. Прикинуть, какие участки в маленькой компании вообще попадают в первую категорию, помогает подборка задач для ИИ-ассистента в малом бизнесе.

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

«А если проект закроется или сменит лицензию». Код открыт, сценарии экспортируются в JSON и лежат у тебя. Перенести их в другую копию n8n - вопрос импорта файла и переподключения ключей.

Коротко: что запомнить про n8n?

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

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

Источники

Частые вопросы

n8n - это бесплатно?

Self-hosted версия бесплатна: код раздают по лицензии Sustainable Use, она разрешает пользоваться внутри своего бизнеса и запрещает перепродавать n8n как сервис. Платишь только за сервер. Облако платное, тариф считает запуски сценариев.

Нужно ли уметь программировать?

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

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

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

Что автоматизировать первым делом?

Одну повторяющуюся задачу с понятным входом и выходом: заявка с сайта в CRM, новое письмо в уведомление в Telegram, строка в таблице после оплаты.

Какой сервер нужен для self-hosted n8n?

Для десятка небольших сценариев хватает VPS на 2 ГБ оперативной памяти с установленным Docker. Нагрузка растёт, когда появляются сценарии с большими объёмами данных внутри одного запуска или собственная база под очередь задач.

Что делать, если сценарий упал ночью?

Открыть журнал запусков (Executions), найти красный запуск и посмотреть, на какой ноде он остановился и с какими данными. Оттуда запуск перезапускается с того же места. Чтобы не узнавать о падениях случайно, привяжи к сценарию Error Workflow с уведомлением в мессенджер.