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

GoHighLevel + WhatsApp-svar som håller sig korrekta

Rickard Andersson Partner, Nodenordic.se

Din WhatsApp-inkorg rör sig snabbt, men ditt team kan inte bo i den. Meddelanden staplas på hög, svaren blir stressade och plötsligt skickar ni ”nästan rätt” svar som skapar följdfrågor i stället för att stänga ärendet.

Marknadschefer märker det när leads kallnar. Byråägare märker det när en kund frågar varför svarstiden halkade efter igen. Och om du driver ett litet lokalt företag märker du det på det enklaste sättet: för många chattar, för få händer. Den här automatiseringen för GHL WhatsApp replies håller svaren korrekta, i linje med varumärket och konsekventa.

Du får se hur arbetsflödet fångar inkommande meddelanden från GoHighLevel, buffrar dem så att du inte svarar mitt i att kunden skriver, genererar ett faktabaserat svar från din ClientInfo-källa och triggar sedan ett strukturerat utgående svar via GHL.

Så fungerar den här automatiseringen

Här är hela arbetsflödet som du kommer att sätta upp:

n8n Workflow Template: GoHighLevel + WhatsApp-svar som håller sig korrekta

Varför det här är viktigt: korrekta svar utan att sitta barnvakt i chattar

WhatsApp känns ”enkelt” tills det blir din mest belastade kanal. Ett lead frågar om priser, en kund frågar om en filialadress, någon skickar tre meddelanden i rad och ditt team svarar på det första innan resten hinner komma in. Sedan rättar ni er, ber om ursäkt eller kör den klassiska ”Låt mig kolla och återkomma.” Den fördröjningen kostar momentum. Den skapar också en mental belastning: någon måste komma ihåg vad som stämmer, vad som är inaktuellt och vad man över huvud taget får lova skriftligt.

Det eskalerar snabbt. Här är var det oftast fallerar.

  • Handläggare svarar utifrån minnet, så detaljer glider när tjänster, öppettider och filialer ändras.
  • Kunder skickar meddelandekaskader, och om ni svarar för tidigt blir det ett rörigt fram-och-tillbaka.
  • Röstmeddelanden och udda meddelandeformat saboterar flödet, vilket gör att chattar hoppas över.
  • Även med mallar varierar tonen mellan kollegor, och varumärkeskonsekvensen försvinner i det tysta.

Det du bygger: AI-assisterade svar som triggas i GoHighLevel

Det här arbetsflödet gör inkommande GoHighLevel-meddelanden (inklusive WhatsApp via Wazzap-pluginet) till korrekta, färdiga svar. Det startar när GHL skickar en inkommande webhook till n8n i samma stund som en kontakt svarar. Arbetsflödet kontrollerar vilken typ av meddelande det är, städar texten så att AI-steget inte skapar fel på grund av formatering, och buffrar sedan meddelanden kort i Redis så att du svarar på ”hela tanken” och inte första meningen. Därefter genererar en AI Agent ett svar som begränsas av din ClientInfo-källa, så att den håller sig till verkliga tjänster och filialdetaljer i stället för att gissa. Till sist uppdaterar automatiseringen ett GoHighLevel-anpassat fält (IA_answer), vilket triggar din utgående GHL-automation att skicka svaret tillbaka till kunden.

Flödet börjar med en inkommande meddelande-webhook från GHL/Wazzap. Redis grupperar meddelanden under ett kort tidsfönster, och sedan svarar AI Agent med din fördefinierade ClientInfo-data. Efter att utdata har städats skickar GoHighLevel det slutliga svaret via din egen utgående automation.

Det du bygger

Förväntade resultat

Säg att du får cirka 40 inkommande WhatsApp-meddelanden per dag via GHL. Manuellt, om varje tar ungefär 4 minuter att läsa, verifiera detaljer och svara på, blir det nära 3 timmar per dag (och det är på en ”bra” dag). Med det här arbetsflödet är din mänskliga tid i princip bara granskning: kanske totalt 10 minuter för att stickprovskolla några konversationer, medan svar genereras och skickas automatiskt efter det korta Redis-buffertfönstret. Det är ett par timmar tillbaka de flesta dagar, utan att tumma på noggrannheten.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • GoHighLevel för att ta emot meddelanden och skicka svar.
  • Wazzap-plugin för att routa WhatsApp in i GoHighLevel.
  • Redis för tillfällig meddelandebuffring.
  • Anthropic- eller OpenAI-API-nyckel (hämtas i din leverantörs dashboard)

