Din webbplats går ner, och du får reda på det på värsta tänkbara sätt. Ett kundmejl. Ett tappat lead. Eller en kollega som frågar: ”Är webbplatsen trasig?” samtidigt som du febrilt försöker bekräfta vad som händer.
Sheets Slack alerts träffar mitt i prick för byråägare som hanterar kunders webbplatser, driftfolk som bär ”håll det igång”-jouren och marknadsförare som ser betald trafik brinna under ett avbrott. Du behöver inget avancerat NOC. Du behöver en snabb signal, i verktygen du redan kollar, med ett spårbart underlag.
Det här n8n-arbetsflödet övervakar en Google Sheets-lista med URL:er, kontrollerar varje webbplats enligt ett schema och larmar dig i Slack samt Gmail när något faller bort. Det loggar också händelser för upptid och nedtid så att du kan bevisa vad som hände i efterhand.
Problemet: driftstopp upptäcks för sent
De flesta små team ”övervakar” inte webbplatser. De kommer ihåg att kolla dem. Eller så litar de på en hostingpanel som ingen öppnar förrän det redan är problem. Under tiden börjar skadan direkt: annonskostnader fortsätter ticka, kassan fallerar tyst, kontaktformulär slutar skicka och supportärenden staplas. Sedan kommer andra smällen. Du måste ändå rekonstruera vad som hände, vilka sajter som påverkades och när det började, eftersom det inte finns någon korrekt formaterad logg att peka på.
Det drar snabbt iväg. Här är var det oftast faller isär i verkligheten.
- Du slutar med att kolla URL:er manuellt, och ingen gör det konsekvent längre än en vecka.
- Larm når inte rätt ställe, så ett avbrott ligger kvar i 30 minuter medan folk ”tar reda på vem som äger det”.
- Falsklarm skapar brus, vilket gör att nästa riktiga driftstopp ignoreras.
- Utan upptidshistorik kan du inte se mönster eller hålla leverantörer ansvariga med tidsstämplar.
Så fungerar den här automatiseringen
Hela n8n-arbetsflödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + Slack: direkta driftstoppvarningar
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
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/slack.svg' width='40' height='40' /></div><br/>Send a message"]
n2["<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"]
n3@{ icon: "mdi:message-outline", form: "rounded", label: "Send a message1", pos: "b", h: 48 }
n4["<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/>htttps request"]
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If website up?", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n8@{ icon: "mdi:database", form: "rounded", label: "Get row(s) in sheet", pos: "b", h: 48 }
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n10@{ icon: "mdi:database", form: "rounded", label: "Append row in sheet1", pos: "b", h: 48 }
n11@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields1", pos: "b", h: 48 }
n7 --> n6
n11 --> n10
n5 --> n7
n5 --> n1
n5 --> n2
n5 --> n3
n5 --> n11
n4 --> n5
n9 --> n4
n0 --> n8
n6 --> n9
n8 --> n9
n10 --> n9
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 n5 decision
class n6,n8,n10 database
class n2,n4 api
classDef customIcon fill:none,stroke:none
class n1,n2,n4 customIcon
Lösningen: schemalagda kontroller + larm i flera kanaler + loggning
Det här arbetsflödet gör ett enkelt Google Sheet till en lättviktig övervakningshub. Enligt ett schema du väljer hämtar n8n din lista med URL:er från Google Sheets och kontrollerar dem en och en med en HTTP-förfrågan. Varje svar utvärderas som ”up” eller ”down”. Om en webbplats är uppe skriver arbetsflödet en tidsstämplad rad i ett upptidsloggblad, så att du bygger historik utan att tänka på det. Om en webbplats är nere postar det omedelbart ett larm till Slack, skickar ett Gmail-mejl och kan även trigga ett automatiserat telefonsamtal via ett röst-API (praktiskt efter arbetstid).
Arbetsflödet startar med en tidsstyrd trigger och loopar sedan igenom varje rad i ditt ark. Det kör en HTTP-statuskontroll, förgrenar baserat på resultatet och loggar utfallet tillbaka till Google Sheets. Larm skickas bara på ”down”-spåret, så din Slack-kanal förblir användbar.
Det du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du hanterar 20 kundsajter. En ”snabb koll” är fortfarande ungefär 1 minut per sajt mellan att ladda, vänta och dubbelkolla, så det blir runt 20 minuter varje gång du gör det, och de flesta team gör det några gånger per dag under intensiva perioder. Med det här arbetsflödet uppdaterar du listan en gång i Google Sheets och schemat sköter resten. Om en sajt inte går igenom en kontroll larmar Slack och Gmail dig direkt, samtidigt som loggen fångar tidsstämpeln automatiskt, så din dag inte spårar ur av ständig manuell kontroll.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Självhostningsalternativ om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra URL:er och skriva loggen.
- Slack för att leverera driftstoppslarm direkt.
- Gmail OAuth2 (konfigureras i Google Cloud Console)
- API-uppgifter för röst-samtal (hämta dem från din leverantör, t.ex. Vapi.ai)
Kunskapsnivå: Nybörjare. Du kopplar konton, klistrar in några ID:n och väljer vart larmen ska gå.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuterskonsultation).
Så fungerar det
Ett tidsstyrt schema drar igång det. n8n kör med det intervall du väljer (var några minuter, varje timme, vad som passar). Ingen behöver komma ihåg att ”gå och kolla sajterna”.
Din URL-lista kommer från Google Sheets. Arbetsflödet hämtar rader från ditt ark och loopar sedan igenom dem i batchar så att varje webbplats kontrolleras i tur och ordning.
En HTTP-förfrågan testar varje webbplats. För varje URL skickar n8n en statusförfrågan och utvärderar svaret. Om svaret visar att webbplatsen är uppe sätter den status ”uptime” och loggar det. Om svaret indikerar nedtid tar den larmspåret.
Slack- och Gmail-larm skickas, och loggningen blir konsekvent. När nedtid upptäcks får Slack ett meddelande direkt, Gmail skickar ett mejl som redundans och ett valfritt röst-API kan eskalera. Sedan skriver arbetsflödet en nedtidsrad till ditt loggblad så att du har en korrekt formaterad historik senare.
Du kan enkelt ändra schemaintervallet för att matcha din risktolerans, eller ändra vilken Slack-kanal som pingas baserat på webbplatsens vikt. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den tidsstyrda automationstriggern
Ställ in arbetsflödet att köras enligt ett återkommande schema så att webbplatskontroller sker automatiskt.
- Lägg till och öppna Timed Automation Trigger.
- Ställ in schemaregeln att köras var minutes med hjälp av intervallfältet.
Steg 2: anslut Google Sheets
Hämta listan med webbplatsadresser och logga resultat för upptid/nertid i Google Sheets.
- Öppna Retrieve Sheet Rows och välj kalkylarket där Document är satt till
[YOUR_ID]och Sheet är satt tillSheet1. - Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-uppgifter i Retrieve Sheet Rows.
- Öppna Log Uptime Entry och bekräfta att Operation är
append, med Document satt till[YOUR_ID]och Sheet satt tillSheet1. - Mappa kolumner i Log Uptime Entry så här: date →
{{ $now }}, status →{{ $json.status }}, website url →{{ $('Retrieve Sheet Rows').item.json.urls }}. - Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-uppgifter i Log Uptime Entry och Log Downtime Entry.
Steg 3: konfigurera request-hantering och routning
Iterera igenom URL:er, kör statusförfrågan och förgrena baserat på svarskod.
- Öppna Iterate Through Records för att säkerställa att den tar emot indata från Retrieve Sheet Rows och loopar varje post.
- Öppna Website Status Request och ställ in URL till
https://www.pixcelsthemes.com/(ersätt vid behov med er mål-URL). - Bekräfta att Website Status Request använder en timeout på
5000och returnerar fullständiga svarsdata. - Konfigurera Check Site Response med ett villkor: leftValue =
{{ $json.statusCode }}och rightValue =200.
Check Site Response skickar vidare till Set Uptime Status vid lyckat resultat, och till Post Slack Alert, External Call Request, Dispatch Email Alert och Set Downtime Status parallellt vid fel.
Steg 4: konfigurera statusättning och loggning
Sätt ett tydligt statusvärde och lägg till det i loggkalkylarket för både upptids- och nertids-händelser.
- I Set Uptime Status sätter ni status till
up. - Verifiera att Set Uptime Status är kopplad till Log Uptime Entry.
- I Set Downtime Status sätter ni status till
down. - Bekräfta att Set Downtime Status är kopplad till Log Downtime Entry med Operation satt till
append.
Steg 5: konfigurera larmåtgärder
Meddela ert team när webbplatsen är nere via Slack, e-post och ett externt anrops-API.
- Öppna Post Slack Alert och ställ in Text till
pixcelsthemes.com is downoch Select tilluser. - Inloggningsuppgifter krävs: anslut era slackApi-uppgifter i Post Slack Alert.
- Öppna Dispatch Email Alert och ställ in Send To till
[YOUR_EMAIL], Subject tillwebsiteoch Message tillpicxelsthemes.com is down!!!!!!. - Inloggningsuppgifter krävs: anslut era gmailOAuth2-uppgifter i Dispatch Email Alert.
- Öppna External Call Request och ställ in URL till
https://api.vapi.ai/call, Method tillPOSToch JSON Body till{ "assistantId": "[YOUR_ID]", "phoneNumberId": "[YOUR_ID]", "customer": { "number": "[YOUR_PHONE]" } }. - Ställ in headern Authorization till
Bearer [CONFIGURE_YOUR_TOKEN]i External Call Request.
⚠️ Vanlig fallgrop: om kolumnrubrikerna i ert Google Sheet inte exakt matchar website url, status och date kan append-åtgärden skriva tomma fält.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera både upptids- och nertidsflödena innan ni aktiverar enligt schema.
- Klicka på Execute Workflow för att köra ett manuellt test från Timed Automation Trigger.
- Vid en lyckad kontroll bekräftar ni att Log Uptime Entry lägger till en rad med
upoch en tidsstämpel. - För att testa nertidslarm ändrar ni tillfälligt Website Status Request URL till en ogiltig URL och bekräftar att Post Slack Alert, Dispatch Email Alert och External Call Request triggas.
- Verifiera att Log Downtime Entry lägger till en rad när webbplatsen är nere.
- Växla arbetsflödet till Active för att aktivera schemalagd övervakning.
Vanliga fallgropar
- OAuth-behörigheter för Google Sheets kan vara den tysta boven. Om loggen slutar skrivas, kontrollera Google Sheets-autentiseringsuppgiften i n8n och bekräfta att den fortfarande har åtkomst till det specifika kalkylarks-ID:t.
- Om du kontrollerar många URL:er kan HTTP-förfrågningar ta längre tid än väntat. När efterföljande steg kör innan ett svar är klart, öka batchning eller mellanrum så att ”down”-grenen inte triggas av timingproblem.
- Slack- och Gmail-larm är bara så bra som innehållet i meddelandet. Ärligt talat ignoreras generisk larmtext; inkludera URL, tidsstämpel och statuskod så att någon kan agera utan att ställa följdfrågor.
Vanliga frågor
Cirka 30 minuter om dina Google- och Slack-konton är redo.
Nej. Du kopplar mest autentiseringsuppgifter och pekar arbetsflödet mot kolumnerna i ditt Sheet.
Ja. n8n har ett gratis självhostat 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 användningsavgifter för röst-API om du aktiverar telefonlarm.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är den delen de flesta team justerar. Du kan lägga till återförsökslogik innan du deklarerar ”down” genom att justera HTTP Request och villkoret i beslutet ”Check Site Response”. Många skickar också högprioriterade sajter till en annan Slack-kanal och håller lågprioriterade sajter till enbart mejl, vilket bara är en routningsändring före Slack/Gmail-noderna. Om du vill ha SMS kan du byta in Twilio eller Vonage tillsammans med Slack.
Oftast beror det på att OAuth-åtkomsten till kalkylarket har löpt ut eller ändrats. Återanslut Google Sheets-autentiseringsuppgiften i n8n och bekräfta sedan att Sheet-ID:t är korrekt och att det kopplade Google-kontot faktiskt kan redigera filen. Om du kopierade ett mallark, dubbelkolla att du ersatte både blad-ID:t för ”URL list” och blad-ID:t för ”uptime log”.
Dussintals till hundratals är vanligt, och den praktiska gränsen beror på hur ofta du kör schemat och på serverresurser. På n8n Cloud Starter begränsas du av månatliga körningar, så väldigt frekventa kontroller över stora listor bygger snabbt volym. Om du självhostar finns ingen körningsgräns; då bevakar du främst request-timeouts och eventuella rate limits från tjänsterna du anropar. Om listan växer håller batchning och mellanrum i förfrågningarna det stabilt.
Ofta, ja, eftersom webbplatskontroller plus förgrenade larm och loggning blir pilligt i Zapier-liknande verktyg. n8n hanterar loopar (kontroll av många URL:er) och villkorslogik utan att din faktura blir en obehaglig överraskning. Det är också enklare att självhosta, vilket spelar roll om du vill övervaka ofta utan att räkna varje task. Zapier eller Make kan fortfarande vinna för väldigt små upplägg, som att övervaka en URL och skicka ett mejl. Prata med en automationsexpert om du vill ha hjälp att välja.
När det här väl rullar slutar driftstopp vara en gissningslek. Du får snabba larm, en korrekt formaterad logg och färre diskussioner om ”hur länge låg den nere?”.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.