Roster Management

This is the use case. We’ve got an on call roster that users will be added or removed from by an administrator using the roster management component.

But we want to allow a user to add or remove themselves from the roster and notify the admin when that happens. I know I can filter the available users down to just themselves but I can’t tell how they changed the roster when they save.

Are there scripting functions that I can use to access the roster information? Or even better, scripting functions that allow me to write a button that will add or remove the current user from the roster?