◆ Case Study

AI Voice Receptionist for Service Businesses

Full-stack voice AI system that handles inbound calls 24/7 — books appointments, manages cancellations, transfers emergencies, and triggers automated follow-ups. Multilingual. Fully integrated with GoHighLevel. White-label ready.
7
Verticals
6
Call Intents
7
Custom Tools
7
GHL Workflows
<2h
Per Client Setup

🎧 Try the Live Demo

Call the AI receptionist yourself — voice and chat, for 7 different industries.

📞 Try Voice & Chat Demos
The Problem

Marketing agencies serving local service businesses (roofers, HVAC, plumbers, dentists, law firms) need an AI receptionist that can answer calls 24/7 in any language, book appointments in real-time, transfer urgent calls, and trigger automated follow-up sequences — all inside GoHighLevel. Most existing solutions use fragile native integrations or require expensive middleware. We built a system that works end-to-end with zero middleware, is white-label ready, and deploys to a new client in under 2 hours.

Supported Verticals
⚖️
Law Firms
Intake & qualification
🦷
Dental
Scheduling & triage
🏠
Real Estate
Lead qualification
🔧
Home Services
Dispatch & booking
🏥
Medical
Appointments & intake
🍽️
Restaurants
Reservations & events
🏗️
Contractors
Estimates & scheduling
💡
Custom
Any industry
How It Works
01
📞

Caller Calls In

The call hits Vapi, which streams audio to Deepgram for real-time transcription and routes to GPT-4o for intent detection.

02
🧠

AI Handles the Call

The agent identifies the caller's intent (booking, cancel, reschedule, urgent, FAQ) and executes the appropriate flow with natural conversation.

03
🛠

Tools Execute

Custom code tools call the GHL REST API directly — creating contacts, checking availability, booking appointments, or transferring calls.

04
📅

CRM Updates

GoHighLevel receives all data: new contacts, appointments on calendar, pipeline opportunities, tagged and segmented automatically.

05

Workflows Fire

7 automated workflows trigger: confirmation SMS, 24h & 2h reminders, cancellation follow-ups, no-show sequences, and Google review requests.

06
📈

Recap & Analytics

Every call is transcribed, summarized, and sent as a recap email to the business owner. Full visibility into every interaction.

Call Intent Matrix
Intent Flow Tools Used
📆 New Booking Qualify → create contact → check availability → book → confirm create_contact check_availability create_appointment
❌ Cancel Collect phone → find appointment → confirm → cancel find_appointment cancel_appointment
🔄 Reschedule Find → cancel old → check new slots → book new find_appointment cancel_appointment check_availability create_appointment
🚨 Urgent Detect emergency → live transfer to business owner transfer_call
❔ FAQ Answer question → redirect to booking
📩 Call Recap Auto-transcribe → summarize → email to business Vapi analysisPlan → GHL webhook
Tech Stack

Voice & AI

Voice OrchestrationVapi.ai
Voice SynthesisElevenLabs
TranscriptionDeepgram Nova
Language ModelGPT-4o
LanguagesEN, ES, FR + any

CRM & Automation

