Workflow · lead qualification · HITL

ai-intake-qualifier

Raw form submissions become normalized, scored, CRM-ready leads—while uncertain or unreachable cases stop in a human-review queue.

Public · synthetic demo
The problem

A high lead score is useless if nobody can reach the lead.

Automated intake often stops after classification. This pipeline makes contact validity, ambiguity, and review routing explicit so an urgent inquiry is not silently dropped or misfiled.

Input

One synthetic urgent service inquiry

{"lead_id":"L-1006","name":"Tom Baker",
 "email":"tom.baker[at]outlook","phone":"",
 "service_type":"Roof repair",
 "message":"Need a quote to fix a leaking roof after the storm. Fairly urgent."}
The money shot

Strong intent, explicit qualification, safe routing

Lead score53 / 100Warm tier
Overall confidence0.568Below auto-route trust
Bundled run6 auto · 4 review10 synthetic leads
Structured result
category: new_service_inquiry
service_line: general
tier: warm
urgency: urgent
summary: [WARM] ... Roof repair, urgent
HITL decision

→ needs_review

  • No valid contact (email or phone)
  • Email malformed: tom.baker[at]outlook
The promising lead is surfaced for contact repair, not discarded.
Committed outputRowsMeaning
qualified_leads.csv6Auto-routed
review_queue.csv4Human decision required
How it's verified

Transparent rules own the routing decision.

Normalization checks email and phone validity; classification exposes confidence; qualification uses legible 0–100 signals; the final gate tests reachable contact, known intent, sufficient content, and uncertain spam. Nothing sends a reply automatically.

Honest limitations
  • The ten leads are hand-written synthetic edge cases; real traffic is messier.
  • Offline classification and scoring are simple, tuneable rules—not a universal sales policy.
  • Budget parsing is best effort and intentionally ignores unmarked numbers.
  • Suggested replies are drafts; a human approves and sends them.