Skip to main content
Version: 2.0.0

Usage

The Telegram CP section is visible under Telegram in the Craft CP nav, with three pages: Channels, Logs, and Settings.

Channels list

Telegram → Channels lists every configured channel with its enabled state and number of active automations. From here a channel can be edited, cloned, enabled/disabled, or deleted — including in bulk, by selecting multiple rows.

Creating a channel

Open Telegram → Channels → New Channel. The edit screen has two tabs.

General tab

FieldDescription
NameDisplay name shown throughout the CP (e.g. Ecommerce). Required.
HandleInternal key used from code and console commands (e.g. ecommerce). Lowercase letters, numbers, hyphens and underscores only. Required, must be unique.
Channel PrefixOptional text prepended to every message sent through this channel — takes priority over the global prefix from Settings.
Bot TokenThe Telegram bot token from @BotFather. Supports environment variables ($TELEGRAM_BOT_TOKEN). Required.
Chat IDThe destination group/channel's chat ID, usually a negative number. Supports environment variables. Required.
Thread IDOptional numeric forum-topic ID, for Telegram supergroups that use topics/threads.

Once a channel has been saved, two buttons appear next to the delivery fields:

  • Verify Token — calls the Telegram Bot API to confirm the bot token is valid and the bot can be reached, without sending a message.
  • Send Test Message — sends an actual message to the configured chat ID, the fastest way to confirm the chat ID and bot are both correct.

Automation tab

The Automation tab lists every available event trigger — both the plugin's built-in Craft events and any custom event types registered by other installed plugins (see Developer API) — grouped first by provider (which plugin the event comes from) and then by group (a logical category within that plugin, e.g. Entries, Orders, Payments).

  • Use the search box to filter events by name.
  • When more than one provider has registered events, provider tabs let you jump straight to that plugin's events instead of scrolling the full list.
  • The counter in the toolbar (n / total enabled) shows how many events this channel currently subscribes to.
  • Toggling an event on subscribes this channel to it — when that event fires anywhere in Craft (or is dispatched by another plugin), this channel receives a message.
  • Each event row can have a message override: a custom template using the same {{ variable }} placeholders as the event's default template. Leaving it blank uses the default template supplied by the plugin that registered the event.

Saving the form (Save) applies both tabs at once.

Deleting a channel

Use Delete Channel on an existing channel's edit screen, or the bulk delete action from the Channels list. Deleting a channel removes its automation subscriptions; it does not delete previously written log rows.

Verifying a channel / sending a test message

Two independent ways to confirm a channel actually works:

  1. Per channel, from the channel's edit screen: Verify Token (checks the bot credentials) and Send Test Message (sends a real message to that channel's chat).
  2. Globally, from Telegram → Settings → Test: pick a Test Channel and Test Message, then use Send Test Message to send it — useful for confirming end-to-end delivery without opening a specific channel record. See Settings.

Both actions write a log row, so a failed test is visible in Telegram → Logs even if the CP notification is missed.

Logs

Telegram → Logs lists delivery attempts and automation activity, most recent first. Each row shows its type (delivery, event, automation), status (success, failed, skipped, info), the associated event handle and channel, and a message.

  • Use the search box to filter by log message, event, or channel.
  • Use the status filter to narrow to Success, Failed, Skipped, or Info rows only — useful for triaging failed deliveries without the noise of successful ones.
  • Clear Logs empties the entire log table. This cannot be undone.

Whether successful deliveries and skipped events are logged at all is controlled globally in Settings → Logs; log table size is capped by the Log Entry Limit setting, with older rows trimmed once the limit is reached.

A typical flow, end to end

  1. An admin creates a developer channel pointing at the team's alerts group, and enables the built-in Email failed trigger on it.
  2. A shop plugin dispatches its own shop.orderCompleted event type after checkout (registered per Developer API); the admin enables it on the ecommerce channel and writes a custom message template for it.
  3. From then on, every completed order posts to the ecommerce group using that template, and every failed outbound email posts to the developer group using the built-in default template — no further code changes needed to adjust wording, since both templates can be edited from the channel's Automation tab at any time.