Email & Webhooks¶
SentriKat sends alerts when new vulnerabilities match your product inventory. Configure email notifications, webhook integrations, and escalation policies to keep your team informed.
PRO Feature
Email alerts and webhook integrations require a PRO license. DEMO users can view vulnerability matches in the dashboard but do not receive automated notifications.
Email Alerts¶
SMTP Configuration¶
Configure SMTP via environment variables in your .env file:
SMTP_HOST=smtp.example.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your-app-password
SMTP_USE_TLS=true
[email protected]
SMTP_FROM_NAME=SentriKat
Restart after changes:
See Configuration for the full list of SMTP variables.
Testing Email¶
Verify your SMTP setup:
docker compose exec sentrikat flask smtp test --to [email protected]
Or from the interface: Settings > Alert Management > Send Test Email.
Alert Types¶
| Alert | Trigger | Default |
|---|---|---|
| New exploited match | A new exploited vulnerability matches one of your products | Enabled |
| Due Date Approaching | Remediation deadline within 7 days | Enabled |
| Due Date Overdue | Remediation deadline has passed | Enabled |
| Ransomware Association | exploited vulnerability flagged as ransomware-linked | Enabled |
| Vendor Advisory | New vendor advisory matched (PRO) | Disabled |
| Agent Offline | Agent has not checked in for more than 15 minutes | Enabled |
Where alerts are configured¶
Alerts are set per organization, under Alerts. There is no separate rules page.
Each organization has:
- the email addresses that receive its alerts
- an outbound webhook, if you want the alerts in Slack, Teams, Discord or your own endpoint
- which alerts are on
The alert for a vulnerability confirmed as exploited is always on and cannot be switched off.
See Alerts.
Webhooks¶
SentriKat can send real-time notifications to external services via webhooks.
Creating a Webhook¶
- Go to Settings > Alert Management
- Click Add Webhook
- Configure:
- Name: Descriptive label
- URL: Endpoint to receive events
- Events: Select which events trigger the webhook
- Secret: Optional HMAC signing key for payload verification
- Click Save
Platform-Specific Setup¶
- In Slack, go to Apps > Incoming Webhooks
- Create a new webhook and select a channel
- Copy the webhook URL
- In SentriKat, create a webhook with the Slack URL
- Set Format to Slack
Example payload SentriKat sends:
- In Teams, add an Incoming Webhook connector to your channel
- Copy the webhook URL
- In SentriKat, create a webhook with the Teams URL
- Set Format to Teams
SentriKat sends Adaptive Card payloads compatible with Teams.
- In Discord, go to Server Settings > Integrations > Webhooks
- Create a new webhook and copy the URL
- In SentriKat, create a webhook with the Discord URL
- Set Format to Discord
For custom integrations, use the generic JSON format:
Webhook Events¶
| Event | Description |
|---|---|
vulnerability.matched | New exploited vulnerability matches a product |
vulnerability.due_soon | Remediation deadline within 7 days |
vulnerability.overdue | Remediation deadline passed |
vulnerability.acknowledged | Vulnerability marked as resolved |
agent.offline | Agent missed check-in window |
sync.completed | exploited-vulnerability sync finished |
sync.failed | exploited-vulnerability sync encountered an error |
Webhook Security¶
When a secret is configured, SentriKat signs each payload with HMAC-SHA256:
Verify the signature on the receiving end:
import hmac, hashlib
def verify_signature(payload, signature, secret):
expected = "sha256=" + hmac.new(
secret.encode(), payload, hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature)
Escalation Policies¶
Define escalation chains for unacknowledged critical vulnerabilities:
- Go to Settings > Alert Management, where the escalation policies live on the same page
- Click Add Policy
- Define escalation tiers:
- Tier 1 (immediate): Notify assigned team via email + Slack
- Tier 2 (after 24h): Notify org admin
- Tier 3 (after 72h): Notify super admin + all configured webhooks
- Click Save
Warning
Escalation policies only trigger for vulnerabilities with priority Critical or High. Lower-priority items follow standard alert rules.
Troubleshooting¶
Emails Not Sending¶
# Check SMTP connectivity
docker compose exec sentrikat flask smtp test --to [email protected]
# View mail-related logs
docker compose logs sentrikat | grep -i smtp
Webhook Failures¶
- Go to Settings > Alert Management
- Click the webhook name
- Check the Delivery Log for status codes and error messages
- Use Redeliver to retry failed deliveries
Next Steps¶
- Configure organizations for per-org alert routing
- Set up LDAP/SSO so alert recipients match directory users
- API webhook configuration for programmatic management