Как стать автором
Обновить
26.07
Dockhost
Платформа для хостинга приложений

n8n. Автоматизация рабочих процессов за чашечкой кофе

Время на прочтение10 мин
Количество просмотров25K

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

В своей статье я хочу развеять этот стереотип и рассказать об интересном low‑code решении с визуальным интерфейсом — n8n. Мы разберем принципы работы и основные возможности n8n, а также, в качестве иллюстрации, приведу 4 практических примера автоматизации процессов, которые показались мне интересными и покажу как можно запустить собственную версию приложения в облаке.

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

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

Основное его преимущество — вам не нужно обладать даже минимальными знаниями в программировании, глубоко разбираться в настройках API и понимать принципы написания кода. Полностью визуальный интуитивно понятный интерфейс с набором готовых модулей и шаблонов для различных ситуаций позволит вам настроить и объединять в единый процесс любой набор действий по вашей логике. Большую часть настроек можно сделать пользуясь только мышкой или тачпадом. Вы можете воспринимать его как цифрового помощника, который выполняет повторяющуюся работу за вас, планируя задачи, интегрируя сервисы или автоматически перемещая данные между различными приложениями, которые обычно по умолчанию не взаимодействуют друг с другом. Например, в n8n вы можете создать процесс, который будет ежедневно обновлять данные (делать выгрузку) в заданной вами Google таблице, делать выборку в нужном вам виде и отправлять краткий отчет (несколько ключевых цифр) в виде сообщения в Telegram.

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

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

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

Существуют различные типы узлов в зависимости от их функции. Типичный рабочий процесс состоит из:

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

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

Узлы действий могут содержать простые задачи, такие как сохранение данных в базе данных, манипуляцию с данными (сортировку, вычисления и т. д.), отправку уведомления или обновление задачи в вашем приложении для управления проектами. Также они могут инициировать более сложные действия, такие как отправка HTTP‑запросов, запуск пользовательского кода Python или JavaScript или генерация запроса к AI с вашими собственными данными. Например:

Простой пример рабочего процесса n8n.
Простой пример рабочего процесса n8n.

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

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

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

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

Я выбрал 4 интересных на мой взгляд примера с целью демонстрации возможностей приложения, а на сайте n8n вы сможете найти 1000+ различных бесплатных шаблонов, созданных сообществом.

Создание AI чат бота с помощью модулей n8n

В одной из прошлых статей мы рассматривали задачу создания чат бота для диалогов с OpenAI с помощью фреймворка Spring boot. Задача не самая сложная, но требует знаний и навыков написания кода.

Аналогичную задачу можно решить без написания сложных скриптов. N8n предлагает мощное и удобное решение, с встроенными модулями управления и взаимодействия с AI моделями. Это означает, что вы можете создать чат‑бота быстрее и с большей гибкостью, сохраняя при этом полный контроль над его функциональностью.

Итак, приступим. Для нашего бота мы создадим рабочий процесс, который использует языковые модели OpenAI и SerpAPI для поддержки динамичного и интеллектуального AI агента. Благодаря встроенным ручным триггерам чата и буферу памяти он сможет поддерживать непрерывные диалоги с учетом контекста.

Итоговая схема нашего рабочего процесса в n8n выглядит следующим образом:

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

  1. Создайте триггер чата. Выберете в меню соответствующий узел триггера чата и добавьте его в свой рабочий процесс.

  2. Создайте узел агента ИИ (выбрав его из меню узлов справа) и подключите его к триггеру чата.

  3. Добавьте узел выбранной вами языковой модели AI (например, в нашем случае это модель на базе OpenAI) кликнув на соответствующую ветку узла Агента (ветки визуально промаркированы, вам нужна Chat Model)

  4. Подключите узел памяти для контекста. Для подключения узла буфера памяти кликните на соответствующую ветку узла Агента (вам нужна ветка memory) и выберете нужный узел из меню, например узел Window Buffer Memory

  5. И финальный шаг, добавим дополнительные инструменты к нашему процессу. К ветке Узла Агента с маркировкой Tools подключим инструмент SerpAPI для поддержки web поиска. Для этого кликнем на соответствующую ветку и выберем инструмент из списка.

Получившийся модуль уже обладает полным функционалом для работы. Вы можете начать чат с языковой моделью прямо в интерфейсе n8n. В дальнейшем вы можете развивать описанный процесс, добавляя новые модули или меняя инструменты коммуникаций. Например, вы можете создать бота Telegram и подключить его к вашему Агенту, это позволит все диалоги с AI вести через Telegram.

Автоматизация Push кода в Git Hub

Еще одна опция использование n8n, это автоматизация процесса доставки кода в GitHub. Основные преимущества использования модулей n8n:

  • Во‑первых, возможность вносить изменения непосредственно в репозиторий GitHub. Это особенно полезно, когда вам нужно обновить части файлов документации Git без необходимости извлекать данные из GitHub и делать локальные коммиты перед отправкой изменений обратно.

  • Во‑вторых, вы можете дополнительно автоматизировать процессы Git. n8n позволяет автоматизировать локальный цикл разработки, проверяя статус локального репозитория и отправляя код на GitHub в нерабочее время

Вот пример рабочего процесса n8n для отправки и обновления файлов в GitHub.

Вы можете работать с GitHub через готовый узел, через универсальный узел Git или через команду Execute Command.
Вы можете работать с GitHub через готовый узел, через универсальный узел Git или через команду Execute Command.

