M365 Spam Manager
by @tradmangh
Manages Microsoft 365 junk mail by analyzing spam patterns, scoring suspicious emails, and assisting with review or automatic cleanup of Outlook/Exchange spa...
clawhub install m365-spam-managerπ About This Skill
name: m365-spam-manager description: Microsoft 365 spam folder manager for Outlook/Exchange mailboxes. Automatically analyzes junk/spam emails, calculates a suspicious score based on structural patterns (missing unsubscribe links, poor language, suspicious domains, wrong character sets, etc.), and helps clean up the junk folder. Supports review mode (default) where user approves each action, and automatic mode for batch processing. Works with shared mailboxes via --mailbox flag. Related keywords: Outlook, Exchange Online, spam filter, junk email, phishing, email security. Token cost: ~500-1.5k tokens per use.
M365 Spam Manager (Microsoft Graph)
Installation
Requires Node.js + npm install in the skill folder:
cd skills/m365-spam-manager
npm install
Setup
Uses the same profile/credentials as m365-mailbox. Ensure you have a profile configured:
node skills/m365-mailbox/scripts/setup.mjs --profile tom-business ...
Usage
Review mode (default) β user must approve each action
# Analyze junk folder and show suspicious scores (review mode - default)
node skills/m365-spam-manager/scripts/analyze.mjs --profile tom-business-mail --mailbox radman@e-ola.comMove a false positive to inbox (requires confirmation)
node skills/m365-spam-manager/scripts/move-to-inbox.mjs --profile tom-business-mail --mailbox radman@e-ola.com --id Move confirmed spam to learning folder
node skills/m365-spam-manager/scripts/move-to-learning.mjs --profile tom-business-mail --mailbox radman@e-ola.com --id
Automatic mode (no confirmation)
# Auto-clean: move high-confidence spam to learning, medium to review
node skills/m365-spam-manager/scripts/auto-clean.mjs --profile tom-business-mail --mailbox radman@e-ola.com --threshold 80
Suspicious Score Calculation
The analyzer calculates a score (0-100) based on:
| Pattern | Points | Description | |---------|--------|-------------| | No unsubscribe link | +20 | Legitimate marketing must have one | | Suspicious sender domain | +15 | Free email, misspellings, random strings | | All caps subject | +10 | Spam often shouts | | Excessive punctuation | +10 | !!!, ???, $$$ | | Suspicious keywords | +15 | crypto, win, free, urgent, verify, bank, password, ... | | Mismatched language | +10 | Subject in DE, body EN or vice versa | | Known scam patterns | +25 | "Attention - suspected SPAM", fake invoices | | Free email provider | +10 | gmail, yahoo, hotmail in From (not Reply-To) | | No DKIM/SPF indication | +5 | Graph doesn't show auth results |
Score thresholds
Policy
This skill respects the same policy as m365-mailbox:
read: autonomous (analyze, list)move: controlled (move to inbox/learning folder)In review mode, the script always prompts for confirmation before moving emails.
π‘ Examples
Review mode (default) β user must approve each action
# Analyze junk folder and show suspicious scores (review mode - default)
node skills/m365-spam-manager/scripts/analyze.mjs --profile tom-business-mail --mailbox radman@e-ola.comMove a false positive to inbox (requires confirmation)
node skills/m365-spam-manager/scripts/move-to-inbox.mjs --profile tom-business-mail --mailbox radman@e-ola.com --id Move confirmed spam to learning folder
node skills/m365-spam-manager/scripts/move-to-learning.mjs --profile tom-business-mail --mailbox radman@e-ola.com --id
Automatic mode (no confirmation)
# Auto-clean: move high-confidence spam to learning, medium to review
node skills/m365-spam-manager/scripts/auto-clean.mjs --profile tom-business-mail --mailbox radman@e-ola.com --threshold 80
βοΈ Configuration
Uses the same profile/credentials as m365-mailbox. Ensure you have a profile configured:
node skills/m365-mailbox/scripts/setup.mjs --profile tom-business ...