Integration · Developer tools
Connect Claude & ChatGPT to Rootly
Ask your AI who is on call right now, what happened in last night's incident, or to declare a new incident in Rootly. It can list and update incidents, add notes to the timeline, mark incidents mitigated or resolved, acknowledge and resolve alerts, follow up on action items and read schedules, services and teams.
Free plan, no credit card. Takes about a minute.
Try asking
“Who is on call for the payments service right now?”
The AI finds the service and lists who is on call for it right now.
“Declare a SEV2 incident: checkout errors in production.”
It looks up the severity, service and environment IDs and creates the incident. Depending on your workflows, this can page responders and post to Slack.
“What happened in yesterday's database incident?”
It finds the incident and reads its summary, status and timeline of updates and notes.
What your AI can do
Incidents
List, declare and update incidents, add timeline notes and subscribers, and mark them mitigated or resolved.
Alerts and on-call
List, acknowledge and resolve alerts, see who is on call, and read schedules and their shifts.
Follow-up and catalog
Create and update action items, and look up services, teams, severities, environments and incident types.
“Add a note that we rolled back to version 4.2, then mark it mitigated.”
It adds the note to the incident's timeline and marks the incident as mitigated with your message.
“Acknowledge the open alerts on the API service.”
It lists open alerts filtered by service and acknowledges them, which stops further escalation.
“Which action items from last month's incidents are still open?”
It lists action items across incidents filtered by status and due date, with assignee and priority.
27 tools for Rootly
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
acknowledge_alertChanges dataAcknowledge an alert by `alert_id`, which stops further escalation to other responders.add_incident_subscribersChanges dataSubscribe users to an incident's updates by `incident_id`. Pass `data` = {type: "incidents", attributes: {user_ids: [...]}}. Subscribers are notified of changes.add_incident_timeline_eventChanges dataAdd a note to an incident's timeline by `incident_id`. Pass `data` = {type: "incident_events", attributes: {event: "<text>"}}.create_action_itemChanges dataAdd an action item to an incident by `incident_id`. Pass `data` = {type: "incident_action_items", attributes: {summary, description, due_date, assigned_to_user_id}}.create_incidentChanges dataDeclare a new incident. Pass JSON:API `data` = {type: "incidents", attributes: {title, summary, severity_id, service_ids, group_ids (teams), environment_ids, incident_type_ids, labels}}. This can page responders and post to Slack, depending on the organization's workflows.get_alertGet one alert by `alert_id`, with source, status, summary and linked services.get_current_userGet the Rootly user this connection acts as. Use to confirm which organization and user you are working as.get_incidentGet one incident by ID (passed as `page_id`), with title, summary, status, severity, services, teams and timestamps.list_action_itemsList action items across all incidents, filtered by status, kind, priority or due date. Paginate with `page` and `limit`.list_alertsList alerts, filtered by `filter_status`, `filter_source`, `filter_services`, `filter_groups` (teams) or `filter_environments`. Paginate with `page` and `limit`.list_environmentsList environments (such as production or staging) with their IDs.list_incident_action_itemsList the action items (follow-up tasks) on one incident by `incident_id`.list_incident_timelineList the timeline events (updates and notes) of an incident by `incident_id`.list_incident_typesList incident types with their IDs.list_incidentsList incidents, newest first with `sort`=-created_at, filtered by `filter_search` text, `filter_status`, `filter_severity`, `filter_services`, `filter_teams`, `filter_environments` and more. Paginate with `page` and `limit`.list_on_callSee who is on call, optionally between `since` and `until`, filtered by user, team, service, schedule or escalation policy IDs.list_schedule_shiftsList the shifts on one on-call schedule by `schedule_id` between `from` and `to` dates.list_schedulesList on-call schedules, filtered by name or team. Use to find a schedule ID.list_servicesList services in the catalog, filtered by name or `filter_search`. Their IDs are used on incidents and alerts.list_severitiesList the incident severity levels with their IDs, needed as severity_id when creating or updating incidents.list_teamsList teams, filtered by name or `filter_search`. Their IDs are used as group_ids on incidents.list_usersList users in the organization, filtered by `filter_search` text or exact `filter_email`. Use to find user IDs for assigning action items or subscribing people.mitigate_incidentVisible to othersMark an incident as mitigated by `incident_id`. Pass `data` = {type: "incidents", attributes: {mitigation_message}} explaining how it was mitigated.resolve_alertChanges dataResolve an alert by `alert_id`. Optionally pass `data` = {type: "alerts", attributes: {resolution_message, resolve_related_incidents}}; setting resolve_related_incidents also resolves the incidents linked to it.resolve_incidentVisible to othersMark an incident as resolved by `incident_id`. Pass `data` = {type: "incidents", attributes: {resolution_message}} explaining how it was resolved.update_action_itemChanges dataUpdate an action item by ID (passed as `product_id`). Pass `data` = {type: "incident_action_items", attributes: {...}} with the fields to change, such as summary, description, due_date or assigned_to_user_id.update_incidentChanges dataUpdate an incident by ID (passed as `page_id`). Pass `data` = {type: "incidents", attributes: {...}} with the fields to change, such as title, summary, severity_id, service_ids or group_ids. Use mitigate_incident or resolve_incident to change its status.
Set up in three steps
- 1
Pick the app
Create a free PipMCP account and choose Rootly from the app list.
- 2
Paste your key
Paste a Rootly API key. In Rootly open the Organization dropdown > Organization Settings > API Keys and click Generate New API Key. A Global or Team key works best for shared use. A Personal key has your own permissions.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in Rootly?
The AI can read incidents with their timelines and action items, alerts, who is on call, schedules and shifts, users, services, teams, severities, environments and incident types. It can declare and update incidents, mark them mitigated or resolved, add timeline notes and subscribers, create and update action items, and acknowledge or resolve alerts.
Does the AI see my Rootly API key?
No. Your Rootly API key is encrypted at rest and never shown to the AI. After you save it, it is not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start with lookups only. Declaring an incident can page responders and post to Slack, and resolving an alert can also resolve related incidents, so these can require your approval before they run. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your PipMCP link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
PipMCP has a free plan with no credit card required. Paid plans bill per completed task. You also need your own Rootly account.
Which Rootly API key should I use?
Rootly offers Global, Team and Personal API keys. A Global or Team key is best when a connection is shared. A Personal key acts with your own permissions, so the AI can only do what you can do in Rootly.
Related integrations
Let your AI work in Rootly today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect Rootly freePipMCP is not affiliated with Rootly. Product names are trademarks of their owners.