CRMGoHighLevel
CalendarGoogle Calendar API
NotificationsSMS + Email (GHL)
MiddlewareNone — direct API
DeploymentWhite-label ready
System Architecture
📞
Incoming Call
GHL Phone Number
🤖 Vapi Voice Agent
Voice: ElevenLabs
LLM: GPT-4o
STT: Deepgram Nova
📅
New Booking
🔄
Cancel / Reschedule
🚨
Urgent
🛠 7 Code Tools → GHL API
create_contact
find_appointment
check_availability
cancel_appointment
create_appointment
send_message_sms
transfer_call
transfer_call
Native Vapi SIP
📞 Business Owner Phone
GHL REST API
Private Integration Token
👥
Contacts
📅
Calendar
Google synced
📈
Pipeline
7 GHL Workflows
Bridge + Booking + Reminders + Cancel + No-show + Reviews + Recap
💬
SMS Notifications
Email Sequences
Google Reviews
7 Custom Code Tools
Tool Function API Endpoint
create_contact Creates contact in GHL with phone, email, address POST /contacts/
check_availability Queries Google Calendar for open slots (5-day window) GET /calendars/.../free-slots
create_appointment Books the appointment on the calendar POST /calendars/events/appointments
find_appointment Looks up existing appointments by phone number GET /calendars/events/appointments
cancel_appointment Cancels appointment by event ID PUT /calendars/events/.../status
transfer_call Live transfer to business owner for emergencies Vapi SIP transfer
send_message_sms Sends transcribed voicemail via SMS POST /conversations/messages
7 GHL Workflows
Workflow Trigger Actions
Vapi → GHL Bridge Webhook (end-of-call) Create/update contact + opportunity + internal notification
Booking Confirmation Appointment created SMS + email to client, notification to business
Reminder 24h 24h before appointment SMS reminder to client
Reminder 2h 2h before appointment SMS reminder to client
Cancellation Appointment cancelled SMS confirmation + business notification + 48h follow-up
No-show Appointment no-show Notification + follow-up sequence
Google Review Appointment completed 3-touch sequence: Day 1, Day 7, Day 30 (SMS + Email)
Engineering Challenges Solved

🌐 Multilingual Voice AI

Not just translation — culturally authentic conversations in each language. Regional expressions, natural pacing, and tone that feels local whether the caller speaks English, Spanish, French, or any other language.

Solution: Extensive prompt engineering with cultural context per language. The AI never breaks character, adapts to the caller's language automatically, and keeps responses to max 2 sentences for natural phone conversation flow.

🔢 Phone Number Collection by Voice

Voice transcription fragments digit sequences — numbers become partial digits across multiple utterances. Standard collection methods fail consistently.

Solution: Built accumulation logic: collect digits across utterances, require exactly 10 before proceeding, confirm in groups of 3-3-4, parse spoken number words. Never call a tool with an incomplete number.

🔌 GHL Native Integration Limitations

Vapi's built-in GHL integration returned OAuth errors and was unreliable. The native connection was unusable for production.

Solution: Pivoted to custom TypeScript code tools that call the GHL REST API directly. More reliable, fully testable, and completely under our control. Zero downtime during migration.

Tool Chaining Latency

When the AI called multiple tools back-to-back (create contact → check availability), it would stutter or fire them simultaneously, confusing the conversation.

Solution: Enforced sequential tool execution with spoken responses between each call: "Let me check availability for you..." This gives the API time to respond while keeping the caller engaged.
💡 These challenges are common in production voice AI deployments. The solutions developed here are reusable patterns applicable to any voice agent project across languages and industries.
Results & Metrics
100%
Booking success rate
(all test scenarios)
6/6
Intents handled
end-to-end
<2h
Onboarding time
per new client
7
Industries
ready to deploy
Deliverables
Technology Tags
Vapi.ai GoHighLevel GPT-4o ElevenLabs Deepgram Voice AI Multilingual GHL Workflows GHL REST API Google Calendar SMS Automation White-Label Prompt Engineering TypeScript Webhook Integration Chat Widget WhatsApp API

Need a Voice AI System That Actually Works?

I build production-grade voice AI agents integrated with GoHighLevel, Vapi, and your existing CRM. From prompt engineering to workflow automation — end-to-end delivery.

💬 Hire Me on Contra 📧 jaco@leongael.xyz
What I Build

Voice AI Agents

Inbound receptionistsAny language
Outbound sales agentsCold + warm
Appointment bookingReal-time CRM
Emergency routingLive transfer

GHL Automation

Workflow designEnd-to-end
Custom API integrationREST + Webhooks
Pipeline automationFull funnel
White-label deployment<2h per client

Chat & Omnichannel

Website widgetEmbed anywhere
WhatsApp BusinessAPI integration
Instagram & FacebookAuto-reply DMs
SMS / TextTwo-way messaging

Infrastructure

N8N workflowsSelf-hosted
PostgreSQL + RedisProduction-grade
Monitoring & alerts24/7
DocumentationRunbooks + guides
Based in Honduras (UTC-6). Available for async collaboration across all timezones. Fluent in English, Spanish, and French.