Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

GoHighLevel + OpenAI: sms-svar från webbplatsen

Rickard Andersson Partner, Nodenordic.se

Din webbplats svarar redan på de flesta kundfrågor. Problemet är att de svaren inte syns i din inkorg när någon sms:ar dig, så teamet slutar med att skriva om samma förklaringar hela dagen.

Byråägare känner av det när kunder förväntar sig ”omedelbara” svar. En marknadschef märker det när leads kallnar efter kontorstid. Och ett litet supportteam blir snabbt överbelastat. Den här GoHighLevel SMS AI-automationen gör din webbplats till en kunskapsbas som svarar konsekvent via SMS.

Du får lära dig vad workflowet gör, vad du behöver för att köra det och hur delarna hänger ihop så att du kan lita på de svar dina kontakter får.

Så fungerar den här automationen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: GoHighLevel + OpenAI: sms-svar från webbplatsen

Varför det här spelar roll: SMS-support blir repetitivt snabbt

SMS-support låter enkelt tills du lever i det. Någon frågar om priser, din garanti, hur bokning fungerar, vad som faktiskt ingår eller om ni täcker deras område. Du svarar, sedan svarar du igen, och igen. Samtidigt uppdateras webbplatsen i det tysta (nya erbjudanden, nya policyer, en ändrad onboardingprocess), och dina svar släpar efter eftersom ingen har tid att träna om teamet eller skriva om standardsvar varje vecka. Ärligt talat är den värsta delen den mentala belastningen. Du gissar hela tiden om ditt senaste svar fortfarande stämmer med vad webbplatsen säger.

Det här bygger snabbt upp. Här är var det oftast faller isär.

  • Supportmedarbetare slutar med att söka på den egna sajten mitt i konversationen, vilket gör sms:en långsamma och klumpiga.
  • Standardsnuttar blir inaktuella, så du råkar lova saker du inte längre erbjuder.
  • Meddelanden efter kontorstid staplas på hög och på morgonen är momentumet i leadet borta.
  • När volymen växer försvinner konsekvensen eftersom alla skriver svar på sitt eget sätt.

Det du bygger: SMS-svar i GoHighLevel baserade på webbplatsens innehåll

Det här workflowet kopplar GoHighLevel SMS till en AI-agent som ”studerar” din webbplats enligt ett schema och sedan använder innehållet för att svara på frågor när de kommer in. Först hämtar den webbplatsens innehåll (inklusive sitemap-länkar när de finns), rensar och delar upp texten i användbara segment och lagrar det i ett in-memory vektorlager så att AI:n snabbt kan hitta rätt avsnitt senare. När en kontakt sms:ar till ditt GoHighLevel-nummer plockar workflowet upp meddelandet, hämtar kontakten och skickar frågan till AI-agenten tillsammans med den mest relevanta kontexten från webbplatsen. Slutligen skickar det ett tydligt, varumärkesanpassat svar tillbaka via GoHighLevel SMS. Resultatet är support som ligger i linje med dina live-sidor i stället för ett dammigt FAQ-dokument.

Workflowet börjar med schemalagd webbskrapning för att hålla kunskapsbasen uppdaterad. Därefter bygger det sökbara embeddings så att AI:n kan hämta rätt delar av webbplatsen. Sedan triggar inkommande SMS en fråga-svar-cykel, och GoHighLevel levererar svaret tillbaka till samma konversation.

Det du bygger

Förväntade resultat

Säg att du får 25 SMS-frågor per dag. Manuellt är det vanligt att lägga cirka 5 minuter på att läsa, söka på sajten och skriva ett korrekt formaterat svar, alltså ungefär 2 timmar per dag. Med det här workflowet blir din ”insats” snabb översyn: kanske 10 minuter för att stickprovskolla konversationer, medan skrapning och svarsgenerering kör i bakgrunden. Det är cirka 1,5 timmar tillbaka varje dag, utan att låta svaren bli inaktuella.

Innan du börjar

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • GoHighLevel för att ta emot och skicka SMS.
  • OpenAI API för att generera svar baserat på innehållet på din webbplats.
  • Bright Data för pålitlig webbskrapning (särskilt på skyddade sajter).
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard)

