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

Google Gemini + Telegram: RSS-utkast för granskning

Rickard Andersson Partner, Nodenordic.se

RSS ska göra innehåll enklare. Sedan inser du att du fortfarande kopierar länkar, skummar artiklar, gör dispositioner, skriver, letar upp en bild och jagar godkännanden i DM. Det är många små steg som på något sätt stjäl hela eftermiddagen.

Content managers märker det först. Men en marketing lead som försöker få iväg veckovisa inlägg, eller en byråägare som jonglerar kundgranskningar, stöter på samma flaskhals. Den här RSS-utkastautomatiseringen gör nya flödesobjekt till granskningsklara utkast (med en omslagsbild) och levererar dem direkt till Telegram.

Du ser exakt vad arbetsflödet gör, vad du behöver för att köra det och vilka resultat du kan förvänta dig när det väl är på plats.

Så fungerar den här automatiseringen

Hela n8n-arbetsflödet, från trigger till slutlig output:

n8n Workflow Template: Google Gemini + Telegram: RSS-utkast för granskning

Problemet: RSS-flöden faller isär vid granskning

Att hämta idéer från RSS låter strukturerat, men processen kollapsar ofta när det är dags att göra “intressant länk” till “utkast någon kan godkänna”. Du läser ett inlägg, klistrar in URL:en i ett dokument, skriver en grov version och försöker sedan minnas vad du redan har hanterat förra veckan. Under tiden frågar någon efter en omslagsbild, en slug, en metabeskrivning och en tydlig överlämning till den som publicerar. Om du gör detta för flera flöden smyger dubletter in och du slutar med att skriva om samma ämne två gånger. Ärligt talat är det den mentala kontextväxlingen som gör mest ont.

Friktionen byggs på. Här är var det brukar spricka.

  • Du lägger cirka 30 minuter per artikel bara på att nå ett “första utkast” som är tillräckligt strukturerat för att gå att granska.
  • Dubletter av ämnen slinker igenom, vilket betyder bortkastad skrivtid och röriga redaktionella kalendrar.
  • Bilder blir en sista-minuten-paniksprint, så inlägg försenas eller publiceras utan ett konsekvent uttryck.
  • Utkast finns på för många ställen, så godkännanden blir till trådar av typen “Kan du skicka den filen igen?”.

Lösningen: RSS → Gemini-utkast + omslag → Telegram JSON

Det här arbetsflödet bevakar flera RSS-flöden enligt ett schema (varje timme, dagligen, veckovis — du väljer) och hämtar nyligen publicerade objekt. För varje objekt kontrollerar det en DynamoDB-tabell för att bekräfta att URL:en inte har bearbetats tidigare, så att du inte genererar samma utkast två gånger. När artikeln verkligen är ny tar Google Gemini fram ett komplett bloggutkast i ett strukturerat JSON-format, inklusive titel, metabeskrivning, slug och en prompt för en varumärkesanpassad omslagsbild. Arbetsflödet rensar och tolkar sedan Geminis output (så att du får giltig JSON, inte stökiga kodblock), genererar omslagsbilden, laddar upp den till Cloudflare R2 och paketerar slutligen allt i en enda [slug].json-fil. Den filen skickas till Telegram som ett dokument, redo för granskning och snabb feedback.

Arbetsflödet börjar med RSS-triggers och batchning, kör sedan en deduplikationskontroll i DynamoDB. Gemini skapar inlägget och omslagsbilden, och n8n bygger ihop den slutliga payloaden. Telegram tar emot den färdiga JSON-filen, så att granskningar sker på ett ställe.

