Skip to main content
In an On-call system, schedules are the bridge connecting “incidents” to “people”. A well-designed on-call mechanism ensures someone always responds when incidents occur, while preventing any single person from being under high pressure for extended periods, enabling sustainable operations for the team. Flashduty On-call provides highly flexible scheduling capabilities, supporting daily, weekly, and custom rotation cycles, as well as complex scenarios like day/night shifts and primary/backup on-call.

Core Concepts


Understanding these concepts before configuration will help you better plan your schedules: Schedule Concepts

Configuration Process


1

Create a Schedule

Go to Schedule Management, click “Create Schedule”
  • Schedule Name: 1–40 characters, must be unique within the account
  • Owning Team: Specifies which team manages this schedule; team members gain edit permissions for this schedule
  • Schedule Description: Supports Markdown syntax, content can be included in notifications; up to 500 characters
  • Time Zone: Required. The schedule’s rotations and shifts are computed on the wall-clock time of this zone (e.g. “handover at 09:00 daily” means 09:00 in the schedule’s own zone). It cannot be changed after creation; to use a different zone, create a new schedule and migrate the dispatch policy references
The schedule list shows a Time Zone column. The roster page labels two zones side by side: “times on this page are shown in your time zone” is the viewer’s effective zone (personal time zone, or the organization zone when none is set), while the schedule time zone is the zone the shifts are defined in; concrete times on screen are converted to the viewer’s zone.
Schedules created before multi-time-zone support shipped have no time zone field and are evaluated as Asia/Shanghai.
The Free plan allows you to create only 1 schedule. Upgrade to the Standard plan or higher to create more.
2

Set Shift Notifications

To prevent forgetting shifts or handoffs, the system provides two notification triggers:
  • Advance Notification: Notifies both outgoing and incoming personnel N minutes before handoff (in 5-minute increments)
  • Scheduled Notification: Sends a daily notification at a fixed time (e.g., 8:00 AM) reminding who is currently on-call. The fixed time is interpreted in the schedule’s time zone (same wall-clock basis as rotations and shifts); when your time zone differs from the schedule’s, a badge next to the time input labels the schedule’s time zone
After enabling either notification trigger, you need to configure notification channels:
  • Personal Channels: Send notifications directly to on-call personnel
    • Follow personal preference: Each responder receives notifications via their personally configured channels
    • Follow unified settings: Administrators select notification channels (SMS, email, and integrated IM apps)
  • Group Chat Channels: Send notifications to group chats, supporting the following platforms:
    • Feishu app, DingTalk app, Slack app (select chat groups via integrated IM apps; the picker automatically excludes platform-created chats such as war rooms, and stale targets render as Chat unavailable and can be removed)
    • WeCom bot, DingTalk bot, Feishu bot (send via webhook URL)
    • Slack bot, Telegram bot, Zoom bot
When you choose Follow personal preference, on-call personnel must meet the following prerequisites — otherwise they will not receive notifications even while on shift:
  1. Set up personal channels such as SMS and email in Personal Center
  2. Log in through the Flashduty app inside an IM platform (Feishu, DingTalk, WeCom, etc.) and complete account binding
  3. Configure notification preferences on the Personal Account page (choose which channels to prioritize)
3

Define On-call Rules

This is the core step. You can add one or more layers of rules. Each layer includes:
  • On-call Personnel: Select members participating in rotation, supports grouping and primary/backup roles
  • Start Time: When this layer of rules takes effect
  • End Time (optional): When this layer expires. Leave blank for no expiration. Combined with the start time, this is useful for phased rotations — for example, “effective starting next Monday” or “valid within this quarter”
  • Rotation Cycle: Supports four units — hour, day, week, and month — with values from 1 to 30. For example, “2 days” means rotation every 2 days
  • Handoff Time: When the rotation cycle adds up to 1 week (e.g., 1 week, or 7 days), you can specify the day and time for handoff
  • Fair Rotation: When enabled, the system automatically adjusts rotation order to prevent someone from always being on-call during weekends
  • Date Mask: Select which days of the week to schedule on-call. Monday through Friday are selected by default. See Date mask and continuous rotation for details
  • Time Restriction: (Optional) Restrict actual on-call hours within each rotation cycle, with the following modes:
    • No restriction: Members are on-call for the entire rotation cycle
    • Daily: Set daily on-call time ranges (e.g., 09:00–18:00), multiple periods can be added. Input uses HH:MM wall-clock time, which cannot express 24:00 — so an end time of 00:00 means end of day, and 00:00–00:00 means on-call for the full day
    • Weekly: Set day+time on-call ranges (e.g., Monday 09:00 – Friday 18:00), multiple periods can be added
When date mask is enabled, the “Weekly” restriction mode is unavailable since the date mask already provides day-of-week control. If you enable the date mask while the time restriction is already in “Weekly” mode, the system automatically resets it to “No restriction” to avoid conflicts. After setting time restrictions, there may be gaps with no one on-call — ensure other rules provide coverage.

