Курс Неделя 2 День 12
← День 11 День 13 →

День 12. Автоматизация без кода: n8n

Время: 90 минут 🎯 Цель: Соединить инструменты в цепочку — данные текут сами без твоего участия 🛠 Нужно: n8n (self-hosted через Docker или n8n.cloud) · Google Sheets · Gemini API · Telegram


Зачем это тебе

Катя работает контент-менеджером в небольшом магазине на Wildberries. Каждый понедельник её начальник присылает Excel с новыми товарами — обычно 30–80 позиций. Катина задача: написать SEO-описание к каждому. Она открывает ChatGPT, копирует название товара, вставляет промпт, ждёт ответа, копирует текст обратно в таблицу. Потом следующий товар. Потом следующий.

На 80 товаров уходит половина рабочего дня. Это не творческая работа — это ручной труд оператора ЭВМ из 1985 года. Катя нервничает, делает опечатки, пропускает строки. К среде она ненавидит эту таблицу.

После того как Катя прошла День 12, она сделала следующее: открыла n8n, за 40 минут собрала цепочку из трёх кубиков — «читать строку из таблицы», «отправить в Gemini», «записать ответ обратно». Нажала «запустить». Встала, налила чай. Вернулась — 80 описаний готовы. В понедельник она включает workflow, уходит на планёрку, возвращается к готовому результату.

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


Теория

Что такое n8n и зачем он нужен

n8n (произносится «эн-эйт-эн», от «node to node») — это визуальный конструктор автоматизаций. Представь его как схему электрических соединений, только вместо тока между проводами текут данные. Ты мышкой соединяешь блоки — и всё работает.

Главное отличие от других инструментов: n8n открытый (бесплатный исходный код) и может жить на твоём собственном сервере. Никаких ежемесячных платежей за базовый функционал. Мы уже подняли сервер в День 10 — n8n встанет туда одной командой.

Принцип работы: узлы и связи

Любой workflow в n8n состоит из узлов (nodes) и связей между ними.

Узел — это один шаг, одно действие. Например:

  • «Прочитать строку из Google Sheets»
  • «Отправить запрос в Gemini API»
  • «Записать результат обратно в таблицу»
  • «Послать сообщение в Telegram»

Связь — это стрелочка между узлами. Она говорит: «когда первый шаг сделан — передай данные следующему».

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

Откуда берётся запуск (триггер)

Каждый workflow должен с чего-то начинаться. Это называется триггер (trigger — спусковой крючок). Варианты:

  • Вручную — ты нажимаешь кнопку «Запустить». Подходит для разовых задач.
  • По расписанию — например, каждый понедельник в 9:00. Workflow запускается сам.
  • Webhook — внешняя система присылает сигнал («новый заказ пришёл — начинай»).
  • По событию — в Google Sheets появилась новая строка, пришло письмо на email и т.д.

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

Данные внутри workflow — это просто JSON

Когда данные текут между узлами, они выглядят как структурированный список. Например, Google Sheets передаёт узлу Gemini вот что:

{
  "название": "Рюкзак туристический 40л зелёный",
  "артикул": "RK-40-GRN"
}

Узел Gemini подставляет название в промпт, получает описание и передаёт дальше:

{
  "название": "Рюкзак туристический 40л зелёный",
  "артикул": "RK-40-GRN",
  "описание": "Вместительный туристический рюкзак объёмом 40 литров..."
}

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

Gemini API — мозг цепочки

Gemini API — это то же самое, что Gemini в браузере, только без интерфейса. Твой workflow обращается к нему напрямую, передаёт текст промпта, получает ответ. Никакого копирования вручную — это происходит автоматически для каждой строки таблицы.

Для работы нужен API-ключ — он бесплатно выдаётся в Google AI Studio (aistudio.google.com). Это просто длинная строка букв и цифр, которую ты один раз вставляешь в n8n.

