📞 Missed Call
→
💬 AI SMS (<60s)
→
⏳ Wait 5 min
→
🔍 Qualify Reply
→
📅 Booking Link
→
📧 Confirm
| Requirement |
Where to find it |
Notes |
| SMS Pipeline / Inbox |
Conversations → Inbox |
Enable SMS channel. Add your Twilio number. |
| Contact Custom Fields |
Settings → Custom Fields |
Need: missed_call_time, qualification_score, booking_date |
| Calendar / Booking Link |
Scheduler → Booking Links |
Create a booking link for med spa appointments. e.g. book.luminaraesthetics.com |
| Triggers App |
Marketplace → Integrations |
Install "Call Rail" or "Aloware" for missed-call detection, or use GHL's built-in Call Tracking. |
| OpenAI Integration |
Settings → Integrations → OpenAI |
Connect your OpenAI key to enable AI-generated SMS responses. |
Automation Settings
Name: Med Spa Missed-Call Recovery
Trigger Type: Webhook (from call tracking platform)
Trigger: Missed Call → Contact Source = "Missed Call"
⚠️
If using a third-party call tracking app (CallRail, CallHippo), set up a Webhook Trigger in GHL. Point it to the call tracking app's missed-call webhook URL. GHL receives the event with the caller's phone number as a contact property.
| Setting | Value | Why |
| Call Duration < | 30 seconds | Short calls = unanswered inquiries |
| Disposition | Missed / No Answer | Filter out voicemails |
| Location | Luminara Aesthetics | Match your specific spa location |
| Time of Day | Any | 24/7 coverage — after-hours too |
💡
After-hours calls are gold — people calling after 8pm are often ready to book. Don't filter these out!
SMS Template — Initial Outreach
To: {{contact.phone}}
Message:
Hi {{contact.first_name}}! We missed your call at {{custom.missed_call_time}}.
Did you want to book an appointment? Reply YES to connect with our team.
| Setting | Value |
| Send | Immediately — 0 second delay |
| From Number | +1 (555) 000-1234 — your GHL number |
| SMS Type | Business (not marketing — lower deliverability risk) |
| Track Reply | Enable — wait for inbound |
OpenAI Action — Analyze Reply
Prompt:
The contact replied: "{{Inbound SMS Content}}"
Is this person interested in booking a med spa appointment?
Score 1-100. Reply with just the score and one word: YES if interested, NO if not.
💡
Interest keywords to look for: "yes", "book", "appointment", "interested", "sure", "schedule", "available", "price", "cost", "when". Negative signals: "later", "not now", "wrong number", "stop", "unsubscribe".
Wait Step Settings
Duration: 5 minutes
Option: Wait for specific keyword instead of time
Wait for Reply: Yes (don't auto-advance until they respond)
Timeout: 2 hours (then proceed to next step anyway)
Condition Split
IF {{custom.qualification_score}} >= 50
ELSE IF {{custom.qualification_score}} < 50
→ Branch B: "Soft Nudge"
ELSE
→ Branch C: "No Response — Wait 24h"
Contact Update — Mark Qualified
Update Contact Field:
status = "Qualified"
pipeline_stage = "Hot Lead"
last_contact = NOW()
SMS Template — Hot Lead
Great! You can book online right here: {{custom.calendar_link}}
Pick a time that works for you — we're open Mon-Sat 9am-7pm.
Hi {{contact.first_name}}! Since you're interested in {{custom.service_interest}},
here's our direct booking link: {{custom.calendar_link}}
SMS Template — Soft Nudge
No pressure at all! If you change your mind, here's our booking link:
{{custom.calendar_link}}
We'd love to help you feel your best. 😊
⚠️
Keep it short. SMS has a 160-character soft limit before segmentation. Keep messages under 160 characters for best deliverability. Use a URL shortener (Bitly) if your booking link is long.
Trigger: Appointment Booked
Automation: "Appointment Confirmation SMS"
Trigger: Appointment Created
SMS:
✅ You're confirmed! Appointment: {{appointment.date}} at {{appointment.time}}.
We'll send a reminder 24 hours before. Questions? Reply here.
Trigger: No-Show Detection
Automation: "No-Show Reminder"
Trigger: Appointment Status = "No Show"
SMS Template — No-Show Reminder
Hi {{contact.first_name}} — just a heads up, your appointment slot has passed.
No worries if things came up! Reschedule here whenever you're ready:
{{custom.calendar_link}}
We're always happy to find a time that works. 😊
💡
After the no-show reminder, set a task for your front desk to follow up manually within 48 hours. 35% of no-shows will rebook if followed up with a phone call.
| Metric | Where to pull it in GHL |
| Total missed calls | Conversations → Missed Calls Report |
| SMS sent / reply rate | Conversations → SMS Analytics |
| Qualified leads | Pipeline → Hot Lead stage |
| Bookings from automation | Pipeline → Booked stage (source = "automation") |
| No-show rate | Appointments → No-Show Report |
| Booking conversion rate | Missed calls → Booked / Total missed calls |
Monthly Stats Digest — Email Template
Subject: Luminara Aesthetics — Monthly Missed-Call Recovery Report
Here's how your missed-call automation performed this month:
📞 Missed Calls: {{missed_calls}}
💬 SMS Sent: {{sms_sent}} ({{reply_rate}% reply rate)
🎯 Qualified Leads: {{qualified_leads}}
📅 Bookings: {{bookings_from_automation}}
📊 Booking Conversion: {{booking_rate}}%
⏰ No-Shows: {{no_shows}}
Top-performing service: {{top_service}}
Best time to reach leads: {{best_time}}
Want to optimize further? Reply to this email and we'll help.
💡
Automate the monthly digest with a Zap: GHL Report → Google Sheets → Gmail. Or use GHL's built-in Workflow with an Email action, scheduled on the 1st of each month.
| # |
Step |
Action |
Timing |
Type |
Branch |
| 1 |
Missed call detected |
Automation triggered via webhook / call tracking |
T+0 |
API Trigger |
Both |
| 2 |
Outbound SMS sent |
Personalized greeting with lead's name + missed time |
T+0-60s |
SMS |
Both |
| 3 |
Wait for reply |
Hold until inbound SMS received or 2h timeout |
0–2h |
Wait |
Both |
| 4 |
Qualify via AI |
Score reply 1–100 based on interest keywords |
T + reply |
API/OpenAI |
Both |
| 5A |
Booking link sent |
Direct booking URL for interested leads |
T + score |
SMS |
Score ≥ 50 |
| 5B |
Soft nudge sent |
Low-pressure booking link for not-yet-ready leads |
T + score |
SMS |
Score < 50 |
| 6A |
Appointment confirmed |
Confirmation SMS + calendar invite |
On booking click |
Email |
Booked |
| 6B |
No-show reminder |
Reschedule prompt for missed appointments |
24h after no-show |
SMS |
No-show |
| 7 |
Monthly digest |
Owner stats summary: calls, SMS rate, bookings, conversion |
1st of month |
Email |
Summary |
By the Numbers
23%
Expected booking rate
0
Manual work after setup
Want this built for your med spa?
AutoReach can build and manage this automation for you. Book a free demo call and we'll have it live in your GHL account within 48 hours.
Book Your Free Demo →