Bouw een AI-stemagent in GoHighLevel die elke lead binnen 60 seconden belt


Speed-to-lead-automatisering betekent dat een nieuwe lead gebeld wordt op het moment dat die je formulier verstuurt, gekwalificeerd wordt en een afspraak krijgt voordat hij de kans heeft een concurrent te bellen. (Wil je eerst weten waarom speed to lead ertoe doet, begin dan daar.) In deze gids bouw je het systeem met GoHighLevel en Retell AI: een GoHighLevel-formulier activeert een workflow, de workflow start een uitgaand gesprek en een AI-stemagent plant de afspraak direct in je GoHighLevel-agenda in.
Het voorbeeld is een fictief HVAC-bedrijf, Comfort Air Demo. Een huiseigenaar vraagt een offerte aan voor het vervangen van de airco, binnen enkele seconden gaat de telefoon en de agent vraagt wat er mis is met het apparaat, of de lead eigenaar is van de woning en wanneer hij het wil laten vervangen. Daarna controleert de agent de echte beschikbaarheid en plant een consult van 30 minuten in. Elke prompt die in de build wordt gebruikt, staat op deze pagina, klaar om te kopiëren. Zo heb je uiteindelijk een geautomatiseerd systeem voor leadopvolging dat met telefoongesprekken werkt, niet alleen met sms'jes en e-mails.
De video hieronder laat dezelfde build zien, van begin tot eind. De stappen en prompts op deze pagina komen ermee overeen, dus je kunt deze pagina in een tweede tabblad openhouden en gaandeweg kopiëren.
Vijf systemen dragen het werk in een vaste volgorde aan elkaar over:
Niemand in je team hoeft er iets voor te doen. Het eerste contact van de lead met je bedrijf is een uitgaand AI-gesprek dat eindigt met een ingeplande afspraak. Het is hetzelfde patroon dat ISpeedToLead op schaal draait; lees hoe ISpeedToLead 24/7 leadopvolging heeft opgeschaald.
De agent plant afspraken in een echte agenda in, dus maak die eerst aan. Open in GoHighLevel Calendars → Calendar Settings en maak een nieuwe agenda aan voor het type afspraak dat je wilt laten inplannen. Stel de duur van de afspraak in (30 minuten in deze build), de boekings-URL en je beschikbaarheid.
Beschikbaarheid is belangrijker dan het lijkt. De agent kan alleen tijdsloten aanbieden die deze agenda als vrij toont, dus als je openingstijden beperkt zijn, hoort elke beller dezelfde drie tijden.
Je kunt het formulier handmatig bouwen, maar GoHighLevel AI Studio bouwt het formulier en de bijbehorende landingspagina op basis van één prompt. Open AI Studio en plak dit, met je eigen bedrijfsgegevens ingevuld:
Maak of update een leadpagina voor Comfort Air Demo, een fictief HVAC-bedrijf. Als dit project al een pagina heeft, behoud dan het bestaande ontwerp.
Gebruik de kop Vraag een offerte aan voor het vervangen van je airco. Neem de velden First Name, Phone, ZIP Code en Service Needed op, met AC replacement als demoselectie. Maak voornaam en telefoonnummer verplicht. Voeg een Amerikaans weergavemasker voor telefoonnummers toe en zorg ervoor dat het telefoonnummer van het contact dat voor uitgaande gesprekken wordt gebruikt de landcode bevat. Geef de knop het label Vraag mijn offerte aan.
Koppel het formulier aan mijn GHL-subaccount via de ondersteunde CRM-koppeling. Laat zien hoe alle vier de velden aan het contact worden gekoppeld. Toon na verzending: Bedankt! Onze AI-assistent belt je zo snel mogelijk over je aanvraag.
Toon geen agendakiezer en geen tweede boekingsstap. Laat de bestaande Hvac-boekingsagenda intact; de Retell-agent plant de afspraak tijdens het gesprek in. Voeg geen webhook-ontvanger aan de site toe. Ik configureer de workflow van GHL naar het Retell-gesprek apart.
Benoem eventuele handmatige koppelingsstappen en vertel me hoe ik het formulier publiceer en test. Meld wat geverifieerd is en wat nog getest moet worden.
De belangrijkste regel is die over de landcode. Retell belt nummers in E.164-formaat, zoals +15551234567. Een formulier dat (555) 123-4567 opslaat, activeert de workflow wel, maar het gesprek mislukt alsnog.
Houd toestemmingstekst op het formulier. Op het formulier in de video staat dat de lead door te verzenden akkoord gaat met een terugbelverzoek over de offerte. AI-gesprekken naar leads vallen in de VS onder de TCPA, dus lees de TCPA-regels voor uitgaande AI-gesprekken voordat je dit op echt verkeer loslaat.
AI Studio vraagt of het formulier aan je CRM gekoppeld moet worden. Zeg ja, zodat inzendingen GoHighLevel-contacten aanmaken. Publiceer de pagina en open de losse URL om te controleren of het formulier werkt.
Retell maakt verbinding met GoHighLevel via twee waarden: een Private Integration-token en de Location ID van het subaccount. Op de pagina over de GoHighLevel-integratie van Retell lees je alles wat de koppeling ondersteunt.
In de video zijn alle scopes geselecteerd om de demo kort te houden. Geef voor een echt account alleen de rechten die de build gebruikt:
| Scope | Waarvoor |
|---|---|
contacts.readonly, contacts.write | De verbindingstest, het opzoeken van contacten en de notitie na het gesprek |
calendars.readonly | Check Availability, en het tonen van je agenda's wanneer je de tools instelt |
calendars/events.readonly, calendars/events.write | Afspraken inplannen, verzetten en annuleren |
locations/customFields.readonly | Aangepaste velden uitlezen, zoals Service Needed en ZIP Code |
De volledige lijst met scopes staat in de documentatie over de GoHighLevel-koppeling. Blijft het instellingenvenster van een tool later leeg, dan is een ontbrekende scope bijna altijd de oorzaak.
Conductor, de AI-copilot van Retell, bouwt de agent voor je. Je beschrijft de agent, Conductor stelt een plan voor en er verandert niets totdat jij het goedkeurt. Open Conductor en plak:
Maak een nieuwe concept-stemagent voor uitgaande gesprekken met een conversation flow, genaamd Comfort Air Demo Speed to Lead, voor een fictief HVAC-bedrijf. De agent volgt mensen op die net een GHL-formulier hebben verstuurd om een offerte aan te vragen voor het vervangen van hun airco. Het doel is de aanvraag te kwalificeren en een telefonisch consult van 30 minuten in te plannen in onze offerteagenda.
Gebruik deze binnenkomende dynamische variabelen: {{first_name}}, {{service_requested}}, {{zip_code}} en {{ghl_contact_id}}. Gebruik America/New_York als tijdzone voor de demo en bevestig de tijdzone van de lead voordat je een afspraak inplant. Ontbreekt er een variabele, vraag er dan op een natuurlijke manier naar in plaats van de placeholder hardop voor te lezen.
Begin met: Hoi {{first_name}}, je spreekt met Alex, de AI-assistent van Comfort Air Demo. Je hebt net hulp aangevraagd voor {{service_requested}}. Komt het nu uit voor een paar korte vragen?
Houd antwoorden kort en stel één vraag tegelijk. Kom erachter wat er aan de hand is met hun airco, of ze eigenaar zijn van de woning en wanneer ze die willen vervangen. Gebruik informatie die al is gegeven. Als ze interesse hebben in een offerteconsult, vraag dan naar hun voorkeursdag en -tijd, controleer de echte beschikbaarheid, bied beschikbare opties aan en plan pas in nadat ze een tijdslot hebben gekozen. Bevestig de exacte datum, tijd en tijdzone pas nadat de boekingstool is geslaagd.
Laat bellers onderbreken en hun voorkeuren wijzigen. Is het de verkeerde persoon, bied dan je excuses aan en beëindig het gesprek zonder meer leadgegevens te onthullen. Als ze afhaken of vragen om niet meer gebeld te worden, stop dan met de pitch en leg die uitkomst vast. Als een gevraagd tijdslot niet beschikbaar is, bied dan alternatieven aan. Als het inplannen mislukt, leg dan uit dat de afspraak niet bevestigd is en leg vast dat opvolging nodig is. Verzin nooit prijzen, afspraken of voltooide acties.
Configureer voicemail zo dat het gesprek voor deze demo wordt beëindigd.
Maak een duidelijke flow met gelabelde gespreks- en functiestappen. Toon de voorgestelde wijzigingen ter beoordeling. Benoem ontbrekende toolkoppelingen of handmatige instellingen. Laat de agent als concept staan en start geen telefoongesprekken.
Via de vier dynamische variabelen weet de agent wie hij belt. De GoHighLevel-workflow vult ze in wanneer het gesprek start, zodat de agent opent met de naam van de lead en de dienst waar die om vroeg.
Conductor antwoordt met een plan: de gespreksflow, hoe de agent voorbeeldgesprekken afhandelt en de datavelden. Geef akkoord en Conductor bouwt een concept-agent met een Book Consultation-subflow. De boekingstools zijn op dit punt nog placeholders, dus die vervang je hierna door de echte GoHighLevel-tools.
Het eerste concept van Conductor gebruikt placeholder custom functions voor beschikbaarheid en inplannen, omdat Conductor niet kan weten welke agenda je gebruikt. Open de functies van de agent en voeg de native GoHighLevel-tools toe:
Laat daarna de rest van de koppeling weer over aan Conductor:
Vervang de placeholder custom functions check_availability en book_appointment in de Book Consultation-subflow door de GoHighLevel-tools Check Availability en Book Appointment die ik net heb toegevoegd, allebei ingesteld op mijn Hvac-boekingsagenda. Book Appointment moet {{ghl_contact_id}} als contact-ID gebruiken. Verwijder de placeholder custom function record_outcome; uitkomsten moeten in plaats daarvan uit de analyse na het gesprek komen.
Voeg velden voor de analyse na het gesprek toe voor call_outcome (booked, declined, wrong_person, do_not_call, voicemail, follow_up_needed), ac_issue, owns_home, replacement_timeline en appointment_booked. Zet appointment_booked alleen op true bij een geslaagde boeking. Configureer een workflow na het gesprek met Create Note om de samenvatting en uitkomst van het gesprek op te slaan bij hetzelfde GHL-contact. Bewaar de uitkomsten wrong_person en do_not_call zodat de externe workflow ze kan afhandelen.
Toon de voorgestelde wijzigingen. Als je een native tool, agendaselectie, veldkoppeling of stap na het gesprek niet rechtstreeks kunt configureren, geef me dan de exacte handmatige stappen. Geef duidelijk aan wat nog niet gekoppeld is. Verzin geen inloggegevens en gebruik geen dummy-endpoints.
Bekijk de wijzigingen en accepteer ze. De notitie na het gesprek gebruikt de Create Note-tool van GoHighLevel als functie na het gesprek, zodat elk gesprek een samenvatting achterlaat in het contactrecord van de lead. De uitkomstvelden komen uit de analyse na het gesprek.
Bij simulatietests voert de agent een gesprek met een AI-beller die een scenario speelt, zodat jij kapotte paden vindt voordat een echte lead dat doet. Vraag Conductor:
Maak en draai een simulatietestsuite voor deze agent met deze zes cases: huiseigenaar plant succesvol een afspraak in, lead wijzigt halverwege het gesprek de voorkeursdag, verkeerde persoon neemt op, verzoek om niet gebeld te worden, fout in de boekingstool en geen beschikbare tijdsloten. Geef voor elke case aan wat als geslaagd geldt voordat je hem draait. Toon de resultaten in een tabel en leg voor alles wat mislukt of een fout geeft de oorzaak uit en stel de oplossing ter beoordeling voor.
In de opgenomen build slaagden er vijf van de zes bij de eerste run:
| Testcase | Eerste run |
|---|---|
| Huiseigenaar plant succesvol een afspraak in | Geslaagd |
| Lead wijzigt halverwege het gesprek de voorkeursdag | Geslaagd |
| Verkeerde persoon neemt op | Geslaagd |
| Verzoek om niet gebeld te worden | Geslaagd |
| Fout in de boekingstool | Geslaagd |
| Geen beschikbare tijdsloten | Fout |
De fout bracht een echt gat aan het licht: de flow had geen pad voor een lege beschikbaarheidsrespons. De prompt voor de oplossing:
De case Geen beschikbare tijdsloten gaf een fout. Voeg een pad toe voor wanneer Check Availability geen vrije tijdsloten teruggeeft: vertel de beller dat er in die periode niets vrij is, bied aan een andere dag te controleren, probeer het maximaal 3 keer opnieuw, bied daarna aan dat het team terugbelt en leg follow_up_needed vast. Toon de wijziging ter beoordeling en draai daarna alleen die test opnieuw.
Simulatieruns worden gefactureerd op basis van LLM-gebruik, en Conductor vraagt toestemming voordat ze starten. Lees testen met Conductor voor hoe suites worden opgebouwd en geprijsd. Als elke case groen is, publiceer je de agent.
Het laatste onderdeel start het gesprek. Open in GoHighLevel Automation → Workflows en klik op Build with AI. Plak dit en vervang de twee placeholders tussen punthaken:
Maak een concept-workflow met de naam "Comfort Air Demo: Form to Retell Call."
Wanneer iemand mijn bestaande offerteformulier van Comfort Air Demo verstuurt, stuur dan direct één verzoek voor een uitgaand gesprek naar Retell met de gegevens van dat contact.
Gebruik AI Studio Form Submitted, gefilterd op mijn exacte project en offerteformulier. Als dit formulier External Tracking gebruikt, gebruik dan in plaats daarvan de geverifieerde trigger voor inzendingen. Als je het formulier niet kunt vinden, laat die selectie dan open en vertel me wat ik moet selecteren.
Voeg één Custom Webhook-actie toe met de naam "Start Retell Call": URL https://api.retellai.com/v2/create-phone-call, methode POST, Content-Type application/json, Authorization Bearer token; laat het invullen van de inloggegevens aan mij over. Gebruik de JSON-body hieronder.
Koppel Service Needed en ZIP Code aan de daadwerkelijke contactvelden in mijn account. Verzin geen veldsleutels. Ga alleen verder als het contact een telefoonnummer heeft. Sta opnieuw instappen toe, zodat ik de demo met mijn eigen nummer kan herhalen.
Retell kwalificeert de lead en plant de afspraak in mijn bestaande Hvac-boekingsagenda in. Laat deze workflow ongepubliceerd. Toon me elk veld of elke inloggegeven die ik handmatig moet afmaken en beweer niet dat het getest is.
De webhook-body:
{
"from_number": "",
"to_number": "{{contact.phone}}",
"override_agent_id": "",
"retell_llm_dynamic_variables": {
"first_name": "{{contact.first_name}}",
"service_requested": "",
"zip_code": "",
"ghl_contact_id": "{{contact.id}}",
"system_timezone": "America/New_York"
}
} from_number is een nummer dat je in Retell bezit en override_agent_id is de agent die je na het testen hebt gepubliceerd. Gebruik de variabelenkiezer van GoHighLevel voor de velden Service Needed en ZIP Code, zodat ze naar echte waarden verwijzen en niet naar letterlijke tekst. Alle waarden van dynamische variabelen moeten strings zijn.
Kies de trigger die bij je formulier past. Een formulier dat is gebouwd met de formulierbouwer van GoHighLevel Sites gebruikt de trigger Form Submitted. Een formulier dat in AI Studio is gebouwd, gebruikt AI Studio Form Submitted, of de trigger voor externe tracking als het formulier inzendingen op die manier doorgeeft. De rest van de workflow is identiek.
De voltooide workflow bestaat uit drie delen: de formuliertrigger, een controle op het telefoonnummer en de webhook die het gesprek start.
Een rood uitroepteken bij de webhook-actie. De AI-builder van GoHighLevel vult de JSON-body in, maar laat het URL-veld van de webhook leeg. Plak https://api.retellai.com/v2/create-phone-call in het URL-veld, stel Authorization in op Bearer met je Retell API-sleutel en sla op. De fout verdwijnt.
"Failed, Retry Limit Reached" in het uitvoeringslog. Open de Execution History van de workflow, klik op de mislukte run en open de webhookstap om het antwoord van Retell te lezen. De gebruikelijke oorzaken, op volgorde:
Los ze één voor één op en verstuur het formulier opnieuw. Omdat de workflow opnieuw instappen toestaat, kun je blijven testen met je eigen nummer.
Publiceer de workflow, open het formulier en verstuur het met je eigen nummer. Binnen een minuut zou je telefoon moeten overgaan. Neem op als huiseigenaar, kies een tijdslot en controleer daarna drie plekken: de afspraak in je GoHighLevel-agenda, de gespreksopname en het transcript in de gespreksgeschiedenis van Retell, en de notitie bij het contact in GoHighLevel.
Staat alles op alle drie de plekken, dan krijgt elke nieuwe lead via dat formulier voortaan een telefoontje voordat die het formulier van een concurrent kan invullen.
Bekijk de integratie van Retell en GoHighLevel voor alles wat de koppeling ondersteunt, of afspraken inplannen met AI voor de andere agenda's waarin Retell afspraken kan inplannen.
Binnen een minuut, en meestal binnen enkele seconden. De workflow wordt geactiveerd zodra het formulier is verstuurd, en Retell begint te bellen zodra de webhook binnenkomt. In de opgenomen demo ging de telefoon al over voordat het bevestigingsbericht volledig was geladen.
Nee. Deze build gebruikt GoHighLevel voor het formulier, het contact, de agenda en de workflow, en Retell AI voor de AI-stemagent en het gesprek. De ingebouwde Voice AI van GoHighLevel is een apart product. Teams kiezen voor een Retell-agent als ze een gespreksflow per node willen, simulatietests vóór de lancering en velden voor de analyse na het gesprek die ze zelf definiëren, terwijl GoHighLevel hun CRM blijft.
Ja. De native GoHighLevel-tools van Retell controleren de beschikbaarheid en plannen afspraken in een agenda in het gekoppelde subaccount in. De afspraak wordt aan het contact gekoppeld en aangemaakt met de status confirmed.
De agent biedt excuses aan en beëindigt het gesprek zonder leadgegevens te delen, of stopt met de pitch bij een verzoek om niet gebeld te worden. Beide uitkomsten worden vastgelegd in de analyse na het gesprek en in de contactnotitie gezet, zodat je team er actie op kan ondernemen.
Ja. Wijzig de bedrijfsnaam, de dienst en de kwalificatievragen in de Conductor-prompt en de formuliervelden in de AI Studio-prompt. De workflow en de webhook blijven hetzelfde voor elk dienstverlenend bedrijf dat consulten inplant.
See how much your business could save by switching to AI-powered voice agents.
Total Human Agent Cost
AI Agent Cost
Estimated Savings
Een demodemonummer van Retell Clinic Office

Start building smarter conversations today.




