Order Messenger gives every WooCommerce order its own private conversation between the store and the customer. This guide covers installation, where conversations live in the admin and in the customer account, attachments, automatic and scheduled messages, notifications, every setting, shortcodes and troubleshooting. Developers will find hooks, templates and the REST API in the developer documentation.

Getting started

Requirements

  • WordPress 6.5 or newer, WooCommerce 9.0 or newer, PHP 7.4 or newer.
  • Classic and block themes are supported, and so is high-performance order storage (HPOS).
  • Background jobs (scheduled messages, email digests) run through WooCommerce’s Action Scheduler, which is part of WooCommerce.

Installation

  1. Download the plugin zip from your WooCommerce.com account (the premium version) or install Orders Chat for WooCommerce from the WordPress plugin directory (the free version).
  2. In your site’s admin go to Plugins → Add New → Upload Plugin, choose the zip and activate it.
  3. Open WooCommerce → Settings → Order Messenger to review the settings. The defaults work for most stores.
  4. If the Messages tab does not appear in customers’ My Account right away, open Settings → Permalinks and click Save Changes once to refresh the URL rules.

The free and the premium versions share the same data. Upgrading from the free version keeps every conversation and setting; activate the premium plugin and the free one is switched off automatically.

What a conversation is

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. Customers see it in their account, your team sees it in the WooCommerce admin. Nothing is shared between orders.

Where conversations live in the admin

The Messenger page

WooCommerce → Messenger lists every conversation with the latest message, the order number and status, and an unread badge. Use the search box for an order number, a customer name or an email address; switch on Unread only to focus on what needs an answer. Pick a conversation and reply on the right, without leaving the page. New messages appear live while the page is open, and a double check mark under your message shows the customer has read it.

The page can be switched off in Advanced settings if you prefer to work from the orders list.

The Orders list

The Orders list gets a Messages column. The badge shows how many customer messages are waiting; 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.

The order screen

Every order edit screen has a Messages box with the full conversation and the composer. Drag it where you like it; it works in the side column too.

Writing to a customer

The composer is the same on the Messenger page, in the Orders list modal and on the order screen.

  • Message: up to 3000 characters. 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 in 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.
  • Email the customer: leave it on to notify the customer by email; switch it off for messages that should only appear in the conversation.

Hover a message for its menu: Delete message removes it for the customer as well; Mark as unread puts a customer message back on your to-do list.

Store signature

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

My Account

Customers get a Messages tab in My Account that lists their order conversations with unread counts, and a Messenger button next to each order in My Account → Orders. Inside a conversation they write, attach files when uploads are enabled, 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. If you want it to stand out, pick one of the color palettes in General settings.

Guest customers

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

Attachments are part of the premium version. Customers can send photos and documents from the conversation, and your team can attach 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.

In Attachments settings choose whether customers may upload, which file types are allowed, and the maximum size. The size is capped by what your server allows. Files with a misleading extension or type are rejected.

Automatic messages

Status changes and order notes

Every order status change is posted into the conversation as a system message, so the chat tells the whole story of the order. Customer-facing order notes, whether written by you or added by another plugin (tracking numbers, shipping updates), are posted as well. Because the conversation notifies the customer, WooCommerce’s own “note to customer” emails 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. The order screen offers a Send purchasing message order action if you need to send it again.

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 from the message menu. The feature can be switched off in Automatic messages settings.

Email notifications

Two WooCommerce emails belong to the plugin, both listed in WooCommerce → Settings → Emails:

  • Order Messenger: new customer messages goes to your team. Set the recipient address there; it defaults to the site admin email.
  • Order Messenger: new messages for the customer goes to the customer’s billing address.

Both emails quote the new messages, include the attachments as links and link straight to the conversation. Subject, heading and additional content can be customised like any WooCommerce email; the placeholders {order_number}, {order_date}, {total_messages} and {customer_name} are available.

In Notifications settings choose between one email per message (Single) and Digest, which waits for the delay you set and then bundles everything that arrived in the meantime into one email. Digests keep inboxes calm when a conversation heats up. A message that was read in the conversation before the digest goes out is not emailed.

Team access

Administrators can always read and answer. For everybody else, pick the roles in Advanced settings → 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 reference

All settings are under WooCommerce → Settings → Order Messenger.

General

SettingWhat it does
Color paletteNeutral inherits your theme; the named palettes (Sea, Grackle, Rose, Sunset) color the customer-side conversation.
Store signatureThe name shown to customers on messages from your team. Empty shows the team member’s name.
Messages loaded at firstHow many messages a conversation shows before “Show earlier messages” (5–200).
Read receiptsShow customers a check mark once your team has read their message.
Orders list linkAdd a “Messenger” button to each order in My Account → Orders.
Guest ordersLet guest customers open the conversation from the confirmation page and the email link.
Live updatesSeconds between checks for new messages while a conversation is open. 0 turns live updates off.

Automatic messages

SettingWhat it does
Status changesPost a system message for every order status change.
Order notesPost customer-facing order notes into the conversation.
WooCommerce note emailsTurn off WooCommerce’s own “note to customer” email while order notes are posted here.
Purchase messagesSend the product’s purchase message; choose the trigger: order placed or payment received.
Scheduled messagesAllow your team to schedule messages from the composer.

Notifications

SettingWhat it does
Email notificationsMaster switch for both notification emails.
TypeDigest bundles messages after a delay; Single sends one email per message.
DelayMinutes a digest waits before it is sent (at least 1).

Attachments (premium)

SettingWhat it does
Customer uploadsAllow customers to attach files. Your team can always attach media library files.
Allowed file typesImages, PDF, Office documents, text, archives, audio and video can be enabled individually.
Maximum sizePer file, in megabytes, limited by the server’s upload limit.

Advanced

SettingWhat it does
Team rolesRoles that can read and answer conversations. Administrators always can.
Messenger pageShow WooCommerce → Messenger.
Delete data on uninstallRemove every message and setting when the plugin is deleted. Leave it off to keep conversations when switching between the free and the premium version.

Shortcodes

The conversation and the list can be placed on any page:

ShortcodeShows
[order_chatroom order_id="123"]The conversation of one order. Without order_id it uses the order from the current My Account URL. Only the order’s customer and your team can see it.
[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.

Troubleshooting

SymptomWhat to check
The Messages tab in My Account shows a 404 pageOpen Settings → Permalinks and save once; the plugin’s account endpoints need refreshed URL rules after activation.
Scheduled messages or digests are lateThey run through WooCommerce’s Action Scheduler (WooCommerce → Status → Scheduled Actions). If your site has little traffic, a server cron that calls wp-cron.php keeps them on time.
A customer cannot upload a fileCheck Attachments settings: uploads enabled, the file type allowed, the size under the limit. Attachments are a premium feature.
Customers do not get emailsConfirm the email is enabled under WooCommerce → Settings → Emails, then check your site’s mail delivery with any other WooCommerce email.
The conversation looks unstyled on my themeThe plugin inherits the theme’s fonts and colors on purpose. Pick a color palette in General settings, or style the .om-messenger classes; see the developer documentation.
Customers see a “coming soon” pageWooCommerce’s site visibility setting hides the whole storefront from visitors; switch it to live under WooCommerce → Settings → Site visibility.

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 and script, so copy the current templates from the plugin’s views/frontend folder if you customised them. The “Default” color palette now inherits your theme; choose a named palette to keep the previous look.

Something missing?

Ask us and we will answer within one working day, and improve the docs while we are at it.