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 + Telegram: SSL-varningar i god tid

Rickard Andersson Partner, Nodenordic.se

SSL-förnyelser misslyckas aldrig vid ett lämpligt tillfälle. Ett glömt certifikat blir snabbt en trasig kassasida, en varning om att ”webbplatsen inte är säker”, eller en sen natt där någon måste lista ut vem som äger domänen.

IT-administratörer får oftast skulden först. Men byråägare som hanterar kunders webbplatser och driftansvariga som håller interna verktyg vid liv känner samma stress. Den här automatiseringen för SSL expiry alerts ger dig ett enkelt system: ett kalkylark som enda sanningskälla och punktliga varningar som faktiskt blir sedda.

Nedan ser du hur arbetsflödet körs varje vecka, kontrollerar varje domäns certifikatstatus, uppdaterar ditt Google-kalkylark och skickar rätt varning via Telegram (plus e-post och valfria push-notiser).

Så fungerar automatiseringen

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

n8n Workflow Template: Google Sheets + Telegram: SSL-varningar i god tid

Problemet: SSL-certifikat löper ut i tysthet (tills de inte gör det)

Om du hanterar mer än ett fåtal domäner blir SSL-övervakning en irriterande bakgrundsuppgift som du aldrig riktigt ”blir klar” med. Ett certifikat förnyas på en webbplats, men kalkylarket uppdateras inte. En annan webbplats ägs av en tidigare underleverantör, så ingen har åtkomst när certifikatet plötsligt blir ogiltigt. Och eftersom varningssignalerna är lätta att missa får du reda på det via kunder, kollegor eller ett övervakningsverktyg som pingar fel person. Det handlar inte bara om driftstopp. Det är den mentala belastningen av att hela tiden undra vad du har glömt.

Friktionen ökar över tid. Här är var det brukar fallera.

  • Folk håller domänlistor på för många ställen, så ”den riktiga listan” är alltid inaktuell.
  • Manuella kontroller över 30 till 100 URL:er tar ett par timmar, och det blir ändå inte konsekvent vecka efter vecka.
  • Certifikat kan vara ”giltiga” men nära utgångsdatum, vilket gör att du inte ser problemet förrän det är akut.
  • Varningar går bara till e-post och begravs bland nyhetsbrev och ärendebruset.

Lösningen: En veckovis SSL-kontroll som uppdaterar Sheets och pingar Telegram

Det här arbetsflödet gör Google Sheets till din SSL-”kontrollcentral” och använder automatiserade kontroller för att hålla den korrekt. En gång i veckan hämtar n8n din URL-lista från ett Google-kalkylark och kör varje domän genom en SSL-kontrolltjänst (via en HTTP-förfrågan). Den fångar viktiga detaljer som utgångsdatum och certifikatstatus och skriver sedan tillbaka de senaste resultaten i samma kalkylark. Därefter skickar arbetsflödet varje domän till rätt notifieringsspår: akuta Telegram-varningar och ”ogiltigt”-mejl när något är trasigt, varningsmejl när utgången närmar sig (under cirka 30 dagar) och informationsmeddelanden när allt ser friskt ut. Resultatet blir färre överraskningar och tydligare ägarskap eftersom kalkylarket hålls uppdaterat automatiskt.

Arbetsflödet startar med en veckotrigger, läser dina övervakade domäner från Sheets och kontrollerar sedan certifikatstatus en och en. När kalkylarket är uppdaterat avgör ett routingsteg vilket meddelande du får (Telegram för akuta fall, Gmail för varningar och notiser samt en valfri ntfy-push för uppdateringar på informationsnivå).

Det här får du: automatisering vs. resultat

Exempel: så här kan det se ut

Säg att du hanterar 40 domäner för kundwebbplatser och interna verktyg. Manuellt tar även en snabb SSL-kontroll plus uppdatering av kalkylarket kanske 2 minuter per domän, så du landar på cirka 80 minuter varje vecka (och det är lätt att hoppa över när det blir mycket). Med det här arbetsflödet lägger du cirka 10 minuter på att lägga till eller ta bort URL:er i Google Sheets, sedan kontrollerar den veckovisa körningen allt i bakgrunden och skickar Telegram-varningar bara när något kräver åtgärd. Samma täckning, mycket mindre passning.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra och dela din domänlista.
  • Telegram för att leverera akuta SSL-varningar direkt.
  • Gmail för varnings-/notismejl till intressenter.
  • Åtkomst till SSL-Checker.io (använd deras webbplats/API-endpoint som du anropar).

Svårighetsgrad: Nybörjare. Du kopplar konton, klistrar in länken till ditt Google-kalkylark och bekräftar vart varningar ska skickas.

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

Så fungerar det

Ett veckoschema startar allt. n8n kör på en återkommande timer (”Weekly Schedule Start”), så kontrollerna sker även när ingen kommer ihåg att göra dem.

