Автоматический отчёт раз в неделю: n8n + Google Sheets + Telegram без программиста
Каждый понедельник в 9:00 руководитель получает в Telegram сводку за неделю: выручка, количество новых клиентов, топ-3 менеджера по продажам. Никто ничего не готовит вручную — данные берутся из Google Sheets, агрегируются и отправляются автоматически. Настройка заняла 3 часа и больше к ней не возвращались.
Зачем автоматизировать отчётность
В малом бизнесе еженедельный отчёт — это обычно 30-60 минут работы: кто-то открывает несколько таблиц, копирует цифры, считает итоги, форматирует сообщение и отправляет. Это 4-8 часов в месяц на повторяющееся механическое действие. Плюс риск ошибки при ручном переносе цифр.
n8n решает это системно: один раз настраиваете workflow, дальше он работает сам каждую неделю без вашего участия. Изменились данные в таблице — следующий отчёт уже с актуальными цифрами.
Структура workflow шаг за шагом
Шаг 1. Триггер по расписанию
Добавляем ноду Schedule Trigger. Настройка: каждый понедельник в 9:00. Cron-выражение: 0 9 * * 1.
Шаг 2. Читаем данные из Google Sheets
Добавляем ноду Google Sheets → Read Rows. Подключаем Google-аккаунт через OAuth2. Указываем ID таблицы и диапазон, например Sheet1!A:F.
Шаг 3. Агрегация данных
Нода Code (JavaScript) — здесь считаем итоговые числа. Пример кода для суммирования выручки:
const items = .all();
const totalRevenue = items.reduce((sum, item) => sum + Number(item.json.revenue || 0), 0);
const dealCount = items.length;
const avgDeal = dealCount > 0 ? Math.round(totalRevenue / dealCount) : 0;
return [{ json: { totalRevenue, dealCount, avgDeal } }];
Шаг 4. Формируем текст отчёта
Нода Code — собираем итоговый текст для Telegram. Берём данные из предыдущей ноды через переменные workflow, форматируем в читаемое сообщение с датой и числами.
Шаг 5. Отправка в Telegram
Нода Telegram → Send Message. Нужен Bot Token от @BotFather и Chat ID получателя. Chat ID вашего личного чата с ботом узнаёте через API: напишите боту любое сообщение, откройте api.telegram.org/bot{TOKEN}/getUpdates и найдите поле chat.id.
Продвинутый вариант: несколько источников данных
В реальных проектах данные редко в одном месте. Типичная ситуация: выручка в CRM, расходы в Google Sheets, трафик в Яндекс.Метрике. n8n умеет читать из нескольких источников параллельно через ноду Merge.
Схема расширенного workflow: Schedule Trigger → параллельно Google Sheets + amoCRM + HTTP Request к Метрике API → Merge → Code (считаем маржу, CPL, конверсию) → Telegram Send Message.
На настройку расширенного варианта уходит 1 день, но после этого у вас есть полноценный еженедельный дашборд в Telegram без отдельного аналитика.
Кейс: туристическое агентство, 3 менеджера
Турагентство в Новосибирске. Данные о бронях велись в Google Sheets, руководитель каждую пятницу вечером вручную сводил таблицу и отправлял отчёт партнёрам. Уходило 45-90 минут каждую неделю.
После автоматизации на n8n: workflow запускается в пятницу в 18:00, берёт данные за неделю, считает суммы по направлениям (Турция, Египет, Европа), формирует сообщение и рассылает партнёрам. Руководитель освободил 1 час в неделю, отчёт теперь всегда выходит вовремя.
Типичные ошибки при настройке
Пустые ячейки в Google Sheets: если попадается пустая строка — JavaScript выдаст NaN. Добавьте фильтр: пропускать строки без даты или суммы.
Токен Google-авторизации: OAuth-токен Google живёт 1 час, refresh — вечно, но n8n должен иметь доступ к интернету для обновления. Убедитесь что файрвол VPS не блокирует исходящие запросы к googleapis.com.
Гнаться за красотой сразу: сначала запустите работающий текстовый отчёт, потом улучшайте форматирование. Первый запущенный отчёт важнее идеального незапущенного.
Частые вопросы
Как настроить n8n для работы с Google Sheets?
Нужно создать OAuth2-клиент в Google Cloud Console: создаёте проект, включаете Google Sheets API, создаёте OAuth2-клиент, вставляете client_id и client_secret в n8n Credentials. Занимает 15-20 минут один раз.
Что делать если Google Sheets очень большой и загрузка медленная?
Укажите конкретный диапазон в ноде Google Sheets (только последние 1000 строк) или создайте отдельный лист-сводку, который обновляется Google Apps Script — тогда n8n читает уже агрегированные данные.
Можно ли отправлять отчёт не в Telegram, а в email?
Да. В n8n есть нода Send Email — через Gmail (OAuth2), SMTP или Postmark. Для HTML-письма с таблицами используйте нод Email с параметром HTML Body — можно собрать красивую таблицу прямо в коде workflow.
Сколько строк из Google Sheets может обработать n8n за один запуск?
Нода читает по умолчанию до 1000 строк. Если данных больше — используйте Pagination в настройках ноды или разбейте чтение на несколько нод с разными диапазонами.
Как добавить в отчёт график или диаграмму?
Используйте QuickChart API (quickchart.io) — передаёте данные через HTTP-запрос, получаете PNG-изображение графика, отправляете через ноду Telegram Send Photo. Бесплатно для базового использования.
Получи бесплатный аудит автоматизации
Ответь на 3 вопроса — разберём твой бизнес и покажем, где автоматизация даст максимальный эффект