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

Google Sheets + OpenAI: sentimentpoäng för samtal

Rickard Andersson Partner, Nodenordic.se

Att lyssna på samtal hela dagen är inte det värsta. Det är den röriga uppföljningen: att hoppa mellan transkript, försöka ”sätta poäng” på tonen konsekvent och sedan inse att dina anteckningar inte stämmer med vad någon annan hade skrivit.

QA-chefer känner det först, eftersom kalibrering blir en veckovis diskussion. Men supportansvariga och operativt drivna grundare hamnar också där. Den här automatiseringen för samtalssentiment gör ett Google Sheet med transkript till konsekventa, jämförbara QA-fält som du faktiskt kan agera på.

Du får se hur arbetsflödet läser varje rad, ber OpenAI om strukturerad poängsättning inom nyckelkategorier och sedan skriver tillbaka korrekt formaterade fält i arket för filtrering, coachning och trenduppföljning.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutresultat:

n8n Workflow Template: Google Sheets + OpenAI: sentimentpoäng för samtal

Problemet: manuella samtalsgranskningar skalar inte

När varje samtal ”borde granskas” betyder det i praktiken: några få blir granskade, resten blir en vag känsla av att allt är okej. Manuell QA faller ihop så fort volymen ökar, eller när du har flera granskare med olika standarder. En person flaggar en hälsning som ”kall”, en annan kallar den ”neutral”, och plötsligt blir coachning till en diskussion om åsikter. Och om dina transkript ligger i Google Sheets slutar du med att kopiera utdrag till anteckningar, jaga kolumner och tappa all möjlighet till strukturerad rapportering.

Det adderas snabbt. Här är var friktionen byggs på.

  • Att granska ens 20 transkript i veckan kan sluka cirka 3 till 5 timmar fokuserad tid.
  • Poängsättningen glider mellan granskare, så ”agentens vänlighet” betyder något olika varje vecka.
  • Coachning försenas eftersom insikterna fastnar i fritextanteckningar.
  • Du kan inte filtrera pålitligt på ”ärendet löst” eller ”dålig avslutning” om de fälten inte fylls i konsekvent.

Lösningen: automatiserad sentimentpoängsättning i Google Sheets

Det här arbetsflödet bevakar ett Google Sheet som innehåller samtalstranskript (plus agentnamn och kundnamn) och analyserar sedan varje samtal med OpenAI via en strukturerad prompt. I stället för att ge en textklump returnerar det strukturerade, förutsägbara fält: sentiment för hälsning, agentens vänlighet, sentiment för problemlösning, kundens sentiment, sentiment för avslut, om ärendet blev löst samt ett övergripande samtalsbetyg. n8n loopar igenom varje rad, mappar transkriptet till AI-steget, tolkar svaret som strukturerad JSON och skriver tillbaka resultaten i nya kolumner i samma ark. Det betyder att din ”QA-blankett” blir kalkylarket du redan använder, bara uppgraderat med konsekvent poängsättning.

Arbetsflödet startar enligt schema, hämtar alla transkript från Google Sheets och bearbetar dem i batchar. OpenAI poängsätter varje transkript enligt samma kategorier varje gång. Till sist uppdaterar n8n originalraden, så att teamet kan sortera, filtrera och coacha utan att skriva om något.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att ditt team loggar 50 samtal i veckan i ett Google Sheet. Om en granskare lägger cirka 6 minuter på att läsa varje transkript och fylla i några QA-fält blir det ungefär 5 timmar i veckan, och det blir ändå inte helt konsekvent. Med det här arbetsflödet triggar du det enligt schema, låter det köra i bakgrunden en stund och sedan uppdateras arket automatiskt med sentimentfält och ett slutbetyg. Du granskar fortfarande de samtal som fått lägst betyg, men nu granskar du utifrån en shortlist i stället för en gissning.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra transkript och QA-fält
  • OpenAI för att poängsätta sentiment och status för ärendelösning
  • OpenAI API-nyckel (hämta den i OpenAI:s API-dashboard)

Kunskapsnivå: Nybörjare. Du kopplar konton, bekräftar kolumner i arket och klistrar in din API-nyckel.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