Ditt Google-kalkylark tillhandahåller URL-listan. Arbetsflödet läser domänerna i steget ”Retrieve URL List”, så kalkylarket förblir det enda stället du uppdaterar när en webbplats läggs till, tas bort eller lämnas över.

Varje domän kontrolleras för certifikatets giltighet och utgångsdatum. En HTTP-förfrågan anropar SSL-Checker.io, sedan fångar arbetsflödet detaljer och skriver tillbaka dem till kalkylarket (”Update SSL Sheet”). Enkelt, men det håller din data korrekt.

Notifieringar routas utifrån vad som hittas. Om något är ogiltigt får du en akut Telegram-varning och ett mejl. Om utgången närmar sig går varnings- och notismejl ut. När allt ser bra ut kan du ändå få informationsmeddelanden (inklusive en valfri ntfy-push) så att du vet att kontrollerna körs.

Du kan enkelt ändra vem som blir notifierad och när (till exempel justera varningströskeln ”under 30 dagar”) utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.

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

Steg 1: Konfigurera triggern för veckoschemat

Ställ in det veckoschema som startar körningen för SSL-övervakningen.

  1. Lägg till noden Weekly Schedule Start som din trigger.
  2. Ställ in schemaregeln att köra veckovis med Weeks och Trigger At Day satt till 1 samt Trigger At Hour satt till 8.
  3. Koppla Weekly Schedule Start till Retrieve URL List.
Om ni behöver en annan dag/tid, justera Trigger At Day och Trigger At Hour så att det passar er tidszon och ert underhållsfönster.

Steg 2: Anslut Google Sheets

Hämta URL-listan och lagra resultaten för SSL-status i Google Sheets.

  1. Öppna Retrieve URL List och välj dokumentet Monitor SSL och arket Sheet1.
  2. Ställ in Output Formatting i Retrieve URL List så att datum behålls som FORMATTED_STRING och generella värden som UNFORMATTED_VALUE.
  3. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve URL List.
  4. Öppna Update SSL Sheet och ställ in Operation till appendOrUpdate.
  5. Ställ in Document till Monitor SSL och Sheet till certificate-data i Update SSL Sheet.
  6. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Update SSL Sheet.
⚠️ Vanlig fallgrop: Säkerställ att arket med URL-listan har en kolumn med namnet URL så att uttrycket för SSL-förfrågan kan läsa {{$json["URL"]}} korrekt.

Steg 3: Sätt upp förfrågan för SSL-status

Anropa SSL checker-API:t för varje URL och normalisera URL:en i förfrågan.

  1. Lägg till SSL Status Request efter Retrieve URL List.
  2. Ställ in URL till =https://ssl-checker.io/api/v1/check/{{ $json["URL"].replace(/^https?:\/\//, "").replace(/\/$/, "") }}.
  3. Bekräfta att SSL Status Request skickar output både till Update SSL Sheet och Route by Certificate parallellt.
URL-uttrycket tar bort protokoll och avslutande snedstreck för att matcha formatet i SSL Checker-API:t; behåll detta som det är om inte er API-endpoint ändras.

Steg 4: Konfigurera logiken för routning av certifikat

Routa SSL-resultat utifrån giltighet och antal dagar kvar.

  1. Öppna Route by Certificate och konfigurera outputs för invalid, warning, notice och info.
  2. Ställ in villkoret för invalid till att {{ $json.result.cert_valid }} är lika med false.
  3. Ställ in villkoret för warning till att {{ $json.result.days_left }} är mindre än eller lika med 30.
  4. Ställ in villkoret för notice till att {{ $json.result.days_left }} är mindre än eller lika med 60.
  5. Använd fallback-outputen som byts namn till info för allt annat.
⚠️ Vanlig fallgrop: Säkerställ att svaret från SSL-API:t innehåller result.days_left och result.cert_valid; annars kommer switch-reglerna inte att matcha.

Steg 5: Konfigurera notifieringar för output

