Telegram Notification Bot
Push approval/alert/order events to a Telegram channel or DM, with inbound command queries
Telegram Notification Bot turns any Odoo event into a Telegram message using your own bot token, no third-party middleware and no extra subscription. Configure trigger rules on any model, map users or partners to their personal chat, and let a scheduled dispatcher or a direct API call fire the notification, while every send is logged for audit. A webhook endpoint even lets users query Odoo state back from Telegram with simple slash commands.
Key Features
BYOK bot configuration
Register one or more Telegram bots (telegram.bot.config) with your own bot token from @BotFather, a default fallback chat, a Test Connection (getMe) check and a Send Test Message button.
User/partner to chat mapping
Link an Odoo user or partner to their personal Telegram chat_id (telegram.chat.mapping) so a rule can route a notification to the right person instead of only a shared channel, with single-target and uniqueness constraints enforced in Python.
Configurable notification rules
Each telegram.notification.rule watches any model for On Create or On Field Reaching a Value (e.g. state becoming approved), and picks a target chat: fixed chat/channel, the record's mapped user/partner field, or the bot's default chat.
Template rendering with placeholders
Message templates use {field_name} placeholders resolved from the triggering record, with many2one fields rendered as their display name and x2many fields as a comma-joined list.
Scheduled dispatch cron
The cron_dispatch_pending scheduled action polls every active, cron-eligible rule for records created or changed since its own last_dispatch_datetime cursor and fires matching messages, per-model and per-field, without monkey-patching write()/create().
Direct notify_event API
Any server action, automation rule or other module can call notify_event(model_name, res_id, trigger_field, trigger_value) directly for instant, event-driven notifications instead of waiting for the next cron tick.
Message log with audit trail
Every outgoing message funnels through _send_and_log, so sent and failed sends (with the exact error and the related model/record) are all recorded in telegram.message.log for troubleshooting.
Inbound command webhook
A per-bot, secret-authenticated webhook endpoint answers /status, /rules, /whoami and /help commands sent back from Telegram, letting users query message counters, active rules or their own chat mapping without opening Odoo.
Use Cases
Screenshots
01 Notification Rules List
02 Notification Rule Form
03 Bot Config List
04 Message Log List
05 Chat Mapping List
Why Choose This Module
Because everything runs on your own Telegram bot token, there is no middleman service reading your notifications and no recurring third-party fee. The rule engine is generic across any Odoo model and any field, the dispatch cron and the message log both are queryable Odoo records, and inbound commands mean the channel is a two-way line into your Odoo data, not just a one-way alert feed.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: 35+
- Author: Pokutsoft
- Dependencies: base, mail
- Support: odoo@gencbaris.com
- Update date: 2026-07-13
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1376 |
| Technical Name |
telegram_notification_bot |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
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