# Weekly Better Stack monitor review and cleanup workbench

> See every uptime monitor in one table with its incident count, availability, and on call owner, then retune or retire it without leaving the page.

- Workflow type: app
- Services: Better Stack, Linear
- Categories: Engineering, Operations
- Published: 2026-08-14

## What it does

- Puts every uptime monitor in one sortable table with its 30 day incident count, availability, typical and worst response times, check frequency, group, and on call owner.
- Flags what is actually hurting you: noisy monitors that fire constantly and resolve in minutes, monitors nobody gets paged for, monitors left paused for weeks, and the worst availability.
- Lets you fix things straight from the row: change how often a check runs, unpause it, move it into a group, or delete a dead monitor behind a confirmation.
- Files a reliability ticket in Linear prefilled with that monitor's stats, and remembers your review notes and review dates so the next cleanup starts where you left off.

## What you'll need

- A Better Stack account with an uptime API token, and permission to edit monitors
- A set of monitors already running in Better Stack
- A Linear account if you want to file reliability tickets from a row

## Prompt

Build me a monitor review workbench for Better Stack that my team works out of during our weekly reliability cleanup. Better Stack shows monitors one at a time, and we currently audit them in a spreadsheet that is stale the moment we paste it in. I want one screen that lists every monitor with the numbers that say whether it is earning its keep, plus the controls to fix it on the spot.

The main view is a single dense table with one row per monitor. Load the monitors with List Monitors and page through all of them. Each row shows the monitor name and the URL or host it checks, its current up, down, or paused state and its check frequency from the monitor record, the monitor group it belongs to from List Monitor Groups, its incident count and median incident duration over the last 30 days computed from List Incidents filtered to that monitor, its availability percentage from Get Monitor Availability (SLA), typical and worst response times from Get Monitor Response Times, and which escalation policy covers it from List Escalation Policies. Clicking a row opens a detail panel that pulls the full record with Get Monitor and lists that monitor's recent incidents underneath.

Flag every row so we can sort by what is actually hurting us. Flapping means 5 or more incidents in the last 30 days with a median duration under 5 minutes, which is the signature of a monitor that is too twitchy rather than a service that is truly broken. Unowned means no escalation policy is attached, so nobody gets paged when it fires. Asleep means the monitor has been paused for more than 30 days. Worst SLA highlights the monitors with the lowest availability over the window. Show the flags as compact chips in the row, keep every threshold adjustable in a settings popover rather than hard coded, and let me filter the table to a single flag or sort by incident count, availability, or worst response time.

Persist a review note and a reviewed on date per monitor inside the app, keyed by the monitor id. Notes are shared across the team rather than private to one person, and each note records who wrote it and when. When I mark a monitor reviewed, also snapshot its check frequency, paused state, group, escalation policy, and availability at that moment. The next session uses that snapshot to show what changed since the last pass, and a filter surfaces the monitors nobody has looked at in months. Default the table to sorting by longest time since review so the neglected ones float to the top.

Every fix happens from the row without opening Better Stack. Let me change the check frequency or unpause a monitor with Update Monitor. Let me move a monitor into a different group with Update Monitor, and create a new group inline with Create Monitor Group when the right one does not exist yet. Let me delete a dead monitor with Delete Monitor, always behind a confirm dialog that names the monitor and says the deletion cannot be undone. And let me file a reliability ticket in Linear with Create Issue, prefilled with that monitor's name, URL, incident count, median duration, availability, response times, and the flags it tripped, so the ticket carries the evidence. Let me pick the Linear team and edit the title and description before it is created, then show the created issue on the row so we do not file it twice.

Availability and response times are per monitor calls, so fetch them with bounded concurrency after the monitor list renders, fill those cells in as they arrive instead of blocking the whole table, and cache them for the session behind a manual refresh button. Fetch incidents once for the whole 30 day window and group them by monitor in the handler rather than making one request per row. A team with two hundred monitors should still get a usable table quickly.

## How to customize

- Adjust the thresholds behind each flag: how many incidents count as noisy, how short a resolution has to be, and how long paused counts as abandoned
- Change the default sort, so the table opens on worst availability or most incidents instead of longest time since review
- Point reliability tickets at a specific Linear team, and edit the prefilled title and description before they are created

## FAQ

### What counts as a noisy monitor?

By default, one that fired five or more times in the last thirty days and resolved in under five minutes each time. That pattern usually means the check is too sensitive rather than the service being genuinely broken. Both numbers are settings you can change.

### Does it change anything in Better Stack on its own?

No. Nothing happens until you click. Edits you make from a row are written straight back to Better Stack, and deleting a monitor always asks you to confirm first.

### Can I use it without Linear?

Yes. Filing a reliability ticket is the only part that needs Linear. Everything else, including the flags, the edits, and the review history, works with Better Stack alone.

### Where do the review notes live?

Inside the app, next to the date you reviewed each monitor, and shared with your team. Better Stack has no field for them, which is why most teams end up keeping them in a spreadsheet that goes stale.

### Will it work with the monitor groups we already have?

Yes. It reads your existing groups and shows which one each monitor belongs to. You can move a monitor into a different group from its row, or create a new group without leaving the table.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-better-stack-monitor-review-and-cleanup-workbench