ClickPe (YC S23) · NudgeFlow Case study

Inside NudgeFlow: a WhatsApp + voice AI lead agent for ClickPe (YC S23)

Leads go cold between channels. NudgeFlow is the orchestration layer we built so one dropped lead becomes a single, policy-aware journey across WhatsApp and AI voice calls — with a human able to step in at any point.

ClickPe · YC S23 logo ClickPe · YC S23
AI systemWhatsAppVoice agent
3 channels WhatsApp + AI voice in one journey
At a glance 2 min read · 6 sections
  • Reached first touch delivered
  • Replied lead responded
  • Resumed journey re-engaged

The brief

High-intent leads stall when nobody follows up at the right moment, on the right channel. ClickPe needed follow-ups that resume on their own, respect contact rules, and hand off to a human the instant a conversation needs one.

The lead lifecycle

  1. 01 Ingest Lead + status enters the system
  2. 02 Schedule Follow-ups become persistent jobs
  3. 03 Policy check Windows, caps, cooldowns, timezone
  4. 04 Engage WhatsApp message or AI voice call
  5. 05 Listen Replies + call intent tracked in memory
  6. 06 Handoff Pause the agent, route to a human

Every action is an idempotent job — retries and restarts never double-contact a lead.

What ops watches every day

Reached
first touch delivered
Replied
lead responded
Resumed
journey re-engaged
Progressed
moved a stage
Converted
goal reached

What made it production-grade

Policy-driven

Contact windows, attempt limits, and cooldowns are config, not code. Sends that fall outside a lead's window are held, not dropped.

Compliance windows

Per-timezone send windows mean no 3 a.m. messages — ops monitors “outside-window” spikes as a health signal.

Human handoff

Any conversation can pause the agent and wait for a person — handoff sessions are a first-class thing the team monitors.

Call analytics

Each voice call leaves a snapshot — intent, disposition, summary — so the next touch is informed and the funnel is measurable.

Stack

Orchestration
TypeScript workersBullMQn8n entry points
Channels
WhatsApp (Gupshup)AI voice (Bolna)
Data
PostgreSQLRedisPer-tenant config
Ops
React dashboardBatch outreachCSV import/export

The result

A dropped lead is no longer a dead end — it becomes a tracked journey that knows when to nudge on WhatsApp, when to place an AI voice call, when to wait, and when to get out of the way for a human. The whole funnel is visible, so the team optimises touches instead of guessing.

Frequently asked

WhatsApp messaging and AI voice calls today, orchestrated as one journey per lead. The architecture is channel-agnostic, so SMS or email can be added as additional adapters.

Policies — contact windows, attempt caps, cooldowns, and per-timezone send hours — gate every action. Out-of-window actions are held and retried in-window, never force-sent.

Yes. Any conversation can trigger a handoff that pauses the agent and routes the lead to a person. Pending handoffs are a monitored part of daily operations.

Leads going cold between channels?

We build the orchestration layer so follow-ups resume on their own — and a human steps in only when it matters.

Book a Discovery Call