The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December. Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
We would like to post announcements to certain populations of students onto the Canvas Dashboard. Something that looks like the global announcements would be ideal, or at least placed in the same area.
The kicker is that we would like to have these announcements targeted to students who have fulfilled certain criteria that isn't stored in Canvas. i.e. students who have enrolled in a certain amount of units...Identifying information stored on our SIS/server that runs our Canvas API calls. So the current system using Canvas course roles is just too limiting for this particular case.
I found this thread that pitched a very, very similar question, but unfortunately a solution didn't seem to be in the cards. Any ideas or thoughts for directions to a solution?
I'm just brainstorming here, but maybe you could achieve this using sections. I'm not sure announcements can be targeted to a specific section, but if they can, you could theoretically have different sections with different announcements and then move a student to another section (with different announcements) once certain criteria are met. If that's not possible, maybe you could consider pushing a message to the user on Canvas once the specific criteria are met. I've never dabbled in this so I can't say how viable of a solution it is or how difficult it is to implement, but to my knowledge there are no built-in or add-ons that can achieve this.
You could create a new role (based on student) say 'superstudent'
You'd need to gather data from your SIS about which students should be given that role (in addition to being 'students')
Give the relevant students this 'superstudent' role using API calls or maybe csv upload
Then you can make a global canvas announcement just for superstudents by clicking the check box for that role
Would this work for you? https://community.canvaslms.com/t5/Canvas-Developers-Group/Conversations-API-How-to-create-messages-...
It's not an announcement, but you can bulk mail students.
You can do this with a liittle cooperation from your Canvas admin. Here's how to set this up:
When you need to send an alert, here's what you do:
The only real hiccup with this approach is that the course will show on the user's Courses-> All Courses listing while the announcement is in flight. This seems a small price for being able to target an announcement to specific users. Let me know if you have any questions.
Hello Kara,
Caveats!
My first question is "Why?" As in, why are you wanting to use Canvas annoucments to target these groups? Surely, your SITS system has reporting and email functions that could very eaily target these groups of students? I ask because sometimes we can end up with everything being an annoucment because it is important... but then nothing is important. If it's the case that it's a "do this before Friday!" annoncement, then that's probably a good use — but the reason you can't make Annoucements through the API is probably to avoid something like what you're doing... ie messaging groups of students for administrative reasons?
Reading the other thread you linked to, by this "Identifying information stored on our SIS/server that runs our Canvas API calls. So the current system using Canvas course roles is just too limiting for this particular case." are you meaning you want to create rolls at account level so that you can create annoucements using those?
Although the approach sendres outlines would work, I would be reluctant to put in in place as an admin because it involves giving people admin rights to a sub-account. While this can be managed effectively, the permissions for these users would have to be scrutinised to avoid them being able to screw up the system. If you don't mind people having these permissions, then it would certainly work as described.
Solution: use Groups at Account level.
Using account-level Groups provides several advantages:
If it was me, I would ask students which they prefer.
Solution 2: Just make a global course.
We have several courses that run accross the whole university. These are broken down into sections depending on the programme/units of the students, but some sections are also things like "international students". In this way, annoucements can be targeted in the way you are loooking to do, and the enrolment in the sections can be controlled via your SITS. You still have to make the announcements in Canvas, but it can be in a course, rather than giving away admin rights. With the new pages and modules feature that allows content to be assigned to anyone (sections and students) this opens up lots of possiblities, but an information page for each of your target groups, assigned to a section, does the job and just needs a prompt to read it. You could even make assignments in this way so that it appears on the students' activity feed. While global courses are probably not done very often, they are very useful for things like study skills or pastoral information so that it can be targetted.
Hope that wasn't too opinionated! I don't get out much 🙂
Chris
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in