Du avslutar ett riktigt bra samtal, du har en transkription, och sedan börjar det verkliga tidsslöseriet. Kopiera “de bra delarna” till slides, skriva om för tydlighet, leta efter rätt layout, fixa mellanrum, fixa mellanrum igen. Det går långsamt, och det är märkligt utmattande.
Den här Docs to Slides-automationen slår hårt mot säljteam, men konsulter som bygger offerter och byråledare som gör discovery-samtal till kunddeck känner av den också. Resultatet är enkelt: ett kundklart Google Slides-deck byggt från en Google Docs-transkription med din egen mall, med text och bilder redan på plats.
Nedan ser du exakt vad det här n8n-workflowsystemet gör, vad du behöver för att köra det och vad du ska se upp med när du anpassar det.
Så fungerar den här automatiseringen
Hela n8n-workflowen, från trigger till slutresultat:
n8n Workflow Template: Google Docs till Google Slides från transkript
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 Presentation"]
n2@{ icon: "mdi:database", form: "rounded", label: "Append in Main Sheet", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Append in Images Sheet", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Append in Client Sheet", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Get Pending Row", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Get Transcript", pos: "b", h: 48 }
n8@{ icon: "mdi:robot", form: "rounded", label: "Generate Presentation Plan", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Update PPT Plan Doc", pos: "b", h: 48 }
n10@{ icon: "mdi:cog", form: "rounded", label: "Create PPT Plan Doc", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Update row in Main Sheet + T..", pos: "b", h: 48 }
n12@{ icon: "mdi:cog", form: "rounded", label: "Get a document", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Convert to File", pos: "b", h: 48 }
n14@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n15["<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/>HTTP Request1"]
n16@{ icon: "mdi:cog", form: "rounded", label: "Upload file", pos: "b", h: 48 }
n17@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n18@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n19@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet", pos: "b", h: 48 }
n20@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet", pos: "b", h: 48 }
n21@{ icon: "mdi:cog", form: "rounded", label: "Convert to File1", pos: "b", h: 48 }
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields1", pos: "b", h: 48 }
n23["<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/>HTTP Request2"]
n24@{ icon: "mdi:cog", form: "rounded", label: "Upload file1", pos: "b", h: 48 }
n25@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet1", pos: "b", h: 48 }
n26@{ icon: "mdi:cog", form: "rounded", label: "Convert to File2", pos: "b", h: 48 }
n27@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields2", pos: "b", h: 48 }
n28["<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/>HTTP Request"]
n29@{ icon: "mdi:cog", form: "rounded", label: "Upload file2", pos: "b", h: 48 }
n30@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet2", pos: "b", h: 48 }
n31@{ icon: "mdi:cog", form: "rounded", label: "Convert to File3", pos: "b", h: 48 }
n32@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields3", pos: "b", h: 48 }
n33["<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/>HTTP Request3"]
n34@{ icon: "mdi:cog", form: "rounded", label: "Upload file3", pos: "b", h: 48 }
n35@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet3", pos: "b", h: 48 }
n36@{ icon: "mdi:cog", form: "rounded", label: "Convert to File4", pos: "b", h: 48 }
n37@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields4", pos: "b", h: 48 }
n38["<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/>HTTP Request4"]
n39@{ icon: "mdi:cog", form: "rounded", label: "Upload file4", pos: "b", h: 48 }
n40@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet4", pos: "b", h: 48 }
n41@{ icon: "mdi:cog", form: "rounded", label: "Convert to File5", pos: "b", h: 48 }
n42@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields5", pos: "b", h: 48 }
n43["<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/>HTTP Request5"]
n44@{ icon: "mdi:cog", form: "rounded", label: "Upload file5", pos: "b", h: 48 }
n45@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet5", pos: "b", h: 48 }
n46["<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/>Merge"]
n47@{ icon: "mdi:database", form: "rounded", label: "Update row Presentation Deta..", pos: "b", h: 48 }
n48@{ icon: "mdi:database", form: "rounded", label: "Update row in Images Sheet", pos: "b", h: 48 }
n49@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet2", pos: "b", h: 48 }
n50@{ icon: "mdi:cog", form: "rounded", label: "Get a presentation1", pos: "b", h: 48 }
n51@{ icon: "mdi:cog", form: "rounded", label: "Get a document1", pos: "b", h: 48 }
n52@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet3", pos: "b", h: 48 }
n53@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model1", pos: "b", h: 48 }
n54["<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/>Code"]
n55@{ icon: "mdi:cog", form: "rounded", label: "Replace text in a presentation", pos: "b", h: 48 }
n56@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet6", pos: "b", h: 48 }
n57["<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 to Imgbb"]
n58["<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/>Replace Image"]
n59["<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 to Imgbb1"]
n60["<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/>Replace Image1"]
n61["<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 to Imgbb2"]
n62["<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/>Replace Image2"]
n63["<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 to Imgbb3"]
n64["<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/>Replace Image3"]
n65["<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 to Imgbb4"]
n66["<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/>Replace Image4"]
n67["<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 to Imgbb5"]
n68["<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/>Replace Image5"]
n69@{ icon: "mdi:cog", form: "rounded", label: "Download file 1", pos: "b", h: 48 }
n70@{ icon: "mdi:cog", form: "rounded", label: "Download file 2", pos: "b", h: 48 }
n71@{ icon: "mdi:cog", form: "rounded", label: "Download file 3", pos: "b", h: 48 }
n72@{ icon: "mdi:cog", form: "rounded", label: "Download file 4", pos: "b", h: 48 }
n73@{ icon: "mdi:cog", form: "rounded", label: "Download file 5", pos: "b", h: 48 }
n74@{ icon: "mdi:cog", form: "rounded", label: "Download file 6", pos: "b", h: 48 }
n75@{ icon: "mdi:cog", form: "rounded", label: "Convert to Base64", pos: "b", h: 48 }
n76@{ icon: "mdi:cog", form: "rounded", label: "Convert to Base641", pos: "b", h: 48 }
n77@{ icon: "mdi:cog", form: "rounded", label: "Convert to Base642", pos: "b", h: 48 }
n78@{ icon: "mdi:cog", form: "rounded", label: "Convert to Base643", pos: "b", h: 48 }
n79@{ icon: "mdi:cog", form: "rounded", label: "Convert to Base644", pos: "b", h: 48 }
n80@{ icon: "mdi:cog", form: "rounded", label: "Convert to Base645", pos: "b", h: 48 }
n81@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet4", pos: "b", h: 48 }
n82@{ icon: "mdi:cog", form: "rounded", label: "Get a presentation", pos: "b", h: 48 }
n83@{ icon: "mdi:cog", form: "rounded", label: "Get a document2", pos: "b", h: 48 }
n84@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet5", pos: "b", h: 48 }
n85@{ icon: "mdi:database", form: "rounded", label: "Update row in sheet7", pos: "b", h: 48 }
n86["<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/>Merge1"]
n87@{ icon: "mdi:cog", form: "rounded", label: "Wait", pos: "b", h: 48 }
n88@{ icon: "mdi:cog", form: "rounded", label: "Wait1", pos: "b", h: 48 }
n89@{ icon: "mdi:cog", form: "rounded", label: "Wait2", pos: "b", h: 48 }
n90@{ icon: "mdi:cog", form: "rounded", label: "Wait3", pos: "b", h: 48 }
n91@{ icon: "mdi:robot", form: "rounded", label: "Final Text Content Formatting", pos: "b", h: 48 }
n92@{ icon: "mdi:robot", form: "rounded", label: "Illustrations & Image Prompt..", pos: "b", h: 48 }
n93@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model1", pos: "b", h: 48 }
n94@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model2", pos: "b", h: 48 }
n95@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model2", pos: "b", h: 48 }
n54 --> n55
n87 --> n6
n46 --> n47
n88 --> n19
n89 --> n81
n90 --> n49
n86 --> n85
n14 --> n13
n16 --> n20
n22 --> n21
n27 --> n26
n32 --> n31
n37 --> n36
n42 --> n41
n28 --> n27
n24 --> n25
n29 --> n30
n34 --> n35
n39 --> n40
n44 --> n45
n15 --> n14
n23 --> n22
n33 --> n32
n38 --> n37
n43 --> n42
n58 --> n86
n7 --> n8
n12 --> n92
n60 --> n86
n62 --> n86
n64 --> n86
n66 --> n86
n68 --> n86
n13 --> n16
n69 --> n75
n70 --> n76
n71 --> n77
n72 --> n78
n73 --> n79
n74 --> n80
n6 --> n7
n51 --> n50
n83 --> n82
n57 --> n58
n21 --> n24
n26 --> n29
n31 --> n34
n36 --> n39
n41 --> n44
n59 --> n60
n61 --> n62
n63 --> n64
n65 --> n66
n67 --> n68
n75 --> n57
n5 -.-> n8
n76 --> n59
n77 --> n61
n78 --> n63
n79 --> n65
n80 --> n67
n82 --> n70
n82 --> n71
n82 --> n72
n82 --> n73
n82 --> n74
n82 --> n69
n0 --> n1
n53 -.-> n91
n94 -.-> n92
n10 --> n9
n1 --> n2
n50 --> n91
n19 --> n12
n9 --> n11
n20 --> n46
n2 --> n3
n49 --> n52
n52 --> n51
n81 --> n84
n84 --> n83
n25 --> n46
n30 --> n46
n35 --> n46
n40 --> n46
n45 --> n46
n56 --> n89
n4 --> n87
n3 --> n4
n18 -.-> n92
n17 -.-> n92
n93 -.-> n91
n95 -.-> n8
n8 --> n10
n48 --> n90
n91 --> n54
n55 --> n56
n47 --> n48
n92 --> n15
n92 --> n23
n92 --> n28
n92 --> n33
n92 --> n38
n92 --> n43
n11 --> n88
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 n8,n17,n91,n92 ai
class n5,n18,n53,n93,n94,n95 aiModel
class n2,n3,n4,n6,n11,n19,n20,n25,n30,n35,n40,n45,n47,n48,n49,n52,n56,n81,n84,n85 database
class n1,n15,n23,n28,n33,n38,n43,n57,n58,n59,n60,n61,n62,n63,n64,n65,n66,n67,n68 api
class n54 code
classDef customIcon fill:none,stroke:none
class n0,n1,n15,n23,n28,n33,n38,n43,n46,n54,n57,n58,n59,n60,n61,n62,n63,n64,n65,n66,n67,n68,n86 customIcon
Problemet: transkriptioner blir inte deck av sig själva
En transkription är en rörig tillgång. Den innehåller upprepningar, sidospår, halvmeningar och mycket “kontext” som fungerar i ett samtal men faller platt i en slide. Så någon måste översätta den till en storyline, forma den till ett deck och sedan få det att se ut som ert varumärke. Den “någon” är ofta du, sent på eftermiddagen, när du försöker få iväg en uppföljning innan prospektet tappar intresset. Gör du det här några gånger i veckan blir det en tyst skatt på ditt bästa arbete: sälja, rådgiva eller leda leverans.
Det är inte en stor uppgift. Det är dussintals små, och de staplas snabbt.
- Du skriver om samma typer av slides om och om igen (problem, effekt, rekommendation, nästa steg).
- Deckets formatering glider, särskilt när flera personer rör filen mellan versioner.
- Viktiga detaljer missas eftersom du skummar långa transkriptioner under tidspress.
- Även när du “mallar det” lägger du fortfarande runt en timme per deck på ihopbyggnad.
Lösningen: bygg slides från en transkription med din mall
Den här automatiseringen är ett sammanlänkat system med 5 workflows i n8n som gör en mötestranskription i Google Docs till en polerad Google Slides-presentation. Det börjar med ett enkelt intag (kundnamn, transkript-URL, inskickstid), klonar din befintliga Slides-mall och skapar en spårningsrad i Google Sheets så varje deck får en plats. Sedan läser AI transkriptionen, plockar ut smärtpunkter och mål och skriver en strukturerad presentationsplan som du snabbt kan granska i Google Docs. När planen ser bra ut genererar workflowen anpassade illustrationer (via en bildmodell), sparar dem i Google Drive och fyller till sist din Slides-mall med personaliserad text och rätt bilder på rätt platser.
Flödet startar med ditt formulärsvar och en transkriptlänk i Google Docs. Därifrån sker planering och innehållsgenerering automatiskt, och sedan uppdaterar systemet Google Slides med hjälp av Object IDs (unika identifierare i din mall) så att det redigerar rätt textrutor och bildplatshållare. Resultatet är ett kundklart deck som du kan finjustera och skicka utan att börja från en tom fil.
Det du får: automation vs. resultat
| Vad den här workflowen automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du gör 5 uppföljningsdeck per vecka. Manuell hantering tar oftast ungefär 2 timmar per deck: 30 minuter för att plocka ut höjdpunkter ur transkriptionen, cirka en timme för att bygga och formatera slides och ytterligare 30 minuter för att hitta eller skapa visuellt material. Det blir ungefär 10 timmar i veckan. Med det här workflowet tar intaget cirka 5 minuter, AI-planering och generering kör i bakgrunden, och du lägger vanligtvis 20–30 minuter på att granska planen och decket. Du får tillbaka större delen av den dagen.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger funkar bra)
- Google Workspace för åtkomst till Docs, Drive och Slides.
- Google Sheets för att spåra deck och tillgångar.
- OpenAI API-nyckel (hämta den i OpenAI API-dashboarden).
- OpenRouter API-nyckel (hämta den från ditt OpenRouter-konto) för Flux-bildgenerering.
- ImgBB API-nyckel (hämta den i ImgBB API-inställningar) för pålitliga bild-URL:er.
Svårighetsnivå: Medel. Du kopplar konton, kopierar en mall och klistrar in några ID:n/nycklar, men du behöver inte skriva kod om du inte vill göra en djupare anpassning.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Intaget triggar processen. Ett formulärsvar fångar kundnamn, URL:en till transkriptionen i Google Docs och en tidsstämpel. n8n använder det för att starta systemet och hålla allt kopplat till ett “jobb”.
Din mall blir ett nytt deck. Workflowen klonar en Google Slides-presentation som du redan har designat och skriver sedan in den nya presentationens ID i en Google Sheets-databas så att du kan följa status och tillgångar över tid.
AI gör rå transkription till en plan. En AI-agent läser transkriptionen och tar fram en strukturerad presentationsdisposition (smärtpunkter, mål, rekommendationer, bevis, nästa steg). Planen sparas i Google Docs så att den är enkel att granska, kommentera och revidera i efterhand.
Text och visuellt material läggs in automatiskt. En annan AI-agent genererar text som är redo för slides, medan bild-workflowen genererar illustrationer och sparar dem i Drive. Eftersom Google Drive-bildlänkar kan vara kinkiga i API-anrop laddar workflowen upp bilderna till ImgBB så att Slides kan hämta dem stabilt. Därefter uppdaterar n8n specifika textrutor och bildplatshållare med hjälp av Object IDs från din mall.
Du kan enkelt ändra mallens struktur så att den matchar ditt deck-upplägg utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.
Vanliga fallgropar
- Google Workspace-inloggningar kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, kontrollera först skärmen för inloggningar i n8n och dina Google Cloud OAuth consent-inställningar.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
- ImgBB-länkar är skillnaden mellan “funkar en gång” och “funkar varje gång”. Om bilder saknas, verifiera ImgBB API-nyckeln och bekräfta att workflowen sparar den hostade URL:en som returneras, inte den ursprungliga Google Drive-länken.
Vanliga frågor
Räkna med cirka 60–90 minuter första gången, främst för att förbereda din mall och dina inloggningar.
Nej. Du kopplar verktyg och klistrar in några API-nycklar. Om du vill ändra JSON-tolkningen eller lägga till speciallogik hjälper lite JavaScript, men det är valfritt.
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 in användningen av OpenAI och OpenRouter (för många team handlar det om några dollar per deck beroende på längd och bilder).
Två alternativ: n8n Cloud (managed, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, men mallen behöver konsekventa Object IDs. De flesta team duplicerar sitt bästa deck, märker upp text- och bildplatshållare och uppdaterar sedan steget “klona mall” så att det pekar på den nya Slides-filen. Vanliga anpassningar är att ändra slide-ordningen, byta AI-modell (OpenAI vs. Gemini) och justera företagsprofilen så att rekommendationerna matchar ert erbjudande.
Oftast handlar det om utgången OAuth-åtkomst eller saknade scopes för Drive/Docs/Slides. Anslut Google på nytt i n8n, bekräfta att Google Cloud-projektet har rätt API:er aktiverade och dubbelkolla att kontot du auktoriserade faktiskt har åtkomst till transkript-dokumentet och Slides-mallen. Om det bara misslyckas för vissa kunder är det ofta ett behörighetsproblem på transkriptfilen (delad till fel e-post). Rate limits kan också dyka upp när du genererar många deck i följd.
Många.
Ofta ja, om du bryr dig om kontroll. Den här workflowen har flera steg, förgrenad logik och tungt API-arbete (Slides Object IDs, filhantering, bildhosting). n8n hanterar den typen av “riktiga workflows” bättre, och egen drift undviker prissättning per uppgift som blir dyr när du genererar deck varje dag. Zapier eller Make kan fungera bra för enkel routing, men du slår sannolikt i taket när du börjar uppdatera Slides programmatiskt. Om du är osäker, prata med en automationsexpert så får du en rak rekommendation.
När det här väl rullar slutar deck att vara en “bygg om från grunden”-syssla och blir ett granskningssteg. Ärligt talat, det är hela vinsten.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.