Create on-call schedules
Create and manage on-call schedules in Grafana IRM. Set up recurring rotations, manage temporary schedule changes, and maintain visibility of who’s on-call across your organization.
Before you begin
Ensure you have the proper permissions and setup before creating a schedule:
- Admin or Editor permissions are required to create, edit, and delete schedules
- Add necessary team members to Grafana IRM
- Viewer role users cannot be assigned to on-call shifts or receive alert notifications
For more details on role permissions, refer to Manage users and teams.
Create a schedule
- In your Grafana Cloud stack, navigate to Alerts and IRM → IRM → Schedules
- Click + New Schedule
- Click + Create to start setting up your on-call rotation
Configure basic settings
Schedule name: Enter a descriptive name that clearly identifies the schedule’s purpose (for example, “Database Team Primary” or “APAC Support”)
Assign to team: Select the team responsible for this schedule. Teams are managed in Grafana Teams Management.
Notification settings: Control how and when team members receive schedule-related notifications. Configure the following options:
- Slack channel: Select a Slack channel where schedule notifications and calendar parsing errors are posted
- Slack user group: Choose a Slack user group to automatically update with current on-call members, enabling @mentions
- Shift notifications: Set when team members receive reminders about their scheduled shifts
- Current shift: Specify how to notify a user when their on-call shift begins
- Next shift: Specify how to notify the user whose shift is the next one scheduled
- No one on-call: Define notification behavior when no one is scheduled for a shift
- Slack reports: Toggle on/off gaps and shifts missing users weekly Slack reports
Note
For the user group rotation to work properly, all users in the schedule must connect their Slack notification channel in their IRM user profile. Refer to the Notification channels documentation for details.
Add rotations
Rotations determine when team members are on-call by defining a pattern to generate the on-call shifts. To configure rotations:
Click + Add Rotation
Configure the following settings:
- Start date and time: Set when the rotation begins
- End date and time (optional): Set when the rotation ends (no more shifts are assigned after this date).
Note
The rotation end date does not interrupt shifts. If the rotation end date falls within an active shift, the shift continues until the scheduled end of the shift. If necessary, the very first shift in the rotation may be shortened to align with the specified rotation end date.
- Recurrence period: Define how often the rotation pattern is applied (daily, weekly, etc.)
- Mask by weekdays: Select specific days to schedule rotation events, such as only weekdays, only weekends, or particular days.
- Shift length: Enter the duration for each on-call shift (e.g., 8 hours, 12 hours, 1 day). Ensure it does not exceed the recurrence period to maintain the set pattern.
Add users to assign team members to the rotation. Each user is added to a separate recurrence group, and the rotation pattern cycles through these groups. You can also group multiple users within the same recurrence group.
Click Create to save the rotation
To achieve the desired scheduling outcome, you can combine multiple rotations and layers. Rotations within the same layer share the on-call time, whereas on-call time from higher layers take precedence and override shifts in lower tiers.
For common rotation configurations, refer to the rotation setup examples.
Edit rotations
When editing a rotation in an existing schedule, choose between Update and Save as new. These options determine how changes are applied and whether rotation history is preserved.
To edit a rotation:
- From the on-call schedule, select the existing rotation you want to edit.
- The rotation configuration window opens. Make the necessary changes to participants, shift length, or start time.
- Select Update or Save as new to apply your changes.
- Update: Applies your changes directly to the existing rotation. Use this if you want to update the entire rotation—past, present, and future.
- Save as new: Ends the current rotation and starts a new one at the specified time (or now, if unchanged). This keeps past data intact while applying changes moving forward.
Use Save as new to:
- Change shift details without overwriting history
- Version a rotation over time
- Duplicate a rotation as a starting point
Note
The availability of these options is controlled by your organization’s Disable schedule updates in the past setting. When this setting is enabled, you can only use the Save as new option when editing rotations.
Review and validate
Before finalizing your schedule:
- Review the calendar view to ensure coverage looks correct
- Check for any gaps in coverage or scheduling conflicts
- Verify rotation patterns work as expected
- Test how the schedule appears in different time zones
Next steps
Schedules work together with escalation chains and notification rules to route alerts and notify the right team members at the right time. Now that your on-call schedule is set up, take these steps to ensure alerts are automatically routed and escalated:
- Set up escalation chains to define how alerts escalate when not acknowledged
- Configure notification rules to customize how and when team members receive alert notifications
- Manage shift swaps and overrides to allow team members to swap shifts or set temporary overrides