Skip to content

Follow-up — Automated re-engagement

Purpose

HUPH's follow-up system sends automated WhatsApp messages to prospects who stop responding at critical points in the admission funnel — e.g. inquired but didn't register, or registered but didn't pay. This page is for marketing staff and counselors who configure follow-up rules and monitor the send queue.

Note: the canonical Bahasa Indonesia version of this page at follow-up.id.md is the source of truth and currently more complete (332 lines covering rules CRUD, queue monitoring, AI highlight generation, weekend blackout, opt-out handling, and templates). This English mirror is a summary; the full English translation is a Pass 2 follow-up.

How follow-up works

Every hour (08:00–17:00 WIB, Monday–Friday) the followUpEngine cron runs three phases:

  1. Enqueue — find idle conversations, match against active rules, check lead score (HOT leads skipped — counselor handles; COLD leads capped at 2 follow-ups), confirm no pending follow-up exists, insert into queue
  2. Send — process the queue: load lead data (name, program), send via WhatsApp template (360dialog), mark status sent
  3. Expire — clean up old entries: messages older than 72h without a reply → expired; messages with a reply → replied (kept, not expired)

Where in admin

  • /follow-up — three tabs:
  • Queue — pending + sent + expired with filters
  • Rules — CRUD for follow-up rules (trigger, delay, message template, lead-score gating)
  • Stats — KPIs (queue size, send success rate, reply rate)

Critical safeguards

  • Weekend blackout — never send Saturday/Sunday
  • Opt-out — if user replies STOP / BERHENTI, conversation is permanently excluded from the queue
  • Score-aware gating — HOT skip (counselor handles), COLD max 2x re-engagements
  • Dedup — unique constraint on (conversation, rule, idempotency window) prevents double-send across cron retries
  • AI highlight — Claude Haiku auto-generates a context-aware one-line summary per lead, threaded into the message template via the highlight parameter

Configuration

All knobs are admin-managed via the /follow-up/rules UI. No code deploy needed for rule changes — the cache TTL is 60s.

See also