Dina uppföljningar är förmodligen ”klara”… tills någon svarar och det försvinner i Gmail. Då blir leadet kallt, teamet svär att de aldrig såg det, och du fastnar i obekväm skadekontroll.
Den här HighLevel Slack-automationen träffar säljare först, men marknadschefer och små byråägare känner också av den. Du vill att svar flaggas direkt, att inaktiva leads puffas automatiskt och att det finns ett enkelt sätt att bevisa att inget föll mellan stolarna.
Det här flödet hämtar kontakter från HighLevel, skickar en Gmail-uppföljning till rätt personer, väntar, kontrollerar tråden efter ett svar och pingar sedan Slack med en tydlig uppdatering: ”svar” eller ”inget svar”. Du får se hur det fungerar, vad du behöver och var team oftast går bet.
Så här fungerar automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: HighLevel + Slack: missa aldrig ett Gmail-svar
flowchart LR
subgraph sg0["When clicking ‘Execute workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Execute workf..", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/highLevel.svg' width='40' height='40' /></div><br/>Fetch Contacts from HighLevel"]
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Deal Fetch Success", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Log Errors in Google Sheets", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Filter Contacts with No Resp.."]
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Get Most Recent Contact"]
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Send Follow-Up Email to Cont..", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Wait for 24 Hours Before Nex..", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Retrieve Email Thread for Re..", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check If Contact Responded w..", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Notify Sales Team in Slack i.."]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>Notify Sales Team in Slack i.."]
n5 --> n6
n2 --> n4
n2 --> n3
n1 --> n2
n6 --> n7
n4 --> n5
n8 --> n9
n7 --> n8
n0 --> n1
n9 --> n11
n9 --> n10
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n2,n9 decision
class n3 database
class n4,n5 code
classDef customIcon fill:none,stroke:none
class n1,n4,n5,n10,n11 customIcon
Problemet: uppföljningar sker, men svar missas
De flesta team förlorar inte affärer för att de aldrig följde upp. De förlorar affärer för att uppföljningsprocessen blir rörig efter utskicket. Någon svarar ”ja” kl. 06:12. Ett annat mejl kommer in, en mötesinbjudan landar, och din säljare upptäcker inte tråden förrän i morgon (eller aldrig). Under tiden tänker leadet: ”De verkar inte särskilt snabba på att svara.” Lägg till flera inkorgar, flera säljare och dussintals HighLevel-kontakter, och ”hålla koll på svaren” blir ett dagligt spel av e-post-whack-a-mole.
Det eskalerar snabbt. Här är var det faller isär i verkligheten:
- Du slutar med att manuellt kontrollera Gmail-trådar bara för att se vem som svarat, och det stjäl en timme på stressiga dagar.
- Uppföljningar går till personer som redan svarat nyligen, vilket känns spamigt och skapar onödigt fram och tillbaka.
- Säljare svarar inkonsekvent eftersom ”heta svar” inte flaggas tydligt där teamet faktiskt jobbar (Slack).
- När HighLevel-hämtningen misslyckas eller kontaktdata är ofullständig märker du det inte förrän ett lead frågar varför du aldrig hörde av dig.
Lösningen: HighLevel → Gmail-uppföljning → Slack-notiser för svar
Det här flödet gör uppföljning och svarskontroll till en repeterbar loop. Du startar det när du vill köra en uppföljningsbatch (eller testa), och n8n hämtar dina kontakter från HighLevel med namn, mejl och senaste aktivitet. Det validerar hämtningen så att du inte mejlar poster blint med saknade ID:n, och loggar problemen i Google Sheets så att de är lätta att granska. Därefter filtrerar det fram kontakter som inte har svarat de senaste 24 timmarna, väljer den senaste kontakten att agera på och skickar en personlig Gmail-uppföljning med dynamiska fält som namn och tid sedan senaste interaktion. Sedan väntar det 24 timmar, kontrollerar Gmail-tråden efter ett svar och postar resultatet i Slack så att teamet ser det direkt.
Flödet startar manuellt, sedan levererar HighLevel kontaktlistan. Gmail hanterar utgående mejl och senare uppslag i tråden. Slack blir er ”enda plats att upptäcka” svar, medan Google Sheets tyst håller en felspårning i bakgrunden.
Det här får du: automation vs. resultat
| Vad flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du följer upp med 40 HighLevel-leads varje vardag. Manuellt lägger de flesta säljare kanske 2 minuter per lead utspritt över dagen på att kolla trådar, söka i ”skickat” och dubbelkolla vem som svarat, vilket blir ungefär 80 minuter. Med det här flödet triggar du körningen i n8n, mejlbatchen går ut och du låter den vänta 24 timmar. Nästa dag visar Slack ”ja”-svar direkt, och status ”inget svar” är redan sammanfattad. Du får tillbaka ungefär en timme på uppföljningsdagar, utan att vara beroende av någons minne.
Det du behöver
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- HighLevel för att hämta CRM-kontakter och metadata
- Gmail för att skicka uppföljningar och kontrollera trådar
- Slack för realtidsnotiser vid svar och uteblivet svar
- Google Sheets för att logga hämtnings-/valideringsfel
- HighLevel OAuth-uppgifter (hämta dem i HighLevel API-inställningar)
- Gmail OAuth2-uppgifter (hämta dem i Google Cloud Console)
- Slack API-uppgifter (hämta dem i inställningarna för din Slack-app)
Svårighetsnivå: Medel. Du kopplar konton, mappar några fält och testar först med en liten kontaktuppsättning.
Vill du inte sätta upp det här själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Du startar det vid begäran. En manuell trigger startar körningen, vilket är praktiskt för test, för dagliga uppföljningsbatchar eller när du vill göra en svepning efter inaktiva leads.
HighLevel-kontakter hämtas och kontrolleras. Flödet hämtar kontakter från HighLevel och validerar sedan att svaret innehåller de ID:n och fält som behövs. Om något ser fel ut skriver det problemet till Google Sheets så att du kan åtgärda data i stället för att gissa.
Inaktiva leads får Gmail-uppföljningen. Kontakter som inte har svarat de senaste 24 timmarna filtreras fram, därefter väljer flödet den senaste kontakten och skickar ett personligt mejl baserat på namn och kontext från senaste interaktionen.
Slack blir resultattavlan. Efter 24 timmars väntan hämtar n8n Gmail-tråden, kontrollerar om svaret innehåller ”ja” och postar antingen en notis om positivt svar eller en notis om uteblivet svar i Slack med nyckeldetaljerna.
Du kan enkelt justera uppföljningstiden och logiken för ”vad som räknas som ett positivt svar” efter dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera den manuella triggern
Det här arbetsflödet startas manuellt så att ni kan validera kontaktinhämtning och uppföljningslogik innan ni automatiserar.
- Lägg till och öppna Manual Run Trigger.
- Lämna alla parametrar som standard (ingen konfiguration krävs).
- Koppla Manual Run Trigger till Retrieve CRM Contacts.
Steg 2: anslut HighLevel och hämta kontakter
Hämta era CRM-kontakter från HighLevel för att kontrollera vilka som är aktuella för uppföljning.
- Öppna Retrieve CRM Contacts och ställ in Operation till
getAll. - Inloggning krävs: anslut era highLevelOAuth2Api-uppgifter.
- Öppna Verify Retrieval Result och ställ in villkoret så att Left Value kontrolleras som
={{ $json.id }}med Operation inställd pånotEmpty. - Säkerställ att True-utgången från Verify Retrieval Result är kopplad till Filter Unreplied Contacts.
Steg 3: konfigurera logik för filtrering och val av kontakt
Filtrera kontakter utan svar på 24+ timmar och välj den senast uppdaterade kontakten för uppföljning.
- Öppna Filter Unreplied Contacts och behåll den medföljande JavaScript-koden som filtrerar kontakter baserat på
dateUpdatedför 24+ timmar. - Öppna Select Latest Contact och behåll den medföljande JavaScript-koden som sorterar på
dateUpdatedoch byggerformattedOutput. - Bekräfta kopplingsordningen: Verify Retrieval Result → Filter Unreplied Contacts → Select Latest Contact.
hoursAgo.Steg 4: konfigurera Gmail-uppföljning och väntetimer
Skicka uppföljningsmejlet och pausa arbetsflödet innan ni kontrollerar om ni fått ett svar.
- Öppna Dispatch Follow-up Email och ställ in Send To till
=[YOUR_EMAIL]. - Ställ in Subject till
=Just Checking In - {{ $json.contactName }}. - Ställ in Message till
=exakt som i noden för att behålla personaliseringstokens.Hi {{ $json.firstName || $json.contactName }},
... - Inloggning krävs: anslut era gmailOAuth2-uppgifter för Dispatch Follow-up Email.
- Öppna Delay 24 Hours och ställ in Amount till
42. - Bekräfta flödet: Select Latest Contact → Dispatch Follow-up Email → Delay 24 Hours.
=[YOUR_EMAIL]. Ersätt det med ert faktiska mottagaruttryck eller ett kontaktens e-postfält för att undvika att skicka till en platshållare.Steg 5: konfigurera svarskontroller och Slack-notiser
Efter väntan hämtar ni e-posttråden, kontrollerar om det finns ett positivt svar och notifierar Slack därefter.
- Öppna Fetch Email Thread och ställ in Resource till
thread, Operation tillgetoch Thread ID till={{ $json.threadId }}. - Inloggning krävs: anslut era gmailOAuth2-uppgifter för Fetch Email Thread.
- Öppna Check Positive Reply och ställ in villkoret så att Left Value kontrolleras som
={{ $json.messages[1].snippet }}med Operation inställd påcontainsoch Right Value inställd påyes. - Öppna Alert Slack Reply och bekräfta att Text använder
={{ $json.messages[0].Subject.replace('Just Checking In - ', '') }}och={{ $json.messages[1].snippet }}. - Inloggning krävs: anslut era slackApi-uppgifter för Alert Slack Reply.
- Öppna Alert Slack No Reply och bekräfta att Text inkluderar
{{ new Date($json.messages[0].internalDate).toLocaleString() }}och{{ $json.messages[0].snippet }}. - Inloggning krävs: anslut era slackApi-uppgifter för Alert Slack No Reply.
Steg 6: lägg till felhantering
Det här arbetsflödet loggar hämtningsfel till Google Sheets när Verify Retrieval Result utvärderas till false.
- Öppna Append Error Log och ställ in Operation till
append. - Välj mål-Document ID och Sheet Name från väljaren.
- Säkerställ att schemat innehåller kolumnerna
error_idocherrorenligt definitionen i noden. - Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter.
- Bekräfta att False-utgången från Verify Retrieval Result är kopplad till Append Error Log.
Steg 7: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera kontaktinhämtning, utskick av e-post, väntbeteende och Slack-notifieringar.
- Klicka på Execute Workflow från Manual Run Trigger för att starta körningen.
- Bekräfta att Retrieve CRM Contacts returnerar items och att Verify Retrieval Result routar till Filter Unreplied Contacts.
- Verifiera att Dispatch Follow-up Email skickar ett meddelande och att arbetsflödet pausar vid Delay 24 Hours.
- Efter väntan, bekräfta att Fetch Email Thread körs och att Check Positive Reply routar till Alert Slack Reply eller Alert Slack No Reply.
- När ni är nöjda, växla arbetsflödet till Active för användning i produktion.
Vanliga fallgropar
- HighLevel-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först din HighLevel API/OAuth-anslutning i n8n:s avsnitt för Credentials.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
- Gmail kan returnera en tråd som inte innehåller det du förväntar dig (särskilt om ämnesraden ändras). Om Slack-notiser ser fel ut, granska mappningen av Gmail thread ID och vilket message snippet-fält som utvärderas.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om dina konton och behörigheter är redo.
Nej. Du kopplar HighLevel, Gmail och Slack och mappar några fält i n8n.
Ja. n8n har ett gratis self-hosted-alternativ 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 in Gmail/Google Workspace och eventuella CRM-kostnader kopplade till din HighLevel-plan.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det bör du sannolikt göra. Flödet kontrollerar i dag Gmail-svar efter ordet ”ja”, men du kan utöka det till att matcha fraser som ”låter bra”, ”boka mig” eller ”pris” genom att justera IF-noden Check Positive Reply. Du kan också routa olika nyckelord till olika Slack-kanaler (till exempel ”pris” till en kanal för seniora säljare). En annan vanlig justering är att korta ned 24-timmarsväntan till ett kortare fönster för leads med högre intent.
Oftast beror det på att OAuth-åtkomsten i HighLevel har löpt ut eller återkallats. Anslut HighLevel-credentialn igen i n8n och kör sedan om flödet med en liten testuppsättning kontakter. Det kan också bero på saknade scopes/behörigheter på HighLevel-sidan, eller att API:t returnerar ofullständiga kontaktposter (vilket det här flödet skickar till Google Sheets så att du kan se mönster).
I n8n Cloud Starter begränsas du främst av månatliga körningar, medan self-hosting beror på din server. I praktiken kör team oftast detta i mindre batchar (som 20–200 kontakter åt gången) för att hålla Gmails sändningsbeteende friskt och undvika rate limits.
Ofta, ja, om du bryr dig om kontroll. Det här flödet har förgreningslogik (valideringsvägar, routing för svar vs. inget svar och felloggning) som är enkel i n8n och kan bli krånglig eller dyr i verktyg som prissätter per task. n8n låter dig också self-hosta, vilket spelar roll när du kör uppföljningar dagligen. Zapier eller Make kan fortfarande fungera bra för en enkel ”skicka mejl och skicka sedan Slack-meddelande”-setup, särskilt om du inte behöver hämta kontakter från HighLevel eller logga fel. Om du är osäker, prata med en automationsspecialist så får du en tydlig rekommendation baserat på din volym och hur teamet jobbar.
När det här väl rullar slutar svar att vara en gissningslek. Flödet sköter övervakningen, Slack-flaggarna håller teamet på tårna och dina leads får snabbare svar utan extra arbete.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.