Skip to content

Configure alerts & email digests

Get notified when cost behaviour changes — either as real-time webhooks to a chat channel, or as a periodic email summary.

Both live on the Alerts hub (it’s the single Notifications home — Email Digests is a tab there).

Webhook alerts (Teams / Slack / generic JSON)

Section titled “Webhook alerts (Teams / Slack / generic JSON)”

Alerts → Channels → + Channel. Provide:

  • a name and the destination URL (any HTTPS webhook works),
  • a template: teams_adaptive_card, slack_block_kit, or generic_json,
  • an optional HMAC secret — when set, deliveries are signed with x-finops-signature: sha256=<hex> so the receiver can verify authenticity.

The form shows inline setup steps for the selected template — exactly how to obtain the webhook URL in the destination app:

  • Microsoft Teams (teams_adaptive_card): in Teams open the channel → ⋯ → Workflows → template “Post to a channel when a webhook request is received”Add workflow → copy the generated POST URL. (The classic Office 365 “Incoming Webhook” connector has been retired; Workflows replaces it.)
  • Slack (slack_block_kit): at api.slack.com/apps create/open an app → Incoming Webhooks → on → Add New Webhook to Workspace → copy the hooks.slack.com/services/… URL.
  • Generic JSON (generic_json): any HTTPS endpoint. For Discord, use a channel webhook (Channel → Edit → Integrations → Webhooks → New Webhook → Copy URL).

Hit Test to fire a synthetic event and confirm the endpoint returns 2xx.

Alerts → Rules → + Rule. Pick a metric and bind one or more channels:

MetricFires when…Status
Cost drift (daily_cost_drift)the mean of the last 3 days diverges from the prior 11-day baseline by ≥ driftPct and the absolute delta exceeds minDeltalive
Volatile spend (volatile_spend)spend volatility crosses a thresholdselectable; evaluator rolling out

Defaults for drift are 25% / 200. The UI writes a global scope (the domain layer also supports per-subscription scoping).

Separately, a spend-forecast alert runs automatically every week — no rule to configure. It flags a scope when the projected month-end spend creeps up week-over-week, or when the current week is burning faster than the same week last month. A scope already explained by an open anomaly is suppressed to keep the signal clean.

Alerts → Recent events lists fired events with the rendered payload and a delivery-status badge (delivered / failed / pending). Failed deliveries retry up to 3 times with linear backoff.

A unified savings digest delivers a weekly (or daily) summary with two sections: What you saved (realized measured savings + ROI) and New waste found (the top open findings from your Savings Register).

  1. Go to Alerts → Email Digests (or Settings → Email).
  2. Subscribe and choose your cadence. Subscriptions are user-owned.
  3. Preview renders the email against your data before you commit.

Unsubscribe is one click and works without an active session — the emails carry standard List-Unsubscribe headers, so Gmail/Outlook show their native unsubscribe button. Admins can force-send a digest for incident response.