自動化
2026年2月28日
郷将輝
n8nのError Trigger、リトライ設定などエラー対策の基本を解説。止まらないワークフロー設計のコツを紹介します。
#n8n
#automation
#workflow
#DX

# n8nのエラーハンドリング入門|”止まらない”ワークフロー設計のコツ
## 導入
「よし、自動化ワークフロー完成!これで安泰だ」
そう思った矢先、予期せぬエラーでワークフローが停止。重要な処理が実行されず、気づいた頃には手遅れに…。そんな苦い経験はありませんか?
自動化ワークフローは、一度作ったら終わりではありません。外部サービスの仕様変更、一時的なネットワークエラー、想定外のデータ形式など、エラーの種は至る所に潜んでいます。安定した自動化を実現するためには、「エラーが起きないこと」を目指すのではなく、「エラーが起きても、ワークフロー全体が止まらないこと」を前提とした”しなやかな”設計が不可欠です。
この記事では、n8nにおけるエラーハンドリングの基本的な考え方から、具体的な実装パターンまでを徹底解説します。「エラーが怖い」から「エラーを想定内に変える」へ。あなたのワークフローを一段上のレベルに引き上げるための、転ばぬ先の杖となる知識がここにあります。
## なぜエラーハンドリングが重要なのか?
ワークフローがエラーで停止すると、以下のような問題が発生します。
n8nのエラーハンドリングは、こうしたリスクを最小限に抑え、ワークフローの信頼性と可用性を高めるための生命線なのです。
## n8nエラーハンドリングの3つの基本コンポーネント
n8nには、堅牢なエラー処理を実現するための仕組みが標準で備わっています。まずは基本となる3つの要素を理解しましょう。
### 1. ノードの「On Error」設定
各アクションノード(例:Google Sheets, Slack)には、「Settings」タブの中に「Continue on Fail」という設定があります。これをONにすると、そのノードでエラーが発生してもワークフロー全体が停止せず、次のノードへと処理が続行されます。ただし、これだけでは「エラーが起きたこと」自体に気づけないため、後述する分岐や通知と組み合わせるのが基本です。
### 2. Error Trigger ノード
これは、他のワークフローでエラーが発生したことを”きっかけ”に起動する、特殊なトリガーノードです。メインのワークフローのエラー処理を、完全に別の「エラー処理専用ワークフロー」に任せることができます。これにより、メインの処理とエラー処理を分離でき、ワークフロー全体の見通しが良くなります。
### 3. Try/Catch ノード(Codeノード内)
より高度な制御を行いたい場合、Codeノード内でJavaScriptのtry...catch構文を使う方法があります。特定の処理ブロックをtryで囲み、エラーが発生した場合の処理をcatchブロック内に記述します。例えば、「APIリクエストを試みて、失敗したら3回までリトライする」といった複雑なロジックを実装できます。
## 実践!エラー通知ワークフローの作成
それでは、最も基本的かつ重要な「ワークフローでエラーが起きたらSlackで通知する」というエラーハンドリングを実装してみましょう。ここでは「Error Trigger」を使った方法を紹介します。
### STEP1: エラー通知用のワークフローを作成
1. n8nで新しいワークフローを作成し、名前を「Error Handler Workflow」など分かりやすいものに変更します。 2. トリガーノードとして「Error Trigger」を選択します。このノードは特別な設定は不要です。 3. Error Triggerノードの後に「Slack」ノードを追加し、Credentialと通知したいチャンネルを設定します。 4. 「Text」欄に、エラーの詳細がわかるようにメッセージを記述します。Error Triggerは、エラーが発生したワークフロー名、エラーメッセージ、実行URLなどの情報を持っています。これらをExpressionで埋め込みます。
_`【警告】ワークフローでエラーが発生しました!
> ワークフロー名: {{ $json.workflow.name }}
> エラーノード: {{ $json.execution.error.node.name }}
> エラーメッセージ: {{ $json.execution.error.message }}
> 確認URL: {{ $json.execution.url }}`_
5. このワークフローを「Active」にして保存します。
### STEP2: メインワークフローにエラー処理を設定
1. エラーを監視したいメインのワークフローを開きます。 2. 左上のメニュー(三点リーダー)から「Settings」→「Error Workflow」を選択します。 3. ドロップダウンリストから、先ほど作成した「Error Handler Workflow」を選択して保存します。
これで設定は完了です。今後、このメインワークフローで何らかのエラーが発生して停止した場合、自動的にエラーハンドリング用ワークフローが起動し、Slackに詳細なエラー内容が通知されるようになります。これにより、問題の即時把握と迅速な対応が可能になります。
## 覚えておきたい高度なエラー処理パターン
## まとめ
安定した自動化システムにとって、エラーハンドリングは守りの要です。
今日からあなたのワークフローに、堅牢なエラーハンドリングを組み込みましょう。それは、未来のあなたを予期せぬトラブルから救う、最高の投資となるはずです。