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

OpenAI + Google Sheets: färdiga dokumentsammanfattningar

Rickard Andersson Partner, Nodenordic.se

Du öppnar en ”snabb” PDF, och plötsligt har 20 minuter försvunnit. Multiplicera det med offerter, research, samtalsanteckningar och kunddokument, så förvandlas veckan i det tysta till skumläsning och gissningar.

OpenAI Sheets summaries slår hårdast när du är personen som måste briefa andra. Marknadschefer som jagar tydlighet, byråägare som hanterar kundinput och drift-/ops-team som underhåller interna dokument springer alla in i samma vägg: för mycket läsning, för få beslut.

Det här arbetsflödet gör uppladdade filer till konsekventa, strukturerade sammanfattningar i Google Sheets. Du får se hur det fungerar, vad du behöver och var team oftast snubblar.

Så fungerar den här automatiseringen

Hela n8n-flödet, från trigger till slutlig output:

n8n Workflow Template: OpenAI + Google Sheets: färdiga dokumentsammanfattningar

Problemet: viktiga dokument blir ”läser senare”

De flesta dokument kommer inte när det passar. En kund släpper en 30-sidig presentation, någon vidarebefordrar en PDF-rapport, eller så exporterar du anteckningar från ett verktyg och lovar dig själv att du ska ”plocka ut nyckelpunkter” innan nästa möte. Sen kommer dagen emellan. Så du skummar, missar detaljer och din brief blir luddig. Ärligt talat är det värsta inte läsningen. Det är kontextbytena och den gnagande känslan av att du missade just den raden som betydde mest.

Friktionen byggs på. Här är var det faller isär i verkliga team.

  • Du läser om samma dokument flera gånger eftersom det inte finns något konsekvent sammanfattningsformat att lita på.
  • Olika personer tar ut olika ”nyckelpunkter”, vilket leder till onödiga diskussioner och omarbete.
  • Att kopiera och klistra in utdrag i en tracker eller ett kalkylark går långsamt, och det är lätt att klistra in fel sak.
  • När belastningen ökar slutar sammanfattningarna bli gjorda, så beslut fattas på ofullständig information.

Lösningen: ladda upp en fil, få en strukturerad sammanfattning i Sheets

Det här n8n-arbetsflödet tar ett dokument som du laddar upp (PDF, DOCX, PPTX, TXT, CSV, JSON, Markdown med mera) och gör om det till en felfri, repeterbar sammanfattning som är lätt att överblicka. Det laddar upp filen till OpenAI, skapar en tråd för dokumentet och kör din OpenAI Assistant med File Search och Code Interpreter aktiverat. Sedan kontrollerar det körstatus i en kort loop tills assistenten är klar. När körningen är färdig hämtar arbetsflödet assistentens svar som en JSON-liknande sammanfattning, så att du kan lagra det konsekvent i Google Sheets med titel, kort sammanfattning, 3–5 punkter och en handfull taggar.

Arbetsflödet startar med en enkel formuläruppladdning i n8n. OpenAI gör grovjobbet i mitten (uppladdning, tråd, körning, polling). Till sist är den strukturerade outputen redo att läggas in i Google Sheets, vilket betyder att teamet kan sortera, filtrera, söka och återanvända utan att läsa om originalfilen.

Vad du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att ditt team hanterar 20 dokument i veckan, och att varje dokument tar cirka 15 minuter att skumma och göra om till punkter och en titel. Det är ungefär 5 timmar av stopp-och-start-arbete, plus de där ”läste någon sida 12?”-ögonblicken. Med det här arbetsflödet laddar du upp filen på under en minut, och assistenten blir normalt klar efter en kort vänteloop (ofta ett par minuter). Du granskar fortfarande outputen, men du granskar en felfri sammanfattning – inte brottas med hela dokumentet.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • OpenAI Assistants API för att skapa sammanfattningar från filer.
  • Google Sheets för att lagra titlar, punkter och taggar.
  • OpenAI API-nyckel (hämta den från OpenAI API-dashboarden).

Svårighetsgrad: Medel. Du klistrar in ett assistant-ID, lägger till en API-nyckel som credential och mappar några fält in i Sheets.

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

Så fungerar det

En filuppladdning triggar körningen. Någon skickar in ett formulär i n8n och bifogar ett dokument. Den enda uppladdningen är ”startskottet” för allt som följer.

Dokumentet skickas till OpenAI och kopplas till en tråd. n8n laddar först upp filen och skapar sedan en ny tråd som refererar till den, så att din Assistant kan söka i dokumentet i stället för att hallucinerar fram ett generiskt svar.

