Dina kunder säger nästan aldrig upp helt från ingenstans. Du får signalerna först. De dyker bara upp utspridda i supportärenden, feedbackformulär och kontonoteringar, vilket gör att varningssignalerna ligger där tills det är för sent.
Customer success managers känner av det här mest när förnyelser plötsligt är runt hörnet. En fastighetsförvaltare med 200 hyresgäster ser det också, fast i ett annat system. Och om du driver en byrå som stöttar SaaS-kunder blir churn risk alerts en daglig brandsläckning. Den här automatiseringen för churn risk alerts samlar signalerna och tvingar fram konsekvens.
Du får lära dig hur detta n8n-flöde samlar hyresgäst-/kundaktivitet, använder GPT-4 för att poängsätta churn-risk och sedan skickar rätt uppföljning via Slack och Gmail så att du fångar problem tidigt och svarar på samma sätt varje gång.
Så fungerar automatiseringen
Här är hela arbetsflödet som du kommer att sätta upp:
n8n Workflow Template: Slack + Gmail för churnvarningar och uppföljning
flowchart LR
subgraph sg0["Daily Tenant Analysis Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Daily Tenant Analysis Schedule", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Workflow Configuration", pos: "b", h: 48 }
n2["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Tenant Data"]
n3["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Service Requests"]
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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Feedback Data"]
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Merge Tenant Intelligence", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Tenant Analysis Agent", pos: "b", h: 48 }
n7@{ icon: "mdi:brain", form: "rounded", label: "OpenAI GPT-4", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Analysis Output Parser", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Check Churn Risk Level", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "High Risk Communication Agent", pos: "b", h: 48 }
n11@{ icon: "mdi:brain", form: "rounded", label: "OpenAI GPT-4 for Communicati..", pos: "b", h: 48 }
n12@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail Tool", pos: "b", h: 48 }
n13@{ icon: "mdi:message-outline", form: "rounded", label: "Slack Tool", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Low Risk Engagement", pos: "b", h: 48 }
n15@{ icon: "mdi:message-outline", form: "rounded", label: "Send Loyalty Reward Email", pos: "b", h: 48 }
n16["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Update CRM"]
n17["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Update Retention Dashboard"]
n12 -.-> n10
n13 -.-> n10
n16 --> n17
n7 -.-> n6
n2 --> n5
n4 --> n5
n14 --> n15
n6 --> n9
n8 -.-> n6
n9 --> n10
n9 --> n14
n3 --> n5
n1 --> n2
n1 --> n3
n1 --> n4
n5 --> n6
n15 --> n16
n10 --> n16
n0 --> n1
n11 -.-> 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 n6,n8,n10 ai
class n7,n11 aiModel
class n9 decision
class n2,n3,n4,n16,n17 api
classDef customIcon fill:none,stroke:none
class n2,n3,n4,n16,n17 customIcon
Varför det här spelar roll: churn-signaler missas
Churn-prevention fallerar oftast på tråkiga sätt. En hyresgäst har tre felanmälningar på en månad, lämnar en syrlig kommentar i ett feedbackformulär och slutar svara på meddelanden. Eller ett SaaS-konto öppnar två brådskande ärenden, deras NPS sjunker och användningen droppar i det tysta. Inget av det ser ut som ”de är på väg att lämna” när du ser det var för sig. Men när det är förnyelsevecka kommer alla plötsligt ihåg de där brödsmulorna. Då sitter du och erbjuder rabatter som skadebegränsning i stället för att driva en lugn, proaktiv retention-process.
Friktionen byggs på. Här är var det brukar fallera.
- Supportärenden, feedbackloggar och kundprofiler ligger i olika verktyg, så risk bedöms på magkänsla i stället för data.
- Högriskkonton routas inte tydligt, vilket gör att samma få personer reagerar sent och inkonsekvent.
- Manuella mallar för outreach driver över tid, så två kunder med samma problem får helt olika erbjudanden.
- Dashboards uppdateras ”när någon har tid”, så ledningen ser inte churn-risk över portföljen förrän det slår mot intäkterna.
Det du bygger: daglig churn-riskpoäng med automatisk outreach
Det här arbetsflödet körs enligt schema (tänk: en daglig hyresgäst-/kundgenomgång). Det hämtar hyresgäst-/kundposter, serviceärenden och feedbackloggar från dina system via HTTP Request-noder och sammanställer dem till ett ”insights”-paket per konto. Därefter analyserar en AI-agent, driven av en OpenAI Chat Model, de kombinerade signalerna och returnerar en strukturerad churn-riskpoäng plus skälen bakom. Sedan kontrollerar n8n din tröskel och routar kontot till rätt spår. Högriskkonton triggar en Slack-alert och ett personligt Gmail-erbjudande eller engagemangsmeddelande, medan lågriskkonton kan få en tacknotis eller ett lojalitetsbelöningsmejl. Till sist uppdaterar flödet CRM-posten och uppdaterar retention-dashboarden så att hela teamet ser samma läge.
Flödet startar med din dagliga schematrigger och en inställningskarta som styr vilka datakällor som ska frågas. AI hanterar utvärdering och formulering, och Slack och Gmail sköter det som är synligt för människor. Uppdateringar skrivs tillbaka till CRM och dashboard automatiskt, så inget tappas bort.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du granskar 40 hyresgäster eller konton varje vardag. Manuellt blir även ”snabba kontroller” mycket: cirka 5 minuter för att hämta en profil, 5 minuter för att skanna ärenden och 5 minuter för att läsa igenom feedback, alltså runt 15 minuter per konto. Det är ungefär 10 timmar per dag i kontextbyten. Med det här flödet lägger du kanske 10 minuter på att skanna Slack-alerts och öppnar bara de poster som verkligen har hög risk, medan dashboard- och CRM-uppdateringar sker automatiskt.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Slack för churn risk alerts till ditt team.
- Gmail för att skicka retention- och lojalitetsmejl.
- OpenAI API-nyckel (hämta den i din OpenAI-dashboard)
Kunskapsnivå: Medel. Du kopplar ihop konton, mappar några fält och sätter dina churn-trösklar och e-postmallar.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Daglig granskningstrigger. En schemalagd trigger startar körningen (de flesta team väljer vardagsmorgnar). Ett inställningssteg förbereder variabler som endpoints, risktrösklar och vilka fält som ska skrivas tillbaka till CRM.
Datainsamling och rensning. n8n hämtar hyresgäst-/kundposter, serviceärenden och feedbackloggar via HTTP Request-noder och slår sedan ihop dem till en vy per konto. Här normaliserar du namn, ID:n och tidsstämplar så att AI:n inte behöver gissa.
Riskpoängsättning och routing. En AI-agent använder OpenAI-chatmodellen för att generera en churn-riskpoäng plus ”varför” i strukturerad output. Sedan kontrollerar en If-grind din tröskel och routar kontot till högrisk-outreach eller lågrisk-uppskattning.
Outreach och uppföljning. Högriskkonton triggar en Slack-alert och ett Gmail-meddelande som är anpassat efter signalerna (senaste ärenden, klagomålsteman, fallande engagemang). Lågriskkonton kan få ett lojalitetsbelöningsmejl. Båda spåren uppdaterar CRM-posten och uppdaterar retention-dashboarden så att rapporteringen alltid är aktuell.
Du kan enkelt justera risktrösklarna efter din verksamhet eller byta Gmail-mallar för olika segment. Se den fullständiga implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: konfigurera schematriggern
Ställ in workflowen så att den körs dagligen, så att hyresgästinsikter uppdateras regelbundet.
- Lägg till och öppna Scheduled Tenant Review.
- Under Rule, ställ in intervallet så att det körs dagligen med
8i Trigger At Hour. - Koppla Scheduled Tenant Review till Workflow Settings Map.
Steg 2: anslut datakällor och inställningar
Definiera API-endpoints och kör datahämtning parallellt för hyresgästposter, serviceärenden och feedbackloggar.
- Öppna Workflow Settings Map och ange följande värden:
- Ställ in tenantApiUrl till
<__PLACEHOLDER_VALUE__Tenant API endpoint URL__>. - Ställ in serviceRequestApiUrl till
<__PLACEHOLDER_VALUE__Service Request API endpoint URL__>. - Ställ in feedbackApiUrl till
<__PLACEHOLDER_VALUE__Feedback API endpoint URL__>. - Ställ in crmApiUrl till
<__PLACEHOLDER_VALUE__CRM API endpoint URL__>och dashboardApiUrl till<__PLACEHOLDER_VALUE__Dashboard API endpoint URL__>. - Ställ in churnRiskThreshold till
70. - Bekräfta att Workflow Settings Map matar ut till Retrieve Tenant Records, Retrieve Service Tickets och Retrieve Feedback Logs parallellt.
- I Retrieve Tenant Records, ställ in URL till
{{ $('Workflow Settings Map').first().json.tenantApiUrl }}och aktivera Send Headers medContent-Type: application/json. - I Retrieve Service Tickets, ställ in URL till
{{ $('Workflow Settings Map').first().json.serviceRequestApiUrl }}och aktivera Send Headers medContent-Type: application/json. - I Retrieve Feedback Logs, ställ in URL till
{{ $('Workflow Settings Map').first().json.feedbackApiUrl }}och aktivera Send Headers medContent-Type: application/json.
Workflow Settings Map matar ut till både Retrieve Tenant Records, Retrieve Service Tickets och Retrieve Feedback Logs parallellt.
⚠️ Vanlig fallgrop: Om era API:er kräver autentisering, lägg till headers eller credentials i noderna för HTTP Request innan ni testar.
Steg 3: sammanställ data och konfigurera AI-insiktsmotorn
Kombinera källdata och analysera churn-risk med AI-agenten med en strukturerad output-parser.
- Öppna Assemble Tenant Insights och bekräfta dessa tilldelningar:
- Ställ in tenantData till
{{ $('Retrieve Tenant Records').all() }}. - Ställ in serviceRequests till
{{ $('Retrieve Service Tickets').all() }}. - Ställ in feedbackData till
{{ $('Retrieve Feedback Logs').all() }}. - Öppna Tenant Insight Agent och ställ in Text till
Analyze this tenant data: {{ JSON.stringify($json) }}. - Säkerställ att Tenant Insight Agent har OpenAI Model Core ansluten som språkmodell.
- Credential krävs: Anslut era openAiApi-credentials i OpenAI Model Core.
- Säkerställ att Structured Output Parser är kopplad till Tenant Insight Agent med befintligt JSON-schema.
För AI-undernoder som Structured Output Parser hanteras credentials på föräldernoden. Säkerställ att credentials för OpenAI Model Core är inställda för Tenant Insight Agent.
Steg 4: konfigurera riskdirigering och kommunikationsåtgärder
Dirigera hyresgäster baserat på churn-risk och trigga rätt spår för uppföljning och belöning.
- Öppna Churn Risk Gate och ställ in villkoret så att det jämför
{{ $('Tenant Insight Agent').item.json.churnRiskScore }}mot{{ $('Workflow Settings Map').first().json.churnRiskThreshold }}med Number → Greater Than or Equal. - På grenen true, bekräfta att High Risk Outreach Agent är ansluten.
- I High Risk Outreach Agent, behåll Text inställd på
High-risk tenant detected: {{ $json.tenantName }} (ID: {{ $json.tenantId }}). Churn risk: {{ $json.churnRiskScore }}%. Key issues: {{ JSON.stringify($json.keyIssues) }}. Recommended actions: {{ JSON.stringify($json.recommendedActions) }}.. - Säkerställ att OpenAI Comms Model är ansluten som språkmodell för High Risk Outreach Agent.
- Credential krävs: Anslut era openAiApi-credentials i OpenAI Comms Model.
- Bekräfta att High Risk Outreach Agent har verktygskopplingar till Gmail Dispatch Tool och Slack Alert Tool.
- Credential krävs: Anslut era gmailOAuth2-credentials i Gmail Dispatch Tool.
- Credential krävs: Anslut era slackOAuth2Api-credentials i Slack Alert Tool.
- På grenen false, bekräfta att Low Risk Appreciation är ansluten till Send Loyalty Reward Mail.
- I Low Risk Appreciation, bekräfta att emailSubject är
Thank You for Being a Valued Tenant!och att emailBody använder den angivna HTML:en med{{ $json.tenantName }}. - I Send Loyalty Reward Mail, ställ in Send To till
{{ $json.tenantEmail || '<__PLACEHOLDER_VALUE__Tenant email field from data__>' }}, Message till{{ $json.emailBody }}och Subject till{{ $json.emailSubject }}. - Credential krävs: Anslut era gmailOAuth2-credentials i Send Loyalty Reward Mail.
För AI-verktyg som Gmail Dispatch Tool och Slack Alert Tool tillämpas credentials på verktygsnoderna, medan AI-exekveringen styrs av High Risk Outreach Agent.
⚠️ Vanlig fallgrop: Säkerställ att output-fälten från AI-verktygen är tillgängliga—saknade $fromAI-fält resulterar i tomma e-postmeddelanden eller Slack-meddelanden.
Steg 5: uppdatera CRM- och dashboardposter
Spara insikter i ert CRM och uppdatera er dashboard för retention efter uppföljning eller belöningar.
- Öppna Update CRM Record och ställ in URL till
{{ $('Workflow Settings Map').first().json.crmApiUrl }}. - Ställ in Method till POST och JSON Body till
{{ { tenantId: $json.tenantId, satisfactionScore: $json.satisfactionScore, churnRiskScore: $json.churnRiskScore, churnRiskLevel: $json.churnRiskLevel, lastAnalyzed: new Date().toISOString(), actionsTaken: $json.recommendedActions } }}. - Aktivera Send Body, Send Headers, och ställ in Content-Type till
application/json. - Öppna Refresh Retention Dashboard och ställ in URL till
{{ $('Workflow Settings Map').first().json.dashboardApiUrl }}. - Ställ in Method till POST och JSON Body till
{{ { tenantId: $json.tenantId, tenantName: $json.tenantName, satisfactionScore: $json.satisfactionScore, churnRiskScore: $json.churnRiskScore, churnRiskLevel: $json.churnRiskLevel, engagementLevel: $json.engagementLevel, timestamp: new Date().toISOString() } }}.
Steg 6: testa och aktivera er workflow
Kör ett manuellt test för att validera datahämtning, AI-output, dirigering och kommunikationsåtgärder innan ni aktiverar schemat.
- Klicka på Execute Workflow för att köra Scheduled Tenant Review manuellt.
- Verifiera att Workflow Settings Map förgrenar till Retrieve Tenant Records, Retrieve Service Tickets och Retrieve Feedback Logs parallellt.
- Kontrollera output från Tenant Insight Agent och bekräfta att Structured Output Parser producerar
churnRiskScore,churnRiskLevelochrecommendedActions. - Bekräfta att Churn Risk Gate dirigerar högriskhyresgäster till High Risk Outreach Agent och lågriskhyresgäster till Low Risk Appreciation.
- Verifiera att e-post och Slack-notifieringar skickas korrekt, och att Update CRM Record och Refresh Retention Dashboard tar emot förväntade payloads.
- När ni har verifierat, slå om workflowen till Active så att Scheduled Tenant Review körs automatiskt.
Felsökningstips
- Gmail-inloggningar kan löpa ut eller kräva rätt Google-behörigheter. Om meddelanden inte skickas, kontrollera Gmail-kopplingen i n8n Credentials och bekräfta att inkorgen fortfarande har åtkomst.
- Om du använder externa system för ärenden eller feedback kan deras API:er ibland returnera tomma sidor eller tajma ut. När efterföljande steg misslyckas, höj retry-inställningar eller lägg in en kort wait före AI-steget för att undvika att analysera ofullständig data.
- Standardprompter för AI är ärligt talat för generiska för retention-outreach. Lägg in er tonalitet, tillåtna incitament och regler för ”säga aldrig detta” i AI-agentens prompt, annars kommer du skriva om mejl hela veckan.
Snabba svar
Cirka en timme om dina datakällor är redo.
Nej. Du kopplar ihop dina verktyg, mappar några fält och justerar churn-tröskeln och e-postmallarna.
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 med OpenAI API-kostnader (ofta några dollar i månaden vid typiska volymer).
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) 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 förmodligen. Du kan ändra tröskeln i Churn Risk Gate, byta språket för outreach i High Risk Outreach Agent eller lägga till segmenteringsregler i steget Assemble Tenant Insights (till exempel olika incitament för högvärdeskunder). Om dina ”ärenden” ligger i en annan plattform, byt ut HTTP-requesten Retrieve Service Tickets mot rätt endpoint och behåll resten som det är. Du kan också skicka Slack-alerten till olika kanaler baserat på kontoansvarig med en Switch-nod.
Oftast är det en behörighetsfråga i din Slack-appkonfiguration. Anslut Slack på nytt i n8n, bekräfta att token har rätt att posta i målkanalen och dubbelkolla kanal-ID om du inte använder kanalnamn. Om du nyligen ändrade säkerhetsinställningar i workspacet kan tokens återkallas utan mycket förvarning. Rate limits kan också ställa till det när du larmar på en stor batch samtidigt, så överväg att gruppera alerts till ett enda meddelande för dagen.
För de flesta små team är hundratals konton per dag realistiskt, men det beror på dina API-begränsningar och hur tunga dina AI-prompter är. I n8n Cloud beror din månadsgräns för körningar på din plan, och varje daglig körning kan exekvera många noder per konto. Om du self-hostar finns ingen plattformsgräns för körningar, men din server och uppströms-API:er blir flaskhalsen. Om du förväntar dig tusentals konton, batcha dina HTTP-hämtningar och håll AI-analysen till ”bara konton med starka signaler” i stället för alla.
Ofta, ja, eftersom den här typen av flöde behöver förgrening, sammanslagning, strukturerad AI-output och flera write-backs utan att du betalar extra för varje väg. n8n ger dig också möjligheten att self-hosta med obegränsade körningar, vilket är användbart när du poängsätter många konton dagligen. Zapier eller Make kan fortfarande vara helt okej om du bara vill ha en enkel regel som ”nytt ärende → skicka Slack-meddelande”. Så fort du behöver hämta tre datakällor, poängsätta risk och uppdatera ett CRM blir det snabbt rörigt. Prata med en automationsexpert om du vill ha hjälp att välja.
Du behöver inte fler churn-möten. Du behöver ett system som upptäcker risk tidigt, larmar rätt personer och följer upp utan att förlita sig på minnet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.