Det du får: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du följer 3 RSS-källor och vanligtvis gör 5 objekt per vecka till utkastkandidater. Manuellt tar även ett “snabbt” flöde cirka 20 minuter att läsa och göra disposition, 40 minuter att skriva utkastet och ytterligare 10 minuter att hitta eller briefa en bild. Räkna med cirka 70 minuter per styck, alltså runt 6 timmar i veckan. Med det här arbetsflödet gör du mestadels bara granskning: RSS-triggern körs automatiskt, Gemini genererar utkastet och Telegram får en JSON-fil plus länk till omslagsbild. Din tid blir “skumma och godkänn”, ofta 10 minuter per utkast, så du hamnar närmare en timme i veckan.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Google Gemini för artikelutkast och bilder
  • Telegram för att ta emot granskningsklara JSON-filer
  • AWS DynamoDB-uppgifter (skapa i AWS IAM och lägg sedan till i n8n)

Svårighetsnivå: Medel. Du kopplar ihop några tjänster, sätter behörigheter och verifierar att JSON-outputen matchar vad dina granskare förväntar sig.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

RSS-triggers hämtar nya objekt. Arbetsflödet bevakar flera flöden (till exempel publikationer som Search Engine Journal och TechCrunch) och samlar in nya URL:er enligt ditt schema.

Deduplikation stoppar upprepningar. Varje URL kontrolleras mot en DynamoDB-tabell. Om länken redan finns stoppar arbetsflödet för det objektet och skickar en snabb debug-notis till Telegram, så att du vet att den medvetet hoppades över.

Gemini genererar innehållet och bildprompten. För nya artiklar producerar Gemini ett komplett utkast i JSON, inklusive slug, metabeskrivning och hela brödtexten. Ett kodsteg rensar svaret och tolkar det pålitligt, eftersom AI-output kan bli rörig om du inte tvingar fram formatering.

Omslagsbilden skapas och lagras. Gemini genererar en 1200×630-bild, filen döps om med sluggen och laddas upp till Cloudflare R2. Om uppladdningen misslyckas får Telegram en varning i stället för att tillgången försvinner i tystnad.

Telegram får ett enda granskningsunderlag. Arbetsflödet slår ihop utkastets JSON med den hostade bild-URL:en, konverterar det till en [slug].json-fil och skickar den till dina Telegram-mottagare som ett dokument.

Du kan enkelt ändra RSS-källorna så att de matchar din nisch och sedan skicka den färdiga filen till en annan kanal utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera RSS-feed-triggaren

Konfigurera de tre RSS-triggerkällorna som matar workflowet och styr hur ofta nya objekt kontrolleras.

  1. Öppna RSS Trigger Alpha och ställ in Feed URL till er primära RSS-länk (för närvarande tom).
  2. I RSS Trigger Alpha, behåll Poll Times som konfigurerat: everyHour och everyWeek.
  3. Öppna RSS Trigger Beta och ställ in Feed URL till en sekundär RSS-länk, och behåll sedan Poll TimeseveryWeek.
  4. Öppna RSS Trigger Gamma och ställ in Feed URL till en tredje RSS-länk, med Poll Times inställt på everyWeek och weekday: 5 vid hour: 12.
  5. Verifiera att varje trigger är kopplad till sin batch-nod: RSS Trigger AlphaBatch Items A, RSS Trigger BetaBatch Items B, RSS Trigger GammaBatch Items C.

⚠️ Vanlig fallgrop: Alla tre fält för Feed URL är tomma. Workflowet kommer aldrig att triggas förrän de fylls i.

Steg 2: anslut AWS DynamoDB för deduplicering

Använd DynamoDB för att förhindra duplicerade blogginlägg och styra innehållsskapande baserat på tidigare bearbetade länkar.

  1. Öppna Fetch Record och ställ in Operation till get med Table Name satt till processed_rss_links och nyckeln article_url satt till ={{ $json.link }}.
    Credential Required: Anslut era aws-credentials.
  2. Säkerställ att Batch Items A, Batch Items B och Batch Items C routas in i Fetch Record och Combine Sources C för enhetlig bearbetning.
  3. Öppna Combine Sources C och bekräfta att Mode är combine med Combine By satt till combineAll.
  4. Konfigurera New Article Gate för att kontrollera om article_url är tomt, med ={{ $json.article_url }} och operatorn empty.
  5. Öppna Upsert Record och ställ in Table Name till processed_rss_links, och mappa article_url till ={{ $json.link }}.
    Credential Required: Anslut era aws-credentials.
  6. Bekräfta den parallella splitten: New Article Gate skickar utdata både till Gemini Article Draft och Upsert Record parallellt.

