← Все вебинары

Автоматизация отчетности для Яндекс Директ через ИИ

Не клики по Мастеру отчётов, а контур: API-токен → промпт агента → PDF → Telegram-бот по расписанию. Разбор, когда это окупается, чего API не отдаёт и как не светить секреты в открытом репозитории.

20–30+ клиентов — порог, когда ручной понедельник ломается
2 режима: полуручной чат и авто в Telegram
1→N одно приложение на много кабинетов
~15 мин заявка API у спикеров (формально — до недели)

Содержание вебинара

Цепочка API + бот + промпт + закрытый репозиторий + cron. Тема — не интерфейс Мастера отчётов, а выгрузка статистики и сборка PDF агентом.

Обложка вебинара: автоматизация отчетности для Яндекс Директ через ИИ
Слайд 1 — тема эфира: отчёты через API и агента, не через клики в кабинете

Спикеры

Роман ведёт живой кабинет, Cursor и Telegram. Константин закрывает нюансы API, AdPump и то, чего интерфейс обещает, а выгрузка не отдаёт.

Роман Скороходов — спикер вебинара по автоматизации отчётности Директа

Роман Скороходов

Рекомендованный специалист Яндекса, практика в кабинете

  • Показывает oauth, заявку в Директе, Cursor и выгрузку в закрытый репозиторий
  • Куратор «Монстров Маркетинга», агентство на 8 человек
  • Демо: полуручной чат с агентом и полный авто в Telegram по понедельникам
Константин Горбунов — спикер вебинара, нюансы API и AdPump

Константин Горбунов

AdPump, API-ограничения, контур на 50+ кабинетов

  • Одно приложение на много логинов — так снимают 50+ кабинетов
  • Почему «История изменений» из интерфейса через API не выгружается
  • Промпт и инструкция: adpump.ru/instructions/otchetnost-direkt-ii

Зачем автоматизация и кому она нужна

Если клиентов меньше пары десятков, проще собрать отчёт руками. Боль теряется в понедельник, когда команда клепает десятки PDF.

Порог 20–30+ клиентов

На эфире ориентир простой: поток больше 20–30 кабинетов — и понедельник уходит на ручные выгрузки. Это не «красивый PDF ради красоты», а снятие рутины с команды.

Константин отдельно предупреждает: красивый отчёт не поднимает оплату клиента. Если по отчёту видно, что «вы ничего не делаете», чек могут даже снизить. Автоматизация экономит часы, а не продаёт услугу дороже.

Два рабочих режима

  • Полуручной: в чат проекта пишете «дай 10 отчётов по 10 клиентам» — агент собирает PDF, вы сами отправляете
  • Полный авто: бот кладёт отчёт в Telegram-чат клиента по cron (в демо — понедельник 09:00 по Москве)
  • Excel из кабинета раз в неделю — это всё ещё ручная работа, не автоматизация

Повестка: пять блоков контура

Cursor здесь — оболочка и рабочая папка, не «нейронка». Внутри — Composer, Grok и другие модели. Альтернатива — Claude Code.

API-токен кабинета Директа

Сначала приложение на oauth.yandex.ru, потом отдельная заявка уже в кабинете Директа. Токен выдаётся только после статуса «одобрена».

Нюансы выгрузки

Не все вкладки кабинета отдаёт API. «История изменений» из интерфейса не выгружается. Нужен свой снимок до/после.

Telegram-бот

Один бот во все клиентские чаты, админ-права, идентификатор чата. Личный User API в РФ сейчас получить проблемно — поэтому бот как прослойка.

Общий промпт

Канон на AdPump. Агент сам спрашивает нишу, сайт, токены и цели Метрики. Скилл PDF от Anthropic — иначе знаки рублей в вёрстке ломаются.

Облако и расписание

Закрытый GitHub + Cursor Automations / Cloud Agents. Чтобы не держать ПК 12–15 часов — VDS примерно 2–3 тыс. ₽ в месяц.

Повестка вебинара: API-токен, нюансы API, Telegram-бот, общий промпт, выгрузка на облако
Слайд 7 — пять шагов: токен, нюансы API, бот, промпт, облако и расписание

Запись вебинара

Нажмите на обложку — плеер подгрузится по клику. Private Rutube: без токена в ссылке запись не откроется.

Если плеер не открывается — в ссылке должен быть параметр ?p=. Без него private-запись Rutube не отдаёт видео.

Как создать OAuth-приложение

