Order Messenger for WooCommerce gives every order its own private conversation between the store and the customer. Customers write from My Account or from the order confirmation page; your team answers from the Messenger page, the Orders list or the order screen. Messages, attachments, status changes and order notes stay with the order, both sides are notified by email, and messages can be scheduled or sent automatically.
Developers find the hooks, templates, REST API and JavaScript in the developer documentation.
Installation
↑ Back to top- Download the plugin .zip file from your WooCommerce.com account under My Subscriptions.
- In WordPress go to Plugins → Add New → Upload Plugin, choose the file and click Install Now.
- Click Activate.
The plugin needs WordPress 6.5 or newer, WooCommerce 9.0 or newer and PHP 7.4 or newer. It works with classic and block themes and with high-performance order storage. Background jobs (scheduled messages, email digests) run through WooCommerce’s Action Scheduler, which is part of WooCommerce.
If the Messages tab does not show up in customers’ My Account right away, open Settings → Permalinks and click Save Changes once to refresh the URL rules.
Quick start
↑ Back to top- Open WooCommerce → Messenger. Every order with messages is listed on the left; pick one and reply on the right.
- Place a test order with a customer account, open My Account → Messages as that customer and send a message. It appears on the Messenger page within seconds, and your team receives an email.
- Review WooCommerce → Settings → Order Messenger. The defaults work for most stores: status changes and order notes are posted into conversations, customers may attach files, and both sides receive digest emails.
A conversation belongs to exactly one order. It holds the messages written by the customer and by your team, the files they attached, and automatic entries such as status changes and order notes. Nothing is shared between orders.
The Messenger page
↑ Back to topWooCommerce → Messenger lists every conversation with the latest message, the order number and status, and an unread badge. Search by order number, customer name or email address, or switch on Unread only to see what needs an answer. Pick a conversation and reply without leaving the page. New messages appear live while the page is open, and a double check mark under your message shows that the customer has read it.

The WooCommerce menu shows the number of unread customer messages next to Messenger. The page can be switched off in Advanced settings if you prefer to work from the Orders list.
Orders list and order screen
↑ Back to topThe Orders list gets a Messages column. The badge shows how many customer messages are waiting, and Open shows the conversation in a modal so you can reply and get back to the list. The Unread messages filter above the table narrows the list to orders with unanswered messages.


Every order edit screen has a Messages box with the whole conversation and the composer. It can be dragged to the side column like any other box.

Writing to a customer
↑ Back to topThe composer is the same on the Messenger page, in the Orders list modal and on the order screen.
- Message: plain text, up to the length set in General settings (3,000 characters by default). Links are clickable for the customer. Ctrl+Enter or Cmd+Enter sends.
- Attach: pick a file from the media library. It is delivered inside the conversation and linked from the notification email.
- Schedule: choose a date and time and the message is sent then, in your store’s timezone. Until it goes out it is shown to your team with a dashed outline and can be cancelled from its menu.
- Email the customer: leave it on to notify the customer by email, or switch it off for a message that should only appear in the conversation.

Hover a message to open its menu. Delete removes the message for the customer too. Mark as unread puts a customer message back on your to-do list.
By default customers see the name of the team member who wrote a message. Set a Store signature in General settings, for example your shop name, and every message from your team is shown under that name instead.
The customer side
↑ Back to topCustomers get a Messages tab in My Account that lists their order conversations with unread counts, and a Messenger button next to each order under My Account → Orders. Inside a conversation they write, attach photos and documents, and see a check mark when your team has read their message. New replies appear live while the page is open.


The conversation uses your theme’s own fonts, colors and buttons, so it looks native out of the box. Pick one of the color palettes in General settings if you want it to stand out.
Customers who checked out without an account get the same conversation on the order confirmation page. The page is protected by the order key that WooCommerce adds to the confirmation URL, and the notification emails link back to it. Guest access can be switched off in General settings.

Attachments
↑ Back to topCustomers can send photos and documents from the conversation; your team attaches files from the media library. Uploaded files are stored in a protected folder and are served only to the people in that conversation: the customer, or the guest with the order key, and your team. Images open in a lightbox; other files download.
In Attachments settings choose whether customers may upload, which file types are allowed, and the maximum size per file. The size is also capped by the server’s upload limit. Files with a misleading extension or content type are rejected.
Automatic messages
↑ Back to topStatus changes and order notes. Every order status change is posted into the conversation as a system entry, so the conversation tells the whole story of the order. Customer-facing order notes, whether written by your team or added by another plugin such as a shipping or tracking extension, are posted as well. Because the conversation notifies the customer, WooCommerce’s own “note to customer” email can be switched off in the same settings section to avoid double emails.
Purchase messages. Give a product a message and every customer who buys it receives it in their order conversation, once per order. Open the product, find the Order Messenger tab in the product data box, write the message and optionally choose a file from the media library. In Automatic messages settings decide whether it is sent when the order is placed or once payment is confirmed.

