Reminder booking WhatsApp bekerja ketika Anda mengirimnya pada 2 waktu saja, dan ketika sistem Anda menyimpan bukti pesan itu sampai ke ponsel pelanggan, bukan hanya catatan bahwa pesan sudah dilepas.
Syaratnya 2 hal. Nomor WhatsApp Business Anda memakai template yang disetujui. Jadwal booking dan kalender pribadi Anda memakai 1 sumber waktu yang sama.
Batasnya jelas. Halaman ini menjelaskan mekanisme dan cara memasang. Halaman ini tidak menjanjikan angka kehadiran, karena angka itu bergantung pada layanan, harga, dan kota Anda.
Ringkasan cepat
| Pertanyaan | Jawaban singkat |
|---|---|
| Berapa pengingat yang dikirim? | 2 pengingat: H-1 dan 1 jam sebelum. |
| Apa tanda pengingat benar sampai? | Status delivered, bukan status sent. |
| Apa yang menghentikan jadwal ganda? | Sinkron kalender 2 arah. |
| Siapa yang membuat link meeting? | Sistem booking, saat acara kalender dibuat. |
| Siapa yang memindahkan jadwal? | Pelanggan, lewat link kelola sendiri. |
| Apa itu webhookWebhookPesan otomatis yang sebuah sistem kirim ke sistem lain tepat saat sesuatu terjadi, misalnya pesan WhatsApp masuk.Buka glosarium? | Pesan otomatis dari sistem booking ke sistem Anda. |
Kenapa reminder booking WhatsApp butuh bukti sampai
Banyak dasbor hanya menampilkan 1 kata: terkirim. Kata itu menyembunyikan kegagalan.
Referensi webhook status WhatsApp Cloud APIAPIPintu resmi yang dipakai 2 sistem untuk saling mengirim data, tanpa orang menyalin data secara manual.Buka glosarium dari Meta, diperbarui 21 Mei 2026, menyebut 5 nilai status. Empat di antaranya menentukan nasib pengingat Anda.
sent: pesan lepas dari server Meta. Tampilan: 1 centang.delivered: pesan sampai ke perangkat pelanggan. Tampilan: 2 centang.read: pesan tampil di layar obrolan. Tampilan: 2 centang biru.failed: pesan gagal dikirim atau gagal sampai. Tampilan: segitiga merah.
Bayangkan surat dan kurir. Status sent adalah saat surat berpindah ke tangan kurir. Status delivered adalah tanda tangan di depan pintu.
Dokumen yang sama menyebut 1 pesan keluar dapat memicu sampai 3 webhook terpisah: terkirim, tersampaikan, dan dibaca. Objek errors hanya muncul saat pesan gagal, jadi kode alasan hanya ada di sana.
Aturan saya: simpan ketiga status per pesan, bukan status terakhir saja. Tanpa urutan itu, Anda tidak bisa membedakan ponsel mati dari nomor salah.
Empat momen notifikasi dan tugas masing-masing
Satu booking memerlukan 4 pesan, bukan 7. Setiap pesan punya 1 tugas. Pesan tanpa tugas dihapus.
| Momen | Waktu kirim | Tugas | Isi wajib |
|---|---|---|---|
| Konfirmasi | Segera setelah booking | Membuktikan jadwal tercatat | Tanggal, jam, lokasi, link kelola |
| Pengingat H-1 | 1 hari sebelum | Memberi ruang memindahkan jadwal | Link kelola sendiri |
| Pengingat 1 jam | 1 jam sebelum | Menggerakkan orang berangkat | Alamat atau link meeting |
| Tindak lanjut | Setelah kunjungan selesai | Menutup kunjungan | Ringkasan dan jadwal berikutnya |

