What is an incident report template, and when should you open one?
An incident report template is a structured record of a service disruption: what happened, when, who was affected, how it was detected, how it was fixed, and what changes as a result. It is written during and immediately after the event, then revised once the facts are verified.
Open one when a customer-visible service is degraded beyond an agreed threshold, when data integrity is in question, or when a security boundary may have been crossed. Do not open one for every alert: a report template that gets used three times a day becomes a form-filling ritual, and people start writing reports instead of fixing systems.
The threshold should be written down before the incident. “Error rate above 5% for five minutes on a revenue path” is a rule. “Something that feels serious” is a mood.
What should an incident report include?
Twelve fields carry the weight. Everything else is optional, and padding the form is the fastest way to get it filled in badly.
| Section | Field | Why it matters | Example entry |
|---|---|---|---|
| Identification | Incident ID and title | Searchable reference for follow-ups and trends | INC-2418, checkout error spike after pricing deploy |
| Identification | Severity | Drives paging, communication cadence, and who joins | SEV2 |
| Identification | Detected at, in UTC | The anchor for every other timestamp | 2026-11-12 14:09 |
| Identification | Reported by | Alerting or human; both need to be tracked | Automated alert, checkout-error-rate |
| Impact | Affected systems | Scopes the blast radius honestly | Pricing service, checkout API |
| Impact | Customer impact | Numbers, not adjectives | 390 failed checkouts, 270 not recovered |
| Impact | Start and end of impact | The window that finance and support will ask about | 14:02 to 14:49 UTC |
| Response | Timeline | Timestamped events with a source for each | See timeline below |
| Response | Detection gap | Why the alert fired when it did, or did not | Alert threshold was 5%; error rate peaked at 9% |
| Cause | Root cause | The specific defect or condition, not the category | Schema change made `discount_code` nullable, breaking the parser |
| Cause | Contributing factors | What made it worse or slower to find | No canary stage for pricing service |
| Follow-up | Action items | Owner, date, and ticket link for each | 5 items, 4 closed in 10 days |
| Follow-up | Communication log | Who was told what, and when | Status page 14:18, support macro 14:25 |
Two fields are consistently undervalued: the detection gap and the communication log. The first explains why the incident lasted as long as it did. The second is what customers and regulators actually judge you on.
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.
How do you build a timeline that survives review?
A timeline is not a story. It is a list of timestamped facts with a source attached, and it should read the same way a year later.
Use UTC everywhere. Local time in a distributed team produces arguments about ordering that consume more meeting time than the incident did. Convert once, at the top of the document, and note the conversion rule.
Attach a source to each line. Slack message, alert payload, deploy log, database metric, support ticket. When two sources disagree, keep both and say so; disagreement is information about the monitoring, not a political problem.
Include what did not happen. “No one checked the error budget” is a legitimate timeline entry and often the most useful one. So is “the alert went to a channel with notifications muted.”
Record the wrong hypotheses. The eleven minutes spent investigating the CDN were not wasted; they explain the MTTR. A timeline with no dead ends is a timeline someone edited to look competent.
Stop the timeline at resolution, not at the end of the meeting. Everything after resolution belongs in the action items.
A good test: hand the timeline to an engineer who was not involved and ask them to state the detection gap, the mitigation path, and the one change that would have shortened the incident. If they can answer in two minutes, the timeline works.
Worked example: a 47-minute checkout outage
A pricing service deploy at 14:02 UTC changed a schema. The checkout parser rejected the new nullable field, and roughly one in three checkout attempts failed.
Detection: the error-rate alert fired at 14:09, seven minutes after the deploy, because the threshold required five minutes above 5%. The on-call engineer acknowledged at 14:15, six minutes after the page, which is inside the team’s ten-minute target. Root cause was identified at 14:26, after two engineers ruled out the payment provider and the CDN. Rollback began at 14:35 and completed at 14:41, when the error rate returned to baseline. Monitoring cleared at 14:49.
The derived numbers: MTTD 7 minutes, MTTA 6 minutes from page to acknowledgement, MTTR 39 minutes from impact start to mitigation, and total incident duration 47 minutes. The gap between mitigation at 14:41 and all-clear at 14:49 is monitoring lag, and it is worth naming separately because it is often mistaken for recovery time.
The report’s most valuable line is not the root cause. It is the detection gap: a canary stage on the pricing service would have caught the schema change before 2% of traffic saw it, and the team already had a canary for two other services. That single sentence produced the action item that mattered.
| Timestamp (UTC) | Event | Source |
|---|---|---|
| 14:02 | Deploy of pricing-service v2.14 completed | Deploy log |
| 14:09 | Error-rate alert fired at 9% | Alert payload |
| 14:15 | On-call acknowledged | Pager log |
| 14:26 | Schema change identified as cause | Incident channel |
| 14:35 | Rollback started | Deploy log |
| 14:41 | Error rate back to baseline | Metrics dashboard |
| 14:49 | Monitoring cleared, incident resolved | Pager log |
| 15:20 | Status page updated to resolved | Status page history |
How do you set severity levels people actually follow?
Severity is a paging decision, not a feelings decision. Define each level by observable impact, then attach the response it triggers.
| Level | Definition | Response | Comms cadence | Report required |
|---|---|---|---|---|
| SEV1 | Revenue path down, data loss, or security exposure for most customers | Page immediately, incident commander assigned, all hands available | Every 30 minutes | Full report within 48 hours |
| SEV2 | Major feature degraded for a large segment, or a workaround exists but is costly | Page on-call, one secondary engineer | Every 60 minutes | Full report within 5 days |
| SEV3 | Limited impact, single customer or narrow segment, workaround available | Ticket during business hours | Daily | Short report, optional review |
| SEV4 | Cosmetic or internal-only issue | Backlog item | None | Log entry only |
Two rules keep the table honest. Severity can be raised by a human at any time, and it is lowered only by the incident commander. And the definition references numbers, such as a percentage of traffic or a count of affected accounts, so the argument about level happens once, in a calm week, rather than repeatedly at 2 a.m.
Worked example: what the incident actually cost
Cost makes incidents comparable, which is what turns a report into a budget argument.
Direct revenue: 390 failed checkouts, of which 120 customers retried successfully within the hour. That leaves 270 lost orders. At an average order value of $78, lost revenue is 270 × $78 = $21,060.
Support cost: six agents handled the queue for about 1.4 hours each at a $42 loaded rate, which is $352.80. Engineering response: nine people-hours across the on-call, two engineers, and the incident commander, at $85 an hour, which is $765.
Customer credits and goodwill: $1,200 issued to the accounts that complained.
Total direct cost: $21,060 + $352.80 + $765 + $1,200 = $23,377.80. Round it to $23,400 for the quarterly roll-up.
Now the comparison that changes behaviour: a canary stage costs roughly 20 engineer hours to build, at $85 an hour, or $1,700, plus about $300 a month in duplicate staging capacity. If the same class of defect causes one incident like this a quarter, the canary pays for itself in the first incident and every one after that is pure return. That arithmetic, written into the report, is why the action item got funded instead of deferred.
Worked example: turning recurring incidents into one fix
Fourteen incidents in a quarter is a symptom, not fourteen separate stories. Sort them by cause before you write fourteen action lists.
Of the fourteen, six traced to configuration drift between environments. That is 43% of the quarter’s incidents from one mechanism. Direct costs averaged $2,900 each, including revenue, support, and engineering time, for a total of about $17,400. Add the opportunity cost of 282 minutes of degraded service, and the pattern is the largest single line in the reliability budget.
The proposed control: an automated configuration diff that runs on every deploy and blocks the promotion when production and staging diverge on a named set of keys. Eighteen engineer hours to build, at $85, which is $1,530, plus $400 for tooling in year one. Total $1,930.
Payback: $1,930 divided by $17,400 per quarter is 0.11 of a quarter, or roughly ten days of avoided incident cost. Even if the control prevents only half the drift incidents, payback lands inside six weeks.
This is the argument a report should make. Not “we should be more careful with configuration,” but “one control removes 43% of our incidents for $1,930 and pays back in ten days.” The second sentence gets scheduled.
What is the difference between an incident report, a postmortem, and an RCA?
They answer different questions and are often merged because one meeting can produce all three.
An incident report is the operational record: what happened, how it was handled, who was affected. It is written quickly, sometimes during the incident, and it exists so that support, finance, and leadership can act without interrupting the responders.
A postmortem is the reflection: why the system allowed this, what the response revealed about tooling and process, and what changes. It is blameless by design, which means it examines decisions in context rather than assigning fault to a person.
An RCA, or root cause analysis, is a technique rather than a document. It uses methods such as the five whys or fault tree analysis to move from symptom to the condition that made the symptom possible. An RCA can be a section of a postmortem or a standalone exercise for a recurring problem.
In practice: write the report during and immediately after, hold the postmortem within five working days, and use RCA techniques inside it rather than as a separate ceremony.
Where do incident reports fail?
Blameless is misread as accountability-free. Blameless means you do not punish people for honest mistakes under uncertainty. It does not mean nobody owns the fix. Every action item needs a name and a date, or the report is a diary entry.
Root cause is a single sentence. Most incidents have one trigger and several conditions. Stopping at “a bad deploy” produces a fix that a bad deploy will walk around next month.
The report is written by the responder. Asking the person who just spent four hours fixing the system to also write the definitive analysis produces a tired, defensive document. Assign a scribe during the incident, and have the incident commander own the postmortem.
Action items outnumber capacity. A report with 22 action items is a report with zero. Cap it at five, rank them by expected reduction in future incident time, and put the rest in the backlog with a review date.
Metrics are tracked without definitions. MTTR computed from detection rather than impact start will always look good and hide the real duration. Define the anchors once and keep them.
Reports are filed and never read. If nothing in the next quarter references the previous reports, the process has become compliance theatre. A quarterly review of causes across reports is the cheapest way to keep it alive.
How do you run the review meeting?
Schedule it within five working days, for 45 minutes. Later and the details blur; longer and the meeting becomes a design session that should be a separate ticket.
Circulate the timeline and the impact numbers in advance. The meeting is for causes and fixes, not for reading.
Walk the timeline in order, without interruption for solutions. Solutions during the walkthrough distort the analysis toward the first plausible idea. Capture them on a side list.
Ask three questions. What made this possible? What made it last as long as it did? What would have made it obvious sooner? Those three cover cause, response, and detection, which is the whole surface.
Agree on at most five actions, each with an owner and a date. Confirm them in the ticket system before anyone leaves the room, because a verbal commitment has a half-life measured in days.
Set the review date for the actions, not the report. Two weeks later, check closed items, not intentions.
How does Doitify support incident tracking?
Doitify is our product, so treat this as disclosure. It is a work management workspace: projects, tasks, sub-tasks, checklists, owners, due dates, plus Kanban boards, Gantt charts, roadmaps, calendars, workload views, work and performance reports, automations, import and export, and project documents.
For incidents, the useful pattern is to run the response as a project. The incident becomes a task with a severity field and a timestamped checklist, the timeline is a document attached to it, and each action item becomes a sub-task with an owner and a due date that shows up in the team’s workload view. Because the same workspace holds the roadmap and the reports, the reliability work competes for capacity visibly instead of disappearing into a backlog.
That is a genuine advantage over a shared drive full of postmortem documents. It is not a replacement for monitoring, paging, or a status page, and teams under about twenty engineers will usually be fine with a document template and a ticketing tool they already have.
FAQ
Conclusion
An incident report template earns its place when it shortens the next incident. That means four timestamps recorded honestly, a timeline built from logs rather than memory, severity defined by customer impact, and no more than five owned actions with dates.
The rest is discipline. Write it during the event, review it within five days, and read the quarter’s reports together so that one mechanism with six incidents becomes one funded control instead of six separate apologies. Teams that do this stop treating reliability as heroism and start treating it as arithmetic.
Start with the twelve fields above, keep the report under three pages, and put the action items where the work already lives. The template is only as good as the system that carries its fixes to completion.
If this post on incident report template was helpful, you might also enjoy Agile Sprint Project Template: Sections, Example, and How to Use It and How to Improve Team Productivity (2026).
Join Doitify Today
Move projects forward without the chaos: all your tasks, progress, and team reports in one unified workspace. Built for companies, startups, and remote teams — with a quick setup and a free trial.