N8n: как пользоваться бесплатным сервисом для автоматизации рабочих процессов

Собираем с нуля и запускаем первый воркфлоу
Обсудить
N8n: как пользоваться бесплатным сервисом для автоматизации рабочих процессов
Аватар автора

Владимир Лещев

сделал скрипт

Страница автора

С помощью n8n можно связать десятки сервисов и заставить их работать по заданному сценарию.

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

Вы узнаете

Что такое n8n

N8n — это платформа для автоматизации рабочих процессов. Она позволяет связывать разные сервисы и приложения, например Google Workspace, Telegram и ChatGPT, и настраивать сценарии их взаимодействия.

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

У n8n есть два способа использования.

☁ ️ Облачная версия. N8n сама разворачивает и обслуживает платформу на своих серверах, а вы просто пользуетесь ей через браузер. Это удобно, но недешево: постоянного бесплатного тарифа тут нет, есть только двухнедельный пробный период, по истечении которого придется платить от 20 €⁣ (1 865 ₽)  ​в месяц. При этом в облачной версии есть ограничение на число запусков сценариев.

💻 Локальная версия. Вы устанавливаете n8n на собственный компьютер или сервер и полностью бесплатно пользуетесь всеми базовыми функциями. Главный плюс — нет ежемесячной платы и лимита на количество запусков сценариев. Но за установку, настройку, обновление и обслуживание локальной n8n придется отвечать самостоятельно.

Облачная версия сервиса. © n8n Cloud
Облачная версия сервиса. © n8n Cloud
Локальная версия сервиса. © n8n
Локальная версия сервиса. © n8n

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

Как работает n8n

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

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

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

Разберу основные типы узлов в n8n:

  1. Триггеры (Trigger nodes). Это узлы, которые запускают сценарий. По принципу работы их можно разделить на два типа: одни ждут входящего запроса от внешнего сервиса (Webhook, или вебхук) — так работают, например, Telegram Trigger и Form Trigger. Другие сами срабатывают через заданные промежутки времени или по расписанию — например, Email Trigger и Schedule Trigger. Если для нужного сервиса готового триггера нет, можно использовать универсальный узел Webhook: он выдает URL, на который можно отправить запрос из другого сервиса.
  2. Узлы действий (Action nodes). Они выполняют конкретные операции и взаимодействуют с другими сервисами — например, отправляют сообщения, добавляют строки в таблицы, создают записи в CRM, загружают файлы и делают запросы к API. В n8n есть готовые узлы для многих популярных сервисов: Google Sheets, Telegram, Gmail, Notion и других. Если нужного сервиса нет среди готовых интеграций, для работы с его API можно использовать универсальный узел HTTP Request.
  3. Узлы управления (Core nodes). Они помогают управлять логикой сценария и обрабатывать данные внутри него. Например, IF и Switch разделяют поток по заданным условиям, Merge объединяет данные из разных веток, Wait ставит выполнение на паузу, а Loop Over Items позволяет обрабатывать элементы по одному или небольшими группами.
  4. Узлы для ИИ (AI Nodes). Через них можно подключить ChatGPT, Claude, Gemini и другие языковые модели, а также собрать полноценного ИИ-агента — дать ему доступ к памяти и инструментам, например поиску в интернете или таблицам, а также позволить самому решать, какие действия предпринять в ответ на запрос пользователя.
  5. Узлы кода (Code nodes). Нужны для случаев, когда готовых возможностей n8n недостаточно. В нем можно писать собственный код на JavaScript или Python и использовать его для обработки данных или других операций.

Как запустить n8n локально

Для локального запуска понадобится один из двух инструментов — Node.js или Docker:

  1. Node.js позволяет запустить n8n напрямую на ПК. Это быстро, но программа использует компоненты системы и добавляет в нее свои пакеты. Из-за этого могут возникать конфликты версий с другими программами и проектами, которые тоже используют Node.js, а удалить n8n полностью потом будет непросто.
  2. Docker запускает n8n в контейнере — отдельной изолированной среде, которая почти не пересекается с остальной системой. При таком варианте n8n не влияет на другие программы, его легко удалить или обновить, он работает одинаково на любом компьютере.

Поэтому я использовал Docker. Далее расскажу пошагово, как установить n8n локально на Windows.

Шаг 1. Установите Docker Desktop с официального сайта — программа доступна для Windows, macOS и Linux. Регистрацию аккаунта при установке можно пропустить.

Так выглядит интерфейс Docker Desktop. © Docker Desktop
Так выглядит интерфейс Docker Desktop. © Docker Desktop

