Connect your Shopify or WooCommerce store to ReploChat and your customers get WhatsApp messages automatically when something happens to their order: an order confirmation, a cash-on-delivery (COD) confirmation with Confirm and Cancel buttons that update the order in your store, a shipping update with tracking, a cancellation notice, an abandoned-cart reminder on Shopify, and an unpaid order reminder on WooCommerce. Messages use your own approved templates and go out from your own WhatsApp number. This guide covers connecting each platform, setting up every automation, testing, and custom stores.
What you can automate
| Automation | When it sends | Shopify | WooCommerce |
|---|---|---|---|
| Order confirmation | A new order comes in | Yes | Yes |
| COD confirmation | A cash-on-delivery order comes in. Sent instead of the order confirmation. | Yes: tags the order and adds a note, with optional cancel | Yes: sets the order status and adds a note |
| Order shipped | The order is fulfilled, with tracking | Yes, waits up to 15 minutes for the tracking number | Yes, when it reaches Completed or the status you choose |
| Order cancelled | The order is cancelled | Yes | Yes |
| Abandoned cart reminder | A checkout isn't finished after the delay you set | Yes, automatic | Not automatic (see below) |
| Unpaid order reminder | An online-payment order is still unpaid (Pending or Failed) after the delay you set | No (use the abandoned cart reminder) | Yes |
Abandoned carts on WooCommerce: WooCommerce has no native abandoned-cart webhook, so ReploChat can't see carts that never became an order. What it can see is a customer who placed an order but didn't finish paying: the unpaid order reminder sends them the payment link. For full cart recovery, a cart-recovery plugin or a small script can post carts to the store-events API with an API key.
Store integrations are included on selected plans. If the Integrations page says Store integrations aren't on your plan, see billing.
Before you start
- Connect a WhatsApp number (guide). Automations send from one of your numbers.
- Get templates approved for each message (guide). Use the Utility category for order updates. Add variables for the details you want to fill in, such as name, order number, total, items or tracking link.
- For COD confirmation, the template needs exactly two Quick Reply buttons: the first confirms, the second cancels.
Example templates
COD confirmation (buttons: "Confirm order", "Cancel order"):
Hi {{1}}, thanks for your order {{2}} from {{3}}. Total: {{4}}, cash on delivery. Please confirm so we can dispatch it.
Order shipped:
Good news {{1}}! Order {{2}} is on its way. Tracking number: {{3}}. Track it here: {{4}}
Abandoned cart (Marketing):
Hi {{1}}, you left something in your cart at {{2}}. Complete your order here: {{3}}
Connect Shopify
Shopify no longer lets you create apps inside the Shopify admin. You create a small private app for your store in Shopify's Dev Dashboard instead. It takes a few minutes, there's no review, and only your store can use it.
- In Shopify admin, go to Settings → Apps → Develop apps and open the Dev Dashboard. Create an app and name it, for example, ReploChat.
- In the app's version settings, add the Admin API scopes
read_orders,write_ordersandread_fulfillments, then release the version. - If the app asks for protected customer data access, allow it, with the name, phone, email and address fields. Without them, Shopify hides the customer's phone number and no message can be sent.
- Install the app on your store.
- Open the app's Settings and copy the Client ID and Client secret.
- In ReploChat, open Integrations, press Connect a store and choose Shopify.
- Enter the Store domain (
your-shop.myshopify.com), an optional name, the client ID and the client secret, and pick the Country for numbers without a code. - Press Connect. ReploChat gets an access token from Shopify, creates the order, checkout and fulfillment webhooks, and checks Shopify's signature on every one. Access tokens from the Dev Dashboard last 24 hours; ReploChat renews them on its own.
shpat_…) and API secret key.read_fulfillments scope. Add it, release a new version, approve it on your store, then press Re-create webhooks. Until then, shipped messages still go out when the order is fulfilled, with whatever tracking it has at that moment.Connect WooCommerce
- In ReploChat, open Integrations → Connect a store and choose WooCommerce.
- Enter your Store URL (it must use HTTPS), an optional name and the default country, and press Continue to WooCommerce.
- You go to your own store, where WordPress asks you to approve ReploChat's Read/Write access. Log in as an administrator if asked, then press Approve.
- WooCommerce sends ReploChat an API key and brings you back. ReploChat creates the order webhooks with a secret only it knows, and verifies every delivery.
This uses WooCommerce's built-in app approval page. There is no plugin to install. Connecting the same store again replaces its key.
Approval page not working? Some security plugins block it. Choose Enter API keys by hand on the connect form instead: in WordPress go to WooCommerce → Settings → Advanced → REST API, add a key with Read/Write permission, and paste the consumer key and secret.
/wp-json/wc/v3 and /wc-auth/v1.Which status means "shipped"
By default, Order shipped is sent when an order becomes Completed. Many stores use Completed for delivered orders and have their own status, such as Shipped, for orders handed to the courier. On the store's card, set Send "Order shipped" when an order's status becomes to that status's slug (for example shipped).
Set up each automation
- Select the store's tab on the Integrations page.
- For each automation, choose the WhatsApp number and an approved template.
- Map each template variable to an order field: Customer name, Order number, Order total (with currency), Items summary, Tracking number, Tracking link, Checkout / payment link or Store name. You can also choose Fixed text.
- For the abandoned cart and unpaid order reminders, set Send after (from 5 minutes to 7 days, 60 minutes by default).
- Switch it On and press Save.
COD confirmation settings
- Shopify: ReploChat tags the order
cod-confirmedorcod-cancelledand adds a note. Tick Also cancel the order on Shopify when the customer taps Cancel if you want cancellations applied automatically. - WooCommerce: choose the status a confirmed order moves to (Processing, On hold or Completed). Cancel sets Cancelled, and a note is added.
- Reply after Confirm and Reply after Cancel are the messages the customer gets after tapping. You can use
{name},{order_number},{total}and{store}, for example: Thank you {name}! Your order {order_number} is confirmed and will be on its way soon.
For Pakistani stores, COD confirmation is the quickest way to cut fake orders and courier returns (RTO): unconfirmed orders are easy to spot before you hand them to the courier.
Unpaid order reminder (WooCommerce)
When a customer chooses online payment and leaves at the payment step, WooCommerce keeps the order as Pending payment (or Failed). ReploChat waits for your delay, checks with your store that the order is still unpaid, and sends the reminder. Map a variable to Checkout / payment link so the customer can pay in one tap. The order confirmation isn't sent for an unpaid order; it goes out when the customer pays. Example template (Utility):
Hi {{1}}, your order {{2}} of {{3}} is waiting for payment. Complete it here: {{4}}
Test and monitor
- Send test: enter your own number, pick an event (Order placed (COD), Order shipped, Order cancelled or Abandoned cart) and press Send test to see the real message on your phone.
- Recent events: every order event is listed with the time, event, order, customer, status (sent, scheduled, failed or skipped), COD answer and the result.
- Retry: a failed event that never reached WhatsApp has a Retry button, for example after you fix a template. If a send was interrupted, the event says so: check the customer's chat before retrying so they don't get the message twice.
- Re-create webhooks if events stop arriving, for example after you changed your store's domain.
Good to know
- Phone numbers: local numbers like 0300 1234567 get the country code of the order address, or the store's default country.
- Opt-outs are respected: a customer who sent STOP is never messaged, and the event shows as skipped.
- No duplicates: each event is remembered per order, so a webhook the store resends doesn't send a second message.
- Abandoned carts are skipped if the customer completes the order before the delay ends, and unpaid order reminders if the customer pays or the order is cancelled.
- COD notes: on Shopify, ReploChat adds its line to the order note and keeps whatever the customer wrote there.
- Contacts and replies: customers are saved as contacts, and their replies arrive in the shared inbox like any other chat.
- Disconnect: ReploChat removes its webhooks from the store and stops that store's automations. Messages already sent stay in your inbox.
Custom stores: the store-events API
If your store is custom-built, connect a Custom store (API) and create an API key on the Integrations page. Your developer can then send order_placed, order_shipped, order_cancelled and abandoned_cart events to POST /api/v1/store-events. A key can only send store events, nothing else, and it's shown once, so copy it straight away. Full details and examples are in the store-events API guide.