Du kollar en viktig webbsida, svär på att den såg annorlunda ut i går och lägger sedan 20 minuter på att försöka bevisa det. Under tiden vet ingen när ändringen skedde eller vad som exakt ändrades.
Det här är precis den typ av röra som marknadsförare och ops-ansvariga snubblar på när de behöver varningar för sidändringar utan att sitta och passa en webbläsare. Om du driver en byrå eller jobbar med regelefterlevnad är det ännu värre. Flödet ger dig tillförlitliga varningar för sidändringar, plus en strukturerad logg som du kan vidarebefordra till en kund eller spara för revisioner.
Om några minuter förstår du vad den här n8n-automationen övervakar, hur den avgör att “det här är nytt” och hur den dokumenterar varje uppdatering i Google Sheets och Gmail.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + Gmail: varningar vid sidändringar
flowchart LR
subgraph sg0["Scheduled Kickoff Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Kickoff", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Generate Content Hash", pos: "b", h: 48 }
n2@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Change Alert", pos: "b", h: 48 }
n3["<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/markdown.dark.svg' width='40' height='40' /></div><br/>Convert to Markdown"]
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Tracking URL", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Filter New Hashes", pos: "b", h: 48 }
n6@{ icon: "mdi:database", form: "rounded", label: "Append Change Log", pos: "b", h: 48 }
n7["<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/>Retrieve Web Page"]
n8["<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/html.dark.svg' width='40' height='40' /></div><br/>Parse Page Segment"]
n9@{ icon: "mdi:cog", form: "rounded", label: "Save Snapshot File", pos: "b", h: 48 }
n3 --> n1
n4 --> n7
n6 --> n2
n7 --> n8
n5 --> n9
n9 --> n6
n8 --> n3
n0 --> n4
n1 --> n5
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 n6 database
class n7 api
classDef customIcon fill:none,stroke:none
class n3,n7,n8 customIcon
Problemet: webbplatsändringar är lätta att missa (och svåra att bevisa)
Viktiga sidor ändras i det tysta. Konkurrenter uppdaterar pristabeller, en leverantör justerar sina användarvillkor eller en myndighetssida ändrar en enda mening som flyttar kraven. Om du kontrollerar manuellt upptäcker du det oftast sent, och du är aldrig 100 % säker på vad som ändrats om du inte tog skärmdumpar eller kopierade texten någonstans. Den där “snabbkollen” blir en återkommande uppgift som äter en timme här och där, plus den mentala belastningen av att komma ihåg vilka sidor som är viktiga. Och när någon ber om bevis slutar det med att du försöker återskapa historik utifrån gissningar.
Det bygger snabbt upp. Här är var det faller isär i det dagliga arbetet.
- Manuella stickprovskontroller blir en vana, och vanor stjäl fokus från mer värdeskapande arbete som analys och planering.
- Team upptäcker ändringar för sent, så första reaktionen blir reaktiva brandkårsutryckningar i stället för lugna uppdateringar.
- Utan en revisionskedja kan du inte enkelt visa en kund, chef eller juristteam vad som ändrades och när.
- Att kopiera och klistra in i dokument eller Slack blir inkonsekvent, vilket gör att detaljer försvinner precis när de behövs.
Lösningen: daglig sidövervakning med loggning i Sheets och Gmail-varningar
Det här flödet kontrollerar en webbsida enligt schema, plockar ut endast den del du bryr dig om och avgör sedan om det verkligen är nytt innehåll. Det hämtar sidan via en HTTP-request, extraherar ett specifikt segment via en HTML-selektor och konverterar innehållet till ett konsekvent format (Markdown) så att jämförelser blir stabila. Därefter skapar det en innehållshash (ett fingeravtryck av texten) och jämför den med tidigare fingeravtryck. Om hashen är en dubblett avslutas körningen tyst. Om den är ny sparar flödet en ögonblicksbild i Google Drive, lägger till en rad i Google Sheets och skickar en Gmail-varning så att du kan agera medan ändringen är aktuell.
Flödet startar med en schemalagd kickoff, så det körs varje dag utan påminnelser. Därefter hämtar och tolkar det sidsegmentet, skapar en hash för att upptäcka förändring, och först när hashen är ny skriver det till Google Sheets, sparar i Google Drive och mejlar dig via Gmail.
Det du får: automation vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du övervakar 5 sidor (en konkurrentprissida, dina egna användarvillkor och tre policysidor). Manuellt kanske du lägger cirka 10 minuter per sida på att öppna den, skrolla och jämföra utifrån minnet, alltså ungefär 50 minuter varje dag. Med det här flödet är “arbetet” i princip noll: den schemalagda triggern kör, HTTP-requesten och parsningen sker i bakgrunden och du lägger bara tid när en Gmail-varning dyker upp. Om ändringar sker ett par gånger i veckan får de flesta team tillbaka cirka 4 timmar per vecka.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för ändringslogg och tidsstämplar
- Gmail för att skicka varningar när ändringar sker
- Google Drive för att lagra ögonblicksbilder av ändrat innehåll
Kunskapsnivå: Mellannivå. Du redigerar en URL, justerar en HTML-selektor och kopplar Google-inloggningar i n8n.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Daglig schematrigger. Flödet startar enligt schema (oftast en gång per dag). Tidszon är viktig här, särskilt om du behöver att kontrollen körs innan arbetsdagen börjar.
Hämta och isolera sidsektionen. n8n använder en HTTP-request för att ladda webbsidan, och därefter extraherar ett HTML-parsningssteg endast innehållet du bryr dig om (till exempel pristabellen eller en specifik policysektion). Det håller övervakningen fokuserad, så att en slumpmässig footer-uppdatering inte spam:ar dig.
Normalisera och upptäck verklig förändring. Det extraherade innehållet konverteras till Markdown och hash:as sedan med kryptografi. Den hashen jämförs mot tidigare hashes med ett “ta bort dubbletter”-steg, vilket innebär att bara nytt innehåll går vidare.
Logga, lagra och avisera. När en ny hash dyker upp sparar flödet en ögonblicksbild i Google Drive, lägger till en rad i Google Sheets och skickar en Gmail-varning så att du kan granska uppdateringen direkt.
Du kan enkelt ändra spårad URL och HTML-selektorn för att övervaka andra sidor eller andra sektioner. Se den fullständiga implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera schematriggern
Ställ in schemat som startar övervakningskörningen och förbereder URL:en som ska spåras.
- Lägg till noden Scheduled Kickoff och öppna dess schema-rule för att välja önskat intervall.
- I Set Tracking URL ställer ni in url-tilldelningen till
https://x.com/en/tos(ersätt med er målsida). - Säkerställ att Scheduled Kickoff är kopplad till Set Tracking URL så att URL:en injiceras innan requesten körs.
⚠️ Vanlig fallgrop: Om ni glömmer att uppdatera url-tilldelningen i Set Tracking URL kommer workflowet att övervaka standardsidan i stället för er målsida.
Steg 2: anslut Google Sheets
Logga varje upptäckt ändring genom att lägga till en rad i ert spårningskalkylark.
- Lägg till noden Append Change Log och välj ert kalkylark i documentId (ersätt
[YOUR_ID]). - Välj målfliken i sheetName, till exempel
gid=0/Sheet1. - Mappa kolumner till följande uttryck: hash →
{{ $('Generate Content Hash').first().json.hash }}, gdrive →=https://drive.google.com/file/d/{{ $json.id }}/view?usp=sharing, website →{{ $('Set Tracking URL').first().json.url }}, date of change →{{ $now.toISO() }}. - Credential Required: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Append Change Log.
⚠️ Vanlig fallgrop: Om ni lämnar [YOUR_ID] i documentId kommer tilläggsoperationen inte att fungera.
Steg 3: konfigurera bearbetningsnoder
Dessa noder hämtar webbsidan, extraherar målsektionen, normaliserar den och beräknar en hash för ändringsdetektering. Exekveringsflödet är linjärt: Set Tracking URL → Retrieve Web Page → Parse Page Segment → Convert to Markdown → Generate Content Hash → Filter New Hashes.
- I Retrieve Web Page ställer ni in url till
{{ $json.url }}och låter sendHeaders vara aktiverat med headern User-Agent med värdetMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/0.0.0.0 Safari/537.36. - Konfigurera Parse Page Segment med operation satt till
extractHtmlContent, och ställ in cssSelector till.ct07med returnValue satt tillhtml. - I Convert to Markdown ställer ni in html till
{{ $json.content.trim() }}för att normalisera den extraherade HTML:en. - I Generate Content Hash ställer ni in value till
{{ $json.data }}och dataPropertyName tillhash. - I Filter New Hashes ställer ni in operation till
removeItemsSeenInPreviousExecutionsoch dedupeValue till{{ $json.hash }}för att undvika duplicerade aviseringar.
Tips: Om er målsida ändrar layout, uppdatera väljaren .ct07 i Parse Page Segment så att den matchar den nya sektionen.
Steg 4: konfigurera utdata-/åtgärdsnoder
När en ny hash upptäcks sparar workflowet en snapshot i Drive, loggar ändringen och skickar en e-postavisering.
- I Save Snapshot File ställer ni in operation till
createFromText, content till{{ $json.data }}och name till{{ $('Set Tracking URL').item.json.url .extractDomain() .replace('.','_') + $json.hash + '.md' }}. - Välj er mål-mapp i Drive i folderId (ersätt
[YOUR_ID]) och låt driveId varaMy Drive. - Credential Required: Anslut era googleDriveOAuth2Api-inloggningsuppgifter i Save Snapshot File.
- I Dispatch Change Alert ställer ni in sendTo till er e-post (ersätt
[YOUR_EMAIL]), subject tillChange detected for {{ $('Set Tracking URL').first().json.url }}, och message tillsite: {{ $('Set Tracking URL').first().json.url }} date: {{ $now.toISO() }} hash: {{ $json.hash }} contents: {{ $json.gdrive }}. - Credential Required: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Change Alert.
⚠️ Vanlig fallgrop: Om Drive-mappens ID eller e-postmottagaren lämnas som en platshållare kommer snapshots inte att sparas eller aviseringar inte att levereras.
Steg 5: testa och aktivera ert workflow
Kör ett manuellt test för att bekräfta att sidan hämtas, hashas, sparas, loggas och e-postas innan ni slår på schemat.
- Klicka på Execute Workflow och verifiera att Retrieve Web Page returnerar HTML och att Parse Page Segment matar ut
content. - Bekräfta att Generate Content Hash matar ut ett
hash-värde och att Filter New Hashes släpper igenom det vid första körningen. - Kontrollera att Save Snapshot File skapar en ny Markdown-fil i er Drive-mapp och att Append Change Log skriver en ny rad i ert ark.
- Verifiera att ni får e-postmeddelandet från Dispatch Change Alert med Drive-länken i meddelandet.
- När allt fungerar, växla workflowet till Active för att aktivera schemalagd övervakning.
Vanliga fallgropar
- Google-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först din sida för Credentials i n8n och bekräfta åtkomst till Gmail, Google Sheets och Google Drive.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om dina Google-konton är redo.
Nej. Du uppdaterar främst URL:en och justerar HTML-selektorn för den sidsektion du vill ha.
Ja. n8n har ett gratis alternativ för egen hosting 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 eventuell valfri AI-användning om du aktiverar noden OpenAI Chat Model.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serverhantering.
Ja, men gör det med eftertanke. Du kan ändra steget “Set Tracking URL” (variabler) så att det innehåller en lista med URL:er och sedan loopa igenom dem så att varje sida hämtas och parsas. Det extra arbetet ligger främst i HTML-parsningen, eftersom olika sidor ofta kräver olika selektorer. Vanliga anpassningar är att spåra flera konkurrenter, bevaka endast en specifik sektion (som prissättning) och ändra mejltexten i Gmail-varningen.
Oftast handlar det om utgångna eller saknade Google-behörigheter i n8n. Anslut ditt Google-konto igen i n8n Credentials och bekräfta sedan att målarket är åtkomligt för kontot. Om arket flyttades till en Shared Drive kan behörigheter bli märkliga, så dubbelkolla delning och valt dokument i Google Sheets-noden.
För de flesta små team är dussintals sidor per dag inga problem, så länge din n8n-instans har tillräckligt med körningar och sajterna svarar snabbt.
Ofta, ja, eftersom den här typen av övervakning kräver riktig innehållshämtning, parsning och logik för “avisera bara vid ändring”. n8n hanterar HTTP-request, HTML-extraktion, hashning och dubblettfiltrering på ett ställe, och du kan köra egen hosting om du inte vill ha prissättning per uppgift. Zapier och Make kan fungera, men du kan behöva sy ihop flera steg och ändå få kämpa med brusiga aviseringar. Om du bara behöver en enkel “pinga en URL och mejla mig”-lösning är de verktygen helt okej. Prata med en automationsexpert om du vill ha hjälp att välja.
När detta väl rullar slutar du leka detektiv och börjar arbeta utifrån ett faktiskt underlag. Flödet sköter de repetitiva kontrollerna, och du kliver bara in när något faktiskt ändras.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.