Повтор failed execution в n8n: как не отправить письмо второй раз
Workflow создал запись и отправил письмо, а затем упал на журналировании. Оператор повторил весь запуск, и клиент получил ещё одно письмо. Технический failed не означает, что ни одного побочного эффекта не произошло.
Как разобрать ситуацию
Разбейте процесс на этапы с отдельными устойчивыми результатами. Для каждой меняющей операции нужен ключ или проверяемый внешний результат, позволяющий продолжить после сбоя. Перед повтором выясните последний подтверждённый эффект. Если поставщик не поддерживает идемпотентность, потребуется собственная модель состояния и разбор неопределённого исхода.
Пример и ожидаемый результат
Учебная цепочка: запись CRM создана, письмо принято поставщиком, запись в аналитический журнал не удалась. Повтор должен восстановить журналирование и статус, а не заново создавать CRM-объект и повторять отправку.
Ожидаемый результат — после восстановления существует одна бизнес-запись и одно отправленное письмо, а журнал содержит сведения о повторной попытке восстановления.
Проверка перед применением
- Смоделируйте падение после каждого внешнего шага, включая промежуток до сохранения локального статуса.
- Проверьте, какие данные и настройки использует повторный execution вашей версии.
- Отличайте безопасный пересчёт поля от необратимой отправки или списания.
Составьте инструкцию для оператора: какие этапы можно повторять автоматически, какие требуют проверки поставщика, а какие запрещено запускать заново без решения. Это снижает риск сильнее, чем просто скрыть кнопку retry. История исполнения полезна, когда она помогает восстановить бизнес-состояние, а не только показывает красный узел.
Границы решения
Невозможно гарантировать отсутствие дубля одним флагом в workflow, если внешний эффект и ваша запись состояния независимы. При неизвестном исходе иногда нужен ручной разбор. Сценарий здесь не является проверенным на вашем аккаунте механизмом retry.
Если простые сценарии уже работают и нужна практика надёжных API-интеграций, проверок и обработки сбоев, посмотрите наш платный курс
Продвинутый n8n: production-автоматизации и AI-агенты. Перед записью сравните программу со своей задачей и подготовкой.
Техническая справка: docs.n8n.io: документация, docs.n8n.io: документация.
Следующий шаг: n8n в работе: разборы данных, сбоев и автоматизаций. По смежным вопросам: HTTP Request в n8n зелёный после 500: как не потерять ошибку API, Подтверждение человеком в n8n: как не исполнить изменённую операцию.
