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

OpenAI + Google Sheets: upptäck churnrisk tidigt

Rickard Andersson Partner, Nodenordic.se

Dina kunddata berättar redan vilka som är på väg att churn:a. Problemet är att den är utspridd i ditt CRM, supportärenden och loggar för produktanvändning, så “signalen” syns först efter att kunden har försvunnit.

Customer Success Managers brukar känna av det här först. En growth lead som försöker flytta retention-mått känner det också. Och om du driver ett SaaS-bolag är automatiserad churn risk scoring skillnaden mellan att reagera på uppsägningar och att förebygga dem.

Det här arbetsflödet använder OpenAI för att poängsätta churn-risk, agerar automatiskt för konton med hög risk och loggar allt i Google Sheets så att du kan se vad som faktiskt fungerade. Du får veta vad det gör, hur flödet ser ut och vad du behöver se upp med när du sätter upp det.

Så fungerar automatiseringen

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

n8n Workflow Template: OpenAI + Google Sheets: upptäck churnrisk tidigt

Varför det här spelar roll: churn-signaler gömmer sig mitt framför ögonen

Churn kommer sällan från ingenstans. Det syns i små saker: färre inloggningar, ett supportärende med frustrerad ton, en intern champion som slutar svara eller ett användningsmönster som tyst sjunker vecka efter vecka. Men när ledtrådarna bor i olika verktyg fastnar du i den sämsta typen av arbete. Flikar överallt, anteckningar som kopieras in i dokument, beslut på “magkänsla” och outreach som kommer för sent. Även om du har en health score är den ofta inaktuell eftersom den bygger på att någon kommer ihåg att uppdatera den. Ärligt talat: när de flesta team väl enas om att ett konto är “i riskzonen” har kunden redan börjat titta på alternativ.

Friktionen bygger på sig. Här är var det faller isär i det dagliga arbetet.

  • Att samla churn-kontext innebär att jonglera CRM, supportverktyg och databasexporter, vilket kan äta upp cirka 2 timmar en stressig dag.
  • Riskgenomgångar hoppas över när teamet släcker bränder, så outreach blir reaktivt i stället för förebyggande.
  • Rabatter och “rädda-kunden-erbjudanden” blir one-size-fits-all eftersom ingen hinner personalisera.
  • Du kan inte bevisa vad som fungerade om utfall inte spåras på ett ställe, så varje kvartal börjar ni om med samma diskussion.

Vad du bygger: en AI-driven retention-motor som loggar allt

Det här arbetsflödet körs enligt schema (dagligen 03:00) och hämtar kundkontext från de platser som redan speglar churn-risk: dina CRM-poster, supportärendehistorik via API och produktanvändningshändelser från PostgreSQL. Det slår ihop dessa dataset till en “kundsnapshot”, och sedan analyserar OpenAI den samlade kontexten och returnerar en churn-riskpoäng som du faktiskt kan agera på. När poängen är hög (över 0,7 som standard) skapar automatiseringen ett retention-erbjudande (som en Stripe-kupong), utkastar ett personaliserat mejl med OpenAI och skickar det via Gmail. Varje åtgärd loggas i Google Sheets, och därefter följer flödet upp med mejlöppningar (via SendGrid) och verifierar retention efter cirka 30 dagar med CRM-data. Du får alltså både outreach och mätning, inte bara ännu en varning.

Arbetsflödet börjar med datainsamling från CRM, support och produktanvändning. Därefter gör OpenAI själva churn risk scoring-automationen och din logik filtrerar ut högriskkonton. Till sist genomför det rätt retention-åtgärd och håller en löpande revisionslogg i Google Sheets, inklusive öppningar och slutliga utfall.

Det här bygger du

Förväntade resultat

