Hi, Skin July Sprint
GHL Missed Call Text-Back Setup
Build this as a demo workflow in GoHighLevel. The dashboard only needs the webhook event; GHL handles the SMS, tags, opportunity, and callback task.
No real secrets belong in the repo. Put the webhook secret in .env.local or Vercel environment variables.
Workflow
Workflow name: DEMO | Missed Call Text Back | GrowthDesk
Trigger
Inbound call missed / no answer / voicemail / busy / not answered.
Action 1
Create or update contact.
Action 2
Add tag: demo_missed_call.
Action 3
Send SMS: Hi {{contact.first_name}}, this is Hi, Skin {{custom_values.studio_name}}. Sorry we missed your call. You can book your visit here: {{custom_values.booking_link}} Reply CALL and we'll call you back. Reply STOP to opt out.
Action 4
Add tag: demo_text_sent.
Action 5
Create opportunity in pipeline: Pipeline: Missed Call Recovery. Stage: Text Sent.
Action 6
Create task: Title: Call back missed lead.
Action 7
Send internal notification.
Action 8
Send webhook to: {{custom_values.demo_webhook_url}}.
Webhook
Send the webhook after the contact, SMS, tag, opportunity, and callback task actions.
URL
{{custom_values.demo_webhook_url}}
Local path: /api/ghl/missed-call
Header
x-demo-secret: value from GHL_WEBHOOK_SECRET
Payload
Use this JSON body in the GHL webhook action.
{
"event_type": "missed_call_text_back",
"studio_name": "{{custom_values.studio_name}}",
"contact_name": "{{contact.name}}",
"contact_phone": "{{contact.phone}}",
"booking_link": "{{custom_values.booking_link}}",
"ghl_contact_id": "{{contact.id}}",
"timestamp": "{{right_now}}",
"sms_template": "Sorry we missed your call. You can book here."
}Runbook
Use the simulator if GHL or the phone route is not ready during the live demo.
Before demo
- Confirm GHL demo phone number is active.
- Confirm the phone routes to a test user.
- Confirm missed-call workflow is published.
- Confirm booking link custom value is set.
- Confirm webhook URL is set.
- Confirm webhook secret matches .env.
- Confirm dashboard loads.
- Run simulator once.
- Clear or mark test data if needed.
Live demo steps
- Call the GHL demo number.
- Do not answer.
- Show the SMS arriving with booking link.
- Show the contact/opportunity/task in GHL.
- Refresh dashboard.
- Show the missed-call event logged.
- Explain: "The studio did not need new software. The workflow recovered demand automatically."
Fallback demo
- Click "Simulate Missed Call."
- Show dashboard update.
- Explain that the simulator mirrors the same payload GHL sends.