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

Google Sheets + Postiz: citatreels publiceras åt dig

Rickard Andersson Partner, Nodenordic.se

Du känner igen känslan: du skulle kunna publicera varje dag, men att förvandla ett citat till en bra Reel blir ett helt miniprojekt. Hitta citatet, skriva captions, generera en röst, rendera videon, ladda upp den tre gånger, och sedan hålla koll på vad som redan är publicerat så att du inte upprepar dig.

Content marketers stöter på det här när konsekvens är viktigare än “stora lanseringar”. En soloskapare känner av det ännu mer. Och om du driver en byrå och hanterar kunders kanaler är automatisering av citat-reels skillnaden mellan “vi postar när vi hinner” och en stabil produktion som faktiskt ger kumulativ effekt.

Det här flödet hämtar opublicerade citat från Google Sheets, gör varje citat till en 8 sekunder lång filmisk vertikal video och publicerar via Postiz till TikTok, Instagram Reels och YouTube Shorts. Du får lära dig vad som automatiseras, vad du behöver och hur du får det att rulla utan att sitta och passa renderingar.

Så fungerar automatiseringen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: Google Sheets + Postiz: citatreels publiceras åt dig

Varför det här spelar roll: daglig publicering faller på “produktion”-steget

Att publicera citat-reels låter enkelt tills du gör det varje dag. Citatet är lätt. Resten är slitjobbet: du behöver vertikalt videoformat, en voice-over som inte låter robotisk, musik som matchar känslan, captions som fungerar på varje plattform och en slutrender som ser genomtänkt ut (inte som en mall du hittade i panik). Sedan ska du fortfarande ladda upp till TikTok, Reels och Shorts och föra logg så att samma citat inte dyker upp igen nästa vecka. Det är den ständiga kontextväxlingen som dödar momentum.

Det drar snabbt iväg. Här brukar det oftast falla isär.

  • En “enkel” reel kan bli ungefär en timme av prompts, redigering, exporter och uppladdningar.
  • När du spårar publicerade citat manuellt smyger dubbletter in och ditt bibliotek blir rörigt.
  • Captions översätts inte rakt av mellan plattformar, så du skriver om samma idé tre gånger.
  • Rendering misslyckas eller tar längre tid än väntat, och plötsligt felsöker du i stället för att publicera.

Vad du bygger: publicering från Sheets till video på autopilot

Det här workflowet gör ett Google Sheet till en daglig innehållskö. Det startar på ett schema (eller med en manuell körning), hämtar en opublicerad rad som innehåller ditt citat plus fält för “kreativ riktning” som ton, mood, stil och röst-ID, och skickar sedan den inputen till AI för att generera scener och plattformsanpassade captions. Därefter skapar det en voice-over med ElevenLabs, renderar en 8 sekunder lång vertikal video med Google VEO3 och en Creatomate-komposition, och skalar upp slutresultatet via Cloudinary. När videon är klar skickar n8n den till Postiz, som köar inlägg till TikTok, Instagram Reels och YouTube Shorts. Till sist markerar flödet raden som publicerad i Google Sheets så att workflowet aldrig återanvänder samma citat.

Workflowet börjar med “välj nästa citat”. Sedan kommer innehållsgenerering och rendering (röst, visuellt, klipp). Sist distribueras det via Postiz och ditt sheet uppdateras så att morgondagens körning startar med strukturerade, korrekta data.

Det här bygger du

Förväntade resultat

Säg att du vill publicera en citat-reel per dag på tre plattformar. Manuellt tar även en “snabb” process kanske 20 minuter att generera material, 20 minuter att sätta ihop/exportera och cirka 10 minuter per plattform för att ladda upp och skriva captions, alltså ungefär en och en halv timme per dag. Med det här workflowet kan ditt dagliga arbete vara så lite som 5 minuter för att lägga in några citat i Google Sheets, sedan väntar du på rendering och publiceringen sker via Postiz. Det är ungefär en timme tillbaka per dag, och konsekvensen hänger inte på ditt humör.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra citat och publiceringsstatus.
  • Postiz för att publicera till TikTok, Reels och Shorts.
  • API-nycklar (Gemini, OpenAI, ElevenLabs, Cloudinary, plus Postiz-token från din Postiz-dashboard).

Svårighetsgrad: Medel. Du kopplar konton, lägger in API-nycklar och testar en render-/publiceringskörning från start till mål.

Vill du att någon bygger det åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Ett dagligt schema (eller en manuell körning) drar igång allt. Workflowet kan köras via en planerad schematrigger för hands-off-publicering, och det innehåller även en manuell trigger för test eller batchkörningar.

Google Sheets levererar nästa “opublicerade” citat. n8n läser rader, begränsar posterna till ett enda objekt och mappar dina fält (citat, mood, stil, röst-ID) till en strukturerad input så att AI-prompter längre fram blir konsekventa.

AI skapar den kreativa briefen och orden som tittarna faktiskt läser. En prompt-orkestrerare använder Gemini plus GPT för att generera scener och plattformsanpassade captions, och sedan gör en strukturerad parser om outputen till pålitliga fält för rendering (så att du inte sitter och kopierar från ett chattfönster).