Kunskapsnivå: Medel. Du kopplar OAuth, lägger in API-nycklar och testar några riktiga SMS-konversationer.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Din webbplats hämtas enligt schema. En schemalagd trigger kör, sätter webbplats-URL:en du vill använda och hämtar sidor via Bright Data (eller HTTP-förfrågningar om du anpassar det för enklare sajter).

Innehåll blir sökbar kunskap. Workflowet extraherar HTML-body, delar upp långa sidor i mindre segment och bygger embeddings så att ditt innehåll kan sökas på betydelse, inte bara nyckelord.

Inkommande SMS triggar AI-agenten. En GoHighLevel-webhook tar emot texten, kontrollerar att det är ett riktigt inkommande meddelande, hämtar kontakten och skickar frågan plus relevant webbplatskontext in i fråga-svar-kedjan och chattmodellen.

Svaret går tillbaka till samma konversation. AI-agenten formaterar det slutliga svaret och workflowet skickar det via GoHighLevel SMS så att det landar där teamet redan jobbar.

Du kan enkelt ändra skrapmålen för att fokusera på specifika sidor, eller justera svarsformatet för att matcha din tonalitet beroende på behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: konfigurera den schemalagda triggern

Ställ in arbetsflödets schema för att uppdatera webbplatskunskap återkommande.

  1. Öppna Scheduled Run Trigger och ställ in schemaregeln så att den körs var 4 dag med triggerAtHour satt till {{ 12 }}.
  2. Bekräfta att triggern skickar output till Assign Website URL som visas i körflödet.

Steg 2: anslut webbplatsinput och första crawl

Ange målwebbplatsen och hämta startsidans HTML för att extrahera text och länkar.

  1. I Assign Website URL ställer ni in website_url till https://yourwebsite.com.
  2. Öppna BrightData Fetcher och ställ in url till {{ $json.website_url }}.
  3. Autentiseringsuppgifter krävs: Anslut era brightdataApi-autentiseringsuppgifter i BrightData Fetcher.
  4. I HTML Content Parser behåller ni operation som extractHtmlContent och säkerställer att dataPropertyName är body.
  5. Bekräfta den parallella förgreningen: HTML Content Parser skickar output till både In-Memory Vector Store och Fetch Sitemap File samt Separate Link Items parallellt.

Tips: Den parallella grenen säkerställer att ni både läser in startsidans text och upptäcker länkar samtidigt.

Steg 3: bygg och normalisera länkkällor

Samla länkar från startsidan och sitemap och normalisera dem samt ta bort dubbletter.

  1. I Fetch Sitemap File ställer ni in url till {{ $('Assign Website URL').item.json.website_url }}/post-sitemap.xml.
  2. Från Fetch Sitemap File säkerställer ni att XML:en parsas via Parse XML File och därefter delas upp med Split Sitemap Links med fieldToSplitOut satt till urlset.url.
  3. I Map Link Field ställer ni in link till {{ $json.loc }} för att linjera sitemap-URL:er.
  4. Från Separate Link Items säkerställer ni att fieldToSplitOut är links och att den skickar output till Filter Link Paths.
  5. I Filter Link Paths behåller ni villkoret som tillåter länkar som börjar med / eller med {{ $('Assign Website URL').item.json.website_url }}.
  6. I Normalize Link URLs ställer ni in link till {{ $json.link.startsWith("/") ? $('Assign Website URL').item.json.website_url + $json.link : $json.link }}.
  7. Kombinera båda källorna i Combine Link Sources och ta sedan bort dubbletter med Remove Duplicate Links.

Steg 4: crawla sidor och lägg in kunskap i vektordatabasen

Iterera genom unika länkar, hämta sidans HTML och lägg in sidtexten i vektordatabasen.

  1. I Iterate Link Batches behåller ni standardinställningarna för batching för att bearbeta länkar sekventiellt.
  2. I BrightData Page Fetch ställer ni in url till {{ $json.link }} och behåller format som json.
  3. Autentiseringsuppgifter krävs: Anslut era brightdataApi-autentiseringsuppgifter i BrightData Page Fetch.
  4. I HTML Body Extractor behåller ni operation som extractHtmlContent för att fånga sidans body.
  5. Säkerställ att Vector Store Inserter tar emot sidtext och är satt till mode insert med memoryKey vector_db.
  6. Låt Pause Workflow vara ansluten efter Vector Store Inserter så att batchar kan återupptas via Iterate Link Batches.