Jadwal pengingat yang bekerja: H-1 dan 1 jam sebelum
Pengingat H-1 datang saat orang masih bisa bertindak. Dia masih bisa memindahkan jadwal atau membatalkan tanpa merugikan Anda.
Pengingat 1 jam sebelum punya tugas lain. Dia menggerakkan orang berangkat, jadi isinya alamat atau link meeting.
Pengingat 3 hari sebelum terdengar aman, tetapi orang melupakannya lagi sebelum hari H. Pesan itu memakan kuota dan tidak mengubah keputusan.
Ini aturan operasional, bukan angka hasil pengukuran. Uji pada 1 layanan dulu, lalu bandingkan kehadiran sebelum dan sesudah.
Kenapa menambah pesan justru memperburuk hasil
WhatsApp menilai setiap template Anda. Dokumentasi template quality Meta, diperbarui 17 Juni 2026, menyebut 4 peringkat: GREEN, YELLOW, RED, dan UNKNOWN.
Peringkat turun karena 2 sebab: masukan negatif, atau tingkat pembacaan yang rendah. Template RED masih bisa dikirim, tetapi berisiko dijeda. Template yang kehilangan status APPROVED tidak bisa dikirim lagi.
Di sinilah jebakannya. Anda menambah pesan agar orang tidak lupa. Penerima memblokir, peringkat turun, lalu 1 pengingat yang penting ikut berhenti terkirim.
Batas pengiriman juga nyata. Dokumentasi Meta menyebut portofolio bisnis baru mulai dari 250 nomor pengguna unik dalam 24 jam bergulir, di luar periode layanan pelanggan. Batas itu lalu naik ke 2.000, 10.000, 100.000, dan tanpa batas.
Artinya kuota Anda terbatas di awal. Habiskan kuota itu untuk pesan yang mengubah perilaku.
Sinkron kalender dua arah menutup pintu jadwal ganda
Jadwal ganda terjadi karena Anda punya 2 catatan waktu. Halaman booking memegang 1 catatan, kalender pribadi memegang catatan lain, dan keduanya tidak saling melihat.
Sinkron 2 arah menyatukan keduanya dengan aturan sederhana. Satu arah menulis. Satu arah membaca.