Delete a schedule


You can delete a schedule from the schedule list or the schedule detail page. The system asks for confirmation before deletion.
If a schedule is referenced by escalation rules, the delete button is disabled. Hover over it to see the list of referencing escalation rules (channel → rule name). Remove the references in the corresponding channels before deleting the schedule, so that you don’t miss new incident notifications after deletion.

On-call roles


On-call roles distinguish responders with different responsibilities within the same schedule (e.g., “primary” and “backup”) and are an account-level resource:
  • Shared across the account: Roles take effect at the account level and are shared by all schedules
  • Grouped by role inside a rule: When adding personnel to a schedule rule, you can bind members to a specific role, forming a “role → member” mapping
  • Escalation rules target by role: Escalation rules support notifying all on-call personnel, specific roles (e.g., notify primary only), or specific members, enabling finer-grained alert routing
By default, each account has only one on-call role, so you don’t need to choose a role when adding responders. If you need multiple roles (such as primary/backup), contact Flashduty support to enable them. Once enabled, you can assign roles to members both in schedule rules and in overrides. Self-service role management is not available in the console.

Override and time off


When on-call personnel need time off or have a temporary conflict, don’t modify permanent rules — use the “Override” feature instead. An override is an independent rule type that fully preempts the normal on-call rules within its effective window. Once the window ends, the original rules resume automatically.

Two ways to create an override

1

Create from the calendar

On the schedule details page, click the time slot you want to adjust in the calendar view, and choose Override. The system prefills the default window as [today 00:00, next day 00:00], which you can adjust as needed.
2

Create via "Add Rule"

In the on-call rule list, click Add Rule and switch the rule type to Override. This entry point is ideal for planning time off or coverage in bulk ahead of time.

Configurable fields

Overrides have a smaller field set than regular rules and only include:
  • Start Time / End Time: Define the override window. Defaults to [today 00:00, next day 00:00]
  • Replacement Person: The member who replaces the original on-call person within that window
Overrides do not support rotation cycle, date mask, grouping, or other regular-rule fields. For accounts with multiple on-call roles enabled, you can also assign a role to the replacement person in an override.
  • Preemption semantics: Within its time window, an override fully replaces all regular on-call rules (regardless of which layer they belong to), rather than stacking with them. Once the window ends, the original rules automatically resume
  • Audit trail: All override records are saved for later review
We recommend having a brief sync meeting between outgoing and incoming on-call personnel before official handoff to confirm outstanding issues and current system status—this is safer than just system notifications.

Date mask and continuous rotation


Date mask

Date mask controls which days of the week an on-call rule takes effect. By selecting different day combinations, you can flexibly implement differentiated scheduling between weekdays and weekends. Common use cases:
  • Weekday/weekend separation: Team A on-call during weekdays, Team B on weekends
  • Specific day scheduling: Assign certain personnel only on Monday, Wednesday, and Friday
  • Day/night shift by day: Configure day and night shift rules for weekdays, and full-day on-call rules for weekends

Continuous rotation

By default, schedules are divided at 00:00 each calendar day. If a shift spans midnight, it will be split into separate time segments. Default Rotation When continuous rotation is enabled, rotation boundaries are calculated based on shift start time rather than the 00:00 cutoff. Each on-call member will complete a full rotation cycle without being split at midnight. Continuous Rotation
Consider enabling continuous rotation in the following scenarios:
  • Rotation cycle is 24 hours
  • Shift start time is not 00:00
  • Day-of-week date mask is configured
  • Different rotation rules for weekdays and weekends

Common scheduling scenarios


Requirement: Ops team has A, B, C—each person on-call for one week, handoff Monday at 10:00 AM.Configuration:
  • Personnel sequence: A, B, C
  • Rotation cycle: 1 week
  • Handoff time: Monday 10:00
Result: A on-call one week → B on-call one week → C on-call one week → A on-call one week…Simple Rotation

View schedule details


Click a schedule name to enter the detail page, where you can view the scheduling calendar and manage on-call rules. The upper right corner provides these options:
  • View switcher: Toggle between “Week”, “Two Weeks”, and “Calendar” (month view)
  • Highlight my shifts: When enabled, your on-call shifts are highlighted for quick identification
Click any time slot in the calendar to view the current responders or create an override.

View My Schedule


The Schedules list page embeds a My Schedule section at the top, summarizing your on-call assignments in a week view: the left column lists the schedules in which you have shifts this week, and the calendar on the right shows your on-call time slots in each schedule. Click the left and right arrows next to the section title to browse previous or upcoming weeks, and click the dot button in the middle to quickly jump back to the current week. Shift times are rendered in your effective time zone; when a schedule’s time zone differs from yours, an extra line showing the same slot in the schedule’s time zone is attached for comparison.

Escalation Rules

Configure alert notification rules and escalation paths

Service Calendar

Define workdays and rest days