An OOO handoff is the document an engineer writes before they go offline for more than one work day. It is the difference between a vacation where someone Slacks you about a deploy and a vacation where they don't. The reason most OOO handoffs fail is not that engineers forget — it is that they are written from memory five minutes before they leave, and the things they forget are the things their team will pay for.
This checklist is structured as a working memory aid. You walk through it in order, you do not skip sections that feel obvious, and you publish the result somewhere your team will actually find it. The version below has been refined over many real handoffs; the items that remain are the ones that, when missed, have actually caused interruptions.
When to use it
- Any planned time off longer than one work day.
- Conference or off-site attendance where you will not be on Slack.
- Sabbatical, parental leave, or any extended absence.
- Any time you are on-call and going to lose connectivity for more than a few hours.
The template structure
This is the structure of the template. Copy it into a Notion page, a Linear doc, or a markdown file in your repo — it works in any of them.
OOO HANDOFF — [name]
Out: [date] – [date] ([N] business days)
Coverage: [name] Backup: [name]
[ ] On-call shifts during my absence — covered by:
[name] from [date] to [date]
[name] from [date] to [date]
Confirmed in: [PagerDuty / Opsgenie link]
[ ] Services I own — coverage owner:
[service] → [name]
[service] → [name]
Runbook locations confirmed up to date: [yes/no]
[ ] Open PRs awaiting my review:
— link → reassigned to [name]
— link → reassigned to [name]
[ ] My open PRs:
— link → status: [merge before leaving / safe to sit / hand off to name]
[ ] Pending decisions blocked on me:
— [decision] → delegated to [name] / will wait until I return
— [decision] → delegated to [name] / will wait until I return
[ ] Recurring meetings during my absence:
— meeting → declined / coverage: [name]
— meeting → declined / coverage: [name]
[ ] Customer escalations or commitments in flight:
— [customer] → [name] briefed, has the context doc
[ ] Slack & email:
[ ] Auto-responder set with return date + coverage contact
[ ] Status set to "Out of office" with return date
[ ] Calendar blocked for full OOO window
[ ] If something truly cannot wait, contact:
Operational: [name]
People issues: [name]
EMERGENCY CONTACT
Should you actually reach me? [Yes / No / Only if X]
How: [phone / email / not at all]
Governance, not a status channel
StandIn is async governance infrastructure. Engineers declare working state before they go offline. Representatives answer from the record, cite the source, and refuse when the answer is not there.
Request access →How to use it well
- Write it two days before you leave, not the morning of. Two days gives you time to discover the items you forgot — open PRs that need to be merged before they go stale, a pending decision that needs to be made before you go, a recurring meeting you forgot to decline.
- Confirm the coverage owner has the context, do not assume. The cheapest 15-minute meeting on a team's calendar is the one where the OOO engineer walks the coverage owner through the open items the day before they leave.
- Put the "should you reach me" line in writing. Teams over-index on either always interrupting or never interrupting; an explicit answer in the document is much better than either default.
- Pin the handoff in the team channel. Email auto-responders are for outside contacts. Internal teammates need it where they already look.
- Reassign your open PRs before you go, not when someone notices they are blocking deploys. GitHub and GitLab both support this in one click.
What to skip
Skip the urge to write a full transition document for a one-week absence. The full transition document is for sabbaticals and parental leave. For a normal vacation, this checklist plus a pin in the team channel is enough, and trying to write more usually fails because the writer runs out of patience before leaving.
Skip the practice of designating a "single point of contact" without telling that person. Coverage owners only work if they have explicitly agreed to be one. The list above forces a conversation, not just an assignment.
Frequently asked questions
Is this template free?
Yes. The checklist above is the whole thing. Drop it into your team Notion, a personal repo, or the description of a calendar event for your OOO.
Can I edit it?
Yes. Teams that work in regulated industries usually add a compliance line. Teams without on-call drop that whole section. The structure is meant to be edited down, not up.
Do I need to give my email?
Not to use this. The downloadable Notion file is gated only for our newsletter list; the checklist above is the same content, formatted.
Get async handoff insights in your inbox
One email per week. No spam. Unsubscribe anytime.
Ready to eliminate your daily standup?
Distributed teams use StandIn to start every shift with full context — no standup required. Engineers post a 60-second wrap. The next shift wakes up knowing exactly what to work on.