> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Operating Schedules

> Control when alert rules are active with time-based schedules

<div aria-hidden="true" style={{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap"}}>For LLM agents: documentation index at <a href="/llms.txt" tabIndex={-1}>/llms.txt</a>, full text at <a href="/llms-full.txt" tabIndex={-1}>/llms-full.txt</a>. Append .md to any page URL for plain markdown.</div>
Operating schedules let you define business hours or monitoring windows so alerts only fire when your team is available to respond. Instead of waking up on-call engineers at 3 AM for non-critical issues, schedules suppress alerts outside defined time windows.

<Frame caption="A typical business-hours operating schedule">
  <img src="https://mintcdn.com/anomalyarmor/CZXBGa_D1aE9spAI/images/diagrams/operating-schedule-light.svg?fit=max&auto=format&n=CZXBGa_D1aE9spAI&q=85&s=5b9a39fc0251c7ef7ef13224114b0331" alt="Week grid showing Mon-Fri 9am-6pm as active monitoring window" className="block dark:hidden" width="900" height="340" data-path="images/diagrams/operating-schedule-light.svg" />

  <img src="https://mintcdn.com/anomalyarmor/CZXBGa_D1aE9spAI/images/diagrams/operating-schedule-dark.svg?fit=max&auto=format&n=CZXBGa_D1aE9spAI&q=85&s=baaad8dfcacb78fc1402a64375dac5e5" alt="Week grid showing Mon-Fri 9am-6pm as active monitoring window" className="hidden dark:block" width="900" height="340" data-path="images/diagrams/operating-schedule-dark.svg" />
</Frame>

## How Schedules Work

Schedules sit between rule evaluation and alert delivery:

1. An event matches an alert rule
2. AnomalyArmor checks whether the current time falls within the rule's operating schedule
3. If inside the schedule window, the alert is delivered normally
4. If outside the schedule window, the alert is suppressed with reason "outside operating hours"

<Note>
  Suppressed alerts still appear in **Alerts > History** for auditing. No data is lost. You can always review what happened outside your schedule windows.
</Note>

## Creating a Schedule

<Steps>
  <Step title="Navigate to Schedules">
    Go to **Alerts** in the sidebar, then click the **Schedules** tab.
  </Step>

  <Step title="Click New Schedule">
    Click **New Schedule** to open the schedule builder.
  </Step>

  <Step title="Name the Schedule">
    Give it a clear, descriptive name that reflects when it's active:

    **Good names:**

    * "Business Hours EST"
    * "24/7 Weekdays Only"
    * "APAC Coverage Window"

    **Avoid:**

    * "Schedule 1"
    * "My schedule"
  </Step>

  <Step title="Set Timezone">
    Select the timezone for this schedule using IANA format:

    * `America/New_York`
    * `Europe/London`
    * `Asia/Tokyo`

    <Tip>
      Use a timezone that matches your team's working hours, not the database server's timezone.
    </Tip>
  </Step>

  <Step title="Add Schedule Rules">
    Define one or more time windows. Each rule specifies which days and what time range the schedule is active.

    * **Days**: Select one or more days (Monday through Sunday)
    * **Start time**: When the window opens (24-hour format, HH:MM)
    * **End time**: When the window closes (24-hour format, HH:MM)

    Click **Add Rule** to add additional time windows.
  </Step>

  <Step title="Save">
    Click **Save** to create the schedule. It can now be assigned to alert rules.
  </Step>
</Steps>

## Schedule Rules

Each schedule contains one or more rules that define active time windows. Rules are combined with OR logic, so an alert fires if the current time falls within any of the schedule's rules.

### Rule Structure

Each rule defines three things:

| Field          | Format                        | Example        |
| -------------- | ----------------------------- | -------------- |
| **Days**       | 1 = Monday through 7 = Sunday | 1-5 (weekdays) |
| **Start time** | HH:MM (24-hour)               | 09:00          |
| **End time**   | HH:MM (24-hour)               | 18:00          |

### Combining Rules

Use multiple rules to cover different day/time combinations:

| Rule | Days          | Start | End   | Coverage               |
| ---- | ------------- | ----- | ----- | ---------------------- |
| 1    | Mon-Fri (1-5) | 09:00 | 18:00 | Weekday business hours |
| 2    | Sat (6)       | 10:00 | 14:00 | Saturday morning shift |

This schedule activates alerts Monday through Friday from 9 AM to 6 PM, plus Saturday from 10 AM to 2 PM.

### Overnight Schedules

If the start time is later than the end time, the window wraps to the next day:

| Rule | Days          | Start | End   | Coverage               |
| ---- | ------------- | ----- | ----- | ---------------------- |
| 1    | Mon-Thu (1-4) | 22:00 | 06:00 | Overnight batch window |

This covers 10 PM to 6 AM the following morning, Monday night through Friday morning.

## Assigning to Rules

Schedules take effect when assigned to an alert rule.

### During Rule Creation

When creating a new alert rule, select a schedule from the **Operating Schedule** dropdown in the rule builder. Leave it blank to keep the rule always active.

### On an Existing Rule

1. Go to **Alerts > Rules**
2. Click the rule name to edit
3. Select or change the **Operating Schedule**
4. Click **Save**

<Note>
  Removing a schedule from a rule makes it always active. Alerts are never lost. They are suppressed and logged when outside the schedule window.
</Note>

### Constraints

* A rule can only have one schedule at a time
* Rules without a schedule are always active
* Multiple rules can share the same schedule
* Changing a schedule affects all rules that use it

## Timezone Handling

Schedules evaluate against the current time in the configured timezone:

* All times use IANA timezone identifiers (`America/New_York`, `Europe/London`, `Asia/Tokyo`)
* Daylight Saving Time transitions are handled automatically
* When clocks spring forward, the schedule adjusts accordingly. A 2 AM to 3 AM window would be skipped on the transition day
* When clocks fall back, the schedule covers the repeated hour

<Warning>
  Avoid using UTC offsets like `UTC-5` for schedules in regions that observe DST. Use the region-based identifier (e.g., `America/New_York`) so DST is handled correctly.
</Warning>

## Common Patterns

### Business Hours Only

Standard weekday coverage for a single team:

| Rule | Days          | Start | End   |
| ---- | ------------- | ----- | ----- |
| 1    | Mon-Fri (1-5) | 09:00 | 18:00 |

**Best for**: Non-critical alerts that can wait until the next business day.

### 24/7 Weekdays with Reduced Weekends

Full weekday coverage with limited weekend hours:

| Rule | Days          | Start | End   |
| ---- | ------------- | ----- | ----- |
| 1    | Mon-Fri (1-5) | 00:00 | 23:59 |
| 2    | Sat-Sun (6-7) | 09:00 | 17:00 |

**Best for**: Teams with weekend on-call during daytime hours only.

### Follow the Sun

Multiple rules covering regional business hours for global teams:

| Rule | Days          | Start | End   | Region                      |
| ---- | ------------- | ----- | ----- | --------------------------- |
| 1    | Mon-Fri (1-5) | 09:00 | 18:00 | US East (America/New\_York) |
| 2    | Mon-Fri (1-5) | 09:00 | 18:00 | Europe (Europe/London)      |
| 3    | Mon-Fri (1-5) | 09:00 | 18:00 | APAC (Asia/Tokyo)           |

<Note>
  Follow-the-sun requires creating separate schedules (one per timezone) and separate alert rules for each region's destinations.
</Note>

## Common Questions

### How do I stop getting paged outside business hours?

Create a schedule with Mon-Fri, 09:00 to 18:00 in your team's timezone and assign it to the rule in the **Operating Schedule** dropdown. Events that fire outside the window are suppressed and logged with reason "outside operating hours". For company-wide quiet periods, use [blackout windows](/alerts/blackouts) instead.

### Can one schedule cover overnight hours?

Yes. Set the start time later than the end time and the window wraps to the next day. For example, Mon-Thu with start 22:00 and end 06:00 covers each overnight period from Monday night through Friday morning.

### Does an operating schedule handle daylight saving time?

Yes, as long as you use an IANA identifier like `America/New_York` rather than a fixed UTC offset. DST transitions are handled automatically: spring-forward skips the repeated hour, fall-back covers it. Fixed offsets like `UTC-5` will drift when DST changes.

### Can multiple rules share the same schedule?

Yes. One schedule can be assigned to any number of rules, and editing the schedule affects all of them. A rule can only have one schedule at a time, and rules with no schedule are always active.

### How do I set up follow-the-sun alerting across regions?

Create one schedule per region using the region's IANA timezone (e.g., `America/New_York`, `Europe/London`, `Asia/Tokyo`) and one alert rule per region routing to that region's destinations. There is no single "any region" schedule. The per-rule assignment is what makes the routing work.

## Next Steps

<CardGroup cols={2}>
  <Card title="Create Alert Rules" icon="plus" href="/alerts/alert-rules">
    Assign schedules to your alert rules
  </Card>

  <Card title="Best Practices" icon="lightbulb" href="/alerts/best-practices">
    Reduce alert fatigue with effective scheduling
  </Card>
</CardGroup>
