Практика: конкуренты, отзывы, отчёт, гипотезы

При подготовке курса в таблице «Журнал аналитики» кофейни «Зерно» появились две строки. Первая: «4.2 конкуренты | ok | постов: 17, в неделю: 4.8». Вторая: «4.6 слайд | ok | check: ОК». Обе пришли от ручных запусков, а сами сценарии уже стояли включёнными с расписанием на понедельник. В этом практикуме вы сделаете так же: два сценария модуля начнут работать без вас, а вы будете раз в неделю открывать журнал.

Чему научитесь в этом уроке:
• отличать сценарии, которые могут работать по расписанию, от тех, которым нужен ваш файл;
• поставить разбор конкурента и слайд недели на расписание по понедельникам;
• записывать итог каждого запуска в таблицу данных «Журнал аналитики» и читать её.
Расписанию нужен работающий n8n. У облачного n8n есть пробный период. Когда он кончается, запуски по расписанию прекращаются. Срок указан в вашем кабинете: проверьте его до начала практикума. Если период уже кончился, сценарии можно собрать и запускать вручную; что тогда приложить к заданию, сказано в подсказке к нему.

Какие сценарии могут работать сами

Представьте помощника, который каждый понедельник приходит в кофейню раньше всех. Сходить посмотреть ленту конкурента он может сам: она открыта всем. А принести отчёт из Директа не может, пока вы не скачаете выгрузку и не дадите ему файл в руки. Со сценариями модуля так же.

  • 4.2, разбор конкурента. Сам читает открытую веб-ленту канала, файл ему не нужен. Ставим на расписание.
  • 4.6, слайд недели. Берёт последние цифры из таблицы «Цифры недели», файл ему не нужен. Ставим на расписание.
  • 4.3, разбор отзывов. Стартует с формы «Загрузка CSV» и ждёт файл отзывов. По расписанию ему нечего читать.
  • 4.4, недельный отчёт. Стартует с формы «Загрузка выгрузок» и ждёт два файла: из Директа и из Метрики. Выгрузки вы скачиваете в кабинетах сами, поэтому и этот сценарий остаётся на форме. Зато каждый его запуск кладёт свежие недели в таблицу «Цифры недели», и слайд в понедельник возьмёт их оттуда.

Из трёх результатов модуля для владельца (разбор конкурента, отчёт, слайд) два идут по расписанию: разбор конкурента и слайд. Отчёт вы запускаете формой раз в неделю, когда скачали свежие выгрузки, и он же обновляет цифры для слайда. Чтобы слайд вышел со свежими цифрами, загружайте выгрузки до его запуска в понедельник 9:30. Отзывы тоже идут через форму, по мере того как накапливаются.

Схема конвейера модуля 4. По расписанию: «4.2 Разбор конкурента» (пн 9:00) и «4.6 Слайд недели» (пн 9:30), оба добавляют строку в таблицу «Журнал аналитики» (scenario, status, summary, check). По кнопке с вашим файлом: «4.4 Недельный отчёт» (форма, Директ и Метрика) пишет недели в таблицу «Цифры недели», откуда слайд берёт последнюю строку (пунктирная стрелка), и «4.3 Разбор отзывов» (форма, файл отзывов).

Журнал аналитики

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

Создайте её: Personal → Data tables → Create data table, имя «Журнал аналитики». Колонки четыре:

  • scenario: какой сценарий записал строку;
  • status: чем кончился запуск, в прогоне писали ok;
  • summary: начало ответа модели, чтобы прочитать главное прямо в таблице;
  • check: короткая контрольная цифра или итог проверки, по которой видно, что сценарий получил данные.

Ставим 4.2 на понедельник 9:00

Откройте сценарий разбора конкурента из урока 4.2. Первым узлом поставьте Schedule Trigger, то есть будильник сценария, с правилом 0 9 * * 1: минуты 0, час 9, день недели 1. По-человечески это каждый понедельник в 9:00. Проверьте часовой пояс сценария, как в практикуме модуля 3.