Skicka aviseringar baserat på routningslogiken och säkerställ att parallella grenar är korrekt inställda.

  1. Route by Certificate skickar output parallellt till både Dispatch Invalid Email och Telegram Urgent Alert för ogiltiga certifikat.
  2. I Dispatch Invalid Email, ställ in Subject till =URGENT: SSL-certificate invalid, action required! - {{ $json.result.days_left }} Days Left - {{ $json.result.host }} och Message till =WARNING: SSL Expiry within one month - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}.
  3. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Invalid Email.
  4. I Telegram Urgent Alert, ställ in Text till =URGENT: SSL-certificate invalid, action required! - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}.
  5. Inloggningsuppgifter krävs: Anslut era telegramApi-inloggningsuppgifter i Telegram Urgent Alert.
  6. För varningscertifikat, konfigurera Notify Warning Email med Subject och Message som =WARNING: SSL Expiry within one month - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}.
  7. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Notify Warning Email.
  8. För notiscertifikat, konfigurera Send Notice Email med Subject =INFO: SSL Expiry - {{ $json.result.days_left }} Days Left - {{ $json.result.host }} och Message =SSL Expiry - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}.
  9. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Send Notice Email.
  10. För info-certifikat, skicka både Send Info Email och Push Info Alert parallellt.
  11. I Send Info Email, ställ in Subject och Message till =INFO: SSL Expiry check completed, took no further actions - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}.
  12. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Send Info Email.
  13. I Push Info Alert, ställ in Topic till n8n, Tags till =ssl,n8n,angie, Title till =INFO: SSL Expiry check completed for {{ $json.result.host }}., och Message till =INFO: SSL Expiry check completed, took no further actions - {{ $json.result.days_left }} Days Left - {{ $json.result.host }}..
Behåll sticky note Flowpast Branding endast för dokumentation; den påverkar inte körningen och kan flyttas eller tas bort utan påverkan.

Steg 6: Testa och aktivera ert workflow

Kör ett manuellt test för att bekräfta att dataflödena fungerar och att notifieringar skickas som förväntat.

  1. Klicka på Execute Workflow för att köra Weekly Schedule Start manuellt.
  2. Verifiera att Retrieve URL List hämtar rader från Sheet1 och att SSL Status Request returnerar certifikatdata.
  3. Bekräfta att Update SSL Sheet skriver till certificate-data och att korrekt rutt väljs i Route by Certificate.
  4. Kontrollera att e-post, Telegram- och Ntfy-meddelanden skickas enligt SSL-statusen.
  5. När ni är nöjda, växla workflowet till Active för veckovis automatisering.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-autentiseringsuppgifter kan löpa ut eller sakna åtkomst till rätt fil. Om uppdateringar slutar fungera, kontrollera n8n-anslutningen för Google Sheets och bekräfta att kalkylarket är delat med det anslutna Google-kontot.
  • Om du använder Wait-noder eller extern rendering varierar processeringstider. Öka väntetiden om efterföljande noder fallerar på tomma svar.
  • Behörigheter för Telegram-botten ställer ofta till det. Om ”Telegram Urgent Alert” inte levererar, kontrollera att botten finns i målchatten och att du använder rätt chatt-ID i n8n.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för SSL expiry alerts?

Cirka 30 minuter om dina Google- och Telegram-konton är redo.

Behöver jag kodkunskaper för att automatisera SSL expiry alerts?

Nej. Du kopplar främst konton och klistrar in uppgifterna för ditt Google-kalkylark. Logiken finns redan inbyggd i arbetsflödet.

Är n8n gratis att använda för det här arbetsflödet för SSL expiry alerts?

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 volymer. Du behöver också räkna med eventuella kostnader för SSL-kontrolltjänsten om din användning är hög.

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

Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här arbetsflödet för SSL expiry alerts till Slack i stället för Telegram?

Ja, men du byter notifieringssteget. Ersätt åtgärden ”Telegram Urgent Alert” med en Slack-meddelandenod och behåll samma routinglogik i ”Route by Certificate”. Vanliga anpassningar är att ändra tröskeln ”under 30 dagar”, lägga till olika mottagare per domängrupp och skicka en veckosammanfattning efter att kalkylarket har uppdaterats.

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

Oftast är det ett felaktigt chatt-ID eller en bot som inte har lagts till i destinationschatten. Skapa om eller kontrollera din bot-token och bekräfta sedan att noden ”Telegram Urgent Alert” pekar på rätt chatt (skillnaden mellan grupp och privat chatt spelar roll). Om det fungerar en gång och sedan slutar, kontrollera om bot-åtkomst har återkallats eller om gruppbehörigheter har ändrats.

Hur många domäner kan den här automatiseringen för SSL expiry alerts hantera?

Dussintals till hundratals är vanligt.

Är den här automatiseringen för SSL expiry alerts bättre än att använda Zapier eller Make?

Ofta, ja – särskilt om du vill ha kontroll och inte vill att prissättning per steg ska bli märklig när du skalar. n8n gör det enklare att routa domäner till olika spår (ogiltig vs. på väg att löpa ut vs. OK) utan att ditt scenario blir en trasslig uppsättning separata automatiseringar. Du får också alternativet för egen drift, vilket kan vara viktigt för interna säkerhetsteam. Zapier eller Make kan fortfarande fungera bra för väldigt enkla upplägg med ”en kontroll, en varning”. Om du vill ha hjälp att välja, prata med en automationsexpert.

När detta väl rullar slutar SSL-förnyelser att vara en gissningslek. Arbetsflödet tar hand om den repetitiva kontrollen, och du får rätt varning vid rätt tidpunkt.

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