Skip to main content
A check runs on its interval. Its active schedule says when it’s expected to be running — outside that, the check is skipped (not run), so it won’t alert and won’t record a result during expected-quiet periods. Two independent controls, and they compose:
  • a calendar — which whole days are closed (weekends + a holiday set), and
  • a custom schedule — the hours/days the check is active.
Plus two ways to silence a check directly: snooze (a one-off, auto-expiring override that skips runs) and mute (keep running, but send no alerts). You can set the calendar and active hours right in the check form (when you create or edit a check, on the Schedule step), and edit them later from the check’s detail view (the Active schedule section); snooze and mute are also on each check’s ⋮ menu. All of it works over the CLI / MCP too.
For market hours, reach for a calendar + active hours rather than a custom UTC cron. Active hours are evaluated in a named timezone, so they don’t drift the hour each daylight-saving change the way a fixed UTC cron does — and the calendar gives you holidays (e.g. Juneteenth) for free.

Calendar

Point a check at a calendar and it’s quiet on that calendar’s closed days — weekends and its holidays. It’s day-level only: it does not touch time-of-day (that’s the custom schedule below). Holidays are computed from each calendar’s rules, so there’s no list to maintain.
Supported: NYSE (US market holidays), UK (UK bank holidays), LSE, TSX, XETRA, EURONEXT. Want it quiet outside trading hours too? Add a custom schedule — the calendar handles the closed days, the schedule handles the hours.

Custom schedule

To control the active hours (e.g. only during a trading session, or business hours), define them yourself — on its own, or alongside a calendar:

Suggest from history

Don’t want to work out the hours yourself? Alertee can infer them from the check’s own run history — it looks at when the check normally has data and proposes an active schedule. It’s a suggestion; nothing changes until you apply it.
Also available over MCP (suggest_check_schedule). Under-observed hours are left out — Alertee won’t propose silencing a time it hasn’t seen enough of. Alertee also does this proactively: when a check is consistently noisy at the same times, it raises a “Set a schedule” suggestion in the inbox with the inferred schedule. Nothing changes until you apply it.

Snooze

Temporarily silence a check — during a known incident, a migration, or a deploy.
  • Defaults to the rest of the local day and auto-expires.
  • Pass --until for a fixed end time.
  • End it early with checks unsnooze (or the unsnooze_check MCP tool).
Outside its active schedule (or while snoozed) a check is skipped — it isn’t run, so there’s no result for that tick and no alert. This keeps history clean of expected-quiet gaps rather than filling it with suppressed failures.

Mute

Mute silences a check’s notifications without stopping it. The check keeps running on its interval and its status keeps updating on the dashboard — it just won’t send alerts. It stays muted until you unmute it. This is the right tool for a new, not-yet-tuned check: watch it go red/green while you dial in the query and threshold, without getting paged for every false alarm.
In the app, open a check’s ⋮ menu → Notifications → Mute alerts. A muted check shows a Muted badge in the list. Also available over MCP (update_check with alerts_enabled).
Mute vs. snooze vs. pause. Mute keeps the check running but silent, indefinitely (good for tuning). Snooze skips runs for a short, auto-expiring window (good for a deploy or known incident). Pause stops the check running entirely.