En schemalagd körning startar det. n8n kör på en timer (dagligen eller veckovis är vanligt) så att nya transkript poängsätts utan att någon behöver komma ihåg att trycka på en knapp.

Ditt ark hämtas och bearbetas i batchar. Arbetsflödet hämtar alla rader från Google Sheets och loopar igenom dem. Batchning spelar roll när arket växer, eftersom du inte vill att en enda jättelik körning ska timea ut.

OpenAI poängsätter transkriptet med en strukturerad prompt. Transkripttexten mappas in i AI-steget, som returnerar specifika fält som sentiment för hälsning, kundens sentiment, ”ärendet löst” och ett övergripande betyg.

Resultaten går direkt tillbaka till Google Sheets. Den strukturerade JSON:en tolkas och används för att uppdatera samma rad, med nya kolumner för varje kategori så att du kan filtrera och coacha direkt.

Du kan enkelt justera poängkategorierna så att de matchar din QA-mall (eller betygsskalan) utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den schemalagda triggern

Ställ in arbetsflödet så att det körs automatiskt enligt ett dagligt schema med den befintliga trigger-noden.

  1. Lägg till eller öppna Scheduled Automation Trigger.
  2. Ställ in schemaregeln så att den körs vid triggerAtHour: 19 under intervallkonfigurationen.
  3. Koppla Scheduled Automation Trigger till Retrieve All Transcripts så att det matchar arbetsflödets flöde.

Steg 2: anslut Google Sheets

Konfigurera läs- och uppdateringsoperationerna för transkript-arket.

  1. Öppna Retrieve All Transcripts och ställ in Document till [YOUR_ID] och Sheet till Sheet1 (gid=0).
  2. Under Filters, behåll uppslagskolumnen inställd på Status.
  3. Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter till Retrieve All Transcripts.
  4. Öppna Update Transcript Analysis och bekräfta att Operation är inställd på update med samma inställningar för Document och Sheet.
  5. Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter till Update Transcript Analysis.

⚠️ Vanlig fallgrop: Säkerställ att arket innehåller en kolumn Full Transcript eftersom den används som matchningskolumn i Update Transcript Analysis.

Steg 3: sätt upp postloopen och fältmappningen

Loop:a igenom varje transkriptrad och mappa transkripttexten för analys.

  1. Bekräfta att Retrieve All Transcripts skickar utdata till Iterate Through Records.
  2. Öppna Iterate Through Records och behåll standardinställningarna för batch för sekventiell bearbetning.
  3. I Map Transcript Field, ställ in tilldelningen för Full Transcript till ={{ $json["Full Transcript"] }}.
  4. Verifiera loop-kopplingen: Update Transcript Analysis skickar utdata tillbaka till Iterate Through Records.

Steg 4: konfigurera AI-sentimentanalys och strukturerad output

Använd AI-agenten för att analysera varje transkript och returnera ett strukturerat JSON-svar.

  1. Öppna OpenAI Dialogue Model och ställ in modellen till gpt-4o-mini.
  2. Autentiseringsuppgifter krävs: Anslut era openAiApi-autentiseringsuppgifter till OpenAI Dialogue Model.
  3. Öppna Analyze Transcript Sentiment och ställ in Text till ={{ $json["Full Transcript"] }}.
  4. I Analyze Transcript Sentiment, behåll Prompt Type som define och bekräfta att System Message innehåller den tillhandahållna rubricen för sentiment.
  5. Öppna Structured JSON Output och behåll JSON Schema Example som angivet för en konsekvent output-struktur.
  6. Säkerställ att Structured JSON Output är ansluten som output-parser till Analyze Transcript Sentiment. Autentiseringsuppgifter ska läggas till i OpenAI Dialogue Model, inte i Structured JSON Output.

⚠️ Vanlig fallgrop: Om AI-utdata inte är giltig JSON kommer uppdateringssteget att misslyckas. Behåll schemat för strukturerad output oförändrat om ni inte också uppdaterar kolumnmappningen i Google Sheets.

Steg 5: konfigurera output-mappning i Google Sheets

