Bot WA untuk Reminder & Pengingat Otomatis

Cara buat bot WhatsApp untuk reminder otomatis. Pengingat janji, pembayaran, follow-up. Tidak ada yang terlupa lagi!

Bot WA untuk Reminder
Bot WA untuk Reminder

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 notice

Frequency Rule:

⚠️ JANGAN SPAM!

- Max 3 reminder per event/invoice
- Interval minimal 24 jam
- Stop jika sudah action
- Sediakan opsi opt-out

Use Cases by Industry

Klinik/Dokter:

- Reminder appointment H-1 dan H-3
- Pengingat minum obat (recurring)
- Follow up setelah konsultasi
- Reminder kontrol ulang

Salon/Spa:

- Konfirmasi booking
- Reminder H-1 appointment
- Follow up untuk rebooking
- Promo membership renewal

E-commerce/Olshop:

- Reminder abandoned cart
- Notifikasi pengiriman
- Follow up setelah terima barang
- Reminder review/testimoni

Kursus/Les:

- Reminder jadwal kelas
- Pengingat tugas/deadline
- Follow up absent
- Reminder pembayaran SPP

Fitur 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 action

DON'T ❌

- Spam reminder berulang-ulang
- Kirim di jam tidak wajar
- Pesan terlalu panjang
- Tidak ada opt-out
- Tidak update setelah action
- Generic tanpa personalisasi

FAQ

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 ReminderDengan Bot Reminder
Sering lupa follow upAuto follow up tepat waktu
Customer lupa bayarReminder terkirim otomatis
Janji terlewatSemua appointment teringat
Manual & capekOtomatis & efisien

Never miss anything again!

Setup Bot Reminder →


Artikel Terkait