Du sitter på mobilen, ett mejl trillar in och där är den där länken. Den “ser” okej ut, men du har blivit bränd förut och du har inte tid att leka detektiv i fem olika flikar.
Det här drabbar marknadsförare som lever i inkorgen hela dagen, men byråägare som vidarebefordrar kundförfrågningar och ops-ansvariga som godkänner dokument känner av det också. Telegram-länkskanning gör att du kan fortsätta i samma tempo och ändå göra det vuxna: kontrollera risken innan du klickar.
Det här arbetsflödet gör en inklistrad URL till en tydlig, strukturerad säkerhetssammanfattning från VirusTotal (med urlscan.io som en extra signal), och loggar sedan skanningen till Google Sheets så att du kan granska vad som hände i efterhand.
Så fungerar den här automationslösningen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Telegram + VirusTotal: säkrare länkar innan du klickar
flowchart LR
subgraph sg0["Telegram Incoming Flow"]
direction LR
n0["<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/>VirusTotal API Call"]
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/telegram.svg' width='40' height='40' /></div><br/>Telegram Reply Sender"]
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/telegram.svg' width='40' height='40' /></div><br/>Telegram Incoming Trigger"]
n3@{ icon: "mdi:database", form: "rounded", label: "Scan Log Recorder", pos: "b", h: 48 }
n4@{ icon: "mdi:robot", form: "rounded", label: "URL Report Assistant", pos: "b", h: 48 }
n5@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n6@{ icon: "mdi:memory", form: "rounded", label: "Scan Summary Memory", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Throttle Summary Output", pos: "b", h: 48 }
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/urlScanIo.svg' width='40' height='40' /></div><br/>urlscan.io Request"]
n9["<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/code.svg' width='40' height='40' /></div><br/>Compose Summary Data"]
n10["<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/merge.svg' width='40' height='40' /></div><br/>Combine Scan Results"]
n10 --> n9
n5 -.-> n4
n7 --> n1
n7 --> n3
n2 --> n0
n2 --> n8
n6 -.-> n4
n9 --> n4
n8 --> n10
n0 --> n10
n4 --> n7
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 n2 trigger
class n4 ai
class n5 aiModel
class n6 ai
class n3 database
class n0 api
class n9 code
classDef customIcon fill:none,stroke:none
class n0,n1,n2,n8,n9,n10 customIcon
Problemet: du tvingas “gissa” om en länk är säker
Misstänkta länkar annonserar sällan sig själva. De dyker upp som “vänligen signera”, “granska det här dokumentet”, “snabb fråga om en faktura” eller en kund som delar en slumpmässig Google Drive-URL. På mobilen är det värre. Du kan inte hovra för att inspektera, det är störigt att hoppa mellan appar och pressen att svara snabbt puttar dig mot riskabla klick. Även om du försöker vara försiktig blir manuell kontroll inkonsekvent. Ena dagen kör du den via VirusTotal. Nästa dag glömmer du, eftersom du jonglerar möten, godkännanden och hundra små uppgifter.
Det går snabbt att bygga upp. Här är var det faller isär.
- De flesta hoppar över kontroller på mobilen eftersom processen är krånglig och långsam.
- Du börjar lita på magkänslan “ser legitim ut”, vilket är exakt det nätfiske är byggt för att utnyttja.
- När du väl kontrollerar en länk dokumenterar du det sällan, så det finns inget spår när någon frågar “hur kunde det här hända?”
- Olika skannrar visar olika signaler, och att pussla ihop dem manuellt är ett huvudvärk.
Lösningen: en Telegram-bot som skannar och sammanfattar länkar
Det här n8n-arbetsflödet ger dig en enkel vana: klistra in en URL i Telegram, få tillbaka en risksammanfattning. När ett meddelande når din bot triggar n8n två kontroller parallellt. Först anropar den VirusTotal API för att hämta rykte och signaler för “skadlig vs. felfri” från flera motorer. Samtidigt skickar den URL:en till urlscan.io för att observera hur sidan beter sig när den laddas (vilka domäner den kontaktar, vad den försöker hämta och andra ledtrådar som kan avslöja suspekta omdirigeringar). Sedan slår arbetsflödet ihop båda svaren, hanterar fel på ett robust sätt och skapar en enda strukturerad “okej, vad betyder det här?”-rapport. Till sist svarar den i Telegram och loggar varje skanning till Google Sheets för senare granskning.
Flödet börjar med ett Telegram-meddelande. VirusTotal och urlscan.io körs, sedan kombineras resultaten och städas upp. En AI-assistent gör rådata till en läsbar sammanfattning, och n8n skickar den sammanfattningen tillbaka till chatten samtidigt som den sparar en post i Google Sheets.
Det du får: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du får 10 “snälla granska det här”-länkar i veckan via mejl och chatt. Manuellt blir det oftast 2 verktyg (VirusTotal plus en webbläsarsandbox eller urlscan.io), kanske 5 minuter per länk när du räknar in kopiering, laddning och tolkning av resultat, alltså ungefär en timme i veckan. Med det här arbetsflödet klistrar du in URL:en i Telegram (10 sekunder), väntar på skanningen och sammanfattningen (ofta runt en minut), och så är du klar. Du får också Google Sheets-loggen automatiskt, vilket är en tyst vinst när någon ber om bevis i efterhand.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger funkar bra)
- Telegram för att ta emot länkar och skicka sammanfattningar
- VirusTotal för rykte och signaler om skadlig kod
- urlscan.io API-nyckel (hämta den i urlscan.io Settings & API)
Kunskapsnivå: Medel. Du kopplar några konton, klistrar in API-nycklar och gör små ändringar som chatt-ID:n och kolumner i Sheet:et.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du skickar en URL till din Telegram-bot. Det meddelandet är triggern, så du behöver inget formulär, ingen webbläsartillägg eller någon annan app.
Två skanningar körs samtidigt. n8n anropar VirusTotal via HTTP Request för att hämta omdömen och rykte, och anropar urlscan.io för att se vad länken faktiskt gör när den laddas.
Arbetsflödet slår ihop och normaliserar resultaten. Ett kodsteg bygger ett konsekvent dataobjekt, även om urlscan.io misslyckas, så sammanfattningen faller aldrig ihop halvvägs.
Du får en läsbar risksammanfattning och en sparad logg. En språkmodell-agent gör de kombinerade resultaten till en tydlig rapport, sedan svarar n8n i Telegram och skriver skanningsdetaljerna till Google Sheets.
Du kan enkelt ändra var sammanfattningen hamnar (Telegram) till Slack eller mejl beroende på behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera Telegram-triggern
Konfigurera Telegram-triggern så att inkommande meddelanden startar skanningsflödet.
- Lägg till noden Telegram Incoming Trigger och behåll Updates inställt på
message. - Autentiseringsuppgifter krävs: Anslut era telegramApi-uppgifter.
- Spara arbetsflödet så att n8n genererar Telegram-webhooken för Telegram Incoming Trigger.
Steg 2: anslut tjänsterna för URL-skanning
Konfigurera de externa skanningsanropen som körs parallellt när ett Telegram-meddelande kommer in.
- Öppna VirusTotal API Call och ställ in URL till
https://www.virustotal.com/api/v3/urlsmed Method inställt påPOST. - I VirusTotal API Call ställer ni in Query Parameters → url till
{{ $json.message.text }}. - Autentiseringsuppgifter krävs: Anslut era virusTotalApi-uppgifter.
- Öppna urlscan.io Request och ställ in URL till
{{ $json.message.text }}. - Autentiseringsuppgifter krävs: Anslut era urlScanIoApi-uppgifter.
- Bekräfta körordningen: Telegram Incoming Trigger skickar utdata parallellt till både VirusTotal API Call och urlscan.io Request.
Steg 3: sätt upp bearbetningslogiken
Slå ihop skanningsresultaten och skapa en strukturerad sammanfattningspayload för AI-assistenten.
- Anslut VirusTotal API Call och urlscan.io Request till Combine Scan Results.
- Anslut Combine Scan Results till Compose Summary Data.
- I Compose Summary Data behåller ni JavaScript-koden som skapar ett
summary-fält och bevarar ursprungliga JSON-fält.
Steg 4: sätt upp AI-lagret för sammanfattning
Konfigurera AI-assistenten så att den omvandlar skanningsdata till en lättläst riskrapport.
- Öppna URL Report Assistant och behåll prompten i Text enligt definitionen, inklusive de inbäddade uttrycken som
{{ $('Telegram Incoming Trigger').item.json.message.text }}och{{ $now }}. - Säkerställ att OpenAI Chat Model är ansluten som språkmodell för URL Report Assistant.
- Autentiseringsuppgifter krävs: Anslut era openAiApi-uppgifter i OpenAI Chat Model.
- Säkerställ att Scan Summary Memory är ansluten som minne för URL Report Assistant.
Steg 5: konfigurera utdata och loggning
Skicka AI-sammanfattningen tillbaka till Telegram och logga den i Google Sheets.
- Anslut URL Report Assistant till Throttle Summary Output.
- Bekräfta parallell utdata: Throttle Summary Output skickar utdata parallellt till både Telegram Reply Sender och Scan Log Recorder.
- I Telegram Reply Sender ställer ni in Text till
{{ $json.output }}och Chat ID till{{ $('Telegram Incoming Trigger').item.json.message.chat.id }}. - Autentiseringsuppgifter krävs: Anslut era telegramApi-uppgifter i Telegram Reply Sender.
- I Scan Log Recorder ställer ni in Operation till
appendOrUpdate, mappar URL till{{ $('Telegram Incoming Trigger').item.json.message.text }}, Report till{{ $json.output }}och Date/Time till{{ $now }}. - Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Scan Log Recorder.
[YOUR_ID] i Scan Log Recorder med era faktiska Google Sheet- och dokument-ID:n, annars kommer append att misslyckas.Steg 6: testa och aktivera ert arbetsflöde
Kör ett fullständigt test för att säkerställa att skanningar, AI-sammanfattningar och loggning fungerar från början till slut.
- Klicka på Test Workflow och skicka en URL till er Telegram-bot för att trigga Telegram Incoming Trigger.
- Verifiera att VirusTotal API Call och urlscan.io Request körs och slås ihop i Combine Scan Results.
- Bekräfta att Telegram Reply Sender returnerar en lättläst sammanfattning i Telegram och att Scan Log Recorder skriver en rad till Google Sheets.
- När ni är nöjda, växla arbetsflödet till Active för att aktivera övervakning i produktion.
Vanliga fallgropar
- VirusTotal-inloggning kan löpa ut eller läggas in fel. Om anropen misslyckas, kontrollera API-nyckel-headern i VirusTotal HTTP Request-noden (den ska skickas som förväntad header, till exempel x-apikey).
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt annars kommer du redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om du redan har API-nycklarna.
Nej. Du kommer främst koppla konton och klistra in API-nycklar. Den enda “tekniska” delen är att uppdatera ett par fält som Telegram-chatt-ID och dina kolumner i Google Sheet.
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å ta hänsyn till API-begränsningar för VirusTotal och urlscan.io (VirusTotal Public API är rate-limitad och inte idealisk för kommersiell volym).
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig mer kontroll, men du ansvarar själv för uppdateringar och drifttid.
Ja, och det är en vanlig justering. Du kan behålla samma trigger och skanningar och sedan byta ut noden “Telegram Reply Sender” mot en Slack-nod som postar sammanfattningen i en kanal. Många anpassar även loggningen i Google Sheets med extra fält som “vem skickade in länken” eller ett kampanjnamn, vilket gör revisioner mycket enklare.
Oftast beror det på att API-nyckeln skickas på fel ställe. VirusTotal förväntar sig nyckeln som en header (vanligen x-apikey), så verifiera att HTTP Request-noden har den headern aktiverad och ifylld. Kontrollera också dina rate limits eftersom den publika nyckeln är begränsad till några få anrop per minut. Om du skannar i kluster kan du behöva throttling eller en betald plan.
På n8n Cloud Starter-planen kan du köra några tusen exekveringar per månad, vilket räcker för de flesta små team. Om du self-hostar är exekveringar inte flaskhalsen; det är din server och skannrarnas rate limits. I praktiken är VirusTotals publika API-tak den största begränsningen, så hög volym innebär oftast att du uppgraderar din VirusTotal-åtkomst eller throttlar skanningar.
Ofta, ja. n8n är bekvämare när du behöver förgrenad logik, fallbacks (som “urlscan.io misslyckades, förlita dig på VirusTotal”) och mer avancerad dataformatering innan du skickar ett meddelande. Self-hosting är också en stor grej om du vill ha obegränsade körningar utan prissättning per uppgift, helt ärligt. Zapier eller Make kan fortfarande fungera bra för en enkel “skicka URL till API, posta svar”-setup, men det här arbetsflödets tillförlitlighet hänger på att hantera partiella fel på ett robust sätt. Prata med en automationsexpert om du vill ha hjälp att välja den enklaste vägen för din volym och risknivå.
Det här är den typ av automation du sätter upp en gång och sedan lutar dig mot i månader. Färre riskabla klick, tydligare beslut och ett spår att följa när du behöver 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.