Bot WA untuk Reminder & Pengingat Otomatis
Cara buat bot WhatsApp untuk reminder otomatis. Pengingat janji, pembayaran, follow-up. Tidak ada yang terlupa lagi!
Lupa follow up customer? Janji meeting terlewat?
Bot WhatsApp bisa jadi asisten pengingat pribadi yang tidak pernah lupa. Kirim reminder otomatis untuk apapun!
Kenapa Butuh Bot Reminder?
❌ TANPA BOT REMINDER:
- Lupa follow up → Lost sales
- Customer lupa bayar → Cash flow terganggu
- Janji meeting terlewat → Unprofessional
- Deadline kelewatan → Project delay
✅ DENGAN BOT REMINDER:
- Follow up otomatis tepat waktu
- Reminder pembayaran terkirim
- Semua janji teringat
- Tidak ada yang terlewat!Jenis Reminder yang Bisa Diotomatisasi
1. Reminder Pembayaran
⏰ REMINDER PEMBAYARAN
Hai Kak [NAMA]! 👋
Ini pengingat untuk invoice #[NOMOR]:
💰 Total: Rp [NOMINAL]
📅 Jatuh tempo: [TANGGAL]
⏳ Status: Belum dibayar
Silakan transfer ke:
🏦 BCA: 1234567890
👤 a.n. Toko ABC
Sudah bayar? Kirim bukti transfer ya!
Abaikan jika sudah lunas 🙏2. Reminder Janji/Appointment
📅 REMINDER APPOINTMENT
Hai Kak [NAMA]!
Pengingat untuk besok:
🗓️ [JENIS APPOINTMENT]
📅 Tanggal: [TANGGAL]
⏰ Jam: [JAM] WIB
📍 Lokasi: [TEMPAT]
Mohon datang 15 menit lebih awal.
Konfirmasi kehadiran:
- Ketik HADIR jika bisa datang
- Ketik RESCHEDULE untuk ubah jadwal
Sampai jumpa! 🙏3. Reminder Follow Up Sales
👋 FOLLOW UP
Hai Kak [NAMA]!
Kemarin kakak tertarik dengan [PRODUK].
Gimana, sudah ada keputusan? 😊
🔥 Info: Promo masih berlaku sampai [TANGGAL]!
Mau lanjut order?
- Ketik ORDER untuk pesan
- Ketik TANYA untuk info lebih lanjut
Kami tunggu ya! 💕4. Reminder Pengiriman
📦 PAKET DALAM PERJALANAN!
Hai Kak [NAMA]!
Order #[NOMOR] sedang dikirim:
🚚 Kurir: [KURIR]
📝 Resi: [RESI]
📍 Status: [STATUS]
📅 Estimasi: [TANGGAL]
Track: [LINK TRACKING]
Pastikan ada orang di rumah ya! 📍5. Reminder Stok/Restock
🔔 PRODUK READY LAGI!
Hai Kak [NAMA]! 🎉
[PRODUK] yang kakak tunggu sudah RESTOCK!
📦 Stok tersedia: [QTY] pcs
💰 Harga: Rp [HARGA]
Langsung order sebelum kehabisan lagi?
Ketik ORDER untuk beli sekarang! 🛒Cara Kerja Bot Reminder
┌─────────────────────────────────────────┐
│ DATABASE/SPREADSHEET │
│ (Daftar reminder + jadwal + kontak) │
└────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ SCHEDULER/CRON │
│ (Check setiap menit/jam) │
└────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ BOT ENGINE │
│ (Kirim reminder yang sudah waktunya) │
└────────────────┬────────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ WHATSAPP │
│ (Customer terima reminder) │
└─────────────────────────────────────────┘Implementasi Sederhana
Menggunakan Node.js + Cron:
javascript
const cron = require('node-cron');
const { Client, LocalAuth } = require('whatsapp-web.js');
const client = new Client({
authStrategy: new LocalAuth()
});
// Database reminder (bisa dari file/database)
const reminders = [
{
id: 1,
phone: '628123456789',
message: 'Reminder: Pembayaran invoice #001 jatuh tempo besok!',
sendAt: '2026-02-18 09:00:00',
sent: false
},
// ... more reminders
];
// Check setiap menit
cron.schedule('* * * * *', async () => {
const now = new Date();
for (const reminder of reminders) {
if (reminder.sent) continue;
const sendTime = new Date(reminder.sendAt);
if (now >= sendTime) {
await client.sendMessage(
reminder.phone + '@c.us',
reminder.message
);
reminder.sent = true;
console.log(`Reminder sent to ${reminder.phone}`);
}
}
});
client.initialize();Dengan Google Sheets:
javascript
// Baca jadwal dari Google Sheets
async function getRemindersFromSheet() {
const doc = new GoogleSpreadsheet(SHEET_ID);
await doc.useServiceAccountAuth(creds);
await doc.loadInfo();
const sheet = doc.sheetsByIndex[0];
const rows = await sheet.getRows();
return rows.map(row => ({
phone: row.phone,
message: row.message,
sendAt: row.sendAt,
sent: row.sent === 'TRUE'
}));
}Strategi Reminder Efektif
Timing yang Tepat:
📅 JADWAL OPTIMAL:
Reminder H-3: "Save the date"
Reminder H-1: "Besok ya!"
Reminder H-Day: "Hari ini jam X"
Reminder H+1: "Gimana kemarin?"
💳 REMINDER PEMBAYARAN:
H-3: Soft reminder
H-1: Urgent reminder
H+1: Overdue noticeFrequency Rule:
⚠️ JANGAN SPAM!
- Max 3 reminder per event/invoice
- Interval minimal 24 jam
- Stop jika sudah action
- Sediakan opsi opt-outUse Cases by Industry
Klinik/Dokter:
- Reminder appointment H-1 dan H-3
- Pengingat minum obat (recurring)
- Follow up setelah konsultasi
- Reminder kontrol ulangSalon/Spa:
- Konfirmasi booking
- Reminder H-1 appointment
- Follow up untuk rebooking
- Promo membership renewalE-commerce/Olshop:
- Reminder abandoned cart
- Notifikasi pengiriman
- Follow up setelah terima barang
- Reminder review/testimoniKursus/Les:
- Reminder jadwal kelas
- Pengingat tugas/deadline
- Follow up absent
- Reminder pembayaran SPPFitur Advanced
Smart Reminder (dengan kondisi):
javascript
// Kirim reminder hanya jika belum bayar
async function sendPaymentReminder(invoice) {
// Check status pembayaran
const isPaid = await checkPaymentStatus(invoice.id);
if (!isPaid) {
await sendReminder(invoice.phone,
`Reminder pembayaran ${invoice.number}...`
);
} else {
console.log('Already paid, skip reminder');
}
}Recurring Reminder:
javascript
// Reminder berulang (misal: minum obat)
const recurringReminders = [
{
phone: '628123456789',
message: '💊 Waktunya minum obat!',
schedule: '0 8,14,20 * * *' // Jam 8, 14, 20 setiap hari
}
];
recurringReminders.forEach(reminder => {
cron.schedule(reminder.schedule, async () => {
await client.sendMessage(
reminder.phone + '@c.us',
reminder.message
);
});
});Response Tracking:
javascript
// Track apakah reminder direspon
client.on('message', async msg => {
const text = msg.body.toUpperCase();
if (text === 'HADIR') {
// Update status di database
await updateAppointmentStatus(msg.from, 'confirmed');
await msg.reply('Terima kasih konfirmasinya! Sampai jumpa! 🙏');
}
if (text === 'RESCHEDULE') {
await msg.reply('Silakan pilih jadwal baru:\n1. Senin 10:00\n2. Selasa 14:00\n...');
}
});Best Practices
DO ✅
- Personalisasi dengan nama
- Timing yang tepat (jangan tengah malam!)
- Pesan singkat dan jelas
- Sediakan action yang mudah
- Respectful frequency
- Konfirmasi setelah actionDON'T ❌
- Spam reminder berulang-ulang
- Kirim di jam tidak wajar
- Pesan terlalu panjang
- Tidak ada opt-out
- Tidak update setelah action
- Generic tanpa personalisasiFAQ
Berapa reminder optimal per event?
2-3 kali sudah cukup: H-3 (atau H-7 untuk yang besar), H-1, dan H-Day jika perlu.
Jam berapa sebaiknya kirim reminder?
Jam kerja: 09.00-18.00 paling aman. Avoid pagi sebelum jam 8 dan malam setelah jam 21.
Bagaimana jika customer minta stop?
Wajib provide opt-out! Misal: "Ketik STOP untuk berhenti menerima reminder."
Kesimpulan
Bot reminder = Memory yang tidak pernah lupa!
| Tanpa Reminder | Dengan Bot Reminder |
|---|---|
| Sering lupa follow up | Auto follow up tepat waktu |
| Customer lupa bayar | Reminder terkirim otomatis |
| Janji terlewat | Semua appointment teringat |
| Manual & capek | Otomatis & efisien |
Never miss anything again!