Slack Notifications for WooCommerce

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 top

To install this extension, follow our installation instructions. Once activated, the settings live at WooCommerce → Settings → Integration → Slack.


Setup and configuration

↑ Back to top

Slack 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 top

Go 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.

Choosing 'From scratch' when creating a Slack app

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.

Slack app credentials: Client ID and Client Secret

Step 2: Connect the app to WooCommerce

↑ Back to top
  1. Go to: WooCommerce → Settings → Integration → Slack,
  2. Paste the Client ID and Client Secret from your Slack app then click Save changes.
  3. 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/
  4. Back on the WooCommerce settings page, click Connect with Slack and then Allow on the Slack authorization screen.
The Connect with Slack button in the extension settings

Once connected, the page confirms Successfully authenticated and the button changes to Disconnect. You’re ready to configure notifications.


Extension settings

↑ Back to top

With 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.
The Slack integration settings in WooCommerce, showing all ten notification events — new post, new order, order status update, subscription renewal, refund, back order, low on stock, out of stock, new review, and new customer — each with an enable toggle.

Notification events

↑ Back to top

Ten 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 per-event options that appear once a notification is enabled

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 top

You 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]]
A customized notification message rendered in Slack

Emojis

↑ Back to top

Any 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.

The Kestrel logo — a pink origami-style bird — ready to use as a custom :kestrel: Slack emoji

Testing

↑ Back to top

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

Sending a test notification from the extension settings

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 top

I added or removed a channel in Slack, but it’s not showing up.

↑ Back to top

The 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 top

The 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 top

A 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 top

Yes. 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 top

No. Notifications are one-way — from your store into Slack. Managing orders still happens in WooCommerce.


Developer filters

↑ Back to top

Note: 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 top

Have a question before you buy? Fill out this pre-sales form. Already purchased and need a hand? Open a support request.

Related Products

Let customers subscribe to your products or services and pay on a weekly, monthly or annual basis.

Offer add-ons like gift wrapping, special messages or other special options for your products.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.