Куда отправлять уведомления

Любая обработка ошибок бесполезна, если о них некому узнавать. Уведомления — это финальное звено: то, что превращает «сценарий упал» в «человек прочитал и принял меры».

Каналы

Самые рабочие варианты:

  • Telegram — мгновенно, удобно с телефона, легко делать чаты команды.
  • Slack / Discord — для команд, которые там работают; можно завести отдельный канал «alerts».
  • Email — медленнее, но не зависит от мессенджера и хорошо для отчётных уведомлений.
  • SMS — для самых критичных событий, когда сценарий обрабатывает деньги или здоровье.
  • PagerDuty / OpsGenie — для сценариев в продакшене, где важна эскалация и дежурства.

В большинстве случаев хватит одного канала. Если события разной важности — используйте два: «всё что угодно» в один канал, «только критичное» в другой.

Как не создать спам

Уведомления, на которые перестают обращать внимание — это хуже, чем их отсутствие. Несколько правил:

  1. Не уведомляйте на каждый сбой одного item. Если из 1000 писем не дошло одно — это не повод писать в чат. Достаточно записать в журнал и собрать отчёт за сутки.
  2. Группируйте. Если упало подряд 50 вызовов одного API за минуту — это одна проблема, не пятьдесят. В обработчике ошибок можно ставить таймер «не отправлять чаще раза в N минут».
  3. Различайте severity. Сбой в сценарии оплаты — критично. Сбой в сценарии «синхронизация по расписанию раз в час» — обычно подождёт до утра.
  4. Делайте сообщение читабельным. Сразу видно: что, где, когда, ссылка. Без этого в потоке сообщений уведомление утонет.

Шаблон сообщения

Пример сообщения для Telegram:

🚨 Workflow failed
Workflow: Order processing
Node:     HTTP Request (Stripe charge)
When:     2025-04-12 14:33 UTC
Error:    Request timeout
Execution: https://n8n.example.com/execution/12345

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

Уведомления как часть error workflow

Поставьте после Error Trigger ровно те узлы, которые отправят сообщение. Например, для Telegram:

Error Trigger → Edit Fields (составить текст) → Telegram (отправить)

В Edit Fields соберите текст из полученных от Error Trigger полей, в Telegram — отправьте в нужный чат.

Если каналов несколько — можно добавить Switch (или IF) после Error Trigger, чтобы по severity направлять в разные стороны.

Что ещё можно делать в обработчике

Помимо уведомлений, в error workflow часто полезно:

  • Записать сбой в базу или Google Sheets — чтобы потом построить статистику по ошибкам.
  • Поставить задачу в трекер (Jira, Trello, Asana) — если сбой требует ручного разбора.
  • Создать тикет в системе клиентской поддержки — если ошибка касается конкретного клиента.

Всё это — обычные узлы. Главное, чтобы сам обработчик ошибок не упал, поэтому делайте его как можно проще: один-два узла отправки + минимум логики.

Итог по главе

  • Считайте, что сценарий обязательно упадёт.
  • На уровне узла используйте Retry on Fail и Continue on Fail.
  • На уровне сценария — Error Workflow с Error Trigger.
  • Уведомления должны быть короткие, читабельные, с ссылкой на execution.
  • Регулярно проверяйте, что обработчик ошибок ещё работает.