Make a public, embeddable calendar view of an on-call schedule

Looking for an easy way to show a PagerDuty on call schedule as a calendar outside of PagerDuty? Want to show a PagerDuty schedule in your intraweb portal, ServiceNow home page or even SharePoint? Why not try PDcal?

You give PDcal an iCal URL and it gives you a public, embeddable web view of the calendar. Better yet, it comes with a handy bookmarklet that adds a “public web view” item to the schedule export menu right in PagerDuty! Screenshots:

Export menu after clicking the PDcal bookmarklet

Calendar web view

PDcal is part of the PagerDuty add-ons repository. Check it out here. Thanks!!


currently the raw iCal file for rotation that’s say, a week long, goes from Wed 5pm - Wed 5pm. This tends to make a mess in our calendars tho. Is there any way we (or you) can adjust the iCal to be an “all day” event, that way it’d render much cleaner in the week and day view. We’re ok with the loss of “5pm” granularity. Not everyone may be, so maybe it’s be nice to offer two version of the feed? a daily and a timed?

1 Like

Thanks for checking it out Mark! Interesting idea. I’m not sure how we would handle certain things though, for example if my shift is from 5/5 5pm to 5/6 5pm, I could choose to show Martin Stone on call 5/6, because the majority of the shift is in 5/6… Or I could show Martin Stone on call 5/5 and 5/6, because part of my shift is present in both days. And then I would show whoever is before me also in 5/5 and whoever is after me also in 5/6… What do you think makes the most sense?

I actually used PDCal, and it’s awesome. However I now want to take it one step further. Is there a simple way to show an “individual users” schedule? For example, if they are on-call for 10 times in the next 6 months only show those 10 times? Is this possible in PDCal or some other AddOn? Or is it something I need to do via the API?


@TravisCorson Yep, you can do this by copying the Just my calendar link under Export ➔ iCalendar file, then go to the list tab in PDcal.