Säg att du har 200 aktiva kunder och att du går igenom “topp-riskerna” en gång i veckan. Manuellt kan det lätt ta cirka 10 minuter per konto att dra CRM-noteringar, skanna några supportärenden och kolla användning, så att granska ens 30 konton blir ungefär 5 timmar. Med det här arbetsflödet hämtar och slår den dagliga körningen ihop data automatiskt, OpenAI poängsätter risk och Google Sheets loggar resultaten medan du sover. På morgonen tittar du på en prioriterad lista och en historik över vilka mejl som gått ut, vilket vanligtvis tar 15 minuter att skumma igenom och fördela uppföljningar.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • OpenAI API-nyckel för churn-poängsättning och generering av copy.
  • Google Sheets för att lagra poäng, loggar och utfall.
  • Gmail (Google Workspace) för att skicka retention-mejl.
  • Stripe-konto för att skapa rabattkuponger.
  • SendGrid-konto för spårning av mejlöppningar.
  • PostgreSQL-åtkomst för loggar över produktanvändning.
  • API:er för CRM + supportverktyg (hämta tokens i leverantörens utvecklarinställningar).

Kunskapsnivå: Medel. Du kopplar några konton och uppdaterar API-endpoints/SQL så att det matchar dina system.

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

Steg för steg

En schemalagd daglig körning startar allt. Arbetsflödet triggar 03:00 och börjar hämta din kundlista från CRM via HTTP-förfrågningar.

Support- och produktanvändningskontext hämtas in. Det hämtar senaste supportärenden via API, sammanfattar nyckeltal (som ärendevolym eller sentiment) med ett kodsteg och laddar användningshändelser från PostgreSQL så att du inte gissar baserat på “senaste kontakt”-anteckningar.

OpenAI tar fram en churn-riskpoäng som du kan routa på. Efter att sammanslagningen har skapat en enhetlig “kundprofil” utvärderar OpenAI sannolikheten för churn. Sedan kontrollerar en If-nod tröskeln (0,7 som standard) och skickar högriskkunder vidare i åtgärdsspåret, medan alla andra loggas för synlighet.

Retention-åtgärder sker, och allt spåras. Högriskkonton får ett erbjudande skapat (Stripe-kupong via HTTP-förfrågan), mejltexten utkastas med OpenAI och Gmail skickar. Google Sheets registrerar raden för kampanjen, och sedan hämtar uppföljningsnoder öppningsstatistik från SendGrid och verifierar senare retention-utfall efter cirka 30 dagar via CRM-status.

Du kan enkelt ändra risktröskeln så att den matchar din marknad och avtalsstorlek. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera schematriggern

Ställ in arbetsflödet att köras enligt ett återkommande schema för att hämta kunddata och utvärdera retentionstatus.

  1. Lägg till och öppna Scheduled Run Trigger.
  2. Ställ in intervallregeln så att den körs var 3:e timme.
  3. Koppla Scheduled Run Trigger till Fetch CRM Customers.

Steg 2: koppla CRM- och supportdatakällor

Hämta aktiva CRM-kunder och ta fram deras supportärenden för de senaste 30 dagarna.

  1. Konfigurera Fetch CRM Customers med URL satt till https://api.your-crm.com/v1/customers.
  2. Aktivera Send Query och ställ in frågeparametrar: status = active, last_billing_days = 30.
  3. I Retrieve Support Tickets ställer ni URL till {{ 'https://api.support-tool.com/v1/tickets?customer_id=' + $json.customer_id }}.
  4. Säkerställ att Fetch CRM Customers skickar utdata till Retrieve Support Tickets i följd.

Inloggningsuppgifter krävs: Lägg till API-inloggningsuppgifter för ert CRM och ert supportsystem för ärenden i Fetch CRM Customers och Retrieve Support Tickets om era endpoints kräver det.

Steg 3: aggregera support- och produktanvändningsdata

