Keep on top of everything happening in your WooCommerce store with real-time notifications — new orders, stock changes, refunds, reviews, and more — delivered straight to Slack. The Slack Notifications for WooCommerce extension by Kestrel posts each store event to your team’s channels the moment it happens, so no one has to sit watching the WordPress dashboard.
Requirements
↑ Back to top- WooCommerce 8.2 or newer
- PHP 7.4+
- An account on Slack with a free or paid plan, where you can create a Slack app
Installation
↑ Back to topTo install this extension, follow our installation instructions. Once activated, the settings live at WooCommerce → Settings → Integration → Slack.
Setup and configuration
↑ Back to topSlack connects over OAuth 2.0. Setting it up is a two-step process: create a Slack app in your Slack workspace, then connect that app to your store from the extension settings.
If you previously set up a legacy token integration, it will keep working, but OAuth 2.0 is recommended. To migrate, click Clear Key on the notice and follow the steps below — the switch happens automatically.
Step 1: Create a Slack app
↑ Back to topGo to the Slack apps dashboard (log in with your Slack credentials if prompted) and click Create an App. When asked how to configure the app, choose From scratch — no code required.

Fill in the form and click Create App:
- App Name — a name that’s easy to recognise, e.g. Store notifications
- Workspace — the Slack workspace notifications should be sent to
Scroll down to the App Credentials section — you’ll need the Client ID and Client Secret in the next step. Keep this page open.

Step 2: Connect the app to WooCommerce
↑ Back to top- Go to: WooCommerce → Settings → Integration → Slack,
- Paste the Client ID and Client Secret from your Slack app then click Save changes.
- The settings page shows a Redirect URL. Copy it and then:
- Go to your Slack app’s OAuth & Permissions page
- Paste it under Redirect URLs
- Click Add New Redirect URL, then Save URLs. It looks something like
https://yourstore.com/wc-api/wc_slack/
- Back on the WooCommerce settings page, click Connect with Slack and then Allow on the Slack authorization screen.

Once connected, the page confirms Successfully authenticated and the button changes to Disconnect. You’re ready to configure notifications.
Extension settings
↑ Back to topWith Slack connected, the full settings appear. Click Reload Available Channels at the bottom first to pull your workspace’s channel list, then set your defaults:
- Default channel(s) — one or more channels used for any event that doesn’t specify its own.
- Default emoji — the fallback icon for notifications. See the Emojis section.
- Sender name — the bot’s display name in Slack. Defaults to your site name.
- Debug mode — logs to WooCommerce → Status → Logs for troubleshooting. Leave off unless you’re diagnosing an issue.
- Notification events — enable and configure each event you want sent. See Notification events below.
- Send Test Notification — sends a test message to your default channel(s). See Testing.

Notification events
↑ Back to topTen events cover the moments that actually matter across your store — the cash register, the stockroom, and the community around your products. Turn on the ones your team cares about; each is an independent switch (off until you enable it), and each can post to its own channel with its own icon. Here’s what you can put in front of your team the instant it happens:
Orders & revenue
↑ Back to top- New order — a message the moment checkout completes, so someone can jump on fulfilment right away (and the whole team gets to feel each sale land in real time).
- Order status update — follow an order through its whole journey. Choose exactly which statuses fire — processing, completed, refunded, or your own custom statuses — so nothing slips between fulfilment, support, and finance.
- New subscription renewal order — watch recurring revenue roll in alongside first-time orders, so renewals never go unnoticed (with WooCommerce Subscriptions or YITH Subscription active).
- Refund — refunds land in your finance channel the moment they happen, with the amount and reason attached — no reconciling after the fact.
Inventory
↑ Back to top- Low on stock — a heads-up the instant a product crosses your low-stock threshold, while there’s still time to reorder instead of scrambling.
- Out of stock — know the second something sells out, before a customer finds the empty product page.
- Back order — catch the moment a product tips into back order, so you can set expectations early.
Customers & content
↑ Back to top- New review — celebrate the good ones and jump on the tricky ones the moment a review is left.
- New customer — a friendly ping whenever someone creates an account, so your team can welcome new faces.
- New post — announce freshly published posts or pages straight to your content or marketing channel.
Once you enable an event, its options appear. All are optional:
- Channel — one or more specific channels for this event (overrides the default).
- Emoji — a specific icon for this event.
- Custom notification message — your own wording, built from the event’s template tags. See Custom messages.
- Extended notification — for some events, send a richer message with details like order line items or the full review text.

