Uptime Calendar
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:
- Go to Settings → Calendar
- Copy the Organization Calendar URL
- Add to your calendar app
Collection Calendar
Shows events for a specific collection:
- Go to Infrastructure → Collection
- Click Calendar tab
- Copy the Calendar URL
Personal Calendar
Shows only collections you have access to:
- Go to Profile → Calendar
- Copy your Personal Calendar URL
Adding to Google Calendar
Web
- Open Google Calendar
- Click + next to "Other calendars"
- Select From URL
- Paste your NightOps calendar URL
- Click Add calendar
Mobile (iOS/Android)
- Open Google Calendar app
- Tap Menu → Settings → Add calendar
- Select From URL
- Paste your NightOps calendar URL
- 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
- Open Calendar app
- Go to File → New Calendar Subscription
- Paste your NightOps calendar URL
- Click Subscribe
- Configure refresh frequency:
- Every 5 minutes (recommended)
- Every 15 minutes
- Every hour
- Click OK
iOS
- Open Settings → Calendar → Accounts
- Tap Add Account → Other
- Tap Add Subscribed Calendar
- Paste your NightOps calendar URL
- Tap Next → Save
Adding to Outlook
Outlook Web (Microsoft 365)
- Go to Outlook Calendar
- Click Add calendar → Subscribe from web
- Paste your NightOps calendar URL
- Name the calendar (e.g., "NightOps Staging")
- Click Import
Outlook Desktop
- Go to Calendar view
- Right-click Other Calendars
- Select Add Calendar → From Internet
- Paste your NightOps calendar URL
- 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:
| Color | Meaning |
|---|---|
| 🟢 Green | Resources running |
| 🔴 Red | Resources stopped |
| 🟡 Yellow | Starting/stopping |
| 🔵 Blue | Manual override |
| ⚫ Gray | Maintenance window |
Customize Colors
- Go to Settings → Calendar → Colors
- Configure colors for each event type
- 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:
- Go to Settings → Calendar
- Click Regenerate URL
- Update subscriptions with new URL
- Old URL stops working immediately
Team Calendar
Create a shared team calendar:
Setup
- Go to Settings → Calendar → Team Calendar
- Enable Team Calendar
- Select which collections to include
- Copy the team calendar URL
Share with Team
- Add to a shared Google Calendar
- Invite team members to subscribe
- 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
- Verify calendar URL is correct
- Check calendar app is refreshing
- Force refresh in calendar settings
- Verify collections have schedules attached
Wrong Times
- Check schedule timezone settings
- Verify calendar app timezone
- Ensure DST is handled correctly
Duplicate Events
- Check if subscribed multiple times
- Remove duplicate calendar subscriptions
- Regenerate URL if needed
"Invalid Calendar" Error
- Verify URL is complete (including token)
- Check URL hasn't been regenerated
- 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
- View schedule examples — Common scheduling patterns
- Configure Slack — Control from Slack
- Learn Slack overrides — Override schedules when needed