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 admin panel: Admin > Settings > Notifications > Send Test Email.
Alert Types¶
| Alert | Trigger | Default |
|---|---|---|
| New KEV Match | A new KEV entry 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 | KEV entry flagged as ransomware-linked | Enabled |
| Vendor Advisory | New vendor advisory matched (PRO) | Disabled |
| Agent Offline | Agent has not checked in for 72+ hours | Disabled |
Alert Rules¶
Create custom alert rules in Admin > Notifications > Alert Rules:
- Click Add Rule
- Configure conditions:
- Priority: Critical, High, Medium, Low
- Organization: Specific org or all
- Product criticality: Minimum criticality level (1-5)
- Ransomware only: Only alert on ransomware-linked CVEs
- Set recipients:
- Specific email addresses
- All org admins
- All org members
- Click Save
Tip
Create a "Critical Only" rule that sends to your SOC team, and a broader "High+" rule for weekly digests to management.
Email Digest¶
Instead of individual emails per vulnerability, configure a daily or weekly digest:
- Go to Admin > Notifications > Digest Settings
- Choose frequency: Daily or Weekly
- Set delivery time (UTC)
- Select included organizations
- Click Save
Webhooks¶
SentriKat can send real-time notifications to external services via webhooks.
Creating a Webhook¶
- Go to Admin > Notifications > Webhooks
- 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 KEV entry 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 | KEV sync finished |
sync.failed | KEV 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 Admin > Notifications > Escalation Policies
- 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 Admin > Notifications > Webhooks
- 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