Skip to content
Integrations

Alerting channels

Permafrost surfaces a new finding wherever your team already works — email, Slack, Microsoft Teams, a generic webhook, PagerDuty, Opsgenie, or an ITSM ticket in ServiceNow or Jira. Every channel is opt-in and off by default, so a destination only fires once you turn it on.

The channels

A finding is the unit Permafrost alerts on: a permission risk detected across all of this customer’s connected Azure tenants. When a new finding lands, the channels you have turned on deliver it. Chatops messages and the generic webhook carry a deep link back into the dashboard; the ITSM path opens a ticket an analyst can track to closure.

ChannelWhat triggers itWhere to configure
EmailNew critical findings and sync-failure alerts, one message per opted-in recipient.Settings → Notifications (master switch) and Settings → Team (per-user).
SlackNew findings at the severities the webhook subscribes to, as a Block Kit message with a deep link.Settings → Webhooks (type: Slack).
Microsoft TeamsNew findings at the subscribed severities, as an Adaptive Card with a deep link.Settings → Webhooks (type: Teams).
Generic webhookNew findings at the subscribed severities, as a signed JSON POST any receiver can consume.Settings → Webhooks (type: Generic).
PagerDutyNew findings raised as Events API v2 incidents on the routing key you provide.Settings → Webhooks (type: PagerDuty).
OpsgenieNew findings raised as Opsgenie alerts on the API key you provide.Settings → Webhooks (type: Opsgenie).
ITSM ticketA finding an analyst chooses to escalate becomes a ServiceNow or Jira ticket.Settings → ITSM integrations.

Off by default, opt-in only

No channel sends until you turn it on. Email delivery is gated on a master switch under Settings → Notifications and a per-recipient opt-in under Settings → Team; a recipient who has not opted in receives nothing. Webhooks, chatops, and on-call channels stay silent until you add a destination and subscribe it to the severities you care about, and they inherit the same master opt-in — a destination you have not opted into stays off.

The default-off posture is deliberate. Permafrost adds notification surfaces conservatively: a new channel never starts paging your team the moment it ships.

Lifecycle-aware suppression

When an account is winding down — scheduled for deletion within the grace window, suspended, or already purged — Permafrost stops paging on findings across every channel, not just email. Existing open findings linger in the data after a tenant is deprovisioned, and without this gate the alert paths would keep re-firing on them. Lifecycle and account-process messages (deletion warnings, the offboarding runbook) are unaffected and still reach you.

Delivery integrity

Webhook destinations are validated against the server-side request guard at both configuration time and send time, so a destination cannot be pointed at an internal or metadata address. Generic, Slack, and Teams payloads carry an HMAC-SHA-256 signature header so a receiver can verify origin and integrity. Each webhook row stamps its last delivery time and last error; the Webhooks settings page shows a per-row health badge and a one-click test send so a misconfigured destination surfaces before a real finding is missed.

SIEM export

For long-term retention or correlation, the alert timeline also exports on demand as NDJSON for Microsoft Sentinel ingestion or CEF for any CIM-compatible SIEM. This is a pull/export path rather than a push notification — see the SIEM integration page for field mappings and ingestion notes.