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
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0["<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/form.svg' width='40' height='40' /></div><br/>On form submission"]
n1["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Create Thread"]
n2["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Poll Run Status"]
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Is Not Complete?", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Wait 2s", pos: "b", h: 48 }
n5["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Summary"]
n6["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Run Assistant"]
n7["<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/httprequest.dark.svg' width='40' height='40' /></div><br/>Upload File"]
n4 --> n2
n7 --> n1
n1 --> n6
n6 --> n2
n2 --> n3
n3 --> n4
n3 --> n5
n0 --> 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 n0 trigger
class n3 decision
class n1,n2,n5,n6,n7 api
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n5,n6,n7 customIcon
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
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
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.
- Lägg till noden Form Intake Trigger och ställ in Form Title till
Upload Form. - I Form Fields lägger ni till ett fält av typen File med Multiple Files inaktiverat och Required aktiverat.
- Behåll Path som
2c3f820b-8b84-41d8-bc1a-1e33f9bb7bfdom 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.
- Lägg till Send File to API och koppla den till Form Intake Trigger.
- Ställ in URL till
https://api.openai.com/v1/filesoch Method tillPOST. - Ställ in Content Type till
multipart-form-dataoch inkludera Body Parameters där file mappas tillFileoch purpose sätts tillassistants. - Credential Required: Anslut era
httpHeaderAuth-inloggningsuppgifter i Send File to API.
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.
- Lägg till Initialize Thread efter Send File to API och ställ in URL till
https://api.openai.com/v1/threadsmed Request MethodPOST. - 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" } ] } ] } ]}. - Ställ in Header Parameters JSON till
{ "OpenAI-Beta": "assistants=v2"}. - Credential Required: Anslut era
httpHeaderAuth-inloggningsuppgifter i Initialize Thread. - Lägg till Launch Assistant Run och ställ in URL till
=https://api.openai.com/v1/threads/{{$node["Initialize Thread"].json["id"]}}/runsmed MethodPOST. - Ställ in JSON Body till de angivna instruktionerna och ersätt
REPLACE_WITH_YOUR_ASSISTANT_IDmed ert faktiska Assistant ID. - Credential Required: Anslut era
httpHeaderAuth-inloggningsuppgifter i Launch Assistant Run.
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.
- 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"]}}. - Credential Required: Anslut era
httpHeaderAuth-inloggningsuppgifter i Check Run Progress. - Lägg till Completion Gate med ett strängvillkor: Value 1
={{ $node["Check Run Progress"].json["status"] }}, OperationnotEqual, Value 2completed. - Koppla utgången true från Completion Gate till Pause 2 Seconds och ställ in Amount till
2och Unit tillseconds. - Koppla Pause 2 Seconds tillbaka till Check Run Progress för att skapa pollningsloopen.
- 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. - Credential Required: Anslut era
httpHeaderAuth-inloggningsuppgifter i 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.
- Klicka på Test Workflow och skicka in en fil via formuläret i Form Intake Trigger.
- Bekräfta att Send File to API returnerar ett fil-
idoch att Initialize Thread använder det i JSON-kroppen. - Följ hur Check Run Progress loopar via Completion Gate och Pause 2 Seconds tills
statusblircompleted. - Verifiera att Retrieve Summary returnerar assistentmeddelandet med JSON-sammanfattningsstrukturen.
- Växla arbetsflödet till Active för att ta emot uppladdningar i produktion.
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
Cirka 30 minuter om din OpenAI Assistant redan är skapad.
Nej. Du kopplar din OpenAI-credential och klistrar in ditt assistant-ID. Resten är att mappa fält och testa med ett riktigt dokument.
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.
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.
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.
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.
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.
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.