Materi 22: Workflow 3 - Monitoring Error

Terakhir namun tidak kalah penting, mari bantu Nathan mengetahui jika ada kesalahan saat menjalankan workflow laporan. Kita akan membuat Error Workflow yang memantau workflow utama.

Langkah 1: Membuat Error Workflow

  1. Buat Workflow baru (beri nama "Workflow 3 - Error Handler").
  2. Tambahkan node Error Trigger.
  3. Klik Execute Node untuk melihat data dummy error (ini penting agar kita bisa menyusun pesan di langkah berikutnya).

Langkah 2: Konfigurasi Notifikasi

Kita akan mengirim pesan detail ke Discord yang berisi informasi teknis tentang error tersebut.

  1. Tambahkan node Discord dan hubungkan ke Error Trigger.
  2. Webhook URL: Gunakan URL dari email kursus Anda (atau kredensial yang sudah ada).
  3. Text: Salin format berikut dan gunakan Expression untuk bagian dalam kurung kurawal:
    The workflow {{ $json.workflow.name }} failed, with the error message: {{ $json.execution.error.message }}.

    Last node executed: {{ $json.execution.lastNodeExecuted }}.

    Check this workflow execution here: {{ $json.execution.url }}

    My Unique ID: [MASUKKAN_ID_ANDA_DISINI]

Kode Workflow 3 (JSON)

Agar lebih cepat, Anda bisa menyalin JSON di bawah ini. Pastikan untuk mengganti Kredensial Discord dan Unique ID Anda.

📄 Klik untuk menyalin JSON Error Handler

{
  "nodes": [
    {
      "parameters": {},
      "id": "error-trigger",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "typeVersion": 1,
      "position": [ 460, 460 ]
    },
    {
      "parameters": {
        "authentication": "webhook",
        "content": "=The workflow {{ $json.workflow.name }} failed, with the error message: {{ $json.execution.error.message }}. Last node executed: {{ $json.execution.lastNodeExecuted }}. Check this workflow execution here: {{ $json.execution.url }} My Unique ID: [GANTI_DENGAN_ID_ANDA]",
        "options": {}
      },
      "id": "discord-alert",
      "name": "Discord",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [ 680, 460 ],
      "credentials": {
        "discordWebhookApi": {
          "id": "YOUR_DISCORD_CREDENTIAL_ID",
          "name": "Discord Webhook account"
        }
      }
    }
  ],
  "connections": {
    "Error Trigger": {
      "main": [ [ { "node": "Discord", "type": "main", "index": 0 } ] ]
    }
  }
}
              

Langkah 3: Menghubungkan ke Workflow Utama

Ini langkah krusial. Error Workflow tidak akan bekerja jika tidak "didaftarkan" ke workflow utama.

  1. Simpan "Workflow 3" yang baru saja Anda buat.
  2. Buka kembali Workflow 2 (Laporan Utama).
  3. Klik menu titik tiga (...) di pojok kanan atas > Settings.
  4. Pada bagian Error Workflow, pilih "Workflow 3 - Error Handler".
  5. Simpan Workflow 2.
Pengaturan Error Workflow di n8n

Pastikan Workflow 3 terpilih di pengaturan Workflow 2.

Kuis Pemahaman

Jawab pertanyaan berikut berdasarkan data output dari node Error Trigger:

❓ Kolom (Fields) apa saja yang dikembalikan oleh Error Trigger?

Biasanya mengembalikan objek berisi: execution (detail eksekusi) dan workflow (detail workflow).

❓ Informasi apa tentang eksekusi yang dikembalikan?

ID eksekusi (id), URL eksekusi (url), pesan error (error.message), dan node terakhir yang dieksekusi (lastNodeExecuted).

❓ Informasi apa tentang workflow yang dikembalikan?

ID Workflow (id) dan Nama Workflow (name).

❓ Apa expression untuk mengambil nama workflow?

{{ $json.workflow.name }}

Penutup Level 2

Luar biasa! Anda telah menyelesaikan Kursus Level 2. Anda telah belajar cara merancang sistem modular, menggabungkan data kompleks, memanipulasi file biner, dan membangun sistem monitoring error.

Nathan 🙋:

Terima kasih banyak! Dengan sistem ini, laporan penjualan saya jadi otomatis, akurat, dan saya bisa tidur nyenyak mengetahui ada sistem error handling yang menjaganya.