Tips: Direct API HTTP Request och Direct API HTTP Request 2 finns för alternativa BrightData API-anrop och kan användas för felsökning eller framtida utbyggnad.

Steg 5: sätt upp AI-inläsning och hämtning av kunskap

Konfigurera embeddings, dokumentinläsning och vektordatabasverktyget som används av AI-agenten.

  1. I Default Data Ingest ställer ni in jsonData till {{ $json.raw_text }} och behåller jsonMode som expressionData.
  2. I Recursive Text Splitter ställer ni in chunkSize till 300.
  3. I In-Memory Vector Store ställer ni in mode till insert, memoryKey till vector_db och clearStore till true.
  4. Autentiseringsuppgifter krävs: Anslut era openAiApi-autentiseringsuppgifter i OpenAI Embedding Builder (detta driver embeddings för In-Memory Vector Store och Vector Store Inserter).
  5. I Vector Store Tool ställer ni in toolName till vector_db och bekräftar att toolDescription beskriver er kunskapsbas.
  6. Autentiseringsuppgifter krävs: Anslut era openAiApi-autentiseringsuppgifter i OpenAI Embedding Builder 2 (detta driver embeddings för Vector Store Tool).

⚠️ Vanlig fallgrop: AI-verktygsnoder som Vector Store Tool använder embeddings från sina anslutna embedding-noder—lägg till autentiseringsuppgifter i OpenAI Embedding Builder och OpenAI Embedding Builder 2, inte i verktygsnoderna.

Steg 6: konfigurera SMS-webhooken och kontaktuppslag

Ta emot inkommande SMS och hämta avsändarens kontaktuppgifter.

  1. I GHL SMS Reply Webhook behåller ni path satt till 54259c33-52c0-4a19-97fe-3414a153f4d6 och aktiverar POST-metoder.
  2. I Inbound Message Check behåller ni villkoret att leftValue {{ $json.body.type }} är lika med InboundMessage.
  3. I Retrieve GHL Contact ställer ni in contactId till {{ $json.body.contactId }} och operation till get.
  4. Autentiseringsuppgifter krävs: Anslut era highLevelOAuth2Api-autentiseringsuppgifter i Retrieve GHL Contact.
  5. I Apply Website URL ställer ni in website_url till https://yourwebsite.com för att skicka in den till AI-agenten.

Steg 7: konfigurera AI-svar och SMS-utskick

Koppla AI-agenten till kunskapsbasen och skicka svaret tillbaka via SMS.

  1. I Conversational AI Agent ställer ni in text till {{ $('GHL SMS Reply Webhook').item.body.body }} och behåller promptType som define.
  2. Säkerställ att OpenAI Chat Engine är ansluten som språkmodell för Conversational AI Agent.
  3. Autentiseringsuppgifter krävs: Anslut era openAiApi-autentiseringsuppgifter i OpenAI Chat Engine.
  4. Bekräfta att Redis Conversation Memory är ansluten till Conversational AI Agent med sessionKey satt till {{ $item("0").$node["GHL SMS Reply Webhook"].json["body"]["contactId"] }}.
  5. Öppna Dispatch SMS via GHL och behåll url som https://services.leadconnectorhq.com/conversations/messages och method som POST.
  6. I Dispatch SMS via GHL mappar ni contactId till {{ $('GHL SMS Reply Webhook').item.json.body.contactId }}, message till {{ $json.output }} och toNumber till {{ $('Retrieve GHL Contact').item.json.phone }}.
  7. Autentiseringsuppgifter krävs: Anslut era highLevelOAuth2Api-autentiseringsuppgifter i Dispatch SMS via GHL.

⚠️ Vanlig fallgrop: Om autentiseringsuppgifter för OpenAI Chat Engine saknas kommer Conversational AI Agent att misslyckas med att generera ett svar och inget SMS kommer att skickas.

Steg 8: testa och aktivera ert arbetsflöde

