Blogs
/
Bygg en AI-röstagent för GoHighLevel som ringer varje lead på under 60 sekunder

Bygg en AI-röstagent för GoHighLevel som ringer varje lead på under 60 sekunder

12
 MIN READ
October 15, 2026
Bygg en AI-röstagent för GoHighLevel som ringer varje lead på under 60 sekunder
BACK TO BLOGS
Add Retell AI as a preferred source on Google
ON THIS PAGE
Back to top

Automatiserad speed to lead innebär att ett nytt lead får ett telefonsamtal i samma ögonblick som det skickar in ditt formulär, blir kvalificerat och bokat innan det hinner ringa en konkurrent. (Om du vill veta varför speed to lead spelar roll kan du börja där.) Den här guiden bygger systemet med GoHighLevel och Retell AI: ett GoHighLevel-formulär startar ett arbetsflöde, arbetsflödet startar ett utgående samtal och en AI-röstagent bokar direkt i din GoHighLevel-kalender.

Exemplet är ett fiktivt VVS-företag, Comfort Air Demo. En villaägare begär en offert på ett nytt AC-aggregat, telefonen ringer inom några sekunder och agenten frågar vad som är fel på aggregatet, om personen äger bostaden och när det ska bytas. Sedan kontrollerar den verklig tillgänglighet och bokar en konsultation på 30 minuter. Varje prompt som används i bygget finns på den här sidan, redo att kopiera, så att du får ett automatiserat system för leaduppföljning som bygger på samtal, inte bara sms och e-post.

Se bygget med GoHighLevel och Retell AI

Videon nedan visar samma bygge från början till slut. Stegen och prompterna på den här sidan matchar videon, så du kan ha sidan öppen i en andra flik och kopiera allt eftersom.

Hur fungerar en AI-röstagent för speed to lead?

Fem system lämnar över till varandra i en fast ordning:

Ingen i ditt team behöver röra det. Leadets första kontakt med ditt företag är ett utgående AI-samtal som slutar med ett bokat möte. Det är samma mönster som ISpeedToLead kör i stor skala; se hur ISpeedToLead skalade leadsrespons dygnet runt.

Det här behöver du för att bygga en speed to lead-agent i GoHighLevel

Konfigurera GoHighLevel-kalendern som din AI-agent bokar i

Agenten bokar i en riktig kalender, så skapa den först. Öppna Calendars → Calendar Settings i GoHighLevel och skapa en ny kalender för den mötestyp du vill få bokad. Ställ in möteslängd (30 minuter i det här bygget), boknings-URL och din tillgänglighet.

Tillgängligheten är viktigare än den ser ut. Agenten kan bara erbjuda tider som kalendern visar som lediga, så om dina tider är snäva får alla som ringer höra samma tre alternativ.

Bygg formuläret för leadinsamling med GoHighLevel AI Studio

Du kan bygga formuläret för hand, men GoHighLevel AI Studio bygger formuläret och dess landningssida utifrån en enda prompt. Öppna AI Studio och klistra in detta, med dina egna företagsuppgifter:

Skapa eller uppdatera en sida för leadinsamling för Comfort Air Demo, ett fiktivt VVS-företag. Om projektet redan har en sida, behåll dess befintliga design.

Använd rubriken Request an AC Replacement Estimate. Inkludera First Name, Phone, ZIP Code och Service Needed, med AC replacement som förvalt demoalternativ. Gör förnamn och telefon obligatoriska. Lägg till en visningsmask för amerikanska telefonnummer och se till att kontaktens telefonnummer som används för utgående samtal innehåller landsnummer. Ge knappen etiketten Request My Estimate.

Koppla formuläret till mitt GHL-underkonto via det CRM-kopplingsflöde som stöds. Visa hur alla fyra fälten mappas till kontakten. Visa efter inskickning: Tack! Vår AI-assistent ringer dig inom kort angående din förfrågan.

