Tutorial Lengkap Follow Up Otomatis #
Panduan komplit dari A-Z untuk otomatisasi pesan WhatsApp bertahap.
⏱️ Estimasi baca: 25-30 menit · 📊 Level: Pemula sampai Expert
📖 Daftar Isi #
- Pengenalan Fitur
- Cara Kerja (Cron & Auto-trigger)
- Konsep Komponen
- Aktivasi Paket Add-on
- Setup Pengaturan Global
- Membuat Template Pesan
- Membuat Flow Follow Up
- Memasukkan Kontak ke Flow
- Monitoring Progress Kontak
- Kontrol: Pause, Resume, Stop
- Statistik & Laporan
- Skenario Dunia Nyata (6 Contoh)
- Variable & Personalisasi
- Troubleshooting
- Best Practices Anti Banned
- FAQ Lengkap (20 Pertanyaan)
- Glossary Istilah
1. Pengenalan Fitur Follow Up Otomatis #
Follow Up Otomatis adalah fitur di StarSender yang memungkinkan Anda membuat rangkaian pesan WhatsApp bertahap (disebut “drip campaign”) yang dikirim otomatis ke sekumpulan kontak berdasarkan jadwal yang Anda tentukan sendiri.
Analogikan seperti auto-responder email, tapi untuk WhatsApp:
Toko Anda baru dapat leads dari iklan Facebook. Customer isi form, nomor masuk database. Tanpa Follow Up Otomatis, admin harus manual chat satu-satu. Dengan Follow Up Otomatis, Anda cukup setup 1x — setiap nomor baru yang masuk akan otomatis menerima serangkaian pesan yang sudah Anda rancang: pesan perkenalan di menit ke-5, reminder harga di hari ke-2, penawaran diskon di hari ke-5, dst.
🎯 Masalah Yang Diselesaikan #
| ❌ Sebelum Ada Follow Up Otomatis | ✅ Dengan Follow Up Otomatis |
|---|---|
| Admin capek chat manual satu per satu ke leads baru | Satu kali setup, pesan kirim otomatis 24/7 |
| Leads sering terlupa, tidak ada follow-up lanjutan | Setiap leads dapat 3-5x pesan sesuai scenario |
| Waktu tim sales terbuang untuk reminder repetitif | Tim sales fokus ke leads yang sudah balas |
| Pesan tidak konsisten antar customer | Semua customer dapat pesan seragam & berkualitas |
| Tidak ada data: siapa yang sudah dihubungi, kapan? | Ada log lengkap: siapa, kapan, step berapa, dibaca/dibalas |
📊 Perbandingan Dengan Fitur Lain #
| Fitur | Kapan Pakai? | Beda dengan Follow Up |
|---|---|---|
| Blast / Campaign | Kirim 1 pesan sekali ke banyak kontak | Follow Up = multi-pesan bertahap dengan delay |
| Autoreply | Balas otomatis ketika ada pesan masuk dengan keyword | Follow Up = kirim proaktif, bukan reactive |
| Ulang Tahun | Kirim 1 pesan di tanggal lahir kontak | Follow Up = multi-step bertahap, bukan event-based |
| Daily Leads | Kirim satu pesan rutin harian | Follow Up = pesan berurutan dengan alur |
2. Cara Kerja Fitur (Detail Teknis) #
Supaya Anda paham kenapa pesan kirim di waktu tertentu atau kenapa kadang pesan terlambat beberapa menit, mari lihat cara kerja sistem di balik layar.
🕐 Sistem Cron Setiap 5 Menit #
StarSender menjalankan “cron worker” setiap 5 menit — yaitu proses background yang mengecek:
SETIAP 5 MENIT: ┌─────────────────────────────────────────────────────┐ │ 1. Loop semua user yang punya Setting aktif │ │ (is_active = 1) │ │ │ │ 2. Cek apakah sekarang dalam jam kerja user │ │ (work_hours_start ≤ NOW ≤ work_hours_end) │ │ (hari ini ada di work_days) │ │ ↓ │ │ KALAU DI LUAR JAM KERJA → SKIP user ini │ │ │ │ 3. Query kontak yang siap dikirim: │ │ WHERE status = 'active' │ │ AND next_send_at ≤ NOW │ │ AND owner = user_id │ │ LIMIT 100 │ │ │ │ 4. Untuk tiap kontak: │ │ a. Load flow, cek is_active=1 + belum expired │ │ b. Get step sekarang (berdasarkan current_step) │ │ c. Pilih device connected via round-robin │ │ d. Kirim pesan via RabbitMQ (instant delivery) │ │ e. Kalau sukses: │ │ - current_step++ │ │ - next_send_at = NOW + delay step berikutnya │ │ - Kalau step terakhir → status='completed' │ │ f. Kalau gagal: │ │ - retry_count++ │ │ - Kalau retry_count ≥ 3 → status='failed' │ │ - Kalau masih < 3 → retry dalam 10 menit │ └─────────────────────────────────────────────────────┘
⚡ Auto-Trigger via Tag #
Selain cron yang scan kontak existing, ada trigger real-time yang jalan kapan pun kontak baru ditambahkan:
- User tambah/update kontak (manual, import, API)
- Sistem cek: kontak punya tag apa saja? (dari data JSON atau group)
- Sistem cari flow yang
trigger_tag = tag_kontakANDis_active = 1AND belum expired - Kalau ketemu & belum ada record untuk pasangan (kontak, flow) ini → insert baru
- Cek
max_follow_up_per_contact— kalau kontak sudah di max N flow lain → skip - Set
next_send_at = NOW + delay Step 0 - Cron worker akan pickup kontak ini di siklus berikutnya
⏱️ Penjelasan Waktu Pengiriman #
Berdasarkan cron 5 menitan + delay per step, pesan sebenarnya dikirim dengan akurasi ±5 menit dari jadwal yang Anda set.
| Delay Step | Waktu Aktual Terkirim |
|---|---|
| 5 menit | 5-10 menit setelah kontak masuk flow |
| 1 jam | 60-65 menit (praktis 1 jam) |
| 1 hari | 24 jam ±5 menit |
| 3 hari | 72 jam ±5 menit |
- Di luar jam kerja → tunggu sampai masuk jam kerja berikutnya
- Device sedang offline → retry otomatis 3x (10 menit interval)
- Server sedang high load → delay 1-2 menit tambahan
- RabbitMQ queue padat (blast massal) → delay 5-15 menit
3. Konsep Komponen Sistem #
Follow Up Otomatis terdiri dari 6 komponen utama yang saling terhubung:
┌─────────────────────────────────────────────────────────────┐
│ SETTING GLOBAL │
│ (jam kerja, timezone, device, max per kontak, min delay) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ TEMPLATE PESAN │
│ (library pesan reusable: title, message, media, button) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ FLOW (CAMPAIGN) │
│ (name, trigger_tag, is_active, expired_at) │
│ │ │
│ ┌──────────────────────┼──────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ STEP 0 │ │ STEP 1 │ │ STEP 2 │ │
│ │ delay │ │ delay │ │ delay │ │
│ │ pesan │ │ pesan │ │ pesan │ │
│ └────────┘ └────────┘ └────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CONTACT PROGRESS (per kontak) │
│ (current_step, next_send_at, status, retry_count) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ LOG (audit trail) │
│ (outgoing_id, sent_at, read_at, replied_at, error) │
└─────────────────────────────────────────────────────────────┘
🧩 Detail Setiap Komponen #
📝 1. Template Pesan #
Fungsi: Library pesan yang bisa dipakai ulang di banyak flow/step. Kalau diubah satu kali, semua flow yang pakai template ini ikut ter-update.
Field:
title— nama internal (tidak ditampilkan ke customer)message— isi pesan (support variable)media_url— URL gambar/video (opsional)button_text+button_url— tombol link (opsional)
Keuntungan pakai Template vs Pesan Langsung: Maintenance. Misal ada typo di pesan, Anda cukup edit template 1x dan semua flow langsung ter-update.
🔀 2. Flow (Campaign) #
Fungsi: Definisi alur pesan untuk kasus tertentu. Contoh: "Follow Up Leads Dingin", "Reminder Cart Abandoned", "Onboarding Member Baru".
Field:
name— nama flow (tidak dilihat customer)trigger_tag— tag yang memicu flow auto-start. Case-sensitive, tidak boleh ada spasi atau karakter khusus.is_active— 1 = aktif, 0 = nonaktifexpired_at— tanggal kadaluwarsa (opsional; null = selamanya)total_steps— jumlah step (otomatis di-hitung)
🪜 3. Step (Tahapan Pesan) #
Fungsi: Setiap pesan dalam flow. Minimal 1 step, maksimal tidak terbatas.
Field:
step_order— urutan (0, 1, 2, 3, ...). Step dengan urutan 0 dikirim paling pertama.delay_type—minutes,hours, ataudaysdelay_value— angka delaymessage— pesan langsung (pilih ini ATAU template_id)template_id— ID template (pilih ini ATAU message)media_url,button_text,button_url— opsional
👤 4. Contact Progress #
Fungsi: Tracking posisi tiap kontak di flow. 1 record = 1 kontak di 1 flow. Satu kontak bisa punya banyak record (di flow berbeda).
Field:
current_step— step yang akan dikirim berikutnya (0, 1, 2, ...)next_send_at— timestamp kapan pesan berikutnya akan dikirimstatus—active/paused/stopped/completed/failedretry_count— counter retry (0-3)triggered_at,completed_at,paused_at
📜 5. Log (Audit Trail) #
Fungsi: Catatan permanen setiap percobaan pengiriman. Disimpan forever untuk audit.
Field:
status—pending,sent,failedsent_at— waktu terkirim ke RabbitMQread_at— waktu dibaca (centang biru)replied_at— waktu customer balaserror_message— pesan error kalau gagaloutgoing_id— link ke tabel Outgoing
⚙️ 6. Setting Global #
Fungsi: Konfigurasi yang berlaku untuk semua flow milik user. 1 user = 1 setting.
Field:
is_active— master switch. Kalau 0, semua flow mati.timezone— offset GMT (int: -12 sampai +14)work_hours_start/work_hours_end— format "HH:MM" (misal "08:00", "20:00")work_days— hari yang boleh kirim, format "0,1,2,3,4,5,6" (0=Minggu, 1=Senin, ..., 6=Sabtu)max_follow_up_per_contact— batas flow berbeda per kontak. 0 = unlimited.min_delay_between_steps— minimum menit antar step (override delay per-step kalau lebih kecil)device_ids— array device yang dipakai. Minimal 1.
4. Aktivasi Paket Add-on #
Follow Up Otomatis adalah fitur add-on berbayar. Paket standard StarSender tidak termasuk fitur ini by default.
🔍 Cek Status Paket Anda #
- Login ke app.starsender.online
- Lihat sidebar kiri
- Cari menu Follow Up Otomatis (icon 🔄, di bawah "Ulang Tahun")
/follow-up langsung via URL. Kalau paket aktif → tampil halaman flow. Kalau tidak → tampil alert "Add-On Belum Aktif".
5. Setup Pengaturan Global #
Ini adalah langkah pertama yang WAJIB setelah paket aktif. Tanpa setting yang benar, flow tidak akan kirim pesan meskipun sudah dibuat.
📍 Cara Akses #
- Sidebar → Follow Up Otomatis
- Di halaman daftar flow, klik tab Pengaturan (paling kanan)
- Atau langsung buka URL:
/follow-up/settings
📋 Field-by-Field Explanation #
① Aktifkan Follow Up Otomatis WAJIB #
Type: Checkbox
Default: OFF (tidak centang)
Fungsi: Master switch. Kalau OFF, semua flow Anda tidak akan kirim pesan apa pun, meskipun flow-nya aktif individual. Pakai ini untuk "emergency stop" kalau ada masalah.
Rekomendasi: Centang setelah semua setting lain terisi benar.
② Zona Waktu WAJIB #
Type: Dropdown (UTC-12 sampai UTC+14)
Default: UTC+7 (WIB)
Fungsi: Menentukan bagaimana sistem membaca "jam kerja". Kalau pilih UTC+7 dan jam kerja 08:00-20:00, artinya pesan hanya dikirim antara 08:00-20:00 WIB, bukan UTC.
Pilihan populer:
- UTC+7 (WIB) — Jakarta, Bandung, Surabaya, Medan
- UTC+8 (WITA) — Bali, Makassar, Balikpapan
- UTC+9 (WIT) — Jayapura, Papua
Tips: Pilih timezone lokasi customer, bukan lokasi server/Anda. Kalau customer Anda di Jakarta tapi Anda di luar negeri, tetap pilih UTC+7.
③ Jam Kerja Mulai & Selesai #
Type: Time input (HH:MM)
Default: kosong (= kirim 24 jam)
Fungsi: Batas jam yang boleh kirim pesan follow up. Kosong = kirim kapan saja.
Skenario umum:
| Tipe Bisnis | Rekomendasi |
|---|---|
| Retail B2C umum | 08:00 - 20:00 |
| B2B / Office hours | 09:00 - 17:00 |
| F&B / Delivery | 10:00 - 22:00 |
| Healthcare | 07:00 - 21:00 |
| Education | 08:00 - 19:00 |
④ Hari Kerja #
Type: Checkbox group (Senin-Minggu)
Default: kosong (= kirim semua hari)
Fungsi: Hari apa saja yang boleh kirim pesan. Kalau tidak ada yang dicentang = kirim semua hari.
Skenario:
- Retail: Senin-Minggu (semua hari)
- B2B/Office: Senin-Jumat (skip weekend)
- Warung kecil: Senin-Sabtu (skip Minggu)
- Hotel: Semua hari (termasuk weekend)
⑤ Maksimal Follow Up Per Kontak #
Type: Number
Default: 5
Fungsi: Batas berapa flow berbeda yang boleh jalan ke 1 kontak dalam satu waktu. Bukan jumlah pesan, tapi jumlah flow aktif.
Contoh: Misal max = 3. Kontak "Budi" sudah di 3 flow aktif: "Follow Up Leads", "Reminder Cart", "Promo Ramadan". Kalau ada flow ke-4 yang coba masukkan Budi (via tag atau import), akan di-skip.
Kenapa ada batasan ini? Supaya 1 kontak tidak di-spam multi flow bersamaan.
Isi 0 untuk unlimited (tidak ada batasan).
⑥ Jeda Minimum Antar Step (menit) #
Type: Number
Default: 60 (1 jam)
Fungsi: Minimum jeda antar pesan dalam satu flow. Kalau delay per-step lebih kecil, akan di-override ke nilai ini.
Contoh: Misal min_delay = 60 menit. Di flow Anda set Step 2 delay 5 menit. Sistem akan override jadi 60 menit.
Kenapa penting? Anti-spam. Pesan yang dikirim terlalu rapat bisa memicu WhatsApp flag nomor Anda.
Isi 0 untuk disable (pakai delay per-step apa adanya).
⑦ Device Pengirim WAJIB #
Type: Multiselect
Default: kosong
Fungsi: Device WA mana saja yang dipakai untuk kirim. Sistem pakai round-robin (bergiliran) untuk membagi beban.
Pilihan:
- 1 device — semua pesan dari nomor yang sama. Resiko ban lebih tinggi.
- 2 device — beban dibagi 2. Customer ke-1 dari Device A, ke-2 dari Device B, ke-3 dari A lagi, dst.
- 3+ device — makin banyak makin aman, tapi customer mungkin bingung kalau nomor pengirim berubah-ubah.
💾 Simpan Setting #
Setelah semua terisi, klik tombol biru Simpan Pengaturan di bawah form. Kalau sukses, akan muncul toast hijau "Pengaturan berhasil disimpan".
6. Membuat Template Pesan #
Template adalah library pesan reusable. Langkah ini opsional tapi sangat disarankan untuk pesan yang dipakai di banyak flow.
📍 Cara Akses #
- Sidebar → Follow Up Otomatis
- Klik tab Template Pesan
- Klik tombol Buat Template Baru
📝 Langkah Membuat Template #
① Title (Nama Template) #
Fungsi: Nama internal, tidak ditampilkan ke customer. Pakai penamaan yang jelas supaya gampang dicari nanti.
Contoh nama baik:
- ✅ "Sapaan Pertama Leads Baru"
- ✅ "Reminder Bayar Hari ke-3"
- ✅ "Promo Akhir Bulan - Versi 1"
Contoh nama kurang baik:
- ❌ "Pesan1" (tidak jelas isinya)
- ❌ "coba2" (sementara, nanti bingung)
- ❌ "" (kosong — sistem akan tolak)
② Message (Isi Pesan) #
Fungsi: Teks yang akan dikirim ke customer. Support markdown WhatsApp dan variable.
Format yang didukung:
*tebal*→ tebal_miring_→ miring~coret~→coret→ monospacecode
Variable yang bisa dipakai:
{nama}— nama kontak dari database{produk}— field custom "produk" di data kontak{harga}— field custom "harga" di data kontak{nama_field}— field custom lainnya
Contoh pesan lengkap:
③ Media URL (Opsional) #
Fungsi: URL gambar/video yang akan dikirim bersama pesan. Pesan jadi caption.
Format didukung: .jpg, .jpeg, .png, .mp4, .mov
Ukuran maksimal: 16 MB per file
Cara upload:
- Klik tombol upload file
- Pilih file dari komputer
- Tunggu upload selesai (ada progress bar)
- URL akan otomatis terisi
④ Button Text + URL (Opsional) #
Fungsi: Tombol link yang muncul di bawah pesan. Customer klik → buka URL.
Contoh pemakaian:
- Button Text:
Lihat Katalog| URL:https://shop.com/katalog - Button Text:
Chat CS| URL:https://wa.me/628123456789 - Button Text:
Download Ebook| URL:https://example.com/ebook.pdf
💾 Simpan Template #
Setelah semua terisi, klik Simpan Template. Template akan muncul di tab Template Pesan dan bisa dipakai di flow mana pun.
7. Membuat Flow Follow Up #
Ini adalah inti dari fitur. Di sini Anda merancang alur pesan yang akan di-terima kontak.
📍 Cara Akses #
- Sidebar → Follow Up Otomatis
- Di tab Daftar Follow Up (default), klik tombol Buat Follow Up Baru
📝 Field Utama Flow #
① Nama Follow Up WAJIB #
Nama internal untuk mengidentifikasi flow. Tidak dilihat customer.
Contoh:
- "Follow Up Leads Dingin - Produk Skincare"
- "Reminder Bayar - Cart Abandoned"
- "Onboarding Member Premium 7 Hari"
② Tag Pemicu WAJIB #
Fungsi: Tag yang akan memicu auto-trigger. Kontak yang punya tag/group dengan nama sama persis akan otomatis masuk flow.
Rules penting:
- Case-sensitive:
Leads_Dingin≠leads_dingin - Tidak boleh ada spasi: pakai underscore
_atau dash- - Hindari karakter khusus: hanya huruf, angka, underscore, dash
Contoh yang baik:
- ✅
leads_dingin - ✅
cart_abandoned - ✅
member_vip - ✅
promo_2024
Contoh yang buruk:
- ❌
Leads Dingin(ada spasi) - ❌
leads@dingin(karakter khusus) - ❌
@#$%(tidak ada huruf)
③ Status #
Fungsi: On/off switch per flow.
- Aktif (1) — flow jalan, kontak otomatis masuk, cron worker kirim pesan
- Nonaktif (0) — flow pause total. Kontak existing tidak terima pesan lagi. Kontak baru tidak bisa masuk flow ini.
Kapan pakai Nonaktif?
- Lagi edit flow, belum siap dipakai customer
- Promo berakhir, stop dulu tanpa hapus
- Ada bug/typo, perlu fix sebelum lanjut
④ Tanggal Berakhir (Opsional) #
Type: Date time picker
Fungsi: Tanggal & waktu flow otomatis berhenti. Kosongkan = flow jalan selamanya.
Efek setelah expired:
- Auto-trigger via tag tidak lagi masukkan kontak baru
- Kontak yang sudah di flow dan statusnya
activeakan di-setcompletedotomatis saat cron jalan - Bisa di-edit untuk memperpanjang (set tanggal baru)
Contoh pemakaian:
- Promo Idul Fitri → set expired 31 Mei 2026
- Flash sale 24 jam → set expired besok jam sekarang
- Campaign Q4 → set expired 31 Desember 2026
🪜 Menambah Step #
Di bawah form flow, ada section "Steps" dengan tombol Tambah Step. Klik untuk menambah step baru. Minimal 1 step.
📝 Field Per Step #
① Urutan (step_order) #
Type: Number (mulai dari 0)
Fungsi: Menentukan urutan pengiriman. Step dengan urutan 0 dikirim paling pertama.
Cara penomoran:
- Step pertama → urutan
0 - Step kedua → urutan
1 - Step ketiga → urutan
2 - ...dan seterusnya
② Tipe Delay #
Type: Dropdown (Menit / Jam / Hari)
Fungsi: Unit waktu untuk delay.
Konversi:
- Menit × 1
- Jam × 60 menit
- Hari × 1440 menit (24 jam)
③ Nilai Delay #
Type: Number (≥0)
Fungsi: Angka delay.
Contoh kombinasi:
| Delay Type | Delay Value | Artinya |
|---|---|---|
| Menit | 0 | Kirim segera (tapi min. 5 menit karena cron) |
| Menit | 30 | 30 menit setelah kontak masuk / step sebelumnya |
| Jam | 3 | 3 jam |
| Hari | 1 | 1 hari (24 jam) |
| Hari | 7 | 1 minggu |
④ Pakai Template atau Pesan Langsung? #
Di setiap step, Anda pilih salah satu:
Opsi A: Pakai Template
- Dropdown "Gunakan Template" → pilih template yang sudah dibuat
- Pesan & media dari template akan dipakai
- Tidak perlu isi field Pesan/Media di step
- ✅ Bagus untuk pesan yang dipakai di banyak flow
Opsi B: Pesan Langsung
- Dropdown "Gunakan Template" tetap di "Pilih Template" (tidak pilih apa-apa)
- Isi field Pesan, Media, Button secara manual di step
- ✅ Bagus untuk pesan one-off yang unik
⑤ Tombol Tambah Step / Hapus Step #
Tambah Step: Tombol abu-abu di bawah list step. Klik untuk tambah step baru. Urutan otomatis di-increment.
Hapus Step: Tombol merah di corner kanan atas tiap step card. Klik akan menghapus step dari flow.
💾 Simpan Flow #
Klik tombol Simpan Follow Up di bawah form. Kalau sukses, Anda akan di-redirect ke halaman Daftar Follow Up dan flow baru muncul di list.
📋 Contoh Flow Lengkap (Real) #
Flow: "Follow Up Leads Skincare - 7 Hari" #
| Setting | Nilai |
|---|---|
| Nama | Follow Up Leads Skincare - 7 Hari |
| Tag Pemicu | leads_skincare |
| Status | Aktif |
| Tanggal Berakhir | (kosong = selamanya) |
Steps: #
| # | Delay | Pesan |
|---|---|---|
| 0 | 5 menit | "Halo {nama}, terima kasih sudah tertarik dengan produk skincare kami! 👋" |
| 1 | 1 hari | "Kak, apakah sudah sempat pelajari penawarannya? Ada promo khusus hari ini nih 🎁" |
| 2 | 3 hari | "Hai kak! Promo diskon 20% masih berlaku lho. Buruan sebelum habis 🔥" |
| 3 | 5 hari | "Kak, ada bonus free skincare pouch untuk order hari ini saja! 🎀" |
| 4 | 7 hari | "Terima kasih sudah menjadi leads kami. Kalau ada pertanyaan, kami siap bantu 💙" |
8. Memasukkan Kontak ke Flow #
Ada 3 cara memasukkan kontak ke sebuah flow. Pilih yang sesuai kebutuhan.
🎯 Cara A: Otomatis via Tag/Group (RECOMMENDED) #
Cocok untuk: Leads baru yang masuk terus-menerus. Setup sekali, kontak baru otomatis masuk flow.
Step-by-step: #
- Buka menu Kontak → Group
- Klik Buat Group Baru
- Isi nama group SAMA PERSIS dengan
trigger_tagflow (misal:leads_skincare) - Simpan group
- Tambahkan kontak ke group:
- Manual satu per satu (pilih kontak → edit → tambah ke group)
- Atau import CSV ke group tsb
- Atau via API dari form website Anda
- Otomatis kontak akan masuk flow dalam 1-5 menit (tergantung cron)
Verifikasi kontak sudah masuk: #
- Buka menu Follow Up Otomatis → Kontak Follow Up
- Filter by flow name
- Kontak baru akan muncul dengan status
activedancurrent_step = 0
⚠️ Hal yang perlu diperhatikan: #
- Tag/group case-sensitive
- Kontak yang sudah ada di flow sama tidak akan di-duplicate (skip)
- Kalau
max_follow_up_per_contactsudah tercapai, kontak akan di-skip - Kalau flow
is_active = 0, auto-trigger tidak jalan - Kalau flow sudah expired, auto-trigger tidak jalan
📤 Cara B: Import Excel/CSV (BULK) #
Cocok untuk: Import leads yang sudah ada di Excel (dari export CRM, webinar registrant, dll).
Persiapan File CSV: #
Buat file CSV dengan 2 kolom: name dan number. Simpan dengan encoding UTF-8.
Aturan format nomor:
- Format yang diterima:
628xxx,08xxx,+62xxx, bahkan dengan dash/spasi - Non-digit akan otomatis di-strip (tanda
+, spasi, dash, dll) - Awalan
0otomatis diganti62 - Minimum 10 digit setelah cleaning
Step-by-step Import: #
- Buka menu Follow Up Otomatis → tab Import Kontak
- Pilih Follow Up tujuan dari dropdown
- Hanya flow aktif & belum expired yang muncul
- Klik Choose File → pilih CSV
- Sistem auto-parse dan tampilkan preview
- Review data di tabel preview (pastikan nama & nomor benar)
- Centang "Update / reset progress kontak jika sudah ada di flow ini" jika Anda ingin:
- Reset kontak lama yang statusnya
completed/stopped/failed→ back to step 0 - Kalau TIDAK dicentang, kontak duplicate akan di-skip
- Reset kontak lama yang statusnya
- Klik tombol biru Import
- Tunggu proses selesai (1-30 detik tergantung jumlah data)
- Hasil import tampil:
- Berhasil: jumlah yang sukses dimasukkan
- Gagal: jumlah yang gagal + detail error per baris
Contoh hasil import: #
Berhasil: 47
Gagal: 3
Detail Error:
| Baris 12 | 628abc | nomor tidak valid |
| Baris 28 | 628123456789 | sudah ada di flow ini |
| Baris 44 | 6285 | nomor tidak valid (terlalu pendek) |
⚠️ Batasan Import: #
- Max ~5000 baris per import (lebih dari itu bisa timeout). Split ke beberapa batch.
- Duplicate dalam CSV yang sama (2 baris dengan nomor sama) — baris pertama menang, kedua di-skip
- File harus
.csv, bukan.xlsx(untuk sekarang)
👆 Cara C: Manual Per Kontak #
Cocok untuk: Kasus khusus — satu kontak spesifik yang ingin dimasukkan ke flow tanpa via tag.
Step-by-step: #
- Buka menu Kontak di sidebar
- Cari kontak yang ingin di-tambahkan (bisa filter by nama/nomor)
- Di kolom Action, klik tombol biru dengan icon 🔄 (sync-alt)
- Modal popup muncul dengan info kontak + dropdown flow
- Pilih flow dari dropdown
- Hanya flow aktif & belum expired yang muncul
- Klik tombol Tambah ke Flow
- Toast sukses muncul, modal close otomatis
- Kontak langsung masuk flow dengan status
active
⚠️ Error yang mungkin muncul: #
- "Follow up already active for this contact" — kontak sudah di flow ini, status active/paused
- "Contact has reached the maximum number of follow-up flows" — kontak sudah di max flow. Stop flow lain dulu atau naikan max_follow_up_per_contact
- "Follow up is not active" — flow-nya nonaktif, aktifkan dulu
- "Follow up has expired" — flow sudah lewat tanggal expired
Re-trigger kontak yang sudah completed: #
Kalau kontak pernah di flow ini dan status sekarang completed/stopped/failed, klik tombol 🔄 akan reset progress ke step 0 — kontak akan terima flow dari awal lagi.
9. Monitoring Progress Kontak #
Setelah kontak masuk flow, Anda bisa monitor progress mereka di menu Kontak Follow Up.
📍 Cara Akses #
- Sidebar → Follow Up Otomatis
- Klik tab Kontak Follow Up
📊 Kolom di Table #
| Kolom | Isi |
|---|---|
| Nama | Nama kontak |
| Nomor | Nomor WA |
| Follow Up | Nama flow |
| Step Saat Ini | Step ke-berapa (0, 1, 2, ...) |
| Status | active / paused / stopped / completed / failed |
| Pengiriman Berikutnya | Waktu next_send_at |
| Retry | Counter retry (0-3) |
| Triggered At | Waktu kontak pertama masuk flow |
| Action | Tombol Pause, Resume, Stop, Detail |
🔍 Filter & Search #
Di atas tabel ada filter:
- Search by Nama — cari by nama kontak
- Search by Nomor — cari by nomor WA
- Filter by Status — active / paused / completed / failed / semua
- Filter by Follow Up — dropdown flow
📜 Detail History per Kontak #
Klik tombol Detail di kolom Action untuk melihat:
- Timeline tiap step yang pernah dikirim
- Waktu sent, read, replied per step
- Error message kalau ada yang gagal
- Link ke pesan Outgoing yang ter-link
10. Kontrol: Pause, Resume, Stop #
Di kolom Action per kontak, ada 3 tombol kontrol yang bisa dipakai kapan saja.
⏸️ Pause #
Efek: Status jadi paused. Cron worker akan skip kontak ini. Tidak ada pesan yang dikirim.
Kapan pakai?
- Customer minta jeda dulu (mau pikir-pikir)
- Flow lagi di-edit, belum mau pesan keluar
- Customer lagi cuti/traveling, pause dulu
Karakteristik: Progress tidak hilang. Current_step tetap. Bisa di-Resume kapan saja dan lanjut dari step yang sama.
▶️ Resume #
Efek: Status kembali ke active. Cron worker akan pickup kontak ini lagi di siklus berikutnya.
Kapan pakai? Hanya untuk kontak berstatus paused. Untuk status lain, tombol ini disabled.
Efek pada waktu pengiriman: next_send_at akan di-hitung ulang dari waktu resume + delay step saat ini.
⏹️ Stop #
Efek: Status jadi stopped. Kontak keluar dari flow permanen.
Kapan pakai?
- Customer sudah beli, tidak perlu follow up lagi
- Customer unsubscribe / minta stop
- Kontak salah dimasukkan ke flow
Bisa di-resume? Tidak otomatis. Harus trigger ulang via tombol 🔄 di menu Kontak, atau via import dengan checkbox "update existing" dicentang.
11. Statistik & Laporan #
📍 Cara Akses #
- Sidebar → Follow Up Otomatis
- Klik tab Statistik & Laporan
📈 Metrik Yang Ditampilkan #
📅 Filter Rentang Tanggal #
Di atas dashboard ada filter tanggal (Start Date - End Date). Metrik akan di-recalculate berdasarkan rentang tersebut.
Rentang yang umum dipakai:
- Hari ini
- 7 hari terakhir
- 30 hari terakhir
- Bulan ini
- Bulan lalu
- Custom range
📊 KPI yang Perlu Dipantau #
| KPI | Formula | Target Bagus |
|---|---|---|
| Read Rate | Dibaca / Terkirim | > 70% |
| Reply Rate | Dibalas / Terkirim | > 10% |
| Completion Rate | Completed / Total | > 60% |
| Failure Rate | Gagal / Terkirim | < 2% |
- Read rate rendah (<50%): Pesan terlalu promosi, customer auto-ignore. Coba pesan lebih human.
- Reply rate rendah (<5%): CTA tidak jelas, customer tidak tahu harus balas apa. Tambahkan pertanyaan.
- Failure rate tinggi (>5%): Device sering offline. Periksa kondisi device, tambah backup device.
12. Skenario Dunia Nyata (6 Contoh Lengkap) #
📋 Skenario 1: Nurturing Leads Skincare (7 Hari) #
Goal: Convert leads yang baru isi form jadi customer dalam 7 hari.
Setup Flow:
- Nama:
Nurturing Leads Skincare - Tag:
leads_skincare - Expired: kosong (jalan terus)
Steps:
| # | Delay | Pesan |
|---|---|---|
| 0 | 5 menit | Sapaan + perkenalan produk + katalog |
| 1 | 4 jam | Share testimoni customer sebelumnya |
| 2 | 1 hari | Edukasi: "Kenapa skin routine penting" |
| 3 | 2 hari | Penawaran diskon 10% first buy |
| 4 | 3 hari | Urgency: "Diskon hanya 24 jam lagi" |
| 5 | 5 hari | "Last chance" + bonus free pouch |
| 6 | 7 hari | Thank you + ajak follow IG |
Kenapa design seperti ini?
- 5 menit = first impression, customer masih hot
- 4 jam = reminder casual dengan social proof
- 1-2 hari = value-building, bukan jualan keras
- 3-5 hari = penawaran + urgency
- 7 hari = gracefully exit kalau tidak convert
🛒 Skenario 2: Cart Abandoned E-commerce #
Goal: Remind customer yang sudah klik "Beli" tapi belum bayar.
Setup Flow:
- Nama:
Reminder Cart Abandoned - Tag:
cart_abandoned - Expired: kosong
Steps:
| # | Delay | Pesan |
|---|---|---|
| 0 | 1 jam | "Kak, order belum di-bayar. Link bayar: {link}" |
| 1 | 6 jam | "Reminder: stok {produk} tinggal 2! Buruan bayar" |
| 2 | 1 hari | "Order akan di-cancel dalam 24 jam kalau tidak di-bayar" |
| 3 | 2 hari | "Order sudah di-cancel. Tetap mau order ulang?" |
Tips:
- Gunakan variable
{produk}supaya customer inget apa yang mereka beli - Link bayar harus fresh (generate short URL unik per order)
- Stop kontak setelah mereka bayar (via API integrasi ke payment gateway)
🎓 Skenario 3: Onboarding Member Baru (7 Hari) #
Goal: Activate member baru supaya mereka pakai produk/jasa Anda.
Setup Flow:
- Nama:
Onboarding Member 7 Hari - Tag:
member_baru
Steps:
| # | Delay | Pesan |
|---|---|---|
| 0 | 0 menit | "Welcome aboard! Ini akun & password kamu." |
| 1 | 1 jam | "Mulai dari mana? Ini tutorial pertama" |
| 2 | 1 hari | "Fitur hari ke-2: X. Video tutorial: {link}" |
| 3 | 2 hari | "Case study: gimana member lain pakai fitur X" |
| 4 | 4 hari | "Tips advanced: kombinasi fitur Y + Z" |
| 5 | 7 hari | "Udah seminggu! Feedback kamu?" |
🎉 Skenario 4: Reminder Event / Webinar #
Goal: Pastikan peserta yang daftar webinar akan hadir di hari H.
Setup Flow:
- Nama:
Reminder Webinar 25 April 2026 - Tag:
webinar_apr2026 - Expired: 25 April 2026 23:59 (flow auto-stop setelah event)
Steps (jika daftar 7 hari sebelum event):
| # | Delay | Pesan |
|---|---|---|
| 0 | 5 menit | "Terima kasih daftar! Save the date: 25 April" |
| 1 | 3 hari | "Preview materi webinar + behind the scenes" |
| 2 | 6 hari | "Besok! Cek link Zoom + siapkan notebook" |
| 3 | 6 hari 22 jam | "2 jam lagi! Link Zoom: {link}" |
| 4 | 6 hari 23 jam 30 menit | "30 menit lagi! Gabung sekarang" |
🎂 Skenario 5: Birthday Series (Multi-Step) #
Goal: Surprise customer di ulang tahun mereka + upsell diskon birthday.
Setup: Pakai fitur Ulang Tahun untuk trigger awal, lalu kombinasikan dengan Follow Up untuk rangkaian pesan.
Setup Flow:
- Nama:
Birthday Series - Tag:
birthday_month(set via group atau API di tgl lahir customer) - Expired: kosong
Steps:
| # | Delay | Pesan |
|---|---|---|
| 0 | 0 menit | "🎂 Selamat ulang tahun {nama}! Dapat diskon 30%" |
| 1 | 3 hari | "Kode BIRTHDAY30 masih berlaku, buruan pakai" |
| 2 | 7 hari | "Last chance diskon BIRTHDAY30 berakhir hari ini" |
💼 Skenario 6: B2B Lead Qualification (14 Hari) #
Goal: Qualify B2B leads sebelum sales call.
Setup Flow:
- Nama:
B2B Lead Qualification - Tag:
b2b_leads - Expired: kosong
- Setting: work_hours 09:00-17:00, work_days Senin-Jumat (skip weekend!)
Steps (13 hari workdays):
| # | Delay | Pesan |
|---|---|---|
| 0 | 0 | "Terima kasih inquiry. Tim sales akan kontak 1-3 hari kerja" |
| 1 | 1 hari | "Sambil menunggu, ini case study client di industri Anda" |
| 2 | 3 hari | "Boleh sharing brief kebutuhan Anda? (3 pertanyaan)" |
| 3 | 5 hari | "ROI calculator: estimate saving Anda" |
| 4 | 7 hari | "Demo product live: {link booking}" |
| 5 | 14 hari | "Masih berminat? Silakan reply untuk schedule call" |
13. Variable & Personalisasi Pesan #
Variable membuat pesan terasa personal — seperti ditulis manual untuk customer, padahal otomatis.
🔤 Daftar Variable #
| Variable | Sumber Data | Contoh |
|---|---|---|
{nama} |
Field name di tabel kontak |
Budi Santoso |
{produk} |
Custom field produk di data JSON kontak |
Moisturizer A |
{harga} |
Custom field harga di data JSON kontak |
Rp 250.000 |
{nama_field} |
Custom field apapun di data JSON kontak | Tergantung data |
📦 Cara Set Custom Field di Kontak #
Saat Anda tambah/edit kontak, di field Data (JSON) Anda bisa isi:
Sekarang di pesan bisa pakai semua variable: {produk}, {harga}, {toko_terdekat}, {last_order}, {segmen}.
📝 Contoh Pesan Personalisasi Lengkap #
Hasil yang diterima customer (misal Budi, pembeli Moisturizer):
Terima kasih sudah tertarik dengan Moisturizer Acne Pro.
Detail produk:
• Harga: Rp 250.000
• Outlet terdekat: Outlet Kelapa Gading
• Segmen member Anda: VIP
Kalau butuh konsultasi lebih lanjut, silakan balas pesan ini 😊
⚠️ Fallback Jika Variable Kosong #
Kalau variable tidak ada di data kontak, variable akan tetap muncul apa adanya di pesan (misal {produk} muncul persis karakter). Ini buruk UX.
Cara menghindari:
- Selalu isi custom field sebelum masukkan ke flow
- Kalau ada kontak dengan data kosong, jangan masukkan ke flow yang pakai variable tsb
- Test dulu pakai nomor sendiri
14. Troubleshooting (Solusi Masalah) #
❌ Masalah 1: Menu Follow Up tidak muncul di sidebar #
Penyebab: Paket Anda belum include add-on Follow Up Otomatis.
Solusi:
- Cek paket aktif di menu Billing
- Kalau tidak ada baris "Follow Up Otomatis: Aktif", upgrade paket
- Setelah payment confirmed, logout-login untuk refresh data paket
❌ Masalah 2: Flow aktif, kontak sudah masuk, tapi pesan tidak kirim #
Kemungkinan penyebab:
- Setting global belum aktif → Buka Pengaturan, centang "Aktifkan"
- Device di Setting tidak connected → Reconnect device di menu Device
- Di luar jam kerja → Cek work_hours setting, tunggu masuk jam kerja
- Di luar work_days → Cek apakah hari ini tidak dicentang di setting
- Flow expired → Cek tanggal berakhir flow
- next_send_at belum tiba → Cek kolom di Kontak Follow Up, tunggu sampai waktu tersebut
❌ Masalah 3: Auto-trigger via tag tidak jalan #
Penyebab:
- Nama tag/group beda dengan trigger_tag flow (case-sensitive!)
- Kontak sudah di flow ini sebelumnya (skip duplicate)
- Kontak sudah di max_follow_up_per_contact flow lain
- Flow
is_active = 0atau expired
Cara cek:
- Pastikan group name identik dengan trigger_tag (copy-paste langsung)
- Cek menu Kontak Follow Up — kalau kontak sudah ada, jangan tunggu auto-trigger; hapus dulu atau trigger manual
- Test dengan kontak baru yang belum pernah di flow manapun
❌ Masalah 4: Pesan kirim ganda ke 1 kontak #
Penyebab: Biasanya karena:
- Kontak ada di 2 group berbeda yang trigger flow yang sama
- Flow punya step dengan urutan duplicate
- Ada lebih dari 1 flow yang trigger_tag sama
Solusi:
- Cek flow yang aktif — apakah ada 2 flow dengan trigger_tag sama? Hapus salah satu
- Cek step — apakah ada step_order duplicate? Re-number
❌ Masalah 5: Kontak status jadi failed #
Penyebab: Pengiriman gagal 3x berturut-turut (retry counter maxed out).
Penyebab kegagalan kirim:
- Device offline / disconnect
- Nomor customer diblokir/invalid
- Nomor sudah di-ban WhatsApp
- Error jaringan server
Solusi:
- Cek error_message di detail log kontak
- Fix penyebab (reconnect device, ganti device, dll)
- Re-trigger kontak via tombol 🔄 di menu Kontak
❌ Masalah 6: Variable {nama} muncul apa adanya di pesan #
Penyebab: Field name di kontak kosong.
Solusi: Edit kontak, isi field Name. Atau pastikan saat import CSV, kolom name terisi.
❌ Masalah 7: Import CSV error "nomor tidak valid" #
Penyebab: Format nomor di CSV tidak bisa di-parse.
Cek:
- Nomor mengandung huruf? (harus digit only)
- Total digit kurang dari 10? (terlalu pendek)
- Nomor kosong?
Solusi: Lihat tabel error detail setelah import, fix nomor yang bermasalah di CSV, re-import (dengan centang "update existing" dimatikan supaya tidak double).
❌ Masalah 8: Pesan sampai ke customer telat beberapa jam #
Penyebab umum:
- Jam kerja selesai tepat saat next_send_at — tunggu work_hours besok
- Work days skip — tunggu hari kerja berikutnya
- Min_delay_between_steps override delay step yang lebih kecil
- Server sedang high load
Cara debug: Lihat kolom next_send_at di kontak. Kalau waktu di masa depan — normal, tunggu. Kalau waktu di masa lalu (lebih dari 10 menit) — laporkan ke support.
15. Best Practices Anti Banned WhatsApp #
WhatsApp sangat strict dengan nomor yang kirim pesan massal. Kalau tidak hati-hati, nomor bisa di-ban permanen. Ikuti best practices ini:
✅ Do's (Yang Disarankan) #
- Pakai 2-3 device — distribusi beban, resiko ban per device lebih rendah
- Min delay 60 menit antar step — tidak kirim rapat
- Personalisasi dengan
{nama}— pesan terasa manual, bukan bot - Variasi isi pesan — jangan semua step copy-paste dengan ganti angka doang
- Max 4-5 step per flow — lebih dari itu customer kesal
- Respect work_hours — 08:00-20:00, tidak kirim malam/subuh
- Sertakan opt-out — tambahkan "Balas STOP untuk berhenti" di pesan terakhir
- Warming up nomor baru — pakai nomor minimal 2 minggu untuk chat personal dulu sebelum pakai untuk follow up
- Maintain ratio 1:3 — minimal 1 pesan personal untuk 3 pesan promosi
- Test dulu ke nomor Anda sendiri sebelum flow dipakai ke customer
❌ Don'ts (Hindari) #
- Jangan pakai nomor baru langsung untuk blast — pasti ban
- Jangan set delay < 5 menit antar step — seperti spam bot
- Jangan kirim link blacklist (bit.ly yang mencurigakan, link phishing, dll)
- Jangan kirim ke nomor yang belum consent — scraping = pasti banned
- Jangan pakai kata spam trigger: "FREE!!", "HADIAH!!!", "URGENT!!!", "KLIK SEKARANG"
- Jangan duplicate pesan sama persis ke ratusan nomor sekaligus
- Jangan kirim 1000+ pesan/hari per device — limit WA Business ~250/hari
- Jangan ignore reply "STOP" — langsung Stop kontak di flow
- Jangan beli database nomor — violasi TOS, pasti gagal
- Jangan abuse variable — pakai max 2-3 variable per pesan
🛡️ Strategi Anti-Ban Advanced #
| Strategi | Implementasi |
|---|---|
| Warm-up schedule | Minggu 1: 50 pesan/hari, Minggu 2: 100, Minggu 3: 200, Minggu 4+: normal |
| Time spread | Jangan kirim semua jam 08:00 pagi. Sebar sepanjang jam kerja. |
| Content variety | Setiap 100 pesan, variasi emoji dan kata pembuka |
| Multi device | Pakai 2+ nomor, round-robin otomatis di Follow Up |
| Engagement positif | Balas semua reply customer dalam 1 jam → ratio reply tinggi |
16. FAQ Lengkap (20 Pertanyaan) #
1. Apakah Follow Up Otomatis bisa digabung dengan fitur lain?
Bisa. Anda bisa pakai Follow Up bersamaan dengan Autoreply, Blast, Ulang Tahun, Daily Leads. Masing-masing independent. Pastikan tidak overlap (misal 1 kontak jangan di-Blast dan di Follow Up bersamaan di jam sama).
2. Berapa lama data Follow Up disimpan?
Semua data (flow, step, contact progress, log) disimpan selamanya selama akun aktif. Anda bisa export/delete manual kalau perlu.
3. Kalau saya delete flow, kontak yang sedang jalan bagaimana?
Kontak progress akan ter-hapus bersama flow. Pesan yang sedang di queue RabbitMQ mungkin masih terkirim (1-2 pesan). Pastikan stop semua kontak dulu sebelum delete flow.
4. Bisa edit flow yang sedang aktif jalan?
Bisa, tapi hati-hati:
• Mengubah pesan step 0 → kontak yang sudah di step 1+ tidak terpengaruh (mereka sudah lewat step 0)
• Mengubah delay step 1 → kontak yang sedang di step 0 akan pakai delay baru saat move ke step 1
• Menghapus step tengah → kontak yang di step tsb akan skip ke step berikutnya
Best practice: Nonaktifkan flow dulu sebelum edit besar-besaran.
5. Kenapa saya tidak bisa buat Step dengan urutan duplicate?
Sistem bisa menyimpan step dengan urutan duplicate, tapi cron worker akan pickup yang mana duluan acak. Hindari supaya perilaku predictable.
6. Apakah bisa auto-stop kalau customer reply?
Saat ini belum otomatis. Anda harus manual Stop kontak yang sudah reply. Fitur auto-stop-on-reply akan di-release di update berikutnya.
7. Bisa import kontak dari Excel (.xlsx), bukan CSV?
Saat ini hanya support .csv. Kalau file Anda .xlsx, export dulu ke CSV dari Excel: File → Save As → format CSV UTF-8.
8. Ada API untuk integrasi ke website/CRM?
Ya. Endpoint utama:
• POST /v1/follow-ups/:id/import-contacts — bulk import
• POST /v1/follow-up-contacts/trigger-manual — trigger 1 kontak
• POST /v1/follow-up-contacts/stop — stop kontak
Butuh API token (cek menu API Key di akun).
9. Apakah Follow Up counting kuota blast saya?
Ya. Setiap pesan Follow Up menghitung sebagai 1 pesan di kuota harian/bulanan paket Anda (sama seperti Blast, Campaign, dll).
10. Kalau kuota habis di tengah flow, bagaimana?
Pesan akan gagal kirim dengan error "quota exceeded", masuk retry counter, dan setelah 3x retry → status failed. Top-up kuota dan re-trigger kontak manual.
11. Bisa kirim ke grup WA (bukan nomor personal)?
Tidak. Fitur Follow Up hanya untuk nomor personal. Untuk broadcast grup, pakai fitur Blast List.
12. Apakah WA Business API support?
StarSender pakai WA Web / Multi-Device. Bukan WA Business API resmi. Jadi tidak ada template approval proses. Tapi resiko ban lebih tinggi — ikuti best practices.
13. Bisa jadwalkan flow mulai jam tertentu (misal besok jam 10:00)?
Tidak langsung dari field flow. Tapi bisa:
• Buat flow dengan Step 0 delay 0
• Set work_hours global 10:00-20:00
• Tambahkan kontak ke flow malam ini
• Pesan akan otomatis kirim mulai jam 10:00 besok (karena out of work_hours sekarang)
14. Apakah pesan template WhatsApp (broadcast approved) support?
StarSender bukan WA Business API. Jadi tidak ada mekanisme template approved. Anda bebas kirim pesan apa pun, tapi kena limit WA Web (~250 pesan/hari/device).
15. Bisa kirim file PDF/dokumen di Follow Up?
Saat ini field media hanya support gambar (.jpg, .png) dan video (.mp4, .mov). PDF/dokumen belum support. Workaround: upload PDF ke Drive, pakai URL di button_url.
16. Berapa maksimum kontak per flow?
Tidak ada batas teknis. Ribuan atau puluhan ribu kontak bisa masuk 1 flow. Yang dibatasi adalah kecepatan kirim (cron 5 menit × batch 100).
17. Bisa test flow tanpa kirim beneran?
Workaround: Masukkan nomor HP Anda sendiri (saja) ke flow. Set delay step pendek (misal 1 menit). Tunggu cron jalan, lihat pesan masuk di HP. Lalu Stop kontak.
18. Apakah Follow Up jalan kalau device offline?
Tidak. Cron worker cek device status sebelum kirim. Kalau device offline:
• Pesan gagal
• Retry 3x setiap 10 menit
• Kalau device on lagi sebelum retry habis → pesan terkirim
• Kalau retry habis → status failed
19. Bisa edit pesan di flow tanpa reset kontak yang sedang jalan?
Bisa. Edit step → save. Kontak yang sedang di step 3 akan tetap di step 3, tapi step 4+ akan pakai pesan yang sudah di-update. Step 0-3 yang sudah dikirim tidak bisa di-resend otomatis.
20. Ada laporan export ke Excel?
Saat ini belum ada export button di UI. Workaround: Screenshot atau pakai API untuk fetch data, lalu export sendiri.
17. Glossary Istilah #
| Istilah | Arti |
|---|---|
| Flow / Campaign | Rangkaian pesan bertahap untuk use case tertentu |
| Step | Satu pesan dalam flow |
| Template | Pesan reusable yang bisa dipakai di banyak flow |
| Trigger Tag | Tag yang memicu auto-entry ke flow |
| Delay | Waktu tunggu antara step |
| Current Step | Step yang akan dikirim berikutnya ke kontak |
| Next Send At | Timestamp waktu pengiriman berikutnya |
| Cron Worker | Proses background yang scan & kirim pesan tiap 5 menit |
| Round Robin | Algoritma giliran pemakaian device |
| Retry Count | Counter percobaan kirim saat gagal (max 3) |
| Active | Kontak sedang di flow, menunggu step berikutnya |
| Paused | Flow di-jeda, bisa di-resume |
| Stopped | Flow dihentikan permanen |
| Completed | Semua step sudah selesai |
| Failed | Gagal kirim 3x, di-abort |
| Expired At | Tanggal kadaluwarsa flow |
| Work Hours | Rentang jam pengiriman diizinkan |
| Work Days | Hari mana saja yang diizinkan kirim |
| Max Per Contact | Batas flow berbeda yang bisa jalan per kontak |
| Min Delay | Minimum jeda antar step |
| Read Rate | Persentase pesan yang dibaca (centang biru) |
| Reply Rate | Persentase pesan yang dibalas customer |
🚀 Siap Jalankan Follow Up Otomatis? #
Dengan fitur ini, bisnis Anda bisa otomatisasi follow-up leads, cart abandoned, onboarding member, dan berbagai skenario lain — tanpa perlu admin chat manual satu per satu.
Hemat waktu, tingkatkan konversi, buka peluang skalabilitas.
Mulai Buat Flow Pertama →📚 Tutorial ini di-update secara berkala sesuai perkembangan fitur StarSender.
❓ Ada pertanyaan yang belum terjawab? Hubungi tim support di menu Bantuan.
© StarSender — WhatsApp Gateway Profesional Indonesia