Приложение регистрируют на личной почте Яндекса, не на клиентском логине. Роман в эфире приложение не создавал — чтобы не светить Client Secret.

  1. Тип и скоупы

    Тип: для доступа к API или отладке. В доступе к данным нужны два пункта: использование API Директа и чтение статистики Метрики (metrika:read).

    Слово metrika ищут латиницей. По-русски «метрика» в списке скоупов часто не находится. Без Метрики в отчёте не будет отказов и глубины просмотра.

  2. Сохранить ключи сразу

    После создания приложения сохраняют Client ID и Client Secret. Список приложений — на oauth.yandex.ru. Одно приложение потом расшаривают на много кабинетов: не нужно 50 приложений на 50 логинов.

Шаг 1: создать приложение на oauth.yandex.ru, тип для доступа к API, скоупы Директа и Метрики
Слайд 8 — создать приложение: тип API/отладка, скоупы Direct + чтение Метрики
Форма создания OAuth-приложения Яндекса: название, почта, доступы к данным
Слайд 9 — форма oauth: название приложения и доступы к данным
Карточка созданного OAuth-приложения: Client ID и частично скрытый Client Secret
Слайд 10 — после создания: сохранить Client ID и Secret, не публиковать ключи

Заявка в кабинете Директа — отдельно от oauth

oauth.yandex.ru недостаточно. Полный доступ открывает заявка уже в Директе. На слайде срок «до 7 дней»; у спикеров заявки часто одобряют за 10–15 минут.

Что писать в заявке

Смысл описания: автоматизация отчётности, агентская выгрузка статистики и еженедельные PDF — без управления ставками. К заявке нужен файл; в демо грузили любую заглушку.

Пока ждёте — можно открыть песочницу и не отдавать агенту боевой кабинет. Для входа на страницу заявок в Директ Про нужна хотя бы одна кампания и принятое соглашение API.

Одно приложение — много кабинетов

Доступы логину приложения расшаривают с нужных кабинетов. Константин так снимает 50+ аккаунтов с одного приложения AdPump.

Госуслуги спикер оговаривает: «могу соврать». Жёстким правилом 2026 это не называть — вспоминали старый кейс с большим набором скоупов.

Шаг 2: заявка на полный API в кабинете Яндекс Директа, не на oauth.yandex.ru
Слайд 11 — заявка в самом Директе, описание без управления ставками
Страница заявок API в Яндекс Директе: список и кнопка новой заявки
Слайд 12 — список заявок API в кабинете
Живая заявка в Директ Про: схема и описание «автоматизация отчетности», файл-заглушка
Кадр из записи — форма заявки: «новые возможности» / схема = автоматизация отчетности
Форма новой заявки API: выбор приложения и текстовое описание доступа
Слайд 13 — новая заявка: выбрать своё приложение и описать выгрузку статистики
Статусы заявки API в Директе: на рассмотрении, одобрена или отклонена
Слайд 14 — статусы заявки: на рассмотрении / одобрена / отклонена
Параметры API в кабинете: доступ открыт, баллы API версии 4 в демо 32 000
Кадр из записи — параметры API: доступ открыт, баллы API v4 в демо 32 000 (они конечны)
Раздел «Мои заявки»: статус новая, полный доступ к API кабинета
Кадр из записи — «Мои заявки»: статус «новая», полный доступ. Дата в кабинете — не дата эфира

Токен после «одобрена» и чего API не отдаёт

Ссылку authorize открывают только когда заявка в статусе «одобрена». В URL подставляют свой Client ID.

Changes ≠ «История изменений»

Журнал из интерфейса Директа («добавили минус-фразы в кампанию X») через API не выгружается. Сервис Changes даёт три флага:

  • SELF — трогали параметры самой кампании
  • CHILDREN — трогали группы, объявления, фразы
  • STAT — Яндекс сам поправил статистику (часто антифрод), это не ваша работа

Чтобы написать человекочитаемую выжимку, снимают свой снимок: Campaigns.get, Keywords.get, минусы, бюджет, стратегия — и сравнивают с прошлым. Старые PDF/Excel можно скормить агенту как «как было». На качественную еженедельную выжимку нужно 1–2 недели накопления до/после.

Шаг 3: получить токен по ссылке authorize только после статуса заявки «одобрена»
Слайд 15 — токен: authorize + свой Client ID после одобрения заявки
Нюансы API: история изменений из интерфейса не отдаётся, нужны Changes и свой снимок до-после
Слайд 16 — Changes SELF / CHILDREN / STAT и свой снимок кабинета

Cursor, Claude Code и железо

Сайт cursor.com без VPN часто не открывается, само приложение работает. Claude Code без VPN — риск бана. Общаться с агентом можно по-русски.