Kunskapsnivå: Medel. Du kopplar API:er, redigerar några textfält och verifierar ett GoHighLevel-anpassat fält + automationer.

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

Steg för steg

Inkommande meddelande triggar arbetsflödet. En GoHighLevel-automation kör på ”Customer Replied (SMS)” och vidarebefordrar payloaden till din n8n-webhook. WhatsApp-meddelanden kommer in på samma sätt när Wazzap är kopplat.

Meddelandetypen routas och sedan städas texten. Arbetsflödet använder en switch för att separera ljud från text. Textmeddelanden saneras (escapade citationstecken fixas, radbrytningar normaliseras, ogiltiga fält tas bort) så att efterföljande steg beter sig förutsägbart.

Redis buffrar meddelandekaskader. Arbetsflödet sparar inkommande text i Redis, väntar kort och laddar sedan bufferten igen. Om det senaste meddelandet finns med sätter det ihop det sammanslagna meddelandet och tömmer bufferten så att du bara svarar en gång.

AI genererar ett faktabaserat svar, sedan skickar GoHighLevel det. En AI Agent (med din Claude/OpenAI-modell och konversationsminne) svarar med ClientInfo som källa att lita på. Utdata städas och skrivs sedan in i det anpassade GHL-fältet IA_answer, vilket triggar din utgående automation att skicka svaret.

Du kan enkelt justera buffertfönstret för att svara snabbare eller långsammare beroende på din målgrupp. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera webhook-triggern

Konfigurera startpunkten så att inkommande meddelanden kan starta workflowet och routas baserat på meddelandetyp.

  1. Lägg till noden Inbound Webhook Trigger och ställ in HTTP MethodPOST.
  2. Ställ in Path till fce352e8-8edf-447c-9b54-c2c2b6649ccc.
  3. Koppla Inbound Webhook Trigger till Route Message Type.
  4. I Route Message Type, säkerställ att regel 1 använder Left Value {{$json.body.message.body}} med Operation notContains och Right Value type message: audio.
  5. Säkerställ att regel 2 använder Left Value {{$json.body.message.body}} med Operation contains och Right Value type message: audio.

Tips: Använd Test URL från Inbound Webhook Trigger under tiden ni bygger, och byt sedan till produktions-URL:en efter aktivering.

Steg 2: koppla meddelandebuffring och routningslogik

Buffra inkommande meddelanden, tillämpa ett väntfönster och svara endast på det senaste meddelandet i bufferten.

  1. Koppla Route Message Type till Clean Incoming Text för vägen utan ljud.
  2. I Clean Incoming Text, behåll JavaScript-koden i Code som den är för att normalisera texten.
  3. Koppla Clean Incoming Text till Store Message Buffer och ställ in list till {{$('Inbound Webhook Trigger').item.json.body.contact_id}} och messageData till {{$json.text}}.
  4. Koppla Store Message Buffer till Delay Window och ställ in amount till 15.
  5. Koppla Delay Window till Load Buffered Messages och ställ in key till {{$('Inbound Webhook Trigger').item.json.body.contact_id}} och propertyName till mensajes.
  6. Koppla Load Buffered Messages till Branch on Latest Text och ställ in villkoret så att det jämför {{$json.messages.last()}} med {{$('Clean Incoming Text').item.json.text}}.
  7. Koppla true-utgången från Branch on Latest Text till Assemble Message Text; koppla false-utgången till No Action Step.
  8. I Assemble Message Text, ställ in message till {{$node["Load Buffered Messages"].json["messages"].join("\n")}} och id till {{$('Inbound Webhook Trigger').item.json.body.contact_id}}.
  9. Koppla Assemble Message Text till Clear Message Buffer och ställ in key till {{$('Inbound Webhook Trigger').item.json.body.contact_id}}.