После узла «Разбор конкурента» добавьте узел Data Table с действием Insert row: он дописывает в таблицу новую строку. Выберите «Журнал аналитики» и заполните поля. В summary и check вставьте выражения так, как они даны ниже, без лишних слов перед ними:

  • scenario: 4.2 конкуренты
  • status: ok
  • summary: {{ $json.text.slice(0, 900) }}
  • check: {{ 'постов: ' + $('Посты').first().json.count + ', в неделю: ' + $('Посты').first().json.perWeek }}

Summary берёт первые 900 знаков ответа модели. Check собирает строку из узла «Посты»: сколько постов нашлось и сколько в среднем выходит в неделю. Если в check стоит 0 постов, значит, лента не прочиталась, и разбор модели верить нельзя.

Ставим 4.6 на понедельник 9:30

В сценарии слайда из урока 4.6 сделайте то же самое: Schedule Trigger с правилом 30 9 * * 1, это понедельник в 9:30. Полчаса разницы нужны, чтобы два сценария не стартовали в одну минуту и в журнале было легко понять, кто за кем. После узла «Слайд» добавьте Data Table → Insert row в тот же «Журнал аналитики».

  • scenario: 4.6 слайд
  • status: ok
  • summary: {{ $json.заголовок + ' | ' + $json.выводы.join(' | ') }}
  • check: {{ $json.проверка_чисел }}

Summary собирает заголовок и три вывода слайда через черту. Check берёт итог проверки чисел из узла «Слайд»: «ОК» или список чисел, которых нет в данных.

Мелочь из прогона. При заполнении в строку журнала 4.6 попало «check: ОК» вместо «ОК»: подпись поля случайно оказалась в самом значении. Таблица от этого не ломается, но читать её неудобно. Копируйте в поля только то, что стоит в рамке выше, без названия поля перед ним.

Включаем и ждём понедельника

Расписание работает только у опубликованного и включённого сценария. Нажмите в каждом из двух сценариев Publish и убедитесь, что переключатель стоит в положении Active. Это делаете вы сами: в прогоне курса включал сценарии автор, а не помощник-агент.

Поправили включённый сценарий? Опубликуйте заново. Включённый сценарий правится как черновик, а расписание идёт по последней опубликованной версии. Если вы, например, добавили в слайд узел «Последние цифры» уже после включения, нажмите Publish ещё раз. Иначе в понедельник запустится старая версия.

Сразу после включения запустите каждый сценарий вручную кнопкой Execute workflow. В журнале должно появиться две строки, как в прогоне. Это проверка, что Insert row стоит на месте и поля заполнены. Первый автоматический запуск придёт в ближайший понедельник: откройте журнал после 9:30 и найдите две новые строки с этой датой. В прогоне курса такой запуск ещё впереди, ваш понедельник проверит схему вживую.

Если сценарий упадёт ночью, строки в журнале просто не будет, и узнаете вы об этом только в понедельник. Как получать уведомление о сбое в Telegram, разберём в уроке 5.1.

Если не получилось

  • В понедельник строк нет. Проверьте, что сценарий опубликован и Active, а часовой пояс ваш. Загляните во вкладку Executions: если запуска нет совсем, будильник не сработал; если запуск красный, откройте его и посмотрите, какой узел упал.
  • Строка есть, но в check 0 постов. Веб-лента канала не прочиталась. Откройте адрес t.me/s/ с именем канала в браузере: если ленты нет и там, канал закрыт или имя неверное.
  • Слайд в понедельник с прошлыми цифрами. На этой неделе отчёт 4.4 не запускали, и последняя строка в «Цифрах недели» старая. Запустите отчёт формой со свежими выгрузками, а затем слайд вручную.
  • Insert row ругается на колонку. Названия колонок в узле должны совпадать с таблицей буква в букву: scenario, status, summary, check.
  • Захотелось поставить 4.4 на расписание. Без нового файла сценарий нечего считать. Даты недель в коде узла «Цифры недели» к тому же заданы руками под учебные файлы, в строке const weeks. Для своих выгрузок меняйте их там.
  • Расписание перестало срабатывать. У пробного периода облачного n8n есть срок, он указан в вашем кабинете. Когда период кончится, запуски по расписанию прекратятся.

