Skip to content
Latchkey
Documentation menu

Notifications

Every notification Latchkey can send, the delivery channels, severity tiers, and how to tune them per event type.

The notification preferences matrix
Settings, Notifications: every alert type with per-channel toggles.

Latchkey notifies you when something needs attention: a pipeline breaking repeatedly, an AI scan waiting for your approval, your trial or free minutes running out, or new insights worth reviewing. Configure everything in Settings, Notifications.

Channels#

channelEmailPer event type; off by default except for "Trial ending soon" and "Trial expired".
channelSlackTo a channel you connect once with OAuth (setup guide).
channelBrowser pushAfter you grant permission on the Notifications settings tab.
channelWeekly digestInformational events use a Digest toggle instead of per-event email and roll up into one weekly email.

Everything also lands in the in-app notification bell in the dashboard header, regardless of channel settings. The panel opens under a "Notifications" header with your unread count, Mark all read clears the backlog in one click, and the footer keeps expectations straight: "Showing the last 7 days - Manage preferences in Settings".

Severity tiers and defaults#

Event types are grouped into three tiers: Critical, Important, and Informational. Every channel starts off by default, with two exceptions: email is on for "Trial ending soon" and "Trial expired", so an expiring trial never passes silently, and the informational-tier weekly digest is on, so you get a weekly summary without opting in. Master toggles per tier and per channel flip whole groups at once.

The noisier types also carry their own frequency caps: "Managed runner blocked" sends at most once per day, "Free tier running out" at most once per day per threshold, and "Pipeline is broken" fires at 7 consecutive failures and escalates once more at 20 rather than pinging on every red run. The first notification carries all the signal; repeats would only train you to ignore the channel.

What can notify you#

NotificationFires whenTier
Pipeline is broken7 or more consecutive workflow failures are detected; escalates once more at 20Critical
Scan failedThe AI scan did not complete; retry from the runners pageCritical
AI scan runner build didn't finishBuilding the AI scan runner image failed; tap to retryCritical
Managed runner blockedA managed runner could not start because of your subscription or usage limits; at most once per dayCritical
Trial expiredYour free trial has ended; add a plan to keep your runnersCritical
Scan ready for reviewYour AI repo scan finished and the runner config needs your approvalImportant
AI scan runner is readyYour AI-built runner image finished and is ready to useImportant
Free tier running outYou crossed 80%, then 100%, of included runner minutes; at most once per day per threshold, and only when no payment method is on fileImportant
Trial ending soon3 days or less remain on your trialImportant
New insights foundThe nightly scan found new savings or risks to reviewInformational
Insight appliedAn applied insight's pull request was mergedInformational

A suggested baseline#

Because nearly everything starts off, pick a posture deliberately rather than waiting for the alert you wish you had received. This one works for most teams:

TierSuggested routingReasoning
CriticalEmail, plus SlackAct-now events: a broken pipeline, a failed scan, a blocked runner launch, an expired trial. They belong where the team looks first.
ImportantEmail; add Slack for the free-tier and trial warningsDay-level urgency. The trial emails are already on by default; the budget warnings are worth putting in front of the whole team before a block happens, not after.
InformationalThe weekly Digest toggleNew and applied insights read better in one weekly batch than as a trickle of single emails.

Two notes on applying it. Slack routing is admin-only, while every member keeps their own email, push, and digest choices, so the baseline is really two separate decisions: the shared Slack channel and your personal channels. And browser push is best treated as personal: enable it for yourself if you are the person who acts on CI issues first, after granting permission on the Notifications settings tab.

How the weekly digest behaves#

The digest is the informational tier's home. Low-urgency events (new insights found by the nightly scan, an applied insight's pull request getting merged) roll up into one weekly email instead of arriving one at a time. That is also why informational types show a Digest toggle in the settings matrix instead of a per-event email toggle: the choice you are making is whether a type participates in the roll-up.

A suggested habit: treat the digest as a weekly review queue. Nothing in it needs same-day action, but unreviewed insights compound if nobody looks at them; a short weekly skim, with Optimization insights open in the next tab, is usually enough.

Tuning your preferences#

  • Each event type has per-channel toggles in the settings matrix; informational types expose a Digest toggle instead of per-event email.
  • Shortcuts cover the broad changes: master toggles flip a whole tier or a whole channel column at once, Mute all email silences email in one click, Critical only keeps just the page-worthy alerts, and Reset to defaults restores the standard setup.
  • Nothing applies until you click Save changes; the page confirms with "Preferences saved."
  • Slack settings are admin-only; members keep their personal email, push, and digest choices.
  • Every notification email also carries an unsubscribe link if you prefer to opt out from the inbox side.

References