Dina dokument ligger ”någonstans i Drive”, men att hitta rätt stycke vid rätt tillfälle blir en liten skattjakt. Någon laddar ner en fil, söker manuellt, kopierar ett citat till Slack och gör sedan om samma sak nästa vecka eftersom ingenting är indexerat.
Det här är den sortens röra som marknadsansvariga känner av när de snabbt behöver godkända budskap. Ops-chefer stöter på det när SOP:ar är nedgrävda. Och byråägare hatar det eftersom varje kundfråga blir en tidstjuv. Med automatisering för Drive Postgres search blir nya filer ”frågebara” utan att du lyfter ett finger.
Det här arbetsflödet bevakar en Google Drive-mapp, gör nya dokument till OpenAI-embeddings, lagrar dem i Postgres (PGVector) och flyttar sedan filen så att du inte bearbetar den två gånger. Du får se vad det löser, vad det skapar och vad du behöver för att köra det stabilt.
Så fungerar automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Google Drive + Postgres: sökbara dokument, alltid redo
flowchart LR
subgraph sg0["When clicking ‘Test workflow’ Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Recursive Character Text Spl..", pos: "b", h: 48 }
n2@{ icon: "mdi:cube-outline", form: "rounded", label: "Postgres PGVector Store", pos: "b", h: 48 }
n3@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Move File", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Download File", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Search Folder", pos: "b", h: 48 }
n8@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Extract from PDF", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Extract from Text", pos: "b", h: 48 }
n12@{ icon: "mdi:cog", form: "rounded", label: "Extract from JSON", pos: "b", h: 48 }
n13@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI", pos: "b", h: 48 }
n9 --> n10
n9 --> n11
n9 --> n12
n5 --> n4
n6 --> n9
n7 --> n4
n4 --> n6
n10 --> n2
n8 --> n7
n13 -.-> n2
n12 --> n2
n11 --> n2
n0 -.-> n2
n2 --> n5
n1 -.-> n0
n3 --> n7
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 n3,n8 trigger
class n0,n1 ai
class n2 ai
class n13 ai
class n9 decision
Problemet: Drive-dokument är inte faktiskt sökbara
Google Drive är bra på att lagra filer. Det är inte bra på att besvara frågor. Visst kan du söka på titlar och kanske några nyckelord, men det verkliga arbetet finns inuti långa PDF:er, stökiga JSON-exporter och textnoteringar som ”final_v7” som aldrig blev korrekt formaterade. Så folk faller tillbaka på det sämsta systemet: att fråga den som ”kanske minns”. Det kostar tid, avbryter fokusarbete och skapar i det tysta inkonsekvenser eftersom alla citerar en lite olika version av sanningen.
Det eskalerar snabbt. Här är var det faller isär när din mapp blir ett levande bibliotek i stället för ett prydligt arkiv.
- Team öppnar samma PDF om och om igen bara för att hitta en mening de använde förra månaden.
- Viktigt sammanhang försvinner eftersom Drive-sökningen inte kan hitta ”liknande betydelse”, bara matchande ord.
- Manuell indexering blir aldrig av, och när den väl gör det blir den inaktuell inom en vecka.
- Dubbletter smyger sig in eftersom ingen kan se vad som redan har bearbetats och lagrats någon annanstans.
Lösningen: autovektorisera Drive-filer till Postgres
Det här n8n-arbetsflödet gör din Google Drive-mapp till en stabil ingest-pipeline för semantisk sökning. Det körs enligt schema (03:00 som standard) eller manuellt när du trycker ”Test workflow”, och tittar sedan i en vald Drive-mapp efter nya filer. Varje fil laddas ner, routas efter typ (PDF, TXT eller JSON) och parsas till strukturerad text. Därefter delar arbetsflödet upp innehållet i chunkar, skapar OpenAI-embeddings med modellen text-embedding-3-small och skriver in allt i Postgres med PGVector så att det direkt är redo att frågas mot för RAG, intern sök eller en AI-agent. Efter en lyckad insert flyttas filen till en ”vectorized”-mapp så att pipelinen hålls prydlig och deduplicerad.
Arbetsflödet startar med en Drive-mappskanning och bearbetar sedan filer i batchar så att det inte kvävs av en stor uppladdning. Det extraherar text baserat på MIME-typ, genererar embeddings, lagrar dem i din PGVector-tabell och flyttar till sist källfilen för att markera att den är klar.
Det här får du: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att ditt team lägger 20 nya dokument i veckan i en delad Drive-mapp (en blandning av PDF:er, mötesanteckningar och JSON-exporter). Manuell hantering innebär ofta att någon lägger cirka 10 minuter per dokument på att ladda ner, skumma och plocka ut rätt utdrag när frågor dyker upp, vilket blir ungefär 3 timmar i veckan. Med det här arbetsflödet handlar det snarare om 5 minuter att lägga dokumentet i rätt mapp och sedan glömma det, medan nattkörningen ingesterar allt automatiskt. Nästa dag är svaren bara en databasfråga bort.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för självhosting om du föredrar det (Hostinger fungerar bra)
- Google Drive för att lagra filer och bevaka mappar.
- Postgres med PGVector för att lagra embeddings för sökning.
- OpenAI API-nyckel (hämta den från OpenAI API-dashboarden).
Kunskapsnivå: Medel. Du kopplar in inloggningar, klistrar in mapp-ID:n och bekräftar inställningarna för din Postgres/PGVector-tabell.
Vill du inte sätta upp det här själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
Ett schema (eller en manuell körning) drar igång. Du kan köra det varje natt (03:00 är standard) eller klicka ”Test workflow” när du vill ingestera filer direkt.
Arbetsflödet hittar filer i din valda Drive-mapp. Det slår upp mappen och itererar sedan igenom objekt i batchar, vilket håller körningarna stabila även när någon dumpar in en stor backlog.
Varje fil laddas ner och konverteras till text. En filtypsrouter skickar PDF:er till PDF-parsern, ren text till en text-parser och JSON till en JSON-parser så att du får konsekvent text på andra sidan.
Embeddings skapas och lagras i Postgres (PGVector). Innehållet chunkas, vektorer skapas med OpenAI:s embedding-modell och skrivs sedan in i din konfigurerade PGVector-samling för semantisk sökning.
Du kan enkelt utöka stödda filtyper till exempelvis DOCX eller Markdown utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera manuella och schemalagda triggers
Ställ in de två triggers som kan starta arbetsflödet manuellt eller enligt schema.
- Öppna Manual Execution Start och behåll den som on-demand-trigger för testning och manuella körningar.
- Öppna Scheduled Automation Trigger och ställ in schemaregeln så att den körs var
4:e timme (Interval → hours → Hours Interval =4). - Verifiera att båda triggers är kopplade till Find Drive Folder så att oavsett startpunkt går flödet vidare i samma bearbetningsväg.
Steg 2: Anslut Google Drive och lokalisera filer
Konfigurera åtkomst till Google Drive och definiera var arbetsflödet ska leta efter filer att bearbeta.
- Öppna Find Drive Folder och sätt Resource till
fileFolder, Return All tilltrueoch Options → Fields tillnameochid. - Sätt Filter → Folder ID till källmappen med
[YOUR_ID]och What to Search tillfiles. - I Iterate Item Batches behåller ni standardinställningarna för att bearbeta filerna en och en från mappresultaten.
- Öppna Retrieve Drive File och sätt Operation till
downloadmed File ID satt till{{ $json.id }}. - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter i Find Drive Folder, Iterate Item Batches (om ni blir ombedda) och Retrieve Drive File.
[YOUR_ID] i Find Drive Folder med det faktiska mapp-ID:t i Google Drive, annars returneras inga filer.Steg 3: Rutta filer och extrahera innehåll
Använd en filtypsrouter för att skicka varje fil till rätt parser innan vektorisering.
- Öppna Route by File Type och bekräfta att de tre reglerna matchar MIME-typer med
{{ $binary["data"].mimeType }}med rätt värdenapplication/pdf,text/plainochapplication/json. - Säkerställ att Route by File Type skickar vidare till Parse PDF Content, Parse Text Content och Parse JSON Content baserat på matchande MIME-typ.
- Ställ in Parse PDF Content till Operation
pdf, Parse Text Content till Operationtextoch Parse JSON Content till OperationfromJson.
Steg 4: Konfigurera AI-bearbetning och vektorlagring
Chunk:a, berika, skapa embeddings och lagra det extraherade innehållet i PGVector.
- Konfigurera Recursive Text Chunker med Chunk Overlap satt till
50. - Öppna Standard Data Loader och verifiera att värdena för metadata-mappning är satta till
{{ $('Retrieve Drive File').item.json.name }}för filename och{{ $('Retrieve Drive File').item.json.id }}för id. - Öppna PGVector Storage Insert och sätt Mode till
insert, Table Name tillcollection_vectorsoch Collection Name tillworkflow_generatormed Collection Table Nameembedding_collections. - Bekräfta att OpenAI Embedding Generator är ansluten som embedding-modell för PGVector Storage Insert.
- Inloggningsuppgifter krävs: Anslut era postgres-inloggningsuppgifter i PGVector Storage Insert.
- Inloggningsuppgifter krävs: Anslut era openAiApi-inloggningsuppgifter i OpenAI Embedding Generator (den här noden levererar embeddings till PGVector Storage Insert).
Steg 5: Konfigurera flytt av filer efter bearbetning
Flytta filer till en målmapp när de har lagts in i PGVector.
- Öppna Relocate Drive File och sätt Operation till
move. - Sätt File ID till
{{ $('Iterate Item Batches').item.json.id }}och välj Drive IDMy Drive. - Sätt Folder ID till målmappen med
[YOUR_ID](cachelagrat namnvectorized). - Inloggningsuppgifter krävs: Anslut era googleDriveOAuth2Api-inloggningsuppgifter i Relocate Drive File.
[YOUR_ID] i Relocate Drive File inte uppdateras kommer bearbetade filer inte att flyttas och blir kvar i källmappen.Steg 6: Testa och aktivera ert arbetsflöde
Validera hela flödet och aktivera sedan automatisering för produktionsbruk.
- Klicka på Manual Execution Start och kör arbetsflödet för att testa med en exempelfil från källmappen.
- Bekräfta att en lyckad körning visar att Route by File Type väljer rätt parser och att PGVector Storage Insert skriver in i
collection_vectors. - Verifiera att filen flyttas av Relocate Drive File till målmappen.
- När ni är nöjda, aktivera arbetsflödet så att Scheduled Automation Trigger körs automatiskt var 4:e timme.
Vanliga fallgropar
- Google Drive-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först Google Drive OAuth-anslutningen i n8n under Credentials.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- OpenAI-anrop kan misslyckas på grund av kvot- eller betalningsproblem, och det är lätt att missa. Om embeddings plötsligt slutar skapas, kontrollera dina användningsgränser i OpenAI API och säkerställ att nyckeln i Embeddings-noden matchar det aktiva projektet.
Vanliga frågor
Cirka en timme om din åtkomst till Drive och Postgres redan är klar.
Nej. Du kommer mest att klistra in ID:n, koppla konton och testköra.
Ja. n8n har ett gratis alternativ för självhosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på $20/månad för högre volym. Du behöver också räkna med kostnader för OpenAI API, vilket oftast är några cent per dokument beroende på längd.
Två alternativ: n8n Cloud (managed, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men du behöver lägga till ett eller två extraktionssteg. Du kan routa DOCX genom att utöka logiken i ”Route by File Type” och lägga till ytterligare en ”Extract from File”-parser för den MIME-typen. För skannade PDF:er lägger du normalt in ett OCR-steg före ”Parse PDF Content” och skickar sedan OCR-texten in i samma chunking- och embedding-flöde. Vanliga justeringar är också att ändra chunk-storlek i text-splittern och att skriva extra metadatafält (som avdelning, kund eller dokumenttyp) i PGVector-posterna.
Oftast beror det på utgånget OAuth-medgivande eller att fel Google-konto är kopplat. Anslut Google Drive-inloggningen igen i n8n och bekräfta sedan att kontot har åtkomst till både källmappen och ”vectorized”-mappen. Om det fortfarande misslyckas, kontrollera att mapp-ID:n i Find/Search/Move Drive-noderna är korrekta och att Drive API inte är begränsat av din workspace-administratör.
Många, så länge servern och databasen hänger med. I n8n Cloud beror körvolymen på din plan, medan självhosting tar bort hårda körgränser och flyttar flaskhalsen till CPU/RAM och Postgres-prestanda. I praktiken börjar de flesta team med en liten batchstorlek, ingesterar en backlog över natten och låter sedan nattkörningen hantera nya filer framåt. Om du planerar att ingestera tusentals stora PDF:er behöver du finjustera batchning och se till att PGVector-index är korrekt uppsatta.
För just det här arbetsflödet har n8n några fördelar: mer komplex logik med obegränsad förgrening utan extra kostnad, möjlighet till självhosting för obegränsade körningar och inbyggda byggblock i LangChain/PGVector-stil som många no-code-verktyg inte hanterar särskilt snyggt. Batchningen är också viktig när du ingesterar backlogs, eftersom du kan styra genomströmningen i stället för att tajma ut. Zapier eller Make kan fortfarande fungera om du bara behöver ”ny fil → skicka notis”, men embeddings plus en databas-insert är där det börjar kännas klumpigt. Om du är osäker, prata med en automationsspecialist och kvalitetssäkra bästa vägvalet. Att välja fel verktyg här blir ärligt talat dyrt senare.
När det här väl rullar slutar nya Drive-filer vara ”saker du laddade upp” och blir i stället en sökbar kunskapskälla som dina verktyg faktiskt kan använda. Sätt upp det en gång och låt sedan mappen vara redo.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.