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

GitHub + Gmail: håll länkar och banners aktuella

Rickard Andersson Partner, Nodenordic.se

Du publicerar en banner, ett formulär eller en e-postmall … och sedan börjar den åldras i samma sekund som den går live. En månad senare ligger den fortfarande kvar och marknadsför tyst förra säsongens erbjudande, länkar till en avvecklad sida eller visar fel datum.

Den här GitHub Gmail-automationen slår först mot marknadschefer eftersom de äger kampanjerna. Men byråägare som underhåller kundmallar känner också av det, och det gör även operatörer som bara vill ha färre ”kan du uppdatera det här överallt?”-förfrågningar.

Det här arbetsflödet gör dina ”frysta” tillgångar till stabila länkar som alltid visar den senaste bilden och skickar besökare till rätt sida. Du får se hur det fungerar, vad du behöver och var de verkliga tidsvinsterna finns.

Så här fungerar automationen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: GitHub + Gmail: håll länkar och banners aktuella

Problemet: evergreen-tillgångar som tyst blir inaktuella

Evergreen-tillgångar låter bra tills du inser att de bara är evergreen om någon håller dem uppdaterade. I verkligheten bäddas banners in på fem ställen, e-postsignaturer kopieras till dussintals inkorgar och ”engångsformulär” lever vidare i flera år. Sedan kör du en ny kampanj, ändrar en landningssida eller uppdaterar ditt varumärke, och plötsligt fastnar du i att jaga gamla inbäddningar över sajter, e-post och mallar. Missar du ett ställe är det just det stället folk klickar på. Ärligt talat är det inte jobbet som gör mest ont. Det är känslan av att du aldrig kommer hitta varenda instans.

Friktionen växer snabbt. Här brukar det fallera.

  • Du uppdaterar samma bannerbild i flera verktyg, och det är lätt att råka publicera versioner som inte matchar.
  • Gamla länkar fortsätter cirkulera, vilket gör att trafiken landar på inaktuella erbjudanden eller döda sidor.
  • Team slutar använda ”evergreen”-placeringar eftersom de är rädda för att behöva städa upp i efterhand.
  • Ingen får en notifiering när en inaktuell tillgång fortfarande används, så problemen kan ligga kvar i månader.

Lösningen: centraliserade omdirigeringar + bilder som uppdateras automatiskt

Det här arbetsflödet ger dig en enda kontrollpanel för tillgångar som är utspridda överallt. Enligt schema genererar n8n en ny bild (tänk ”aktuellt kampanjbanner” eller ”månadens erbjudande”), pushar in den bilden i en fil i ett GitHub-repo och behåller samma stabila fillänk så att dina inbäddningar inte behöver ändras. Parallellt uppdaterar det också ett omdirigeringsmål via en HTTP-förfrågan, vilket gör att en kortlänk alltid kan peka på den senaste landningssidan utan att du behöver byta URL:er i gamla mejl. När något ändras eller behöver granskas kan Gmail skicka dig en enkel notis baserat på vad arbetsflödet hämtar från GitHub. Du sätter de stabila länkarna en gång och uppdaterar centralt framöver.

Arbetsflödet kan triggas manuellt när du vill ha en omedelbar uppdatering, och det kan köras varje timme för bilder och dagligen för omdirigeringsmål. Innehållet förblir ”evergreen” eftersom URL:en är stabil, medan det den levererar hålls aktuellt.

Det du får: automation vs. resultat

Exempel: så här ser det ut

Säg att du har 12 evergreen-placeringar: en webbplatsbanner, en footer-kampanj i två e-postmallar, tre gamla nyhetsbrev som fortfarande vidarebefordras och ett par formulär som folk fortsätter hitta. Att uppdatera detta manuellt tar ofta runt 10 minuter per placering när du väl hittar källan, så du förlorar cirka 2 timmar varje gång erbjudandet ändras. Med det här arbetsflödet uppdaterar du ett omdirigeringsmål och låter den timvisa bilduppdateringen rulla. Ditt ”arbete” blir en snabb avstämning plus en Gmail-notis när det är uppdaterat, och resten sker i bakgrunden.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • GitHub för att lagra den ”live”-bildfilen.
  • Gmail för att skicka notiser när tillgångar uppdateras.
  • API-nyckel till shorten.rest (hämta den i din shorten.rest-dashboard)

Kunskapsnivå: Medel. Du kopplar konton, klistrar in en API-nyckel och justerar filsökvägar och scheman.

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

Så fungerar det

