Skip to Content
GuidesOn-Call

On-Call

Configure on-call schedules so the right people get paged when incidents occur.


Overview

On-call management ensures someone is always responsible for responding to incidents. Runframe handles scheduling, rotations, timezones, and automatic paging so your team can focus on fixing issues instead of managing calendars.

What on-call provides

FeatureBenefit
Automated rotationsNo manual calendar updates needed
Timezone-aware schedulingCorrect handoffs across regions
Service-based routingIncidents page the right on-call for each service
Override and swap supportHandle time off and shift trades
Calendar integrationView and sync with external calendars
Slack notificationsKnow who’s on-call without leaving Slack

Setting up on-call

Create a schedule

  1. Navigate to On-Call in the sidebar
  2. Click New Schedule
  3. Configure the schedule:
    • Name: e.g., “Backend API,” “Database,” “Platform”
    • Timezone: Choose the primary timezone for this schedule
    • Services: Link services that this on-call covers
    • Rotation: Define how often the on-call changes
  4. Add team members to the rotation
  5. Click Create Schedule

When an incident is created, Runframe automatically suggests the on-call engineer for affected services. Link services to schedules in the schedule settings or from the Services page.

One schedule, multiple services

A single on-call schedule can cover multiple related services. For example, a “Platform” schedule might cover API, Database, and Infrastructure.


Rotation types

Runframe supports flexible rotation patterns to match your team’s structure.

Rotation typeDescriptionBest for
DailyRotates at the same time every daySmaller teams, rapid rotation
WeeklyRotates on the same day each weekStandard weekly on-call
Bi-weeklyRotates every 2 weeksTeams with longer shifts
MonthlyRotates on the same date each monthLarge teams, infrequent rotation
CustomSpecify your own cadenceNon-standard rotation needs

Daily rotation example

Rotates every day at 9 AM Pacific:

TimeMonTueWedThuFri
9 AM PTAliceBobCarolDaveEve

Weekly rotation example

Rotates every Monday at 9 AM Pacific:

WeekOn-Call
Jan 1 to 7Alice
Jan 8 to 14Bob
Jan 15 to 21Carol

Setting rotation time

The rotation time defines when handoffs occur. Choose a time when:

  • The outgoing on-call is available to transfer context
  • The incoming on-call is awake and ready to respond
  • Your team has overlap for handoff meetings

Mind timezones in handoffs

If your team spans timezones, choose a rotation time that works for everyone. Avoid 3 AM local handoffs.


Managing shifts

Viewing the calendar

The On-Call page displays a calendar view of upcoming shifts. You can:

  • See who’s on-call now and next
  • View the full rotation schedule
  • Identify gaps or unassigned shifts
  • Export to iCal for external calendar sync

Override a shift

When someone can’t cover their shift, create an override:

  1. Click on the shift in the calendar
  2. Click Add Override
  3. Select the replacement team member
  4. Optionally set a reason (helpful for postmortems)

Overrides are temporary and don’t affect the underlying rotation schedule.

Swap shifts

For permanent changes to who covers which shifts, use swaps:

  1. Click on the shift in the calendar
  2. Click Swap
  3. Select the team member to swap with
  4. Choose whether this is a one-time swap or recurring

Swaps update the rotation schedule going forward.

Time off

Mark time off directly in the calendar:

  1. Click Add Time Off
  2. Select the date range
  3. Runframe automatically identifies which shifts need coverage
  4. Create overrides for uncovered shifts

Paging behavior

When an incident requires paging, Runframe:

  1. Identifies the on-call engineer for affected services
  2. Sends notifications based on incident severity
  3. Tracks acknowledgment time
  4. Escalates if no acknowledgment within SLA

Notification channels by severity

SeverityPrimarySecondaryTertiary
P0Phone callSMSSlack DM
P1SMSSlack DMPhone call
P2Slack DMSMS
P3Slack DM
P4Slack DM

Configure notification preferences in user settings.

Page the on-call manually

From any Slack channel:

/inc page

Or for a specific service:

/inc page api-backend

Service targeting

If no service is specified, /inc page pages the on-call for services affected by the current incident (if in an incident channel) or the default service for your team.


On-Call responsibilities

Before your shift

  • Review recent incidents – Understand what broke recently and how it was fixed
  • Verify contact info – Ensure phone number and Slack notifications are current
  • Check runbooks – Familiarize yourself with procedures for your services
  • Test access – Confirm you can access dashboards, logs, and tools

During your shift

  • Respond within SLA – Acknowledge incidents quickly
  • Assess severity – Don’t over-escalate, but don’t under-estimate
  • Document everything – Update incident status as you investigate
  • Escalate when stuck – Use /inc page or pull in specialists
  • Communicate proactively – Regular updates manage expectations

Handoff best practices

When transferring to the next on-call:

  • Sync in Slack – Schedule a 15 to 30 minute overlap if possible
  • Document active incidents – Status, next steps, and blockers
  • Share context – What’s fragile, what to watch, what’s in progress
  • Transfer ownership – Update incident assignments to the new on-call

After your shift

  • Debrief briefly – Share what went well and what didn’t
  • Update runbooks – Add procedures you wish existed when you were paged
  • Flag systemic issues – Create follow-up items for recurring problems

Slack integration

Runframe integrates with Slack to make on-call visible and accessible.

View on-call in Slack

See who’s on-call without leaving Slack:

/inc oncall

Displays the current on-call engineer for your default service or the current incident’s services.

On-call presence

Runframe can automatically update Slack status to show when you’re on-call. Enable in user settings.

Channel notifications

Post daily on-call assignments to a Slack channel:

  • Channel: Choose where to post updates
  • Time: When to post the daily reminder
  • Format: Customize the message template

Timezones

Runframe handles timezones transparently:

  • Schedule timezone: All rotation times are in the schedule’s timezone
  • User timezone: Notifications respect the on-call engineer’s local time
  • Handoff clarity: Calendar shows both local and schedule timezones

Distributed team considerations

For teams spanning multiple timezones, consider:

  • Rotation times that work for most timezones
  • Longer shifts to reduce handoff frequency
  • Regional on-call (e.g., APAC, EMEA, Americas schedules)

Multiple on-call layers

For larger organizations, create layered on-call schedules:

LayerScheduleResponsibility
Tier 1General rotationInitial triage and investigation
Tier 2Service-specificEscalation for complex issues
Tier 3Specialist/ManagerEscalation for critical or political issues

Configure escalation policies to route between tiers automatically.


Analytics and insights

Track on-call metrics to improve your rotation:

MetricDefinitionGoal
Incident frequency by personHow often each person is pagedFair distribution
MTTA by personAverage acknowledgment timeIdentify training needs
Escalation rateHow often Tier 1 escalatesEvaluate rotation difficulty
Off-hour incidentsIncidents outside business hoursAdjust shift timing

View metrics in the Analytics section of the dashboard.


Need more?

Last updated on