Problem
AlertDispatcher (src/anglerfish/alerts.py) fans out to console, JSONL file, and Slack. For a tool aimed at Microsoft 365 shops, Teams is the channel most SOCs actually live in.
Proposal
Add a Teams sink (Power Automate workflow webhook — Adaptive Card payload) alongside the Slack sink, configured via ANGLERFISH_TEAMS_WEBHOOK_URL / --teams-webhook-url, mirroring the Slack sink's hardening: HTTPS-only, never log the webhook URL on failure, bounded timeouts, markup-escaped fields.
The dispatcher is already structured for multiple channels, so this is a self-contained addition. See ROADMAP.md — "More alert channels". Worth a quick design note in a Discussion before implementing the payload format.
Problem
AlertDispatcher(src/anglerfish/alerts.py) fans out to console, JSONL file, and Slack. For a tool aimed at Microsoft 365 shops, Teams is the channel most SOCs actually live in.Proposal
Add a Teams sink (Power Automate workflow webhook — Adaptive Card payload) alongside the Slack sink, configured via
ANGLERFISH_TEAMS_WEBHOOK_URL/--teams-webhook-url, mirroring the Slack sink's hardening: HTTPS-only, never log the webhook URL on failure, bounded timeouts, markup-escaped fields.The dispatcher is already structured for multiple channels, so this is a self-contained addition. See ROADMAP.md — "More alert channels". Worth a quick design note in a Discussion before implementing the payload format.