Вопрос Как на эфире
Что ставить Cursor или Claude Code. Cursor = workspace (Windows и Mac), внутри Composer / Grok, не «одна нейронка»
Чтобы ПК был выключен VDS примерно 2–3 тыс. ₽/мес (1 тыс. «слабо»). Cloud Agents / Automations уже входят в подписку Cursor
Окружение Агент сам ставит Python и Node по просьбе
Тарифы голосом Ориентир ~20 / 100 / 200 $. Для разовых отчётов хватит дешёвого; на облачные автоматизации «на 20 токенов может не хватить», ориентир около 100 $

Telegram-бот для отправки отчёта клиенту

Один бот во все чаты. MAX на эфире упоминали, но Константин прямо отговаривает: подключайте Telegram, не возитесь с Max Business.

  1. BotFather только с галочкой

    Ищут официального BotFather, жмут Start, создают бота. Username должен оканчиваться на bot. Сохраняют токен бота в секреты проекта, не в публичный чат.

  2. Бот в чат + админ-права

    Бота добавляют в чат с клиентом и дают админ-права: удалять свои сообщения, закреплять отчёт. Без Premium лимита «сейчас нет» — так звучало на эфире.

  3. Идентификатор чата

    Через @Getmyid_bot берут Your ID / Current chat ID и кладут в переменные окружения. Сами числа на страницу не копируем — на слайдах они уже скрыты.

Шаг 1: открыть официального BotFather в Telegram с галочкой и нажать Start
Слайд 18 — официальный BotFather, не фейковые аккаунты
Создание бота в BotFather: имя, username на bot, сохранение токена
Слайд 19 — создать бота и сохранить токен
Добавление бота в чат с клиентом и выдача прав администратора
Слайд 20 — бот в клиентский чат, админ-права для своих сообщений
Получение идентификатора чата через Getmyid_bot, значения на кадре скрыты
Слайд 21 — идентификатор чата через Getmyid_bot (числа на кадре скрыты)

Общий промпт и живой запуск в Cursor

Канон лежит на AdPump. Можно скопировать текст или сказать агенту: «забери промпт по ссылке». Ссылка — источник инструкции, не продажа курса.

Что агент спрашивает сам

Ниша, сайт, токен Директа, логин кабинета, цели Метрики, токен бота, идентификатор чата. Визуал (логотип, цвета) правят одним сообщением. Официальный скилл PDF Anthropic нужен, чтобы «₽» не превращался в квадратики.

В live Роман открыл пустую папку, дал ссылку на инструкцию и фразу вроде «делай». Агент сам собрал вводные и предложил создать файл окружения.

Общий промпт автоматизации отчётности Директа на AdPump
Слайд 22 — общий промпт: adpump.ru/instructions/otchetnost-direkt-ii
Страница инструкции AdPump: полный промпт автоматизации отчётности и цепочка ролей
Кадр из записи — live-страница AdPump с промптом и цепочкой ролей
Cursor: открыт репозиторий otchet-direct-auto, пустой чат с агентом
Кадр из записи — рабочая папка в Cursor, агент ещё не запущен
Агент по ссылке AdPump запросил нишу, сайт, токены и предложил создать файл окружения
Кадр из записи — агент сам собрал вводные и просит создать файл окружения

GitHub, закрытый репозиторий и Cloud Agents

Cursor Automations держит проект в GitHub. Выгружают в закрытый репозиторий. В демо агент коммитил файл окружения — учебный антипаттерн: секреты в .gitignore и Cloud Secrets.

Поля окружения (имена, не значения)

  • YANDEX_DIRECT_TOKEN
  • YANDEX_DIRECT_CLIENT_LOGIN
  • YANDEX_METRIKA_TOKEN — можно дублировать токен Директа
  • DIRECT_API_BASE
  • TELEGRAM_BOT_TOKEN и идентификатор чата

Cloud Agents

New Environment → выбрать репозиторий → Start Agent. Это «сервер в подписке»: у ChatGPT Cowork и Claude Code такого в подписке нет. Для облачных прогонов ориентир тарифа — около 100 $, не минимальные 20 $.

Подключение GitHub в Cursor: интеграции и авторизация аккаунта
Слайд 23 — GitHub как «память» проекта для Automations
cursor.com, раздел Integrations: GitHub подключён к рабочему аккаунту
Кадр из записи — Integrations: GitHub уже подключён
Выгрузка проекта автоматизации отчётности в закрытый репозиторий GitHub
Слайд 24 — выгрузить проект в закрытый репозиторий
Агент выгружает файлы проекта в private-репозиторий, секреты в открытый коммит не класть
Слайд 25 — учебный кадр выгрузки; секреты и URL репозитория в текст не копируем
Cursor Cloud Agents: создать новое окружение для прогона агента в облаке
Слайд 26 — Cloud Agents: новое окружение
Cursor Cloud Agents: форма Create New Environment и список репозиториев
Кадр из записи — Create New Environment, выбор репозитория
Выбор репозитория otchet-direct-auto для Cloud Agent в Cursor
Слайд 27 — выбрать репозиторий и запустить агента