Beräkna supportmått och hämta produktens användningsloggar, och kombinera sedan båda flödena.

  1. I Aggregate Support Metrics behåller ni den medföljande JavaScript-koden för att beräkna antal ärenden, CSAT och svarstider.
  2. Konfigurera Load Product Usage Logs med Operation satt till executeQuery och den angivna SQL-frågan.
  3. Säkerställ att SQL:en använder uttrycket {{ $json.customer_id }} i WHERE-villkoret.
  4. Aggregate Support Metrics skickar utdata både till Load Product Usage Logs och Combine CRM & Support parallellt.
  5. Ställ in Combine CRM & Support till Mode = combine, och koppla den sedan till Merge All Data Sets.
  6. Ställ in Merge All Data Sets till Mode = combine och koppla den till AI Churn Risk Estimate.

Inloggningsuppgifter krävs: Anslut era Postgres-inloggningsuppgifter i Load Product Usage Logs.

Steg 4: konfigurera AI-baserad churn-poäng och offerlogik

Använd AI för att poängsätta churnrisk, filtrera kunder med hög risk och generera skräddarsydda erbjudanden.

  1. Öppna AI Churn Risk Estimate och behåll Resource satt till chatCompletion.
  2. I High Risk Filter Check ställer ni villkoret till Left Value = {{ $json.churn_risk_score }} och Right Value = 0.7 med operatorn gte.
  3. Konfigurera Generate Promo Offer med URL https://api.stripe.com/v1/coupons, Method POST och Send Body aktiverat.
  4. I Generate Promo Offer ställer ni in body-parametrar: percent_off = {{ $json.mrr > 10000 ? 20 : 10 }}, duration = repeating, duration_in_months = 3, id = {{ 'RETAIN_' + $json.customer_id + '_' + Date.now() }}.
  5. Granska JavaScript-koden i Decide Offer Details för att sätta offer_type, offer_value och offer_expire_at.

Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i AI Churn Risk Estimate.

Inloggningsuppgifter krävs: Anslut era Stripe-inloggningsuppgifter i Generate Promo Offer.

⚠️ Vanlig fallgrop: Om High Risk Filter Check inte släpper igenom några poster skapas inga erbjudanden eller mejl. Validera att churn_risk_score finns i AI-svaret.

Steg 5: skapa och skicka retention-mejl

Skapa personligt mejlinnehåll och skicka det via Gmail, och logga sedan kampanjen.

  1. I Craft Retention Email behåller ni Resource satt till chatCompletion och säkerställer att den returnerar email_subject och email_body_html.
  2. Ställ in fälten i Dispatch Retention Email: Subject = {{ $json.email_subject }}, Message = {{ $json.email_body_html }}.
  3. Uppdatera vid behov alternativen i Dispatch Retention Email för BCC och Reply To.
  4. Konfigurera Append Campaign Log för att lägga till resultaten i ert kampanjspårningsark.

Inloggningsuppgifter krävs: Anslut era OpenAI-inloggningsuppgifter i Craft Retention Email.

Inloggningsuppgifter krävs: Anslut era Gmail-inloggningsuppgifter i Dispatch Retention Email.

Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter i Append Campaign Log.

Steg 6: följ upp mejlöppningsmått och retentionutfall

Samla statistik för öppningar/klick, uppdatera mätvärden och utvärdera retention efter 30 dagar.

  1. Konfigurera Fetch Pending Logs för att läsa väntande kampanjposter från Google Sheets.
  2. I Get Email Open Stats ställer ni URL till {{ 'https://api.sendgrid.com/v3/messages?msg_id=' + $json.email_provider_message_id }}.
  3. Granska JavaScript-koden i Process Open Metrics för att sätta email_opened, email_clicked och delivery_status.
  4. Konfigurera Update Metrics Sheet för att uppdatera ert mätvärdesark och koppla den sedan till Retrieve 30-Day Records.
  5. I Check Customer Status ställer ni URL till {{ 'https://api.your-crm.com/v1/customers/' + $json.customer_id + '/status' }}.
  6. Granska koden i Evaluate Retention Outcome för att sätta värden för churned, retained och upgraded.
  7. Konfigurera Update Final Results för att uppdatera kalkylarket med slutliga utfall.