Контрольный вопрос. Почему сценарий разбора отзывов из урока 4.3 не ставят на расписание?

АМодель не умеет работать по понедельникам
БТаблица данных не принимает больше двух сценариев
ВОн стартует с формы и ждёт файл отзывов, а по расписанию файла никто не загрузит
ГРасписание доступно только в платной версии n8n

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

На курсе задания проверяются автоматически. Подобрать курс

Контрольный вопрос. В Schedule Trigger сценария стоит правило 30 9 * * 1. Когда он запустится?

АКаждый день в 9:30
БПервого числа каждого месяца в 9:30
ВКаждый понедельник в 9:30
ГКаждый понедельник в 30 минут десятого вечера

Подсказка: Читайте части правила по порядку: минуты, час, и последняя часть отвечает за день недели.

На курсе задания проверяются автоматически. Подобрать курс

Контрольный вопрос. В понедельник в 11:00 в «Журнале аналитики» нет новой строки от сценария 4.2. Что стоит проверить? Выберите все подходящие.

Выберите все верные варианты.

АХватает ли тем со статусом new в плане модуля 3
БЕсть ли в Executions запуск за сегодня и не красный ли он
ВСовпадает ли часовой пояс сценария с вашим
ГВключён ли сценарий (Publish, Active)

Подсказка: Нужно понять, сработал ли будильник и дошёл ли запуск до записи в журнал.

На курсе задания проверяются автоматически. Подобрать курс

Задание. МИССИЯ «Аналитика по понедельникам». Создайте таблицу данных «Журнал аналитики» с колонками scenario, status, summary, check. Поставьте сценарий разбора конкурента (урок 4.2) на Schedule Trigger 0 9 * * 1, а сценарий слайда (урок 4.6) на 30 9 * * 1. Перед понедельником запустите отчёт 4.4, чтобы в таблице «Цифры недели» была свежая строка. В конце каждого добавьте Data Table → Insert row в журнал. Опубликуйте и включите оба сценария, запустите каждый один раз вручную, затем дождитесь ближайшего понедельника. Приложите: (1) скриншоты обоих сценариев целиком, с Schedule Trigger первым узлом и Insert row последним; (2) скриншот, где видно, что оба сценария Active; (3) скриншот журнала со строками от ручных запусков и от автоматического понедельничного; (4) 2–4 фразы об одном замечании: что в журнале или в ответе модели показалось вам неточным, странным или неудобным и что вы с этим сделали; (5) одну фразу: почему сценарии 4.3 и 4.4 вы оставили на форме. Принято, если: оба сценария включены и начинаются с расписания на понедельник 9:00 и 9:30; в журнале есть хотя бы по одной строке от автоматического запуска каждого сценария (дата понедельника, время после 9:00 и 9:30); в check у 4.2 стоит число постов больше нуля; слайд 4.6 берёт цифры из таблицы «Цифры недели», а не из чисел, вписанных в код; описано одно замечание с цитатой из журнала или ответа модели; объяснение про 4.3 и 4.4 упоминает файл; на скриншотах не видны ключи и токены.

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

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

На курсе задания проверяются автоматически. Подобрать курс

Что дальше

Теперь у вас работают два конвейера: контентный из модуля 3 и аналитический из этого модуля. Слабое место у них общее: если сценарий упал, вы узнаете об этом поздно. В модуле 5 займёмся надёжностью, а начнём с уведомления о сбое в уроке 5.1.

Итог:
• по расписанию ставим только сценарии, которым не нужен ваш файл: разбор конкурента (пн 9:00) и слайд (пн 9:30), который берёт свежие цифры из таблицы «Цифры недели»;
• разбор отзывов и недельный отчёт остаются на форме, потому что ждут выгрузку; отчёт раз в неделю обновляет цифры для слайда;
• каждый запуск оставляет строку в «Журнале аналитики» через Data Table → Insert row, а колонка check показывает, что данные действительно пришли;
• сценарий включаете вы сами, после правок публикуете заново, а первый автоматический запуск проверяете в журнале в понедельник.

← Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева