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
- Akses n8n: Buka dashboard n8n internal.
- 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.
- Klik + -> Cari Webhook.
- HTTP Method:
POST. - SANGAT PENTING: Tarik garis dari Webhook ke node Respond to Webhook. Set respon code ke
200. - 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).
- Tambahkan node HTTP Request.
- Method:
POST. - URL:
https://workspace.dot.co.id/api/v4/actions/dialogs/open. - 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)"
}
]
}
}Menunggu User Mengetik (Wait Node)
Gunakan node Wait untuk "menidurkan" workflow sampai user menekan tombol "Kirim DSU".
- Tarik garis dari node HTTP Request ke node Wait.
- Resume Mode:
On Webhook Call. - Webhook Method:
POST. - 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.
- Tambahkan node Google Sheets.
- Operation:
Append(Menambah baris baru). - Document: Pilih file spreadsheet DSU Anda di Google Drive.
- 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.
- Tambahkan node Mattermost.
- Resource:
Post, Operation:Create. - Message:
Laporan DSU dari {{ $node["Wait"].json["body"]["submission"]["yesterday"] }} berhasil dicatat!.
Tips Debugging
- Jika form tidak muncul: Cek apakah
trigger_iddi JSON sudah benar.trigger_idhanya 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.