Webhook For WooCommerce
Webhook For WooCommerce
Description
WebhookX is a lightweight, developer-friendly webhook manager for WordPress and WooCommerce. Create unlimited webhooks that fire automatically when WooCommerce actions happen, and deliver rich JSON payloads to any external endpoint in real time.
Key Features
- WooCommerce event triggers — Hook into 11+ built-in WooCommerce actions out of the box.
- Custom delivery URL — Send webhook payloads to any HTTP/HTTPS endpoint.
- HMAC secret signing — Optionally secure each webhook with a secret key. Requests include an
X-WebhookX-Signatureheader (SHA-256 HMAC) so your endpoint can verify authenticity. - Active / Inactive status — Enable or disable individual webhooks without deleting them.
- Rich JSON payloads — Payloads include full order details (line items, billing, shipping, totals), customer data, product stock info, and more.
- Bulk delete — Remove multiple webhooks at once from the management table.
- Webhook delivery logs — Every webhook delivery is automatically logged with status, HTTP response code, response body, payload, and execution duration. Browse, filter, retry, and delete log entries from a dedicated Logs tab.
- Non-blocking delivery — Webhooks are dispatched asynchronously so they never slow down your storefront.
- Extendable — Add custom events via the
webhookx_woocommerce_eventsfilter.
Supported WooCommerce Events
- New Order Created
- Order Status Changed
- Payment Complete
- Checkout Order Processed
- Order Completed
- Order Cancelled
- Order Refunded
- Customer Created
- Add to Cart
- Product Stock Updated
- Product Stock Status Changed
Webhook Payload
Each webhook delivers a JSON POST body. For order events this includes:
- Order ID, status, currency, totals (subtotal, tax, shipping, grand total)
- Full billing and shipping address
- Line items with product ID, name, quantity, and totals
- Customer ID and email
- Order creation timestamp
For customer events: customer ID, email, username, first/last name.
For cart events: product ID, name, quantity, variation ID.
For stock events: product ID, name, SKU, stock quantity / status.
Request Headers
Every webhook request includes:
Content-Type: application/jsonX-WebhookX-Event— the WooCommerce action slug that firedX-WebhookX-Delivery— a unique UUID per deliveryX-WebhookX-Signature— SHA-256 HMAC signature (only when a secret key is set)
Webhook Logs
Every webhook delivery attempt is recorded in a dedicated Logs tab. Each log entry includes:
- Status —
success,failed, orpending - HTTP response code — the status code returned by the remote endpoint
- Webhook name & event — which webhook fired and what triggered it
- Delivery URL — the endpoint the payload was sent to
- Request payload — the full JSON body that was delivered
- Response body — the raw response returned by the endpoint
- Duration — how long the delivery took in milliseconds
- Timestamp — when the delivery was made
From the Logs tab you can:
- Filter logs by status (All / Success / Failed)
- View full payload and response details in a modal
- Retry any individual delivery with one click
- Delete individual or bulk-selected log entries
Additional Information
For more information and updates, visit the official website https://softtent.com.
License
This plugin is licensed under the GPL-2.0-or-later License.
Installation
- Upload the
webhookxfolder to/wp-content/plugins/. - Activate the plugin through the Plugins menu in WordPress.
- Make sure WooCommerce is installed and activated.
- Navigate to WebhookX in the WordPress admin menu.
- Click Add Webhook, choose a WooCommerce event, enter your delivery URL, and save.
Screenshots

Webhooks list — name, event, webhook URL, status, and created date.

Add/Edit webhook form — event selector, webhook URL, secret key, and status.

Webhook Logs tab — paginated webhook history with status badges, HTTP code, event, webhook name, duration, and date.

Log detail modal — full request payload and response body with status, HTTP code, and timing.
Faq
Yes. WebhookX is designed to trigger webhooks based on WooCommerce events. WooCommerce must be installed and active for webhooks to fire.
Set a Secret Key when creating a webhook. Each request will include an X-WebhookX-Signature header containing sha256=<hmac>. Compute hash_hmac('sha256', $raw_body, $secret) on your server and compare it to the header value.
Yes. Use the webhookx_woocommerce_events filter to add your own event slugs to the event list in the UI. You are responsible for hooking the corresponding WordPress/WooCommerce action.
Edit the webhook and set its Status to Inactive. It will be ignored until you re-activate it.
Logs are stored in a custom database table ({prefix}webhookx_logs). You can view all logs under the Logs tab in the WebhookX admin screen. Logs are created automatically for every delivery attempt — whether it succeeds or fails.
Yes. In the Logs tab, click the ⋮ actions menu next to any log entry and choose Retry. The plugin will re-dispatch the original payload to the same endpoint immediately. You will be notified whether the retry succeeded or received a non-2xx response.
For detailed documentation, visit https://softtent.com.
Please mail us at contact@softtent.com
Reviews
Changelog
0.1.1
- WooCommerce webhook management with 11 built-in event triggers.
- Add, edit, delete, and bulk-delete webhooks from the admin UI.
- HMAC SHA-256 request signing with optional secret key.
- Non-blocking async HTTP delivery via
wp_remote_post. - Rich JSON payloads for orders, customers, cart, and stock events.
- Active/Inactive webhook status toggle.
- Added Webhook Logs — every delivery attempt is now recorded with status, HTTP code, response body, payload, and duration.
- New Logs tab in the admin UI with paginated, filterable log history (All / Success / Failed).
- Retry any failed or successful delivery directly from the Logs tab.
- Bulk delete log entries from the Logs tab.
- Log detail modal showing full request payload and response body.
- Fixed plugin-check warnings for direct database queries in
Webhook.phpandWebhookLog.php.