Your Community is getting an upgrade!
Read about our partnership with Higher Logic and how we will build the next generation of the Instructure Community.
As we want to change a specific notification setting of all our 400+ admins (with only read rights) in our sub-account, I have been trying to make sense how the notification preferences in the interface (canvas.instructure.com/profile/communication) relate to the Notification Preferences API parameters. Sources I have used are:
https://s3.amazonaws.com/tr-learncanvas/docs/CanvasNotifications.pdf
The documentation is missing a lot of information at the moment. E.g. the NotificationPreference object is described with only 4 items instead of the structure of the whole object. Using the Live API a retrieved the full (I hope) object which were 93 items.
To make sense of how these 93 items are related to the notification preferences in the interface I extracted the following details:
Course activities
Due Date
Assignment due date change
Grading policies
Course grading policy change
Course Content
Change to course content:
Page content
Quiz content
Assignment content
Files
New file added to your course
Announcement
New Announcement in your course
Announcement created by you
Announcement created by you
Replies to announcements you've created
Grading
Includes:
Assignment/submission grade entered/changed
Un-muted assignment grade
Grade weight changed
Option: Include scores when alerting about grades. If your email is not an institution email, this means sensitive content will be sent outside of the institution.
Invitation
Invitation for:
Web conference
Group
Collaboration
Peer review & reminder
All submissions
Instructor and Admin only:
Assignment (except quizzes) submission/resubmission
Late grading
Instructor and admin only:
Late assignment submission
Submission comment
Assignment submission comment
Blueprint Sync
Instructor and Admin only:
Content was synced from a blueprint course to associated courses
Discussions
Discussions notification events and settings
Discussion
New discussion topic in your course
Discussion post
New discussion post in a topic you're subscribed to
Conversations
Conversations notification events and settings
Added to conversation
You are added to a conversation
Conversation message
New Inbox messages
Conversations created by me
You created a conversation
Scheduling
Scheduling notification events and settings
Student appointment signups
Instructor and admin only:
Student appointment sign-up
Appointment signups
New appointment on your calendar
Appointment Cancellations
Appointment cancellation
Appointment availability
New appointment time slots are available for signup
Calendar
New and changed items on your course calendar
Groups
Groups notification events and settings
Membership update
Admin only: pending enrolment activated
Group enrolment
accepted/rejected
Alerts
Alerts notification events and settings
Administrative Notifications
Instructor and Admin only:
Course enrolment
Report generated
Content export
Migration report
New account user
New student group
Conferences
Conferences notification events and settings
Recording ready
A conference recording is ready
The NotificationPreference object, returned by the Live API has the following items (sorted by category):
category | notification |
added_to_conversation | added_to_conversation |
alert | alert |
all_submissions | assignment_submitted |
all_submissions | assignment_resubmitted |
all_submissions | submission_needs_grading |
announcement | new_announcement |
announcement_created_by_you | announcement_created_by_you |
announcement_created_by_you | announcement_reply |
appointment_availability | appointment_group_published |
appointment_availability | appointment_group_updated |
appointment_cancelations | appointment_deleted_for_user |
appointment_cancelations | appointment_group_deleted |
appointment_signups | appointment_reserved_for_user |
blueprint | blueprint_content_added |
blueprint | blueprint_sync_complete |
calendar | new_event_created |
calendar | event_date_changed |
conversation_created | conversation_created |
conversation_message | conversation_message |
course_content | assignment_changed |
course_content | new_wiki_page |
course_content | updated_wiki_page |
discussion | new_discussion_topic |
discussion_entry | new_discussion_entry |
due_date | assignment_due_date_changed |
due_date | assignment_created |
due_date | assignment_due_date_override_changed |
files | new_file_added |
files | new_files_added |
grading | assignment_graded |
grading | submission_graded |
grading | submission_grade_changed |
grading | assignment_unmuted |
grading | quiz_regrade_finished |
grading_policies | grade_weight_changed |
invitation | collaboration_invitation |
invitation | web_conference_invitation |
invitation | rubric_assessment_submission_reminder |
invitation | rubric_assessment_invitation |
invitation | rubric_association_created |
invitation | new_context_group_membership_invitation |
invitation | peer_review_invitation |
late_grading | assignment_submitted_late |
late_grading | group_assignment_submitted_late |
membership_update | new_context_group_membership |
membership_update | group_membership_accepted |
membership_update | group_membership_rejected |
migration | migration_export_ready |
migration | migration_import_finished |
migration | migration_import_failed |
migration | content_export_finished |
migration | content_export_failed |
other | new_account_user |
other | teacher_context_message |
other | enrollment_accepted |
other | new_student_organized_group |
other | new_course |
other | new_user |
other | new_teacher_registration |
other | new_teacher_registration_immediate |
other | report_generated |
other | report_generation_failed |
recording_ready | web_conference_recording_ready |
registration | confirm_email_communication_channel |
registration | confirm_sms_communication_channel |
registration | confirm_registration |
registration | forgot_password |
registration | enrollment_invitation |
registration | enrollment_notification |
registration | enrollment_registration |
registration | merge_email_communication_channel |
registration | account_user_registration |
registration | account_user_notification |
registration | pseudonym_registration |
registration | canvasnet_migration |
registration | course_started |
registration | course_starts_in_week |
registration | course_required_materials |
registration | course_already_started |
registration | self_enrollment_registration |
registration | twd_migration_new |
registration | twd_migration_existing |
registration | twd_migration_new_late |
registration | twd_migration_existing_late |
registration | pseudonym_registration_done |
reminder | assignment_publishing_reminder |
reminder | assignment_grading_reminder |
reminder | assignment_due_date_reminder |
student_appointment_signups | appointment_canceled_by_user |
student_appointment_signups | appointment_reserved_by_user |
submission_comment | submission_comment |
submission_comment | submission_comment_for_teacher |
summaries | summaries |
In Excel I tried to match them, but it appeared to become a matter of guessing.
Question: Is there detailed and complete information available about how the notification preferences from the interface relate to the items in the API NotificationPreference object?
Additionally, the Notification Preferences API documentation describes the list all preferences an uses and the example shows how to get it from another user. But the documentation about updating notification preferences only uses an example of updating own preferences, not of other users.
Question: Is it possible to update a preference (as an admin) of another user (many users in our case) using the API? If not, why not? (Canvas Helpdesk suggested this approach)
@stelpstra , greetings! Due to the technical nature of this question I am sharing it with the Canvas Developers group in the Community. You might consider joining this group so you get access to their resources and information.
Kona
For your second question, yes, an admin can update a user's preference.
You can do it using masquerading (Masquerading - Canvas LMS REST API Documentation). Simply add ?as_user_id=$user to the endpoint..
Hi pklove, thank you for this suggestion. Unfortunately Act as user is disabled in our institution due to the GDPR act.
Are there any other methods without masquerading to change these notification of other users?
Hello. How would one get
Late grading
Instructor and admin only:
Late assignment submission
I don't see these options in the Canvas data portal. We are trying to get a report of late submissions. Or at least of submission due date and student submission time. The provisioning report in Canvas data shows submission date and graded date, but not when the assignment was due.
Any help is greatly appreciated.
Hi @am_jagusztyn , the original question was not about the Canvas Data portal features and as our institution does not yet use Canvas Data I can't advise you on that. But maybe the Submissions - Canvas LMS REST API Documentation can be helpful to you.
Thank you.
Hello there, @stelpstra ...
I am reviewing older questions here in the Canvas Community, and I stumbled upon your question. While I don't have an answer for you myself, I wanted to at least check in with you. There hasn't been any new activity in this topic since March 11, 2019. Did any of the above feedback help to answer your question? If so, please feel free to mark someone's answer as "Correct". However, if you are still looking for some help with your original question, please let us know that as well so that someone from the Community might be able to help you out. For the time being, I am going to mark your question as "Assumed Answered" mainly because there hasn't been any new activity in this topic for over six months. However, that will not prevent you or others from posting additional questions and/or comments below that are related to this topic. I hope that is okay with you, Jaap. Looking forward to hearing back from you soon.
Hi @Chris_Hofer , my initial question "Is there detailed and complete information available about how the notification preferences from the interface relate to the items in the API NotificationPreference object?" stays unanswered. So technically, assuming it is answered (meaning it is useful and correct) is an incorrect assumption.
I would appreciate learning more about this. It's caused a bit of a problem at our school:
Parents generally want one weekly digest email about homework and don't want lots of other emails. So we use the API to reset all notifications to never except for a few like due date.
The "forgot_password" one also got switched to never. Even when trying to switch it back, it doesn't seem to work, leading me to think that we need to have other notification preferences switched on as well to enable the forgot_password one to work. No documentation so I'm just guessing at the moment.
I came across the thread when asked to set the "Include scores when alerting about grades." option for new users created by the API.
The docs aren't helpful and I don't see any communication channel preference values change via the API when I toggle this via the UI.
Maybe it doesn't have an API analog? Maybe it isn't part of the communication channel preferences? Where is it?
To 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
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.