← Workflows

阅读中文版本

Run an On-Call Handoff

Transfer on-call responsibility with current incidents, risky changes, capacity notes, alert noise, and explicit ownership so nothing depends on memory.

beginner~20 minoperationson-callreliability

Objective

Give the incoming on-call engineer the context needed to detect, diagnose, and escalate incidents without repeating the outgoing engineer's investigation.

Environment

  • A shared incident tracker and alert dashboard
  • A handoff document or channel with a stable template
  • Access to deploy history and planned changes

Steps

1. Summarize active and recent incidents

List open incidents, their current state, the next expected action, and who owns each. Include recently resolved incidents that may recur.

Expected state: The incoming engineer knows what is still broken and what to watch.

2. Review changes in the handoff window

List deploys, feature flags, migrations, certificate expirations, and planned maintenance during the next shift.

Expected state: Every risky change has an owner, a rollback path, and a time window.

3. Transfer alert context

Call out noisy alerts, known false positives, silenced alerts, and dashboards that are currently misleading.

Expected state: The incoming engineer does not re-investigate a known false alarm or miss a silenced real one.

4. Confirm access and escalation

Verify the incoming engineer can access dashboards, logs, deploy tools, and the escalation roster, and knows who to call for each dependency.

Expected state: A page can be investigated and escalated without waiting for the outgoing engineer.

5. Record the handoff

Post the handoff in the shared channel, tag the incoming owner, and note the next handoff time.

Expected state: Ownership is explicit and time-bounded.

Decision points

Should an ongoing incident block the handoff?

  • Hand off with a joint call and explicit transfer
  • Delay the handoff until the incident is resolved

Hand off during a stable phase with a joint call; delay only when the incident is actively changing and the outgoing engineer has unique context.

How much detail should the handoff include?

  • Only open incidents and alerts
  • Incidents, risky changes, capacity, access, and known noise

Include all five; most surprises come from changes and noise, not from the incident already being worked.

Expected outcome

The incoming engineer starts the shift with an accurate incident picture, change awareness, working access, and a named escalation path.

Verification

Ask the incoming engineer to restate the top three risks and the first action for each; confirm they can open the dashboards and run the rollback command from the runbook.

Cleanup

Close stale handoff items, update the runbook with new alerts or failure modes, and archive the handoff note.

Handoff is a risk transfer

The outgoing engineer carries context that is not in any dashboard: a deploy that looked fine but is still being watched, an alert that fires on a known false positive, a dependency contact who is on vacation. The handoff makes that context explicit. Without it, the next engineer starts from zero during an incident.

Handoff 2026-10-20 09:00 UTC
Open: INC-142 checkout latency, mitigated, watching error rate
Changes: orders-api deploy 1.8.3 at 08:10, rollback flag orders_v2
Risks: certificate for webhooks expires 10-22, renewal ticket OPS-88
Noise: DiskSpaceWarning on node-7 is a known cron artifact
Escalation: DB -> @dba-oncall, payments -> #payments-eng

Do not rely on memory

A handoff that is only a verbal conversation is lost when the shift ends. Post it in a stable channel, tag the incoming owner, and link the dashboards and tickets. The template should be short enough to complete and specific enough to act on. Avoid dumping raw alert history; summarize what matters.

Verify, do not assume

Access is a common handoff failure. The incoming engineer may have the role but not the deploy permission, or the runbook may reference a tool that moved. Ask them to open one dashboard and run a read-only command from the runbook. This takes a minute and catches missing access before an incident.

Feed the runbook

Every handoff that reveals a new failure mode, noisy alert, or missing access should update the runbook. The handoff is not only a transfer; it is a lightweight review of operational readiness. Over time, the runbook becomes the durable memory of the rotation.