Rendering, uppskalning och publicering sker i bakgrunden. ElevenLabs syntetiserar röstspåret, media laddas upp, Creatomate bygger den slutliga kompositionen, Cloudinary skalar upp den och Postiz köar den till TikTok, Instagram och YouTube baserat på din publiceringsrutt. När den är köad uppdateras raden i sheetet till “Publicerad”.

Du kan enkelt ändra publiceringsdestinationer eller regler för kreativ stil utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera triggertypen

Ställ in hur arbetsflödet startar, antingen manuellt eller enligt ett schema, innan någon data hämtas eller bearbetas.

  1. Lägg till och behåll Manual Run Trigger för tester vid behov och backfills.
  2. Lägg till och konfigurera Planned Schedule Trigger för att köra ert automatiserade schema.
  3. Bekräfta att båda triggerna är kopplade till Retrieve Sheet Rows så att båda startmetoderna hämtar samma datakälla.

Använd Manual Run Trigger för första uppsättningen och validering, och förlita er sedan på Planned Schedule Trigger för körningar i produktion.

Steg 2: Anslut Google Sheets

Hämta er innehållsplan eller promptindata från kalkylarket och begränsa samt förbered fälten för efterföljande AI-steg och rendering.

  1. Öppna Retrieve Sheet Rows och anslut ert ark som innehåller indata för kortformatvideo.
  2. Autentiseringsuppgifter krävs: Anslut era Google Sheets-uppgifter för Retrieve Sheet Rows och Update Quota Complete.
  3. I Limit Records anger ni hur många rader som ska bearbetas per körning (t.ex. en liten batch för test).
  4. I Assign Input Fields mappar ni de kolumner ni behöver som standardiserade fält för AI-stegen.

⚠️ Vanlig fallgrop: Om Retrieve Sheet Rows returnerar tom data, kontrollera arkets namn, intervall och delningsbehörigheter.

Steg 3: Sätt upp AI-generering av manus

Generera strukturerade manus med agenten och LLM-kedjan innan ni producerar ljud.

  1. Öppna Prompt Orchestrator och säkerställ att den är ansluten till Gemini Chat Model som språkmodell.
  2. Autentiseringsuppgifter krävs: Anslut era Google Gemini-uppgifter i Gemini Chat Model.
  3. Konfigurera Compose Script Content att köras efter Prompt Orchestrator.
  4. Bekräfta att OpenAI Chat Engine är ansluten som språkmodell för Compose Script Content.
  5. Autentiseringsuppgifter krävs: Anslut era OpenAI-uppgifter i OpenAI Chat Engine.
  6. Säkerställ att Parse Structured Output är ansluten som output parser för Compose Script Content (autentiseringsuppgifter ska läggas till i överordnad LLM-nod, inte i den här parsern).

Håll schemat för strukturerad output konsekvent så att efterföljande ljud- och renderingsnoder får stabila fält.

Steg 4: Generera och lagra röstljud

Skapa röstspåret från manuset och lagra det i Google Cloud Storage för rendering.

  1. Öppna Synthesize Voice Track och konfigurera röst- och modellinställningarna för ElevenLabs.
  2. Autentiseringsuppgifter krävs: Anslut era ElevenLabs-uppgifter i Synthesize Voice Track.
  3. Konfigurera Upload Audio to GCS för att ladda upp den resulterande ljudfilen.
  4. Autentiseringsuppgifter krävs: Anslut era Google Cloud Storage-uppgifter i Upload Audio to GCS och Upload Video to GCS.
  5. Säkerställ att Upload Audio to GCS går vidare till Assign API Credentials för efterföljande renderautentisering.

Steg 5: Konfigurera rendering och statuskontroller

Begär en rendering, pausa medan videon produceras och loopa genom statuskontroller tills en färdig tillgång finns tillgänglig.

  1. Sätt upp Assign API Credentials för att bygga de API-fält som krävs och som används av JWT Builder.
  2. Konfigurera JWT Builder och skicka dess token till Request Access Token.
  3. Säkerställ att Request Access Token går vidare till Initiate Video Render och därefter till Pause for Video.
  4. Verifiera statusloopen: Pause for VideoRetrieve Render StatusBranch on Render State.
  5. Bekräfta att Branch on Render State skickar färdiga renderingar till Transform to Media File och pågående objekt tillbaka till Pause for Video.

⚠️ Vanlig fallgrop: Noderna för HTTP Request i renderkedjan kräver korrekta API-headers och endpoints—verifiera varje request i Request Access Token, Initiate Video Render och Retrieve Render Status.

Steg 6: Renderingsbygge, Cloudinary och routning till sociala kanaler