Шаг 2. Установите WSL (Windows Subsystem for Linux) и Ubuntu. Они позволяют использовать linux-среду внутри Windows и нужны для запуска n8n через Docker.

Ничего скачивать самостоятельно не придется. Откройте командную строку от имени администратора: для этого нажмите Win + R, напишите cmd и нажмите Ctrl + Shift + Enter. В открывшемся окне выполните команду:

wsl --install

Windows установит WSL и дистрибутив Ubuntu по умолчанию. После установки может потребоваться перезагрузка компьютера.

Процесс установки WSL
Процесс установки WSL

При первом запуске Ubuntu откроется окно терминала и попросит создать имя пользователя и пароль вашей учетной записи в linux-среде. На этом этапе Docker Desktop уже должен быть запущен. Пароль лучше запомнить или записать: в будущем он неоднократно понадобится.

Следует учитывать, что для Docker Desktop нужна версия WSL не ниже 2.1.5, проверить ее можно с помощью следующей команды в командной строке Windows:

wsl --version

Следует учитывать, что для работы WSL 2 должна быть включена аппаратная виртуализация. Проверить ее состояние можно в Диспетчере задач → Производительность → ЦП. Там должно быть указано «Виртуализация: включено». Если виртуализация отключена, ее нужно включить в BIOS или UEFI компьютера. Как это можно сделать на железе разных производителей, рассказано в руководстве Microsoft.

Убедитесь, что в Docker используется WSL 2. Для этого перейдите в Settings → Resources и найдите там вкладку WSL Integration. Активируйте опции Enable integration with my default WSL distro и Ubuntu. Теперь вы сможете запускать команды Docker непосредственно из терминала Ubuntu.

Убедитесь, что нужные опции в настройках Docker активированы. © Docker Desktop
Убедитесь, что нужные опции в настройках Docker активированы. © Docker Desktop

Если вы используете macOS, устанавливать WSL и Ubuntu не нужно: эта часть инструкции относится только к Windows. Docker Desktop на Mac сам запускает необходимую linux-среду.

Все дальнейшие шаги в инструкции совпадают. Команды одинаковы для Windows и macOS, только во втором случае их нужно выполнять в приложении «Терминал» (Cmd + пробел, затем введите «Терминал»).

Шаг 3. Откройте терминал Ubuntu и запустите n8n командой:

docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

Команда скачает официальный образ n8n, если его еще нет на компьютере, и запустит из него контейнер. Параметр -p 5678:5678 открывает интерфейс n8n на порту 5678, а -v n8n_data:/home/node/.n8n сохраняет данные n8n в отдельном docker-томе. Благодаря этому сценарии и настройки не пропадут после остановки или перезапуска контейнера.

Шаг 4. Дождитесь запуска n8n. Через некоторое время в терминале появится сообщение:

Editor is now accessible via:
http://localhost:5678

Если видите эту строку, n8n запустился нормально.

Шаг 5. Откройте любой браузер и напишите в адресной строке http://localhost:5678 — вы попадете в интерфейс n8n. При первом запуске нужно будет создать аккаунт — написать имя пользователя, указать почту и придумать пароль, а затем следовать инструкциям платформы.

При первом запуске n8n предложит создать аккаунт. © n8n
При первом запуске n8n предложит создать аккаунт. © n8n

После завершения настройки вы попадете в интерфейс n8n. На стартовом экране будет надпись Let’s build your first automation. Нажмите Build a workflow. После этого откроется чистый холст, на котором можно собирать сценарии из отдельных узлов. Дальше покажу, как создать такой сценарий на практике.

Так выглядит чистый холст. © n8n
Так выглядит чистый холст. © n8n

Как с помощью n8n собрать собственный сценарий

Чтобы продемонстрировать возможности n8n, я настроил телеграм-бота, который помогает разбирать список дел. Я просто отправляю ему все, что нужно сделать, одним сообщением. Например, «купить продукты, доделать демопроект, дописать статью». Бот передает текст языковой модели, а та превращает его в короткий аккуратный список.

Ниже покажу, как повторить этот процесс.

Шаг 1. Сначала создайте бота. Для этого в поиске найдите @BotFather — у настоящего аккаунта должна быть синяя галочка — и отправьте ему команду /newbot.

Создайте нового бота. © Telegram
Создайте нового бота. © Telegram

BotFather попросит придумать название бота и его юзернейм. После этого он выдаст токен — длинную строку символов. Этот токен понадобится n8n, чтобы подключаться к боту и управлять им от нашего имени. Пока просто сохраните его: он понадобится в дальнейшем.

