---
title: "Error Workflow в n8n: Telegram-алерт | Nodbot"
source_url: "https://nodbot.ru/workflows/error-workflow-telegram-alert/"
canonical_url: "https://nodbot.ru/workflows/error-workflow-telegram-alert/"
language: "ru"
content_type: "WorkflowTemplate"
section: "workflows"
generated_at: "2026-05-30"
word_count_source: 972
---

# Error Workflow в n8n: Telegram-алерт с severity, дедупликацией и runbook

## AI summary

AI-friendly Problem/Solution-мануал: как настроить Error Workflow в n8n, чтобы Telegram получал полезный алерт с workflow name, execution_id, error node, severity, dedupe key и ссылкой на runbook, а не поток одинаковых сообщений.

## Best used for

Полноценный Problem/Solution-мануал для внедрения в n8n: импортировать workflow JSON, настроить безопасность/API/backup, выполнить production-тесты и передать решение команде.

## Table of contents

- Проблема: почему failed execution в n8n теряется без Error Workflow
- Архитектура Error Workflow для Telegram-алертов
- Контракт данных Error Trigger
- Code Node: severity, dedupe key и короткое сообщение
- Готовый workflow JSON: скачать и импортировать
- Пошаговая настройка Error Workflow в n8n
- Тесты алертов, runbook и anti-spam
- Production-риски алертинга
- Полезные ссылки и документация
- Критерии готовности

## Key topics

- n8n Error Workflow
- Telegram alert
- failed execution
- severity
- dedupe key
- runbook

## Source outline

