Creating & Managing Webhooks
Creating Your First Webhook
A “webhook” is just a private URL that your WordPress plugin sends order data to. Stackhook generates one for each store/plugin combination you set up.
In the Create New Webhook card:
- WordPress Plugin — choose which plugin this webhook is for.
- Store Identifier — a short label with no spaces (e.g. my-shop), used internally to tell your stores apart. Hover the ⓘ next to the field for a reminder.
- Store Name — what you want to see as the title of the Telegram notification (e.g. “My Coffee Shop”). If you leave this blank, the plugin name is used instead. This matters most if you run more than one store on the same plugin.
- Notification Events — click the + button to choose which events you want notified for this store (see Understanding Notification Events below). “New Paid Order” is selected by default.
- Click Generate & Save Webhook.
Your new webhook appears under Active Webhooks. Click the copy icon to copy its URL — you'll paste this into your WordPress plugin's webhook setting next (see Setting Up Webhooks in Your Plugin below). The button briefly shows “Copied” to confirm.
Note: The copied URL contains a private security token. Anyone with that exact URL could trigger fake notifications, so only paste it into your plugin's settings — never share it publicly (e.g. in a support forum post or screenshot).
Understanding Notification Events
Stackhook can notify you about four types of events. Not every plugin supports every event type — Stackhook only shows you the ones that make sense for the plugin you picked.
| Event | What it means |
|---|---|
| 🎉 New Paid Order | A customer completed a purchase. |
| ↩️ Refund / Cancellation | An order was refunded or cancelled. |
| ⚠️ Failed Payment | A payment attempt failed. |
| 🔁 Subscription Renewal / Cancel | A recurring subscription renewed or was cancelled. |
Which plugins support which events
| Plugin | New Paid Order | Refund / Cancel | Failed Payment | Subscription |
|---|---|---|---|---|
| WooCommerce | ✓ | ✓ | ✓ | ✓ ¹ |
| Easy Digital Downloads | ✓ | ✓ | ✓ | ✓ ² |
| FluentCart | ✓ | ✓ | ✓ | ✓ |
| SureCart | ✓ | ✓ | ✓ | ✓ |
| StoreEngine | ✓ | ✓ | ✓ | ✓ |
| MemberPress | ✓ | ✓ | ✓ | ✓ |
| GiveWP | ✓ | ✓ | — | ✓ ³ |
| Tutor LMS | ✓ | ✓ | — | — |
| The Events Calendar / Event Tickets | ✓ | ✓ | — | — |
| Amelia | ✓ | ✓ | — | — |
| Fluent Forms | ✓ | — | — | — |
| WPForms | ✓ | — | — | — |
| Ninja Forms | ✓ | — | — | — |
| Gravity Forms | ✓ | — | — | — |
A few plugins need an extra add-on for subscription notifications to work at all:
- ¹ WooCommerce needs the WooCommerce Subscriptions extension.
- ² Easy Digital Downloads needs the EDD Recurring Payments add-on.
- ³ GiveWP needs the GiveWP Recurring Donations add-on.
If you select an event your plugin can't actually produce (e.g., you don't have the subscriptions add-on installed), nothing bad happens — Stackhook simply never receives that type of event, so you won't be notified for it.
Managing & Editing Webhooks
Under Active Webhooks, each entry has three buttons:
- Copy — copies the webhook URL again (useful if you need to re-paste it into your plugin).
- Edit — change the Store Name, Store Identifier, or which events are selected, without recreating the webhook. Your existing security token is preserved automatically.
- Delete — removes the webhook. Your plugin will start getting errors from that URL until you either remove it from the plugin too or create a replacement.
Note: If you change the Store Identifier while editing, the webhook's URL changes with it. Stackhook will remind you to copy the new URL and update it in your plugin — otherwise notifications from that store will stop.
Running Multiple Stores or Websites
You can connect as many websites and stores as you like to a single Stackhook install and a single Telegram bot/chat. Create one webhook per store/plugin combination, and give each a distinct Store Name so you can tell them apart in Telegram at a glance — e.g., “My Coffee Shop” vs. “My Print Shop”, even if both use WooCommerce.