⚠️ Vanlig fallgrop: Store Message Buffer, Load Buffered Messages och Clear Message Buffer använder Redis men har inga credentials konfigurerade. Lägg till Redis-credentials i varje nod, annars kommer workflowet att fallera vid körning.

Steg 3: konfigurera AI-generering av svar

Använd agenten och språkmodellen för att generera ett svar utifrån innehållet i de buffrade meddelandena.

  1. Koppla Clear Message Buffer till Service Response Agent och bekräfta att fältet Text använder {{$('Assemble Message Text').first().json.menssage}}.
  2. Öppna Service Response Agent och gå igenom reglerna i System Message för att säkerställa att de matchar er affärslogik.
  3. Koppla Claude Chat Engine till Service Response Agent som ai_languageModel.
  4. Koppla Conversation Memory till Service Response Agent som ai_memory och behåll sessionKey inställd på {{$('Inbound Webhook Trigger').item.json.body.phone}}.
  5. Koppla Run Sub-Workflow (Configure Required) till Service Response Agent som ai_tool, och välj sedan mål-workflowet i workflowId.
  6. Koppla Service Response Agent till Clean AI Output för att normalisera svaret.

⚠️ Vanlig fallgrop: Claude Chat Engine och Conversation Memory har inga credentials konfigurerade. Lägg till Anthropics-credentials i Claude Chat Engine och lägg till minnes-credentials (om det krävs i er setup) på den överordnade anslutningen till Service Response Agent.

Tips: Run Sub-Workflow (Configure Required) är ett AI-verktyg; konfigurera val av workflow i verktygsnoden och hantera eventuella credentials på den överordnade Service Response Agent.

Steg 4: konfigurera del-flöde för datakälla och parallell tolkning av sheets

Detta del-flöde laddar en Google Drive-fil och tolkar två sheets parallellt innan resultaten kombineras.

  1. Starta del-flödet med Subflow Execution Trigger och koppla det till Download Drive File.
  2. I Download Drive File, ställ in Operationdownload och välj ert fil-ID.
  3. Credential krävs: Koppla era googleDriveOAuth2Api-credentials i Download Drive File.
  4. Download Drive File skickar utdata till både Extract Test Sheet och Extract Site Sheet parallellt.
  5. I Extract Test Sheet, ställ in Operationxlsx och sheetName till Tests.
  6. I Extract Site Sheet, ställ in Operationxlsx, sheetName till Sites och binaryPropertyName till =data.
  7. Koppla båda sheet-noderna till Combine Sheet Data, och koppla sedan Combine Sheet Data till Return Success Payload.

Steg 5: konfigurera GHL-uppdateringar för text- och ljudvägar

Uppdatera GoHighLevel-anpassade fält med AI-svaret eller ett reservmeddelande för ljudanteckningar.

  1. Koppla Clean AI Output till Retrieve GHL Fields och därefter till Modify Contact Field.
  2. I Retrieve GHL Fields, ställ in URL till https://rest.gohighlevel.com/v1/custom-fields/.
  3. Credential krävs: Koppla era httpBearerAuth-credentials i Retrieve GHL Fields och Modify Contact Field.
  4. I Modify Contact Field, ställ in URL till https://rest.gohighlevel.com/v1/contacts/{{ $('Inbound Webhook Trigger').item.json.body.contact_id }} och JSON Body till { "customField": { "{{ $json.customFields.find(field => field.name === 'IA_answer').id }}": "{{ $('Clean AI Output').item.json.output }}" } }.
  5. För ljudrutten, koppla Route Message Type till Fetch GHL Fields (Audio) och därefter till Update Contact for Audio.
  6. I Update Contact for Audio, behåll meddelandetexten i JSON Body och ställ in URL till https://rest.gohighlevel.com/v1/contacts/{{ $('Inbound Webhook Trigger').item.json.body.contact_id }}.
  7. Credential krävs: Koppla era httpBearerAuth-credentials i Fetch GHL Fields (Audio) och Update Contact for Audio.

Tips: Clean AI Output normaliserar AI-svaret så att det är säkert för JSON. Behåll denna nod för att undvika fel i API-payloaden.

Steg 6: testa och aktivera ert workflow