Din Assistant kör, sedan väntar n8n och kontrollerar status. Arbetsflödet startar körningen med ditt assistant_id, pausar kort och kontrollerar sedan status med en If-grind. Om det inte är klart väntar den igen och kontrollerar igen. Enkel loop, stor effekt.

Den färdiga sammanfattningen hämtas för lagring. När körningen rapporterar ”completed” hämtar arbetsflödet assistentens meddelandeinnehåll (sammanfattnings-JSON), som är redo att mappas till Google Sheets-fält som titel, kort sammanfattning, punkter och taggar.

Du kan enkelt justera prompten och outputformatet så att det matchar din briefmall, utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera formulärtriggern

Konfigurera intagsformuläret som startar arbetsflödet och tar emot en enskild filuppladdning.

  1. Lägg till noden Form Intake Trigger och ställ in Form Title till Upload Form.
  2. I Form Fields lägger ni till ett fält av typen File med Multiple Files inaktiverat och Required aktiverat.
  3. Behåll Path som 2c3f820b-8b84-41d8-bc1a-1e33f9bb7bfd om ni inte vill ha en ny publik formulär-URL.

Steg 2: Anslut OpenAI-filuppladdning

Ladda upp filen till OpenAI så att den kan bifogas till en assistenttråd.

  1. Lägg till Send File to API och koppla den till Form Intake Trigger.
  2. Ställ in URL till https://api.openai.com/v1/files och Method till POST.
  3. Ställ in Content Type till multipart-form-data och inkludera Body Parameters där file mappas till File och purpose sätts till assistants.
  4. Credential Required: Anslut era httpHeaderAuth-inloggningsuppgifter i Send File to API.

⚠️ Vanlig fallgrop: Säkerställ att formulärfältets namn är exakt File, annars kommer filbinariet inte att mappas korrekt till uppladdningsbegäran.

Steg 3: Sätt upp assistenttråden och körningen

Skapa en tråd med den uppladdade filen och starta sedan assistentkörningen med ert Assistant ID.

  1. Lägg till Initialize Thread efter Send File to API och ställ in URL till https://api.openai.com/v1/threads med Request Method POST.
  2. Aktivera JSON Parameters och ställ in Body Parameters JSON till ={ "messages": [ { "role": "user", "content": "Summarize the attached file.", "attachments": [ { "file_id": "{{$node['Send File to API'].json['id']}}", "tools": [ { "type": "file_search" } ] } ] } ]}.
  3. Ställ in Header Parameters JSON till { "OpenAI-Beta": "assistants=v2"}.
  4. Credential Required: Anslut era httpHeaderAuth-inloggningsuppgifter i Initialize Thread.
  5. Lägg till Launch Assistant Run och ställ in URL till =https://api.openai.com/v1/threads/{{$node["Initialize Thread"].json["id"]}}/runs med Method POST.
  6. Ställ in JSON Body till de angivna instruktionerna och ersätt REPLACE_WITH_YOUR_ASSISTANT_ID med ert faktiska Assistant ID.
  7. Credential Required: Anslut era httpHeaderAuth-inloggningsuppgifter i Launch Assistant Run.

⚠️ Vanlig fallgrop: Om ni glömmer att ersätta REPLACE_WITH_YOUR_ASSISTANT_ID kommer körningen att misslyckas och arbetsflödet kommer att loopa i statuskontrollen.

Steg 4: Konfigurera statuspollning och hämtning av sammanfattning

Kontrollera tills körningen är klar, loopa med en kort väntan om den fortfarande körs och hämta sammanfattningen när den är slutförd.

  1. Lägg till Check Run Progress och ställ in URL till =https://api.openai.com/v1/threads/{{$node["Initialize Thread"].json["id"]}}/runs/{{$node["Launch Assistant Run"].json["id"]}}.
  2. Credential Required: Anslut era httpHeaderAuth-inloggningsuppgifter i Check Run Progress.
  3. Lägg till Completion Gate med ett strängvillkor: Value 1 ={{ $node["Check Run Progress"].json["status"] }}, Operation notEqual, Value 2 completed.
  4. Koppla utgången true från Completion Gate till Pause 2 Seconds och ställ in Amount till 2 och Unit till seconds.
  5. Koppla Pause 2 Seconds tillbaka till Check Run Progress för att skapa pollningsloopen.
  6. Koppla utgången false från Completion Gate till Retrieve Summary och ställ in URL till =https://api.openai.com/v1/threads/{{$node["Initialize Thread"].json["id"]}}/messages.
  7. Credential Required: Anslut era httpHeaderAuth-inloggningsuppgifter i Retrieve Summary.

