Lewati ke isi

Leads Pipeline — Prospek Mahasiswa Baru

Tujuan

Halaman ini menjelaskan cara kerja Leads Pipeline HUPH: bagaimana prospek calon mahasiswa dikumpulkan otomatis dari percakapan WhatsApp, bagaimana stage-nya dikelola, dan cara menggunakan halaman /leads-v2 untuk follow-up. Target pembaca: counselor dan marketing staff yang tugasnya mengubah lead jadi enrolled student.

Prasyarat

  • Login dengan role counselor atau marketing
  • Channel WhatsApp aktif (Web & Telegram tidak lagi dipakai per April 2026)
  • LEAD_CAPTURE_ENABLED=true di env (default, tidak perlu diubah)

Lead vs Conversation

Lead bukan sama dengan conversation. Perbedaan:

  • Conversation = rangkaian pesan antara user dan bot/counselor
  • Lead = record terstruktur berisi kontak user (nama, phone, email, program interest) yang diekstrak dari conversation

Satu conversation bisa menghasilkan 0 atau 1 lead. Satu lead bisa punya banyak conversations (kalau user WA chat beberapa kali).

Lead Stages

Real enum di database: incomplete | new | contacted | qualified | enrolled | lost.

Stage Arti Kapan tercapai
incomplete Capture belum lengkap Hanya nama terdeteksi, email/phone belum
new Data dasar lengkap, belum dihubungi counselor Nama + phone/email ada, baru terbentuk
contacted Counselor sudah reach out Counselor klik "Mark Contacted" di detail
qualified Lead serius, layak follow-up intens Sudah dihubungi + menunjukkan intent register/visit
enrolled Sudah resmi daftar Update manual oleh admin admisi setelah submit form
lost Tidak tertarik / tidak bisa dihubungi Manual mark oleh counselor

Langkah-langkah

1. Buka Leads Pipeline

Klik Leads di sidebar, pilih sub-menu Leads v2 (URL: /admin/leads-v2). Anda akan lihat list leads dengan polling 30 detik — data auto-refresh tanpa reload.

 ┌────────────────────────────────────────────────────┐
 │ Filter: [actionable] [all] [new] [qualified] …     │
 │ Search: [_________]                                │
 │                                                    │
 │ Name          Phone         Stage      Updated     │
 │ ──────────────────────────────────────────────────  │
 │ Budi Santoso  +628123…      new        5m ago      │
 │ Siti Aulia    +628567…      qualified  1h ago      │
 │ Rudi Hartono  +628901…      contacted  3h ago      │
 └────────────────────────────────────────────────────┘

Filter chips: actionable (non-enrolled, non-lost), all, atau per-stage (new, qualified, dll). Default actionable — fokus ke lead yang perlu action.

Search: ketik nama, phone, atau email → filter instan.

3. Buka detail lead

Klik row → halaman detail /admin/leads-v2/[id]. Detail berisi:

  • Info kontak lengkap (nama, phone formatted, email, program interest jika ada)
  • Status actions — tombol Mark Contacted, Mark Qualified, Mark Enrolled, Mark Lost
  • Source conversation — link ke conversation asal
  • Capture metadata — kapan nama/phone/email pertama kali terdeteksi, dari pesan mana

4. Update stage

Klik tombol action yang sesuai — misal Mark Contacted setelah Anda reply ke user via WhatsApp. Stage berubah, polling auto-update di list view juga.

5. Bagaimana capture bekerja di belakang layar

Ekstraktor kontak HUPH pakai 4-tier hybrid:

  1. Regex Layer 1 (selalu jalan) — mendeteksi pola bahasa Indonesia seperti "nama saya X", "panggil X", phone format 62xxx
  2. LLM Layer 2 (gated) — Claude Haiku dipanggil saat sedang capture aktif, atau intent share_personal_info terdeteksi, atau regex hit lemah
  3. State machine untuk slot filling multi-turn (awaiting_name → awaiting_email → captured), TTL 6 jam
  4. Lead store atomic upsert berbasis (user_id, channel)

Counselor tidak perlu trigger manual — semua otomatis sejak user pertama WA.

6. Analytics overview

Dari sidebar Leads → Analytics v2 (/admin/analytics-v2), Anda akan lihat ±13 chart: lead growth, stage distribution, funnel conversion, source breakdown, counselor performance, dll. Semua grafik real-time (30s polling).

Contoh kasus

Follow-up lead qualified pagi ini. Buka /admin/leads-v2, filter qualified, lihat ada 6 lead baru. Counselor buka satu per satu, reply via WhatsApp dengan template perkenalan + undangan info session. Setelah kirim, klik Mark Contacted di halaman detail. Dalam 1 menit, data ter-refresh di list counselor lain.

Analisa mingguan Senin pagi. Marketing buka /admin/analytics-v2 → lihat chart Lead Growth weekly: Sen–Min total 127 lead baru, 34 di qualified. Export CSV untuk laporan ke head of admission.

Troubleshooting

Lead stuck di "incomplete" meskipun user sudah kasih semua info. Gejala: list menunjukkan lead dengan status incomplete padahal user chat lengkap "nama saya Rudi, phone 081234, email rudi@..". Penyebab: LLM extractor mungkin gagal atau timeout. Solusi: klik detail → cek capture metadata → kalau nama/phone/email semua ada, klik manual Advance Stage ke new. Kalau masih error, lapor dev team — bisa jadi feature flag LEAD_CAPTURE_ENABLED off.

Lead baru tidak muncul setelah 5 menit user chat. Gejala: user sudah WA dan kasih nama, tapi tidak muncul di /leads-v2. Penyebab: kemungkinan webhook delay atau state machine stuck. Solusi: refresh halaman (Ctrl+Shift+R), cek filter (mungkin all tersembunyi oleh default actionable), lalu cek Conversations apakah percakapan memang terbentuk.

Angka di Analytics v2 tidak konsisten dengan count di list. Gejala: list menunjukkan 26 lead, tapi Analytics bilang 28. Penyebab: polling 30s + delay aggregate — ada lag beberapa detik antara list dan chart. Solusi: refresh setelah 1 menit, biasanya sinkron.

Tidak bisa "Mark Enrolled". Gejala: tombol Mark Enrolled disabled atau tidak muncul. Penyebab: stage enrolled hanya boleh di-set oleh admin admisi (role-gated). Solusi: escalate ke admin untuk update.

Lihat juga

  • Inbox — lihat conversation asal dari lead
  • Follow-up — otomasi re-engagement ke lead
  • Escalation — bagaimana cluster ownership mempengaruhi akses lead counselor