We've put together a script here at Strath to allow us to send messages to the observers of students from the Canvas Inbox (Conversations) and Marksbook ('Message Students Who...') pages. We're a K-12 institution, so while the ability to send messages to students who have not submitted their assignments is awesome, sometimes we need to let their parents know too! It looks a little something like this:
It's pretty simple. The script inserts some buttons on the 'Message Students Who...' and Inbox 'Send Message' buttons for inserting observers and removing students. Once clicked, the script does a few API calls in the background to determine who the observers of the students are and pops them in the recipient list.
Our CSM mentioned this might be something that other institutions might be interested in, so I've made the script and some instructions available here: https://github.com/sdjrice/msgobs.
If you decide to give it a crack, I'd be interested to hear how it goes! I've tested this with a demo Canvas instance and it's worked ok, but that's the extent of my testing.
All the best!
Download v0.07 Here: https://github.com/sdjrice/msgobs
Version 0.07 on 17/04/20
- Fixed issue where conversations (Inbox) recipients would become invalid after a recipient was removed.
Version 0.06 on 11/10/17
- Added support for courses with more than one hundred enrolments.
Version 0.05 on 07/07/17
- Added auto tick "Send an individual message to each recipient" function. This behaviour is active by default, but can be disabled in the msgobs options.
Version 0.04 on 06/07/17
- Fixed issue where multiple course enrolment lookups were made for the same course in account admin mode.
Version 0.03 on 03/07/17
- Added support for any kind of group in the recipient list.
Version 0.02 on 15/03/17
- Fixed issue with unescaped message content.
- Prevented clicking Remove Students while Include observers function is running.
- Added dialog to preserve message content if sending fails in Gradebook function.
Version 0.01 on 20/09/16
- Initial Release