Körflödet är linjärt: Form Intake TriggerSend File to APIInitialize ThreadLaunch Assistant RunCheck Run ProgressCompletion Gate, som loopar via Pause 2 Seconds tills det är klart och därefter går vidare till Retrieve Summary.

Steg 5: Testa och aktivera ert arbetsflöde

Verifiera körningen från början till slut och aktivera sedan arbetsflödet för produktion.

  1. Klicka på Test Workflow och skicka in en fil via formuläret i Form Intake Trigger.
  2. Bekräfta att Send File to API returnerar ett fil-id och att Initialize Thread använder det i JSON-kroppen.
  3. Följ hur Check Run Progress loopar via Completion Gate och Pause 2 Seconds tills status blir completed.
  4. Verifiera att Retrieve Summary returnerar assistentmeddelandet med JSON-sammanfattningsstrukturen.
  5. Växla arbetsflödet till Active för att ta emot uppladdningar i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • OpenAI Assistants-credentials kan löpa ut eller klistras in i fel n8n-credential. Om det slutar fungera: kolla n8n:s Credentials och bekräfta först värdet i Authorization-headern.
  • Om du använder Wait-noder eller extern bearbetning varierar körtiderna. Öka väntetiden om efterföljande HTTP Request-noder failar eftersom körningen fortfarande är ”in_progress”.
  • Skrivningar till Google Sheets kan misslyckas utan tydligt fel när kolumner inte matchar den JSON du förväntar dig. Dubbelkolla dina mappade fält efter att du har justerat Assistant-prompten.

Vanliga frågor

Hur lång tid tar det att sätta upp den här OpenAI Sheets summaries-automationen?

Cirka 30 minuter om din OpenAI Assistant redan är skapad.

Behöver jag kunna koda för att automatisera OpenAI Sheets summaries?

Nej. Du kopplar din OpenAI-credential och klistrar in ditt assistant-ID. Resten är att mappa fält och testa med ett riktigt dokument.

Är n8n gratis att använda för det här OpenAI Sheets summaries-arbetsflödet?

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, som oftast är liten för sammanfattningar men beror på dokumentstorlek och hur du promptar.

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ärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här OpenAI Sheets summaries-arbetsflödet för olika sammanfattningsformat?

Ja, och det bör du. Uppdatera användarinstruktionerna i HTTP Request-bodyt för ”Initialize Thread” så att assistenten returnerar exakt det teamet vill ha (till exempel: lägg till en ”risker”-sektion, tvinga brittisk stavning eller output i ett striktare JSON-schema). Vanliga justeringar är att ändra antal punkter, skriva i er tonalitet och generera taggar som matchar er interna taxonomi.

Varför failar min OpenAI-anslutning i det här arbetsflödet?

Oftast handlar det om en utgången eller felaktig API-nyckel i din HTTP Header Auth-credential. Generera om nyckeln i OpenAI, uppdatera sedan Authorization-headern i n8n och kör en enstaka testuppladdning igen. Kontrollera också att du har ersatt assistant_id i request-bodyt för ”Launch Assistant Run”, eftersom ”REPLACE_WITH_YOUR_ASSISTANT_ID” alltid kommer att faila. Om du testar med stora filer kan även rate limits dyka upp, så prova ett mindre dokument först.

Hur många dokument kan den här OpenAI Sheets summaries-automationen hantera?

I self-hostad n8n finns ingen gräns för antal körningar (det beror främst på din server). I n8n Cloud beror det på planens månatliga körningar, men de flesta små team klarar hundratals dokument per månad utan att ens behöva tänka på det.

Är den här OpenAI Sheets summaries-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här flödet bygger på HTTP-anrop i flera steg, väntan och villkorslogik som snabbt blir klumpigt (och dyrt) i enklare automationsverktyg. n8n ger dig också self-host-alternativet, vilket spelar roll om du förväntar dig många uppladdningar. Zapier eller Make kan fortfarande vara bra om du bara vill ha en lättviktig ”ladda upp → sammanfatta → lagra” och du inte bryr dig om polling av körningen eller strikt output. Det bästa valet handlar om volym och hur mycket kontroll du vill ha över Assistant-instruktionerna. Prata med en automations-expert om du vill ha en snabb rekommendation.

När detta väl rullar blir varje nytt dokument en felfri brief du faktiskt kan använda. Arbetsflödet tar hand om det repetitiva, så att du kan lägga tiden på att fatta beslut – inte skumläsning på sida 27.

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