All Work
AI AgentsHealthcare / OptometryDeployed · United States

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.

Client: Premiere Eye CenterVisit siteRead full case study

100%

Leads contacted

0s

Delay during business hours

Binary

AI booking-intent classification

0

Manual logging steps

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.

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

Tech Stack

n8nRetell AIOpenAI GPT-4.1-nanoWaSender APIGmailGoogle Sheets

Want something like this?

Tell me what you're building. I'll tell you honestly if I can help.