> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squasher.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# On-call

> Create native on-call schedules, inspect current coverage, and hand failed triage runs to a human.

Squasher on-call gives incidents, notifications, agents, and operators one shared responder model. A schedule can be team-wide or project-scoped, with materialized shifts that agents can inspect before routing a handoff.

## What on-call includes

* Native weekly schedules with ordered rotation members.
* Team-wide schedules, plus project-scoped schedules for service-specific overrides.
* Current engineer lookup for failed-triage handoff.
* Shift windows and an iCalendar feed for human calendar clients.
* Temporary overrides for coverage changes.
* API, CLI, and MCP Code Mode access for read and confirmed write workflows.

## Setup paths

<Tabs>
  <Tab title="Native schedule">
    1. Choose the project, schedule name, timezone, handoff day, and handoff time. 2. Add members
       in rotation order. 3. Decide whether the schedule is team-wide or project-scoped. 4. Verify the
       current engineer and upcoming shift window before relying on the schedule.
  </Tab>

  <Tab title="Migration">
    1. Export the source platform's schedules and responders. 2. Map each rotation to a native
       Squasher schedule. 3. Recreate critical overrides during the cutover window. 4. Keep the source
       platform visible until the Squasher calendar and current engineer lookup match.
  </Tab>
</Tabs>

## CLI

```bash theme={null}
squasher on-call current --project <project_id>
squasher on-call list --project <project_id>
squasher on-call members --project <project_id> --schedule <schedule_id>
squasher on-call calendar --project <project_id> --schedule <schedule_id> --from <iso_time> --to <iso_time>
squasher on-call calendar --project <project_id> --schedule <schedule_id> --ics
squasher on-call create --project <project_id> --name "Primary" --timezone America/Los_Angeles --handoff-day 1 --handoff-time 09:00 --member <user_id>
squasher on-call override --project <project_id> --schedule <schedule_id> --user <user_id> --starts <iso_time> --ends <iso_time>
squasher on-call enable --project <project_id> --schedule <schedule_id> --disable
```

Write commands should be run only after the user confirms the intended schedule or override.

## API and MCP

Use the [On-call API reference](/api-reference/on-call) for schemas and operation IDs. The required API key scopes are `on_call:read` for list/current/member/shift operations and `on_call:write` for create, enable/disable, and override operations.

The Squasher MCP server stays Code Mode only. Search for `onCall` operations, inspect the schema returned by `search`, then call exposed operations with `execute`. There are no dedicated MCP on-call tools.

## Migration guides

| Platform       | Guide                                                    | Notes                                              |
| -------------- | -------------------------------------------------------- | -------------------------------------------------- |
| PagerDuty      | [PagerDuty](/integrations/pagerduty)                     | Recreate schedules and overrides in Squasher.      |
| Opsgenie       | [Opsgenie](/integrations/opsgenie)                       | Map schedules and escalation paths before cutover. |
| Grafana OnCall | [Grafana OnCall](/migrations/grafana-oncall-to-squasher) | Use for OSS migration and responder readiness.     |

## Agent handoff

Use this prompt from the dashboard or paste it into an assistant that has Squasher CLI, API, or MCP access:

```text theme={null}
Set up Squasher on-call for project <project_id>. Start read-only: list schedules, inspect the current on-call engineer, and review upcoming shifts through the Squasher API, CLI, or MCP Code Mode search/execute surface. Ask me first whether I want to create a native Squasher schedule or migrate from an existing platform. If creating native, ask for timezone, handoff day/time, rotation members, and whether the schedule should be team-wide or project-scoped. If migrating, refer to https://docs.squasher.ai/features/on-call and the Squasher CLI/MCP skills, map the source platform's schedules and overrides to Squasher, then wait for confirmation before creating anything. After setup, verify the current engineer and calendar feed. Do not disable schedules, change notification routes, or change incident assignment without explicit confirmation.
```

## Related guides

* [On-call API](/api-reference/on-call)
* [Notifications](/features/alerts)
* [Incidents API](/api-reference/incidents)
* [CLI Reference](/integrations/cli-reference)
* [MCP](/integrations/mcp)
