Din supportinkorg fylls på, och plötsligt skriver du om samma svar på ”hur återställer jag mitt lösenord?” för tionde gången. Sedan frågar någon en lite annan variant, och du letar i gamla trådar eller jagar rätt dokument i Drive. Det går långsamt. Det är frustrerande. Och det är så team till slut skickar ”ganska bra” svar i stället för de korrekta.
Det är här Gmail-supportautomatisering ger effekt. Supportansvariga märker det först, men marknadschefer som också hanterar förfrågningar och byråägare som gör kundsupport hamnar i samma loop. Det här flödet skapar konsekventa svarsutkast åt dig, med dina egna Google Drive-dokument som enda källa till sanning.
Du får se hur flödet klassificerar nya mejl, hämtar den mest relevanta kunskapen från Drive (via en vektordatabas) och skapar ett färdigt Gmail-utkast som teamet kan godkänna och skicka.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Gmail + Google Drive: supportutkast åt dig
flowchart LR
subgraph sg0["Email Monitor Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Email Monitor", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "AI Email Classifier", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Route Email", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "AI Response Generator", pos: "b", h: 48 }
n4@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model2", pos: "b", h: 48 }
n5@{ icon: "mdi:wrench", form: "rounded", label: "Vector Store Tool1", pos: "b", h: 48 }
n6@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model3", pos: "b", h: 48 }
n7@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI1", pos: "b", h: 48 }
n8@{ icon: "mdi:cube-outline", form: "rounded", label: "Supabase Vector Store", pos: "b", h: 48 }
n19@{ icon: "mdi:message-outline", form: "rounded", label: "Create Draft", pos: "b", h: 48 }
n2 --> n3
n19 -.-> n3
n0 --> n1
n7 -.-> n8
n4 -.-> n3
n6 -.-> n5
n5 -.-> n3
n1 --> n2
n8 -.-> n5
end
subgraph sg1["File Created Flow"]
direction LR
n9@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Download File", pos: "b", h: 48 }
n11@{ icon: "mdi:play-circle", form: "rounded", label: "File Created", pos: "b", h: 48 }
n12@{ icon: "mdi:play-circle", form: "rounded", label: "File Updated", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Extract Document Text", pos: "b", h: 48 }
n14@{ icon: "mdi:robot", form: "rounded", label: "Recursive Character Text Spl..", pos: "b", h: 48 }
n15["<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/supabase.svg' width='40' height='40' /></div><br/>Delete Old Doc Rows"]
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set File ID", pos: "b", h: 48 }
n17@{ icon: "mdi:cube-outline", form: "rounded", label: "Insert into Supabase Vectors..", pos: "b", h: 48 }
n18@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI", pos: "b", h: 48 }
n16 --> n15
n11 --> n16
n12 --> n16
n10 --> n13
n18 -.-> n17
n9 -.-> n17
n15 --> n10
n13 --> n17
n14 -.-> n9
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,n11,n12 trigger
class n1,n3,n9,n14 ai
class n4,n6 aiModel
class n5 ai
class n8,n17 ai
class n7,n18 ai
class n2 decision
classDef customIcon fill:none,stroke:none
class n15 customIcon
Problemet: supportsvar blir långsammare när ni växer
Manuell support känns hanterbar ända tills den inte gör det. En handfull mejl blir dussintals, och plötsligt blir din mapp med ”snabbsvar” ett rörigt museum av utdaterade svar. Någon uppdaterar ett policydokument i Google Drive, men teamet fortsätter använda en gammal mall från minnet. Samtidigt gör nyanställda sitt bästa, men de gissar mer än de borde eftersom det tar för lång tid att hitta rätt referens. Den verkliga kostnaden är inte bara tid. Det är inkonsekvens, onödiga eskaleringar och den där smygande känslan av att alltid ligga efter.
Det bygger snabbt upp. Här är var det vanligtvis fallerar.
- Handläggare lägger cirka 10 minuter på att leta i dokument och tidigare trådar för varje ”enkel” fråga.
- Två personer svarar olika på samma fråga, och kunderna märker skillnaden.
- Drive-dokument uppdateras, men svaren gör det inte, så utdaterade instruktioner fortsätter att skickas ut.
- När volymen ökar sjunker kvaliteten eftersom hastighet blir det enda målet.
Lösningen: skapa Gmail-svarsutkast med Drive som kunskapsbas
Det här flödet gör inkorgen till ett styrt system i stället för ett ständigt kaos. När ett nytt mejl kommer in i Gmail granskar en AI-kategoriserare meddelandet och avgör om det är en supportförfrågan eller något annat. Supportmejl skickas vidare till en AI-agent som skriver svaret, men inte utifrån ”allmän internetkunskap”. Den hämtar kontext från dina egna Google Drive-dokument som har indexerats i en vektordatabas (Supabase). Flödet hittar de närmaste matchande textavsnitten, använder dem som grund för utkastet och skapar sedan ett Gmail-utkast som en människa kan granska och skicka.
Parallellt bevakar Google Drive-mapptriggers nya eller uppdaterade filer. När något ändras laddar flödet ner dokumentet, extraherar texten, delar upp den i läsbara avsnitt, genererar embeddings och sparar den uppdaterade kunskapen i Supabase. Gamla poster rensas först, så boten inte citerar gårdagens policy.
Det du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att din inkorg får cirka 30 supportmejl per dag. Manuellt, om varje mejl tar runt 10 minuter att läsa, söka i Google Drive, klistra in länkar och skriva ett vettigt svar, blir det ungefär 5 timmar utkastskrivande per dag. Med det här flödet granskar du fortfarande varje svar, men första utkastet dyker upp som ett Gmail-utkast med cirka 1–2 minuters uppmärksamhet per mejl. Säg en timme om dagen i granskningstid, plus bakgrundsprocessning som du inte behöver sitta och vakta. Det är ungefär 4 timmar tillbaka, de flesta dagar.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Gmail för att bevaka mejl och skapa utkast
- Google Drive för era hjälpdokument och policys
- Supabase för att lagra och söka i dokument-embeddings
- OpenAI API-nyckel (hämta den i OpenAI API-dashboarden)
Kunskapsnivå: Medel. Du kopplar konton, lägger in mapp-ID:n och klistrar in API-nycklar, men du behöver inte skriva kod från grunden.
Vill du inte sätta upp detta själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett nytt mejl kommer in i Gmail. Gmail-triggern bevakar din valda inkorg eller etikett och körs så fort ett meddelande kommer in.
Meddelandet sorteras till ”support” eller ”inte support”. En AI-kategoriserare läser mejlet och skickar resultatet till en routningsswitch, så att bara riktiga supportärenden går vidare till utkastspåret.
Er Drive-kunskap söks igenom innan något skrivs. Agenten kör en vektorsimilaritetssökning mot ert Supabase-index för att hitta de mest relevanta dokumentavsnitten (återbetalningspolicy, installationsinstruktioner, prisregler, vad ni nu har i Drive).
Ett svarsutkast skapas i Gmail. Flödet använder en OpenAI-chattmodell för att skriva ett förankrat svar och sparar det sedan som ett Gmail-utkast så att du kan godkänna, justera och skicka.
Du kan enkelt ändra routningsreglerna så att de matchar era etiketter och teamköer utifrån era behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera Gmail-triggern
Ställ in arbetsflödet så att det lyssnar efter nya supportmejl och skickar dem vidare till AI-klassificeringssteget.
- Lägg till noden Inbox Watcher och anslut den som trigger.
- Credential Required: Anslut era Gmail-inloggningsuppgifter till Inbox Watcher.
- Anslut Inbox Watcher till AI Message Categorizer för att skicka inkommande meddelanden in i AI-pipelinen.
⚠️ Vanlig fallgrop: Om er Gmail-trigger inte körs, dubbelkolla att Gmail-kontot har behörigheter för n8n och att det kommer in nya meddelanden i inkorgen efter aktivering.
Steg 2: Anslut Google Drive-uppdateringar för synk av kunskapsbas
Fånga ändringar i Drive-filer och förbered dokument för indexering i er vektordatabas.
- Lägg till noderna Drive File Created Trigger och Drive File Updated Trigger för att upptäcka nya eller redigerade Drive-filer.
- Credential Required: Anslut era Google Drive-inloggningsuppgifter till både Drive File Created Trigger och Drive File Updated Trigger.
- Anslut båda triggernoderna till Assign File Identifier, och anslut sedan Assign File Identifier till Purge Prior Doc Rows.
- Credential Required: Anslut era Supabase-inloggningsuppgifter till Purge Prior Doc Rows.
- Anslut Purge Prior Doc Rows till Retrieve Drive File, och anslut sedan Retrieve Drive File till Extract File Text.
- Credential Required: Anslut era Google Drive-inloggningsuppgifter till Retrieve Drive File.
Tips: Retrieve Drive File har Execute Once aktiverat—behåll den inställningen för att förhindra redundanta filhämtningar vid omkörningar.
Steg 3: Sätt upp dokumentchunkning och vektorindexering
Dela upp extraherad text i chunkar och lagra embeddings i Supabase för AI-återhämtning.
- Säkerställ att Extract File Text är ansluten till Insert Into Supabase Index för att mata in tolkat innehåll till indexeringen.
- Anslut Recursive Text Chunker till Baseline Data Loader, och anslut sedan Baseline Data Loader till Insert Into Supabase Index.
- Credential Required: Anslut era Supabase-inloggningsuppgifter till Insert Into Supabase Index.
- Embedding Generator B är länkad till Insert Into Supabase Index som en AI-embedding-under-nod—lägg till OpenAI-inloggningsuppgifter på Insert Into Supabase Index, inte på Embedding Generator B.
⚠️ Vanlig fallgrop: Om embeddings saknas, verifiera att OpenAI-inloggningsuppgifterna är applicerade på den överordnade vektorstore-noden (Insert Into Supabase Index), inte på embedding-under-noden.
Steg 4: Konfigurera AI-kategorisering och routning
Klassificera inkommande meddelanden och routa dem till svarskompositören baserat på kategori.
- Credential Required: Anslut era OpenAI-inloggningsuppgifter till AI Message Categorizer.
- Verifiera anslutningsflödet Inbox Watcher → AI Message Categorizer → Routing Switch.
- I Routing Switch, definiera kategorivillkor som matchar utdata från AI Message Categorizer.
- Anslut relevant switch-utgång till Support Reply Composer.
Tips: Synka kategorierna som genereras av AI Message Categorizer med reglerna i Routing Switch för att undvika oavsiktlig genomsläppning.
Steg 5: Sätt upp skapande av supportsvar med AI-verktyg
Bygg AI-agenten som använder vektorlagret och verktyget för utkast för att generera mejlsvar.
- Anslut Support Reply Composer till Primary Chat Model som dess språkmodell.
- Credential Required: Anslut era OpenAI-inloggningsuppgifter till Primary Chat Model och Secondary Chat Model.
- Anslut Vector Search Tool som ett AI-verktyg till Support Reply Composer, och länka Supabase Vector Index till Vector Search Tool.
- Supabase Vector Index använder Embedding Generator A som en embedding-under-nod—lägg till OpenAI-inloggningsuppgifter på Supabase Vector Index, inte på Embedding Generator A.
- Compose Email Draft är ansluten som ett AI-verktyg till Support Reply Composer—lägg till Gmail-inloggningsuppgifter på Support Reply Composer, inte på Compose Email Draft.
⚠️ Vanlig fallgrop: Om agenten inte kan komma åt vektorlagret, bekräfta att Supabase Vector Index har Supabase-inloggningsuppgifter och att den är ansluten till Vector Search Tool.
Steg 6: Testa och aktivera ert arbetsflöde
Validera både mejlhantering och indexering av kunskapsbasen innan ni aktiverar produktionskörningar.
- Använd Execute Workflow med ett exempelmejl för att bekräfta flödet Inbox Watcher → AI Message Categorizer → Routing Switch → Support Reply Composer.
- Ladda upp eller uppdatera en Drive-fil för att bekräfta Drive File Created Trigger / Drive File Updated Trigger → Assign File Identifier → Purge Prior Doc Rows → Retrieve Drive File → Extract File Text → Insert Into Supabase Index.
- Verifiera att ett utkastmejl skapas via Compose Email Draft och att svaret använder data från vektorsökningen.
- När allt fungerar, slå på Activate för att aktivera livebearbetning.
Vanliga fallgropar
- Gmail-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först din n8n-panel för Credentials och säkerhetsinställningarna för det anslutna Google-kontot.
- Om du använder Wait-noder eller extern rendering varierar processingtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardpromptar i AI-noder är generiska. Lägg in ert varumärkesspråk tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 60–90 minuter om dina Google- och Supabase-konton är redo.
Nej. Du kopplar främst konton, klistrar in nycklar och väljer mappar. Den svåraste delen är oftast att få Google OAuth-behörigheterna rätt.
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 OpenAI API, som vanligtvis är några cent per batch mejl beroende på längd.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och kör n8n bra. Egen drift ger dig obegränsade exekveringar men kräver grundläggande serverhantering.
Ja, och det bör du. Du kan peka Drive-triggern mot en annan mapp genom att ändra mapp-ID:n i Google Drive Trigger-noderna, och du kan justera ton och struktur i instruktionerna till agenten Support Reply Composer. Vanliga justeringar är att lägga till en ”billing”-rutt i Routing Switch, lägga in obligatoriska länkar (återbetalningssida, dokument-URL) och tvinga utkastet att innehålla en kort sammanfattning plus nästa steg.
Oftast handlar det om att Google OAuth-samtycket har löpt ut eller återkallats, särskilt om den anslutna användaren nyligen ändrat lösenord eller säkerhetsinställningar. Anslut Gmail-credential igen i n8n och bekräfta sedan att Gmail API-scopes inkluderar läsrättigheter och skapande av utkast. Kontrollera också att din trigger bevakar rätt inkorg/etikett, eftersom en felkonfigurerad etikett kan se ut som att ”inget fungerar” när den helt enkelt inte ser nya mejl. Om du processar mycket på en gång kan rate limits också orsaka intermittenta fel.
Med n8n Cloud Starter hanterar du bekvämt en typisk supportinkorg för ett mindre team, och högre planer klarar mer volym. Om du kör egen drift finns ingen hård gräns för exekveringar, men din server och API-rate limits blir den praktiska begränsningen. I verklig användning börjar team ofta med några hundra mejl i veckan och skalar därifrån när promptar och dokument är intrimmade.
Ofta, ja, eftersom det här flödet kräver förgreningar, dokumentindexering och en vektorsök-loop som blir dyr eller krånglig i enklare verktyg. n8n låter dig också köra egen drift, vilket spelar roll när antalet exekveringar ökar. Zapier och Make kan fortfarande vara bra för flöden av typen ”nytt mejl → skicka Slack-notis”, helt ärligt. Det här är mer ett system än en enskild automation. Prata med en automatiseringsexpert om du är osäker på vad som passar.
När det här väl rullar slutar teamet att uppfinna svar på nytt och börjar i stället granska dem. Sätt upp det, håll era Drive-dokument strukturerade, och låt flödet ta hand om det repetitiva.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.