Skriv tillbaka de AI-genererade sentimentfälten till transkript-arket.

  1. I Update Transcript Analysis, mappa Status till Done.
  2. Ställ in Agent Name till ={{ $json.output["Agent Name"] }} och Customer Name till ={{ $json.output["Customer Name"] }}.
  3. Ställ in Total Rating till ={{( Number($json.output["Greeting Sentiment"]) + Number($json.output["Closing Sentiment"]) + Number($json.output["Problem Solving"]) + Number($json.output["Agent Friendliness"]))/4}}.
  4. Mappa Full Transcript till ={{ $('Iterate Through Records').item.json['Full Transcript'] }} så att uppdateringen matchar rätt rad.
  5. Mappa resterande sentimentfält med exakt samma uttryck som i noden: Greeting Sentiment, Closing Sentiment, Problem Solving, Agent Friendliness, Customer Sentiment, Issue Resolved och Conversations Topics.

Tips: Behåll matchingColumns inställd på Full Transcript så att varje rad uppdateras korrekt i stället för att skapa dubbletter.

Steg 6: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att validera dataflödet och bekräfta att arbetsflödet är redo för schemaläggning.

  1. Klicka på Execute Workflow för att trigga Scheduled Automation Trigger manuellt.
  2. Följ hur Iterate Through Records bearbetar varje transkript och verifiera att Analyze Transcript Sentiment returnerar en strukturerad JSON-output.
  3. Bekräfta att Update Transcript Analysis uppdaterar rätt rader och skriver värden som Status: Done och sentimentscorerna.
  4. När testet lyckas, slå om 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

Vanliga fallgropar

  • Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först n8n:s inställningar för inloggning och åtkomstomfånget för ditt Google-konto.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströms noder misslyckas på grund av tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata för alltid.

Vanliga frågor

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

Cirka 30 minuter om ditt ark är klart.

Behöver jag kodningskunskaper för att automatisera poängsättning av samtalssentiment?

Nej. Du kopplar Google Sheets och OpenAI och bekräftar sedan vilka kolumner som innehåller transkript och namn.

Är n8n gratis att använda för det här arbetsflödet för automatisering av samtalssentiment?

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-användning (oftast några dollar i månaden om du inte bearbetar tusentals transkript).

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 klarar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för automatisering av samtalssentiment till en annan QA-mall?

Ja, och det borde du sannolikt göra. Du kan justera prompten i AI-steget Analyze Transcript Sentiment så att kategorierna matchar ditt scorecard (till exempel lägga till ”policyefterlevnad” eller ”nästa steg bekräftade”). Du kan också ändra parsern för Structured JSON Output för att tvinga igenom dina exakta fältnamn och tillåtna värden. Vanliga anpassningar är poängsättning på en 1–5-skala, att lägga till ämnesetiketter och att flagga samtal som behöver en chefsgranskning.

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

Oftast är det en behörighetsfråga eller en utgången Google-auktorisering. Koppla om Google Sheets-inloggningen i n8n och bekräfta sedan att arket är delat med samma Google-konto och att arbetsflödet pekar på rätt kalkylark och flik. Om det bara fallerar vid uppdateringar, kontrollera att arbetsflödet har det rad-ID (eller matchande nyckel) som krävs för att skriva tillbaka till rätt rad.

Hur många transkript kan den här automatiseringen för samtalssentiment hantera?

Hundratals per körning är realistiskt för de flesta team, och det går att skala upp därifrån om du batchar och dina OpenAI-gränser tillåter det.

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

Ofta, ja, om du vill ha strukturerade fält, batchning och mer kontroll över hur AI-utdata valideras. n8n är bekvämt med loopar och jobb som ”bearbeta varje rad”, vilket är exakt så transkript-QA ser ut i verkligheten. Det är också enklare att hålla kostnaderna förutsägbara när du kör många exekveringar, särskilt om du self-hostar. Zapier eller Make kan fortfarande fungera för enklare användning, som att poängsätta en handfull transkript per dag, men du kan slå i begränsningar snabbare. Prata med en automationsexpert om du vill ha hjälp att välja.

När det här väl rullar blir ditt kalkylark ett QA-system som inte blir trött eller inkonsekvent. Du fokuserar på coachning och mönster. Arbetsflödet tar hand om den repetitiva poängsättningen.

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