Шаг 2. Теперь нужно сделать так, чтобы Telegram мог отправлять сообщения в наш n8n. Для этого сервису понадобится доступный в интернете адрес, на который он сможет отправлять вебхуки.

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

Скачайте Cloudflare Tunnel и положите программу в папку C:\cloudflared. После установки откройте командную строку (Win + R → cmd) и наберите:

cd C:\cloudflared
cloudflared.exe tunnel --protocol http2 --url http://localhost:5678

В ответ Cloudflare выведет адрес вида https://название-домена.trycloudflare.com. Сохраните его: он тоже понадобится для настройки n8n. Командную строку не закрывайте.

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

Шаг 3. Теперь откройте Ubuntu и запустите n8n в Docker. В команду подставьте полученный от Cloudflare адрес:

docker run -it --rm --name n8n -p 5678:5678 -e WEBHOOK_URL=https://название-домена.trycloudflare.com -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

Параметр WEBHOOK_URL здесь нужен, чтобы n8n знал внешний адрес, по которому к нему смогут обращаться другие сервисы. В нашем случае это как раз понадобится для приема вебхуков от Telegram.

Запустите n8n с этими параметрами. © Ubuntu
Запустите n8n с этими параметрами. © Ubuntu

После запуска n8n будет доступен в браузере по адресу http://localhost:5678.

Шаг 4. Откройте веб-интерфейс n8n и прямо на главном экране перейдите во вкладку Credentials. Нажмите Create credential и добавьте токен созданного телеграм-бота. Там же добавьте API-ключ какого-нибудь ИИ-сервиса, чтобы можно было работать с нейросетями. У меня был ключ OpenRouter  , поэтому я добавил его.

Введите в меню Credentials имеющиеся у вас токены. © n8n
Введите в меню Credentials имеющиеся у вас токены. © n8n

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

Шаг 5. Теперь создайте новый воркфлоу — это и будет наш будущий бот. Первым узлом добавьте Telegram Trigger.

Ищем нужный триггер в выпадающем меню справа. © n8n
Ищем нужный триггер в выпадающем меню справа. © n8n

В нем выберите созданные ранее учетные данные бота и проверьте, что n8n использует нужный адрес вебхука.

В параметре Trigger On выберите Message. После этого узел будет срабатывать каждый раз, когда пользователь отправляет сообщение нашему боту.

Настраиваем триггер. © n8n
Настраиваем триггер. © n8n

Шаг 6. Следующим добавьте узел HTTP Request. Он нужен, чтобы отправить полученное сообщение языковой модели в OpenRouter.

В параметре Method выберите POST. Такой метод используется для отправки данных на сервер. В поле URL вставьте адрес API OpenRouter:

Затем в Authentication выберите Predefined Credential Type, а в Credential Type — OpenRouter. Так n8n использует сохраненный ранее токен для авторизации запроса.

Дальше поставьте галочку Send Body, в Body Content Type выберите JSON, а ниже — Using JSON. В открывшееся поле вставьте тело запроса:

Запрос

{
"model": "openrouter/free",
"messages": [
{
"role": "system",
"content": "Ты помощник по разбору задач. Получаешь от пользователя список дел в свободной форме. Верни короткий аккуратный список"
},
{
"role": "user",
"content": {{ JSON.stringify($json.message.text) }}
}
]
}

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

Ниже находятся два сообщения. Первое, с ролью system, задает модели инструкцию: что нужно делать и в каком виде вернуть результат. Второе, с ролью user, передает сообщение пользователя.

Выражение {{ JSON.stringify($json.message.text) }} берет текст из предыдущего узла. При каждом запуске сценария n8n подставляет сюда новое сообщение. Функция JSON.stringify нужна, чтобы запрос не сломался, если в тексте будут кавычки или переносы строк.

Когда узел готов, нажмите Execute Step и проверьте результат. Если все правильно, HTTP Request отправит эти данные в OpenRouter, а в ответ получит результат работы языковой модели — уже разобранный и аккуратно оформленный список дел.

Так выглядит успешно выполненный шаг. © n8n
Так выглядит успешно выполненный шаг. © n8n

Шаг 7. Осталось отправить ответ обратно в Telegram. Для этого добавьте еще один узел Telegram, но теперь выберите операцию отправки сообщения. В Resource поставьте Message, в Operation — Send Message.

В поле Chat ID переключитесь в режим Expression и вставьте:

{{ $('Telegram Trigger').item.json.message.chat.id }}