Telegram-уведомление — твой личный диспетчер

Добавив в конец цепочки узел Telegram, ты получишь сообщение в телефон, когда вся обработка завершится. Например: «Готово! Обработано 80 товаров. Проверь таблицу.» Ты можешь заниматься своими делами и не смотреть в экран компьютера — бот сам тебя позовёт.


Демо: смотрим как работает

Шаг 1. Запускаем n8n через Docker

Открываем терминал на сервере (или на своём компьютере, если Docker установлен). Вводим одну команду:

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

Что это означает: запустить n8n в контейнере, открыть порт 5678, сохранять настройки в папку ~/.n8n. Через 30 секунд в терминале появится сообщение «n8n ready on port 5678».

Открываем браузер: http://localhost:5678. Видим интерфейс n8n. Регистрируемся (email + пароль).

Альтернатива без Docker: идём на n8n.cloud, нажимаем «Start for free» — получаем облачный n8n на 14 дней бесплатно. Интерфейс тот же.

Шаг 2. Первый workflow — проверяем связь с Gemini

Нажимаем «+ New Workflow» (или «Create Workflow»). Видим пустое поле — рабочий стол.

Добавляем первый узел — триггер: Нажимаем «+» → ищем «Manual Trigger» → добавляем. Это кнопка «Запустить вручную».

Добавляем второй узел — HTTP Request (Gemini API): Нажимаем «+» рядом с первым узлом → ищем «HTTP Request» → добавляем.

Настраиваем HTTP Request:

  • Method: POST
  • URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=ВАШ_API_КЛЮЧ
  • Body (JSON):
{
  "contents": [
    {
      "parts": [
        {
          "text": "Напиши SEO-описание для маркетплейса Wildberries для товара: Рюкзак туристический 40л зелёный. 2-3 предложения, ключевые слова включи естественно."
        }
      ]
    }
  ]
}

Нажимаем «Test step» — справа появляется ответ от Gemini с текстом описания. Всё работает.

Шаг 3. Второй workflow — Google Sheets → Gemini → Google Sheets

Создаём новый workflow.

Подготавливаем таблицу Google Sheets: Создаём таблицу с колонками: A — Артикул, B — Название товара, C — SEO-описание (пока пустая). Вносим 5 тестовых товаров в строки 2–6.

Узел 1 — Manual Trigger: добавляем как раньше.

Узел 2 — Google Sheets (читать): Нажимаем «+» → Google Sheets → операция «Get Rows» (получить строки).

  • Подключаем Google аккаунт (n8n попросит OAuth — разрешаем доступ к таблицам).
  • Указываем ID таблицы (из URL: docs.google.com/spreadsheets/d/ВОТ_ЭТО_ID/...).
  • Лист: Sheet1. Диапазон: A:C.

Нажимаем «Test step» — видим 5 строк с нашими товарами.

Узел 3 — HTTP Request (Gemini): Добавляем как в первом демо, но теперь в тексте промпта используем динамическое поле из предыдущего узла:

Напиши SEO-описание для маркетплейса Wildberries для товара: {{ $json.Название товара }}. 
2-3 предложения, ключевые слова включи естественно. 
Отвечай только готовым текстом, без вводных фраз.

{{ $json["Название товара"] }} — это способ n8n вставить данные из предыдущего узла. Просто кликаешь на поле, выбираешь нужное — и n8n сам пишет такой код.

Узел 4 — Google Sheets (записать): Google Sheets → операция «Update Row» (обновить строку).

  • Та же таблица.
  • Колонка C = {{ $json.candidates[0].content.parts[0].text }} (так выглядит ответ Gemini).
  • Строку определяем по номеру записи.

Нажимаем «Execute Workflow». Смотрим как загораются узлы слева направо — данные текут. Открываем таблицу — в колонке C появились описания.

Шаг 4. Добавляем Telegram-уведомление

