Buat Chatbot WhatsApp Tanpa Kode
Rancang alur percakapan secara visual dengan seret dan lepas. Tangani dukungan, penjualan, pemesanan, dan FAQ 24/7. Serah terima mulus ke agen manusia saat diperlukan. Alur chatbot tersedia di paket Business dan uji coba gratis 14 hari.
✦ Uji coba gratis 14 hari · Nomor WhatsApp Business Anda sendiri · Meta menagih pesan secara langsung
Pembuat Alur Visual Seret dan Lepas
Tanpa kode. Mulai alur dari pesan pertama pelanggan, pesan masuk apa pun, kata kunci, atau secara manual. Lalu rangkai langkah: kirim pesan atau template, tunggu balasan atau jeda, bercabang berdasarkan balasan tombol atau daftar dan kondisi, atur kolom, tambah atau hapus tag, ubah tahap pipeline, tugaskan agen, dan akhiri. Mulai dari salah satu dari 4 alur awal per industri.
- Antarmuka visual seret dan lepas
- Logika kondisional dan percabangan
- Serah terima agen dengan konteks lengkap
Serah Terima Bot-ke-Agen Manusia yang Mulus
1. Percobaan Resolusi Bot
Chatbot menjawab FAQ, mengumpulkan detail utama, dan memproses pertanyaan menggunakan aturan logika visual.
2. Permintaan Transfer
Saat pelanggan mengetuk 'Bicara dengan agen' (cabang tombol atau daftar), langkah 'tugaskan agen' menyerahkan obrolan ke tim Anda.
3. Pengambilalihan Langsung
Agen melihat seluruh percakapan, tag, dan kolom kontak di kotak masuk tim bersama, lalu membalas dari sana.
Otomatisasi Chatbot vs. Menu Interaktif vs. Dukungan Langsung
Pahami efisiensi respons, kompleksitas pengaturan, dan perbedaan biaya.
| Kemampuan | Chatbot Otomatis | Menu Tombol Interaktif | Dukungan Langsung Murni |
|---|---|---|---|
| Latensi Respons | Detik (otomatis) | Detik (opsi tetap) | Menit hingga jam (Bergantung antrean) |
| Tingkat Kompleksitas | Sedang (cabang, kondisi, kolom) | Rendah (Rute statis tetap) | Tinggi (Bergantung kapasitas manusia) |
| Jam Operasional | 24/7/365 (Tanpa pengawasan) | 24/7/365 (Tanpa pengawasan) | Hanya jam bisnis |
| Biaya Operasional | Rendah (tanpa waktu agen per obrolan) | Rendah (tanpa waktu agen per obrolan) | Tertinggi (waktu agen di setiap obrolan) |
Terima balasan pelanggan sebagai webhook bertanda tangan
{
"id": "evt_01JC9W2K7Q",
"type": "message.received",
"createdAt": "2026-10-07T10:42:00.000Z",
"workspaceId": "ws_9f2c",
"data": {
"message": {
"id": "msg_7d1e",
"conversationId": "conv_3a90",
"contactId": "ct_88b1",
"from": "+919812345678",
"type": "interactive",
"text": "Track my order",
"reply": {
"kind": "button",
"id": "track_order",
"title": "Track my order"
},
"context": {
"messageId": "msg_6c02",
"clientReference": "order-1042"
},
"form": null,
"referral": null,
"timestamp": "2026-10-07T10:41:58.000Z"
},
"contact": {
"id": "ct_88b1",
"phone": "+919812345678",
"name": "Asha"
}
}
} import express from 'express';
import { createHmac, timingSafeEqual } from 'node:crypto';
const app = express();
const SECRET = process.env.SM_WEBHOOK_SECRET; // the whole whsec_… string
function verify(rawBody, headers) {
const ts = headers['x-sm-timestamp'];
const sigs = headers['x-sm-signature'];
if (!/^\d+$/.test(ts ?? '') || typeof sigs !== 'string') return false;
if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const expected = createHmac('sha256', SECRET).update(`${ts}.`).update(rawBody).digest();
return sigs.split(',').some((part) => {
const m = /^v1=([0-9a-f]{64})$/.exec(part.trim());
return m !== null && timingSafeEqual(Buffer.from(m[1], 'hex'), expected);
});
}
app.post('/webhooks/startmessaging', express.raw({ type: 'application/json' }), (req, res) => {
if (!verify(req.body, req.headers)) return res.sendStatus(401);
res.sendStatus(200); // answer within 5 seconds, then do the work
const event = JSON.parse(req.body);
if (event.type === 'message.received' && event.data.message.reply?.id === 'track_order') {
// look up the order and reply via POST /api/v1/messages
}
}); import hmac, hashlib, json, os, time
from flask import Flask, request
app = Flask(__name__)
SECRET = os.environ['SM_WEBHOOK_SECRET'].encode() # the whole whsec_… string
def verify(raw_body, ts, sigs):
if not ts or not ts.isdigit() or not sigs:
return False
if abs(time.time() - int(ts)) > 300:
return False
expected = hmac.new(SECRET, f'{ts}.'.encode() + raw_body, hashlib.sha256).hexdigest()
return any(
hmac.compare_digest(part.strip()[3:], expected)
for part in sigs.split(',') if part.strip().startswith('v1=')
)
@app.post('/webhooks/startmessaging')
def startmessaging_webhook():
raw = request.get_data()
if not verify(raw, request.headers.get('X-SM-Timestamp'), request.headers.get('X-SM-Signature')):
return '', 401
event = json.loads(raw)
if event['type'] == 'message.received':
reply = event['data']['message'].get('reply') or {}
print('Customer tapped:', reply.get('id'))
return '', 200 Chatbot — FAQ
Apakah chatbot dapat dialihkan ke agen manusia?
Ya. Tambahkan langkah 'tugaskan agen' di titik mana pun seseorang perlu mengambil alih — misalnya setelah tombol 'Bicara dengan agen'. Obrolan berpindah ke tim Anda di kotak masuk bersama dengan seluruh percakapan, tag, dan kolom kontak, sehingga agen dapat membantu tanpa meminta pelanggan mengulang.
Apakah saya memerlukan keterampilan coding untuk membangun chatbot WhatsApp?
Tidak. Pembuat alur visual sepenuhnya tanpa kode — seret langkah ke kanvas, hubungkan, lalu atur pesan dan kondisi. Untuk logika kustom, setiap pesan masuk juga dikirim ke sistem Anda sebagai webhook bertanda tangan, dan Anda dapat membalas melalui REST API.
Jenis pesan apa saja yang dapat ditangani chatbot secara otomatis?
Chatbot dapat mengirim teks, media, dan template yang disetujui, tombol balasan (hingga 3), dan pesan daftar (hingga 10 baris). Chatbot dapat bercabang berdasarkan pilihan pelanggan atau kondisi, dan menunggu balasan teks bebas sebelum melanjutkan.
Dapatkah saya menghubungkan chatbot ke CRM atau database eksternal?
Alur memperbarui CRM bawaan StartMessaging secara langsung — mengatur kolom kontak, menambah atau menghapus tag, dan memindahkan kontak antar tahap pipeline. Untuk sinkronisasi dengan CRM atau database eksternal, gunakan webhook (pesan baru, perubahan kontak) dan REST API, atau hubungkan Zapier, Make, atau Pabbly.
Bagaimana cara menguji chatbot sebelum diluncurkan?
Tambahkan nomor telepon Anda sendiri sebagai kontak dan beri alur pemicu kata kunci yang hanya diketahui tim Anda (misalnya 'testbot'). Kirim kata kunci itu ke nomor WhatsApp Business Anda untuk menjalankan alur, lalu ganti ke pemicu sebenarnya setelah Anda puas.
Paket mana yang mencakup alur chatbot?
Paket Business, dan uji coba gratis 14 hari. Membuat, menyimpan, dan mengaktifkan alur memerlukan Business. Di paket apa pun Anda tetap dapat membuka, menjeda, atau menghapus alur yang dibuat sebelumnya, misalnya selama uji coba, dan alur itu berjalan lagi saat workspace berada di Business. Balasan otomatis kata kunci, yang menjawab kata kunci dengan teks atau template tanpa alur, tersedia di Team dan Business.
Bangun Chatbot WhatsApp Pertama Anda
Alur chatbot tersedia di paket Business dan uji coba gratis 14 hari. Balasan otomatis kata kunci tersedia di Team dan Business.