n8n: как устроена платформа и как собрать первую автоматизацию

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

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

Что такое n8n и кому подходит

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

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

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

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

Как устроен workflow в n8n

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

ПонятиеЗначениеПример
WorkflowСценарий из связанных узловПроверка входящей записи и выбор ветки
NodeУзел с действием или логикойИзменить поля, сравнить значение, обратиться к API
TriggerУсловие начала выполненияРучной запуск, расписание или входящее событие
ItemОтдельный элемент данных в потокеОдна заявка с её полями
ExpressionВычисляемое значение вместо постоянногоВзять статус из текущего элемента
ExecutionКонкретное выполнение сценарияЗапуск с выбранной записью и его результаты
CredentialsНастройки доступа к подключаемому сервисуРазрешённое подключение к отдельной учебной системе

После каждого узла смотрите вход и выход: какие поля пришли и что передаётся дальше. Соединение на холсте не помешает отправить строку вместо числа или потерять идентификатор заявки.

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

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

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

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

ВопросОблачный вариантСамостоятельное размещение
Кто поддерживает среду?Значительная часть инфраструктуры у провайдераКоманда или выбранный администратор
Что учитывать в расходах?Тариф, ограничения и подключаемые сервисыСервер, сопровождение, резервирование и внешние API
Где проходят данные?Через облачную среду и выбранные интеграцииЧерез вашу среду и все подключённые внешние сервисы
Что проверить до выбора?Доступность, условия, лимиты и функции планаТребования эксплуатации, лицензии и компетенции поддержки

Исходный код n8n доступен, но модель лицензирования имеет ограничения. В официальной документации описаны Sustainable Use License и Enterprise License на основе fair-code. Поэтому называть платформу безусловно свободной для любого коммерческого использования некорректно.

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

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

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

Первый сценарий без внешних аккаунтов

Соберём проверку учебной заявки: ручной запуск, исходные данные, очистка значений и условие. Подходящая запись получит пометку «К обработке», остальные «На разбор». Подключать почту и CRM не потребуется: результат будет виден в редакторе n8n.

Создайте запись и соедините узлы

Создайте пустой workflow и добавьте Manual Trigger. Следом поставьте Edit Fields, который также называют Set. Соедините выход триггера со входом Edit Fields. В настройке Mode выберите Manual Mapping и через Add Field добавьте поля из таблицы, у каждого тип String, то есть строка.

Name: имя поляValue: исходное значениеЧто оно означает
request_iddemo-1Идентификатор учебной заявки
subjectПроверить черновикОбязательная тема заявки
status New Введите один пробел до и после New

Для исходных значений используйте Fixed, постоянное значение. Запустите цепочку кнопкой Execute под холстом; в некоторых версиях она называется Execute Workflow. Откройте Edit Fields и посмотрите OUTPUT: там должны быть идентификатор, тема и исходный статус одной записи.

Очистите значения перед проверкой

После первого Edit Fields добавьте второй и соедините их. Задайте те же имена полей, но в Value переключитесь на Expression, вычисляемое значение. Выражения ниже убирают пробелы по краям; для статуса также меняют буквы на строчные.

ПолеВыражение в ValueОжидаемое значение
request_id{{ String($json.request_id ?? '').trim() }}demo-1
subject{{ String($json.subject ?? '').trim() }}Проверить черновик
status{{ String($json.status ?? '').trim().toLowerCase() }}new

$json обозначает данные текущей записи. Часть ?? '' подставляет пустую строку, если поля нет или оно равно null, специальному значению «нет данных». После нового запуска откройте OUTPUT второго узла: пробелы в статусе должны исчезнуть, значение станет new.

Это упражнение для текстовых полей. Преобразование через String не проверяет, что пришёл именно текст: оно превращает в строку и число, и объект. В рабочем сценарии допустимые типы проверяют до такой очистки, если от них зависит правильность записи.

Настройте условие и две ветки

Добавьте If после узла очистки. Через Add condition задайте три условия типа String из таблицы. Между ними выберите AND: запись проходит, только когда выполнены все условия. Здесь мы принимаем новые заявки с заполненными идентификатором и темой.

Значение слева: ExpressionСравнениеЗначение справа: Fixed
{{ $json.request_id }}is not emptyНе требуется
{{ $json.subject }}is not emptyНе требуется
{{ $json.status }}is equal tonew

К выходу true подключите Edit Fields с полем route и значением «К обработке». К false подключите такой же узел со значением «На разбор». Сохраните исходные поля: в Include in Output выберите All Input Fields. Если вместо этого есть опция Keep Only Set Fields, выключите её.

Запустите весь workflow заново. Откройте узел на сработавшей ветке и проверьте OUTPUT: у записи должны сохраниться тема, идентификатор, очищенный статус и поле route. Если ничего не появилось, сначала проверьте соединения и результат узла перед If.

Изменение в исходной записиОжидаемый путьЧто проверяем
Статус New , остальные поля заполненыtrue, «К обработке»Очистка пробелов и регистра
Тема состоит из пробеловfalse, «На разбор»Проверка после очистки
Удалено поле subjectfalse, «На разбор»Отсутствующее поле становится пустой строкой
Статус donefalse, «На разбор»Запись не соответствует условию новой заявки

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

Как передавать и преобразовывать данные

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

Форма передаёт full_name, а CRM ожидает name. В Edit Fields создайте поле name и возьмите значение из full_name. Если имя обязательно, сначала проверьте его после удаления пробелов. Пустую запись направьте на разбор, а не дополняйте вымышленным именем.

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

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

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

Как подключать приложения и API

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