Steg 3: sätt upp AI-utkast och parsing

Skapa bloggutkastet med Gemini och parsa det till en strukturerad JSON-payload för efterföljande steg.

  1. Öppna Gemini Article Draft och bekräfta att Model är models/gemini-2.5-flash med promptmeddelandet som inkluderar {{ $json.link }}.
    Credential Required: Anslut era googlePalmApi-credentials.
  2. Granska Parse Gemini Output och behåll den befintliga JavaScript-parsningslogiken intakt för att extrahera blogg-JSON.
  3. Notera den parallella splitten: Parse Gemini Output skickar utdata till Create Cover Image, Select Slug Field och Combine Streams B parallellt.
  4. Öppna Select Slug Field och ställ in slug till ={{ $json.slug }} för att skicka vidare sluggen.
  5. Konfigurera Create Cover Image med Resource satt till image och Prompt satt till =**Image Size: 1200x630 aspect Ratio 1.91:1** {{ $json.image_generation_prompt }}.
    Credential Required: Anslut era googlePalmApi-credentials.

Steg 4: konfigurera bildhantering och lagring

Slå ihop slug- och bilddata, byt namn på bilden, ladda upp den till R2 och validera att uppladdningen lyckades.

  1. Bekräfta att Combine Streams slår ihop sluggen från Select Slug Field och bilddata från Create Cover Image med Mode combine och Combine By combineAll.
  2. Öppna Rename Image File och ställ in fileName till ={{ $json.slug }}.{{ $json.fileExtension }} med Include Other Fields aktiverat.
  3. Öppna Upload Image to R2 och ställ in Operation till upload, Bucket Name till saywize-media och File Name till ={{ $json.fileName }}.
    Credential Required: Anslut era s3-credentials.
  4. Kontrollera Image Upload Check för att validera att ={{ $json.success }} är true innan ni går vidare.

Steg 5: mappa slutligt innehåll och leverera JSON-filen

Validera innehållet, mappa fält till slutligt schema, serialisera till JSON och skicka till Telegram.

  1. Bekräfta att Combine Streams B slår ihop det parsade innehållet och status för bilduppladdningen före valideringssteget.
  2. Öppna Content Validation Check och behåll den nuvarande villkorskedjan för att styra skapandet av slutlig output.
  3. I Map Final Content, mappa fälten exakt som konfigurerat, inklusive image_url satt till =https://cdn.saywize.com/{{ $json.slug }}.png och article_url satt till ={{ $('Combine Sources C').item.json.link }}.
  4. Öppna Serialize to File och bekräfta att Operation är toJson med File Name satt till ={{ $json.slug }}.json.
  5. Öppna Send File to Telegram och ställ in Operation till sendDocument med Binary Data aktiverat.
    Credential Required: Anslut era telegramApi-credentials.

Steg 6: lägg till fel- och statusaviseringar

Konfigurera Telegram-aviseringar för befintligt innehåll, bildfel och valideringsfel.

  1. Öppna Alert Existing Article och bekräfta meddelandetexten: =Since the article already exists, the blog post could not be created: {{ $json.article_url }}.
    Credential Required: Anslut era telegramApi-credentials.
  2. Öppna Alert Image Failure och behåll meddelandet An error occurred during image creation..
    Credential Required: Anslut era telegramApi-credentials.
  3. Öppna Alert Blog Failure och behåll meddelandet I encountered a problem while creating a blog..
    Credential Required: Anslut era telegramApi-credentials.
  4. Verifiera routningen: New Article Gate false path → Alert Existing Article, Image Upload Check false path → Alert Image Failure och Content Validation Check false path → Alert Blog Failure.

Tips: Sticky note Flowpast Branding är endast informativ och påverkar inte körningen.

Steg 7: testa och aktivera ert workflow