Visa ingen kalenderväljare eller något andra bokningssteg. Behåll den befintliga Hvac-bokningskalendern orörd; Retell-agenten bokar under samtalet. Lägg inte till någon webhook-mottagare på sajten. Jag konfigurerar arbetsflödet för samtal från GHL till Retell separat.

Identifiera eventuella manuella kopplingssteg och berätta hur jag publicerar och testar formuläret. Rapportera vad som är verifierat och vad som fortfarande behöver testas.

Den viktigaste raden är den om landsnummer. Retell ringer nummer i E.164-format, till exempel +15551234567. Ett formulär som sparar (555) 123-4567 startar arbetsflödet, men samtalet misslyckas ändå.

Behåll samtyckestexten i formuläret. Formuläret i videon anger att leadet genom att skicka in godkänner att bli uppringt angående sin offert. AI-samtal till leads omfattas av TCPA i USA, så läs TCPA-reglerna för utgående AI-samtal innan du riktar detta mot verklig trafik.

AI Studio frågar om formuläret ska kopplas till ditt CRM. Svara ja, så att inskickningar skapar kontakter i GoHighLevel. Publicera sidan och öppna dess fristående URL för att bekräfta att formuläret fungerar.

Koppla GoHighLevel till Retell AI med en Private Integration-token

Retell kopplas till GoHighLevel med två värden: en Private Integration-token och underkontots Location ID. Sidan om Retells GoHighLevel-integration beskriver allt som kopplingen stöder.

I videon väljs alla behörigheter för att hålla demon kort. För ett riktigt konto bör du bara ge de behörigheter som bygget använder:

BehörighetVad den täcker
contacts.readonly, contacts.writeAnslutningstestet, kontaktuppslag och anteckningen efter samtalet
calendars.readonlyCheck Availability samt listning av dina kalendrar när du konfigurerar verktygen
calendars/events.readonly, calendars/events.writeBokning, ombokning och avbokning av möten
locations/customFields.readonlyLäsning av anpassade fält som Service Needed och ZIP Code

Den fullständiga listan över behörigheter finns i dokumentationen för GoHighLevel-kopplingen. Om ett verktygs konfigurationsdialog senare visas tom beror det nästan alltid på en saknad behörighet.

Generera den utgående AI-röstagenten med en enda Conductor-prompt

Conductor, Retells AI-copilot, bygger agenten åt dig. Du beskriver agenten, Conductor föreslår en plan och inget ändras förrän du godkänner den. Öppna Conductor och klistra in:

Skapa ett nytt utkast till en utgående röstagent med konversationsflöde som heter Comfort Air Demo Speed to Lead, för ett fiktivt VVS-företag. Den följer upp personer som just har skickat in ett GHL-formulär och begärt en offert på ett nytt AC-aggregat. Målet är att kvalificera förfrågan och boka en telefonkonsultation på 30 minuter i vår offertkalender.

Använd dessa inkommande dynamiska variabler: {{first_name}}, {{service_requested}}, {{zip_code}} och {{ghl_contact_id}}. Använd America/New_York som tidszon för demon och bekräfta leadets tidszon innan bokning. Om en variabel saknas, fråga naturligt i stället för att läsa upp platshållaren.

Börja med: Hej {{first_name}}, det här är Alex, AI-assistenten på Comfort Air Demo. Du bad nyss om hjälp med {{service_requested}}. Passar det att jag ställer ett par snabba frågor?

Håll svaren korta och ställ en fråga i taget. Ta reda på vad som händer med deras AC, om de äger bostaden och när de vill byta. Använd information som redan har lämnats. Om de är intresserade av en offertkonsultation, fråga vilken dag och tid de föredrar, kontrollera verklig tillgänglighet, erbjud lediga alternativ och boka först när de har valt en tid. Bekräfta exakt datum, tid och tidszon först när bokningsverktyget har lyckats.

Låt den som ringer avbryta och ändra sina önskemål. Om det är fel person, be om ursäkt och avsluta samtalet utan att avslöja fler uppgifter om leadet. Om de tackar nej eller ber att inte bli uppringda igen, avbryt säljpitchen och registrera utfallet. Om en önskad tid inte är ledig, erbjud alternativ. Om bokningen misslyckas, förklara att den inte är bekräftad och registrera att uppföljning behövs. Hitta aldrig på priser, möten eller utförda åtgärder.

Konfigurera röstbrevlåda så att samtalet avslutas i den här demon.

Skapa ett tydligt flöde med märkta konversations- och funktionssteg. Visa de föreslagna ändringarna för granskning. Identifiera saknade verktygskopplingar eller manuella inställningar. Låt agenten förbli ett utkast och starta inga telefonsamtal.

De fyra dynamiska variablerna är hur agenten vet vem den ringer. GoHighLevel-arbetsflödet fyller i dem när det startar samtalet, så att agenten inleder med leadets namn och den tjänst leadet frågade om.

Conductor svarar med en plan: samtalsflödet, hur exempelsamtal hanteras och datafälten. Svara att du vill fortsätta så bygger den ett agentutkast med ett Book Consultation-delflöde. Bokningsverktygen är platshållare i det här skedet, så de byts ut mot de riktiga GoHighLevel-verktygen i nästa steg.

Koppla GoHighLevels Check Availability och Book Appointment till agenten

Conductors första utkast använder anpassade platshållarfunktioner för tillgänglighet och bokning, eftersom den inte kan veta vilken kalender du använder. Öppna agentens funktioner och lägg till de inbyggda GoHighLevel-verktygen:

Lämna sedan resten av kopplingen tillbaka till Conductor:

Ersätt de anpassade platshållarfunktionerna check_availability och book_appointment i Book Consultation-delflödet med verktygen GoHighLevel Check Availability och Book Appointment som jag just lade till, båda inställda på min Hvac-bokningskalender. Book Appointment måste använda {{ghl_contact_id}} som kontakt-ID. Ta bort den anpassade platshållarfunktionen record_outcome; utfall ska i stället komma från analys efter samtal.

Lägg till fält för analys efter samtal för call_outcome (booked, declined, wrong_person, do_not_call, voicemail, follow_up_needed), ac_issue, owns_home, replacement_timeline och appointment_booked. Sätt appointment_booked till true endast vid en lyckad bokning. Konfigurera ett arbetsflöde efter samtal som använder Create Note för att spara samtalssammanfattningen och utfallet på samma GHL-kontakt. Bevara utfallen fel person och ring ej så att det externa arbetsflödet kan hantera dem.

Visa de föreslagna ändringarna. Om du inte kan konfigurera något inbyggt verktyg, kalenderval, fältmappning eller steg efter samtal direkt, ge mig de exakta manuella stegen. Ange tydligt allt som fortfarande inte är kopplat. Hitta inte på inloggningsuppgifter och använd inte fiktiva endpoints.

Granska ändringarna och godkänn dem. Anteckningen efter samtalet använder GoHighLevels Create Note-verktyg som en funktion efter samtal, så varje samtal lämnar en sammanfattning på leadets kontaktpost. Utfallsfälten kommer från analys efter samtal.

Testa AI-röstagenten med simulerade samtal innan den ringer ett riktigt lead

Simuleringstester kör agenten mot en AI-uppringare som spelar upp ett scenario, så att du hittar trasiga flöden innan ett riktigt lead gör det. Be Conductor:

Skapa och kör en svit med simuleringstester för den här agenten med dessa sex fall: villaägaren bokar framgångsrikt, leadet ändrar önskad dag mitt i samtalet, fel person svarar, begäran om att inte bli uppringd, fel i bokningsverktyget och inga lediga tider. Ange för varje fall hur ett godkänt resultat ser ut innan du kör det. Visa resultaten i en tabell och förklara orsaken och föreslå en åtgärd för granskning för allt som misslyckas eller ger fel.