Credentials, учётные данные подключения, храните в предназначенной для них настройке n8n. Используйте отдельный учебный доступ с нужными правами. Токен или пароль не стоит записывать в название узла: он может попасть в скриншот или экспорт схемы.

В документации API найдите способ доступа, обязательные поля, ограничения частоты и формат ошибок. Успешный HTTP-ответ сообщает об обмене, но результат самой операции может находиться внутри ответа. Например, сервис принял запрос, а создание записи ещё продолжается: проверьте её конечный статус.

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

Для входящего webhook продумайте, кто может его вызвать и как проверяется источник. Случайно сложный адрес не заменяет подходящую защиту. Не публикуйте рабочую точку входа и не пересылайте реальные примеры с секретами ради удобства учебного материала.

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

Примеры автоматизаций для работы

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

Задача и входОжидаемый выходОшибка или повтор
Заявка: ID lead-demo, услуга «Диагностика», город NЧерновик CRM с тем же ID и нужным направлениемНет услуги: на разбор. Такой ID уже есть: проверить существующую запись перед созданием
Отчёт: дата и данные обращений по каналамСводка за согласованный период с отметкой времени загрузкиОдин источник недоступен: отметить неполноту, а не показать пропуск как ноль
Напоминание: ID задачи, срок и ответственныйСписок просроченных задач для ответственногоПовтор запуска не создаёт второе одинаковое напоминание по принятому правилу
Текст обращения из разрешённого источникаПредложенная категория и черновик ответаНе хватает сведений: ручной разбор вместо уверенного выбора отдела
Две версии справочника с идентификаторамиСписок добавленных и изменённых записейНе совпали ID: показать расхождение до перезаписи данных

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

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

Как обрабатывать ошибки и повторы

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

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

СитуацияРазумная обработкаОпасное упрощение
Недопустимые данныеСохранить причину и отправить на разборБесконечно повторять тот же запрос
Временная недоступностьОграниченный повтор по правилам сервисаПовторять без ограничений и учёта частоты
Неясен результат записиПроверить факт действия по стабильному идентификаторуСразу создать новую запись
Истёк доступСообщить владельцу и восстановить разрешённое подключениеРасширить права всем участникам
Повторное событиеОпределить, обработано ли оно ранееСчитать каждый вход новым бизнес-действием

В n8n можно настроить error workflow, отдельную цепочку для сообщения об ошибке. Она начинается с Error Trigger. Передайте ответственному название сценария, шаг сбоя и идентификатор записи, чтобы он нашёл нужное выполнение. Уже выполненные внешние действия такая цепочка не отменяет.

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

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

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

Что меняется при добавлении ИИ

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

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

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

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

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

Как безопасно поддерживать автоматизацию

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

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

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

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

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

Что требуют в вакансиях с n8n

На HireHi n8n упоминают 166 открытых вакансий на русском. Больше всего их в разработке: 66, или 40%. Дальше идут маркетинг (32), управление проектами и продуктом (22), DevOps и администрирование (21), аналитика (15). Самая частая роль: AI-инженер, 37 вакансий.

Отдельной профессии «специалист по n8n» рынок почти не знает. Работодатели перечисляют n8n рядом с API, моделями ИИ и языком программирования, а Make часто указывают как равноценную замену. В таблице доля вакансий, где навык назван в тексте.

Что упоминают рядом с n8nВакансийДоля
Модели ИИ: LLM, GPT, Claude, нейросети11871%
API и REST11368%
Python9356%
ИИ-агенты7344%
SQL и базы данных6740%
Make6640%
CRM, из них amoCRM и Битрикс24 в 37 вакансиях6539%
RAG, поиск по базе знаний4527%
Git4326%
JavaScript или TypeScript4125%
Docker4024%
Английский3320%
Вебхуки3219%
Zapier1811%

По грейдам больше всего middle: 76 вакансий, 46%. Senior 58 (35%), lead и head 18 (11%), junior и стажёров 14 (8%). Удалённых вакансий 90, это 54%; остальные в офисе или гибриде, чаще всего в Москве. Стаж в годах назван в 64 вакансиях, чаще всего от 3 лет.

Навык n8n встречается в разных ролях: интеграции, операции, аналитика и маркетинг. Это инструмент, а не единая профессия с одинаковыми обязанностями. На HireHi для поиска по навыку введите +n8n. Сопоставляйте кейс с требованиями вакансий с навыком n8n и объясняйте, какую задачу решает ваш сценарий.

Поиск навыка +n8n в вакансиях на HireHi
Поиск по навыку +n8n по всем категориям. Категория, грейд и формат работы в фильтрах справа сужают выдачу.

Даже в junior-вакансии n8n может стоять только в блоке «будет плюсом». В примере ниже основное требование составляют REST API, вебхуки, JSON, секреты вне кода и минимальные права. В плюсах названы обработка ошибок, повторы и человек в контуре: те же темы, что разобраны выше.

Требования junior-вакансии AI-инженера с n8n на HireHi
Junior-вакансия AI-инженера: n8n в плюсах, а в требованиях API, вебхуки, безопасная работа с доступами и проверка результатов.

Как показать n8n в портфолио

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

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

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

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

часто задаваемые вопросы

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

Простую цепочку можно собрать из готовых узлов. Выражения помогают преобразовывать поля, а код нужен для задач, которым не хватает готовых действий. Для интеграций полезнее сначала понять формат данных и ошибки API, чем учить всё программирование заранее. В вакансиях с n8n Python называют в 56% случаев, JavaScript или TypeScript в 25%.

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

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

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

Итог

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

Опишите автоматизацию через решённую задачу

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

Проверить резюме