I'm curious to know how other shops manage oncall staff assignments. I've looked into PagerDuty, but it is too expensive for this small shop. I've looked a little bit into ServiceNow capabilities, but I don't really understand it well enough.
I wrote an Excel workbook about 15 years ago that we are still using. It keeps staff details on a master sheet, and pulls the details into oncall team sheets. VBA script auto-rotates the teams at the right time (once a week), sends everyone email alerts to their duty status, and saves a copy of the results in a CSV file that UC4 reads and applies at task failure time. A very strange feature we have here is the concept that there are always 2 people oncall for any given team; a primary and a backup. This relaxes the expectation that primary will be available 100% of the time, and reduces the stress on the operations staff when the primary is unavailable.
We have one team though that manages their team outside of this facility. They have set up a telephone number that is their point of contact, and they manage the telephone number so it auto-forwards to the primary person who is expected to provide 100% availability. This means UC4 has no idea who is oncall for this team, but they don't support any batch systems so it has been a non-issue.