TVN Notify Hub
TVN Notify Hub listens to the WordPress actions/hooks you choose and pings your chat apps or email whenever one of them fires.
Key features:
- Ping on user actions — get notified each time a user performs an action that the admin has enabled.
- Flexible settings — pick one or many built‑in actions, choose recipients, and configure each channel independently.
- Catch hooks from other plugins — besides the built‑in action list, you can add ANY hook name (e.g.
woocommerce_order_status_completed,wpcf7_mail_sent,wpas_open_ticket). Because WordPress hooks are global, hooks registered by other plugins work too. - Multi‑channel architecture — the core is decoupled from the delivery channels. Built‑in channels: Slack, Discord, Telegram, Email. Adding a new one (WhatsApp, X, Mastodon, Microsoft Teams…) only requires implementing
Tvn_Notify_Channel_Interfaceand registering it via thetvn_notify_hub_channelsfilter. - Translation ready (i18n) — the source language is English and the plugin ships with translations for Vietnamese, German, French, Spanish, Italian, Brazilian Portuguese, Russian, Simplified Chinese, Japanese, Korean, Dutch and Indonesian. A
.pottemplate is included so you can translate it into any language. The UI follows your site language automatically.
Channels
- Slack — Incoming Webhook (Bot name, Bot emoji, custom icon, channel override).
- Discord — Incoming Webhook (Bot name, avatar).
- Telegram — Bot API (Bot token + Chat ID, silent option).
- Email —
wp_mail()with a shared subject/HTML template; recipients are picked from admin users (username — email) plus optional extra addresses.
External services
This plugin connects to third‑party services ONLY for the channels you explicitly enable and configure. Nothing is sent until you turn a channel on, save a valid webhook/token, and a selected action fires (or you click “Send test”).
What is sent: the event data used to build the notification — the action/hook name, the acting user’s display name, login, email and role, the IP address of the request, the timestamp, your site name and URL, and a short summary of the event.
- Slack — data is sent to the Incoming Webhook URL you provide (host: hooks.slack.com). Terms: https://slack.com/terms-of-service — Privacy: https://slack.com/trust/privacy/privacy-policy
- Discord — data is sent to the Webhook URL you provide (host: discord.com). Terms: https://discord.com/terms — Privacy: https://discord.com/privacy
- Telegram — data is sent to the Telegram Bot API (host: api.telegram.org) using your bot token and chat id. Terms: https://telegram.org/tos — Privacy: https://telegram.org/privacy
The Email channel uses WordPress‘ own wp_mail() and does not send data to any service controlled by this plugin (delivery depends on your server/SMTP configuration).
Privacy
The plugin stores a local log of recent sends (hook, channel, user id, status, error and the rendered message) in a custom database table so admins can troubleshoot delivery. Logging can be turned off in the settings, and the log can be cleared at any time. All plugin data (settings + log table) is removed on uninstall.
For developers
Add a channel:
add_filter( 'tvn_notify_hub_channels', function ( $channels ) {
$channels[] = new My_Channel(); // implements Tvn_Notify_Channel_Interface
return $channels;
} );
Other filters:
tvn_notify_hub_preset_hooks— add built‑in actions to the settings screen.tvn_notify_hub_event— inspect/modify an event before sending (return false to skip).