中級向け

失敗したら通知する仕組みを1本だけ作って使い回す(n8n テンプレート配布)

ワークフローが失敗したときの通知を、1本の共通ワークフローにまとめる型です。インポートできるJSONを置いています。エラーの内容を通知しやすい形に整えるところまで入っていて、実際に本番実行で失敗させて動作を確認しました。

動作確認: — n8n 2.36.8

ワークフローが増えてくると、失敗に気づけなくなります。

1本ずつ通知を組み込むこともできますが、10本あれば10箇所に同じような処理が並びます。 通知先を変えたいとき、10箇所を直すことになります。

n8n には、失敗したときに呼ばれる共通のワークフローを指定する仕組みがあります。 それを使った型をJSONにしました。

error-notify.json をダウンロード

認証情報を使いません。インポートしてすぐ動きます。動作は n8n 2.36.8 で確認しています。

入れ方

  1. JSONをダウンロードする
  2. n8n の右上 ... から Import from File…
  3. Publish する(これを忘れると次の手順で選べません)
  4. 監視したいワークフローを開き、... → Settings
  5. Error Workflow (to notify when this one errors) でこのワークフローを選ぶ
インポート直後のn8nキャンバス。上に使い方を書いたピンクの付箋があり、下に エラーを受け取る と 通知の形に整える の2ノードが繋がっている
ノードは2つだけ。使い方は付箋に書いてあるので、インポートすれば手順を見失いません

使い方は付箋としてワークフローの中に入れてあります。数ヶ月後に開いても、 何をどう設定するものか分かるようにしてあります。

何が取れるか

実際に本番実行で失敗させて、整形後の出力を確認しました。

{
  "ワークフロー名": "通知テスト用に失敗する",
  "失敗したノード": "必ず失敗する",
  "エラー": "Authorization failed - please check your credentials",
  "詳細": "Unauthorized",
  "HTTPコード": "401",
  "起動方法": "webhook",
  "実行ID": "90",
  "実行URL": "http://localhost:5678/workflow/qCVRlk8U0ulCZibc/executions/90",
  "発生時刻": "2026-09-25 20:12:47 JST",
  "本文": "【n8n】ワークフローが失敗しました\n ..."
}

実行URL が入るのが実用上いちばん効きます。 通知にこれを貼れば、 1クリックで失敗した実行の中身を開けます。n8n を開いて履歴を探す手間が消えます。

失敗したノード も入るので、通知を見た時点で当たりがつきます。

通知の繋ぎ方

「通知の形に整える」の後ろに、Slack やメールのノードを繋ぐだけです。 テンプレートには含めていません。環境によって使うサービスが違うためです。

本文には 本文 をそのまま入れられます。

{{ $json.本文 }}

こう展開されます。

【n8n】ワークフローが失敗しました
ワークフロー: 通知テスト用に失敗する
失敗したノード: 必ず失敗する
エラー: Authorization failed - please check your credentials
発生時刻: 2026-09-25 20:12:47 JST
実行を見る: http://localhost:5678/workflow/.../executions/90

項目を選んで組み立てたいなら、{{ $json.失敗したノード }} のように個別に取れます。

手動実行では飛びません

これが一番の落とし穴です。

エディタの Execute workflow で失敗させても、通知は飛びません。 設定が正しくても飛びません。

この記事の動作確認も、Webhookを実際に叩いて本番実行で失敗させて行っています。

1本にまとめる意味

このテンプレートの値打ちは、通知先を変えるときに1箇所で済むことです。

  • Slack から Teams に変える → このワークフローだけ直す
  • 通知の文面を変える → このワークフローだけ直す
  • 新しいワークフローを作った → Settings で指定するだけ

監視対象が増えても、直す場所は増えません。

検証していないこと

  • 通知ノードは繋いでいません。 Slack やメールに実際に届くところまでは確認していません。 整形した結果を確認しただけです
  • 失敗のさせ方は 401(認証エラー)1パターンです。タイムアウトや Code ノードの 例外で、同じ項目が埋まるかは確認していません
  • Schedule Trigger での本番実行は試していません。 本番実行の例として使ったのは Webhook だけです
  • 複数のワークフローから同時に呼ばれたときの挙動は見ていません
  • 詳細 と HTTPコード は、エラーの種類によっては空になります。 HTTPリクエスト以外の失敗では埋まらない可能性がありますが、確認していません

次に読む