Notifications roadmap
Presented below are tentative improvements that can be made in the Notifications feature. These improvements stem from observing notifications and their impact on learners on http://edx.org.
Please read Current state of OpenedX Notifications to understand the notifications feature in its current state in Aug, 2025.
Phase 1 - Ulmo
1. Enable notifications tray for Ulmo
Except for authoring MFE, other MFEs use frontend-component-header. We plan to introduce the frontend-plugin-notification in the frontend-component-header. This will make tray notifications visible on all MFEs except authoring.
2. Code refactoring
The notification app in edx-platform is the backend for generating and sending out notifications to users. There are deprecated settings and dead code, which lead to confusion about the flow of control. This makes it harder to maintain and add more features to it. Cleaning and refactoring the code will help us to better document the code and features. In the coming time, it will form the foundation for adding improvements to the notification flow.
3. Add notifications tray to Studio
Studio doesn’t have the notifications tray. It may improve visibility for instructors if we add it there. Although we have not planned any notifications related to course authoring events.
4. Documentation
The notification application lacks extensive documentation. The idea is to document
Flow of Control
Features
High-level architecture
The goal with documentation is to describe the essential component of what input they expect, what they will produce and what will be the next step in the flow.
Phase 2 - Verawood
1. Preference defaults manageable at the instance level
Default preferences should be easily configureable by instance managers. Changing defaults require code changes at present.
2. Emails respect user’s timezone
At present, daily and weekly email summaries are dispatched at 22:00 UTC, for everyone. Ideally email summaries should adopt to a user’s timezone like in Braze to improve engagement.
3. Extend grouping to other notification types
Purpose of grouping notifications is to reduce clutter in tray and, in return, allow instance managers to turn default notifications ON for potentially high-volume but important activities. At 2U, grouping notifications for new discussion post improved CTR of it’s notification by 3x. CTR for all other notifications were improved by ~20% likely due to reduced clutter. Grouping notifications for ORA staff submission allowed us to turn ON that notification by default.
Here are 2 potentially high volume activities that may benefit from grouping their notifications:
New response on my post
New response on post i'm following
4. Batching window for email
When Immediate cadence is selected, email notifications are sent instantaneously. Imaging someone having back and forth conversation on a forum thread. Their email will get bombarded with notifications. This is why we’ve kept default cadence for email as Daily. A potential solution is to have a short batching window for immediate email notifications.
For example Slack’s email preferences: If I’m away and someone directly messages or mentions me, forward it to my email within 15 minutes / within an hour / never (except if I’ve been away from Slack for more than a week and missed a message or mention)
5. Sub/unsub from notifications of post/response
As of Aug 2025, users get notifications for:
New responses/ comments on posts they created.
New comments on responses they created.
New responses/ comments on posts they are following.
However, users can NOT:
Unsubscribe from notifications for a post or response they authored.
Subscribe to notifications for a response they find interesting.
User already have the option to follow/unfollow a post. Backend has support for follow/unfollow a response. Maybe we can link to notifications to “followed” status of a post or a response to overcome the limitation discussed above.
Phase 3 - Verawood/Willow
1. New notifications
1.1. ORA peer submission available for grading
As of Aug 2025, learners who need/want to grade a peer’s ORA submission, do NOT get notified when a peer’s submission becomes available. This may reduce the chances of learners completing the ORA grading process in time or at all.
This notification needs to be ON by default but it is also a potentially high volume notification – a perfect case to use grouping on.
1.2. Assignment/ORA due in X days
As of Aug 2025, there are no notifications for when due date of an assignment/subsection or ORA is approaching. ORA can have due dates for submission, for self grading and peer grading depending on its type. This can be easily built.
However, some course teams do not configure due dates at all or configure a date far into the future for self paced courses. Therefore, we need to develop a mechanism to encourage course teams to accurately configure due dates AND make the notification logic resilient to inaccurate due dates so learners won’t loose trust in these notifications.
1.3 Assignment/Exam/Course grade awarded
As of Aug 2025, we only have notification for when a grade is awarded for an ORA assignment. Learners may benefit from notifications for other assignment types, exams and the course.
1.4. Reminders of course dates
Learners may find reminders for course end date, course access expiry and upgrade deadline useful. Also the notification for when the course starts may be useful for learners who enrolled early.
1.5. Ask learners to adjust preferences upon sign up
Learners may benefit from reviewing and adjusting default preferences. A notification soon after sign up may help nudge them.
1.6. Certificate awarded
Its an important achievement and learners should find out as soon as possible.
2. More improvements in discovery …
Pending…
Tentative type of notifications
Notifications (tray+email+push+preference center), at a high level, can be thought about from 2 perspectives:
Event-based, automated notifications
Clearly triggered by user actions or system events.
Typically highly personalized and immediate.
Examples:
Grade assigned to submission (triggered by instructor/server action).
A new comment or response on user's post (triggered by peer action).
Submission successfully received (system action).
[Do NOT exist] Call-to-action notifications - can be scheduled, automated or manual
Not directly triggered by a user's immediate action.
Intentionally designed to prompt users to act on time-sensitive or important tasks.
Often scheduled or automated.
Examples:
Assignment deadline approaching reminder
Encouragement to resume a course if inactive for several days
Reminder to fill out mandatory course feedback surveys
What communication channels exist and when to use them?
Listed below is a way of thinking about pros and cons of each communication channel on the platform.
Channel | Use when | Pros | Cons |
|---|---|---|---|
Automated, event-driven notifications (tray + email) | User-specific event occurs that requires immediate attention/inform. | Personalized, highly scalable, no manual effort, timely.
| Low customization, low message complexity, lower persistence. |
Bulk email (segmented by enrollment track, cohort) | Detailed, strategic, non-urgent messages to broad segments. | Highly customizable, detailed messaging, easily segmented, persistent | More intrusive, more manual effort, less personalized (segmented by cohort and enrollment track) |
Course update (+ automated notification) | Regular, structured course-wide communications needing persistent reference. | Persistent, structured reference accessible on-platform | More manual effort, not personalized at all |
Forum post (+ automated notification) | Encouraging interaction, participation, or peer-to-peer learning. | Encourages interaction/ followup questions, Somewhat persistent | Requires active moderation |
Questions / Notes
Should we leave any kind of notifications admin console for a future phase?
Is it necessary to split notifications in the tray? If so, is there a more extensible way to do this than the tab layout? Possible ideas:
Use a filter (Airbnb select menu / Web Whatsapp / Figma comments):
Use sidebar icons different notification types (like Discourse):
If we decide to keep the tab layout, could it be made horizontally scrollable (similar to these mockups for mobile notifications) to allow for tabs being added in the future?
Is it possible to add avatars for forum notifications?
Do users need the ability to search and sort (by date, by unread) comments?
Add a heading to each notification to help separate them, and short preview:
Should we add a dedicated notifications page (similar to Github, or this Wordpress plugin) for users to view, filter, search notifications?
How impactful would the distinction of active / inactive courses be as a way to further reduce notification noise volume versus signal from course notifications you might care about. Originally discussed here: Re: [Proposal] Centralized Multi-Channel Notification Settings + Persistent Mobile Notifications / Inbox | Comment - The use of inactive / active was suggested as a way to help in particular learners enrolled in multiple courses, since courses you might not be active in might crowd out other information you care about.
Should we consider adding some kind of indicator to highlight important notifications (Steve mentioned learners value notifications the more urgency they convey e.g. “assignment due tomorrow / assignment due in 3 days”