Skip to main content

Overview

The On-Call Pay Calculator turns your Rootly schedules into a payroll-ready report. Instead of hand-stitching spreadsheets from a dozen schedules, you configure your pay rules once and generate reports that reflect the coverage your team actually ran. Reports can optionally include shadow-shift time (via Include Shadow Shifts) and break out active incident-response time from passive standby (via Granular Time Breakdown, hourly reports only). Only schedules attached to an escalation policy are included, so what you see in the report is what would have actually paged someone. Reports are generated asynchronously — Rootly emails you when it’s ready, and you download the XLSX and CSV files from the Pay Calculator page. Both are suitable for payroll processing, audits, or internal review.
Pay rules are snapshotted at report generation time. Editing rules later doesn’t retroactively change reports you’ve already run — each report is self-describing and reproducible.

How Pay Calculation Works

The calculator pulls on-call shift data from schedules, applies the pay rules you’ve configured, and aggregates time per user over a chosen date range. It supports two compensation models:
  • Hourly — pays down to the minute, categorizing time into business hours, off-hours, and weekends.
  • Daily — counts unique calendar days on-call, categorized into weekdays and weekends. Shift length within a day doesn’t matter.
Only schedules assigned to an escalation policy are included. Any coverage gaps are attributed to the schedule owner. If a schedule looks like it should be paying out but isn’t showing up, check that it’s actually wired to an escalation policy.

Configure Pay Rules

Open On-Call → Pay Calculator and choose Configure Rules to set up how time is counted and priced.

Pay Type

enum
required
Hourly or Daily.
  • Hourly — tracks time to the minute and splits it into business hours (9 AM–5 PM weekdays), non-business weekday hours, and weekends. Best for teams paying based on actual availability or active response.
  • Daily — counts unique calendar days on-call, split into weekdays and weekends. Each qualifying day counts once regardless of shift length. Best for teams paying a flat daily stipend.

Rates

boolean
Enable to have Rootly compute total compensation. Disable to report time worked without pricing it — useful when rates vary by individual, seniority, or geography, or when final compensation is calculated outside Rootly.
string
Currency for the rate. Shown when Single Rate is enabled.
number
Hourly or daily rate (matching Pay Type). Applied uniformly across all users included in the report.

Data Inclusion

boolean
Hourly pay only. When enabled, Rootly analyzes alert activity during each on-call hour and splits time into:
  • Non-paged hours — on call with no alerts received.
  • Paged hours — alerts triggered but not yet acknowledged or resolved.
  • Acknowledged / resolved hours — time spent actively responding.
Use this when you compensate active incident response differently from passive standby.
boolean
Includes shadow-shift time in the report. Rootly automatically deduplicates overlap — a user who’s on-call and shadowing during the same window isn’t double-counted. See On-Call Shadowing.
boolean
Adds per-shift columns to the export: schedule name, shift start (team timezone), and shift end (team timezone). Recommended for audits and payroll verification — it lets a reviewer see how totals rolled up.

Generate a Pay Report

1

Pick the schedules

Select the specific schedules to include. Leave blank to include every schedule attached to an escalation policy.
2

Set the date range

Choose start and end dates. Rootly supports up to six months of data per report.
3

Choose the report timezone

Options:
  • Organization default (used unless overridden).
  • A specific timezone — for teams calculating pay in a single locale.
  • Each responder’s individual timezone — for globally distributed teams where local time defines the workday.
4

Run the report

Rootly processes it in the background. You’ll get an email when it’s ready — return to the Pay Calculator to download the CSV and XLSX files.
Each report includes a configuration summary — pay type, currency, whether Single Rate was on, shadow-shift inclusion — so reviewers can confirm the settings without opening the calculator.

Best Practices

  • Attach every payable schedule to an escalation policy. Schedules without a policy are silently excluded from calculations — a common source of “why is this user missing?”
  • Lock in rules before running a report. Rules are snapshotted at generation time — review them before running to avoid reissuing reports later.
  • Enable granular time breakdown early if your model needs it. Introducing a split between passive and active hours after payroll is already built around flat hours is disruptive.
  • Turn on Include Shadow Shifts if training is paid. Check the toggle before your first run so trainee time is captured.
  • Show individual shift data on any report that goes to finance. Per-shift context helps reviewers verify how totals rolled up.

Frequently Asked Questions

Only schedules attached to an escalation policy are included. When generating a report you can filter to specific schedules — leave the field blank to include all eligible ones.
Yes — but changes only affect future reports. Each report captures a snapshot of the rules at generation time, so past reports remain reproducible.
9 AM to 5 PM on weekdays. All weekend time is categorized separately.
Rootly deduplicates the overlap. The user isn’t paid twice for the same period.
Assuming all of the user’s schedules are included in the report, Rootly will combine all of the times across shifts and accrue their time based on the time worked.For example, if someone was scheduled for two on-call shifts during a 24 hour period, they’d accrue pay for just the 24 hour period rather than two 24 hour shifts (totalling 48 hours).
Two common causes:
  • The schedule wasn’t attached to an escalation policy during the report’s date range.
  • The date range exceeds the six-month limit — try splitting it into two runs.

On-Call Schedules

Schedules are the source of shift data pay reports run on.

Escalation Policies

Only schedules connected to an escalation policy count.

On-Call Shadowing

Includes shadow-shift time in a pay report when training is paid.