Documentation

Learn how to integrate and use DDMARC.

6 minutes

Alerts & Notifications

DDMARC raises an alert when your authentication posture changes — failures spike, a new sender appears, a DNS record disappears, or a rollout stalls. This page covers what can fire, where it lands, and how to keep the noise down.

The Notifications centre

Alerts live at Dashboard → Notifications, which has three tabs:

Alerts

Every alert raised for your organization, newest first and grouped by day. Filter by severity (Critical / Warning / Info) and by read or unread, search the text, or hit Mark all read.

Digests

Your daily or weekly summary email — preview it, send yourself a test, and choose which sections it contains.

Settings

Which alert types you receive, your thresholds, and every delivery channel.

The DDMARC Notifications centre showing the Alerts tab with severity and read-status filter pills and alerts grouped by day.
Notifications → Alerts: severity and read filters, with alerts grouped by day.

What can raise an alert

Authentication failures

  • DMARC failure
  • SPF failure
  • DKIM failure
  • High failure rate (default: above 20% of mail)

Sending sources

  • New sender detected
  • Forensic report spike (default: 5 reports in 24 hours)
  • Lookalike / typosquat domain found

DNS

  • DNS record changed
  • DNS record regressed (was valid, now is not)
  • DNS record recovered
  • General DNS issue

Policy and rollouts

  • DMARC policy published to DNS
  • Rollout started
  • Rollout stage advanced
  • Rollout blocked
  • Rollout completed

Managed hosting health

  • Hosted SPF refresh failed or delegation lost
  • Hosted DKIM CNAME lost, or signing key ageing
  • Managed MTA-STS delegation lost or serving broken
  • Managed BIMI delegation lost

Reports and custom rules

  • New report received (off by default — high volume)
  • Custom alert rule triggered

Managed-hosting alerts only fire for services you have actually enabled on a domain. Everything except "new report received" is on by default; you can turn individual types off in Notifications → Settings.

Severity

Every alert carries one of three severities. Severity drives the filters in the Notifications centre, the colour and emoji used in Teams and Telegram messages, the Jira priority when you create a ticket, and the per-domain minimum-severity threshold.

Critical

Something is actively broken or being abused — act now.

Warning

A degradation worth investigating before it becomes an outage.

Info

Something changed and you should know about it. No action implied.

Delivery channels

Configure these in Notifications → Settings. Each channel has a Send test button so you can confirm delivery before an incident depends on it.

All plans

Email

Delivered to your account address. On by default for every user.

Notifications → Settings

Protect and above

Webhook

POSTs the alert to any HTTPS endpoint. Paste a Slack or Discord incoming-webhook URL and DDMARC formats the message for that platform automatically.

Notifications → Settings → Webhook URL

Growth and above

Microsoft Teams

Posts an adaptive card to a Teams channel via an incoming webhook.

Notifications → Settings → Teams webhook URL

Growth and above

Telegram

Sends a message through your own bot. Needs a bot token and chat ID.

Notifications → Settings → Telegram

Manual, per alert

Jira

Creates a ticket from a specific alert on demand — it is not an automatic delivery channel. Severity maps to issue priority.

Notifications → Settings → Jira, then use Create ticket on an alert

Slack and Discord are not separate channels. Paste an incoming-webhook URL from either platform into the single Webhook field — DDMARC recognises the URL and formats the payload for that platform. Any other URL receives a plain JSON POST. Webhook requests are sent with SSRF protection and do not follow redirects, so the destination must be a public HTTPS endpoint.

Configuring your alerts

1

Open the Settings tab

Alert preferences are not in account Settings — they live inside the Notifications page.

Dashboard → Notifications → Settings
2

Toggle alert types and set thresholds

Two alert types have numeric thresholds you control:

AlertThresholdDefault
High failure ratePercentage of mail failing DMARC20%
Forensic spikeNumber of forensic reports within a rolling window5 reports / 24 hours

For anything else — pass rate, SPF or DKIM failure rate, volume change, new senders, DNS changes — create a custom alert rule with your own metric, operator and threshold.

3

Choose immediate or digest delivery

Email delivery runs in one of three modes:

Immediate

Each alert is emailed as it fires.

Daily digest

One summary per day at an hour you pick (UTC).

Weekly digest

One summary per week at the same chosen hour.

Digests are configurable: include or exclude the stats, protocol, domain, sender, failure and alert sections, and restrict them to specific domains. Preview or send yourself a test from the Digests tab.

4

Tune individual domains

Each domain has its own Notifications tab with three controls: email notifications on or off, weekly digest on or off, and a minimum severity threshold. Set a noisy staging domain to Critical only and it stops filling your inbox without disabling anything organization-wide.

Working through alerts

Read / unread

Alerts arrive unread. Mark one read, or clear the whole list with Mark all read.

Snooze

Silence an alert until a chosen time — useful during a planned DNS migration. Snooze many at once with bulk snooze.

Create a Jira ticket

Push a single alert into your Jira project with the severity mapped to a priority.

Alerts API

EndpointPurpose
GET /api/v1/alertsList alerts for your organization
POST /api/v1/alerts/{alert_id}/readMark one alert read
POST /api/v1/alerts/read-allMark every alert read
PATCH /api/v1/alerts/{alert_id}/snoozeSnooze one alert until a timestamp
POST /api/v1/alerts/bulk-snoozeSnooze several alerts at once
GET|PATCH /api/v1/alerts/preferencesRead or update alert preferences
GET|POST /api/v1/alerts/rulesList or create custom alert rules
POST /api/v1/alerts/webhook/testSend a test alert to your webhook
POST /api/v1/alerts/teams/testSend a test alert to Microsoft Teams
POST /api/v1/alerts/telegram/testSend a test alert to Telegram
POST /api/v1/alerts/email/testSend yourself a test alert email
POST /api/v1/alerts/jira/testVerify your Jira credentials

Not available yet

Not available yet — Quiet hours

There is no schedule that suppresses alerts outside working hours. To reduce out-of-hours noise, switch email delivery to a daily digest at an hour that suits you, raise the per-domain severity threshold, or lengthen the cooldown on your custom rules.

Not available yet — Hourly digests and push notifications

Digests are daily or weekly only — there is no hourly option — and DDMARC does not send mobile push notifications. Use a webhook, Slack, Teams, Discord or Telegram if you need something faster than a daily email.

Best practices

  • Send a test message on every channel the day you configure it, not the day you need it.
  • Start with the default thresholds for a couple of weeks, then tighten them once you know your normal failure rate.
  • Route critical alerts to a shared channel the team watches and leave informational ones to the daily digest.
  • Snooze rather than disable during planned DNS work, so the alert comes back automatically afterwards.

Avoiding alert fatigue

Too many alerts and the important one gets ignored. The levers that actually exist:

  • • Raise the cooldown on custom rules so a persistent condition alerts once, not every evaluation.
  • • Raise the per-domain minimum severity on low-stakes domains.
  • • Move informational types to the daily or weekly digest.
  • • Leave "new report received" off — it fires on every inbound report.
  • • Turn off alert types you have never once acted on.

Next Steps