Error Workflow и Error Trigger

Когда сценарий падает целиком — несмотря на retry и continue on fail — нужно, чтобы кто-то узнал об этом. Для этого в n8n есть механизм Error Workflow: отдельный сценарий, который автоматически запускается, когда другой сценарий завершился с ошибкой.

Идея

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

Дальше уже ваше дело, что с этой информацией сделать: написать в Telegram, отправить email, записать в базу, поставить задачу в трекер.

Как настроить

В двух шагах:

Шаг 1. Создайте отдельный сценарий, который будет «обработчиком ошибок». Первым узлом в нём поставьте Error Trigger. Дальше — узлы уведомлений.

Шаг 2. Откройте сценарий, для которого вы хотите получать уведомления о сбоях. В настройках сценария найдите поле Error Workflow (где-то в общих настройках, в зависимости от версии — в Settings, в свойствах workflow, или через выпадающее меню). Выберите сценарий из шага 1.

Готово. Теперь, когда основной сценарий упадёт, n8n автоматически запустит обработчик и передаст ему контекст ошибки.

Что приходит на вход в Error Trigger

Error Trigger получает один item с информацией об ошибке. Точная структура зависит от версии n8n, но обычно там есть:

  • название и id «упавшего» сценария;
  • название и id execution'а;
  • ссылка на execution в интерфейсе n8n;
  • сообщение об ошибке;
  • название узла, в котором произошёл сбой.

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

Один обработчик на все сценарии

Удобно создать один общий error workflow и подключить его к десятку рабочих сценариев. Тогда все сбои — в одном месте, и формат уведомлений одинаковый. Если завтра вы решите отправлять не в Slack, а в Telegram — это правка в одном сценарии.

Что включить в уведомление

Минимум:

  • что сломалось — имя сценария;
  • где — имя узла;
  • когда — время;
  • что именно произошло — сообщение об ошибке;
  • ссылка на execution в интерфейсе n8n, чтобы быстро открыть и посмотреть.

Дополнительно стоит добавить какой-то «приоритет»: упал ли это критичный сценарий с оплатами или второстепенный с подписками на новости — реакция должна быть разной.

Чего не делает Error Workflow

  • Он не может «починить» исходный сценарий и перезапустить его автоматически. Это задача отдельного решения (например, повторная постановка задачи в очередь).
  • Он запускается даже если упал он сам — поэтому сам error workflow должен быть максимально простым. Не используйте в нём узлы, которые могут упасть.

Тест перед продакшеном

После настройки специально провоцируйте сбой в основном сценарии и убедитесь, что уведомление приходит. Без такой проверки часто оказывается, что в Settings выбран не тот workflow или в обработчике не настроены credentials для Telegram.