Saya merekomendasikan Termilo untuk bagian ini. Termilo adalah infrastruktur booking yang dioperasikan PT Nafanesia Kebermanfaatan Indonesia, Bandung. Rama Digital merekomendasikan Termilo dan tidak mengoperasikannya.
Saya membaca dokumentasi sinkron Google Calendar dan Meet Termilo untuk memastikan arah datanya. Dokumen itu menyebut Termilo menulis 1 acara kalender per booking, lalu membaca jendela sibuk untuk menyaring slot yang bentrok.
Izin yang diminta hanya 2, dan keduanya wajib. Izin baca calendar.freebusy membaca status sibuk tanpa membaca isi acara. Izin tulis calendar.events.owned hanya menyentuh acara milik booking.
Jadi acara pribadi Anda tetap tertutup. Sistem hanya tahu jam itu terpakai, bukan untuk apa.
Ada 1 lapis lagi. Dokumentasi Termilo menyebut slot di halaman hanya kandidat, lalu sistem memeriksa ulang slot itu di bawah kunci saat booking disimpan. Dua orang yang menekan jam yang sama tidak sama-sama berhasil.
Kalau istilah slot, layanan, dan ketersediaan masih baru bagi Anda, baca dulu penjelasan dasar booking system lalu cara kerja booking system.
Link meeting online dibuat otomatis
Untuk sesi online, link meeting sebaiknya lahir bersama jadwalnya, tanpa staf yang membuat dan menempelkannya.
Dokumentasi Termilo menjelaskan link Google Meet lahir dari acara Google Calendar, bukan dari API Meet terpisah. Sistem menyertakan permintaan konferensi saat membuat acara, jadi 1 koneksi Calendar sudah menghasilkan link Meet.
Satu catatan penting dari dokumen itu: pembuatan ruang Meet langsung lewat Google Meet REST masih ditandai pratinjau dan belum tersedia. Jangan merancang alur kerja di atas jalur itu hari ini.
Untuk Zoom, saya membaca dokumentasi integrasi Zoom Termilo. Setiap booking online memicu 1 pembuatan meeting atas nama host yang terhubung. Sistem menyimpan join_url peserta pada booking, dan itulah nilai yang dibagikan ke pelanggan.
Nilai start_url milik host disimpan terenkripsi dan tidak pernah ditampilkan. Aturannya pendek: bagikan link gabung, jangan bagikan link host. Link host memberi kendali penuh atas ruang meeting.
Webhook itu apa, dalam bahasa biasa
Webhook adalah panggilan otomatis. Sistem booking menelepon sistem Anda ketika sesuatu terjadi. Tanpa webhook, sistem Anda harus bertanya tiap 5 menit dan hampir selalu mendengar tidak ada yang baru.
Saya membaca dokumentasi webhook Termilo. Halaman itu menandai pengiriman keluar sebagai live, sementara peta llms.txt di situs yang sama masih menandai baris webhook dengan label pratinjau. Webhook masuk dari penyedia luar ditandai direncanakan dan belum ada di backend. Saya menyebut kedua label itu apa adanya, dan saya tidak memperlakukan webhook masuk sebagai endpoint yang hidup.
Nama event yang terdaftar di dokumen itu mengikuti pola subjek dan aksi: booking.created, booking.confirmed, booking.rescheduled, booking.cancelled, booking.completed, booking.no_show, dan booking.expired.
booking.createdmemicu pesan konfirmasi dan menjadwalkan 2 pengingat.booking.rescheduledmembatalkan 2 pengingat lama, lalu menjadwalkan 2 pengingat baru.booking.cancelledmembatalkan pengingat dan membebaskan jam itu di papan kerja Anda.booking.no_showmenandai pelanggan agar Anda bisa meminta deposit di booking berikutnya.
Dua detail menentukan apakah pemasangan Anda tahan banting. Pertama, pengiriman bersifat at-least-once, jadi 1 event bisa tiba lebih dari 1 kali. Simpan event ID dan tolak event yang sudah diproses. Kedua, endpoint Anda wajib membalas 2xx dalam 10 detik, dan percobaan ulang berhenti pada 6 percobaan.
Link kelola sendiri memindahkan jadwal tanpa chat
Memindahkan jadwal lewat chat memakan waktu staf. Pelanggan menulis, staf membaca, staf mengecek kalender, staf membalas. Empat langkah untuk 1 perubahan.
Link kelola sendiri memotong keempatnya. Saya membaca dokumentasi autentikasi Termilo untuk memeriksa batasnya.
Token kelola dikembalikan saat booking dibuat, ditandatangani, berlaku 30 hari, dan terikat ke 1 booking. Token itu hanya membawa 3 aksi: lihat, batal, dan jadwal ulang. Token itu tidak membuat sesi login.
Artinya link ini aman ditempel di pesan WhatsApp. Orang yang menerima link hanya bisa mengurus booking miliknya sendiri.
Tempelkan link itu di pesan konfirmasi dan di pengingat H-1. Jadwal ulang yang dilakukan pelanggan mengunci ulang slot dan memeriksa tumpang tindih, jadi hasilnya tetap 1 jadwal yang bersih.
Simulasi: klinik gigi dengan data contoh
Angka di bawah adalah data contoh untuk simulasi. Angka ini bukan hasil klien.
Kondisi awal. Satu dokter, 8 slot per hari, kalender pribadi di Google, halaman booking aktif, dan 2 template WhatsApp disetujui.
Masukan. Satu booking masuk untuk Selasa 14.00. Satu acara pribadi tercatat di kalender dokter untuk Rabu 10.00 sampai 12.00.
Langkah yang berjalan.
- Event
booking.createdmemicu pesan konfirmasi dan link kelola. - Sistem menulis 1 acara kalender untuk Selasa 14.00.
- Acara pribadi Rabu tampil sebagai sibuk, jadi slot 10.00 dan 11.00 hilang dari halaman booking.
- Senin 14.00, pengingat H-1 terkirim dengan link kelola.
- Pasien memindahkan jadwal sendiri ke Kamis 09.00 lewat link itu.
- Event
booking.rescheduledmembatalkan pengingat lama dan menjadwalkan pengingat baru. - Kamis 08.00, pengingat 1 jam terkirim dengan alamat klinik.
Keluaran yang bisa dilihat. Dua pengingat tercatat delivered, 2 slot Rabu tidak pernah tampil, dan 0 pesan terkirim untuk jadwal Selasa yang ditinggalkan.
Keputusan. Jika 2 pengingat berturut-turut berhenti di sent, hentikan pengiriman hari itu dan periksa daftar berikut. Jangan menambah pesan untuk menutupi kegagalan.
Kalau reminder tidak sampai, periksa ini
Periksa dari atas ke bawah. Berhenti di baris pertama yang cocok.
| Yang Anda lihat | Kemungkinan sebab | Tindakan |
|---|---|---|
Status berhenti di sent | Ponsel mati atau tanpa jaringan | Tunggu, lalu periksa status lagi |
Status failed dengan kode | Nomor salah atau template ditolak | Baca kode error, perbaiki nomor |
| Tidak ada status sama sekali | Endpoint Anda tidak membalas 2xx | Perbaiki endpoint, lalu kirim ulang |
| Pesan datang 2 kali | Event tiba lebih dari 1 kali | Simpan event ID, tolak duplikat |
| Pengingat ke jadwal lama | Event jadwal ulang tidak diproses | Batalkan job lama saat jadwal berubah |
| Template berhenti terkirim | Peringkat kualitas turun | Ganti isi pesan, kurangi frekuensi |
| Satu jam terjual 2 kali | Kalender belum terhubung | Hubungkan kalender, periksa statusnya |
Checklist pemasangan
- Setujui 2 template pengingat sebelum pesan pertama.
- Simpan status
sent,delivered, danfaileduntuk tiap pesan. - Jadwalkan pengingat H-1 dan 1 jam sebelum, lalu hapus sisanya.
- Hubungkan kalender, lalu pastikan statusnya terhubung.
- Blokir 1 jam di kalender, lalu pastikan slot itu hilang.
- Pasang link kelola sendiri di pesan konfirmasi dan pengingat H-1.
- Simpan event ID webhook dan tolak event yang sudah diproses.
- Periksa peringkat template tiap bulan, lalu perbaiki yang turun.
Menyambungkan booking ke iklan yang menghasilkannya
Pengingat menyelamatkan booking yang sudah ada, tetapi tidak memberi tahu iklan mana yang menghasilkannya. Untuk itu, jejak kliknya harus ikut sampai ke catatan booking. Saya menulis langkahnya di panduan tracking iklan Click to WhatsApp.
Batasnya: sambungan ini memerlukan izin pemasaran, dan datanya hanya mewakili orang yang memberi izin. Jika Anda ingin saya memasangnya, lihat layanan attribution bridge.
Pertanyaan yang sering masuk
Berapa pengingat yang sebaiknya saya kirim sebelum jadwal? Kirim 2. Satu pada H-1 untuk memberi ruang memindahkan jadwal, dan 1 pada 1 jam sebelum untuk menggerakkan orang berangkat.
Apa bedanya status terkirim dan status tersampaikan? Status sent berarti pesan lepas dari server Meta dengan 1 tanda centang. Status delivered berarti pesan sampai ke perangkat pelanggan dengan 2 tanda centang.
Apakah sinkron kalender membaca seluruh isi kalender saya? Tidak, jika izin yang diminta hanya status sibuk dan penulisan acara milik booking. Dokumentasi Termilo menyebut 2 izin itu sebagai akses minimum.
Apakah saya perlu menghubungkan Google Meet secara terpisah? Tidak. Dokumentasi Termilo menyebut link Meet lahir dari acara Google Calendar, jadi 1 koneksi Calendar sudah menghasilkan link meeting.
Apa yang saya lakukan saat pengingat tidak pernah sampai? Buka catatan status pesan itu dulu. Jika berhenti di sent, tunggu lalu periksa lagi. Jika failed, baca kode error dan perbaiki nomornya.
Apakah pelanggan bisa memindahkan jadwalnya sendiri tanpa akun? Bisa. Link kelola sendiri membawa 3 aksi terbatas, yaitu lihat, batal, dan jadwal ulang, dan link itu terikat ke 1 booking saja.
Sumber
- Termilo,
termilo.id/docs/integrations/google: arah sinkron, izin minimum, dan pembuatan link Meet. - Termilo,
termilo.id/docs/integrations/zoom: pembuatan meeting dan pemisahan link gabung dari link host. - Termilo,
termilo.id/docs/webhooks: nama event, tanda tangan, percobaan ulang, dan label status. - Termilo,
termilo.id/docs/auth: token kelola dan 3 aksi self-service. - Termilo,
termilo.id/llms.txt: daftar halaman dan label pratinjau. - Meta: webhook status pesan, diperbarui 21 Mei 2026.
- Meta: referensi webhook pesan, untuk struktur array status.
- Meta: peringkat kualitas template, diperbarui 17 Juni 2026.
- Meta: batas pengiriman pesan, untuk angka 250 dan 2.000.




