Resep: Membangun Bot WhatsApp dengan n8n
Panduan ini akan membantu Anda membangun chatbot WhatsApp otomatis tanpa menulis kode, menggunakan n8n workflow automation dan Kirem node. Bot akan menerima pesan masuk, mencocokkan kata kunci, dan membalas secara otomatis.
๐ฏ Yang Akan Anda Capai
Setelah mengikuti panduan ini:
- Bot WhatsApp yang dapat menerima pesan pelanggan secara real-time
- Balasan otomatis berdasarkan kata kunci (misal: "Halo" โ pesan sambutan)
- Workflow visual yang dapat dikustomisasi tanpa coding
๐ Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- n8n instance โ bisa self-hosted di server Anda atau gunakan n8n.cloud
- Kirem node terinstal di n8n (lihat Langkah 1)
- API Key Kirem (live key) โ dapatkan dari Dasbor Kirem
- Webhook URL publik โ agar Meta dapat mengirimkan pesan masuk ke n8n Anda (gunakan ngrok untuk development lokal)
- Nomor WhatsApp terdaftar di Kirem yang sudah aktif
๐ง Langkah 1: Instal Kirem Community Node di n8n
- Buka n8n instance Anda
- Masuk ke Settings > Community Nodes
- Klik Install a community node
- Masukkan nama package:
n8n-nodes-kirem(atau nama package Kirem node yang tersedia) - Klik Install dan tunggu proses selesai
Setelah terinstal, node Kirem akan muncul di panel node sebelah kiri.
๐ง Langkah 2: Buat Webhook Trigger Node
Webhook Trigger akan menerima pesan masuk dari Kirem.
Tambahkan node Webhook ke canvas
Konfigurasi:
- HTTP Method:
POST - Path:
/whatsapp-bot - Response Mode:
Last Node - Response Data:
All Entries
- HTTP Method:
Klik Execute Node untuk mengaktifkan webhook
Salin Production URL yang muncul (contoh:
https://your-n8n.example.com/webhook/whatsapp-bot)
Konfigurasi Webhook di Dasbor Kirem
- Buka Dasbor Kirem > Webhooks
- Tambahkan webhook baru dengan URL production n8n Anda
- Verifikasi webhook (Kirem akan mengirimkan challenge)
๐ง Langkah 3: Tambahkan Node Switch untuk Pencocokan Kata Kunci
- Tambahkan node Switch setelah Webhook
- Konfigurasi:
- Mode:
Rules - Input:
{{ $json.body.entry[0].changes[0].value.messages[0].text.body }}(path ke isi pesan) - Tambahkan aturan (rules):
- Mode:
| Aturan | Operator | Nilai | Output |
|---|---|---|---|
contains |
Halo | 1 (Sambutan) | |
contains |
Hai | 1 (Sambutan) | |
contains or matches |
Harga | 2 (Harga) | |
contains or matches |
Bantuan | 3 (Bantuan) | |
contains or matches |
Jam | 4 (Jam Operasional) |
๐ง Langkah 4: Tambahkan Node Kirem untuk Membalas
Untuk setiap output Switch, tambahkan node Kirem:
Output 1 โ Balasan Sambutan "Halo/Hai"
- Tambahkan node Kirem setelah output 1 Switch
- Konfigurasi:
- Resource:
Message - Operation:
Send - Phone Number ID: (ID nomor WhatsApp Anda dari Dasbor Kirem)
- To:
{{ $json.body.entry[0].changes[0].value.messages[0].from }} - Message Type:
Text - Body:
Halo! ๐ Selamat datang di layanan kami. Berikut yang bisa saya bantu: - Ketik *Harga* untuk info produk & harga - Ketik *Bantuan* untuk bantuan pelanggan - Ketik *Jam* untuk jam operasional
- Resource:
Output 2 โ Balasan Info Harga
- Tambahkan node Kirem setelah output 2 Switch
- Konfigurasi:
- To:
{{ $json.body.entry[0].changes[0].value.messages[0].from }} - Message Type:
Text - Body:
๐ Daftar Harga Produk Kami: - Paket Basic: Rp 99.000/bulan - Paket Pro: Rp 249.000/bulan - Paket Enterprise: Rp 499.000/bulan Kunjungi https://kirem.co.id/harga untuk detail lengkap!
- To:
Output 3 โ Balasan Bantuan
- Tambahkan node Kirem setelah output 3 Switch
- Isi body dengan informasi kontak support Anda
Output 4 โ Balasan Jam Operasional
- Tambahkan node Kirem setelah output 4 Switch
- Isi body dengan jam operasional bisnis Anda
๐ง Langkah 5: Tambahkan Fallback untuk Pesan Tidak Dikenal
Tambahkan satu node Kirem lagi untuk menangani pesan yang tidak cocok dengan kata kunci apa pun:
- Sambungkan output Fallback Switch ke node Kirem baru
- Konfigurasi:
{ "body": "Maaf, saya belum mengerti pesan Anda. Ketik *Bantuan* untuk melihat menu yang tersedia." }
๐ฆ Struktur Workflow Lengkap
[Webhook Trigger]
โ
โผ
[Switch โ Pencocokan Kata Kunci]
โ
โโโ Output 1: "Halo/Hai" โโโถ [Kirem: Balasan Sambutan]
โโโ Output 2: "Harga" โโโถ [Kirem: Info Harga]
โโโ Output 3: "Bantuan" โโโถ [Kirem: Bantuan]
โโโ Output 4: "Jam" โโโถ [Kirem: Jam Operasional]
โโโ Fallback โโโถ [Kirem: Pesan Tidak Dikenal]
๐งช Uji Coba
- Aktifkan workflow di n8n (toggle Active)
- Kirim pesan WhatsApp ke nomor bisnis Anda:
- Kirim "Halo" โ bot membalas dengan pesan sambutan
- Kirim "Harga" โ bot membalas dengan daftar harga
- Kirim "Tes" โ bot membalas dengan pesan fallback
- Periksa Executions di n8n untuk melihat log workflow
๐จ Kustomisasi Lanjutan
Menambahkan Tombol Interaktif (Quick Reply)
Alih-alih teks biasa, gunakan pesan interaktif:
{
"type": "interactive",
"interactive": {
"type": "button",
"body": {
"text": "Halo! Apa yang bisa saya bantu?"
},
"action": {
"buttons": [
{
"type": "reply",
"reply": {
"id": "harga",
"title": "๐ฐ Harga"
}
},
{
"type": "reply",
"reply": {
"id": "bantuan",
"title": "๐ Bantuan"
}
}
]
}
}
}
Menyimpan Data Pelanggan ke Database
Tambahkan node Google Sheets atau PostgreSQL setelah Webhook untuk mencatat setiap interaksi:
- Nomor telepon pelanggan
- Isi pesan
- Waktu pesan diterima
- Balasan yang dikirim
Menambahkan AI/NLP
Gunakan node OpenAI untuk memproses bahasa alami sehingga bot dapat memahami maksud pelanggan tanpa pencocokan kata kunci eksak.
โ ๏ธ Catatan Penting
- Pastikan URL webhook n8n Anda dapat diakses publik. Untuk development lokal, gunakan ngrok:
ngrok http 5678 - Jangan lupa mengaktifkan workflow (toggle Active) setelah selesai konfigurasi
- WhatsApp membatasi balasan dalam jendela 24 jam. Untuk membalas pesan di luar jendela, gunakan templat yang sudah disetujui
- Gunakan node Wait jika Anda perlu jeda antar pesan (rate limiting)