grafana-oncall-shift-override
Installation
SKILL.md
Grafana OnCall Shift Overrides and Rotation Edits
Overview
"Cover the rest of X's shift" is one API call — an override — but verifying it, and especially editing the underlying rotation, is where sessions go wrong. The rotation PUT re-anchors itself, the server overrides your start index, and the UI rendering makes correct schedules look broken.
API surface
Grafana Cloud proxies the OnCall/IRM API under the regular Grafana API with a normal service-account token — no separate OnCall token needed:
GET /api/plugins/grafana-irm-app/resources/schedules/ # list — resolve name → SCHEDULE_ID
GET /api/plugins/grafana-irm-app/resources/schedules/<SCHEDULE_ID>
GET /api/plugins/grafana-irm-app/resources/schedules/<SCHEDULE_ID>/events?date=YYYY-MM-DD&days=N
POST /api/plugins/grafana-irm-app/resources/oncall_shifts/
GET|PUT|DELETE /api/plugins/grafana-irm-app/resources/oncall_shifts/<SHIFT_PK>
Writes need an Admin-role token; timestamps are ISO-8601 UTC (2026-08-05T15:41:00Z); the events date param is a day in the schedule's own time_zone. Users in shift bodies are OnCall user pks (U…), not Grafana user ids — list them via the OnCall users endpoint or the Grafana MCP list_oncall_users.