I det inspelade bygget klarade sig fem av sex på första körningen:

TestfallFörsta körningen
Villaägaren bokar framgångsriktGodkänt
Leadet ändrar önskad dag mitt i samtaletGodkänt
Fel person svararGodkänt
Begäran om att inte bli uppringdGodkänt
Fel i bokningsverktygetGodkänt
Inga lediga tiderFel

Felet var en verklig lucka: flödet hade ingen väg för ett tomt tillgänglighetssvar. Prompten för åtgärden:

Fallet Inga lediga tider gav fel. Lägg till en väg för när Check Availability inte returnerar några lediga tider: berätta för den som ringer att inget är ledigt i det tidsfönstret, erbjud att kontrollera en annan dag, försök högst 3 gånger och erbjud sedan att teamet ringer upp och registrera follow_up_needed. Visa ändringen för granskning och kör sedan om endast det testet.

Simuleringskörningar debiteras efter LLM-användning, och Conductor frågar innan de startas. Se testning med Conductor för hur sviter byggs och prissätts. När alla fall är gröna publicerar du agenten.

Starta AI-samtalet från en webhook i ett GoHighLevel-arbetsflöde

Den sista delen startar samtalet. Öppna Automation → Workflows i GoHighLevel och klicka på Build with AI. Klistra in detta och ersätt de två platshållarna inom vinkelparenteser:

Skapa ett utkast till arbetsflöde som heter "Comfort Air Demo: Formulär till Retell-samtal."

När någon skickar in mitt befintliga offertformulär för Comfort Air Demo, skicka omedelbart en begäran om ett utgående samtal till Retell med kontaktens uppgifter.

Använd AI Studio Form Submitted, filtrerat på mitt exakta projekt och offertformulär. Om formuläret använder External Tracking, använd i stället dess verifierade trigger för inskickning. Om du inte kan identifiera formuläret, lämna det valet olöst och berätta vad jag ska välja.

Lägg till en Custom Webhook-åtgärd som heter "Starta Retell-samtal": URL https://api.retellai.com/v2/create-phone-call, metod POST, Content-Type application/json, Authorization Bearer-token; lämna inloggningsuppgiften åt mig att fylla i. Använd JSON-bodyn nedan.

Mappa Service Needed och ZIP Code med de faktiska kontaktfälten i mitt konto. Hitta inte på fältnycklar. Fortsätt bara när kontakten har ett telefonnummer. Tillåt återinträde så att jag kan upprepa demon med mitt eget nummer.

Retell kvalificerar leadet och bokar i min befintliga Hvac-bokningskalender. Låt arbetsflödet förbli opublicerat. Visa mig varje fält eller inloggningsuppgift jag måste slutföra manuellt och påstå inte att det har testats.

Webhook-bodyn:

{
  "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 är ett nummer du äger i Retell och override_agent_id är agenten du publicerade efter testningen. Använd GoHighLevels variabelväljare för fälten Service Needed och ZIP Code så att de ersätts med verkliga värden och inte med bokstavlig text. Alla värden för dynamiska variabler måste vara strängar.

Välj den trigger som matchar ditt formulär. Ett formulär som byggts med formulärbyggaren i GoHighLevels Sites använder triggern Form Submitted. Ett formulär som byggts i AI Studio använder AI Studio Form Submitted, eller triggern för extern spårning om formuläret rapporterar inskickningar på det sättet. Resten av arbetsflödet är identiskt.

Det färdiga arbetsflödet har tre delar: formulärtriggern, en kontroll av telefonnummer och webhooken som startar samtalet.

Åtgärda webhook-felen i GoHighLevel som stoppar samtalet

Ett rött utropstecken på webhook-åtgärden. GoHighLevels AI-byggare fyller i JSON-bodyn men lämnar fältet för webhook-URL tomt. Klistra in https://api.retellai.com/v2/create-phone-call i URL, ställ in Authorization på Bearer med din Retell API-nyckel och spara. Felet försvinner.

"Failed, Retry Limit Reached" i körningsloggen. Öppna arbetsflödets Execution History, klicka på den misslyckade körningen och öppna webhook-steget för att läsa Retells svar. De vanligaste orsakerna, i ordning:

Åtgärda en sak i taget och skicka in formuläret igen. Eftersom arbetsflödet tillåter återinträde kan du fortsätta testa med ditt eget nummer.

Testa hela speed to lead-flödet med ditt eget telefonnummer

Publicera arbetsflödet, öppna formuläret och skicka in det med ditt eget nummer. Telefonen bör ringa inom en minut. Svara som en villaägare, välj en tid och kontrollera sedan tre ställen: mötet i din GoHighLevel-kalender, samtalsinspelningen och transkriptionen i Retells samtalshistorik samt anteckningen på kontakten i GoHighLevel.

Om allt tre finns där får varje nytt lead från formuläret nu ett samtal innan det hinner fylla i en konkurrents formulär.

Vad du kan lägga till i din speed to lead-agent härnäst

Se integrationen mellan Retell och GoHighLevel för allt som kopplingen stöder, eller AI-driven mötesbokning för de andra kalendrar som Retell bokar i.

Vanliga frågor om AI-röstagenter för GoHighLevel

Hur snabbt ringer AI:n ett nytt lead?

Inom en minut, och oftast inom några sekunder. Arbetsflödet startar i samma ögonblick som formuläret skickas in, och Retell börjar ringa så snart webhooken kommer fram. I den inspelade demon ringde telefonen innan bekräftelsemeddelandet hade laddats klart.

Behöver jag GoHighLevels egen Voice AI för det här?

Nej. Det här bygget använder GoHighLevel för formulär, kontakter, kalender och arbetsflöde, och Retell AI för röstagenten och samtalet. GoHighLevels inbyggda Voice AI är en separat produkt. Team väljer en Retell-agent när de vill ha ett konversationsflöde nod för nod, simuleringstester före lansering och fält för analys efter samtal som de definierar själva, samtidigt som GoHighLevel behålls som CRM.

Kan agenten boka i en GoHighLevel-kalender?

Ja. Retells inbyggda GoHighLevel-verktyg kontrollerar tillgänglighet och bokar möten i en kalender i det anslutna underkontot. Mötet kopplas till kontakten och skapas med statusen bekräftat.

Vad händer om fel person svarar eller leadet ber om att inte bli uppringt?

Agenten ber om ursäkt och avslutar samtalet utan att dela uppgifter om leadet, eller avbryter säljpitchen vid en begäran om att inte bli uppringd. Båda utfallen registreras i analysen efter samtal och skrivs in i kontaktanteckningen, så att ditt team kan agera på dem.

Fungerar det här för andra företag än VVS-företag?

Ja. Ändra företagsnamn, tjänst och kvalificeringsfrågor i Conductor-prompten och formulärfälten i AI Studio-prompten. Arbetsflödet och webhooken är desamma för alla tjänsteföretag som bokar konsultationer.

ROI Calculator
Estimate Your ROI from Automating Calls

See how much your business could save by switching to AI-powered voice agents.

All done! 
Your submission has been sent to your email
Oops! Something went wrong while submitting the form.
   1
   8
20
Oops! Something went wrong while submitting the form.

ROI Result

2,000

Total Human Agent Cost

$5,000
/month

AI Agent Cost

$3,000
/month

Estimated Savings

$2,000
/month
Live Demo
Prova vår live-demo

Ett demonummer från Retell Clinic Office

Tack! Din inskickning har mottagits!
Hoppsan! Något gick fel när formuläret skickades.

Read Other Blogs

Revolutionize your call operation with Retell