Error Workflow в n8n: Telegram-алерт с severity, дедупликацией и runbook ¶ Обновлено: 2026-05-30 AI summary: AI-friendly Problem/Solution-мануал: как настроить Error Workflow в n8n, чтобы Telegram получал полезный алерт с workflow name, execution_id, error node, severity, dedupe key и ссылкой на runbook, а не поток одинаковых сообщений. Шаблон для внедрения Скачать workflow JSON Скачать test payload Скопировать curl Импортируйте workflow, подключите Telegram credential и назначьте его Error Workflow для production-сценариев. Содержание Проблема: почему failed execution в n8n теряется без Error Workflow Архитектура Error Workflow для Telegram-алертов Контракт данных Error Trigger Code Node: severity, dedupe key и короткое сообщение Готовый workflow JSON: скачать и импортировать Пошаговая настройка Error Workflow в n8n Тесты алертов, runbook и anti-spam Production-риски алертинга Полезные ссылки и документация Критерии готовности Проблема: failed execution в n8n часто замечают только тогда, когда менеджер сообщает, что лид не попал в CRM, счёт не обновился или клиент не получил письмо. Логи есть, но команда не видит их в рабочем канале. Решение: отдельный Error Workflow с Telegram-алертом, severity, dedupe key и ссылкой на runbook. Это не “прислать красное сообщение”, а минимальная система инцидентов для автоматизации продаж, CRM и платежных workflow. Хороший алерт короткий, дедуплицированный и ведёт прямо к execution и runbook. Проблема: почему failed execution в n8n теряется без Error Workflow ¶ Вручную проверять executions невозможно: ошибка может случиться ночью, в выходной или после обновления credential. Если workflow связан с оплатами, заявками или SLA поддержки, “увидим завтра” превращается в потерянные деньги. Error Workflow в n8n позволяет централизовать реакцию на сбой и не добавлять Telegram-ноду в каждый сценарий отдельно. Но алерты без severity быстро превращаются в шум. Команда должна отличать временный timeout от сломанного OAuth, а повторяющиеся 429 не должны засыпать чат сотней одинаковых сообщений. Архитектура Error Workflow для Telegram-алертов ¶ Нода Роль Что проверить Error Trigger Получает данные failed execution Workflow назначен как Error Workflow Classify severity Собирает severity и dedupe key Правила для 401/403/429/timeout Check dedupe Подавляет повтор одинаковых ошибок TTL, unique key, reset после recovery Send Telegram alert Отправляет понятный алерт chat_id, parse mode, лимит длины Incident log Пишет событие в Notion/Jira/CRM Не хранить токены и полный stack trace Контракт данных Error Trigger ¶ Error Trigger отдаёт контекст выполнения: workflow, node, execution URL и сообщение ошибки. Для теста можно использовать такой payload через отдельный test webhook или pin data. { "execution": { "id": "84721", "url": "https://n8n.example.com/execution/84721" }, "workflow": { "id": "crm-sync", "name": "CRM sync from webhook" }, "node": { "name": "Update CRM deal", "type": "n8n-nodes-base.httpRequest" }, "error": { "message": "429 Too Many Requests", "stack": "NodeApiError: rate limit" }, "lastNodeExecuted": "Update CRM deal", "mode": "trigger" } Code Node: severity, dedupe key и короткое сообщение ¶ Code Node ниже делает алерт полезным: классифицирует severity, нормализует похожие ошибки в один dedupe key и собирает короткий текст для Telegram. const e = $json; const workflow = e.workflow?.name ?? 'Unknown workflow'; const executionId = e.execution?.id ?? 'unknown'; const node = e.node?.name ?? e.lastNodeExecuted ?? 'unknown node'; const message = String(e.error?.message ?? 'Unknown error'); let severity = 'warning'; if (/401|403|auth|credential/i.test(message)) severity = 'critical'; if (/payment|invoice|production|crm/i.test(workflow + ' ' + message)) severity = 'critical'; if (/429|timeout|ETIMEDOUT|ECONNRESET/i.test(message)) severity = 'warning'; const dedupeKey = `n8n-error:${workflow}:${node}:${message.replace(/\d+/g, '#').slice(0, 120)}`; const runbookUrl = `https://nodbot.ru/runbooks/n8n-error-workflow/#${encodeURIComponent(workflow.toLowerCase().replace(/\s+/g, '-'))}`; const text = [ `🚨 n8n ${severity.toUpperCase()}`, `Workflow: ${workflow}`, `Node: ${node}`, `Execution: ${executionId}`, `Error: ${message.slice(0, 500)}`, `Runbook: ${runbookUrl}` ].join(' '); return [{ json: { severity, dedupe_key: dedupeKey, telegram_text: text, execution_url: e.execution?.url, runbook_url: runbookUrl } }]; Почему нужен dedupe key Если внешний API отвечает 429 десять минут подряд, команда должна получить один инцидент с обновлением, а не сотню сообщений. Dedupe key можно хранить в Postgres, Redis или Google Sheets, но для production лучше durable storage. Готовый workflow JSON: скачать и импортировать ¶ Полный workflow JSON доступен для импорта. Внутри оставлены placeholder credentials для Telegram и storage-ноды. Скачать готовый workflow JSON Скачать тестовый payload { "name": "Nodbot - n8n Error Workflow Telegram alert", "nodes": [ { "name": "Error Trigger", "type": "n8n-nodes-base.errorTrigger", "purpose": "Получить failed execution" }, { "name": "Classify severity", "type": "n8n-nodes-base.code", "purpose": "Собрать severity, dedupe_key и runbook URL" }, { "name": "Check dedupe", "type": "n8n-nodes-base.postgres", "purpose": "Не слать одинаковый алерт каждую минуту" }, { "name": "Send Telegram alert", "type": "n8n-nodes-base.telegram", "purpose": "Отправить короткий диагностический алерт" }, { "name": "Create incident comment", "type": "n8n-nodes-base.httpRequest", "purpose": "Опционально записать событие в CRM/Notion/Jira" } ], "connections": "Error Trigger → Classify severity → Check dedupe → Telegram → Incident log" } Пошаговая настройка Error Workflow в n8n ¶ Создайте Telegram bot и добавьте его в рабочий чат инцидентов. Импортируйте workflow JSON и замените Telegram credential. Настройте Postgres/Redis dedupe storage с TTL. Назначьте этот workflow как Error Workflow для production-сценариев n8n. Создайте runbook: кто отвечает, что проверить и как откатить изменение. Тесты алертов, runbook и anti-spam ¶ curl -X POST "https://YOUR-N8N-DOMAIN/webhook/test-error-workflow" -H "Content-Type: application/json" --data @error-workflow-telegram-alert-payload.json Дополнительно принудительно сломайте тестовый workflow через Stop And Error node. В Telegram должны прийти workflow name, node, execution_id, severity и ссылка на runbook. Production-риски алертинга ¶ Один общий чат для всего. Critical-ошибки тонут в информационных уведомлениях. Нет ссылки на execution. Инженер тратит время на поиск нужного запуска. Stack trace целиком в Telegram. Можно случайно раскрыть токены и персональные данные. Нет dedupe. Один сбой внешнего API создаёт лавину сообщений. Error Workflow не назначен. Шаблон есть, но production-сценарии его не используют. Полезные ссылки и документация ¶ Смотрите также: Retry и DLQ для HTTP Request , Проверка подписи webhook , ENV-переменные n8n . Официальная документация: n8n error handling , Error Trigger node , Telegram Bot API . Критерии готовности ¶ Любой failed production workflow отправляет диагностический алерт. В сообщении есть execution URL, workflow name, node и короткая ошибка. Повторяющиеся ошибки дедуплицируются. Critical-ошибки отделены от warning. У каждого critical-сценария есть runbook и ответственный. Нужно, чтобы n8n перестал падать незаметно? Nodbot настроит Error Workflow, Telegram/Jira алерты, retry, DLQ и runbook-и для ваших production-автоматизаций. Настроить мониторинг