В данном процессе приведены 2 возможных сценария:

1. Push через стандартный узел GitHub

Такой подход позволяет обновлять репозиторий GitHub, не затрагивая локальный репозиторий.

В верхней части схемы процесса расположены три узла:

  • GitHub извлекает файл README.md из репозитория и возвращает его в виде двоичных данных;

  • Узел декодирования файла преобразует строку base64 в понятный человеку текст;

  • Последний узел отправляет отредактированный файл непосредственно на GitHub:

{{ $json.data }}
## Updated at:
{{ $now.toISO() }}

2. Push через Git node/bash

Теперь попробуем альтернативный подход и используем узел Git для работы с локальным репозиторием.

В нижней строке схемы процесса показано несколько узлов Git и один узел Execute Command:

  • Git Pull извлекает удаленный репозиторий и обновляет локальную копию. Этот шаг необходим, поскольку репозиторий GitHub был обновлен ранее, и ваша локальная копия может быть не синхронизирована.

  • Узел обновления README и добавления нового файла выполняет ряд локальных команд, которые записывают строки в файл README.md и создают новый файл.

echo '' >> {{ $('config').item.json.localrepo }}/README.md
echo '## Updated at:' >> {{ $('config').item.json.localrepo }}/README.md
echo '{{ $now.toISO() }}' >> {{ $('config').item.json.localrepo }}/README.md
echo 'Check new file' >> {{ $('config').item.json.localrepo }}/README.md
echo '' >> {{ $('config').item.json.localrepo }}/README.md

echo '# This is a new file' >> {{ $('config').item.json.localrepo }}/new_{{ $now.toFormat('yyyyddMM-hhmmss') }}.md
  • Узлы Add files, Commit и Push по функционалу соответствуют своим названиям — они обновляют все последние изменения в репозитории GitHub. Важно отметить, что узел Git работает с локальным репозиторием. Поэтому вам необходимо заранее убедиться, что файл конфигурации Git настроен.

Чат с БД PostgreSQL с использованием модуля AI.

Еще один интересный пример рабочего процесса n8n, который предназначен для организации чата с AI агентом, который выдает релевантные данные из заданной БД в ответ на промпты, написанные естественным языком.

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

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

  • Затем сообщение обрабатывается модулем AI Agent с использованием соответствующих инструментов — Execute SQL Query, Get DB Schema, Tables List и Get Table Definition, если требуется. Агент использует эти инструменты для формирования и выполнения SQL‑запросов, которые необходимы для ответа на вопросы.

  • Получив данные, AI Agent использует их для формирования ответа и возвращает его пользователю.

При первом запуске процесса вам необходимо произвести настройку учетных данных. Для этого вам понадобятся учетные данные PostgreSQL и ключ API OpenAI.

Автоматизация процесса мониторинга доступности сайта.

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

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

  • Запланированный триггер считывает список URL‑адресов веб‑сайтов в Google Таблице каждые 5 минут.

  • Каждый URL‑адрес веб‑сайта проверяется с помощью узла HTTP, который определяет, находится ли веб‑сайт в состоянии UP или DOWN.

  • Для веб‑сайтов, находящихся в состоянии DOWN, отправляются электронные письма и сообщения в Slack (можно заменить модулем Telegram).

  • Google таблица обновляется с учетом состояния веб‑сайта и создается журнал.

  • Журналы можно использовать для определения общего процента времени UP и DOWN за определенный период.

Для настройки процесса вам понадобятся:

  • Google Таблица для хранения отслеживаемых веб‑сайтов и их состояний

  • Gmail для оповещений по электронной почте (можно заменить на модуль вашего почтового сервиса)

  • Slack для оповещений по каналам (можно заменить на модуль Telegram).

Надеюсь, что выбранные мной примеры будут вам полезны. Ну или, как минимум, сподвигнут вас поэкспериментировать с этим low‑code инструментом или найти готовый шаблон (из более чем 1000, представленных сообществом), который пригодится для решения именно вашей задачи.

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

Как развернуть собственное приложение n8n  в облаке Dockhost.

Наиболее простой способ развернуть облачную версию приложения — запустить его готовую к установке версию на платформе Dockhost.

Рассмотрим подробно как развернуть собственное приложение N8N. Для этого воспользуемся функционалом «Приложения» облачной платформы Dockhost.

Первым шагом переходим в раздел «Приложения» в панели управления Dockhost, и в открывшемся каталоге в разделе Low‑code выбираем приложение n8n.

Раздел «Приложения» — это каталог популярных приложений, готовых к установке и использованию на платформе.

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

Нажимаем установить и дожидаемся завершения процесса установки приложения:

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

Все созданные ресурсы вы можете увидеть, нажав кнопку «Управлять» справа от установленного приложения.

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

Итак, наше приложение создано и готов к использованию. Для перехода в web версию приложения нужно перейти в раздел «Приложения / Установленные» и нажать кнопку «Web» справа от выбранного приложения.

При нажатии на кнопку «Web» вы переходите на страницу приложения в вашем браузере, где вам необходимо пройти стандартную первичную регистрацию:

Все, теперь у вас есть собственная версия n8n в облаке и вы можете приступать к работе с приложением.

Заключение

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

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

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

Теги:
Хабы:
Всего голосов 12: ↑11 и ↓1+11
Комментарии4

Публикации

Информация

Сайт
dockhost.ru
Дата регистрации
Дата основания
Численность
2–10 человек
Местоположение
Россия
Представитель
DockhostTech