Ditt team ställer samma frågor om och om igen, och svaren finns redan i en PDF någonstans. Problemet är att hitta rätt fil, skumma rätt sidor och kopiera rätt utdrag utan att tappa sammanhanget.
Operationsansvariga blir pingade om “vad är policyn nu igen?” hela dagen. Marknadschefer fastnar i jakten på gamla playbooks. Grundare känner av det också, för Drive Supabase-automatisering ska inte kräva ett mini-researchprojekt för varje intern fråga.
Det här flödet gör dina Google Drive-PDF:er till en sökbar Supabase-kunskapsbas och låter sedan en AI-agent svara på frågor med kontext och källor. Du får se vad det löser, hur det körs och vad du behöver för att lansera det utan att överkonstruera.
Så här fungerar automatiseringen
Se hur detta löser problemet:
n8n Workflow Template: Google Drive + Supabase, interna svar vid begäran
flowchart LR
subgraph sg0["Manual Flow"]
direction LR
n0@{ icon: "mdi:cog", form: "rounded", label: "Download File", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Extract from File", pos: "b", h: 48 }
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/code.svg' width='40' height='40' /></div><br/>Code"]
n7@{ icon: "mdi:cube-outline", form: "rounded", label: "Upload to Supabase", pos: "b", h: 48 }
n13@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI1", pos: "b", h: 48 }
n18@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Trigger", pos: "b", h: 48 }
n3 --> n7
n0 --> n2
n18 --> n0
n2 --> n3
n13 -.-> n7
n1 -.-> n7
end
subgraph sg1["When chat message received Flow"]
direction LR
n4@{ icon: "mdi:play-circle", form: "rounded", label: "When chat message received", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "GPT 4.1-mini", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Reranker Cohere", pos: "b", h: 48 }
n8@{ icon: "mdi:cube-outline", form: "rounded", label: "Supabase Vector Store", pos: "b", h: 48 }
n14@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI", pos: "b", h: 48 }
n16@{ icon: "mdi:robot", form: "rounded", label: "RAG Agent", pos: "b", h: 48 }
n5 -.-> n16
n6 --> n8
n14 -.-> n8
n8 -.-> n16
n4 --> n16
end
subgraph sg2["Reranker Cohere1 Flow"]
direction LR
n9@{ icon: "mdi:brain", form: "rounded", label: "GPT 4.1-mini1", pos: "b", h: 48 }
n10@{ icon: "mdi:robot", form: "rounded", label: "Reranker Cohere1", pos: "b", h: 48 }
n11@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI2", pos: "b", h: 48 }
n12@{ icon: "mdi:cube-outline", form: "rounded", label: "Supabase Vector Store1", pos: "b", h: 48 }
n15@{ icon: "mdi:robot", form: "rounded", label: "Metadata Agent", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "RAG Agent 2", pos: "b", h: 48 }
n9 -.-> n17
n9 -.-> n15
n15 --> n17
n10 --> n12
n11 -.-> n12
n12 -.-> n17
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 n18,n4 trigger
class n1,n6,n16,n10,n15,n17 ai
class n5,n9 aiModel
class n7,n8,n12 ai
class n13,n14,n11 ai
class n3 code
classDef customIcon fill:none,stroke:none
class n3 customIcon
Utmaningen: att göra “PDF-kunskap” till omedelbara svar
Google Drive är ett okej arkivskåp. Det är en usel lagkamrat. PDF:er laddas upp, döps om, dupliceras och begravs i mappar som var logiska för sex månader sedan. När någon ställer en enkel fråga (“Vad är vår återbetalningspolicy för årsplaner?”) börjar det riktiga jobbet: söka i Drive, öppna tre versioner av samma dokument, skumma och sedan svara med något som förmodligen stämmer men utan säker källhänvisning. Multiplicera det med några team så får du ständiga avbrott, inkonsekventa svar och en tyst oro för att du citerar en föråldrad policy.
Det växer snabbt. Här är var det fallerar i verkliga team.
- Folk lägger cirka 10 minuter per fråga bara på att hitta rätt PDF och sida.
- Svaren glider över tid eftersom alla parafraserar (och ingen länkar källan).
- Nyanställda ställer fler frågor än de borde eftersom “interna wikin” i praktiken är ett mappträd.
- När dokument ändras finns det inget tillförlitligt sätt att säkerställa att teamets svar ändras också.
Lösningen: Google Drive-PDF:er → Supabase vektorsök → chattsvar
Det här flödet skapar en enkel loop: importera dina PDF:er, lagra dem som sökbara embeddings i Supabase och svara sedan på frågor med retrieval (RAG) så att AI:n svarar utifrån dina dokument, inte generell internetkunskap. Det kan börja med en manuell körning för att hämta ett dokument från Google Drive, extrahera PDF-texten och dela upp den i strukturerade segment som är enklare att söka i. En metadata-agent berikar segmenten (tänk titlar, ämnen eller dokumentledtrådar) innan de embeddas och lagras i en Supabase Vector Store. När din kunskap är indexerad tar en chatttrigger emot en användarfråga och en “RAG Expert Agent” hämtar de mest relevanta segmenten, rerankar dem för kvalitet och genererar ett slutligt svar som håller sig förankrat i ditt eget innehåll.
Flödet startar när du importerar dokument från Google Drive (ofta via en manuell körning i början). Därefter tolkar det PDF-innehållet, omvandlar det till återhämtningsbara chunkar med metadata och lagrar embeddings i Supabase. Till sist använder en chattbaserad AI-agent Supabase-retrieval plus en reranker (Cohere) för att skapa konsekventa svar med kontext.
Vad som förändras: före vs. efter
| Det här elimineras | Effekt du kommer att märka |
|---|---|
|
|
Effekt i verkligheten
Säg att ditt team får 20 interna frågor per dag som finns “någonstans i Drive”. Om varje fråga tar ungefär 10 minuter att hitta och verifiera är det cirka 3 timmar gemensamt tidsödande arbete dagligen. Med det här flödet kommer frågan in via chatt, retrieval sker på sekunder och du behöver oftast bara snabbt skumma det källstödda svaret innan du skickar vidare. Säg 30 sekunder per fråga. Det är cirka 2 till 3 timmar tillbaka varje dag, utan att någon behöver bli företagets bibliotekarie.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Självhosting som alternativ om du föredrar det (Hostinger fungerar bra)
- Google Drive för att lagra och hämta PDF:er
- Supabase för att lagra embeddings i en vektortabell
- OpenAI- eller OpenRouter-API-nyckel (hämtas från din leverantörs dashboard)
Kunskapsnivå: Medel. Du kopplar konton, klistrar in API-nycklar och är bekväm med att justera ett par prompts och fält.
Behöver du hjälp att implementera detta? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Flödet i praktiken
En dokumentimport-körning startar allt. Du startar flödet (ofta manuellt i början) och det hämtar en PDF från Google Drive så att du alltid indexerar samma “source of truth”.
PDF:en extraheras och städas upp. Automatiseringen tolkar filen, läser in texten och använder ett litet kodsteg för att dela upp innehållet i rimliga segment så att retrieval inte returnerar gigantiska, röriga block.
Metadata + embeddings skapas. En metadata-agent tolkar vad varje segment handlar om, och sedan genereras embeddings (OpenAI-embeddings i det här flödet) så att innehållet blir sökbart på betydelse, inte bara nyckelord.
Supabase lagrar och hämtar rätt kontext. Segmenten hamnar i Supabase vector store, och senare triggar en chattfråga retrieval, reranking (Cohere) och ett slutligt svar från en “RAG Expert Agent” som använder den bäst matchande kontexten.
Du kan enkelt ändra importkällan (Drive-mapp, regler för filnamn) så att den matchar hur ditt team lagrar dokument. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera Chat Message Trigger
Det här arbetsflödet använder chatinput för att besvara frågor och en manuell trigger för att läsa in dokument. Börja med att konfigurera chattriggern för Q&A i realtid.
- Lägg till eller öppna Chat Message Trigger för att hantera inkommande användarprompter.
- Lämna Options tomt om ni inte behöver avancerad chattkonfiguration.
- Bekräfta att Chat Message Trigger är kopplad direkt till RAG Expert Agent som visas i exekveringsflödet.
Steg 2: Anslut Google Drive
Dokumentinläsningen börjar med att ladda ner PDF:en från Google Drive.
- Öppna Manual Start Trigger för att manuellt initiera inläsning under uppsättning och test.
- I Fetch Drive Document ställer ni Operation till
download. - Ställ in File till ert Drive-fil-ID (ersätt
[YOUR_ID]med er faktiska fil). - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-uppgifter.
Steg 3: Konfigurera PDF-tolkning och regelsegmentering
I det här steget extraheras text från PDF:en och delas upp i strukturerade regelposter för inläsning.
- Öppna Parse PDF Content och ställ Operation till
pdf. - Öppna Transform Rule Segments och klistra in den tillhandahållna JavaScript-koden i JavaScript Code för att dela upp reglerna.
- Bekräfta att exekveringsflödet går Fetch Drive Document → Parse PDF Content → Transform Rule Segments.
$input.first().json.text. Om er PDF-tolk returnerar ett annat fält, justera koden därefter.Steg 4: Konfigurera inläsning till Supabase och embeddings
Använd vector store för att skapa embeddings och lagra varje regelsegment i Supabase.
- Öppna Standard Document Loader och ställ JSON Data till
{{ $('Transform Rule Segments').item.json.fullText }}. - I Standard Document Loader ställer ni in metadata ruleNumber till
{{ $json.ruleNumber }}. - Öppna OpenAI Embeddings Ingest och koppla den till Store in Supabase som källa för AI-embeddings.
- Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Embeddings Ingest.
- Öppna Store in Supabase, ställ Mode till
insertoch säkerställ att Table ärdocuments. - Inloggningsuppgifter krävs: Anslut era supabaseApi-uppgifter i Store in Supabase.
match_documents inte finns i Supabase kommer hämtning att misslyckas senare.Steg 5: Konfigurera verktyg för hämtning och omrankning
Dessa noder hämtar de regelbitar som matchar bäst och omrankar resultaten för högre träffsäkerhet.
- Öppna Supabase Retrieval Tool och ställ Mode till
retrieve-as-tool, Top K till20och Use Reranker tilltrue. - Ställ in Tool Description till
Use this tool to search the databasei Supabase Retrieval Tool. - Inloggningsuppgifter krävs: Anslut era supabaseApi-uppgifter i Supabase Retrieval Tool.
- Öppna Cohere Ranking Engine och koppla den till Supabase Retrieval Tool som omrankare.
- Inloggningsuppgifter krävs: Anslut era cohereApi-uppgifter i Cohere Ranking Engine.
- Öppna OpenAI Embeddings Agent och anslut den som embeddings-källa för Supabase Retrieval Tool.
- Inloggningsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Embeddings Agent.
- Upprepa samma konfiguration för Supabase Retrieval Tool B, Cohere Ranking Engine B och OpenAI Embeddings B.
- I Supabase Retrieval Tool B ställer ni in metadata ruleNumber till
{{ $('Metadata Interpreter').item.json.output }}.
Steg 6: Konfigurera AI-agenterna och modellerna
Två agenter hanterar frågor: en standard-RAG-agent och en metadata-driven variant.
- Öppna RAG Expert Agent och verifiera att systemmeddelandet definierar den som en expert på golfregler.
- Anslut OpenRouter Chat Model som språkmodell för RAG Expert Agent.
- Inloggningsuppgifter krävs: Anslut era openRouterApi-uppgifter i OpenRouter Chat Model.
- Öppna RAG Expert Agent B och ställ Text till
{{ $('Chat Message Trigger').item.json.chatInput }}med Prompt Typedefine. - Öppna Metadata Interpreter och bekräfta att systemmeddelandet endast matar ut regelnumret.
- Anslut OpenRouter Chat Model B till både RAG Expert Agent B och Metadata Interpreter.
- Inloggningsuppgifter krävs: Anslut era openRouterApi-uppgifter i OpenRouter Chat Model B.
Steg 7: Testa och aktivera ert arbetsflöde
Verifiera både inläsningen och Q&A-flödena innan ni aktiverar arbetsflödet.
- Klicka på Execute Workflow på Manual Start Trigger för att läsa in PDF:en i Supabase.
- Bekräfta att Store in Supabase lägger in poster i tabellen
documents. - Skicka ett testmeddelande till Chat Message Trigger och bekräfta att RAG Expert Agent returnerar ett förankrat svar.
- Validera metadata-driven hämtning genom att fråga “What is rule 27?” och bekräfta att Metadata Interpreter matar ut numret till Supabase Retrieval Tool B.
- När resultaten ser korrekta ut, växla arbetsflödet till Active för användning i produktion.
Var uppmärksam på
- Google Drive-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera Google-anslutningen i n8n och bekräfta att filen är delad med det anslutna kontot.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströms noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.
Vanliga frågor
Oftast på en eftermiddag om ditt Supabase-projekt och dina API-nycklar är redo.
Ja, men du vill göra en noggrann första setup. Ingen kodning krävs, men du kommer att koppla konton och klistra in API-nycklar.
Ja. n8n har ett gratis alternativ för självhosting 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/OpenRouter för embeddings och chattanvändning, samt Cohere-kostnader för reranking om du aktiverar det.
Två alternativ: n8n Cloud (managerat, enklast setup) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och klarar n8n bra. Självhosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.
Du kan byta chattmodell genom att ändra noderna för OpenRouter Chat Model, eller styra importen mot en annan Drive-mapp genom att justera Google Drive-hämtningssteget. Vanliga justeringar är att ändra hur kodnoden segmenterar text, lägga till striktare metadataregler i Metadata Interpreter-agenten och trimma hur många träffar Supabase Retrieval returnerar före reranking.
För det mesta handlar det om behörigheter. Det anslutna Google-kontot kan inte komma åt filen eller så tillåts inte Drive-scope, så autentisera om Google Drive-inloggningen i n8n och bekräfta att PDF:en är korrekt delad. Om det bara misslyckas för vissa dokument, kontrollera även filtyp och storlek, eftersom vissa PDF:er extraheras dåligt och gör att nedströms noder returnerar tom text.
Om du kör självhostat finns ingen gräns för antal körningar, men throughput beror på din server och API:ernas rate limits. På n8n Cloud är kapaciteten kopplad till din plans månatliga körningar, och det här flödet kan använda flera körningar vid import samt en per chattsession. I praktiken klarar de flesta små team dagliga dokumentuppdateringar och jämn chatttrafik utan att behöva tänka på det. När användningen växer är flaskhalsen vanligtvis kostnaden för embeddings och reranking, inte n8n i sig.
För RAG-flöden, ja, i de flesta fall. n8n hanterar förgreningar, agenter och mönster för vector retrieval utan att varje “smart” steg blir en dyr premiumtask. Det är också enklare att köra självhostat, vilket är viktigt när du indexerar interna dokument. Zapier eller Make kan fortfarande fungera bra för enkla automatiseringar som “fil uppladdad → avisera kanal”, men de är inte optimala för en intern kunskapsbas som behöver retrieval, reranking och strukturerade prompts. Prata med en automationsspecialist om du vill ha en snabb rekommendation för din setup.
När detta väl rullar slutar dina PDF:er bara vara “lagrade” och blir faktiskt användbara. Flödet gör grovjobbet så att ditt team kan återgå till det riktiga arbetet.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.