Churn brukar inte överraska dig. Den smyger sig på i glappen mellan verktygen: ett ”argt” supportärende på ett ställe, ett användningsfall på ett annat och en affär som har fastnat för evigt i HubSpot.
Customer success managers känner av det här när förnyelser plötsligt blir spända. Account managers dras in i ”rädda kontot”-samtal utan någon kontext. Och grundare som kör lean? De vill bara ha churn risk alerts som dyker upp i mejlen, i tid, med ett tydligt nästa steg.
Det här arbetsflödet kopplar ihop HubSpot + Google Sheets till ett enkelt system för churn-signaler. Du får se hur det hämtar affärskontext, poängsätter ticket-sentiment, kontrollerar användningstrender och mejlar en strukturerad, datadriven avisering när risken passerar din tröskel.
Så fungerar automatiseringen
Se hur det här löser problemet:
n8n Workflow Template: HubSpot + Google Sheets: churnriskvarningar via e-post
flowchart LR
subgraph sg0["Manual Trigger: Run Churn Analysis Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Trigger: Run Churn An..", 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/hubspot.svg' width='40' height='40' /></div><br/>HubSpot: Get All Deals"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Start Loop: For Each Deal", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set: Isolate Current Deal ID..", 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/webhook.dark.svg' width='40' height='40' /></div><br/>Trigger: Receive Tickets for.."]
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/>Code: Format Tickets for Ana.."]
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop: For Each Ticket", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "AI: Analyze Ticket Sentiment", pos: "b", h: 48 }
n8["<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/merge.svg' width='40' height='40' /></div><br/>Merge: Consolidate Results"]
n9["<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/>Code: Convert Sentiment to S.."]
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/code.svg' width='40' height='40' /></div><br/>Code: Sum All Ticket Scores"]
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/webhook.dark.svg' width='40' height='40' /></div><br/>Respond: Return Total Score .."]
n12@{ icon: "mdi:robot", form: "rounded", label: "AI Agent: Gather Customer Data", pos: "b", h: 48 }
n13@{ icon: "mdi:brain", form: "rounded", label: "Config: Set LLM for Agent & ..", pos: "b", h: 48 }
n14@{ icon: "mdi:wrench", form: "rounded", label: "Tool: Get HubSpot Data", pos: "b", h: 48 }
n15@{ icon: "mdi:web", form: "rounded", label: "Tool: Calculate Sentiment Sc..", pos: "b", h: 48 }
n16@{ icon: "mdi:database", form: "rounded", label: "Tool: Get Feature Usage from..", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "AI: Structure Agent's Findin..", pos: "b", h: 48 }
n18["<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/>Code: Group Feature Data by .."]
n19@{ icon: "mdi:robot", form: "rounded", label: "AI Chain: Analyze for Churn ..", pos: "b", h: 48 }
n20@{ icon: "mdi:robot", form: "rounded", label: "AI: Structure Alert Email", pos: "b", h: 48 }
n21["<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/markdown.dark.svg' width='40' height='40' /></div><br/>Format: Convert Alert to HTML"]
n22@{ icon: "mdi:message-outline", form: "rounded", label: "Email: Send Churn Alert Exp..", pos: "b", h: 48 }
n6 --> n7
n1 --> n2
n14 -.-> n12
n20 -.-> n19
n2 --> n3
n8 --> n9
n10 --> n11
n7 --> n8
n21 --> n22
n12 --> n18
n15 -.-> n12
n19 --> n21
n9 --> n10
n18 --> n19
n5 --> n6
n13 -.-> n7
n13 -.-> n12
n13 -.-> n19
n0 --> n1
n16 -.-> n12
n4 --> n5
n22 --> n2
n3 --> n12
n17 -.-> n12
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 n7,n12,n17,n19,n20 ai
class n13 aiModel
class n14 ai
class n16 database
class n4,n11,n15 api
class n5,n9,n10,n18 code
classDef customIcon fill:none,stroke:none
class n1,n4,n5,n8,n9,n10,n11,n18,n21 customIcon
Utmaningen: upptäcka churn-risk innan den blir uppenbar
De flesta försök att förebygga churn faller av en tråkig anledning: signalerna är utspridda. HubSpot känner till den kommersiella berättelsen (affärens ålder, ägare, fas). Ditt kalkylark för produktanvändning visar vad kunden faktiskt gör. Supportärenden fångar stämningen, men att läsa dem en och en tar evigheter, och du läser ändå aldrig alla. Så du reagerar sent, med halva bilden, medan någon frågar ”Hur kunde vi inte se det här komma?” Ärligt talat såg du det förmodligen. Du hade det bara inte samlat på ett ställe, vid rätt tidpunkt.
Det blir snabbt tydligt. Här är var det brukar fallera i verkliga team.
- Sentiment i supportärenden finns i trådar och inkorgar, så ”de låter missnöjda” blir aldrig en spårad signal.
- Användningsfall upptäcks sent eftersom någon måste öppna ett kalkylark, filtrera det och minnas hur ”normalt” ser ut.
- Affärskontexten finns i HubSpot, men att koppla den till produktens verklighet kräver oftast manuellt detektivarbete.
- Även när någon flaggar risk blir överlämningen rörig och nästa steg oklart, så uppföljningen skjuts upp ytterligare en dag.
Lösningen: automatiserad churn-riskpoängsättning med e-postaviseringar
Den här automatiseringen övervakar kundhälsa kontinuerligt genom att kombinera vad ditt CRM vet med vad dina kunder gör och säger. Den börjar med att hämta affärer från HubSpot och berikar sedan varje affär med två extra lager av verklighet: sentiment från supportärenden och trender i funktionsanvändning som lagras i Google Sheets. Ett AI-steg för sentiment granskar ticket-text och omvandlar den till en konsekvent poäng, så att ”det här känns dåligt” blir ett tal du kan jämföra vecka för vecka. Därefter utvärderar en AI-agent helhetsbilden (affärens ålder, sentimentpoäng och användningsriktning) mot tröskelvärden du definierar. Om den upptäcker churn-risk skapar den en tydlig e-postavisering med kontext och rekommenderade nästa steg och skickar den automatiskt till rätt ägare.
Arbetsflödet startar med en churn-skanning och går igenom HubSpot-affärer i batchar. Det hämtar användningssignaler från Google Sheets och ticket-sentiment via ett webhook-baserat poängsättningsverktyg. Till sist skriver en AI-granskning ett mejl som faktiskt går att använda, och sedan skickar din SMTP-e-postnod ut det utan att du behöver röra något.
Vad som förändras: före vs. efter
| Det här eliminerar | Effekten du får |
|---|---|
|
|
Effekt i verkligheten
Säg att du hanterar 40 aktiva affärer. En grundläggande churn-kontroll innebär ofta 3 manuella steg per affär (granskning i HubSpot, uppslag av användning i Sheets, skumma nyligen inkomna ärenden) och även om varje steg tar runt 5 minuter blir det cirka 10 timmar i veckan av ”hälsokontroller”. Med det här arbetsflödet triggar du en skanning, låter det bearbeta i bakgrunden och hanterar bara den handfull konton som genererar churn risk alerts via e-post. För många team gör det en lång veckoritual till en kort daglig vana i inkorgen.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- HubSpot för att hämta affärer och ägarkontext.
- Google Sheets för att hämta signaler om funktionsanvändning.
- API-nyckel till LLM-leverantör (hämta den i leverantörens dashboard, till exempel OpenAI).
Svårighetsnivå: Medel. Du kopplar främst ihop konton och klistrar in URL:er/ID:n, plus mindre justeringar av prompt eller poängsättning om du vill ha egen logik.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Arbetsflödets flöde
En churn-skanning sätter igång allt. Du startar arbetsflödet manuellt när du vill göra en kontroll (dagligen, veckovis eller precis före förnyelser). n8n hämtar direkt dina aktuella affärer från HubSpot och börjar iterera igenom dem i hanterbara batchar.
Ärenden poängsätts på sentiment. En webhook tar emot ärendedata för poängsättning, arbetsflödet transformerar texten och sedan granskar ett AI-steg för sentiment varje ärende och returnerar ett strukturerat resultat. Det resultatet omvandlas till en enda poäng så att du kan jämföra konton konsekvent.
Användningssignaler hämtas från Google Sheets. För varje affär/konto slår arbetsflödet upp användning (och grupperar den sedan) så att den senare riskgranskningen ser en trend, inte en rå rad från kalkylarket.
En AI-agent tar beslutet om churn, sedan skickas mejlet. Agenten samlar HubSpot-kontext via ett verktygsanrop, kombinerar den med sentiment och användning och sedan avgör en AI-kedja om kontot är i riskzonen. Om det är det formaterar arbetsflödet ett strukturerat HTML-mejl och skickar det via dina SMTP-inställningar till ägaren eller teamet.
Du kan enkelt justera risktrösklarna och e-postinnehållet så att det matchar din förnyelseprocess. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera den manuella triggern och webhook-triggern
Sätt upp arbetsflödets startpunkter för manuella skanningar och inkommande ticket-payloads.
- Lägg till Manual Launch: Churn Scan som manuell triggernod för ad hoc-körningar.
- Lägg till Incoming Tickets Webhook och ställ in Path till
9696956a-460a-4c45-aa3c-e5f83ce95e54. - Ställ in HTTP Method till
POSToch Response Mode tillresponseNodei Incoming Tickets Webhook. - Koppla Incoming Tickets Webhook → Transform Tickets Payload.
- Koppla Manual Launch: Churn Scan → Retrieve HubSpot Deals.
body.tickets som en JSON-sträng, eftersom Transform Tickets Payload tolkar den med JSON.parse($input.first().json.body.tickets).Steg 2: Koppla HubSpot och deal-iteration
Hämta deal-data från HubSpot och iterera varje deal för efterföljande AI-berikning.
- Konfigurera Retrieve HubSpot Deals med Resource satt till
deal, Operation satt tillgetAlloch Authentication satt tilloAuth2. - Credential Required: Anslut era HubSpot OAuth2-inloggningsuppgifter i Retrieve HubSpot Deals (inga är konfigurerade i arbetsflödet).
- Koppla Retrieve HubSpot Deals → Batch Iterate Deals för att hantera bearbetning deal för deal.
- I Map Current Deal ID, lägg till en tilldelning för dealId med värdet
{{ $json.dealId }}. - Koppla Batch Iterate Deals → Map Current Deal ID → AI Agent: Collect Client Data.
Steg 3: Sätt upp pipeline för sentimentpoäng för tickets
Den här grenen konverterar inkommande ticket-payloads till sentimentpoäng och returnerar en totalpoäng via webhook-svar.
- I Transform Tickets Payload, behåll den medföljande JavaScript-koden för att bygga arrayen
tickets_textfrån webhook-payloaden. - Konfigurera Split Tickets List med Field To Split Out satt till
tickets_text. - Ställ in AI Sentiment Review med Input Text satt till
{{ $json.tickets_text }}. - Ställ in Merge Sentiment Streams till Number Inputs
3(noden slår ihop tre utdata från AI Sentiment Review). - Behåll JavaScript-koden i Compute Sentiment Score för att mappa sentimentkategorier till numeriska poäng.
- Behåll JavaScript-koden i Aggregate Ticket Scores för att summera poäng till
totalScore. - Koppla Aggregate Ticket Scores → Return Score Response för att svara till Incoming Tickets Webhook.
Steg 4: Sätt upp AI-agent & granskning av churn-risk
Konfigurera AI-agenten för att samla in deal-, kontakt-, ticket- och funktionsanvändningsdata och generera innehåll för churn-riskvarningar.
- I LLM Config: Agent & Chains, ställ in modellen till
gpt-5-mini. - Credential Required: Anslut era OpenAI-inloggningsuppgifter i LLM Config: Agent & Chains (saknas i arbetsflödet).
- I AI Agent: Collect Client Data, behåll prompttexten som refererar
{{ $json.dealId }}och verktygen Tool: Fetch HubSpot Data, Tool: Sentiment Scoring och Tool: Pull Feature Usage. - Säkerställ att Parse Agent Findings är ansluten som output parser för AI Agent: Collect Client Data.
- Konfigurera Tool: Pull Feature Usage med Sheet Name satt till
gid=0och lägg till korrekt Document ID. - Behåll JavaScript-koden i Group Feature Usage för att aggregera funktioner och mata ut
ressom JSON. - I AI Chain: Churn Risk Review, behåll prompten med uttrycken
{{ $('AI Agent: Collect Client Data').item.json.output.hs_is_closed_timestamp }},{{ $('AI Agent: Collect Client Data').item.json.output.score }}och{{ $json.res }}. - Säkerställ att Parse Alert Email är ansluten som output parser för AI Chain: Churn Risk Review.
Steg 5: Konfigurera leverans av e-post för utdata
Konvertera den AI-genererade varningen till HTML och skicka den till ert Customer Success-team.
- I Format Alert to HTML, ställ in Mode till
markdownToHtml, Markdown till{{ $json.output.message }}och Destination Key tillmessage. - Konfigurera Send Churn Email med HTML satt till
{{ $json.message }}och Subject satt till{{ $json.output.subject }}. - Credential Required: Anslut era SMTP-inloggningsuppgifter i Send Churn Email.
- Bekräfta loopback-flödet: Format Alert to HTML → Send Churn Email → Batch Iterate Deals för att fortsätta skanna nästa deal.
Steg 6: Testa och aktivera ert arbetsflöde
Validera både den manuella skanningen och webhook-baserade ticket-poängsättningen innan ni går live.
- Klicka på Execute Workflow på Manual Launch: Churn Scan för att testa vägen för deal-skanning.
- Skicka en POST-begäran till URL:en för Incoming Tickets Webhook med en
body.tickets-JSON-sträng för att testa sentimentpoängsättning. - Bekräfta en lyckad körning: Return Score Response ska returnera en
totalScore, och Send Churn Email ska skicka en formaterad varning när tröskelvärden triggas. - När resultaten ser korrekta ut, växla arbetsflödet till Active för produktionsanvändning.
Se upp med
- HubSpot-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något skapar fel, kontrollera scopes för din HubSpot private app och återanslut noden ”Retrieve HubSpot Deals” först.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms noder misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera output för alltid.
Vanliga frågor
Vanligtvis cirka en timme när dina konton och nycklar är redo.
Ja, men någon bör vara bekväm med att klistra in ID:n/URL:er och testköra några körningar. Ingen kodning krävs om du inte vill ha egen poängsättningslogik.
Ja. n8n har ett gratis alternativ för egen drift 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 kostnader för LLM-API (ofta några cent per batch av konton, beroende på volym).
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 exekveringar men kräver grundläggande serverhantering.
Du kan ändra poängsättningen i ”Compute Sentiment Score” och ”Aggregate Ticket Scores” så att den matchar hur ditt team definierar ”dåliga signaler”. De flesta team redigerar också prompten i ”AI Chain: Churn Risk Review” för att vikta affärens ålder vs. användningsfall på ett annat sätt och justerar sedan e-poststrukturen i ”Parse Alert Email” så att den matchar er interna playbook. Om din användningsdata inte finns i Google Sheets kan du byta ut ”Tool: Pull Feature Usage” mot Airtable, en databas eller ett produktanalys-API. Grundmönstret är detsamma: berika → poängsätt → besluta → avisera.
Oftast beror det på utgångna inloggningar eller saknade scopes i HubSpot private app. Återanslut HubSpot i n8n och bekräfta sedan att behörigheter för Deals API är tillåtna för kontot du använder. Kontrollera också att den externa MCP-endpointen som används av ”Tool: Fetch HubSpot Data” går att nå, eftersom det verktygsanropet kan fallera även när den vanliga HubSpot-noden fungerar.
Det beror på din n8n-plan och din AI-användning, men de flesta små team kan bekvämt skanna dussintals affärer per körning.
Ofta, ja, eftersom den här typen av arbetsflöde behöver förgreningslogik, batchning och AI-steg som blir klumpiga (och dyra) i enklare verktyg. n8n låter dig också köra med egen drift med obegränsade exekveringar, vilket spelar roll om du kör frekventa skanningar. Zapier eller Make kan fortfarande vara bra för en lättviktig regel som ”om användningen faller, skicka mejl”. Men när du vill ha sentimentpoängsättning, affärskontext och ett strukturerat aviseringsmejl kommer du att uppskatta flexibiliteten här. Om du är osäker, prata med en automationsexpert så rimlighetskontrollerar vi ditt use case.
Churn blir inte ”akut” över en natt. Det här arbetsflödet hjälper dig att fånga det tidigare, med tydliga churn risk alerts som landar i mejlen med tillräcklig kontext för att agera.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.