目次

n8n エラー処理入門:再試行、失敗後の続行、エラー通知フロー

自動化フローで最も困るのは、気づかないうちに失敗することです。API に一時的に接続できない、データ形式が正しくない、認証情報が期限切れになる……誰も気づかなければ、何日も通知が送られないことがあります。この章では n8n のエラー処理機能を紹介します。

1. 自動再試行(Retry On Fail)

多くのエラーは一時的なものです(ネットワークが不安定、API が時折タイムアウトするなど)。ノードの Settings タブで設定します。

  • Retry On Fail:有効にする
  • Max Tries:最大試行回数。例:3
  • Wait Between Tries (ms):試行間隔。例:5000(5 秒)
ノードの Settings タブ:Retry On Fail と On Error
ノードの Settings タブには Execute Once、Retry On Fail、On Error があります

外部 API を呼び出すノード(HTTP Request や各種サービスノード)に適しています。

2. 失敗時の処理(On Error)

同じくノードの Settings タブにある On Error には、次の 3 つの選択肢があります。

選択肢動作
Stop Workflowデフォルト。ワークフロー全体を停止し、失敗として記録します
Continueエラーを無視し、エラーメッセージを出力として扱って後続ノードを実行します
Continue (using error output)ノードに error 出力が追加され、失敗したデータを別の経路に流します

エラー出力の分岐を使う

複数のデータを処理するとき、1 件の失敗で他のデータまで止めるべきではありません。

                    ┌─ success ─▶ [処理済みとしてマーク]
[API を 1 件ずつ呼び出す] ─────┤
                    └─ error ───▶ [「失敗リスト」スプレッドシートに記録]

失敗したデータにはエラーメッセージが含まれます。{{ $json.error.message }} で取得できます。

3. 明示的に中断する:Stop and Error

データが想定どおりでない場合、後続ノードで誤った結果を作るより、明示的に中断する方が適切です。

[注文を取得] ─▶ [If 金額が空?] ─true─▶ [Stop and Error:「注文 {{ $json.id }} に金額がありません」]
                                  └false─▶ [処理を続行]

Stop and Error ノードは実行を失敗させ、次に説明するエラーワークフローを起動します。

4. 全体的なエラー通知:Error Trigger

最も重要な手順は、エラー処理専用のワークフローを作成することです。どのワークフローが失敗しても、自動で通知を受け取れます。

エラーワークフローを作成する

  1. ワークフローを新規作成し、「エラー通知」という名前を付けます。
  2. 最初のノードに Error Trigger を選択します。
  3. 通知ノード(Telegram、Email、Slack など)を接続し、メッセージに次の内容を設定します。
⚠️ n8n ワークフローの実行に失敗しました
フロー:{{ $json.workflow.name }}
ノード:{{ $json.execution.lastNodeExecuted }}
エラー:{{ $json.execution.error.message }}
時刻:{{ $now.toFormat('yyyy-MM-dd HH:mm') }}
確認:{{ $json.execution.url }}
  1. 保存します。Error Trigger から始まるワークフローは、Publish しなくても動作します。
Error Trigger を Telegram に接続したエラー通知フロー
エラー通知ワークフロー:Error Trigger が失敗情報を受け取り、Telegram メッセージを送信します

他のワークフローに割り当てる

監視する各ワークフローで、メニュー → Settings → Error workflow を開き、「エラー通知」を選択します。

これで、このワークフローが「失敗」状態で終了すると、自動的に通知が送信されます。

エラーワークフローが起動するのは、スケジュールや Webhook などの自動実行が失敗したときだけです。手動テストの失敗では起動しません。

5. 実行履歴の確認と再実行

失敗した実行履歴と Debug in editor ボタン
失敗した実行は赤色で表示されます。開くとエラーが発生したノードを確認でき、右上の Debug in editor で当時のデータを読み込んで再テストできます
  • Executions で Error 状態に絞り込むと、失敗した実行をすべて確認できます。
  • 失敗した実行を開き、Debug in editor を押すと、当時のデータで再テストできます。
  • 問題を修正した後、失敗した実行を再実行できます。

6. データを追跡できるようにする

  • Settings で実行履歴の保存方針を設定します。失敗した実行だけを保存すれば、データベースの容量を節約できます。
  • 重要なフローでは、最後にスプレッドシートやデータベースへ記録を書き込むと、「どのデータがいつ処理されたか」を後から確認できます。

おすすめの方法

状況おすすめ
外部 API を呼び出すRetry On Fail を有効にする
複数のデータをまとめて処理するContinue (using error output) を選び、失敗したデータを記録する
問題のあるデータで処理を続けるべきではないStop and Error を使う
本番運用するすべてのワークフローError workflow を設定する

長期運用するワークフローを作成したら、最初にエラー通知を設定する習慣を付けましょう。

更新日 2026年10月12日