Kör ett fullständigt test för att bekräfta RSS-inhämtning, AI-generering, bilduppladdning och leverans till Telegram.

  1. Kör RSS Trigger Alpha manuellt (eller valfri trigger) med ett exempelobjekt från RSS för att starta workflowet.
  2. Verifiera att New Article Gate släpper igenom ett nytt objekt och att Gemini Article Draft producerar ett giltigt svar som parsas av Parse Gemini Output.
  3. Bekräfta att bilden laddas upp genom att kontrollera Upload Image to R2 och ett true-resultat i Image Upload Check.
  4. Kontrollera att Serialize to File skapar en JSON-fil och att Send File to Telegram levererar dokumentet till er chatt.
  5. När allt är verifierat, slå på workflowet Active för att aktivera automatiserad körning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • AWS DynamoDB-uppgifter kan gå ut eller kräva specifika behörigheter. Om något slutar fungera: kontrollera först status för AWS IAM access key och tabellens behörigheter.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre nedströms fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera output i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här RSS-utkastautomatiseringen?

Cirka 45 minuter om dina konton och nycklar är klara.

Behöver jag kunna koda för att automatisera RSS-utkastautomatisering?

Nej. Du kopplar mestadels ihop tjänster och klistrar in autentiseringsuppgifter. Den enda “koden” är redan inkluderad i arbetsflödet för att rensa Geminis JSON-output.

Är n8n gratis att använda för det här arbetsflödet för RSS-utkastautomatisering?

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 användning av Google Gemini API och lagringskostnader för Cloudflare R2.

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 arbetsflödet för RSS-utkastautomatisering till Slack i stället för Telegram?

Ja, men du ändrar det sista leveranssteget. Byt ut noden “Send File to Telegram” mot en Slack-filuppladdning (eller ett meddelande med en länk), och behåll noden “Serialize to File” så att granskare fortfarande får ett enda strukturerat underlag. Vanliga justeringar är att byta RSS-källor, vässa Gemini-prompten för er tonalitet och justera valideringskontroller så att utkast med låg kvalitet flaggas i stället för att levereras.

Varför misslyckas min Telegram-anslutning i det här arbetsflödet?

Oftast beror det på bot-token eller chat-ID. Kontrollera Telegram-uppgifterna i n8n igen, bekräfta att boten är tillagd i målchatten och att den har behörighet att skicka dokument. Om du skickar till en kanal behöver boten ofta administratörsbehörighet. Håll också koll på körningar som fallerar tidigare (till exempel vid bilduppladdning), eftersom filnoden då aldrig får någon giltig bilaga.

Hur många utkast kan den här RSS-utkastautomatiseringen hantera?

Många, så länge din plan och dina API-begränsningar klarar det. På n8n Cloud Starter jobbar du inom månatliga körningsgränser; på högre nivåer kan du köra mer. Om du self-hostar finns ingen körningsgräns, men serverresurser och Geminis rate limits blir flaskhalsen. I praktiken hanterar de flesta team utan problem från dussintals till några hundra RSS-objekt per vecka när batchning och deduplikation är på plats.

Är den här RSS-utkastautomatiseringen bättre än att använda Zapier eller Make?

För just det här arbetsflödet är n8n oftast bättre. Deduplikation mot DynamoDB, rensning av felformaterad AI-JSON, förgrening baserat på validering och filgenerering som ett dokument är betydligt enklare när du har full kontroll över logiken. Zapier och Make kan göra delar av detta, men komplexa flöden blir snabbt dyra och sköra. Om du bara behöver “RSS-objekt → skicka en sammanfattning” funkar de verktygen bra. Om du vill ha ett granskningsklart utkastpaket med lagring och skyddsräcken vinner n8n oftare än inte. Prata med en automationsexpert om du vill ha en snabb rekommendation baserad på din volym.

När det här väl rullar slutar RSS vara en läslista och blir ett stabilt flöde av utkast du faktiskt kan godkänna. Sätt upp det en gång och lägg sedan din tid på att redigera idéerna som förtjänar det.

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

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal