Materi 18: Menangani Error dalam Workflow
Terkadang, alur kerja yang sudah kita bangun dengan rapi bisa gagal saat dijalankan. Penyebabnya beragam: konfigurasi node yang salah, layanan pihak ketiga mati, atau data yang tidak sesuai.
Jangan panik! Di materi ini, Kita akan belajar cara melakukan troubleshooting dan membuat sistem "Jaring Pengaman" (Error Workflow) untuk menangani kegagalan tersebut secara otomatis.
1. Memeriksa Workflow yang Gagal
n8n mencatat setiap eksekusi alur kerja Kita. Jika ada yang gagal, tempat pertama untuk memeriksa adalah Executions Log.
- Klik menu Executions di panel sebelah kiri.
- Cari baris yang statusnya Error (biasanya berwarna merah).
- Klik baris tersebut untuk membuka detailnya.
Daftar Eksekusi membantu kita melacak kapan dan kenapa error terjadi.
Ini akan membuka alur kerja dalam "Read-only mode". Kita bisa melihat node mana yang berhenti dan membaca pesan error-nya secara detail.
2. Membuat "Error Workflow" (Jaring Pengaman)
Bagaimana jika alur kerja gagal saat kita tidur? Kita butuh notifikasi. Untuk itu, kita bisa membuat Error Workflow.
Ini adalah alur kerja terpisah yang HANYA berjalan jika alur kerja utama mengalami kegagalan.
Komponen Utama: Error Trigger Node
Satu-satunya perbedaan antara workflow biasa dan Error Workflow adalah penggunaan node Error Trigger sebagai pemicunya.
Banyak pemula bingung di sini: Node Error Trigger TIDAK AKAN BERJALAN jika Anda menjalankan workflow utama secara manual (mengklik tombol "Execute Workflow").
Error Trigger hanya aktif untuk Production Executions (Eksekusi Otomatis).
Cara Mengetesnya:
- Pastikan workflow utama memiliki Trigger otomatis (seperti Schedule Trigger).
- Aktifkan (Activate) workflow utama tersebut.
- Tunggu sampai jadwal berjalan otomatis dan gagal.
- Barulah Error Workflow akan terpanggil.
Latihan: Membuat Sistem Notifikasi Error
Mari kita buat workflow sederhana yang akan mengirim pesan ke Discord (atau Slack/Email) jika ada workflow lain yang gagal.
Langkah-langkah:
- Buat Workflow baru bernama "Global Error Handler".
- Tambahkan node Error Trigger.
- Tambahkan node komunikasi (misal: Discord, seperti di Materi 10).
- Hubungkan Error Trigger ke Discord untuk mengirim pesan berisi detail error.
- Buka workflow utama (misal: Workflow Nathan), buka Settings, dan pilih "Global Error Handler" di bagian Error Workflow.
👉 Lihat Solusi Error Workflow
Konfigurasi Node:
- Error Trigger: Tidak ada konfigurasi khusus, cukup tambahkan ke kanvas.
-
Discord / Slack: Gunakan Expression untuk
mengambil detail error.
Contoh Pesan:Workflow: {{ $node["Error Trigger"].json.workflow.name }} GAGAL. Lihat di sini: {{ $node["Error Trigger"].json.execution.url }}
Desain sederhana Error Workflow.
Menghubungkan ke Workflow Utama:
Jangan lupa memilih Error Workflow di menu Settings workflow utama Kita.
Whatsapp mendapatkan notifikasi error:
Jangan lupa memilih Error Workflow di menu Settings workflow utama Kita.
3. Melempar Error Secara Manual (Stop and Error Node)
Terkadang, data yang masuk tidak menyebabkan sistem *crash*, tapi sebenarnya "salah" (misal: format JSON salah, nilai kosong, atau tipe data tidak sesuai).
Dalam kasus ini, kita ingin memaksa alur kerja berhenti dan melaporkan error. Kita bisa menggunakan node Stop and Error.
- Error Message: Mengembalikan pesan kustom tentang apa yang salah.
Gunakan node ini setelah node IF. Misalnya: JIKA data kosong -> MAKA masuk ke cabang True -> Masuk ke node Stop and Error untuk memberi tahu kita bahwa ada data yang hilang.
Ringkasan
Kita 🤵🏻:Dengan adanya Error Workflow, saya bisa tenang. Saya akan langsung tahu jika ada otomatisasi yang macet tanpa harus mengeceknya setiap jam. Ini adalah standar sistem yang profesional.
Kita sudah belajar cara menangani data, mengubahnya, dan menangani kesalahan. Di materi selanjutnya, kita akan membahas cara membuat Sub-workflows untuk memecah alur kerja yang sangat besar menjadi bagian-bagian kecil yang dapat digunakan kembali.