My App
Panduan

Cara Membuat Workflow

Panduan langkah demi langkah membuat workflow di n8n.

Cara Membuat Workflow di n8n (Studi Kasus: DSU)

Panduan ini akan mengajarkan Anda cara membangun workflow dari nol. Kita akan menggunakan contoh Daily Standup (DSU) agar Anda langsung paham prakteknya.

Persiapan Awal

  1. Akses n8n: Buka dashboard n8n internal.
  2. Kredensial: Pastikan akun Mattermost Anda sudah terhubung di n8n (Menu Credentials).

Langkah Demi Langkah

Membuat Pintu Masuk (Webhook Trigger)

Mattermost menggunakan Slash Command (seperti /dsu) untuk memanggil n8n.

  1. Klik + -> Cari Webhook.
  2. HTTP Method: POST.
  3. SANGAT PENTING: Tarik garis dari Webhook ke node Respond to Webhook. Set respon code ke 200.
  4. Kenapa? Mattermost hanya mau menunggu 3 detik. Jika tidak langsung dijawab 200, dia akan error, padahal workflow kita masih bekerja di belakang.

Menampilkan Form (Open Dialog)

Setelah menerima perintah, kita suruh bot menampilkan kotak input (dialog).

  1. Tambahkan node HTTP Request.
  2. Method: POST.
  3. URL: https://workspace.dot.co.id/api/v4/actions/dialogs/open.
  4. JSON Payload: Paste kode di bawah ini di bagian Body. Kode ini yang akan membentuk tampilan form Anda.
{
  "trigger_id": "{{ $node["Webhook"].json["body"]["trigger_id"] }}",
  "url": "{{ $execution.resumeUrl }}",
  "dialog": {
    "callback_id": "dsu_report",
    "title": "Daily Standup Report",
    "submit_label": "Kirim DSU",
    "elements": [
      {
        "display_name": "Yesterday's Task",
        "name": "yesterday",
        "type": "textarea",
        "placeholder": "Apa yang dikerjakan kemarin?"
      },
      {
        "display_name": "Today's Plan",
        "name": "today",
        "type": "textarea",
        "placeholder": "Apa rencana hari ini?"
      },
      {
        "display_name": "Blockers",
        "name": "blockers",
        "type": "text",
        "optional": true,
        "placeholder": "Ada kendala? (Bisa kosong)"
      }
    ]
  }
}

Gunakan node Wait untuk "menidurkan" workflow sampai user menekan tombol "Kirim DSU".

  1. Tarik garis dari node HTTP Request ke node Wait.
  2. Resume Mode: On Webhook Call.
  3. Webhook Method: POST.
  4. Garis ini penting: Data yang diketik user akan mendarat di node ini nantinya.

Simpan ke Google Sheets

Setelah user klik Kirim, workflow akan "bangun" dan membawa data. Sekarang kita simpan.

  1. Tambahkan node Google Sheets.
  2. Operation: Append (Menambah baris baru).
  3. Document: Pilih file spreadsheet DSU Anda di Google Drive.
  4. Mapping: Hubungkan isi dari node Wait (yesterday, today, blockers) ke kolom-kolom spreadsheet Anda.

Kirim Notifikasi (Finish)

Terakhir, beri tahu tim atau user bahwa laporan sudah masuk.

  1. Tambahkan node Mattermost.
  2. Resource: Post, Operation: Create.
  3. Message: Laporan DSU dari {{ $node["Wait"].json["body"]["submission"]["yesterday"] }} berhasil dicatat!.

Tips Debugging

  • Jika form tidak muncul: Cek apakah trigger_id di JSON sudah benar. trigger_id hanya aktif selama 3 detik!
  • Jika data tidak masuk ke Sheet: Cek apakah nama kolom di Google Sheets sudah sesuai (Case Sensitive).

[!TIP] Selalu klik Save dan pastikan workflow dalam status Active (tombol di pojok kanan atas) agar bisa digunakan di Mattermost kapan saja.

On this page