Scheduled messages. Use Schedule in the composer for follow-ups: a delivery reminder, a review request, a check-in a week later. Scheduled messages are sent by a background job, so nobody needs to be logged in at that moment. They stay visible to your team until sent and can be cancelled. The feature can be switched off in Automatic messages settings.
Email notifications
↑ Back to topTwo WooCommerce emails belong to the plugin. Both are listed under WooCommerce → Settings → Emails and can be customized like any other WooCommerce email.
| Recipient | Notes | |
|---|---|---|
| Order Messenger: new customer messages | Your team | Set the recipient address in the email settings; it defaults to the site admin email. |
| Order Messenger: new messages | The customer’s billing address | Sent for messages from your team and for automatic entries. |
Both emails quote the new messages, link attachments and link straight to the conversation. The placeholders {order_number}, {order_date}, {customer_name}, {total_messages} and {unread_messages_count} can be used in the subject and heading.
In Notifications settings choose between Single, one email per message, and Digest, which waits for the delay you set and then bundles everything that arrived in the meantime into one email. A message that was read in the conversation before the digest goes out is not emailed.
Team access
↑ Back to topAdministrators can always read and answer. For everybody else, choose the roles under Advanced → Team roles. Users with those roles receive the manage_order_messenger capability and get the Messenger page, the Orders list column and the order screen box. Shop managers are included by default.
Settings
↑ Back to topAll settings are under WooCommerce → Settings → Order Messenger.

General
↑ Back to top| Setting | What it does |
|---|---|
| Color theme | Neutral inherits your theme. The named palettes (Sea, Grackle, Rose, Sunset) color the customer-side conversation. |
| Store signature | The name shown to customers on messages from your team. Empty shows the team member’s name. |
| Messages per page | How many messages a conversation shows before older ones are loaded (5 to 200). |
| Message length | Maximum characters per message, for customers and your team (200 to 60,000, default 3,000). |
| Read receipts | Show customers a check mark once your team has read their message. |
| Orders list link | Add a Messenger button to each order in My Account → Orders. |
| Guest orders | Let guest customers open the conversation from the confirmation page and the email link. |
| Live updates | Seconds between checks for new messages while a conversation is open. 0 turns live updates off. |
Automatic messages
↑ Back to top| Setting | What it does |
|---|---|
| Status changes | Post an entry for every order status change. |
| Customer notes | Post customer-facing order notes into the conversation. |
| Note emails | Turn off WooCommerce’s own “note to customer” email while notes are posted here. |
| Purchase messages | Send the product’s purchase message, when the order is placed or when payment is received. |
| Scheduled messages | Let your team schedule messages from the composer. |
Notifications
↑ Back to top| Setting | What it does |
|---|---|
| Email notifications | Master switch for both notification emails. |
| Type | Digest bundles messages after a delay; Single sends one email per message. |
| Delay | Minutes a digest waits before it is sent (at least 1). |
Attachments
↑ Back to top| Setting | What it does |
|---|---|
| Customer uploads | Allow customers to attach files. Your team can always attach media library files. |
| Allowed file types | Images, PDF, Office documents, text, archives, audio and video can be enabled individually. |
| Maximum size | Per file, in megabytes, limited by the server’s upload limit. |
Advanced
↑ Back to top| Setting | What it does |
|---|---|
| Team roles | Roles that can read and answer conversations. Administrators always can. |
| Messenger page | Show WooCommerce → Messenger. |
| Delete data on uninstall | Remove every message and setting when the plugin is deleted. |
Shortcodes
↑ Back to topThe conversation and the list can be placed on any page. Only the order’s customer and your team can see a conversation.
| Shortcode | Shows |
|---|---|
| [order_chatroom order_id=”123″] | The conversation of one order. Without order_id it uses the order from the current My Account URL. |
| [order_chatrooms limit=”10″ current_page=”1″] | The current customer’s conversations, paginated. |
| [order_chatroom_unread_messages_count order_id=”123″] | The number of unread messages for one order, or across all of the customer’s orders when order_id is left out. |
Tools
↑ Back to top- Send purchasing message in the order actions on the order screen sends the products’ purchase messages again, for example after the product message changed.
- WooCommerce → Status → Scheduled Actions lists the plugin’s background jobs in the order-messenger group: one action per scheduled message, a catch-up job every 10 minutes and the digest job while digests are enabled.
- Settings → Permalinks → Save Changes refreshes the URL rules for the My Account endpoints.
- Delete data on uninstall in Advanced settings decides whether conversations survive a reinstall.
FAQ
↑ Back to topThe Messages tab in My Account shows a 404 page. Open Settings → Permalinks and save once; the account endpoints need refreshed URL rules after activation.
Scheduled messages or digests are late. They run through WooCommerce’s Action Scheduler. On a site with little traffic, a server cron job that calls wp-cron.php keeps them on time.
A customer cannot upload a file. Check Attachments settings: uploads enabled, the file type allowed, the size under the limit and under the server’s upload limit.
Customers do not receive emails. Confirm that the email is enabled under WooCommerce → Settings → Emails, then check mail delivery with any other WooCommerce email.
The conversation looks plain on my theme. The plugin inherits the theme’s fonts and colors on purpose. Pick a color palette in General settings or style the om- classes; see the developer documentation.
Can I limit who on the team sees conversations? Yes. Only administrators and the roles chosen under Advanced → Team roles can open conversations in the admin.
Does it work with guest checkout? Yes. Guests get the conversation on the order confirmation page and in the notification emails, protected by the order key.
Upgrading from version 3. Conversations, settings, endpoints, emails and shortcodes carry over; settings are migrated on the first page load. Storefront template overrides written for version 3 still load but rely on the old markup, so copy the current templates from the plugin’s views/frontend folder if you customized them.
Developers and support
↑ Back to topHooks, template overrides, styling, the REST API and JavaScript are covered in the developer documentation.
For questions about the plugin, contact support with your WooCommerce.com account. Include the plugin, WooCommerce and WordPress versions and, for email questions, whether other WooCommerce emails arrive.