Сегодня мы поговорим о n8n. Open-source платформе, которая позволяет кардинально сократить трудозатраты на автоматизацию рабочих процессов, связывая различные приложения, сервисы и базы данных без необходимости писать сложный код.
Благодаря гибкости и возможности расширения, n8n подходит как для простых задач, как, автоматическая отправка уведомлений, так и для сложных сценариев с участием ИИ-агентов, API, внешних баз данных и Telegram-ботов.
В статье я рассмотрю как общие концепции, так и приведу примеры конкретных реализаций и настроек. Начнем с базовых понятий.
Компоненты
Основные компоненты n8n включают:
-
Editor UI — веб-интерфейс для создания, редактирования и тестирования workflows.
-
Workflow Engine — ядро, которое выполняет заданные процессы.
-
Nodes — строительные блоки, соединяющие разные сервисы и выполняющие действия.
-
Triggers — узлы, которые запускают процессы (например, webhook или расписание).
-
Credentials — безопасное хранилище учётных данных для подключения к внешним сервисам.
Перейдем сразу к практической части и рассмотрим подробнее Nodes.
Nodes
Каждый узел (node) — это модуль, выполняющий определённое действие: отправка email, обращение к API, парсинг данных, генерация текста с помощью ChatGPT и т. д. В n8n есть сотни готовых nodes для популярных сервисов: Google Sheets, Telegram, Notion, GitHub, OpenAI и др.
Также доступны «Function» и «Code» nodes для выполнения кастомной логики на JavaScript.
Шаблоны Templates и Workflows
n8n предлагает множество готовых шаблонов workflows, называемых Templates. Их можно импортировать и адаптировать под свои задачи. Это значительно ускоряет разработку. Особенно, если вы автоматизируете типовые процессы (например, интеграции CRM и мессенджеров, сбор данных из форм, отправку отчётов и т.п.).
Шаблоны доступны в официальной библиотеке n8n.
Если вы добавите к Templates свои креды, то получите уже собственных Workflow. Разница тут только в том, что Templates это шаблон, а Workflow уже ваш рабочий процесс.
n8n Workflows
Workflow — это последовательность узлов, которые обрабатывают данные или выполняют действия. Они могут запускаться вручную, по расписанию, с использованием webhook или в ответ на события в сервисах.
n8n поддерживает:
-
Ветвление логики (если/иначе)
-
Параллельные ветки
-
Повторное использование workflows (subworkflows)
-
Переменные, данные между узлами и контекст выполнения
На этом мы закончим с теорией и перейдем к практике.
Сценарии, настройки и примеры
n8n часто используется в связке с телеграм-ботами и LLM. Давайте рассмотрим это подробнее. В телеграм-бот можно отправлять события из систем мониторинга, CRM, использовать как поверхность взаимодействия с AI-агентом и еще можно придумать тысячу применений.
Привязка Telegram-бота к n8n
Привязать Telegram-бота к n8n довольно просто:
-
Создайте бота через BotFather.
-
Скопируйте токен.
-
Используйте Telegram Trigger Node или Telegram Node в n8n.
-
Укажите токен в учётных данных.
-
Создайте workflow, который реагирует на сообщения, команды, и отправляет ответы.
Комбинация Telegram и AI-агента позволяет построить полноценного чат-бота, способного вести интеллектуальные диалоги, отвечать на вопросы и запускать автоматизации.
n8n AI Agent
n8n добавил интеграцию AI-функциональности,оседлав волну хайпа на LLM, и стал экспоненциально расти (сам сервис работает с 2019 года, но раньше был намного менее известен).
n8n AI Agent позволяет создавать интеллектуальные агенты, которые обрабатывают сообщения и взаимодействуют с другими нодами, сервисами и API. Он может действовать как бот, консультант или автоматизированный обработчик информации.
n8n содержит возможность создания AI-агентов, работающих на основе LLM-моделей практически всех основных вендоров.
С помощью AI Agent можно:
-
Автоматически обрабатывать запросы пользователей.
-
Отвечать в мессенджерах.
-
Генерировать текст.
-
Анализировать документы.
И многое, многое другое.
AI-агент может быть встроен, как часть workflow, и использовать другие узлы для сбора, обработки и отправки данных.
Настройка AI Agent в n8n
1. Включение функции AI Agent
Убедитесь, что у вас обновлённая версия n8n (2024.3.0 и выше) и активирован доступ к AI Agent в настройках:
.env-параметры:
N8N_FEATURE_FLAG_AA=true
Или активируйте в UI:
Settings → Feature Flags → Enable AI Agent
Настройка OpenAI API ключа
В UI:
-
Перейдите в Credentials → Create new → OpenAI API
-
Введите ваш API ключ (или локальный путь к модели через Ollama)
Пример переменной в .env:
OPENAI_API_KEY=sk-...
Пример: Telegram-бот с AI Agent
Цель: Создать Telegram-бота, который обрабатывает сообщения пользователей через n8n AI Agent (GPT-4) и отправляет ответ обратно.
Шаги workflow
-
Telegram Trigger Node
-
Слушает входящие сообщения.
-
Настроен с Telegram Bot API токеном.
-
-
AI Agent Node
-
Agent Name: SupportBot.
-
Prompt: Ты — дружелюбный помощник поддержки, отвечай кратко и понятно.
-
Model: GPT или любая на ваш выбор.
-
Вход: текст сообщения от пользователя.
-
-
Telegram Node (Send Message)
Получает ответ от AI Agent и отправляет обратно пользователю.
Пример визуальной структуры workflow:
[Telegram Trigger] → [AI Agent] → [Telegram Send Message]
JSON-фрагмент workflow (упрощённый):
{ "nodes": [ { "name": "Telegram Trigger", "type": "telegramTrigger", "parameters": { "updateInterval": 1 } }, { "name": "AI Agent", "type": "aiAgent", "parameters": { "model": "gpt-4", "prompt": "Ты — дружелюбный помощник поддержки, отвечай кратко и понятно" } }, { "name": "Telegram Send", "type": "telegram", "parameters": { "chatId": "={{ $json[\"message\"][\"chat\"][\"id\"] }}", "text": "={{ $json[\"result\"] }}" } } ], "connections": { "Telegram Trigger": { "main": [["AI Agent"]] }, "AI Agent": { "main": [["Telegram Send"]] } } }
Хорошо, допустим, мы знаем зачем нам n8n. настало время его установить и запустить.
Установка и настройка n8n
Рассмотрим вопросы развертывания n8n.
Установка n8n через Docker на сервер
Для установки n8n есть две базовые опции. Произвести самостоятельный деплой, используя Docker, либо воспользоваться n8n в виде сервиса, который предоставляют некоторые облачные провайдеры.
Для самостоятельного развертывания вам потребуется
-
непосредственно развернуть n8n, используя Docker;
-
задать необходимые переменные;
-
настроить домен с https.
О том, как это сделать мы писали в прошлой статье на Хабр.
Для установки через Docker, выполните команды:
docker volume create n8n_data docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
Далее, необходимо задать переменные окружения
-
N8N_HOST: 0.0.0.0
-
N8N_PROTOCOL: https
-
GENERIC_TIMEZONE: Europe/Moscow или другая TZ, актуальная для вашего региона
-
N8N_DEFAULT_LOCALE: по умолчанию en
-
N8N_USER_FOLDER: /data (или другой путь для постоянного хранилища)
После запуска n8n будет доступен по порту 5678.
Для работы n8n нам необходим домен с https и настройка webhook.
HTTPS и Webhook
Для корректной работы Webhooks и интеграций с Telegram, нужно обеспечить HTTPS-соединение. Это можно сделать через:
-
Reverse proxy (например, Nginx + Let’s Encrypt)
-
Cloudflare Tunnel
-
Traefik
-
Домен, выделенный вашим облачным провайдером
После этого необходимо указать внешний URL в переменной WEBHOOK_URL, чтобы n8n знал, куда направлять обратные вызовы.
Если вы используете Webhook (к примеру, для работы Телеграм-бота), вам необходимо открыть два порта. К примеру 80 и 5678.
Настройка n8n
После установки n8n (например, через Docker или npm) важно правильно настроить окружение, чтобы обеспечить безопасность, стабильность и удобство работы. Вот ключевые этапы настройки:
-
Настроить авторизацию через переменные окружения (N8N_BASIC_AUTH_*).
-
Установить доменное имя и HTTPS (это мы уже сделали на прошлом этапе).
-
Настроить резервное копирование (n8n_data volume).
-
Подключить сервисы через раздел Credentials.
-
Создать структуру workflow и шаблонов.
Настройка переменных окружения
n8n использует .env или переменные Docker для управления конфигурацией. Основные параметры:
# Базовый доступ N8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_USER=admin N8N_BASIC_AUTH_PASSWORD=сильный_пароль # Базовый адрес (особенно при HTTPS/проксировании) WEBHOOK_URL=https://example.com/ N8N_HOST=localhost N8N_PORT=5678 # Папка с данными (для Docker) N8N_DATA_FOLDER=/home/node/.n8n # Настройка времени выполнения EXECUTIONS_PROCESS=main
Включение базовой авторизации/аутентификации
Рекомендуется включать базовую авторизацию (или использовать прокси с авторизацией) при открытом доступе:
N8N_BASIC_AUTH_ACTIVE=true
Также можно включить JWT или OAuth авторизацию, если вы используете n8n как часть корпоративной системы.
Секреты и Webhook URL
-
WEBHOOK_URL должен совпадать с вашим внешним адресом (например, при работе через Nginx + Let’s Encrypt).
-
В случае использования HTTPS через Nginx или Traefik — не забудьте настроить корректный reverse proxy с перенаправлением портов.
Работа с прокси-сервером
Если вы используете Nginx или Caddy для HTTPS и проксирования:
location / { proxy_pass http://localhost:5678; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }
Настройка сохранения истории (execution data)
Для продакшн-окружения рекомендуется:
N8N_EXECUTIONS_MODE=queue QUEUE_MODE=redis
Это позволит масштабировать n8n и хранить выполнение задач в базе данных.
Подключение к PostgreSQL или MySQL
Если вы не хотите использовать SQLite, подключите ваш PostgreSQL:
DB_TYPE=postgresdb DB_POSTGRESDB_HOST=db DB_POSTGRESDB_PORT=5432 DB_POSTGRESDB_DATABASE=n8n DB_POSTGRESDB_USER=n8n DB_POSTGRESDB_PASSWORD=password
Настройка автоматического бэкапа
Можно использовать n8n export команду в cron-задаче для резервного копирования workflows и credentials:
bash n8n export:workflow --all --output=/backup/workflows.json n8n export:credentials --all --output=/backup/credentials.json
Email уведомления и логирование
Для отправки писем (например, при ошибках) зададим переменные:
N8N_SMTP_HOST=smtp.yandex.ru N8N_SMTP_PORT=465 N8N_SMTP_USER=youremail@yandex.ru N8N_SMTP_PASS=app_password
А для логирования можно использовать внешние решения (Sentry и т. д.).
Импорт / экспорт workflows
-
Через UI: «Import workflow» → загрузка .json
-
Через CLI:
bash n8n import:workflow --input=workflow.json
Создание пользователей (с Multi-user Mode)
С конца 2023 года n8n поддерживает Multi-user mode, который можно включить через переменную:
N8N_USER_MANAGEMENT_DISABLED=false
Появится возможность управлять несколькими аккаунтами, ролями и доступом.
Пример .env файла для n8n в продакшене (у вас он может выглядеть по другому).
# Основные настройки # Внешний адрес n8n, нужен для работы вебхуков WEBHOOK_URL=https://n8n.example.com # Хост и порт, по которому работает n8n внутри контейнера N8N_HOST=localhost N8N_PORT=5678 # Путь до пользовательских данных N8N_DATA_FOLDER=/home/node/.n8n # Авторизация (Basic Auth) N8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_USER=admin N8N_BASIC_AUTH_PASSWORD=СложныйПароль123! # База данных PostgreSQL DB_TYPE=postgresdb DB_POSTGRESDB_HOST=db DB_POSTGRESDB_PORT=5432 DB_POSTGRESDB_DATABASE=n8n DB_POSTGRESDB_USER=n8n DB_POSTGRESDB_PASSWORD=PostgresStrongPassword # Очередь задач (Redis) EXECUTIONS_MODE=queue QUEUE_MODE=redis QUEUE_REDIS_HOST=redis QUEUE_REDIS_PORT=6379 # Настройки email (опционально) N8N_SMTP_HOST=smtp.yandex.ru N8N_SMTP_PORT=465 N8N_SMTP_USER=your@yandex.ru N8N_SMTP_PASS=AppPasswordFromYandex N8N_SMTP_SSL=true N8N_SMTP_SENDER_NAME=n8n System # Безопасность # Запрет регистрации пользователей (если используется multi-user режим) N8N_USER_MANAGEMENT_DISABLED=false # Отключение телеметрии N8N_DIAGNOSTICS_ENABLED=false N8N_VERSION_NOTIFICATIONS_ENABLED=false
Замечания
-
Этот файл предполагает, что у вас развернута база данных PostgreSQL и Redis-сервер.
-
WEBHOOK_URL — обязательно должен быть HTTPS, если вы используете вебхуки.
-
Для безопасности пароли не должны быть слишком простыми.
-
Email-настройки позволят отправлять уведомления (например, об ошибках или для сброса пароля, если включён multi-user режим).
Как подключать внешние API, для которых нет готовых интеграций
Общий принцип заключается в том, что мы:
-
Используем HTTP Request Node (GET, POST, PUT, DELETE)
-
Вводим URL, заголовки, параметры и тело запроса
-
Обрабатываем ответ через Set, Function, IF, Code или Split In Batches
Рассмотрим этот принцип на конкретных примерах.
Примеры API-подключений
1. Работа с API для проверки юридических лиц (например, nalog.ru или checko.ru)
Цель: Получить информацию о компании по ИНН
-
Метод: GET
-
Query Params:
-
query: ИНН
-
token: ВАШ_API_КЛЮЧ
-
HTTP Request Node:
json
{ "url": "https://api.checko.ru/v1/company/search", "method": "GET", "queryParameters": [ { "name": "query", "value": "7707083893" }, { "name": "token", "value": "ваш_api_ключ" } ] }
2. Интеграция с AnyChat или LiveTex
Если API работает по Webhook или REST:
-
Метод: POST
-
Headers:
-
Authorization: Bearer <токен>
-
Content-Type: application/json
-
-
Body:
json
{ "chat_id": "123", "message": "Здравствуйте! Чем могу помочь?" }
3. POST-заявка в Tilda через Webhook
Событие на сайте отправляет webhook с данными формы:
-
Webhook Node (приём данных) → HTTP Request Node (перенаправление)
-
Метод: POST
Тело запроса (RAW JSON):
json
{ "name": "={{ $json[\"form\"][\"name\"] }}", "phone": "={{ $json[\"form\"][\"phone\"] }}", "source": "Tilda" }
4. Получение данных из hh.ru API
-
Метод: GET
-
Query Parameters:
-
text: n8n
-
area: 1 (Москва)
-
5. Интеграция с СДЭК (cdek.ru)
Сначала нужно получить access_token → сохранить в переменной или credentials
-
Step 1: Получение токена (POST):
json
{ "url": "https://api.cdek.ru/v2/oauth/token", "method": "POST", "body": { "grant_type": "client_credentials", "client_id": "ваш_id", "client_secret": "ваш_секрет" } }
Шаг 2: Отправка запроса с полученным токеном.
Советы
-
Используйте Set Node для создания кастомных заголовков и тел запроса.
-
Для обработки ответов применяйте Function или Code Node.
-
Для работы с токенами можно использовать HTTP Request → Set → HTTP Request, либо OAuth2 Credentials.
Перейдем к самому интересному, описанию примеров применимости n8n.
10 примеров сервисов на n8n
1. Поддержка клиентов через Telegram и Yandex 360 (Почта/Календарь)
Сценарий:
Компания использует Telegram-бота для поддержки клиентов и автоматизирует ответы на частые вопросы с помощью GPT-4, а также создаёт события в Яндекс.Календаре для консультаций.
Workflow:
-
Telegram Trigger — AI Agent (GPT-4) — Webhook — Yandex.Calendar API — Telegram Message
2. Отправка уведомлений из 1С или МойСклад в Telegram/Email
Сценарий:
При появлении нового заказа или счета в 1С:Предприятие или МойСклад отправляется уведомление в Telegram и email-уведомление менеджеру.
Workflow:
-
Webhook (из 1С или МойСклад) — Parse JSON — Telegram Node + Email Node
3. Мониторинг отзывов на Яндекс.Картах и отзывов в otzovik.com
Сценарий:
Автоматический сбор новых отзывов о компании и отправка их в канал Telegram для оперативной реакции службы поддержки.
Workflow:
-
HTTP Request (парсинг страницы или API) – Filter New Reviews – Telegram Node – Google Sheets (архив)
4. Интеграция с ВКонтакте (через VK API)
Сценарий:
Автоматическая обработка новых сообщений в группе ВКонтакте и ответы на часто задаваемые вопросы через AI Agent.
Workflow:
-
Webhook (обработка сообщений из VK API) – AI Agent (OpenAI или YandexGPT) – VK API (ответ пользователю)
5. Обработка лидов с Tilda или Bitrix24
Сценарий:
При отправке формы на сайте Tilda или создании лида в Bitrix24 запускается процесс: уведомление менеджера, запись лида в таблицу, автоответ клиенту.
Workflow:
-
Webhook (из Tilda/Bitrix24) – Google Sheets Node – Email Node – Telegram Node
6. Генерация документов через Конструктор.Документов + отправка по email
Сценарий:
После оформления заявки на сайте автоматически формируется договор PDF на основе шаблона и отправляется клиенту на почту.
Workflow:
-
Webhook (форма) – HTTP Request к API Конструктор.Документов – Email Node (с PDF вложением)
7. Автоматическая рассылка аналитики из Яндекс.Метрики
Сценарий:
Раз в неделю менеджеру приходит аналитический отчёт по посещениям сайта из Яндекс.Метрики.
Workflow:
-
Cron Trigger – HTTP Request к Яндекс.Метрика API – HTML генерация отчета – Email Node
8. Отправка SMS через SMS.RU
Сценарий:
После оформления заказа или регистрации отправляется SMS с подтверждением или кодом.
Workflow:
-
Webhook – SMS.RU API (через HTTP Request) – Google Sheets (лог сообщений)
9. Парсинг вакансий с hh.ru и отправка в Telegram
Сценарий:
Автоматический поиск новых вакансий по ключевым словам и отправка в Telegram-канал HR-команды.
Workflow:
-
HTTP Request (поиск через API hh.ru) – Filter New Results – Telegram Node
10. Отправка заказов из Wildberries или Ozon в CRM
Сценарий:
Синхронизация заказов с маркетплейсов в Notion или Bitrix24.
Workflow:
-
HTTP Request (API Wildberries/Ozon) – Format Data – CRM Node (Bitrix24 API или Notion Node)
Разумеется, подобные воркфлоу можно реализовать не только на n8n. Есть и альтернативы. Вот их краткий список.
Аналоги и альтернативы n8n
Хотя n8n обладает высокой гибкостью, у него есть конкуренты:
-
Windmill – альтернатива с Open Source лицензией.
-
Zapier — простой в использовании, без self-host и нужна иностранная карта.
-
Make (Integromat) — визуально мощный, но менее гибкий при кастомизации.
-
Pipedream — ориентирован на разработчиков, хорошая поддержка кода.
-
Automa — автоматизация в браузере.
-
Node-RED — более технический, популярен среди IoT.
Заключение
n8n — мощный инструмент для автоматизации задач с гибкой архитектурой, возможностью self-host и глубокой интеграцией с AI. Он подойдёт как для разработчиков, так и для бизнес-пользователей, желающих автоматизировать процессы без больших затрат.
Интеграция AI-агентов и Telegram-ботов в n8n превращает платформу в полноценный центр автоматизации, который легко масштабировать и адаптировать под нужды проекта.
ссылка на оригинал статьи https://habr.com/ru/articles/908332/
Добавить комментарий