Skip to main content

Uptime Calendar

Pro Plan Required

Calendar integration is available on the Pro and Enterprise plans. View plans or upgrade now.

Subscribe to NightOps uptime calendars to see when your resources are scheduled to be running or stopped.

Overview

NightOps generates iCal feeds that show:

  • When collections are scheduled to start
  • When collections are scheduled to stop
  • Unscheduled on/off events
  • Planned maintenance windows
┌──────────────────────────────────────────────────────────┐
│ January 2024 │
├──────────┬──────────┬──────────┬──────────┬─────────────┤
│ Monday │ Tuesday │Wednesday │ Thursday │ Friday │
├──────────┼──────────┼──────────┼──────────┼─────────────┤
│ │ │ │ │ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 🟢 Staging API: ON (8am-8pm) │ │
│ └──────────────────────────────────────────────────┘ │
│ │ │ │ │ │
├──────────┴──────────┴──────────┴──────────┴─────────────┤
│ Saturday │ Sunday │ │
├──────────┼──────────┤ │
│ 🔴 OFF │ 🔴 OFF │ │
└──────────┴──────────┴───────────────────────────────────┘

Getting Your Calendar URL

Organization Calendar

Shows all scheduled events across all collections:

  1. Go to Settings → Calendar
  2. Copy the Organization Calendar URL
  3. Add to your calendar app

Collection Calendar

Shows events for a specific collection:

  1. Go to Infrastructure → Collection
  2. Click Calendar tab
  3. Copy the Calendar URL

Personal Calendar

Shows only collections you have access to:

  1. Go to Profile → Calendar
  2. Copy your Personal Calendar URL

Adding to Google Calendar

Web

  1. Open Google Calendar
  2. Click + next to "Other calendars"
  3. Select From URL
  4. Paste your NightOps calendar URL
  5. Click Add calendar

Mobile (iOS/Android)

  1. Open Google Calendar app
  2. Tap Menu → Settings → Add calendar
  3. Select From URL
  4. Paste your NightOps calendar URL
  5. Tap Add

Sync Frequency

Google Calendar syncs external calendars every 12-24 hours. For more frequent updates:

  • Manually refresh in the web interface
  • Use a third-party sync tool

Adding to Apple Calendar

macOS

  1. Open Calendar app
  2. Go to File → New Calendar Subscription
  3. Paste your NightOps calendar URL
  4. Click Subscribe
  5. Configure refresh frequency:
    • Every 5 minutes (recommended)
    • Every 15 minutes
    • Every hour
  6. Click OK

iOS

  1. Open Settings → Calendar → Accounts
  2. Tap Add Account → Other
  3. Tap Add Subscribed Calendar
  4. Paste your NightOps calendar URL
  5. Tap Next → Save

Adding to Outlook

Outlook Web (Microsoft 365)

  1. Go to Outlook Calendar
  2. Click Add calendar → Subscribe from web
  3. Paste your NightOps calendar URL
  4. Name the calendar (e.g., "NightOps Staging")
  5. Click Import

Outlook Desktop

  1. Go to Calendar view
  2. Right-click Other Calendars
  3. Select Add Calendar → From Internet
  4. Paste your NightOps calendar URL
  5. Click OK

Calendar Events

Uptime Events

Shows when collections are running:

Title: 🟢 Staging API: Running
Start: Monday 8:00 AM
End: Monday 8:00 PM
Description:
Collection: Staging API
Schedule: Weekday Business Hours
Resources: 5 assets
Est. Cost: $29.20/day

Downtime Events

Shows when collections are stopped:

Title: 🔴 Staging API: Stopped
Start: Monday 8:00 PM
End: Tuesday 8:00 AM
Description:
Collection: Staging API
Scheduled stop
Savings: $43.80/night

Override Events

Shows manual starts/stops:

Title: ⚡ Staging API: Manual Start
Start: Saturday 2:00 PM
End: Saturday 6:00 PM
Description:
Started by: alice@company.com
Reason: "Weekend deployment"
Note: Outside normal schedule

