Error Handling-এর গুরুত্ব
Production automation-এ error হওয়া স্বাভাবিক — API down, network issue, data format ভুল। সঠিক error handling না থাকলে workflow নীরবে fail করবে।
Node-level Error Handling
প্রতিটি node-এর Settings-এ:
On Error:
□ Stop Workflow (default)
☑ Continue (Error Output) ← পরের node-এ যাবে
☑ Retry on Fail
Max Tries: 3
Wait Between Tries: 5000ms
Error Workflow সেটআপ
# Settings → Error Workflow সেট করুন
[Error Trigger] ← যেকোনো workflow fail করলে
Response:
{
"workflow": { "id": "xxx", "name": "Lead Processing" },
"node": { "name": "Google Sheets" },
"error": { "message": "API quota exceeded" },
"execution": { "id": "12345" }
}
↓
[Telegram — Developer-কে alert]
"🚨 Workflow Error!
Workflow: {{ $json.workflow.name }}
Node: {{ $json.node.name }}
Error: {{ $json.error.message }}
Execution: {{ $json.execution.id }}"
↓
[Google Sheets — Error log করা]
Try-Catch Pattern
[Main Node]
↓ Success output ↓ Error output
[Success handling] [Error handling]
↓
[Telegram Alert]
[Fallback action]
Execution Monitoring
[Schedule — প্রতিদিন রাত ১১টায়]
↓
[n8n API — আজকের failed executions পড়া]
GET: /rest/executions?status=error&limit=50
↓
[IF — Error count > 0 ?]
True ↓
[OpenAI — Error summary তৈরি]
"এই errors গুলো analyze করুন ও সম্ভাব্য কারণ বলুন"
↓
[Gmail — Daily error report পাঠানো]
Data Validation
[Webhook — Form Data]
↓
[Code Node — Validation]
const { name, email, phone } = $json;
const errors = [];
if (!name || name.length < 2) errors.push("নাম অবৈধ");
if (!email.includes("@")) errors.push("ইমেইল অবৈধ");
if (!phone.match(/^01[3-9]\d{8}$/)) errors.push("ফোন নম্বর অবৈধ");
if (errors.length > 0) {
throw new Error(errors.join(", "));
}
return [{ json: $json }];
↓
[Workflow continues with valid data]