Сегодня мы поговорим о 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 довольно просто:

  1. Создайте бота через BotFather.

  2. Скопируйте токен.

  3. Используйте Telegram Trigger Node или Telegram Node в n8n.

  4. Укажите токен в учётных данных.

  5. Создайте workflow, который реагирует на сообщения, команды, и отправляет ответы.

Комбинация Telegram и AI-агента позволяет построить полноценного чат-бота, способного вести интеллектуальные диалоги, отвечать на вопросы и запускать автоматизации.

n8n AI Agent

n8n добавил интеграцию AI-функциональности,оседлав волну хайпа на LLM, и стал экспоненциально расти (сам сервис работает с 2019 года, но раньше был намного менее известен). 

n8n AI Agent позволяет создавать интеллектуальные агенты, которые обрабатывают сообщения и взаимодействуют с другими нодами, сервисами и API. Он может действовать как бот, консультант или автоматизированный обработчик информации.

n8n содержит возможность создания AI-агентов, работающих на основе LLM-моделей практически всех основных вендоров.

Схема для n8n AI agent

С помощью 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

  1. Telegram Trigger Node

    • Слушает входящие сообщения.

    • Настроен с Telegram Bot API токеном.

  2. AI Agent Node

    • Agent Name: SupportBot.

    • Prompt: Ты — дружелюбный помощник поддержки, отвечай кратко и понятно.

    • Model: GPT или любая на ваш выбор.

    • Вход: текст сообщения от пользователя.

  3. 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 в виде сервиса, который предоставляют некоторые облачные провайдеры.

Одним из таких облачных провайдеров является Amvera Cloud. Сервис предоставляет преднастроенный n8n (вам не нужно устанавливать его, только нажать на кнопку создания), бесплатные домены с https, что нужно для его работы и встроенное бесплатное проксирование до LLM на случай, если вы работаете из России и вам нужно использовать API OpenAI и подобных провайдеров.

Для развертывания n8n в Amvera вам потребуется 

Создание n8n из маркетплейса

Создать бесплатный https домен с открытым портом 5678 как на изображении

Создание домена и открытие порта для webhook

И добавить домен в переменную WEBHOOK_URL

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

Но вы можете развернуть 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, для которых нет готовых интеграций

Общий принцип заключается в том, что мы:

  1. Используем HTTP Request Node (GET, POST, PUT, DELETE)

  2. Вводим URL, заголовки, параметры и тело запроса

  3. Обрабатываем ответ через Set, Function, IF, Code или Split In Batches

Рассмотрим этот принцип на конкретных примерах.

Примеры API-подключений

1. Работа с API для проверки юридических лиц (например, nalog.ru или checko.ru)

Цель: Получить информацию о компании по ИНН

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:

json

{
  "chat_id": "123",
  "message": "Здравствуйте! Чем могу помочь?"
}

3. POST-заявка в Tilda через Webhook

Событие на сайте отправляет webhook с данными формы:

Тело запроса (RAW JSON):

json

{
  "name": "={{ $json[\"form\"][\"name\"] }}",
  "phone": "={{ $json[\"form\"][\"phone\"] }}",
  "source": "Tilda"
}

4. Получение данных из hh.ru API

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 превращает платформу в полноценный центр автоматизации, который легко масштабировать и адаптировать под нужды проекта.


n8n предоставляется как преднастроенный сервис в Amvera Cloud по цене от 290 рублей/месяц с бесплатным https доменом и проксированием трафика до API LLM (OpenAI,Grok,Geminy,Antropic). При регистрации начисляется 111 рублей для бесплатного тестирования сервиса.