Telegram
Overview
The Telegram Alarm Notification module enables alarm notifications via the Telegram Bot API. It integrates with Ignition's Alarm Notification system, allowing operators to receive alarm alerts directly in their Telegram chats with optional interactive acknowledgment.
This is a Gateway-scoped module that has a hard dependency on Inductive Automation's Alarm Notification module (com.inductiveautomation.alarm-notification). The module will fault if that dependency is not present and running.
Features
- Telegram Bot Integration - Sends notifications via the Telegram Bot API
sendMessageendpoint - Sends to All Telegram Contacts - Every Telegram contact of the notified Ignition user is messaged
- Interactive Acknowledgment - One-tap alarm acknowledgment via an inline keyboard button (single-alarm notifications only)
- Dynamic Message Templates - Expression-based message and throttled-message content
- Per-Alarm Custom Messages - Override the notification message at the alarm level via extended configuration
- Throttling Support - Separate message template for batched (multiple) alarm events
- Test Mode - Log messages instead of calling the Telegram API, for validating configuration
- Audit Integration - Optionally log one audit record per notification event
- HTML Formatting - Messages are sent with
parse_mode=HTML(Telegram's HTML formatting) - Secure Token Storage - Bot token stored via Ignition's secret management system
Technical Specifications
| Specification | Value |
|---|---|
| Module ID | com.operametrix.ignition.telegram |
| Module Name | Telegram Alarm Notification |
| Current Version | 1.1.0 |
| Minimum Ignition Version | 8.3.0 |
| Required Module | Alarm Notification (com.inductiveautomation.alarm-notification, required) |
| Scope | Gateway |
| License | Proprietary — © 2026 OperaMetrix SAS (paid, with trial; signed) |
Licensing
The Telegram Alarm Notification module is a paid module and participates in Ignition licensing. It runs in trial mode until licensed.
When the trial expires the profile stops dispatching: each notification is logged as Trial expired, notifications will not be sent. and marked done without being sent. The alarm pipeline sees no failure, so there is no retry and no fallback — alarms simply stop reaching recipients. The profile itself keeps running.
Activating a license resumes sending immediately, with no gateway restart. Activate a license or reset the trial from Platform > System > Licensing. Licenses are available from the OperaMetrix marketplace.
Architecture
The module registers a custom Telegram Notification profile type in Ignition's Alarm Notification system, and registers a custom user contact type named Telegram (whose value is a Telegram chat id). When an alarm triggers a notification block using this profile:
- The alarm event is received by the notification profile
- The notified user's Telegram contact entries (chat ids) are collected — all of them are messaged
- The message expression is evaluated against the alarm event(s)
- An inline acknowledgment button is appended (if Acknowledge is enabled and the notification is for a single alarm)
- The notification is sent via the Telegram Bot API
sendMessageendpoint (parse_mode=HTML) - If acknowledgment is enabled, a background long-poll poller receives button taps and acknowledges the alarm in Ignition
When acknowledgment is enabled, a background poller calls the Telegram getUpdates endpoint (long-poll, 30s timeout, allowed_updates=[callback_query]). One poller runs per distinct bot token, and it is created lazily on the first acknowledgment-enabled, non-throttled send — not at gateway startup. It runs as a daemon thread. No inbound connectivity or webhook is required.