Daily on-call handoff brief from Better Stack to Slack

By General Input

At every shift change, an agent turns overnight incidents, uptime numbers, and recent merges into one short brief for the incoming on-call engineer.

Integrations

  • Better Stack
  • GitHub
  • Slack Bot

Type

Agentic Task

Categories

  • Engineering
  • Operations

Every morning at 9am, right when my on-call rotation changes hands, build a handoff brief for whoever is picking up the pager and deliver it in Slack. Use a scheduled trigger rather than an incident webhook, because this is tied to the shift boundary and not to any one alert firing. Make the schedule easy to retime so it can match our actual rotation boundary, and run it all seven days since we have weekend rotations.

Start in Better Stack. Use List On-call Schedules to find our rotation, then Get On-call Schedule to work out who is on call right now and who just came off. Name both people in the brief, the outgoing engineer and the incoming one.

Then use List Incidents filtered to the last 24 hours. Separate the incidents that are still unresolved from the ones that were closed out. For anything that was acknowledged late or reopened, call List Incident Timeline so the brief can say what actually happened: when it fired, how long it sat unacknowledged, who it escalated to, and when it resolved.

For the monitors involved in those incidents, call Get Monitor Availability (SLA) so the brief carries real uptime numbers instead of vague statements like mostly stable. Use List Monitors if you need to resolve monitor names or ids first. Do not list every healthy monitor, only the ones that were part of the story.

Next pull change context from GitHub. Use List Pull Requests filtered to closed pull requests against the main branch and sorted by most recently updated, or Search Issues and Pull Requests with a merged qualifier for the relevant date, to gather everything merged into main since the previous shift began. Line those merges up against incident start times and flag likely culprits. When a merge landed shortly before an incident opened on a related service, name it with the pull request title, its author, and the merge time. Be honest about confidence and say when a correlation is a guess rather than a certainty.

Finally deliver it. Use Slack Bot Look Up User by Email to match the incoming on-call engineer's Better Stack email to their Slack account, then use Send a Message to DM them the brief. Post the same brief to our team reliability channel so the context is not trapped with one person.

Order the brief by what still needs attention: unresolved incidents first, then flapping or repeat-offender monitors that fired more than once in the window, then merged changes worth watching. Keep it short and skimmable, the kind of thing someone reads on a phone before their first coffee. If there is genuinely nothing to escalate, say plainly that it was a quiet shift with nothing outstanding rather than padding the brief to look thorough.

One operational note: Better Stack API tokens are scoped to a single team, so if we run several rotations, set up one run of this workflow per schedule, each pointing at its own channel.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them