Studi Kasus: Membuat Form DSU
Panduan langkah demi langkah membuat workflow DSU dari nol.
Membuat Workflow DSU dari Nol
Panduan ini dirancang untuk Anda yang baru pertama kali menggunakan n8n. Kita akan membuat fitur di mana user mengetik /dsu di Mattermost, muncul form, dan hasilnya tersimpan di Google Sheets.
Persiapan
- Buka dashboard n8n Anda.
- Klik "Add Workflow" di pojok kanan atas.
- Beri nama:
Project - Daily Standup Report.
Langkah 1: Pintu Masuk (Webhook & Respon Cepat)
Mattermost sangat "tidak sabar". Jika workflow Anda tidak menjawab dalam 3 detik, dia akan menampilkan error "Timeout". Jadi, langkah pertama adalah memberi jawaban "Oke, saya terima!" secepat mungkin.
Tambahkan Node "Webhook"
- Klik tombol + di kanvas n8n.
- Cari Webhook.
- Set
HTTP MethodkePOST. - Copy Test URL-nya. (Simpan dulu, nanti kita masukkan ke Mattermost).
Tambahkan Node "Respond to Webhook"
- Tarik garis dari Webhook ke node baru.
- Cari Respond to Webhook.
- Set
HTTP Response Codeke200. - Ini gunanya hanya untuk bilang "Sip!" ke Mattermost agar dia tenang.
Langkah 2: Menampilkan Formulir (Open Dialog)
Setelah Mattermost tenang, barulah kita suruh bot mengirim formulir ke layar user.
Tambahkan Node "HTTP Request"
- Tarik garis dari node Webhook tadi (garis baru atau cabang).
- Cari HTTP Request.
- Method:
POST. - URL:
https://workspace.dot.co.id/api/v4/actions/dialogs/open. - Authentication: Pilih
Predefined Credential Type->mattermostApi(Pilih akun bot yang sudah ada).
Isi JSON Body Dialog
Di bagian Body Parameters, pilih JSON dan paste kode ini:
{
"trigger_id": "{{ $json.body.trigger_id }}",
"url": "{{ $execution.resumeUrl }}",
"dialog": {
"callback_id": "dsu_form",
"title": "Daily Standup Report",
"submit_label": "Kirim DSU",
"elements": [
{
"display_name": "Apa yang dikerjakan kemarin?",
"name": "yesterday",
"type": "textarea"
},
{
"display_name": "Apa rencana hari ini?",
"name": "today",
"type": "textarea"
}
]
}
}[!NOTE]
trigger_idadalah kunci untuk membuka pintu dialog. Jika ini salah, form tidak akan muncul.
Langkah 3: Menunggu User Mengetik (Wait Node)
Workflow akan "tidur" sejenak sampai user selesai mengisi form dan klik tombol "Kirim DSU".
Tambahkan Node "Wait"
- Tarik garis dari node HTTP Request sebelumnya.
- Cari Wait.
- Resume Mode: Pilih
On Webhook Call. - Webhook Method:
POST. - Set
Limit Wait Timeke5 minutes(agar workflow tidak nunggu selamanya jika user cancel).
Langkah 4: Menyimpan Hasil ke Google Sheets
Setelah user klik "Kirim", workflow akan "bangun" lagi membawa data ketikan user.
Tambahkan Node "Google Sheets"
- Tarik garis dari node Wait.
- Cari Google Sheets.
- Operation:
Append. - Document: Pilih file Spreadsheet DSU Anda.
- Mapping: Masukkan field
yesterdaydantodayke kolom yang sesuai di Google Sheets.
Langkah 5: Beri Tahu User "Berhasil!"
Terakhir, beri konfirmasi di Mattermost bahwa datanya sudah aman.
Tambahkan Node "Mattermost"
- Tarik garis terakhir dari node Google Sheets.
- Cari Mattermost.
- Resource:
Post, Operation:Create. - Channel: Pilih DM ke user atau channel team.
- Message:
Terima kasih! DSU Anda sudah tercatat.
Cara Mencoba (Testing)
- Klik Execute Workflow di n8n.
- Buka Mattermost, ketik perintah
/dsu. - Isi formnya, lalu klik Kirim.
- Lihat di n8n, garis-garisnya akan berubah jadi hijau satu per satu!
[!TIP] Jika sudah berhasil, jangan lupa klik "Save" dan aktifkan switch "Active" di pojok kanan n8n agar workflow ini jalan terus secara otomatis.