
How to Automate Order Alerts to Telegram and WhatsApp for WooCommerce
Instant order alerts send a message to Telegram or WhatsApp the moment a WooCommerce order is placed, including the products sold, stock remaining, order total, payment method, courier assignment, traffic source and device — without you opening a dashboard. The trigger is a WooCommerce webhook, the message is assembled by an automation layer, and the whole thing runs in seconds after checkout.
Why Checking the Dashboard Manually Does Not Scale
Refreshing WooCommerce admin every hour to see new orders is a habit that breaks the moment your store gets busy or you step away from a screen. You miss the moment a high-value order arrives, you miss a payment failure that needs attention, and you miss the stock dropping to one unit on a fast-moving product. A push message removes all of that. It puts the right information in front of you — or your fulfilment team — at the exact moment the order is confirmed, on a device everyone already has open.
The difference between a useful alert and a noisy one is field selection. A message that just says “New order #1042” is nearly worthless. A message that shows the product name and SKU, units sold, stock remaining, order total, payment gateway used, shipping method, the country the buyer is in, the traffic source that brought them, and whether they came from mobile or desktop — that is a message you act on.
How the Alert Pipeline Works Step by Step
The pipeline has four stages: trigger, data collection, message assembly and delivery. Here is how each one works in practice.
- Trigger. WooCommerce fires a webhook when an order status changes to processing or completed. The webhook payload contains the order ID, line items, totals, customer address, payment method and meta fields. This is the raw event that starts everything.
- Data collection. The automation scenario — running in a tool such as Make.com — receives the webhook and makes additional calls if needed. It can query WooCommerce’s REST API to pull current stock levels for each SKU in the order, because the webhook payload alone does not always include post-sale stock counts.
- Message assembly. The scenario maps each data field to a line in the message. Emojis or short labels can make scanning fast on a phone. A typical useful message covers: order number, product names and quantities, stock left per SKU, order total and currency, payment gateway, shipping method or courier, buyer country, traffic source (UTM medium or GA4 session channel if passed through the order meta), and device type.
- Delivery. The assembled message is sent via the Telegram Bot API to a private chat or a group, or via a WhatsApp Business API provider to a WhatsApp number. Both channels deliver in under five seconds from the webhook firing. You can send to both in parallel so a warehouse team on WhatsApp and a founder on Telegram each get their copy.
What Data Fields to Include and Why Each One Matters
| Field | Why it matters | Where it comes from |
|---|---|---|
| Product name + SKU | Identifies exactly what sold without opening admin | Order line items |
| Quantity ordered | Tells fulfilment how many to pick | Order line items |
| Stock remaining | Flags if you are about to go to zero | WooCommerce REST API call post-order |
| Order total + currency | Quick revenue check, flags unusual values | Order totals |
| Payment method | Tells you if funds are already captured or pending | Order payment gateway field |
| Shipping method or courier | Determines which courier label to print | Shipping lines in order |
| Buyer country | Flags cross-border orders needing extra documentation | Shipping address country code |
| Traffic source | Shows which channel is actually converting today | UTM meta or GA4 session data stored at checkout |
| Device type | Useful for UX decisions and ad targeting | User agent parsed or stored at session |
| Language | Flags which language version the buyer used | Order locale or WPML/Polylang meta |
What Can Go Wrong and How to Handle It
Order alert pipelines are simple but a few failure points appear regularly. Knowing them before you build saves debugging time later.
- Webhook delivery failures. WooCommerce retries failed webhooks but only a limited number of times. If your automation endpoint is down during a traffic spike, orders can be missed. Build a fallback: a scheduled scenario that polls new orders every five minutes and cross-checks against a log of already-alerted order IDs.
- Missing traffic source data. UTM parameters are only available in the order meta if you store them at session start — either with a custom plugin or a consent-respecting analytics integration. If a buyer arrives without UTM tags, the field will be empty; handle this gracefully in the message template rather than letting it cause a formatting error.
- Telegram Bot rate limits. The Telegram API allows up to 30 messages per second to different chats. For very high-volume stores, batch or queue messages rather than firing one per order simultaneously.
- Stock count race conditions. If two orders land within the same second on the same SKU, the REST API call inside each automation run may see the same stock value before either write completes. For stores selling unique or very-low-stock items, pair this with a stock protection layer to prevent overselling. The Bulgaro Stock Guard plugin records every stock change event with its source, which makes it straightforward to audit exactly what happened when a conflict occurs.
- WhatsApp API costs. WhatsApp Business API is not free. Conversation charges apply per 24-hour window. For very frequent alerts, Telegram is the lower-cost channel; WhatsApp suits situations where the team already runs operations there.
What a Human Still Needs to Review
The alert tells you what happened; it does not make the decision for you. A human still needs to confirm that a flagged low-stock product gets reordered, that an unusually large order total is legitimate before shipping, and that a payment method marked as pending actually clears before fulfilment starts. The alert is an attention signal, not an instruction. Keep that boundary clear when you set up routing rules for your team.
For a broader look at automating repetitive store operations, the article on which task a small store should automate first walks through how to prioritise what to build next once order alerts are running.
How We Run This in Our Own Projects
At GiantParts.eu, our WooCommerce store for tested used OEM car electronics, every confirmed order fires an instant alert to both Telegram and WhatsApp. The message shows the part name, the OEM number, units ordered, stock remaining, the total in the buyer’s currency, the payment gateway, whether DPD or DHL was selected at checkout, the buyer’s country, the traffic source and the device type. The stock-remaining field is especially critical for this store because most items are one-of-a-kind tested units — seeing “stock: 0” immediately after an order confirms whether that listing needs to be taken offline or if a restock is expected.
The pipeline runs through Make.com, triggered by a WooCommerce webhook, and has been live long enough that we have tested all the failure modes described above. The fallback polling scenario has caught missed webhooks on two occasions during hosting maintenance windows. Bulgaro Stock Guard sits alongside it, logging every stock event so any discrepancy between what the alert reported and what actually happened in the database can be traced to its source.
FAQ
Can WooCommerce send order alerts to Telegram without coding?
Yes. The combination of a WooCommerce webhook and an automation platform such as Make.com requires no custom code — you configure the webhook in WooCommerce settings, connect it to a Make.com scenario, and use the Telegram Bot API module to send the message. The main configuration work is mapping the data fields you want in the message and formatting the text template.
Does the order alert work if the buyer pays by bank transfer and the order stays on hold?
It depends on which order status you use as the trigger. If you trigger on on-hold in addition to processing, you will receive an alert for pending bank transfer orders. It is useful to label the payment method clearly in the message so the team knows not to ship until payment clears. You can also set up a second alert that fires when the status moves to processing, confirming payment received.
How do I include the traffic source in a WooCommerce order alert?
Traffic source data must be captured and stored in WooCommerce order meta at the point of checkout. A common approach is to read UTM parameters from the URL on landing, store them in a session cookie, and write them to the order meta when the order is placed. Once they are in order meta, your automation scenario can read them from the webhook payload or via a REST API call and include them in the alert message.
Is it possible to send different alert messages to different team members?
Yes. In your automation scenario you can route messages based on conditions — for example, orders above a certain total go to one Telegram chat, orders containing a specific product category go to a warehouse group, and international orders go to a logistics contact. Each routing branch assembles and sends its own message with only the fields relevant to that recipient.
Where to Go Next
Order alerts are one part of a broader set of automations that keep a WooCommerce store running without constant manual checking. To see the full range — including the daily 08:00 business report, AI-generated product listings, automated social posting and the SEO blog engine — visit the AI Automation page. If you want this built for your store, request a project quote and the studio will reply within 24–48 hours.
See it live · Instant order alerts on your phone