Узел 5 — Telegram: Нажимаем «+» после Google Sheets → Telegram → операция «Send Message».

  • Подключаем бота: нужен Bot Token (создаётся через @BotFather в Telegram за 2 минуты).
  • Chat ID: твой личный ID (узнаёшь через @userinfobot).
  • Текст сообщения:
✅ Готово! Обработано товаров: {{ $runIndex + 1 }}
Открой таблицу и проверь описания.

Запускаем — в телефон приходит уведомление. Workflow полностью готов.


Практика

Задание 1. Запустить n8n

Выбери способ:

  • Docker (если есть сервер или Docker Desktop): скопируй команду из демо, запусти, открой localhost:5678.
  • n8n.cloud: зарегистрируйся на n8n.cloud, нажми «Start for free».

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

Задание 2. Создать первый workflow: товар → Gemini → Sheets

Создай Google Таблицу с 5 реальными товарами из своего ассортимента (или придумай 5 названий). Собери workflow по шагам из демо:

  1. Manual Trigger
  2. Google Sheets — читать строки
  3. HTTP Request — Gemini API с промптом:
Напиши SEO-описание для маркетплейса для товара: {{ $json["Название"] }}
Объём: 3 предложения. Включи ключевые слова естественно.
Не пиши вводных фраз — сразу текст описания.
  1. Google Sheets — записать ответ в колонку C.

Задание 3. Запустить на 5 товарах

Нажми «Execute Workflow». Проверь, что в колонке C таблицы появились тексты. Убедись:

  • Каждая строка заполнена.
  • Текст соответствует названию товара (нет ошибок в привязке строк).
  • Тексты разные, а не одинаковые.

Если что-то пошло не так — нажми на красный узел и прочитай сообщение об ошибке. Самые частые: не тот диапазон в Sheets, неверный API-ключ, опечатка в JSON.

Задание 4. Самостоятельно: добавить генерацию 3 вариантов названия

Добавь в workflow новый узел Gemini (HTTP Request) после чтения из Sheets, перед записью. Промпт:

Предложи 3 варианта продающего названия для товара: {{ $json["Название"] }}
Формат: три варианта через точку с запятой. Только варианты, без нумерации.

Запиши результат в колонку D таблицы («Варианты названий»). Запусти на тех же 5 товарах. Теперь у тебя и описание, и варианты названий — всё автоматически.


Самостоятельная работа

Домашнее задание: твоя первая рабочая автоматизация

Возьми реальную повторяющуюся задачу из своей работы. Это может быть:

  • Написание описаний для новых товаров
  • Генерация ответов на типовые вопросы покупателей
  • Составление заголовков и подзаголовков карточек
  • Перевод описаний (если работаешь с иностранными поставщиками)

Что сделать:

  1. Подготовь Google Таблицу с 10 реальными позициями (не тестовыми — настоящими из работы).
  2. Собери n8n workflow, который обрабатывает эти 10 позиций.
  3. Добавь Telegram-уведомление по завершению.
  4. Запусти и зафиксируй результат.
  5. Замерь время: сколько ушло бы на это вручную vs сколько заняла автоматизация.

Оформи итог в одну строку: «Задача: [что делал]. Вручную: [X минут]. Автоматически: [Y минут]. Сэкономил: [Z минут].»

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


Чек-лист урока

  • [ ] Понимаю что такое n8n и чем он отличается от ручной работы
  • [ ] Запустил n8n (через Docker или n8n.cloud) и вижу рабочий стол
  • [ ] Создал workflow: Google Sheets → Gemini API → Google Sheets
  • [ ] Добавил Telegram-уведомление в конец цепочки
  • [ ] Запустил автоматизацию на 5 тестовых товарах — всё записалось
  • [ ] Самостоятельно добавил генерацию 3 вариантов названия
  • [ ] Домашнее задание: запустил рабочую автоматизацию на 10 реальных позициях, зафиксировал экономию времени