Voice Call Lifecycle Engine: Vapi Server Webhook → AI Transcript Summaries + Auto-Retry → GHL
Problem:
Vapi calls ended and vanished, no transcript summaries reached the CRM, unanswered outbound leads were never re-dialed, and assistant requests, inbound calls, and end-of-call reports all hit one endpoint with no routing.
Solution:
Built a Make.com scenario on the Vapi Server URL webhook with a Message Type Router splitting all traffic. Assistant-request events return the correct inbound assistant configuration to Vapi via webhook response. End-of-call reports pass through a Call Ended Reason Switch and a Data Store lead-phone check, then route by outcome: unanswered leads wait N seconds, get marked as retried in the Data Store, and trigger a fresh outbound call through Vapi's Make an API Call module with a Retry handler; answered calls have transcripts JSON-formatted and summarized through two chained OpenAI completion steps (summary generation, then quote-stripping cleanup) before POSTing to the lead's GoHighLevel record via a set-variable GHL URL. Two additional inbound routes run the same transcript → OpenAI → GHL pipeline for assistant-answered and human-answered calls.
Result:
Every call now ends with an AI-written summary on the GHL contact record and unanswered outbound leads are automatically re-dialed, no call outcome is ever lost."