Schemalagd uppdatering (varje timme eller dagligen). En schematrigger körs varje timme för att uppdatera bilden, och en annan körs dagligen för att uppdatera omdirigeringsmålet så att det alltid pekar på den senaste sidan.

Bildgenerering och formatering. n8n skapar en ny bannerbild med steget Edit Image och sätter sedan de fält som behövs (som filnamn och sökvägar) så att nästa steg blir konsekventa.

GitHub blir din ”stabila inbäddning”. Arbetsflödet uppdaterar en enda fil i ditt repo. Det är tricket. Din webbplats, dina formulär och dina mallar kan bädda in samma fil-URL för alltid.

Insyn via Gmail. När arbetsflödet hämtar den aktuella repofilen (manuellt eller vid en kontroll) kan det mejla dig en uppdatering så att du vet att bytet skedde och vad som ligger live just nu.

Du kan enkelt byta ut shorten.rest mot ett annat omdirigeringsverktyg utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera den manuella triggern

Konfigurera den manuella triggern som används för att testa att skicka den senaste dynamiska bildlänken via e-post.

  1. Lägg till noden Manual Start Trigger som startpunkt för manuella tester.
  2. Anslut Manual Start Trigger till Retrieve Repo File för att följa körflödet: Manual Start TriggerRetrieve Repo FileDispatch Email Notice.

Steg 2: Konfigurera schematriggrarna

Konfigurera de schemalagda triggrarna som uppdaterar omdirigeringen och genererar bilder automatiskt.

  1. Öppna Daily Schedule Trigger och ställ in regeln så att den triggar vid minut 8 med den befintliga intervallkonfigurationen.
  2. Anslut Daily Schedule Trigger till Modify Redirect Target för att följa körflödet: Daily Schedule TriggerModify Redirect Target.
  3. Öppna Hourly Schedule Trigger och ställ in regeln så att den triggar varje timme vid minut 1 med den befintliga intervallkonfigurationen.
  4. Anslut Hourly Schedule Trigger till Generate Dynamic Image för att följa körflödet: Hourly Schedule TriggerGenerate Dynamic ImageUpdate Repository File.

Låt schematriggrarna vara aktiverade först efter att ert repository och era credentials är fullt konfigurerade för att undvika misslyckade körningar.

Steg 3: Anslut GitHub för fillagring

Konfigurera GitHub-noderna som skapar, hämtar och uppdaterar den dynamiska bildfilen.

  1. I Update Repository File, ställ in File Path till =n8n-examples/dynamic-images/{{ $binary.data.fileName }}.{{ $binary.data.fileExtension }} och aktivera Binary Data.
  2. Ställ in Commit Message till =dynamic_img_update i Update Repository File.
  3. I Retrieve Repo File, ställ in File Path till =n8n-examples/dynamic-images/dynamic_img.png och behåll Operation som get.
  4. I Utility: Create Repo File, ställ in File Path till =n8n-examples/dynamic-images/dynamic_img.png och Commit Message till initial creation.
  5. I Utility: Fetch Download Link, ställ in File Path till =n8n-examples/dynamic-images/dynamic_img.png med Operation inställd på get.
  6. Credential Required: Anslut era githubOAuth2Api-credentials i Update Repository File, Retrieve Repo File, Utility: Create Repo File och Utility: Fetch Download Link.

⚠️ Vanlig fallgrop: Säkerställ att platshållarna [YOUR_ID] ersätts med ert GitHub-användarnamn och repository i alla GitHub-noder innan ni testar.

Steg 4: Sätt upp bildgenerering och omdirigeringslogik

Konfigurera den dynamiska bildskapningen och uppdateringarna av omdirigeringsaliaset.

  1. I Generate Dynamic Image, behåll Operation inställd på multiStep och bekräfta att första steget skapar en 640 × 480-bild.
  2. Verifiera att textoperationerna i Generate Dynamic Image använder uttryck som ={{ $now.setLocale('en').toLocaleString(DateTime.DATE_MED) }} och ={{ $now.toFormat('HH:mm') }} för att rendera datum och tid.
  3. I Modify Redirect Target, ställ in URL till https://api.shorten.rest/aliases, Method till PUT, och behåll JSON-body-uttrycket ={"destinations":[{"url":"https://en.wikipedia.org/wiki/{{ $now.format('DDD').split(',')[0].replaceAll(' ','_') }}"}]}.
  4. I Utility: Generate Redirect Alias, ställ in URL till https://api.shorten.rest/aliases, Method till POST, och behåll samma JSON-body-uttryck för destinations.
  5. I både Modify Redirect Target och Utility: Generate Redirect Alias, ställ in query parameters domainName till short.fyi och aliasName till today-in-history.
  6. Credential Required: Anslut era httpHeaderAuth-credentials i Modify Redirect Target och Utility: Generate Redirect Alias.

