Knowledge Graph nodes
Knowledge Graph nodes
- Rootly Incidents
MCP Tools
MCP Tools
- list_recent_incidents: List recent Rootly incidents
- get_incident_details: Retrieve incident details by ID
- get_alert_details_for_incident: Get alert details for an incident
- post_status_update: Post a status update to an incident
- resolve_incident: Resolve an incident
- mitigate_incident: Mitigate an incident
- acknowledge_incident: Acknowledge an incident
- add_incident_event: Add event to the incident timeline
- log_investigation_finding: Log an investigation finding for root cause analysis
- log_action_taken: Log an action taken during incident response
- log_escalation: Log an incident escalation
- log_communication: Log a communication event
- get_incident_timeline: Get the complete timeline of events for an incident
- update_incident_event: Update an existing incident event
- delete_incident_event: Delete an incident event```
Prerequisites
To configure the Rootly integration you’ll need to generate a Rootly API key.1
Open your Rootly Organization Settings
In the Rootly UI, navigate to your organization settings.
2
Generate API Token
Go to “Organization Settings > API Keys” and create a new token with the necessary permissions for incident management.
Configuration
Configure the Rootly plugin by runninguv run unpage configure
or by editing
the ~/.unpage/profiles/<profile_name>/config.yaml
file:
ROOTLY_API_KEY
environment variable.
Developing Agents
Your Agents can react to Rootly incidents by adding context from your Knowledge Graph, pulling Metrics, or running custom Shell Commands. Learn more about Creating Agents.Running Locally
You can test your Agents locally on past or current Rootly incidents by passing in a Rootly incident ID or URL tounpage agent run
:
stdout
.
Webhooks
Agent workflows can run automatically by configuring Rootly to send webhooks to your Unpage Server. Configure your Rootly webhooks to send incident events to your Unpage Server endpoint at/webhook
(like https://unpage.yourdomain.com/webhook
).
During development you can tunnel to your local Unpage instance using ngrok by
running uv run unpage agent serve --tunnel
(see Unpage Server
for details).
Unpage will now receive webhooks from Rootly and send them to the
Router, which will decide which Agent workflow to run.
For production deployments with Rootly integration, see our Deployment Guide for complete setup instructions including Docker configuration and GitHub Actions CI/CD.
Tools
The Rootly plugin provides the following tools to Agents and MCP Clients:get_incident_details
Get a Rootly incident by ID, including all incident details.ArgumentsReturns
The ID of the Rootly incident. Typically a UUID string. For example “01234567-89ab-cdef-0123-456789abcdef”.
dict
: The incident JSON payload, including all incident details.get_alert_details_for_incident
Get the details of the alert(s) for a Rootly incident.ArgumentsReturns
The ID of the Rootly incident. Typically a UUID string. For example “01234567-89ab-cdef-0123-456789abcdef”.
list[dict]
: The list of alert details (incident events).mitigate_incident
Mitigate a Rootly incident.ArgumentsReturns
The ID of the Rootly incident. Typically a UUID string. For example “01234567-89ab-cdef-0123-456789abcdef”.
None
acknowledge_incident
Acknowledge a Rootly incident.ArgumentsReturns
The ID of the Rootly incident. Typically a UUID string. For example “01234567-89ab-cdef-0123-456789abcdef”.
None
add_incident_event
Add a timeline event to a Rootly incident for root cause analysisArgumentsReturns
The ID of the Rootly incident. Typically a UUID string. For example “01234567-89ab-cdef-0123-456789abcdef”.
Description of the event/activity
Event visibility - “internal” or “external” (default: “internal”)
dict
: The created event datalist_recent_incidents
List recent Rootly incidentsArgumentsReturns
Maximum number of incidents to return (default: 10)
list[dict]
: List of recent incidents with their detailslog_investigation_finding
Log an investigation finding for root cause analysisArgumentsReturns
The Rootly ID of the incident
The investigation finding or discovery
Source of the finding (e.g., ‘logs’, ‘metrics’, ‘database’)
Event visibility - “internal” or “external” (default: “internal”)
dict
: The created event datalog_action_taken
Log an action taken during incident responseArgumentsReturns
The Rootly ID of the incident
The action that was taken
The result or outcome of the action
Event visibility - “internal” or “external” (default: “internal”)
dict
: The created event datalog_escalation
Log an incident escalationArgumentsReturns
The Rootly ID of the incident
Who or what team the incident was escalated to
Reason for the escalation
Event visibility - “internal” or “external” (default: “internal”)
dict
: The created event datalog_communication
Log a communication event (e.g., customer notification, internal update)ArgumentsReturns
The Rootly ID of the incident
Type of communication (e.g., “Customer Notification”, “Team Update”)
Details of the communication
Event visibility - “external” for customer-facing, “internal” for team-only (default: “external”)
dict
: The created event dataget_incident_timeline
Get the complete timeline of events for an incidentArgumentsReturns
The Rootly ID of the incident
list
: List of all events/timeline entries for the incidentdelete_incident_event
Delete an incident eventArgumentsReturns
The ID of the event to delete
dict
: Response from the deletion request