| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Calendar (calendar)
• Discuss (mail) |
| Lines of code | 1436 |
| Technical Name |
notification_manager |
| License | LGPL-3 |
| Website | https://www.linkedin.com/in/abd-elhamed-saad/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Calendar (calendar)
• Discuss (mail) |
| Lines of code | 1436 |
| Technical Name |
notification_manager |
| License | LGPL-3 |
| Website | https://www.linkedin.com/in/abd-elhamed-saad/ |
| Versions | 18.0 19.0 |
Advanced Notification System - Send notifications based on button actions
Notification Manager
Automate your notification workflow with powerful, flexible notification rules.
Send notifications via Inbox, Email, Activity, or SMS based on any button action!
Key Features
Multi-Channel Notifications
Send notifications via Inbox, Email, Activity/Task, or SMS - all from one configuration.
Flexible Recipients
Notify specific users, user groups, field-based users, or followers automatically.
Button Action Triggers
Configure notifications for any button or method action in any Odoo model.
Dynamic Templates
Use powerful template system with variables like {record.name}, {record.amount_total}.
Notification Logging
Track all sent notifications with detailed logs, status tracking, and statistics.
Conditional Triggers
Set domain filters and conditions - notify only when specific criteria are met.
Notification Configuration
Create notification rules by selecting a model, button/method, notification type, and recipients. Configure when to send (always, on success, or on error).
Manage All Configurations
View all notification configurations at a glance. See which models, buttons, and notification types are configured. Easily activate/deactivate rules.
Dynamic Template System
Create reusable templates with dynamic variables. Use {record.field_name} syntax to insert record data. Available variables are automatically listed for each model.
Flexible Recipient Selection
Choose how to select notification recipients: specific users, user groups, users from record fields, or followers. Support for relational field paths.
Comprehensive Notification Logs
Track every notification sent with detailed logs. View status (sent/failed), recipients, message content, and error messages. Resend failed notifications.
Button Registry System
Automatic detection of all buttons and methods in your Odoo models. Register custom buttons and methods for notification triggers.
Statistics & Analytics
View success/failure statistics for each notification configuration. Monitor notification performance and identify issues quickly.
Easy Menu Access
Access all notification features from a dedicated menu. Configurations, templates, logs, and registries all organized in one place.
Module Technical Information
Models Created
| Model Name | Technical Name | Description |
|---|---|---|
| Notification Configuration | notification.config |
Main model for configuring notification rules |
| Notification Template | notification.template |
Reusable message templates with variable support |
| Notification Log | notification.log |
Track sent notifications with status and history |
| Button Registry | button.registry |
Registry of all available buttons/methods per model |
| User Field Registry | user.field.registry |
Registry of user-related fields for recipient selection |
Core Features
Multi-Channel Support
- Inbox/Internal Messages
- Email Notifications
- Activity/Task Creation
- SMS Messages
Recipient Types
- Specific Users
- User Groups
- Field-based (any user field)
- Followers
Trigger Conditions
- Always send
- On success only
- On error only
- Domain-based filters
Template System
- Dynamic variables {record.field}
- HTML and plain text support
- Auto-generated variable lists
- Template preview feature
Module Structure
notification_manager/
├── __init__.py
├── __manifest__.py
├── models/
│ ├── __init__.py
│ ├── notification_config.py # Main configuration model
│ ├── notification_template.py # Template management
│ ├── notification_log.py # Logging system
│ ├── button_registry.py # Button/method registry
│ ├── user_field_registry.py # User field registry
│ └── base_model.py # Model extensions
├── views/
│ ├── notification_config_views.xml
│ ├── notification_template_views.xml
│ ├── notification_log_views.xml
│ └── notification_menus.xml
├── security/
│ ├── notification_manager_security.xml
│ └── ir.model.access.csv
├── data/
│ └── notification_templates.xml
└── static/
└── description/
├── index.html
└── images/
Dependencies
base- Core Odoo functionalitymail- Messaging and activity features
- SMS module for SMS notifications
- Works with any Odoo model
How to Use Notification Manager
1 Create Notification Configuration
Navigate to Settings → Notifications → Notification Configurations and click Create.
- Select the model to monitor (e.g., Sale Order)
- Choose the button/method that triggers notification (e.g., Confirm Order)
- Select notification type (Inbox, Email, Activity, SMS)
- Configure when to send (always, on success, on error)
2 Configure Recipients
Choose who should receive notifications:
- Specific Users: Select individual users from the list
- User Groups: All users in selected groups will be notified
- Field-based: Select a user field from the record (e.g., salesperson, manager)
- Followers: Notify all followers of the record
3 Create Message Template (Optional)
For reusable messages, create templates with dynamic variables:
- Go to Notifications → Templates
- Create a new template for your model
- Use variables like
{record.name},{record.amount_total} - Available variables are listed automatically
Subject:
Sale
Order {record.name} ConfirmedBody:
Order
{record.name} for {record.partner_id.name} has been confirmed. Total:
{record.amount_total}
4 Set Conditions (Optional)
Add domain filters to send notifications only when specific conditions are met:
- Use Odoo domain syntax
- Example:
[('amount_total', '>', 1000)] - Only notify when order total exceeds 1000
5 Test & Activate
Before activating, test your configuration:
- Use the "Test Notification" button to send a test to yourself
- Verify the message format and content
- Activate the configuration by checking "Active"
- Notifications will be sent automatically when the button is clicked
6 Monitor & Review Logs
Track all sent notifications:
- Go to Notifications → Notification Logs
- View sent/failed status for each notification
- Check recipients, message content, and timestamps
- Resend failed notifications if needed
- View statistics on configuration success/failure rates
Common Use Cases
Sales Orders
Notify warehouse team when sales order is confirmed. Alert manager when order exceeds certain amount.
Purchase Orders
Send activity to approver when PO needs validation. Email vendor when PO is confirmed.
Project Tasks
Notify team members when task status changes. Alert project manager when task is blocked.
Maintenance
SMS technician when maintenance request is assigned. Email customer when maintenance is completed.
Developer Information
Abd Elhamed Saad
Odoo Developer & Consultant
Odoo 18
Expert Developer
Module Information
| Module Name | Notification Manager |
| Technical Name | notification_manager |
| Version | 18.0.1.0.0 |
| Category | Tools |
| License | LGPL-3 |
| Odoo Version | 18.0 (Community & Enterprise) |
| Dependencies | base, mail |
| Author | Abd Elhamed Saad |
| Installation | Apps → Search "Notification Manager" → Install |
Please log in to comment on this module