Skip to content
PokutsoftPokutsoft
GlobalProductivity/Discuss
Telegram Notification Bot icon

Telegram Notification Bot

Push approval/alert/order events to a Telegram channel or DM, with inbound command queries

Odoo 19.0Odoo 18.0
Compatible with Odoo 18.0 · 19.0
OPL-1 license · 35+ languages · Community & Enterprise
Telegram Notification Bot for Odoo — preview banner

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

Ping a manager's personal Telegram chat the instant a purchase order or expense reaches an approval state
Broadcast new sales orders or support tickets to a shared team channel as soon as they are created
Let field staff run /status or /rules from Telegram to check what is being monitored without logging into Odoo
Wire a custom automation rule to notify_event() for instant alerts instead of waiting on the polling cron
Keep a searchable audit log of every alert sent, including failures and the exact Telegram API error

Screenshots

Telegram Notification Bot — 01 Notification Rules List in Odoo

01 Notification Rules List

Telegram Notification Bot — 02 Notification Rule Form in Odoo

02 Notification Rule Form

Telegram Notification Bot — 03 Bot Config List in Odoo

03 Bot Config List

Telegram Notification Bot — 04 Message Log List in Odoo

04 Message Log List

Telegram Notification Bot — 05 Chat Mapping List in Odoo

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: support@pokutsoft.com
  • Update date: 2026-07-13

Related modules