Mystery Shopper Speed-to-Lead Auditor
We enquire on a prospect's landing page as a real-looking buyer, time how fast their team responds by email, WhatsApp and phone, then use those exact timings to open a sales conversation for Digital AI 360.
Give it a URL
Run/audit-site <url> in Claude Code. Afterwards your job is to review and send.Judgment work
Researching the founder, mapping form fields, matching ambiguous calls and messages, grading, and writing the pitch.Everything measurable
Browser automation, 24/7 webhooks, timestamps, classification and delay maths. The app makes no LLM API calls.Architecture
Click any box to see what it does, where it runs and what it writes. The highlighted arrows show what it talks to.
The admin journey
An audit from start to finish, as the operator sees it. Each step shows who does the work: You Claude Automatic
Lead statuses
The custom_audit_status field drives everything. It has no default, so organic leads in the CRM are never touched. Click a status.
How replies get matched to leads
Email is easy: the audit+LEAD-ID alias names the lead. Calls and WhatsApp messages arrive from unknown numbers, so the webhook scores each Auditing lead. Try it with three sample leads.
| Sample Auditing lead | Domain | Known sender phone |
|---|---|---|
| Sunrise Dental Care | sunrisedental.in | +91 98400 11111 |
| BrightPath Academy | brightpath.co.in | none yet |
| Kaveri Franchise Hub | kaverifranchise.com | none yet |
Scoring rules
- 3: the sender's phone is in the sender map or matches the lead's mobile
- 2: the lead's company core name or root domain appears in the text
- 1: the persona name ("Rahul") appears in the prospect's lines
- Lead score = best signal + 0.1 for each extra signal. Only a unique top score matches.
Grade calculator
The code suggests a grade from the first human response on each channel. Auto-replies, WhatsApp templates and robocalls don't count. Claude may move the grade one step, but only with evidence it can quote. Enter delays in minutes and leave a field blank for no human response.
A missed call still counts as a human attempt ("unknown" is credited to the prospect). Responses after 24 h (1440 min) don't count towards the grade.
| Band (fastest human response) | Grade |
|---|
−1 grade if only one channel got a human response (never below D).
Once a cohort (e.g. dental/coimbatore) has 5 or more leads past 24 h, quartile ranking within the cohort replaces the fixed bands.
Command reference
Run from /root/digitalai360-auditor. Slash commands go in Claude Code. CLI commands are prefixed with .venv/bin/python -m and print one JSON object each.
| Command | What it does | Who runs it |
|---|
Troubleshooting
What you'll actually run into, and what to do about it.
Guardrails
Never automatic
- The pitch is only saved (Ready for Review). You send it.
- The courtesy note ("please close my enquiry") is sent only when you run
send-courtesy. - Grading decisions are Claude's, with every adjustment explained. You approve them.
Fair measurement
- T0 is stamped only when the page shows success and a real form request returned 2xx/3xx.
- Submissions happen only inside the submit window (Tue–Thu 10:30–12:30 IST).
- No human reply means "none in X observed", never a made-up number.
- Business-hours delay is reported next to wall-clock delay.
Honest shopping
- One opt-in per root domain. Duplicates are refused.
- Anti-bot honeypot fields are never filled. Hard CAPTCHAs go to manual.
- Calendar-only pages are skipped, so we never book a rep's time.
Research hygiene
- Every fact has a source URL in the research notes.
- LinkedIn is never fetched. Profile URLs come only from search results.
- Emails are never guessed. With no confident founder, the pitch addresses the team.