Inloggningsuppgifter krävs: Anslut era SendGrid-inloggningsuppgifter i Get Email Open Stats.

Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter i Fetch Pending Logs, Update Metrics Sheet, Retrieve 30-Day Records och Update Final Results.

Inloggningsuppgifter krävs: Lägg till CRM API-inloggningsuppgifter i Check Customer Status om er endpoint kräver autentisering.

Steg 7: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att validera dataflödet och aktivera sedan schemat.

  1. Klicka på Execute Workflow för att köra från Scheduled Run Trigger och observera hela flödet.
  2. Bekräfta att Generate Promo Offer skapar kuponger och att Dispatch Retention Email skickar meddelanden.
  3. Verifiera att Append Campaign Log och Update Metrics Sheet skriver till Google Sheets med nya rader/uppdateringar.
  4. Säkerställ att retentionutfallen skrivs av Update Final Results.
  5. Slå på arbetsflödet till Active för att aktivera schemalagda körningar.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Tips för felsökning

  • Behörigheter i Google Sheets kan vara luriga. Om rader inte skrivs, kontrollera n8n-credentials för Google Sheets och bekräfta att arket är delat med det anslutna Google-kontot.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • OpenAI-resultat beror starkt på din prompt. Lägg in din tonalitet och “tillåtna erbjudanderegler” tidigt, annars kommer du att redigera mejlutkast för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här churn risk scoring-automationen?

Räkna med cirka 60 minuter om dina API:er och ditt ark är klara.

Krävs kodning för den här churn risk scoring-lösningen?

Nej, men lite SQL-redigering hjälper. Du kan ändå köra den genom att byta in enklare datakällor och behålla standardinställningarna.

Är n8n gratis att använda för det här arbetsflödet för churn risk scoring?

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 volymer. Du behöver också räkna in kostnader för OpenAI API, som oftast är några cent per poängsatt kund beroende på din promptstorlek.

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 self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa den här churn risk scoring-automationen för andra use case?

Ja, och det bör du. Du kan ändra tröskeln i High Risk Filter Check (0,7) så att den matchar din churn-verklighet, ersätta PostgreSQL-frågan för användning med din egen event-tabell och byta Gmail mot Slack om du vill ha CSM-driven outreach i stället för automatiserade mejl.

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

Oftast är det fel Google-konto eller saknad åtkomst till arket. Återanslut Google Sheets-credential i n8n, öppna sedan målarket och bekräfta att det är delat med samma konto. Om du skriver till ett skyddat område eller en omdöpt flik kan noden fallera även om autentiseringen är okej. Kontrollera också om dina kolumner har ändrats, eftersom det här arbetsflödet förväntar sig fält som customer_id, risk_score, offer_type, email_status och retention_result.

Vilken volym kan det här arbetsflödet för churn risk scoring hantera?

På en typisk n8n Cloud-plan är hundratals kunder per dag realistiskt. Om du self-hostar begränsas du främst av din server och API-rate limits från ditt CRM, supportverktyg och OpenAI.

Är den här churn risk scoring-automationen bättre än att använda Zapier eller Make?

Ofta, ja. Det här flödet har flera sammanslagningar, villkorliga vägar, uppföljningskontroller (öppningar och 30-dagars retention) och ett par steg med egen logik, vilket är där Zapier-scenarier kan bli dyra eller klumpiga. n8n ger dig också en self-host-väg, vilket spelar roll när du poängsätter många kunder dagligen. Med det sagt: om allt du vill ha är “ny rad i Sheets → skicka ett enkelt mejl” kan Zapier eller Make gå snabbare att få ut. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation.

När det här väl rullar slutar churn-risk vara ett veckovist kaos och blir ett dagligt, spårbart system. Arbetsflödet tar hand om de repetitiva uppföljningarna så att teamet kan fokusera på samtalen som får kunder att stanna.

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

Launch login modal Launch register modal