Это выражение берет идентификатор чата из узла Telegram Trigger. Благодаря этому n8n понимает, кому именно нужно отправить ответ. Название в кавычках должно в точности совпадать с названием узла на холсте: если вы его переименовали, поправьте и в выражении.

В поле Text вставьте:

{{ $('HTTP Request').item.json.choices[0].message.content }}

Здесь заберите из узла HTTP Request текст, который сгенерировала языковая модель.

Обязательно проверяем каждый шаг. © n8n
Обязательно проверяем каждый шаг. © n8n

Сценарий готов. Чтобы проверить его целиком, нажмите Execute workflow. Платформа начнет ждать новое сообщение в Telegram — отправьте боту любой текст. Если все настроено правильно, все узлы станут зелеными и будут отмечены галочками.

Если все стало зеленым, ваша автоматизация работает успешно. © n8n
Если все стало зеленым, ваша автоматизация работает успешно. © n8n

Это означает, что первый узел получил сообщение, второй отправил его языковой модели, а третий вернул готовый ответ в Telegram. Например, если отправить боту «купить молоко, позвонить маме, доделать отчет», он вернет этот текст в виде аккуратного списка.

Если все работает правильно, бот должен сразу же вернуть сообщение. © Telegram
Если все работает правильно, бот должен сразу же вернуть сообщение. © Telegram

Чем плох такой вариант. Для статьи и знакомства с n8n такая сборка подходит, но для постоянной работы я бы ее не оставлял.

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

Во-вторых, адрес Cloudflare Tunnel меняется при каждом запуске. Поэтому после сброса туннеля нужно заново подставлять новый адрес в WEBHOOK_URL и перезапускать n8n.

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

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

При этом для новичка такой проект все-таки сложноват. Желательно иметь хотя бы минимальный опыт работы с командной строкой, Docker и API. Если раньше с этим вообще не приходилось сталкиваться, придется параллельно разбираться еще и с принципами работы всех этих инструментов.

Что еще можно сделать с помощью n8n

Сценарий со списком дел — один из тысяч возможных примеров. Вот еще несколько задач, для которых n8n хорошо подходит.

📩 Автоматическая сортировка почты. Для этого можно настроить ИИ-агента, чтобы тот читал входящие письма, определял их тему, раскладывал по папкам и присылал краткое саммари в мессенджер.

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

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

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

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

Что в итоге

  1. N8n — открытая платформа для автоматизации задач, в которой сценарии можно собирать из готовых блоков-узлов. Одни узлы запускают сценарий, другие выполняют действия, обрабатывают данные или управляют логикой. При необходимости можно вставить собственный код на JavaScript или Python, если готового решения не нашлось.
  2. Пользоваться n8n можно в облаке или локально. Локальная версия бесплатна и не ограничивает число запусков, но за ее установку и обслуживание придется отвечать самостоятельно.
  3. Запустить n8n на своем компьютере не так сложно. Например, его можно установить на Windows с помощью Docker и WSL 2. Интерфейс n8n открывается в браузере.
  4. С помощью n8n можно автоматизировать самые разные задачи. Например, я собрал телеграм-бота, который превращает поток мыслей в аккуратный список с помощью ИИ. По такому же принципу можно настроить работу с почтой, таблицами, уведомлениями и другими сервисами.

Мы постим кружочки, красивые карточки и новости о технологиях и поп-культуре в нашем телеграм-канале. Подписывайтесь, там классно: @t_technocult

нейросетисервисыприложения
Владимир ЛещевКакие задачи вы бы хотели автоматизировать или уже автоматизировали?
  • Alexanderпосле пары лет использования n8n у меня сложился основной паттерн для массовых операций: Суть пайпа: отправить каждые N строчек с указанным системным промптом в LLM, записать ответ отдельной колонкой. пайп принимает на вход эксель файл с входными данными + поле системный промпт + размер пачки + выбор LLM-ки (3 локальные или 2 удаленные) на выходе выдаёт ровно эту же табличку, дополненную колонкой "ответ LLM-ки" (и 10 колонками его разбивки построчно). Часть задач этого пайпа уже заменена навайбкоженым интерфейсом из 1 HTML файла со схожим функционалом (URL OpenAPI, API ley, model name, input=textarea) Один пайплайн всё-таки остался на n8n: локальной моделькой для дружественной конторы разбираю скриншоты с камер наблюдения офиса для определения когда конкретно было выполнено замусоривание мест общего пользования и косвенно контроля качества работы клининга.0
Вот что еще мы писали по этой теме
Сообщество