Dokument kommer in snabbt. Någon släpper en PDF, du skummar den, du klistrar in anteckningar i Slack och sedan dyker samma frågor upp igen i morgon. Det är inte svårt. Det bara pågår hela tiden.
Den här automatiseringen för Slack Sheets summaries träffar marknadschefer som försöker dela research, men ops-ansvariga och byråägare känner av det också. Du får konsekventa, återanvändbara sammanfattningar och frågor & svar på några minuter, plus en spårbar logg när AI-resultatet är stökigt.
Du får se hur flödet tar emot PDF-/TXT-uppladdningar, extraherar text, skapar en strukturerad sammanfattning, postar en Slack-förhandsvisning och loggar fel till Google Sheets så att du kan åtgärda problem utan gissningar.
Så fungerar den här automatiseringen
Här är hela arbetsflödet som du kommer att sätta upp:
n8n Workflow Template: Slack + Google Sheets: PDF-sammanfattningar att återanvända
flowchart LR
subgraph sg0["AI Summary and QA Bu 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/webhook.dark.svg' width='40' height='40' /></div><br/>Inbound File Webhook"]
n1@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate PDF Upload", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Pull Text from PDF", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate TXT Upload", pos: "b", h: 48 }
n4@{ icon: "mdi:cog", form: "rounded", label: "Pull Text from TXT", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "AI Summary and QA Builder", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "Parse AI QA JSON", pos: "b", h: 48 }
n7@{ icon: "mdi:brain", form: "rounded", label: "LLM Engine Provider", pos: "b", h: 48 }
n8@{ icon: "mdi:memory", form: "rounded", label: "Session Memory Buffer", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Verify AI Output", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Record AI Errors Sheet", pos: "b", h: 48 }
n11["<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/>Unwrap AI Result"]
n12["<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/>Assemble Response Payload"]
n13["<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/webhook.dark.svg' width='40' height='40' /></div><br/>Return Webhook Result"]
n14["<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/slack.svg' width='40' height='40' /></div><br/>Post Slack Preview"]
n11 --> n12
n2 --> n5
n4 --> n5
n1 --> n2
n3 --> n4
n12 --> n13
n12 --> n14
n5 --> n9
n0 --> n1
n0 --> n3
n9 --> n11
n9 --> n10
n7 -.-> n5
n6 -.-> n5
n8 -.-> n5
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 n5,n6 ai
class n7 aiModel
class n8 ai
class n1,n3,n9 decision
class n10 database
class n0,n13 api
class n11,n12 code
classDef customIcon fill:none,stroke:none
class n0,n11,n12,n13,n14 customIcon
Varför det här spelar roll: att göra samma dokumentjobb om och om igen
De flesta team tappar inte tid för att ett dokument är ”svårt”. De tappar tid för att jobbet upprepar sig. En PDF hamnar i Drive eller i ett mejl, någon läser den, någon annan ber om de viktigaste punkterna och sedan försvinner tråden i Slack-historiken. Nästa vecka dyker samma dokument upp igen och du gör allt från början. Och när du väl försöker använda AI-verktyg manuellt får du tre olika sammanfattningsstilar och ett par hallucinerade fakta som du inte kan lita på.
Det summeras snabbt. Friktionen byggs på.
- Du slösar ungefär 20 minuter per dokument bara på att växla mellan ”läs”, ”sammanfatta”, ”formatera” och ”dela”.
- Slack-meddelanden är lätta att posta och lätta att tappa bort, vilket gör att samma frågor fortsätter att dyka upp.
- Ostrukturerade AI-utdata skapar ett andra jobb: redigera, omformatera och dubbelkolla detaljer.
- När AI:n returnerar ogiltig JSON eller tom text märker du ofta inte det förrän något längre ned i flödet skapar fel.
Vad du bygger: en dokument-till-Slack-sammanfattningsmotor med felloggning
Det här flödet omvandlar uppladdade PDF:er eller TXT-filer till ett konsekvent paket med ”sammanfattning + frågor & svar” som teamet faktiskt kan återanvända. Det startar när en fil når din webhook-endpoint. Därefter känner automatiseringen av om det är en PDF eller en textfil och extraherar läsbar text på rätt sätt (ingen copy-paste). Texten skickas till GPT-4o (via Azure OpenAI i det här flödet), som producerar en strukturerad sammanfattning och fem frågor & svar-par i ett strikt JSON-format. Sedan validerar flödet resultatet. Om utdata är felaktigt formaterade eller tomma loggas det i Google Sheets för granskning. Om det ser bra ut får du ett korrekt formaterat JSON-svar tillbaka till den som begärde det och en Slack-förhandsvisning så att teamet snabbt kan skanna nyckelpunkterna.
Flödet börjar med en uppladdning till en webhook. Därefter extraheras text, AI:n ombeds om ett strikt JSON-svar och strukturen verifieras innan en förhandsvisning delas i Slack och den slutliga payloaden returneras.
Det du bygger
| Vad som automatiseras | Vad du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att teamet hanterar 10 dokument i veckan. Manuellt tar det oftast runt 20 minuter att läsa, skriva en användbar sammanfattning, formatera den och posta den i Slack, så det blir ungefär 3 timmar i veckan. Med det här flödet är den mänskliga tiden i princip uppladdningen plus en snabb kontroll av Slack-förhandsvisningen, kanske 2 minuter per dokument. Även om AI:n tar en minut eller två på sig att svara får du tillbaka nästan all den tiden.
Innan du börjar
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Slack för att posta sammanfattningsförhandsvisningen internt
- Google Sheets för att logga ogiltiga eller felaktigt formaterade AI-utdata
- API-uppgifter för Azure OpenAI (hämta dem från Azure OpenAI-resursen i Azure Portal)
Kunskapsnivå: Medel. Du kopplar några konton, konfigurerar en webhook och klistrar in uppgifter i n8n.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
En filuppladdning triggar allt. Du postar en PDF- eller TXT-fil till n8n:s webhook-endpoint. Den enda åtgärden startar flödet och fångar filen som binärdata.
Flödet identifierar filtypen. Det kontrollerar om uppladdningen är en PDF eller en TXT-fil och skickar den via rätt extraheringsväg. Filtyper som inte stöds ignoreras, vilket håller dina körningar rena.
Text extraheras och städas upp. PDF:er parsas via ett PDF-extraheringssteg, medan TXT-filer läses som råtext. Oavsett blir utdata ett enda textblock som AI:n kan jobba med.
GPT-4o skapar strukturerade utdata, och sedan verifieras det. AI-agenten producerar en sammanfattning på 150–200 ord och fem frågor & svar-par i strikt JSON. Ett valideringssteg kontrollerar att utdata inte är tomma och att strukturen är korrekt; fel loggas till Google Sheets.
Resultaten levereras på två ställen. Flödet returnerar ett korrekt formaterat JSON-svar till den ursprungliga beställaren och postar en kort Slack-förhandsvisning (första 300 tecknen) för snabb intern granskning.
Du kan enkelt justera sammanfattningslängd och formatet för frågor & svar utifrån dina behov. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera webhook-triggern
Konfigurera en inkommande fil-endpoint som tar emot PDF- eller TXT-uppladdningar och skickar dem vidare in i arbetsflödet.
- Lägg till noden Inbound File Webhook och ställ in HTTP Method på
POST. - Ställ in Path på
65df1798-c390-404d-827c-be1bf6fbe411. - Ställ in Response Mode på
responseNodeså att arbetsflödet returnerar AI-utdata via Return Webhook Result.
file när ni testar webhooken.Steg 2: koppla grenar för dokumentparsning
Routa PDF- och TXT-uppladdningar till respektive noder för textextraktion och skicka sedan utdata till AI-agenten.
- I Validate PDF Upload ställer ni in villkorets vänstra värde till
{{ $binary.file.fileExtension }}och högra värde tillpdf. - I Validate TXT Upload ställer ni in villkorets vänstra värde till
{{ $binary.file.fileExtension }}och högra värde tilltxt. - Konfigurera Pull Text from PDF med Operation satt till
pdfoch Binary Property Name satt tillfile. - Konfigurera Pull Text from TXT med Operation satt till
textoch Binary Property Name satt tillfile. - Inbound File Webhook skickar utdata till både Validate PDF Upload och Validate TXT Upload parallellt.
- Koppla både Pull Text from PDF och Pull Text from TXT till AI Summary and QA Builder.
file kommer båda valideringsnoderna inte att matcha filändelsen.Steg 3: konfigurera AI Summary and QA Builder
Konfigurera AI-agenten och koppla in dess språkmodell, parser och minne för strukturerad JSON-utdata.
- Öppna AI Summary and QA Builder och ställ in Prompt Type på
define. - Ställ in fältet Text till hela prompten, inklusive variablerna för dokumenttext
{{ $json["text"] }}{{ $json.data }}. - Ställ in System Message till
You are an expert AI document analyst...Always return the result in JSON format. - Koppla LLM Engine Provider som språkmodell och ställ in Model på
gpt-4o. - Inloggning krävs: anslut era azureOpenAiApi-uppgifter i LLM Engine Provider.
- Koppla Parse AI QA JSON som output-parser med JSON-schemaexemplet exakt som visas.
- Koppla Session Memory Buffer och ställ in Session Key på
"json_review"och Context Window Length på7. - För Parse AI QA JSON och Session Memory Buffer lägger ni till eventuella nödvändiga inloggningar på parent-noden AI Summary and QA Builder, inte på undernoderna.
Steg 4: konfigurera utdata och Slack-förhandsvisning
Packa upp AI-utdata, bygg svarspayloaden och leverera resultat via webhook och Slack parallellt.
- I Verify AI Output ställer ni in villkorets vänstra värde till
{{ $json.output }}och konfigurerar operatorn för att kontrolleranotEmpty. - Konfigurera Unwrap AI Result med den medföljande JavaScript-koden som packar upp
$json.outputnär det är en array. - Konfigurera Assemble Response Payload med den medföljande JavaScript-koden som returnerar en array med ett enda item.
- Ställ in Post Slack Preview Text till
Short Summary: {{ $json.summary.substring(0, 300) }}...och ställ in Select påuser. - Inloggning krävs: anslut era slackApi-uppgifter i Post Slack Preview.
- Assemble Response Payload skickar utdata till både Return Webhook Result och Post Slack Preview parallellt.
Steg 5: lägg till felhantering
Fånga fall där AI-utdata saknas och logga dem till Google Sheets för granskning.
- I Verify AI Output kopplar ni false-grenen till Record AI Errors Sheet för att logga tomma eller ogiltiga utdata.
- Konfigurera Record AI Errors Sheet med Operation satt till
append. - Ställ in Document ID till
[YOUR_ID]och Sheet Name till[YOUR_ID]. - Inloggning krävs: anslut era googleSheetsOAuth2Api-uppgifter i Record AI Errors Sheet.
[YOUR_ID] kommer felloggningen att misslyckas.Steg 6: testa och aktivera ert arbetsflöde
Validera både PDF- och TXT-uppladdningar, bekräfta Slack- och webhook-utdata och aktivera sedan arbetsflödet.
- Klicka på Execute Workflow och skicka en testfil till Inbound File Webhook-URL:en.
- Verifiera att en lyckad körning returnerar JSON från Return Webhook Result som innehåller
summaryochqa. - Bekräfta att Post Slack Preview skickar sammanfattningsutdraget till den valda användaren.
- Om AI-utdata är tom kontrollerar ni att en rad läggs till i Record AI Errors Sheet.
- När ni är nöjda växlar ni arbetsflödet till Active för att möjliggöra användning i produktion.
Felsökningstips
- Slack-uppgifter kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först scope:arna för Slack-appen/bot-token och den anslutna inloggningen i n8n.
- Om du använder Wait-noder eller extern rendering varierar processeringstider. Öka väntetiden om noder längre ned misslyckas på grund av tomma svar.
- Azure OpenAI (GPT-4o) kan fallera på grund av saknade deployment-namn eller rate limits. Bekräfta att modelldeployen är korrekt och granska Azure-loggar om anrop plötsligt börjar returnera fel.
Snabba svar
Cirka 30 minuter om du redan har Slack, Sheets och Azure OpenAI redo.
Nej. Du kopplar inloggningar, klistrar in din webhook-URL där du behöver den och justerar några fält för det utdataformat du vill ha.
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 användningskostnader för Azure OpenAI, som beror på modell och volym.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och klarar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det bör du. De enklaste ändringarna gör du i prompten för AI Summary and QA Builder (ändra ton, sammanfattningslängd eller vilka frågor du vill ha) och i steget Parse AI QA JSON (strama åt eller utöka schemat). Vanliga justeringar är att bara skapa en sammanfattning (inga frågor & svar), producera en längre ”briefing note” eller routa Slack-förhandsvisningar till olika kanaler baserat på filnamn eller avsändare.
Oftast beror det på en utgången token eller saknade scope:ar i Slack-appen. Återanslut Slack-inloggningen i n8n, bekräfta att botten är inbjuden till målkanalen och dubbelkolla kanal-ID:t om du kopierade det från en gammal setup. Om din workspace har skärpt säkerheten kan även ett admin-godkännande blockera postning.
Ett typiskt mindre team kan köra dussintals dokument per dag utan problem, förutsatt att dina Azure OpenAI-gränser är dimensionerade korrekt.
Ofta, ja, eftersom flödet bygger på striktare logik: filtypsroutning, tolkning av strukturerade utdata och validering med felloggning. I Zapier/Make går det att göra, men du kan lägga mer tid på att täcka edge cases, och vissa ”avancerade” steg tar dig till dyrare prisnivåer. n8n har också möjlighet till egen drift, vilket är praktiskt om du förväntar dig många körningar. Den ärliga brasklappen: om du bara behöver ett enkelt ”sammanfatta och posta en gång”-flöde utan JSON-krav kan Zapier eller Make kännas snabbare att sätta upp. Prata med en automationsexpert om du vill ha en rekommendation baserat på din volym och dina krav på driftsäkerhet.
När detta väl rullar slutar teamet skriva om samma ”viktigaste punkter” i nya Slack-trådar. Flödet tar hand om det repetitiva så att dina anteckningar förblir tydliga, sökbara och faktiskt användbara.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.