Validera både den schemalagda crawlningen och flödet för inkommande SMS-svar innan ni aktiverar i produktion.

  1. Använd Execute Workflow för att köra från Scheduled Run Trigger och bekräfta att HTML Content Parser skapar raw_text och links.
  2. Kontrollera att Combine Link Sources och Remove Duplicate Links skickar ut unika URL:er och att Vector Store Inserter tar emot sidinnehåll.
  3. Skicka ett test-SMS till endpointen för GHL SMS Reply Webhook och verifiera att Inbound Message Check passerar med InboundMessage.
  4. Bekräfta att Dispatch SMS via GHL returnerar ett lyckat svar och att SMS:et levereras till kontaktens telefonnummer.
  5. Aktivera arbetsflödet med Active-reglaget för att slå på den schemalagda crawlningen och automatiseringen för inkommande SMS.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • GoHighLevel OAuth-uppgifter kan gå ut eller sakna nödvändiga scopes. Om svar plötsligt slutar komma, kontrollera credential-statusen i n8n och bekräfta att ”conversations/message”-scopes fortfarande är beviljade.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram fallerar på tomma svar.
  • Bright Data-skrapning kan misslyckas på bot-skyddade sidor om Web Unlocker inte är korrekt konfigurerad. Kontrollera loggarna i din Bright Data-dashboard först och bekräfta sedan att Authorization-headern fortfarande är giltig i dina HTTP/Bright Data-credentials.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera output för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här GoHighLevel SMS AI-automationen?

Cirka 1–2 timmar om din GoHighLevel-app och OpenAI-nyckel är redo.

Krävs det kodning för den här GoHighLevel SMS AI-automationen?

Nej. Du kopplar konton, klistrar in API-nycklar och justerar några inställningar i n8n.

Är n8n gratis att använda för det här GoHighLevel SMS AI-workflowet?

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna med OpenAI API-kostnader, som vanligtvis är några cent per konversation beroende på meddelandelängd.

Var kan jag hosta n8n för att köra den här automationen?

Två alternativ: n8n Cloud (hanterad tjänst, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här GoHighLevel SMS AI-workflowet för andra användningsfall?

Ja, och det borde du förmodligen. Du kan ändra noden Assign Website URL (Set) för att rikta in dig på en subdomän eller ett specifikt hjälpcenter och sedan justera grenen för sitemap-tolkning för att inkludera eller exkludera vissa sökvägar. Många team redigerar också instruktionerna till AI-agenten för att tvinga fram en kortare SMS-stil, lägga till en compliance-disclaimer eller routa ”pris”-frågor till en människa. Om du hellre vill lagra kunskap långsiktigt kan du byta ut noderna för in-memory vektorlager mot en hostad vektordatabas som Pinecone eller Supabase.

Varför misslyckas min GoHighLevel-anslutning i det här workflowet?

Oftast beror det på utgångna OAuth-uppgifter eller saknade scopes i din GoHighLevel Marketplace-app. Autentisera om HighLevel-credential i n8n och bekräfta att din app fortfarande har ”conversations/message.readonly” och ”conversations/message.write”. Om webhooken triggar men svar inte skickas, kontrollera också de direkta HTTP request-noderna för en ändrad endpoint eller att location/sub-account inte matchar.

Vilken volym kan det här GoHighLevel SMS AI-workflowet hantera?

På n8n Cloud beror det på din plans månatliga antal körningar; vid egen hosting finns ingen körningsgräns utöver din serverkapacitet. I praktiken kan de flesta team hantera från ett par dussin upp till några hundra SMS-konversationer per dag så länge dina OpenAI- och skrapningsgränser är rimligt satta.

Är den här GoHighLevel SMS AI-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här inte bara är ”nytt SMS in, skicka SMS ut”. Du underhåller en levande kunskapsbas, skrapar sidor, delar upp text, skapar embeddings och använder retrieval så att svaren förankras i din webbplats. n8n hanterar den typen av förgreningslogik utan att varje extra steg blir ett prissättningsproblem. Zapier eller Make kan fungera om du bara behöver en enkel autosvarare, men de blir snabbt klumpiga när du lägger till crawling, deduplicering av länkar, batchning och minne. Den andra stora faktorn är kontroll: med n8n kan du köra egen hosting och hålla data där du vill ha den. Om du tvekar, prata med en automationsexpert så gör vi en rimlighetskoll av ditt användningsfall.

Sätt upp det en gång och låt sedan din webbplats stå för förklaringen i GoHighLevel. Teamet kan fokusera på de konversationer som faktiskt kräver en människa.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal