| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 66 |
| Technical Name |
pwa_push_notifications |
| License | OPL-1 |
| Website | https://michalvarys.eu |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 66 |
| Technical Name |
pwa_push_notifications |
| License | OPL-1 |
| Website | https://michalvarys.eu |
PWA Push Notifications
Push Notifications for Odoo 18 PWA â Self-Hosted
Your self-hosted Odoo sends push notifications â but only for some messages. This module fixes that.
The Problem
Odoo 18 has a built-in PWA with web push notifications. But push delivery is incomplete. The default implementation only sends push for comment-type messages (chatter posts, channel messages). Everything else is silently dropped.
If you use email notification preference (the default for most users), you will never receive a push notification when:
- A task is assigned to you in Projects
- A system notification is sent (approval requests, reminders)
- An activity is scheduled for you in CRM, Sales, or any app
On top of that, direct messages and group chats in Discuss
display #False as the notification title instead of the sender's name.
Odoo.sh and Odoo Online users get mobile push via the official Odoo mobile app. Self-hosted users rely on browser push â and the default implementation leaves gaps.
What This Module Fixes
All Message Types Get Push
Task assignments (user_notification), system notifications, approval
requests and all other message types now trigger browser push notifications â not
just comments. Users with email preference who granted push permission receive both
email and push.
Proper Notification Titles
Direct messages show the sender's name. Group chats show the channel name.
No more #False titles. Falls back to message subject or body
excerpt when record name is unavailable.
Before vs After
| Scenario | Without this module | With this module |
|---|---|---|
| Task assigned in Projects | ✗ No push (email-only users excluded) | ✓ Push notification sent |
| System notification / reminder | ✗ No push (email-only users excluded) | ✓ Push notification sent |
| Activity scheduled (CRM, Salesâ¦) | ✗ No push (email-only users excluded) | ✓ Push notification sent |
| Direct message in Discuss | Title: #False |
Title: sender's name |
| Group chat message | Title: #False |
Title: channel name + sender |
| Chatter comment / mention | Works (unchanged) | Works (unchanged) |
Every Model That Uses Odoo Mail Gets Push
Push notifications work for every model that inherits mail.thread
â any record you follow, any message where you are mentioned, any notification that appears
in your Inbox.
| Module | What triggers a push notification |
|---|---|
| Project | Task assigned to you, comment on a followed task, deadline reminders |
| Discuss | Direct messages, channel messages, mentions â with correct sender name |
| CRM | Lead assigned, activity scheduled, partner comment |
| Helpdesk | New ticket, customer reply, internal note mention |
| Sales / Purchase | Order confirmed, comment on quotation, approval requests |
| Inventory / MRP | Transfer ready, manufacturing order comment, quality alert |
| Any custom module | If it inherits mail.thread â it sends push notifications |
Who Needs This
Project Teams
Get instant push when a task is assigned to you â no more checking Odoo every few minutes to see if something landed in your queue.
Discuss Users
Direct messages and group chats finally show who wrote â not #False.
Tap the notification to jump straight to the conversation.
Self-Hosted Admins
Give your team the same push experience that Odoo.sh gets through the mobile app â using only the browser and the built-in PWA.
Safe by Design
The module broadens the recipient list for push notifications, but the downstream
_notify_thread_by_web_push method still checks for registered
mail.push.device records. Users without a registered push device
are simply skipped â no spam, no duplicate notifications, no side effects.
Only users who have explicitly granted notification permission and completed the push subscription will receive notifications. Everyone else is unaffected.
Technical Details
- Overrides
_extract_partner_ids_for_notificationsonmail.threadâ includes all active recipients fornotificationanduser_notificationtypes - Overrides
_notify_by_web_push_prepare_payloadon bothmail.threadanddiscuss.channelâ fixes#Falsetitles - No new models, no database changes, no new dependencies
- Minimal footprint â three small Python files
- Compatible with Odoo 18.0 Community and Enterprise
Requirements
Odoo 18.0 Community or Enterprise (self-hosted)
Depends on: mail (included in base Odoo)
Recommended companion module: PWA Install Banner â adds a prominent install and notification permission banner so your users actually discover and enable push notifications.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module