## Test payload

```json
{
  "execution": { "id": "84721", "url": "https://n8n.example.com/execution/84721" },
  "workflow": { "id": "crm-sync", "name": "CRM sync from webhook" },
  "node": { "name": "Update CRM deal", "type": "n8n-nodes-base.httpRequest" },
  "error": { "message": "429 Too Many Requests", "stack": "NodeApiError: rate limit" },
  "lastNodeExecuted": "Update CRM deal",
  "mode": "trigger"
}
```

## Key implementation snippet

```javascript
const e = $json;
const workflow = e.workflow?.name ?? 'Unknown workflow';
const executionId = e.execution?.id ?? 'unknown';
const node = e.node?.name ?? e.lastNodeExecuted ?? 'unknown node';
const message = String(e.error?.message ?? 'Unknown error');

let severity = 'warning';
if (/401|403|auth|credential/i.test(message)) severity = 'critical';
if (/payment|invoice|production|crm/i.test(workflow + ' ' + message)) severity = 'critical';
if (/429|timeout|ETIMEDOUT|ECONNRESET/i.test(message)) severity = 'warning';

const dedupeKey = `n8n-error:${workflow}:${node}:${message.replace(/\d+/g, '#').slice(0, 120)}`;
const runbookUrl = `https://nodbot.ru/runbooks/n8n-error-workflow/#${encodeURIComponent(workflow.toLowerCase().replace(/\s+/g, '-'))}`;
const text = [
  `🚨 n8n ${severity.toUpperCase()}`,
  `Workflow: ${workflow}`,
  `Node: ${node}`,
  `Execution: ${executionId}`,
  `Error: ${message.slice(0, 500)}`,
  `Runbook: ${runbookUrl}`
].join('
');

return [{ json: { severity, dedupe_key: dedupeKey, telegram_text: text, execution_url: e.execution?.url, runbook_url: runbookUrl } }];
```

## Importable workflow structure

```json
{
  "name": "Nodbot - n8n Error Workflow Telegram alert",
  "nodes": [
    { "name": "Error Trigger", "type": "n8n-nodes-base.errorTrigger", "purpose": "Получить failed execution" },
    { "name": "Classify severity", "type": "n8n-nodes-base.code", "purpose": "Собрать severity, dedupe_key и runbook URL" },
    { "name": "Check dedupe", "type": "n8n-nodes-base.postgres", "purpose": "Не слать одинаковый алерт каждую минуту" },
    { "name": "Send Telegram alert", "type": "n8n-nodes-base.telegram", "purpose": "Отправить короткий диагностический алерт" },
    { "name": "Create incident comment", "type": "n8n-nodes-base.httpRequest", "purpose": "Опционально записать событие в CRM/Notion/Jira" }
  ],
  "connections": "Error Trigger → Classify severity → Check dedupe → Telegram → Incident log"
}
```

## Retrieval hints

- Использовать HTML как canonical source.
- Markdown удобен для LLM-ответов, извлечения workflow-контракта, кода и чеклистов.
- Для ссылок пользователю отдавать canonical URL.
