Skip to main content
← TurnTwoMISSION CONTROL0.4812655050996505

Alerts & Budget Thresholds

Wire your Slack / Discord / email so you find out before the budget runs out, not after.

Updated 2026-05-19

What alerts actually do

Mission Control polls your forecasted spend every 15 minutes (cron job) and fires one alert per threshold per period. Default thresholds are 50%, 80%, and 100% of your tier's monthly budget. Once an alert fires it won't refire until the next billing period — no spam.

There's also a separate budget_exhausted alert that fires the moment the cumulative spend crosses 100%, distinct from the forecast-based 100% alert.

Channel rules by tier

Channel Operator Commander Fleet
Email
Slack webhook
Discord webhook

Operator gets email-only because email is what the budget actually pays for. Commander gets webhook-based channels because that's where engineering teams actually live.

Setting up an alert

  1. Settings → Alerts in the navbar.
  2. Add Alert — pick the channel (email / slack / discord), the threshold (50 / 80 / 100), and the destination (your email is pre-filled; webhooks need their URL).
  3. Test — fires one immediate dispatch with the current period's numbers. This is the only way to verify the webhook actually delivers before you wait for a real threshold breach.
  4. Save. The next cron tick honours the new alert.

What an alert looks like

The dispatcher renders three formats for the same payload:

  • Email: dark HTML matching the cockpit, with the headline number ("$32 of $40 monthly budget — 80%"), trend line, and a link back to the cockpit.
  • Slack: blocks API payload with a coloured side bar (amber for warning, red for exhausted), the BudgetRing as text, and one action button.
  • Discord: embeds API payload with the same shape and a colour-coded edge.

All three include a deep link to /mission-control so the recipient can jump straight in.

Forecast vs actual

The 50% / 80% / 100% thresholds compare your forecasted month-end spend (extrapolated from current burn rate) against your tier budget. This intentionally fires earlier than alerts based on actual spend so you have time to react. The budget_exhausted alert is based on actual spend and fires the instant you cross the line.

If your forecast goes up because of one expensive run (a big audit, a long Sonnet completion), the alert reflects that — even if you'd realistically slow down for the rest of the month.