Cron понедельника и отчёт в таблицы

В демо: каждый понедельник 09:00 по Москве. Cron 0 6 * * 1 — это 06:00 UTC при UTC+3. Ошибка 0 6 1 * * срабатывает 1-го числа месяца.

Модель и альтернатива PDF

Для крона спикеры берут Composer: дешевле и больше токенов в подписке, чем Grok. Opus для еженедельных отчётов избыточен.

Если PDF не нужен — Google Cloud Console + Sheets API или скилл таблиц / Calendar / Drive в Marketplace. Это тот же контур «агент по расписанию», только выход — строка в таблице, а не файл.

Cursor Automations: настройка крона и промпта для еженедельного отчёта Директа
Слайд 28 — Automations: крон + промпт
cursor.com/automations: новая автоматизация, статус Inactive, поле триггеров ещё пустое
Кадр из записи — новая автоматизация, триггеры ещё не заданы
Готовая автоматизация «Автоматизация отчетности Яндекс Директ» в Cursor, репозиторий otchet-direct-auto
Слайд 29 — демо крона: otchet-direct-auto, расписание и инструкции агента
Таблица переменных окружения в Cursor: токен Директа, логин, Метрика, Telegram — без значений секретов
Кадр из записи — имена полей окружения; значения токенов на кадр не попали
Агент объясняет cron 0 6 * * 1 как понедельник 09:00 по Москве и ошибку 0 6 1 * *
Кадр из записи — верный cron понедельника и типичная ошибка «1-е число»
Cursor Marketplace: поиск Google, скиллы таблиц, Calendar и Drive для отчёта в таблицы
Кадр из записи — путь «отчёт в Google-таблицы» через Marketplace / MCP

Что API не умеет — и чем это не Мастер отчётов

Эфир про выгрузку и агента. Не про клики по срезам в интерфейсе Мастера отчётов. Ниже — ограничения, которые звучали голосом.

  • Мастер кампаний через API не редактируется (речь про тип кампании, не про Мастер отчётов)
  • Интересы аудиторий целиком не правятся; товарные — только часть отчётов
  • Баллы API Директа (v4 / Live 4) конечны — в какой-то момент закончатся
  • metrika:read не видит счётчики, выданные через представительский доступ; на старом приложении скоуп может не появиться
  • Cursor «только ради отчётов» не окупается. Имеет смысл, если закрывает стек: контент, сайты, CRM, бухгалтерия

Частые вопросы

Когда автоматизация отчётов Директа реально нужна?

Когда поток 20–30+ клиентов и понедельник уходит на ручные PDF. На меньшем объёме дешевле собрать отчёт руками или полуручным запросом в чат агента.

Чем заявка в Директе отличается от приложения на oauth.yandex.ru?

oauth создаёт приложение и ключи. Полный доступ к кабинету открывает вторая заявка уже в Директе. Токен по authorize дают только после статуса «одобрена».

Сколько смотрят заявку на API?

На слайде — до 7 дней. У спикеров чаще 10–15 минут. Пока ждёте — песочница, боевой кабинет агенту не отдавать.

Почему в отчёте нет «истории изменений» как в интерфейсе?

Этот журнал API не отдаёт. Changes говорит только SELF / CHILDREN / STAT. Человекочитаемый «добавили минусы» собирают своим снимком до/после.

Как отправлять PDF клиенту в Telegram?

Официальный BotFather → один бот во все чаты → админ-права → идентификатор чата через Getmyid_bot → переменные окружения. Писать агенту можно по-русски.

Какой cron на понедельник 09:00 по Москве?

0 6 * * 1 (06:00 UTC при UTC+3). 0 6 1 * * — это 1-е число месяца, не каждый понедельник.

Это то же самое, что Мастер отчётов в кабинете?

Нет. Здесь API, агент, бот и cron. Клики по срезам Мастера отчётов — другая тема и другой разбор. Через API ещё и нельзя править Мастер кампаний.

Где смотреть полную запись?

На этой странице в блоке «Запись вебинара»: обложка → плеер по клику. Нужен параметр ?p= в ссылке Rutube.