The New order and New subscription renewal order events add one more option — Free orders: enable it to also send a notification for $0 orders.
Custom messages
↑ Back to topYou can rewrite the message for any event. The available template tags are listed under each event — for example {order_number}, {order_total}, or {product_name}. Note that a {..._link} tag outputs the raw URL. Slack’s own formatting is supported:
- Bold — wrap in
*, e.g.*some bold text* - Italic — wrap in
_, e.g._some italic text_ - Links — wrap in
[[and]]as[[url|text to display]], e.g.[[https://woocommerce.com/|Visit the site]]

Emojis
↑ Back to topAny emoji available in your Slack workspace can be used as a notification icon — set a default, and optionally a different one per event. Find shortcodes with a tool like Emoji Searcher, or add your own via Slack’s Custom Emoji (assign a shortcode like :woocart: and use it in the settings).
Slack applies a 5-minute lock on icons: notifications sent less than 5 minutes apart are grouped under the first one’s icon, so per-event icons only show distinctly when the messages are spaced out.
A little emoji strategy goes a long way — give each event its own icon and your team can read a channel at a glance: 🛒 for new orders, 💸 for refunds, 📦 for stock, ⭐ for reviews.
And if you’d like to make it unmistakably yours, upload the Kestrel logo as a :kestrel: custom emoji and pin it to your new-order alerts. Entirely optional — but we’d be quietly delighted.

Testing
↑ Back to topTo confirm the connection, go to WooCommerce → Settings → Integration → Slack and click Send Test Notification. A test message is sent to your default channel(s).

Compatibility
↑ Back to top- HPOS — compatible with High-Performance Order Storage (custom order tables).
- Cart & Checkout blocks — new-order notifications fire on both the classic checkout and the block checkout.
- Subscriptions — renewal notifications work with WooCommerce Subscriptions, Constellation by Kestrel, and YITH Subscription.
- Point of sale — orders created through standard WooCommerce order hooks trigger notifications. Some POS tools create orders through non-standard flows; if yours doesn’t send a new-order notification, enable the Order status update event as a reliable fallback.
Frequently asked questions
↑ Back to topI added or removed a channel in Slack, but it’s not showing up.
↑ Back to topThe extension caches your channel list to save resources. Click Reload Available Channels at the bottom of the settings page and the list will update.
Notifications stopped arriving after working fine.
↑ Back to topThe extension stores a single Slack access token and doesn’t refresh it automatically, so if your Slack app has token rotation enabled the token eventually expires and the connection drops. Leave token rotation off on your Slack app, and if the connection is ever lost, reconnect from the settings page with Connect with Slack.
Some of my Slack notifications aren’t sending.
↑ Back to topA few things to check: the event is enabled and pointed at a channel that still exists (use Reload Available Channels if it’s missing); for a private channel, invite the app to that channel first — Slack won’t post to a private channel it hasn’t been added to; for $0 orders, enable the Free orders option; and if orders from a point-of-sale tool aren’t triggering, see the Compatibility note about the Order status update fallback.
Can I send different events to different channels?
↑ Back to topYes. Every event has its own channel selector and can post to more than one channel. Anything you leave unset falls back to your default channel(s).
Can I reply to or manage orders from Slack?
↑ Back to topNo. Notifications are one-way — from your store into Slack. Managing orders still happens in WooCommerce.
Developer filters
↑ Back to topNote: We can’t provide support for customizations under our Support Policy. If you’re not comfortable with code, a WooExpert or developer can help.
If you have something that you want the plugin to do and it currently doesn’t, reach out to our team directly. We’re happy to help!
Notification content is filterable throughout. Each event exposes filters for its message and prefix, and most also expose an attachment filter for the extended notification. Available filters:
// New order
wcslack_new_order_prefix, wcslack_new_order_message, wcslack_new_order_attachment
// Subscription renewal
wcslack_sub_renew_new_prefix, wcslack_sub_renew_new_message, wcslack_sub_renew_new_attachment
// Refund
wcslack_refund_prefix, wcslack_refund_message, wcslack_refund_attachment
// Back order
wcslack_back_order_prefix, wcslack_back_order_message
// Low on stock
wcslack_low_stock_prefix, wcslack_low_stock_message
// Out of stock
wcslack_out_stock_prefix, wcslack_out_stock_message
// New review
wcslack_new_review_prefix, wcslack_new_review_message, wcslack_new_review_attachment,
wcslack_new_review_reviewer_name, wcslack_new_review_product_name,
wcslack_new_review_rating_star, wcslack_new_review_content, wcslack_new_review_url
// New customer
wcslack_new_customer_prefix, wcslack_new_customer_message,
wcslack_new_customer_name, wcslack_new_customer_url
// New post
wcslack_new_post_prefix, wcslack_new_post_message, wcslack_new_post_attachment,
wcslack_new_post_title, wcslack_new_post_content, wcslack_new_post_author,
wcslack_new_post_url, wcslack_post_publish_types
// Global
wcslack_message_username
Questions and support
↑ Back to topHave a question before you buy? Fill out this pre-sales form. Already purchased and need a hand? Open a support request.