Validera varje väg (text och ljud) och bekräfta att GoHighLevel-fält uppdateras som förväntat.

  1. I n8n, klicka på Execute Workflow och skicka en test-payload till Inbound Webhook Trigger med ett textmeddelande som inte innehåller type message: audio.
  2. Verifiera att Store Message BufferDelay WindowLoad Buffered MessagesBranch on Latest Text körs och att Assemble Message Text fylls i.
  3. Bekräfta att Service Response Agent producerar output, att Clean AI Output rensar den och att Modify Contact Field uppdaterar rätt anpassat fält i GHL.
  4. Skicka en payload av ljudtyp som innehåller type message: audio och bekräfta att Fetch GHL Fields (Audio)Update Contact for Audio uppdaterar reservmeddelandet.
  5. Testa del-flödet genom att köra från Subflow Execution Trigger och bekräfta att Download Drive File tolkar båda sheets och att Return Success Payload returnerar sammanslagen data.
  6. När alla tester går igenom, slå på workflowets Active-toggle för produktionsanvändning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • GoHighLevel-API-uppgifter kan löpa ut eller sakna scopes. Om det slutar fungera, kontrollera först API-nyckeln för ditt underkonto och headers i HTTP Request-noden.
  • Om du använder Wait-noder eller extern bearbetning varierar tajmingen. Öka Redis-väntetiden om steget ”Load Buffered Messages” ibland returnerar en tom buffert.
  • Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst och regler för ”det vi aldrig lovar” i AI Agent-prompten tidigt, annars kommer du att redigera utdata för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för GHL WhatsApp replies?

Cirka 60–90 minuter om dina GHL-automationer och din API-nyckel är klara.

Krävs det kodning för den här automatiseringen för korrekta WhatsApp-svar?

Nej. Du kommer främst att koppla in behörigheter och redigera prompter/fält i n8n och GoHighLevel.

Är n8n gratis att använda för det här arbetsflödet för GHL WhatsApp replies?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för modell-API (Anthropic/OpenAI), vilket oftast är ören per konversation om du inte skickar lång kontext varje gång.

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

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

Kan jag anpassa det här arbetsflödet för GHL WhatsApp replies för andra användningsfall?

Ja, och det bör du troligen. De flesta team börjar med att redigera AI Agent-prompten så att den matchar deras ton, lägga till regler för ”tillåtna tjänster” och byta ut ClientInfo-källan (till exempel hämta från Google Sheets i stället för ett underarbetsflöde). Du kan också ändra Redis-väntetiden så att den passar din målgrupp: kortare för säljsamtal, längre för supporttrådar där folk skriver i kaskader.

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

Oftast är det API-nyckeln för underkontot (utgången, fel location eller saknar behörigheter) i HTTP Request-noderna. Dubbelkolla base URL, auth-headern och att kontakt-ID:t som kommer från webhooken matchar den location du anropar. Om det bara fallerar ibland kan du också slå i rate limits under perioder med hög volym, så att glesa ut körningar eller minska extra ”hämta fält”-anrop kan hjälpa.

Vilken volym kan det här arbetsflödet för GHL WhatsApp replies hantera?

För de flesta små team är hundratals konversationer per dag realistiskt, så länge din Redis och modell-API hänger med.

Är den här automatiseringen för GHL WhatsApp replies bättre än att använda Zapier eller Make?

Ofta, ja. n8n hanterar meddelandebuffring, förgrening och städlogik på ett ställe, vilket är skillnaden mellan ”det funkar i en demo” och ”det funkar när kunder skickar tre sms och sedan ett röstmeddelande”. Egen drift är också viktigt om du vill slippa per-uppgift-prissättning när volymen ökar. Zapier eller Make kan fortfarande vara bra för väldigt enkla autosvar, men det här arbetsflödet gör mer än att flytta data mellan appar. Om du är osäker, prata med en automationsexpert så rimlighetskontrollerar vi ditt användningsfall.

Sätt upp det här en gång, så slutar inkorgen att hänga på hjältedåd. Arbetsflödet tar hand om de repetitiva svaren så att ditt team kan fokusera på de konversationer som faktiskt behö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