Din feedback ligger i ett Google Sheet, men den hjälper dig inte att fatta beslut. Det är rad efter rad med kommentarer, dubbletter, vaga klagomål och “låter bra”-svar som tar evigheter att tolka.
Det är här automationen Sheets Gmail insights gör verklig nytta. Marknadschefer som vill se kampanjreaktioner, produktansvariga som sorterar funktionsönskemål och kundnära byråägare som sammanfattar sentiment stöter alla på samma vägg: kalkylarket växer, men tydligheten gör det inte.
Det här flödet förvandlar råtext till teman, diagram och en korrekt formaterad HTML-rapport, och mejlar den sedan via Gmail. Du ser vad som händer, varför det händer och vad du bör göra härnäst.
Så här fungerar automationen
Se hur den löser problemet:
n8n Workflow Template: Google Sheets till Gmail: feedbackinsikter i inkorgen
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Google Sheets", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n3@{ icon: "mdi:code-braces", form: "rounded", label: "Prepare Prompts1", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "analysis topics proposal", pos: "b", h: 48 }
n6@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser1", 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 original table and the.."]
n9@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model2", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Unified AI Agent for analysis", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Transform results into columns"]
n12["<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/>All unique elements merge"]
n13@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser2", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "proposal refinement agent", pos: "b", h: 48 }
n15@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model3", pos: "b", h: 48 }
n16@{ icon: "mdi:robot", form: "rounded", label: "Second iteration of analysis", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser3", 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/merge.svg' width='40' height='40' /></div><br/>Merge"]
n19@{ icon: "mdi:robot", form: "rounded", label: "Summarization of the unalyse..", pos: "b", h: 48 }
n20@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model4", pos: "b", h: 48 }
n21@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser4", pos: "b", h: 48 }
n22@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model5", pos: "b", h: 48 }
n23@{ icon: "mdi:robot", form: "rounded", label: "Final report editor", pos: "b", h: 48 }
n24@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser5", pos: "b", h: 48 }
n25@{ icon: "mdi:robot", form: "rounded", label: "Revisor and HTML formating a..", pos: "b", h: 48 }
n26@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model6", pos: "b", h: 48 }
n27@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Get the first n rows", pos: "b", h: 48 }
n28["<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/>wrap up the whole results in.."]
n29["<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/>Merging first sample rows"]
n30@{ icon: "mdi:robot", form: "rounded", label: "Completion agents (optional)", pos: "b", h: 48 }
n31@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model7", pos: "b", h: 48 }
n32@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n33@{ icon: "mdi:message-outline", form: "rounded", label: "Gmail", pos: "b", h: 48 }
n18 --> n16
n32 --> n33
n1 --> n27
n1 --> n8
n1 --> n18
n3 --> n10
n2 -.-> n10
n6 -.-> n5
n9 -.-> n14
n15 -.-> n16
n20 -.-> n19
n22 -.-> n23
n26 -.-> n25
n31 -.-> n30
n23 --> n25
n27 --> n29
n4 -.-> n10
n5 --> n8
n12 --> n14
n29 --> n5
n7 -.-> n5
n13 -.-> n14
n17 -.-> n16
n21 -.-> n19
n24 -.-> n23
n14 --> n18
n30 --> n32
n16 --> n28
n10 --> n11
n11 --> n12
n25 --> n30
n0 --> n1
n8 --> n3
n19 --> n23
n28 --> n19
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 n4,n5,n7,n10,n13,n14,n16,n17,n19,n21,n23,n24,n25,n30 ai
class n2,n6,n9,n15,n20,n22,n26,n31 aiModel
class n27 decision
class n1 database
class n3,n11,n12,n28,n29 code
classDef customIcon fill:none,stroke:none
class n8,n11,n12,n18,n28,n29 customIcon
Utmaningen: att göra rörig feedback till beslut
Feedback ska vara en genväg till bättre budskap, bättre produkter och färre överraskningar. I stället blir det en återkommande uppgift där “någon borde sammanfatta det här” som skjuts till fredag eftermiddag och sedan hoppas över. Du skummar 200 kommentarer, kopierar några utmärkande citat och hoppas att ingen ställer den självklara följdfrågan: “Är det en trend eller bara tre högljudda personer?” Ännu värre: sammanhanget försvinner. En vecka senare minns du inte vilka svar som handlade om prissättning, onboarding eller en konkurrent.
Det växer snabbt. Här är var det fallerar.
- Att läsa och tagga kommentarer manuellt kan sluka cirka 2 timmar per rapporteringscykel, och det känns ändå ofullständigt.
- Olika personer kategoriserar samma feedback på olika sätt, så dina “teman” skiftar beroende på vem som hade tid den dagen.
- Diagram hoppas ofta över eftersom de kräver extra jobb, vilket gör att dina insikter inte landar hos upptagna intressenter.
- När en rapport väl är skriven har tiden att agera ofta redan passerat.
Lösningen: AI-genererade teman, diagram och en Gmail-rapport
Det här flödet hämtar ostrukturerad feedback från Google Sheets och gör den till något du faktiskt kan använda. Det börjar med att provta dina första 20 rader för att generera en uppsättning analysinstruktioner (oftast 3–6), designade för att kunna återanvändas och inte vara knutna till ett produktnamn eller en specifik kolumnrubrik. Sedan paras varje feedbackrad ihop med instruktionerna och kör en första analysrunda som producerar strukturerade fält du kan sortera, filtrera och räkna. Efter det slår flödet ihop röriga utdata, avduplicerar liknande poster och klustrar synonymer så att “för dyrt”, “priset är högt” och “kostsamt” inte blir tre separata teman. En andra analysrunda kör allt igen med förfinade definitioner, och sedan skapar flödet QuickChart-visualiseringar och sammanställer en polerad HTML-rapport. Till sist skickar Gmail rapporten till de inkorgar du väljer.
Flödet startar när du kör det (manuellt, enligt schema eller via en webhook om du vill). Google Sheets levererar råkommentarerna, AI-agenter gör tolkningen, QuickChart skapar graferna och Gmail levererar slutrapporten så att den är enkel att dela och agera på.
Vad som förändras: före vs. efter
| Det här tar du bort | Effekt du kommer att se |
|---|---|
|
|
Effekt i verkligheten
Säg att du samlar in 100 nya kommentarer i veckan och vill ha 5 teman plus ett par diagram. Manuellt är det lätt att lägga cirka 3 timmar på att läsa, tagga, gruppera om dubbletter och sedan formatera något presentabelt för mejl. Med det här flödet kör du automationen, väntar på analys och diagramgenerering och får en HTML-rapport i Gmail; din tid “hands-on” hamnar närmare 10 minuter, mest för att skumma och vidarebefordra. Det är flera timmar tillbaka varje vecka, och rapportkvaliteten blir oftast bättre.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets som datakälla för feedback.
- Gmail för att skicka slutrapporten.
- DeepSeek- eller OpenAI-API-nyckel (hämtas i din leverantörs modell-dashboard).
Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och justerar några textinstruktioner (prompter) så att de matchar din verksamhet.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet steg för steg
Feedback landar i Google Sheets. Flödet hämtar rader från en specifik flik i kalkylarket och tar sedan de första 20 raderna för att skapa analysinstruktioner som passar din data.
AI skapar “linsen” du analyserar genom. En agent för förslag på prompter tar fram 3–6 dimensioner (sentiment, orsaker, funktionsönskemål, brådska eller vad du nu instruerar), formaterat som strukturerad JSON så att resten av flödet kan lita på det.
Analys i två pass förvandlar text till strukturerade insikter. Varje rad paras med varje prompt, analyseras, tolkas till kolumner och slås sedan ihop och struktureras så att synonymer klustras och kategorier inte spretar.
Diagram och slutrapporten genereras och mejlas. QuickChart skapar visualiseringar från de sammanslagna resultaten, en HTML-rapport byggs ihop och Gmail skickar den till dina valda mottagare.
Du kan enkelt ändra analysdimensionerna och rapportlayouten så att de matchar dina intressenter. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den manuella triggern
Starta arbetsflödet med en manuell trigger så att ni kan testa pipelinen vid behov.
- Lägg till noden Manual Execution Start som trigger.
- Lämna standardinställningarna som de är för manuell testning.
- Koppla Manual Execution Start till Update Google Spreadsheet.
Steg 2: Anslut Google Sheets och exempeldataflöde
Det här arbetsflödet hämtar och delar upp kalkylbladsdata för att skapa prompts och indata för analys.
- Öppna Update Google Spreadsheet och välj det kalkylark och blad som ni vill läsa/skriva.
- Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter.
- Notera den parallella routningen: Update Google Spreadsheet skickar utdata parallellt till Filter First Rows, Combine Table and Prompts och Combine Streams.
- I Filter First Rows ställer ni in era filterregler för att begränsa den initiala urvalsstorleken.
- Skicka filtrerade data till Merge Initial Sample Rows för mellanlagring innan ämnesförslag tas fram.
Steg 3: Bygg ämnesförslag och promptutkast
Det här steget genererar ämnesidéer och matchar dem mot tabelldata för att förbereda enhetliga prompts.
- Konfigurera Topic Proposal Agent för att generera ämnesidéer från Merge Initial Sample Rows.
- Säkerställ att OpenAI Chat Engine B är ansluten som språkmodell för Topic Proposal Agent; lägg till OpenAI-inloggningsuppgifter i OpenAI Chat Engine B.
- Koppla Structured Output Reader B som utdata-parser för Topic Proposal Agent; lägg till inloggningsuppgifter på OpenAI Chat Engine B, inte på parsern.
- Kombinera resultat i Combine Table and Prompts för att slå ihop ämnesförslag med raderna i arket.
- Använd Compose Prompt Drafts för att bygga prompt-payloads för analys.
Steg 4: Kör enhetlig analys och förfining
Den här delen genomför strukturerad analys, konverterar resultat och förfinar förslag.
- Skicka promptutkasten till Unified Analysis Agent för kärnanalysen.
- Säkerställ att OpenAI Chat Engine A är ansluten som språkmodell för Unified Analysis Agent; lägg till OpenAI-inloggningsuppgifter i OpenAI Chat Engine A.
- Koppla Structured Output Reader som utdata-parser för Unified Analysis Agent; lägg till inloggningsuppgifter på OpenAI Chat Engine A, inte på parsern.
- Transformera utdata i Convert Results to Columns och deduplicera sedan med Merge Unique Elements.
- Kör Proposal Refinement Agent med OpenAI Chat Engine C och Structured Output Reader C för att förfina förslagen.
- Routa förfinade förslag till Combine Streams för att slå ihop med den parallella grenen.
Steg 5: Kör sekundär analys och sammanfattningar
Den kombinerade strömmen analyseras igen, paketeras och sammanfattas innan rapportredigering.
- Mata Combine Streams in i Second Analysis Pass för en uppföljande analys.
- Säkerställ att OpenAI Chat Engine D är ansluten till Second Analysis Pass; lägg till OpenAI-inloggningsuppgifter i OpenAI Chat Engine D.
- Koppla Structured Output Reader D som utdata-parser för Second Analysis Pass; lägg till inloggningsuppgifter på OpenAI Chat Engine D, inte på parsern.
- Paketera resultat med Package Results as JSON och skicka sedan till Summarize Pending Results.
- Säkerställ att OpenAI Chat Engine E är ansluten till Summarize Pending Results och lägg till OpenAI-inloggningsuppgifter där.
- Koppla Structured Output Reader E som utdata-parser för Summarize Pending Results; lägg till inloggningsuppgifter på OpenAI Chat Engine E, inte på parsern.
Steg 6: Redigera, formatera och färdigställ slutrapporten
Det här steget skapar den slutliga formaterade rapporten med hjälp av flera AI-agenter.
- Skicka sammanfattningarna till Final Report Editor och routa sedan till Review and HTML Formatter.
- Säkerställ att OpenAI Chat Engine F är ansluten till Final Report Editor och att OpenAI Chat Engine G är ansluten till Review and HTML Formatter; lägg till OpenAI-inloggningsuppgifter i båda modellnoderna.
- Koppla Structured Output Reader F som utdata-parser för Final Report Editor; lägg till inloggningsuppgifter på OpenAI Chat Engine F, inte på parsern.
- Skicka den formaterade rapporten till Completion Agent Optional för valfri slutpolering.
- Säkerställ att OpenAI Chat Engine H är ansluten till Completion Agent Optional; lägg till OpenAI-inloggningsuppgifter i OpenAI Chat Engine H.
Steg 7: Konfigurera utdatafält och e-postnotifiering
Mappa slutliga fält och skicka rapportsammanfattningen via e-post.
- Använd Assign Output Fields för att ställa in den slutliga payload-strukturen för notifiering.
- Koppla Assign Output Fields till Dispatch Gmail Notification.
- Konfigurera Dispatch Gmail Notification med mottagare, ämne och brödtextfält.
- Inloggningsuppgifter krävs: Anslut era Gmail-inloggningsuppgifter.
Steg 8: Testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att bekräfta parallell bearbetning, AI-utdata och e-postleverans.
- Klicka på Execute Workflow för att köra Manual Execution Start och följ de parallella grenarna från Update Google Spreadsheet.
- Bekräfta att data flödar genom Topic Proposal Agent, Unified Analysis Agent och den efterföljande analyskedjan.
- Verifiera att Assign Output Fields producerar den slutliga payloaden och att Dispatch Gmail Notification skickar e-postmeddelandet.
- När allt fungerar, växla arbetsflödet till Active för produktionsanvändning.
Saker att se upp med
- Åtkomst till Google Sheets är oftast den första felpunkten. Om flödet stannar vid importen, dubbelkolla vilket Google-konto som är kopplat och de exakta behörigheterna för sheetet/fliken.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre ned i flödet fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att redigera utdata i all oändlighet.
Vanliga frågor
Cirka 30 minuter om dina konton och din API-nyckel är redo.
Ja. Du kopplar Google Sheets och Gmail och justerar sedan några AI-instruktioner på vanlig svenska.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Molnplaner börjar på 20 USD/månad för högre volym. Du behöver också räkna med API-kostnader för modellen från DeepSeek eller OpenAI.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger obegränsat antal körningar men kräver grundläggande serveradministration.
Byt analysdimensioner genom att redigera instruktionerna i Topic Proposal Agent och Proposal Refinement Agent, och justera sedan HTML:en i Review och HTML Formatter så att rapporten matchar ditt varumärke. Vanliga justeringar är att lägga till ett “brådska”-tema, dela sentiment per produktlinje och ändra vilka diagram som genereras via QuickChart.
Oftast handlar det om fel Google-konto, saknad åtkomst till det specifika kalkylarket eller att en flik har bytt namn och inte längre matchar vad flödet förväntar sig. Återanslut autentiseringsuppgifter i n8n, bekräfta att filen är delad med det kontot och välj fliken på nytt i Google Sheets-noden. Om det fortfarande misslyckas, kontrollera kvotbegränsningar på Google API-sidan, särskilt om du kör det ofta.
Den skalar bra för de flesta små team, men LLM-analys kan bli långsam om du kör tusentals rader i ett svep.
Ofta, ja, eftersom det här flödet inte är en enkel “om X så Y”. Du gör AI-analys i flera steg, slår ihop utdata, förfinar kategorier, genererar diagram och formaterar en HTML-rapport, vilket är den typ av förgrening och transformation som n8n hanterar utan problem. Zapier och Make kan lösa delar av detta, men det är vanligt att slå i begränsningar när du behöver loopar, bearbetning i flera pass eller mer avancerad datamodellering. n8n ger också möjlighet till egen hosting, vilket hjälper när du vill köra mycket utan att oroa dig för exekveringspriser. Om du är osäker, prata med en automationsexpert så kartlägger vi ditt exakta use case.
När det här väl rullar slutar feedback att vara ett kalkylark du bävar för och blir en veckosignal du kan agera på. Flödet tar hand om det repetitiva, och du står för omdömet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.