Steg 5: Konfigurera e-post och formulärutdata

Slutför utdataåtgärderna som skickar den dynamiska bilden via e-post och visar den i ett formulär.

  1. I Dispatch Email Notice, ställ in Send To till [YOUR_EMAIL], Subject till Test Image, och Message till =

    Dynamic image

    .
  2. Credential Required: Anslut era gmailOAuth2-credentials i Dispatch Email Notice.
  3. I Utility: Form with Live Image, verifiera att Form Title är Test Form och att Form Description är This form contains a dynamic image.
  4. Bekräfta att HTML-fältet i Utility: Form with Live Image använder bild-URL:en https://raw.githubusercontent.com/[YOUR_ID]/[YOUR_ID]/main/n8n-examples/dynamic-images/dynamic_img.png för att visa livebilden.

Om formulärbilden inte laddar, dubbelkolla att GitHub-filvägen matchar filvägen som används i Update Repository File och Retrieve Repo File.

Steg 6: Testa och aktivera ert workflow

Kör ett manuellt test, verifiera utdata och aktivera sedan workflowet för schemalagd drift.

  1. Klicka Execute WorkflowManual Start Trigger och bekräfta att Retrieve Repo File skickar data till Dispatch Email Notice.
  2. Kontrollera er inkorg efter e-postmeddelandet med ämnet Test Image och verifiera att den inbäddade bilden laddas från GitHubs nedladdnings-URL.
  3. Kör Hourly Schedule Trigger manuellt för att säkerställa att Generate Dynamic Image skapar en ny bild och att Update Repository File committar den till GitHub.
  4. Aktivera workflowet genom att ändra status till Active så att de dagliga och timvisa schemana körs automatiskt.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • GitHub-autentisering kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först dina GitHub-credentials i n8n och repots åtkomstnivå.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du redigera utdata i all evighet.

Vanliga frågor

Hur lång tid tar det att sätta upp den här GitHub Gmail-automationen?

Cirka 30 minuter om dina konton är redo.

Behöver jag kunna koda för att automatisera uppdateringar av evergreen-länkar och banners?

Nej. Du kopplar främst ihop konton, sätter några variabler och väljer dina scheman.

Är n8n gratis att använda för det här arbetsflödet för GitHub Gmail-automation?

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 volymer. Du behöver också räkna med shorten.rest-användning beroende på hur ofta du uppdaterar omdirigeringar.

Var kan jag hosta n8n för att köra den här automationen?

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 GitHub Gmail-automation för säsongskampanjer och olika landningssidor?

Ja, och det är hela poängen. Du kan byta ut shorten.rest mot en annan omdirigeringstjänst genom att ändra HTTP Request-noderna som skapar aliaset och uppdaterar omdirigeringsmålet. På bildsidan justerar du steget Edit Image så att det matchar din varumärkeslayout (dimensioner, överlagrad text, logoplacering) och behåller sedan samma GitHub-filsökväg så att inbäddningar inte behöver ändras. Vanliga justeringar är att köra schemat veckovis istället för varje timme, skapa separata ”live”-filer per kampanj och skicka Gmail-notiser bara när en förändring upptäcks.

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

Oftast beror det på en utgången token eller att credential saknar behörighet att skriva till målrepon. Återanslut GitHub-credential i n8n, bekräfta att repo och branch är korrekta och säkerställ att arbetsflödet uppdaterar en befintlig filsökväg (eller att create-file-noden körs först vid behov).

Hur många tillgångar kan den här GitHub Gmail-automationen hantera?

Många, så länge du håller det organiserat.

Är den här GitHub Gmail-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom den här typen av upplägg gynnas av schemalagda jobb, förgrening (bilduppdateringar vs. omdirigeringsuppdateringar) och filhantering i GitHub. n8n är också enklare att köra self-hosted när du vill ha många körningar utan att betala per uppgift. Zapier och Make kan fortfarande fungera om du vill ha ett väldigt enkelt flöde för ”uppdatera en länk, skicka ett mejl”, men så fort du lägger till flera tillgångar och scheman blir det rörigt och dyrt. Prata med en automationsexpert om du vill ha det renaste alternativet för just din setup.

Sätt upp detta en gång och dina gamla inbäddningar slutar vara en risk. Arbetsflödet hanterar de repetitiva uppdateringarna så att dina kampanjer förblir korrekta utan ständig städning.

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