Du har en handfull PDF:er utspridda över mejl, länkar och mappar. Sedan kommer den irriterande delen: ladda ner dem en och en, slå ihop dem, döpa om dem till ”final-final-v3.pdf” och ladda upp igen så att teamet faktiskt kan använda dem.
Det här drabbar marknadskoordinatorer som trycker ut kundleveranser, ops-ansvariga som bygger veckopaket, och konsulter som bara vill ha en smidig överlämning. Med den här PDF-sammanslagningsautomationen skickar du en snygg, färdig fil till Slack i stället för att jonglera bilagor i en halvtimme.
Nedan ser du exakt hur arbetsflödet hämtar publika PDF-länkar, slår ihop dem med CustomJS och levererar ett enda delningsklart dokument som teamet kan plocka upp på några sekunder.
Så här fungerar automationen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: CustomJS + Slack: sammanfogade pdf:er redo att dela
flowchart LR
subgraph sg0["Manual Run Starter Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Run Starter", pos: "b", h: 48 }
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/>Retrieve PDF A"]
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/>Retrieve PDF B"]
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/merge.svg' width='40' height='40' /></div><br/>Combine Inputs"]
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Assemble PDF Files", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Write PDF to Disk", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Read PDF from Disk", pos: "b", h: 48 }
n3 --> n4
n4 --> n5
n1 --> n3
n2 --> n3
n5 --> n6
n0 --> n1
n0 --> n2
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 n1,n2 api
classDef customIcon fill:none,stroke:none
class n1,n2,n3 customIcon
Problemet: PDF-paket blir till slöarbete
Att paketera PDF:er låter enkelt tills du gör det varje vecka. Någon droppar två publika länkar i en chatt. Du laddar ner dem, öppnar ett separat verktyg för att slå ihop, och laddar sedan upp den kombinerade filen någonstans där teamet hittar den. Missar du en sida eller slår ihop i fel ordning får du den fruktade frågan: ”Är det här senaste versionen?” Det handlar inte bara om tid. Det är kontextbyten, manuell kontroll och den där lågintensiva stressen över att skicka fel dokument till fel ställe.
Friktionen växer snabbt. Här är var det oftast fallerar.
- Att ladda ner PDF:er från flera länkar äter 10 minuter innan du ens börjar med ”riktigt arbete”.
- Att slå ihop i slumpmässiga onlineverktyg skapar inkonsekventa filnamn och rörig versionshistorik.
- Team laddar upp samma dokument igen till Slack, Drive och via mejl, så alla sitter till slut med olika ”final”.
- En missad fil eller fel ordning tvingar fram en omtagning, och den omtagningen är sällan snabb.
Lösningen: ladda ner, slå ihop och skicka en korrekt formaterad PDF till Slack
Det här arbetsflödet tar publika PDF-URL:er, laddar ner varje fil automatiskt och slår ihop dem till en enda PDF med hjälp av noden CustomJS PDF Toolkit. Det startar med en manuell körning (perfekt för test), och använder sedan två HTTP Request-steg för att hämta PDF:erna. Därefter kombinerar n8n inkommande filer till en array så att sammanslagningssteget kan hantera dem som ett ”paket”. CustomJS slår ihop PDF:erna till ett slutdokument, som skrivs till disk och läses tillbaka som en binär fil så att den är redo att skickas vidare, till exempel till Slack eller mejl. Resultatet blir en snygg fil som är konsekvent varje gång.
Arbetsflödet startar när du kör det i n8n (eller byter till en webhook senare). Det hämtar dina PDF:er från deras URL:er, slår ihop dem till ett dokument och förbereder sedan den sammanslagna PDF:en så att den kan postas till Slack som en bilaga. Ren överlämning. Inga uppladdningar på nytt.
Det du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du skapar ett veckovis ”kundpaket” med 6 PDF:er (en rapport, fakturor och några exporter). Manuellt tar nedladdning, sammanslagning, omdöpning och postning till Slack oftast cirka 5 minuter per PDF plus ytterligare 10 minuter för att slå ihop och dubbelkolla, alltså ungefär 40 minuter. Med det här arbetsflödet klistrar du in länkar (eller hämtar dem från ett kalkylark senare), kör en gång och väntar på att sammanslagningen blir klar. Realistiskt är det cirka 5 minuter av din tid, och sedan är den sammanslagna PDF:en redo att delas.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Community-noden CustomJS PDF Toolkit för att slå ihop PDF-binära filer.
- Slack för att leverera den sammanslagna PDF:en till en kanal.
- CustomJS API-nyckel (hämta den från din CustomJS-profil efter att du registrerat dig)
Kunskapsnivå: Medel. Du behöver känna dig bekväm med att lägga till credentials, installera en community-node (self-hosted) och testa med ett par exempel-URL:er till PDF:er.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du startar körningen. Mallen använder en manuell trigger, vilket är perfekt för att bevisa att flödet fungerar innan andra börjar förlita sig på det.
PDF:erna laddas ner från sina länkar. Två HTTP Request-noder hämtar ”PDF A” och ”PDF B” från publika URL:er, men du kan utöka till fler filer genom att mata in en array av länkar (särskilt hjälpsamt när totalstorleken riskerar att passera 6 MB-notisen i mallen).
Filerna samlas och slås ihop. n8n:s Merge-node samlar PDF:erna till en enda lista, och sedan kombinerar CustomJS dem till en sammanslagen PDF i den ordning du definierar.
Den sammanslagna PDF:en görs redo att delas. Arbetsflödet skriver den sammanslagna filen till disk och läser tillbaka den så att den binära datan kan skickas vidare till något som Slack eller Send Email utan att du behöver röra en nedladdningsmapp.
Du kan enkelt ändra triggern så att den tar emot länkar från en webhook i stället för en manuell körning, beroende på dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera den manuella triggern
Konfigurera arbetsflödet så att det startar manuellt, så att ni kan testa hämtning och sammanslagning av PDF:er vid behov.
- Lägg till noden Manual Run Starter som trigger.
- Lämna alla parametrar på standardvärdena (ingen konfiguration krävs).
Steg 2: Anslut PDF-källor
Konfigurera de två noderna för PDF-nedladdning som kör parallellt och levererar indata för sammanslagningen.
- I Retrieve PDF A, ställ in URL till
=https://www.intewa.com/fileadmin/documents/pdf-file.pdf. - I Retrieve PDF B, ställ in URL till
=https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf. - Bekräfta att Manual Run Starter skickar utdata till både Retrieve PDF A och Retrieve PDF B parallellt.
Steg 3: Sätt upp sammanslagning av PDF:er
Slå ihop de två nedladdade PDF:erna till en enda kombinerad fil.
- Anslut Retrieve PDF A och Retrieve PDF B till Combine Inputs.
- Anslut Combine Inputs till Assemble PDF Files.
- I Assemble PDF Files, behåll standardparametrarna.
- Behörighet krävs: Anslut era customJsApi-autentiseringsuppgifter i Assemble PDF Files.
Steg 4: Konfigurera utdatafiler
Skriv den sammanslagna PDF:en till disk och läs in den igen för vidare användning.
- I Write PDF to Disk, ställ in Operation till
writeoch File Name tilltest.pdf. - Anslut Assemble PDF Files till Write PDF to Disk.
- I Read PDF from Disk, ställ in File Selector till
test.pdf. - Anslut Write PDF to Disk till Read PDF from Disk.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera PDF-sammanslagningen och filutdata, och aktivera sedan arbetsflödet när ni är redo.
- Klicka på Execute Workflow för att starta Manual Run Starter.
- Verifiera att både Retrieve PDF A och Retrieve PDF B slutförs utan fel och skickar vidare till Combine Inputs.
- Bekräfta att Assemble PDF Files ger ut en sammanslagen binär fil och att Write PDF to Disk skapar
test.pdf. - Kontrollera Read PDF from Disk för att säkerställa att filen går att hämta.
- Växla arbetsflödet till Active när ni är redo för produktionsanvändning.
Vanliga fallgropar
- CustomJS-credentials kan löpa ut eller kräva att rätt API-nyckel klistras in i n8n. Om det skapar fel: kontrollera CustomJS-credential i n8n och bekräfta din nyckel från CustomJS-profilen först.
- Om du byter ut Manual Trigger mot en webhook och lägger till Wait-noder kan bearbetningstider variera med stora PDF:er. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Slack-uppladdningar av filer kan misslyckas utan tydlig feltext när bot-token saknar scopes. Dubbelkolla scopes i din Slack-app för att ladda upp filer och posta meddelanden till målkanalen.
Vanliga frågor
Cirka 30 minuter om du redan har din API-nyckel och åtkomst till Slack.
Nej. Du klistrar främst in URL:er, lägger till credentials och testar resultatet en eller två gånger.
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 in CustomJS API-kostnader baserat på hur mycket du slår ihop.
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 dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en vanlig uppgradering. Ersätt de två HTTP-stegen ”Retrieve PDF” med en Google Sheets-läsning som returnerar en kolumn med URL:er, och mata sedan in den listan i samma sammanslagningslogik. Du kan också lägga till en If-kontroll för att hoppa över tomma rader och använda Edit Fields (Set) för att bygga ett korrekt formaterat filnamn som ”ClientName_WeeklyPacket.pdf”.
Oftast är det API-nyckeln. Generera en ny i din CustomJS-profil, uppdatera sedan CustomJS-credential i n8n och kör igen med samma två exempel-PDF:er. Om PDF:erna är privata eller om URL:erna omdirigerar via en inloggningssida kommer HTTP Request-noderna att ladda ner en felsida i stället för en PDF, vilket gör att sammanslagningen misslyckas. Rate limits kan också dyka upp när du försöker slå ihop stora batchar direkt efter varandra.
Om du kör self-hosted finns ingen hård körningsgräns, men stora batchar beror på din server och den totala filstorleken. I praktiken börjar de flesta team med 5–20 PDF:er per paket och skalar därifrån genom att hämta URL:er från ett kalkylark eller Airtable. Om den sammanslagna filen blir väldigt stor kan du dela upp paketet per sektion och posta flera sammanslagna filer till Slack.
Ofta, ja. Den största vinsten är flexibilitet: n8n kan hantera binära filer, förgreningar och ”knepig” PDF-logik utan att tvinga upp dig i dyra task counts, och du kan köra self-hosted om volymen växer. Zapier och Make kan fortfarande fungera, men PDF-sammanslagning innebär ofta tredjepartssteg och skörare överlämningar. Dessutom är community-noder som CustomJS PDF Toolkit en stor grej här, och ärligt talat får du inte samma ekosystem i de flesta no-code-verktyg. Prata med en automationsexpert om du vill ha hjälp att välja den mest robusta lösningen för ditt team.
När detta väl är på plats slutar ”kan du slå ihop de här PDF:erna?” vara en uppgift. Det blir en knapp du trycker på, och sedan släpper du den färdiga filen i Slack och går vidare.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.