Push notifications from a WooCommerce store to multiple notification services.
Find a file
2026-06-18 11:19:11 +01:00
includes Changes to notifications.php because hooks weren't firing as desired 2026-06-18 11:19:11 +01:00
.gitignore Update to 1.4.1 to prevent duplicate messages in channel based services. 2026-06-03 11:11:21 +01:00
CHANGELOG.md Changes to notifications.php because hooks weren't firing as desired 2026-06-18 11:19:11 +01:00
LICENSE Add proper README.md, changelog and License 2026-05-24 11:04:41 +01:00
README.md Changes to notifications.php because hooks weren't firing as desired 2026-06-18 11:19:11 +01:00
readme.txt Update to 1.4.1 to prevent duplicate messages in channel based services. 2026-06-03 11:11:21 +01:00
woocommerce-push-notifications.php Changes to notifications.php because hooks weren't firing as desired 2026-06-18 11:19:11 +01:00

WooCommerce Push Notifications

Send admin push notifications to multiple services when key events occur on your WooCommerce store. Each admin or shop manager can configure their own notification preferences independently.

Supported Services

Service Type
ntfy Self-hostable or hosted
Gotify Self-hosted
Mattermost Self-hosted, incoming webhook
Apprise Self-hosted, 80+ services
Custom webhook Any JSON POST endpoint

Supported Events

WordPress

  • User login

WooCommerce (requires WooCommerce)

  • New order (payment confirmed / processing)
  • Order status changes
  • Failed or cancelled order
  • New customer registration
  • Low stock alert

WooCommerce Subscriptions (requires WooCommerce Subscriptions)

  • Subscription renewal — success
  • Subscription renewal — failed
  • Subscription cancelled

Per-User Preferences

Each administrator or shop manager can override the global settings from their WordPress profile page. They can:

  • Enable or disable individual events independently of the global setting
  • Choose which notification services they personally receive alerts on

This allows different team members to receive only the notifications relevant to their role — for example a shop manager receiving new order alerts via ntfy, while an administrator receives failed order and subscription alerts via Mattermost.

Installation

  1. Download the latest zip from Releases
  2. In WordPress go to Plugins → Add New → Upload Plugin
  3. Upload the zip and activate
  4. Go to Settings → Push Notifications to configure your services
  5. Enable events globally under the Events tab
  6. Optionally, each admin/shop manager can set personal preferences under Users → Profile

Configuration

Global Settings

Each service has its own tab in Settings → Push Notifications. Enable the services you want and fill in the relevant credentials. The Events tab controls which events trigger notifications globally.

Use the Send Test Notification button at the bottom of the settings page to confirm each service is working.

ntfy

  • Server URL — use https://ntfy.sh for the hosted service or your own server
  • Topic — the ntfy topic to publish to
  • Username / Password — leave blank if your topic is public

Gotify

  • Server URL — your self-hosted Gotify instance
  • App Token — create an application in Gotify and use its token

Mattermost

  • Webhook URL — create an incoming webhook under Integrations → Incoming Webhooks
  • Bot Username — display name in Mattermost (defaults to WooCommerce)
  • To post to a specific channel, set it on the webhook in Mattermost directly

Apprise

  • API URL — your self-hosted Apprise API instance
  • Config Key — optional, uses /notify/{key} if set, otherwise /notify
  • API Token — optional bearer token if your instance requires auth

Custom Webhook

Sends a JSON POST to any URL:

{ "title": "...", "message": "...", "priority": "..." }

Optional Bearer token supported.

Per-User Preferences

Each administrator or shop manager will see a Push Notification Preferences section on their WordPress profile page. Each event and each service can be set to:

  • Use global setting — defers to the global Events tab configuration
  • Enabled — always receive this notification
  • Disabled — never receive this notification

Only globally enabled services appear in the per-user service list.

Requirements

  • WordPress 5.8+
  • PHP 7.4+
  • WooCommerce (for order, customer, and stock events)
  • WooCommerce Subscriptions (for subscription events, optional)

License

GPL v2 or later. See LICENSE.

Contributors

  • Developed with AI assistance from Claude