The alert feed
One list, updating while you watch it. Ack and resolve by swiping. Everything an alert carries is one tap away.
The list
The feed is a single live pull over the tenant’s alert cursor, so it updates in place without a refresh. Unresolved alerts sort before resolved ones, and within that the most recently seen first.
Filter by state with the segmented control: Open is everything not resolved, then Firing, Acked, Resolved. Filter by project from the projects already in the list. Pull down to restart the poll if the connection dropped.
Acting on an alert
- Swipe from the leading edge on a firing alert to ack it. Paging stops for everyone.
- Swipe from the trailing edge on anything not resolved to resolve it.
- Tap for the detail: level, count, escalation rung, first and last seen, the last message, and the identifiers if the rule splits by key.
The log tail
If the source keeps logs, the detail screen shows the retained lines behind the alert, filtered to its template, so you read the actual failures rather than a summary. A rule with investigate on leads with it.
Everything else
The app opens on Logs, the first tab: the retained lines of every project in the tenant, followed live and merged newest first. Filter it to some projects, a minimum level, or, with exactly one project in scope, a single source. If the connection drops the header reads “Reconnecting…” and the tail picks up from where it stopped rather than losing lines. Tapping a notification still opens the alert, not the logs.
After Logs and Alerts come Projects, where checks, sources, rules, integrations, actions, maintenance windows and reports are edited per project, and Account. Account opens the team-wide screens — incidents, who is on call now, every source and integration across projects, secret findings, status pages, and uptime and SLA reports — and then tenants, members, invites, API keys, plan and usage, the audit log, and deleting your account. Each screen is the same API the docs describe; there is nothing the app can do that a script cannot. Where the API needs a permission a member lacks, such as project_admin:write to delete or rotate a source, the app offers the action only to roles that hold it.