Bygg videopayloaden, rendera och skala upp tillgången och distribuera sedan till era sociala plattformar samt uppdatera kvoter.

  1. Säkerställ att Transform to Media File går till Upload Video to GCS och därefter till Compose Creatomate Payload och Merge Creatomate Output.
  2. Bekräfta verifieringsloopen för rendering: Merge Creatomate OutputHold for RenderingVerify Render StatusCheck Render Condition.
  3. Ställ in Check Render Condition så att färdiga renderingar routas till Send to Cloudinary och pågående objekt tillbaka till Hold for Rendering.
  4. Konfigurera Send to CloudinaryBuild Upscaled URLFetch Cloudinary FilePost Video to Postiz för tillgångspipelinen.
  5. Efter Post Video to Postiz, verifiera att Retrieve Postiz Integrations leder till Route Posting Options, som förgrenar till Queue TikTok Publish, Queue YouTube Publish eller Queue Instagram Publish.
  6. Säkerställ att Queue Instagram Publish avslutas med Update Quota Complete för att markera raden som bearbetad.

Gruppera och validera era 13+ noder för HTTP Request efter funktion (rendering, Cloudinary, Postiz, sociala köer) för att förenkla felsökning och uppdateringar av autentisering.

Steg 7: Testa och aktivera ert arbetsflöde

Kör ett kontrollerat test, bekräfta att varje steg slutförs och slå sedan på schemalagd automation.

  1. Klicka på Manual Run Trigger för att köra ett enskilt objekt från början till slut.
  2. Verifiera att en lyckad körning inkluderar: ett manus från Compose Script Content, en ljudfil i Upload Audio to GCS, en video i Upload Video to GCS och ett köat inlägg i någon av plattformarnas könoder.
  3. Kontrollera Update Quota Complete för att bekräfta att arkraden uppdaterades efter publicering.
  4. När ni är redo, aktivera arbetsflödet och förlita er på Planned Schedule Trigger för körningar i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Åtkomst till Google Sheets kan fallera om du har ändrat behörigheter i kalkylbladet eller om OAuth-kopplingen har löpt ut. Kontrollera Google-kontokopplingen i n8n Credentials och bekräfta att sheetet är korrekt delat.
  • Om du använder Wait-noder eller extern rendering varierar process-tiderna. Öka väntetiden om noder längre ned misslyckas på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera output för alltid.

Snabba svar

Hur lång tid tar det att sätta upp den här automatiseringen för citat-reels?

Cirka en timme om du redan har alla API-nycklar och Postiz är anslutet.

Krävs det kodning för den här automatiseringen för citat-reels?

Nej. Du klistrar mest in API-nycklar, kopplar konton och testar en körning. Det finns en kodnod i workflowet, men du behöver inte skriva kod för att använda det som det är.

Är n8n gratis att använda för det här workflowet för automatisering av citat-reels?

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 API-kostnader för Gemini/OpenAI, röstgenerering i ElevenLabs och tjänster som Creatomate/Cloudinary beroende på din användning.

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 dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här workflowet för automatisering av citat-reels för andra use cases?

Ja, och det är ärligt talat den roligaste delen. Du kan ändra vilka fält som hämtas från Google Sheets i “Assign Input Fields”, byta caption-strategi genom att justera prompterna i Gemini/GPT-noderna och styra publiceringen annorlunda i “Route Posting Options”. Vanliga tweaks är att använda olika röst-ID per varumärke, ändra videolängd/stil i Creatomate-payloaden eller att bara publicera till en plattform medan du kvalitetstestar.

Varför misslyckas min Postiz-anslutning i det här workflowet?

Oftast är det en utgången eller felaktig Postiz API-token. Uppdatera token som används i HTTP Request-noderna (“Retrieve Postiz Integrations” och “Post Video to Postiz”) och bekräfta att integrationerna fortfarande är aktiva i Postiz. Om det bara misslyckas ibland kan du slå i rate limits eller skicka en ogiltig media-URL, så kontrollera Cloudinary-steget och den slutliga fil-URL:en som skickas in i Postiz.

Vilken volym kan det här workflowet för automatisering av citat-reels hantera?

På n8n Cloud beror din månatliga volym på planens exekveringsgräns, medan self-hosting inte har något fast tak (det beror på din server). I praktiken är flaskhalsen videorendering och externa API:er, inte n8n i sig, så de flesta team kör detta dagligen eller några gånger per dag snarare än att försöka generera hundratals i en batch.

Är den här automatiseringen för citat-reels bättre än att använda Zapier eller Make?

För det här use caset är svaret oftast ja. Du behöver förgreningar i flera steg (polling av rendering, väntelägen, villkorskontroller, filhantering) och det blir snabbt krångligt och dyrt i Zapier eller Make när du går bortom enkla tvåstegs-zaps. n8n är också enklare att self-hosta, vilket spelar roll om du vill köra många flöden utan att hålla koll på task counts. En annan poäng: det här workflowet bygger på HTTP-requests och strukturerad AI-parsning, vilket n8n hanterar snyggt på en canvas. Om allt du vill ha är “ny rad i Sheets → posta text någonstans” kan Zapier/Make vara enklare. Prata med en automationsexpert om du vill ha en snabb rekommendation baserat på din publiceringsvolym.

Sätt upp det en gång och låt sedan ditt kalkylblad mata dina kanaler varje dag. Workflowet gör det repetitiva jobbet så att du kan fokusera på det som faktiskt driver varumärket framåt.

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