AI SDR System: 24/7 Patient Lead Nurturing & Qualification Pipeline
Two asynchronous n8n workflows replacing the entire SDR function — dynamic scheduling fires calls immediately during business hours or queues until 9am otherwise, and GPT-4 post-call analysis classifies every transcript into a binary booking-intent flag that routes warm leads automatically.
The Problem
The clinic needed 100% of leads contacted without adding headcount. Leads submitted overnight and on weekends waited 8–72 hours for a callback. Human agents introduced variability in script adherence and logging accuracy — quality depended on who was working. Manual call logging to Google Sheets was delayed and error-prone. Voicemails and unanswered calls disappeared into a 'called' status without structured follow-up. No real-time visibility into which leads were warm vs. cold.
The Solution
Flow 1 — Intelligent Outreach & Dynamic Scheduling: Webhook ingests lead data (Name, Phone, Email, Service Requested). JavaScript node calculates current time in America/New_York (EST) against Mon–Fri 9AM–8PM window, exports `call_action` = `call_now` or `schedule_call`. If `call_now`: HTTP request fires to Retell AI immediately with dynamic expressions `{{$json["phone"]}}`, `{{$json["name"]}}`. If `schedule_call`: Wait node pauses until next 9AM business window then fires. Flow 2 — Post-Call AI Analysis & Follow-up Triage: Retell `call_analyzed` webhook → If filter checks event type → Google Sheets append (transcript, AI summary, call status, recording URL to 'Summarized Call Tracking' sheet) → GPT-4.1-nano prompt: 'Did the lead explicitly discuss booking — mention specific dates or times?' → Boolean output `true`/`false`. If true: WhatsApp appointment link (WASenderAPI) + Gmail confirmation sent simultaneously, Google Sheets CRM updated to 'Called'. If false: Retell status check — `not_connected` or `voicemail_reached` → `Follow Up Needed` flag written to CRM.
Tech Stack
Walkthrough
Results
- Every lead contacted at the optimal time — immediately during EST business hours (Mon–Fri 9AM–8PM), at exactly 9AM next business day otherwise
- AI post-call classification converts every qualitative transcript into a binary booking-intent flag (true/false) with zero human review
- Warm leads (booking intent = true) receive appointment scheduling link via WhatsApp AND Gmail confirmation simultaneously — automated within seconds of call ending
- Failed calls (not_connected, voicemail_reached) automatically set a Follow Up Needed flag in the CRM, creating a prioritised queue for human reps
- Full compliance audit trail: transcript, AI summary, recording URL, and call status appended to 'Summarized Call Tracking' Google Sheet on every call without exception
- Zero manual data entry — no human touches the CRM between lead submission and follow-up routing