Phishing analysis - URLScan.io and VirusTotal
Ready for 3.0What this workflow does
This workflow has 16 nodes and runs on a schedule (every day) (plus 1 other trigger). Along the way it connects Slack and Microsoft Outlook. It also calls virustotal.com over HTTP.
How it runs
Trigger: On a schedule (every day) (plus 1 other trigger).
- Get all unread messages (Microsoft Outlook): get many
- Mark as read (Microsoft Outlook): update
- Split In Batches (Loop Over Items (Split in Batches)): loops over the items in batches
- Find indicators of compromise (Code): runs custom Python code
- Not empty? (Filter): keeps only the items that match a condition
- Has URL? (If): checks a condition and branches into true / false
- sends slack message (Slack): uses Slack
- URLScan: Scan URL (urlscan.io): uses urlscan.io
- VirusTotal: Scan URL (HTTP Request): calls virustotal.com (POST)
- No error? (If): checks a condition and branches into true / false
…plus 4 more steps. See the full node list below.
Services it uses
HTTP calls to: virustotal.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (12)
- Manual Trigger
n8n-nodes-base.manualTrigger - Slack
n8n-nodes-base.slack - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Microsoft Outlook
n8n-nodes-base.microsoftOutlook - HTTP Request
n8n-nodes-base.httpRequest - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Code
n8n-nodes-base.code - urlscan.io
n8n-nodes-base.urlScanIo - If
n8n-nodes-base.if - Filter
n8n-nodes-base.filter - Wait
n8n-nodes-base.wait - Merge
n8n-nodes-base.merge
From the author
This n8n workflow automates the analysis of email messages received in a Microsoft Outlook inbox to identify indicators of compromise (IOCs), specifically suspicious URLs. It can be triggered manually or scheduled to run daily at midnight. The workflow begins…