Система n8n-автоматизации для генерации отчётов об эффективности авторов на основе рекламных данных (Яндекс Директ, ВКонтакте) с доставкой через Telegram и Google Drive.
Проект содержит два n8n-воркфлоу, работающих совместно:
- Основной сценарий отчёта (
main-report-workflow.json) — получает данные о расходах из Google Sheets, генерирует отчёты по авторам через OpenAI, экспортирует в Google Drive. - Флоу работы с Telegram (
telegram-bot-flow.json) — управляет Telegram-ботом: принимает команды, ведёт список авторов, запускает генерацию отчётов, отправляет результаты.
- Читает список авторов и данные о бюджетах из Google Sheets (вкладки Яндекс Директ и ВКонтакте)
- Сопоставляет расходы с авторами по имени/ID
- Генерирует форматированные отчёты по каждому автору через OpenAI
- Сохраняет отчёты в виде Google Sheets в общей папке Google Drive
- Уведомляет пользователей в Telegram о готовности отчётов со ссылкой на папку
- n8n (self-hosted или облако)
- Google-аккаунт с доступом к Google Sheets и Google Drive
- Telegram-бот (создаётся через @BotFather)
- API-ключ OpenAI
Создайте следующие credentials в вашем инстансе n8n:
| Credential в воркфлоу | Тип | Примечание |
|---|---|---|
YOUR_GOOGLE_SHEETS_CREDENTIAL_ID |
Google Sheets OAuth2 | Нужен доступ на чтение/запись таблиц |
YOUR_GOOGLE_DRIVE_CREDENTIAL_ID |
Google Drive OAuth2 | Нужен доступ к папке с отчётами |
YOUR_OPENAI_CREDENTIAL_ID |
OpenAI API | Стандартный API-ключ |
YOUR_TELEGRAM_CREDENTIAL_ID |
Telegram API | Токен бота из BotFather |
Необходимо четыре таблицы:
| Плейсхолдер | Назначение |
|---|---|
YOUR_GOOGLE_SPREADSHEET_ID_1 |
Данные о бюджетах — вкладки «Бюджет ЯД» и «Бюджет ВК» |
YOUR_GOOGLE_SPREADSHEET_ID_2 |
Список авторов — соответствие имён и ID |
YOUR_GOOGLE_SPREADSHEET_ID_3 |
Основная таблица с результатами отчётов |
YOUR_GOOGLE_SPREADSHEET_ID_4 |
(опционально) Дополнительный источник данных |
Ожидаемые названия колонок в таблицах с бюджетами:
Автор— имя автораID автор/ID автора— ID автора
Создайте папку в Google Drive для сохранения отчётов. Замените YOUR_GOOGLE_DRIVE_FOLDER_ID на её ID (берётся из URL папки: drive.google.com/drive/folders/<ID>).
- В n8n: Workflows → Import from file
- Импортируйте
workflows/main-report-workflow.json - Импортируйте
workflows/telegram-bot-flow.json - Откройте каждый воркфлоу и обновите все плейсхолдеры:
- ID таблиц в нодах Google Sheets
- ID папки в нодах Google Drive
- Ссылки на credentials (выберите созданные)
- Имя бота в поле credential
- Создайте бота через @BotFather и получите токен
- Добавьте токен в Telegram API credential в n8n
- Замените
@your_telegram_botна реальный username вашего бота
Флоу работы с Telegram
├── Webhook-триггер (принимает сообщения из Telegram)
├── Маршрутизатор команд (нода Switch)
│ ├── /start → приветственное сообщение
│ ├── обновить список → синхронизация списка авторов из Google Sheets
│ └── сформировать отчёты → запуск основного воркфлоу
└── Уведомления о статусе → Telegram
Основной сценарий отчёта
├── Чтение списка авторов (Google Sheets)
├── Чтение бюджетных данных — вкладка Яндекс Директ
├── Чтение бюджетных данных — вкладка ВКонтакте
├── Объединение и нормализация данных
├── Генерация отчёта по автору (OpenAI)
├── Запись отчёта в Google Sheets
├── Сохранение в папку Google Drive
└── Уведомление в Telegram со ссылкой на папку
Google Sheets (бюджеты) ──┐
├──► Объединение и нормализация ──► OpenAI ──► Google Drive
Google Sheets (авторы) ──┘ │
▼
Уведомление в Telegram
Все значения, требующие замены, отмечены плейсхолдерами YOUR_*:
| Плейсхолдер | Где найти |
|---|---|
YOUR_GOOGLE_SPREADSHEET_ID_* |
URL Google Sheets: .../spreadsheets/d/<ID>/edit |
YOUR_GOOGLE_DRIVE_FOLDER_ID |
URL папки Google Drive: .../folders/<ID> |
YOUR_GOOGLE_SHEETS_CREDENTIAL_ID |
ID credential n8n (назначается автоматически) |
YOUR_GOOGLE_DRIVE_CREDENTIAL_ID |
ID credential n8n |
YOUR_OPENAI_CREDENTIAL_ID |
ID credential n8n |
YOUR_TELEGRAM_CREDENTIAL_ID |
ID credential n8n |
YOUR_N8N_INSTANCE_ID |
Settings → n8n API или виден в экспорте воркфлоу |
@your_telegram_bot |
Username вашего бота из BotFather |
your-email@example.com |
Email Google-аккаунта для OAuth2 |
Your Reports Folder |
Название папки с отчётами в Google Drive |
MIT