Event Colors

Configure event colors to quickly identify status:

ColorMeaning
🟢 GreenResources running
🔴 RedResources stopped
🟡 YellowStarting/stopping
🔵 BlueManual override
⚫ GrayMaintenance window

Customize Colors

  1. Go to Settings → Calendar → Colors
  2. Configure colors for each event type
  3. Save

Filtering Events

By Collection

Subscribe to individual collection calendars instead of the organization calendar:

Organization: https://app.nightops.io/cal/org_abc123
Collection: https://app.nightops.io/cal/col_xyz789

By Environment

Create filtered calendar URLs:

Staging only:    https://app.nightops.io/cal/org_abc123?env=staging
Production only: https://app.nightops.io/cal/org_abc123?env=production

By Event Type

Uptime only:     https://app.nightops.io/cal/org_abc123?type=uptime
Downtime only: https://app.nightops.io/cal/org_abc123?type=downtime
Overrides only: https://app.nightops.io/cal/org_abc123?type=override

Calendar URL Security

Private URLs

Each calendar URL contains a secret token:

https://app.nightops.io/cal/org_abc123?token=secret_xyz
  • Don't share URLs publicly
  • Regenerate if compromised
  • Each user has unique URLs

Regenerate URL

If your calendar URL is compromised:

  1. Go to Settings → Calendar
  2. Click Regenerate URL
  3. Update subscriptions with new URL
  4. Old URL stops working immediately

Team Calendar

Create a shared team calendar:

Setup

  1. Go to Settings → Calendar → Team Calendar
  2. Enable Team Calendar
  3. Select which collections to include
  4. Copy the team calendar URL

Share with Team

  1. Add to a shared Google Calendar
  2. Invite team members to subscribe
  3. Or embed in your team wiki/dashboard

Embed in Dashboard

iFrame Embed

Embed an interactive calendar view:

<iframe
src="https://app.nightops.io/embed/calendar?org=abc123&token=xyz"
width="800"
height="600"
frameborder="0">
</iframe>

Widget

Add a compact status widget:

<script src="https://app.nightops.io/widget.js"></script>
<div id="nightops-calendar"
data-org="abc123"
data-token="xyz"
data-collections="staging-api,staging-db">
</div>

Timezone Handling

Schedule Timezone

Schedules run in their configured timezone:

Schedule: Weekday Business Hours
Timezone: America/New_York
Start: 8:00 AM ET
Stop: 8:00 PM ET

Calendar Display

Calendar events display in your calendar app's timezone:

  • If your calendar is set to Pacific, an 8am ET event shows as 5am PT
  • The underlying schedule still runs at 8am ET

Daylight Saving Time

NightOps handles DST automatically:

  • "8:00 AM" stays at 8:00 AM local time
  • Clock changes are handled correctly
  • No need to update schedules

Troubleshooting

Events Not Showing

  1. Verify calendar URL is correct
  2. Check calendar app is refreshing
  3. Force refresh in calendar settings
  4. Verify collections have schedules attached

Wrong Times

  1. Check schedule timezone settings
  2. Verify calendar app timezone
  3. Ensure DST is handled correctly

Duplicate Events

  1. Check if subscribed multiple times
  2. Remove duplicate calendar subscriptions
  3. Regenerate URL if needed

"Invalid Calendar" Error

  1. Verify URL is complete (including token)
  2. Check URL hasn't been regenerated
  3. Contact support if persistent

Best Practices

Subscribe Everyone

Encourage team to subscribe:

  • Developers know when staging is available
  • QA knows when QA environment runs
  • On-call sees scheduled maintenance

Use Colored Calendars

Configure different colors per collection:

Staging   → Blue calendar
QA → Green calendar
Prod → Red calendar

Plan Around Schedule

Check the calendar before:

  • Scheduling deployments
  • Planning testing windows
  • Booking demos

Set Reminders

Add calendar reminders:

  • 10 minutes before staging stops
  • 1 hour before weekend downtime

Next Steps