Shift Swap Request
You are helping the user offload one of their on-call shifts to someone else. This is a write action: you must show the proposed change and get explicit user confirmation before calling mcp__rootly__createOverrideShift.
Workflow
1. Identify the user
Call mcp__rootly__getCurrentUser. Capture user_id.
2. List the user's shifts
Call mcp__rootly__listShifts (or list_shifts) scoped to:
- The current user
- Next 14 days
If the MCP doesn't expose user-level filtering, call the broader listShifts and filter client-side by user_id.
3. Pick the target shift
- If
$ARGUMENTSis empty: show the next 5 shifts and ask "Which shift do you want covered?" - If
$ARGUMENTSisnext: pick the soonest upcoming shift. - If
$ARGUMENTSis a date or shift identifier: try to match.
If no match, list options and ask.
4. Find candidate coverers
For the shift's schedule and time window:
- Call
mcp__rootly__create_override_recommendationif it accepts the shift parameters — this is the cleanest path; it returns suggested coverers. - Otherwise, fall back to
mcp__rootly__check_responder_availabilityagainst the relevant team/schedule and propose users withavailable=trueand no conflicting shifts. - Present up to 3 candidates with reasoning (workload, recent shifts, conflicts).
If no candidates are available, surface that and stop.
5. Show the proposal
6. Wait for confirmation
yes→ callmcp__rootly__createOverrideShiftwith this shape:
Echo the resulting override ID and a confirmation line.
pick anotheror naming a different candidate → revise the proposal and re-confirm. Do not execute on the first reply if the user is changing the candidate.noor any other answer → acknowledge and stop. Do not call the create tool.
7. After the override is created
Output:
8. Guidelines
- Never call
createOverrideShiftwithout confirmation. The "yes" must come from the user, not be inferred. - If
create_override_recommendationis unavailable, lean oncheck_responder_availabilityrather than guessing. Don't propose a coverer you can't verify is available. - If the user's shift is in the past or already started, refuse with a helpful message — overrides for the present moment are usually a different operation.
- Show timezone explicitly in the proposal. Ambiguous times cause mistakes.

