How can we help?

Search our knowledge base or browse categories below to find the answers you need.

πŸ”
πŸš€
Getting Started
5 articles
πŸ“…
Managing Schedules
6 articles
πŸ‘₯
Team Management
5 articles
🏒
Teams & Organization
4 articles
πŸ”„
Swaps & Coverage
4 articles
πŸ””
Notifications & Integrations
5 articles
πŸ’³
Account & Billing
4 articles
βš™οΈ
Settings & Configuration
4 articles
❓
FAQ
7 articles
πŸš€

Getting Started

Getting started with OnCall Builder takes less than two minutes:

  1. Visit www.oncallbuilder.com and click Start Free Trial.
  2. Enter your name, company name, email address, and choose a password.
  3. Verify your email by clicking the link we send you (check spam if you don't see it).
  4. You're in! Your 14-day free trial starts immediately.

What's included in the trial? You get full access to every feature β€” schedule generation, team management, swaps, notifications, Slack integration, and more. The only limitations during the trial are: schedules are capped at 30 days in length, and PDF/CSV/ICS exports are locked until you subscribe.

No credit card is required to start your trial. At any point during (or after) your trial, you can subscribe from the Billing page.

Before you can create a schedule, you'll need to add the people who will be on call. Navigate to the Members page from the sidebar.

  1. Click Add Member.
  2. Enter the employee's first name, last name, and email (required fields).
  3. Optionally add their phone number (needed for SMS notifications), choose a role, and set notification preferences.
  4. Click Save.

Roles overview: Admin (full access), Manager (create/edit schedules, approve swaps), Supervisor (view schedules, approve swaps), Standard (view schedules, request swaps), and Viewer (view only). You can change roles at any time.

Here's how to generate your first on-call rotation:

  1. Go to the Create Schedule page.
  2. Select a team from the dropdown (or your default team if you only have one).
  3. Pick a start date and end date for the rotation.
  4. Give the schedule a name (e.g., "March 2026 On-Call").
  5. Click Generate. Our algorithm will automatically assign each day to a team member, balancing weekdays, weekends, and holidays fairly.
  6. Review the generated calendar. Check the Fairness Score (0–100) displayed at the top β€” higher is better.
  7. If you're not satisfied, click Rebalance to regenerate, or click individual days to manually swap assignments.
  8. When you're happy, click Commit Schedule to save and optionally notify your team.

That's it! Your schedule is now live and visible to all team members.

Your dashboard is the first thing you see after logging in. Here's what each section means:

  • Active Schedules β€” The number of schedules currently in effect (covering today's date).
  • Team Members β€” Total active employees across all teams.
  • Pending Swaps β€” Swap or coverage requests awaiting action.
  • Who's On Call Today β€” A quick view of today's on-call assignments.

Quick actions: From the dashboard you can jump straight to creating a new schedule, viewing the full roster, or managing pending swap requests.

Once you've added team members, you can invite them to create their own login so they can view schedules, request swaps, and manage their notification preferences.

  1. Go to the Members page.
  2. Click the Invite button next to the employee's name (or use the bulk invite option).
  3. The employee receives a welcome email with a link to set their password.
  4. Once they log in, they'll see their upcoming on-call shifts highlighted on the schedule, and can request swaps or coverage from there.

Employees only see what their role allows β€” Standard members can view schedules and request swaps, while Viewers have read-only access. Admins and Managers have full control.

πŸ“…

Managing Schedules

To generate a schedule, navigate to Create Schedule:

  1. Select a team β€” Choose which team this rotation is for.
  2. Set the date range β€” Pick start and end dates. During the free trial, schedules are limited to 30 days. Paid plans have no limit.
  3. Name your schedule β€” Give it a descriptive name for easy reference later.
  4. Generate β€” Our fairness algorithm considers each member's history (last on-call date, total weekday/weekend/holiday assignments) and distributes shifts as evenly as possible.

The algorithm ensures no single person gets a disproportionate number of weekends or holidays. It also respects any existing schedules to avoid double-booking team members.

You can assign a backup person for each day in addition to the primary on-call. This ensures coverage if the primary person is unreachable.

How to enable it

In the Schedule Generator, check "Include Backup Rotation" in Step 2 (Roles to Include). The algorithm will automatically assign a backup for each shift.

How it works

  • Backup assignments are drawn from the same employee pool as primary β€” no separate backup role needed.
  • The backup person is never the same as the primary person on any given day.
  • The algorithm spaces out primary and backup shifts β€” if you're primary on Monday, you won't be backup on Tuesday (when possible).
  • Backup shift lengths match the primary β€” if Standard is set to 1-day shifts, backup is also 1 day.
  • With very small teams (2-3 people), spacing may not always be possible. The algorithm does its best.

On the calendar

Primary assignments show as solid color bubbles. Backup assignments show with a dashed border and a "BACKUP" label beneath the name.

Full feature support

Backup assignments work with all the same features as primary:

  • Manual editing β€” click any day to change the backup assignment.
  • Swap requests β€” backup employees can request swaps just like primary.
  • Notifications β€” SMS and email reminders include "(BACKUP)" so employees know their role.
  • Exports β€” PDF, CSV, and ICS calendar files include backup assignments. CSV adds an "Assignment" column (Primary/Backup).
  • Slack /oncall β€” shows both primary and backup for the day.
  • Fairness tracking β€” the dashboard tracks primary and backup distribution separately.

Every generated schedule shows a Fairness Score from 0 to 100:

  • 90–100: Excellent β€” shifts are very evenly distributed.
  • 70–89: Good β€” minor imbalances, usually acceptable.
  • Below 70: Consider rebalancing or making manual adjustments.

How it's calculated: The score measures the variance in total assignments across team members, weighted by shift type (weekday, weekend, holiday). Lower variance = higher score.

Rebalance: If the score isn't satisfactory, click the Rebalance button to regenerate the schedule with a fresh randomization seed. Each rebalance attempts to improve fairness while keeping the overall structure intact.

Need to make changes after generating (but before or after committing)? No problem:

  1. Open the schedule from the Schedules page.
  2. Click on any day in the calendar view.
  3. A dropdown appears showing all team members β€” select the person you want to assign to that day.
  4. The change is saved instantly, and the fairness score updates in real time.

This is perfect for accommodating last-minute requests, vacations, or known conflicts. You can make as many manual edits as you need.

All your schedules β€” past, present, and future β€” live on the Schedules page.

  • Each schedule displays its name, date range, team, and status.
  • Click any schedule to expand its inline calendar view, showing day-by-day assignments with color-coded team members.
  • Use the Delete button to remove schedules you no longer need. This cannot be undone, so use it carefully.

Schedules are sorted by date with the most recent first, making it easy to find what you're looking for.

OnCall Builder supports three export formats (available on paid plans):

  • PDF β€” A beautifully formatted, landscape-oriented calendar perfect for printing and hanging on a wall or posting in a break room.
  • CSV β€” A spreadsheet-compatible file with columns for date, assigned employee, and shift type. Great for importing into other tools or record-keeping.
  • ICS β€” A calendar file you can import directly into Google Calendar, Outlook, Apple Calendar, or any app that supports the iCalendar format. Each on-call shift appears as an all-day event.

To export, open any committed schedule and click the Export button, then choose your format.

During your 14-day free trial, schedules are limited to a maximum of 30 days in duration. This gives you plenty of room to test the system with a full month's rotation.

Once you subscribe to either the Standard or Pro plan, this limit is removed entirely β€” you can create schedules spanning any length of time (60 days, 90 days, a full year, etc.).

πŸ‘₯

Team Management

Manage your team from the Members page. When adding or editing a member, you can configure:

  • First & Last Name (required)
  • Email (required β€” used for login and email notifications)
  • Phone Number (optional β€” required for SMS notifications)
  • Role β€” Admin, Manager, Supervisor, Standard, or Viewer
  • Notification Preferences β€” Toggle email and/or SMS notifications on or off per member
  • Photo β€” Upload a profile picture that appears on schedules and the roster

Changes take effect immediately. Editing a member's role changes what they can see and do the next time they log in.

OnCall Builder has five roles, each with different permissions:

PermissionAdminManagerSupervisorStandardViewer
View schedulesβœ…βœ…βœ…βœ…βœ…
View own shifts highlightedβœ…βœ…βœ…βœ…βœ…
Request swaps/coverageβŒβŒβœ…βœ…βŒ
Approve/deny swapsβœ…βœ…βœ…βŒβŒ
Create & edit schedulesβœ…βœ…βŒβŒβŒ
Manage team membersβœ…βœ…βŒβŒβŒ
Manage teamsβœ…βœ…βŒβŒβŒ
Invite & reset passwordsβœ…βœ…βŒβŒβŒ
Manage holidaysβœ…βœ…βŒβŒβŒ
Configure shift timesβœ…βœ…βŒβŒβŒ
Notification settingsβœ…βœ…βŒβŒβŒ
Billing & subscriptionβœ…βŒβŒβŒβŒ
Export (PDF, CSV, ICS)βœ…βœ…βŒβŒβŒ
View reportsβœ…βœ…βŒβŒβŒ

Admin has unrestricted access to everything. Manager can do everything except billing β€” manage teams, members, schedules, settings, holidays, and approve swaps. Supervisor can view and approve swaps but can't create schedules. Standard members can view their schedules and request swaps. Viewer is read-only.

When a team member is temporarily or permanently leaving:

  • Suspend β€” The member is excluded from future schedule generation but their historical data and past assignments are preserved. They can't log in while suspended. You can reactivate them at any time and they'll pick right back up where they left off.
  • Delete β€” Permanently removes the member and all their associated data. Their past schedule assignments will show as "Deleted Member." This action cannot be undone.

Recommendation: Use Suspend for leaves of absence, temporary departures, or when you're unsure. Use Delete only when someone has permanently left and you want to clean up your roster.

If someone leaves mid-schedule, suspend them first, then edit the active schedule to reassign their remaining dates to other team members.

Adding photos helps your team quickly identify who's on call:

  1. Go to the Members page and click on a team member to edit.
  2. Click the photo area (or the camera icon) to open the file picker.
  3. Select an image (JPEG, PNG, or GIF). The image will be cropped to a circle automatically.
  4. Click Save.

To remove a photo, edit the member and click the Remove Photo option. The member will revert to showing their initials.

The Last On Call date tells the scheduling algorithm when each person was most recently on call. This is critical for maintaining fair rotations, especially when you first start using OnCall Builder.

  • When you create schedules in OnCall Builder, this date updates automatically.
  • If you're migrating from another system (spreadsheet, etc.), you can manually set each member's Last On Call date on the Members page to ensure continuity.
  • To clear a Last On Call date, edit the member and remove the date. The algorithm will treat them as having no recent on-call history, which may prioritize them in the next rotation.

This is especially useful when onboarding new employees β€” leaving their Last On Call blank ensures they get assigned early in the next rotation.

🏒

Teams & Organization

Teams let you organize your employees into separate on-call rotations. For example, you might have a "Network Ops" team and a "Field Services" team, each with their own schedules.

  1. Go to the Teams page.
  2. Click Create Team.
  3. Enter a team name and optionally a description.
  4. Add members to the team by selecting from your roster.
  5. Click Save.

A single employee can belong to multiple teams if needed. When generating a schedule, you select which team to schedule.

The main difference between plans is team capacity:

FeatureStandardPro
Price (Monthly)$14.99/mo$29.99/mo
Price (Annual)$161.89/yr$323.89/yr
Teams1Up to 5
Team MembersUnlimitedUnlimited
Schedule DurationUnlimitedUnlimited
Exports (PDF, CSV, ICS)βœ…βœ…
Swaps & Coverageβœ…βœ…
Notificationsβœ…βœ…
Slack Integrationβœ…βœ…

Both plans include all features. The Pro plan is ideal for larger organizations that need to manage multiple independent on-call rotations. Annual billing saves you roughly 10%.

Members are assigned to teams from the Teams page:

  1. Click on the team you want to manage.
  2. Click Add Members.
  3. Select one or more employees from the dropdown (it shows all members not yet on this team).
  4. Click Save.

To remove someone from a team, click the βœ• icon next to their name in the team member list. Removing them from a team doesn't delete the employee β€” they remain in your roster and can be added to other teams.

A member can belong to multiple teams simultaneously. They'll receive separate on-call assignments for each team they're part of.

Personalize your OnCall Builder workspace with your company logo:

  1. Go to Settings.
  2. Find the Company Logo section.
  3. Click Upload and select an image file (PNG or JPEG recommended, ideally with a transparent background).
  4. Your logo will appear in the navigation bar across all pages, replacing the default OnCall Builder branding for your team.

For best results, use a horizontal/landscape-oriented logo that's at least 200px wide. The logo is automatically resized to fit the navigation bar.

πŸ”„

Swaps & Coverage Requests

OnCall Builder supports two types of shift changes:

  • Swap β€” Two people trade dates. Person A takes Person B's date, and Person B takes Person A's date. Both parties must agree, and an admin/manager/supervisor must approve.
  • Coverage β€” One person covers another's date without a trade. Person B simply takes over Person A's shift. The covering person must agree, and an admin/manager/supervisor must approve.

Use a Swap when two people want to trade shifts. Use Coverage when someone needs their shift covered (e.g., for a doctor's appointment or emergency) without trading back.

Any team member with the Standard role or above can request a swap or coverage:

  1. Navigate to the schedule and find the date you need to change.
  2. Click on your assigned date and select Request Swap or Request Coverage.
  3. Choose the partner β€” the person you want to swap with or who you'd like to cover your shift.
  4. If it's a swap, also select which of the partner's dates you'll take in return.
  5. Provide a reason (e.g., "Doctor appointment") and optionally a note with extra details.
  6. Click Submit Request.

Your partner will receive a notification (email and/or app) asking them to confirm or decline the request.

Swap and coverage requests follow a three-step approval process:

  1. Step 1: Requester submits β€” The team member creates the request and it's sent to their partner.
  2. Step 2: Partner confirms or declines β€” The partner reviews the request and either accepts or declines. If they decline, the request is closed.
  3. Step 3: Admin/Manager/Supervisor approves or denies β€” Once the partner confirms, the request goes to someone with approval authority. They review and make the final decision.

At each step, all parties receive notifications. Once approved, the schedule is automatically updated to reflect the change. If denied at any step, the original schedule remains unchanged.

Admins, Managers, and Supervisors can manage all swap and coverage requests from the Swaps page:

  • Pending tab β€” Shows requests awaiting your approval. Each card shows the requester, partner, dates involved, type (swap or coverage), reason, and current status in the approval flow.
  • History tab β€” Shows all past requests (approved, denied, and canceled) for record-keeping.
  • Filtering β€” Filter by status, team, or date range to quickly find specific requests.

Click Approve or Deny on any pending request. When you approve, the schedule updates instantly and both parties are notified.

πŸ””

Notifications & Integrations

OnCall Builder sends email notifications for the following events:

  • Shift reminders β€” Notifies employees before their on-call shift starts (timing is configurable).
  • Schedule published β€” When a new schedule is committed, all assigned members receive an email summary.
  • Swap/coverage updates β€” Notifications at each step of the approval flow (request received, partner confirmed/declined, approved/denied).
  • Welcome email β€” Sent when an employee is first added to the system.
  • Invite email β€” Sent when an employee is invited to create their login credentials.

Email notifications are enabled by default for all members. You can toggle them off per-member on the Members page, or globally in Settings.

SMS notifications are available for time-sensitive alerts:

  • Shift start reminder β€” A text message before the on-call shift begins.
  • Shift end notification β€” A text when the shift is over.

Requirements:

  • The employee must have a phone number on file.
  • SMS must be opted in β€” either the admin enables it for the member, or the member enables it in their own notification preferences.

SMS notifications are intentionally limited to shift start/end to avoid alert fatigue. For other updates (swaps, schedule changes), email and Slack are used instead.

You can customize when shift reminders are sent, similar to how Google Calendar lets you set reminder offsets:

  1. Go to Settings.
  2. Find the Notification Timing section.
  3. Set the reminder offset β€” for example, "30 minutes before," "1 hour before," "1 day before," etc.
  4. This applies to both email and SMS shift reminders.

The default is typically set to remind employees a reasonable time before their shift. Adjust this based on your team's needs β€” teams with early morning shifts may want more advance notice.

Connect OnCall Builder to your Slack workspace for real-time notifications:

  1. Go to Settings β†’ Integrations.
  2. Click Connect to Slack and authorize OnCall Builder in your Slack workspace.
  3. Choose a channel for schedule and swap notifications.

What Slack provides:

  • /oncall command β€” Type /oncall in any channel to instantly see who's on call right now.
  • Schedule published notifications β€” When a schedule is committed, a summary is posted to your chosen channel.
  • Swap approval notifications β€” Swap and coverage request updates are posted for transparency.

The Slack integration works alongside email and SMS β€” it doesn't replace them. It adds a convenient, team-visible layer of communication.

Notifications can be configured at two levels:

  • Per-employee β€” On the Members page, each employee has toggles for email and SMS notifications. Employees can also manage their own preferences after logging in.
  • Global (Settings) β€” Admins can configure default notification behavior, timing offsets, and Slack channel routing from the Settings page.

The per-employee setting takes precedence. If an employee turns off email notifications for themselves, they won't receive emails even if the global setting is on.

πŸ’³

Account & Billing

Every new account starts with a 14-day free trial. Here's what to know:

  • Full access β€” You can use every feature: schedule generation, team management, swaps, notifications, Slack integration, and reports.
  • Exports locked β€” PDF, CSV, and ICS exports are available only on paid plans.
  • 30-day schedule cap β€” Schedules during the trial can span a maximum of 30 days.
  • No credit card required β€” You won't be charged anything unless you actively subscribe.

When your trial ends, you can still log in and view your data, but you won't be able to create new schedules or process swaps until you subscribe.

OnCall Builder offers two straightforward plans:

  • Standard β€” $14.99/month (or $161.89/year, save ~10%): Everything you need for a single team. Unlimited members, unlimited schedule duration, all exports, full notification and integration support.
  • Pro β€” $29.99/month (or $323.89/year, save ~10%): Everything in Standard, plus support for up to 5 teams. Ideal for larger organizations with multiple departments or shifts.

Both plans include all features β€” the only difference is the number of teams you can create. Start with Standard and upgrade to Pro if you need more teams.

Manage your subscription from the Billing page:

  • View current plan β€” See which plan you're on, billing cycle, and next payment date.
  • Upgrade/Downgrade β€” Switch between Standard and Pro at any time. Changes take effect at the start of your next billing cycle.
  • Update payment method β€” Click Manage Billing to open the secure billing portal where you can update your credit card, view invoices, and download receipts.
  • Switch billing frequency β€” Move between monthly and annual billing.

All payments are processed securely through Stripe. We never store your full credit card number on our servers.

You can cancel your subscription at any time from the Billing page:

  1. Click Manage Billing to open the billing portal.
  2. Select Cancel Subscription.
  3. Your plan remains active until the end of your current billing period β€” you won't lose access immediately.

What happens after cancellation:

  • You can still log in and view all your existing data (schedules, members, history).
  • You can't create new schedules, process swaps, or use exports.
  • Your data is retained for 90 days after cancellation. If you resubscribe within that window, everything picks up where you left off.
  • After 90 days, data may be permanently deleted.
βš™οΈ

Settings & Configuration

Update your organization's profile from the Settings page:

  • Company Name β€” Displayed in the navigation bar and on exported schedules.
  • Email β€” The primary admin email address. Used for billing communications and account recovery.
  • Password β€” Change your login password. You'll need to enter your current password for verification.

Changes save automatically or when you click the Save button, depending on the field.

Define when on-call shifts start and end for each day of the week:

  1. Go to Settings β†’ Shift Times.
  2. For each day (Monday–Sunday), set the start time and end time.
  3. You can also set separate shift times for holidays.
  4. Click Save.

Shift times are used for notification timing (e.g., "30 minutes before shift start") and display purposes. The scheduling algorithm assigns full days regardless of shift hours β€” the times define when the "active" shift window is.

Common examples: 8:00 AM – 8:00 AM (24-hour rotation), 7:00 AM – 5:00 PM (business hours), or 6:00 PM – 6:00 AM (overnight).

OnCall Builder comes with all US Federal holidays pre-loaded. You can customize which holidays are recognized and add your own:

  • Enable/disable holidays β€” Toggle the checkbox next to any federal holiday to include or exclude it. Disabled holidays are treated as regular days by the scheduling algorithm.
  • Add custom holidays β€” Click Add Holiday, enter a name and date, and it's added to the list. Great for company-specific days off, regional holidays, or observances.
  • Year selection β€” Use the year dropdown to view and manage holidays for different years. Federal holidays automatically adjust for the selected year.
  • Delete custom holidays β€” Custom holidays can be removed; federal holidays can only be toggled on or off.

The scheduling algorithm uses enabled holidays to ensure on-call assignments on holidays are distributed fairly and counted differently from regular weekdays.

Complete permissions breakdown by role:

CapabilityAdminManagerSupervisorStandardViewer
View all schedulesβœ…βœ…βœ…βœ…βœ…
See own shifts highlightedβœ…βœ…βœ…βœ…βœ…
Request swap or coverageβŒβŒβœ…βœ…βŒ
Approve or deny swap requestsβœ…βœ…βœ…βŒβŒ
Create new schedulesβœ…βœ…βŒβŒβŒ
Edit existing schedulesβœ…βœ…βŒβŒβŒ
Delete schedulesβœ…βœ…βŒβŒβŒ
Add/edit/remove membersβœ…βœ…βŒβŒβŒ
Create/manage teamsβœ…βœ…βŒβŒβŒ
Invite & reset passwordsβœ…βœ…βŒβŒβŒ
Manage holidaysβœ…βœ…βŒβŒβŒ
Configure shift timesβœ…βœ…βŒβŒβŒ
Notification settingsβœ…βœ…βŒβŒβŒ
Access Billing pageβœ…βŒβŒβŒβŒ
View Reportsβœ…βœ…βŒβŒβŒ
Export schedulesβœ…βœ…βŒβŒβŒ
Invite members to log inβœ…βŒβŒβŒβŒ
❓

Frequently Asked Questions

Yes. Security is a top priority at OnCall Builder:

  • HTTPS everywhere β€” All data in transit is encrypted with TLS/SSL.
  • Password hashing β€” Passwords are securely hashed using industry-standard algorithms (bcrypt). We never store plaintext passwords.
  • Secure hosting β€” Our infrastructure runs on reputable cloud providers with enterprise-grade security controls.
  • Payment security β€” All billing is processed through Stripe, a PCI-compliant payment processor. We never see or store your full credit card number.

Direct schedule import (from CSV or other tools) is not yet available, but it's on our roadmap. In the meantime, you can maintain rotation continuity by:

  • Setting each team member's Last On Call date on the Members page to match their most recent on-call shift from your previous system.
  • The algorithm uses these dates to pick up the rotation naturally, ensuring the person who was on call most recently isn't immediately assigned again.

Our algorithm balances three dimensions across all team members:

  • Weekday assignments β€” Total Monday–Friday shifts are distributed evenly.
  • Weekend assignments β€” Saturday and Sunday shifts are tracked and balanced separately, since weekends are generally less desirable.
  • Holiday assignments β€” Enabled holidays are given extra weight in the fairness calculation to ensure no one gets stuck with a disproportionate number of holiday shifts.

The algorithm also considers each member's Last On Call date and historical assignment counts to maintain long-term fairness across multiple scheduling periods.

Yes. All logged-in employees (regardless of role) can view the full schedule for any team they belong to. Their own shifts are highlighted on the calendar so they can quickly see when they're on call.

This transparency is by design β€” it helps team members coordinate coverage requests and plan ahead. If you need to restrict visibility, consider using the Viewer role, which provides read-only access without swap capabilities.

If a team member departs while they still have upcoming on-call assignments:

  1. Suspend the member from the Members page. This prevents them from logging in and excludes them from future schedule generation.
  2. Open the active schedule on the Schedules page.
  3. Click each of their remaining dates and reassign to another team member.

Suspending (rather than deleting) preserves their historical data and keeps past schedules intact. If the person returns later, you can simply reactivate them.

OnCall Builder is currently optimized for single-timezone teams. All shift times and notifications are based on the shift schedule you configure in Settings.

If your team spans multiple time zones, the schedule still works β€” but shift start/end notifications will be based on the configured times, not each member's local time. Multi-timezone support with per-member time zone settings is something we're considering for a future update.

We're here for you! If you can't find the answer in this Help Center, reach out to us directly:

When contacting support, please include your account email and a description of the issue. Screenshots are always helpful!

πŸ“§

Still need help?

Our support team is happy to assist. We typically respond within 24 hours during business days. Don't hesitate to reach out β€” no question is too small!

Contact Support