Rootly Incident Management
Overview
Incidents are the primary resource in Rootly — the central record for any production issue, outage, or service degradation. Rootly is used by SRE and platform engineering teams to coordinate response in real time and drive continuous improvement via postmortems. In MSP environments, Rootly typically manages internal infrastructure incidents rather than per-client ticketing, but can be configured with team-based routing to support multi-customer workflows.
The incident system supports:
- Automated Detection - Incidents created from monitoring alert integrations (Datadog, PagerDuty, Prometheus, Grafana, Sentry, etc.)
- Manual Creation - On-call engineers and responders create incidents via Slack, web UI, or API
- AI-Assisted Analysis -
find_related_incidentsandsuggest_solutionssurface past patterns and recommendations - Real-Time Coordination - Slack channel auto-creation, Zoom bridges, timeline tracking
- Post-Incident Learning - Automated postmortem generation and action item tracking
All read and write operations on incidents are available through the Rootly MCP tools.
MCP Tools
Core Incident Tools
| Tool | Description | Key Parameters |
|---|---|---|
incidents_get | List and search incidents | status, severity, page[number], page[size] |
incidents_post | Create a new incident | title, severity_id, team_ids, service_ids |
incidents_by_incident_id_alerts_post | Attach an alert to an incident | incident_id, alert data |
incidents_by_incident_id_alerts_get | List alerts attached to an incident | incident_id |
incidents_by_incident_id_action_items_post | Create an action item on an incident | incident_id, summary, assignee_id |
incidents_by_incident_id_action_items_get | List action items on an incident | incident_id |
AI Analysis Tools
| Tool | Description | Key Parameters |
|---|---|---|
find_related_incidents | Find historically similar incidents using TF-IDF | query or incident_id |
suggest_solutions | Suggest remediation steps based on past resolutions | incident_id or description |
Supporting Lookups
| Tool | Description |
|---|---|
severities_get | List configured severity levels (ID, slug, color) |
services_get | List services to scope incident to the right owner |
teams_get | List teams for incident assignment and routing |
incident_types_get | List incident types (bug, outage, performance, etc.) |
environments_get | List environments (production, staging, etc.) |
users_get | List users for assignment |
Discover Available Tools
Call list_endpoints to get the current list of all available API endpoints and tool names from the Rootly OpenAPI specification.
Key Concepts
Incident Lifecycle
┌───────────┐ Triage starts ┌────────────┐ Contained ┌───────────┐
│ detected │ ─────────────────> │ in_triage │ ────────────> │ mitigated │
└───────────┘ └────────────┘ └───────────┘
│
Full fix done
▼
┌──────────┐
│ resolved │
└──────────┘
│
PIR complete
▼
┌────────┐
│ closed │
└────────┘
Key lifecycle timestamps on the incident record:
| Timestamp | Meaning |
|---|---|
detected_at | Alert fired or issue first observed |
acknowledged_at | Responder acknowledged the page |
in_triage_at | Active investigation started |
started_at | Response team coordinating |
mitigated_at | Immediate impact contained |
resolved_at | Issue fully resolved |
closed_at | Post-incident review complete |
cancelled_at | False alarm; incident cancelled |
Severity Levels
Severities are configurable per Rootly organization. Common conventions:
| Severity | Typical Name | Description | SLA Target |
|---|---|---|---|
| SEV-1 / Critical | P1 | Complete outage or data loss; business-critical impact | Immediate (15 min) |
| SEV-2 / High | P2 | Major feature degraded; significant user impact | 30 minutes |
| SEV-3 / Medium | P3 | Partial degradation; workaround available | 2 hours |
| SEV-4 / Low | P4 | Minor issue; minimal user impact | Next business day |
Note: Severity IDs are UUIDs in Rootly. Always call
severities_getto map severity slugs to IDs before creating an incident.
Incident Status Values
Rootly uses free-text status descriptors alongside timestamps. Common values:
detected— Newly created, not yet acknowledgedin_triage— Actively being investigatedmitigated— Impact contained, monitoring for recurrenceresolved— Issue fixed, normal operation restoredcancelled— False alarm or invalid incident
Field Reference
| Field | Type | Description |
|---|---|---|
id | string | UUID of the incident |
sequential_id | integer | Human-readable incident number (e.g., INC-342) |
title | string | Short summary of the incident |
summary | string | Detailed description of impact and current status |
status | string | Current lifecycle status |
severity | object | Severity record with slug, color, description |
services | array | Affected services |
environments | array | Affected environments (production, staging) |
teams | array | Teams assigned to respond |
labels | array | Custom tags for filtering and reporting |
started_at | datetime | When the incident started |
resolved_at | datetime | When the incident was resolved (null if open) |
slack_channel_id | string | Auto-created Slack channel for coordination |
url | string | Web UI link to the incident |
Common Workflows
Triage New Incidents
- Call
incidents_getwithstatus=in_triageorstatus=detected, sorted by severity - For each high-severity incident, review title and summary
- Call
find_related_incidentswith theincident_idto surface similar past incidents - Call
suggest_solutionswith theincident_idto get AI-generated remediation suggestions - Create action items via
incidents_by_incident_id_action_items_postfor each remediation step - Update status as the incident progresses
Create an Incident
- Call
severities_getto find the correct severity ID for the impact level - Call
services_getto identify which service is affected - Call
teams_getto find the on-call team to assign - Call
incidents_postwithtitle,severity_id,service_ids,team_ids - Attach any triggering alerts via
incidents_by_incident_id_alerts_post
Investigate a Specific Incident
- Find the incident via
incidents_getor bysequential_id - Call
find_related_incidents— look for recurring patterns (same service, same time of day, same symptoms) - Call
suggest_solutions— surface past resolutions that worked for similar incidents - Review action items via
incidents_by_incident_id_action_items_get - Review attached alerts via
incidents_by_incident_id_alerts_get
Daily Incident Review
- Call
incidents_getwith a 24-hour window andstatus=resolved - Count by severity for a daily health summary