Skip to content

Durasi: 12 menit | Block: 2


🧠 Kenapa Error Handling Penting

Tanpa error handling:
Workflow error → data hilang → kamu ga tahu → masalah

Dengan error handling:
Workflow error → retry otomatis → kalau masih fail → fallback → kamu dapat notif

🛡️ Error Handling Strategies

1. Retry on Fail (Per Node)

Di setiap node → Settings → "Retry On Fail"
- Max retries: 3
- Wait between retries: 1000ms (1 detik)

Kapan: API yang kadang timeout, rate limit sementara.


2. Error Trigger (Workflow-Level)

Settings Workflow → "Error Workflow"
- Pilih workflow lain yang jalan kalau ada error

Build Error Workflow:

[Error Trigger]
    → [Set Node: Format Error]
    → [Slack/Email: Alert ke admin]

Error data yang tersedia:

json
{
  "execution": { "id": "1234", "url": "https://..." },
  "workflow": { "name": "Lead Router", "id": "5678" },
  "node": { "name": "Send WhatsApp" },
  "error": { "message": "API timeout after 30000ms" }
}

3. Fallback Path (Manual)

[HTTP Request: API Call]
    ├── Success → Continue normal flow
    └── Error → [Set Node: Fallback data] → Continue with default

Caranya: Tambah node settings "Continue on Fail".


4. Try-Catch Pattern

[Node A] → (Continue on Fail: true)


[If Node: Check if error]
    ├── TRUE ($json.error exists) → [Error Handler Path]
    └── FALSE → [Normal Path]

📊 Logging Best Practices

Option A: Execution Log (Built-in)

n8n → Executions tab → lihat semua run
- Filter: success / error / waiting
- Klik execution → lihat data di setiap node

Option B: Google Sheets Log

Di setiap workflow, tambah logging node:

[Set Node: Create Log Entry]
    → [Google Sheets: Append Log Row]

Log fields:
| Timestamp | Workflow | Node | Status | Error Message | Input Data |

Option C: Slack/Discord Alert

Kalau error → kirim alert real-time ke channel monitoring:

[Error Trigger]
    → [Slack: #workflow-errors]
    Message: "❌ Error di workflow '\{{ workflow.name }}' 
    node '\{{ node.name }}': \{{ error.message }}"

🏗️ Production Checklist

  • [ ] Setiap API node punya retry (max 3)
  • [ ] Error workflow terhubung
  • [ ] Fallback path untuk critical nodes
  • [ ] Logging aktif (Sheets/Slack)
  • [ ] Execution retention diset (jangan simpan selamanya)
  • [ ] Test dengan data yang bikin error (empty, null, wrong format)

⚠️ Common Anti-Patterns

  • ❌ Error handling cuma di 1 node → harus di semua critical nodes
  • ❌ Logging tapi ga pernah cek → set alert, bukan cuma log
  • ❌ Retry tanpa wait → makin membebani API yang lagi down
  • ❌ Ignore execution history → bisa penuh disk kalau ga di-clean

Bootcamp AI Automation — akala.id