In this article12
- What your store needs before you connect
- Which events travel from the store
- The rule that governs every message: who started the conversation?
- Abandoned carts: what to know before you build on them
- Ten ready flows created for you when you connect
- When the customer asks: “where is my order?”
- Confirming cash-on-delivery orders
- The templates you need before you turn it on
- The setup, in order
- Common problems and their fixes
- What the integration does not do
- Frequently asked questions
This guide walks through the connection as it actually runs: what your store must have in place before you start, which events travel from Salla, which messages need an approved template and which do not, then the setup in order. It ends with the constraints many merchants discover late.
What your store needs before you connect
The connection rests on Salla telling us what happens in your store the moment it happens. Those notifications (webhooks) are a Salla service with its own subscription, unrelated to your plan with us. If that subscription has lapsed, the store itself will refuse to save the connection, and nothing in our console gets around it.
- A published, active Salla store — an unpublished store refuses authorisation outright.
- The notifications service enabled in Salla, on a current subscription.
- A connected, approved WhatsApp number, and approved templates for the messages you will send first.
Which events travel from the store
Not everything that happens in Salla reaches you. What travels is the events the store itself publishes, and the most used are:
| Event | When it arrives | What it suits |
|---|---|---|
| New order | The moment the order is created in the store | An order confirmation, or a request for the customer to confirm a cash-on-delivery order |
| Payment updated | When the payment state of the order changes | A paid-order confirmation with its summary |
| Order status change | At each transition in the order status | An update on the same conversation, not a new one |
| Shipment created | When a shipment is created for the order | A “your order has shipped” message with the tracking link |
| Shipment updated | At each change in the shipment’s status | “On its way to you”, then “delivered” and a review request |
| Abandoned cart | After the customer leaves a cart without completing it | One reminder, under the conditions below |
| Order cancelled | When the cancellation is recorded in the store | A notification, and handover to a member of staff |
| Refund | When the refund is recorded in the store | A notification to the customer, and a member of staff for whatever follows if they reply |
| New customer | When a new customer registers in the store | A welcome message |
Each of these events reaches the flow builder as a ready trigger, carrying the order and customer data as variables you place in the message text — the customer’s name, the order number, its total and the tracking link — without typing them by hand for every order.
The rule that governs every message: who started the conversation?
This is where most merchants come unstuck, and it is not specific to Salla — it is WhatsApp itself. If the customer’s last message is old, then you are starting a conversation, and starting one is only possible with a template Meta approved in advance. But if the customer replies to your message, a follow-up window opens in which you can write to them freely, with no template.
The practical upshot: order confirmations, shipping updates and cart reminders are all templates. Everything after the customer replies — the questions, the negotiation, closing the sale — is free conversation. The categories and the messaging windows are set out in the guide to Meta’s pricing and message categories.
Abandoned carts: what to know before you build on them
The abandoned-cart reminder is what merchants ask about most, and also what is most misunderstood. The event the store publishes arrives once per cart, and a cart identifier is reused for the same customer. So a "reminder sequence" is not built by waiting for the event again and again — it is built at your end after it arrives the first time.
What follows from that in practice:
- Emptying a cart is not deleting it, and creates no new event.
- Editing the contents of a cart does not re-fire the event, so do not rely on it as a trigger.
- Testing needs a different cart or a different customer — retrying with the same cart produces nothing.
The shape of the message itself — category, timing, how many attempts — deserves its own page, and it has one: abandoned-cart messages on WhatsApp.
Ten ready flows created for you when you connect
When the connection completes, ten ready flows built on Salla events are created in your account, and all of them are paused. Nothing is sent to your customers until you review a flow and turn it on yourself. The main ones:
- Abandoned-cart recovery.
- Paid-order confirmation, with the order number and total.
- Confirmation of cash-on-delivery orders before they are prepared.
- “Your order has shipped”, then “out for delivery”.
- “Delivered”, with a review request — and your Google review link is added to it if your Google Business Profile was linked when the flows were created.
- A welcome for a new customer, and an order-cancellation message.
When the customer asks: “where is my order?”
Events travel in one direction: from the store to the customer. But the message a store receives most on WhatsApp travels the other way: “where is my order?”. So the Salla connection adds a group of steps to the flow builder that read from your store, and write to it, during the conversation itself — and they only appear in the block menu while the connection is live:
| Step | What it does |
|---|---|
| Find a customer by mobile number | Matches the conversation’s number to a customer registered in your store |
| The customer’s recent orders | Fetches their latest orders from the store |
| Order details | Fetches the order’s status and details |
| Shipment tracking | Fetches the tracking details of the order’s shipment |
| Update order status | Changes the order’s status in Salla — for instance after the customer confirms a cash-on-delivery order |
| Create a coupon | Creates a discount coupon in your store |
| Product details | Fetches a product’s details from the store |
| Add the customer to a group | Adds them to a customer group in Salla |
With these steps a “where is my order?” reply is built without the customer waiting for a person: the flow matches their number to their store account, fetches their latest orders, then sends the order’s status and its tracking link — and whatever that does not settle is handed to a person. How to draw the flow step by step is in the flow builder guide.
Confirming cash-on-delivery orders
A cash-on-delivery order the customer does not confirm before shipping can cost you a shipment there and back. The ready flow for these orders runs on the “new order” event: it sends the customer their order number and amount and asks them to confirm it.
You can complete it in the builder with two buttons — “confirm my order” and “I want to cancel” — so that the confirm button updates the order’s status in Salla and the cancel button hands the conversation to a person. And because the same event arrives with every new order, add a condition on the payment method in the order data so a customer who has already paid is not asked to confirm.
The templates you need before you turn it on
The connection does not exempt you from templates; it tells you which ones you need. This is a practical split of what a store starting out needs:
| Message | Usual category | Note |
|---|---|---|
| Order or payment confirmation | Utility | Tied to an existing order — do not put an offer in it |
| Cash-on-delivery confirmation request | Utility | The customer’s reply on the button opens the follow-up window |
| Shipped, on its way, delivered | Utility | The tracking link is a variable inside the template |
| Abandoned-cart reminder | Utility, if it is only a reminder | Adding a discount moves it to marketing, which needs prior permission |
| Welcome and review request | Depends on the text | Anything with promotion or a push to buy is categorised as marketing |
Meta decides the final category from what the text actually says, not from what you selected. The differences between categories and their effect are in the guide to WhatsApp template categories, and what gets a template rejected is in the template approval guide.
The setup, in order
- 1.Connect the WhatsApp number firstBefore the store, because templates are submitted from the number and review takes its own time.
- 2.Prepare the templates you will start withOrder confirmation and shipping update at minimum, each in its correct category.
- 3.Authorise the Salla store from your consoleA formal authorisation from inside Salla — we never ask for your store password and cannot sign in to it.
- 4.Bind each event to the message that suits itThe new order to its template, the status change to its own, the abandoned cart to its flow.
- 5.Test with a small real orderOne order from a number you own exposes the sequence, the wording and the links before a customer sees them.
Common problems and their fixes
| Problem | Likely cause | Fix |
|---|---|---|
| The store refuses to save the connection | The webhooks service in Salla is not enabled, or its subscription has expired | Enable or renew it in the Salla dashboard |
| Authorisation does not complete | The store is not published | Publish the store, then try again |
| The connection completed and nothing is sent | The ready flows are paused when they are created | Review each flow, bind it to its template, then turn it on |
| The event arrived but the message did not | A free-text message went out outside the follow-up window | Make the message an approved template |
| The cart reminder does not repeat | The event arrives once per cart | Build the next reminder inside the flow with a wait step |
| Salla flows stopped suddenly | Salla revoked access, or the connection was disconnected — and a disconnection pauses the flows tied to Salla | You receive a notice; reconnect Salla, then turn the flows back on |
What the integration does not do
Being clear here is more useful than promising. The integration carries events, sends messages, reads from your store what the conversation needs and opens the conversation to your team — it does not replace the store: it does not issue an invoice or refund an amount, and the only change it makes to an order is updating its status when you put that step in a flow yourself. Anything needing a human lands in the shared inbox for a member of staff to take, and that is the design rather than a gap in it.
Frequently asked questions
Do I need a developer to connect Salla to WhatsApp?
No. Authorisation happens inside Salla with one press, and binding events to messages happens in your console with no code. What genuinely takes time is preparing the templates and Meta reviewing them, not the connection itself.
Why does my store refuse to save the connection?
The most common cause is that the webhooks service in Salla is not enabled, or its subscription has expired, so the store refuses the save at its end. The fix is in the Salla dashboard, and nothing in our settings gets around it.
I sent an abandoned-cart reminder and no second reminder arrived. Why?
Because the abandoned-cart event arrives once per cart. A second reminder is built at our end after the first event arrives, rather than by waiting for a new event from the store.
Can I put an offer inside the order-confirmation message?
It is not advisable. An order confirmation is a template tied to an existing transaction, and putting an offer in it exposes it to rejection or to being recategorised as promotional by Meta. Make the offer a separate message, in its correct category and with prior permission.
Does this work with Zid as well?
Yes, the Zid integration is available too, and the plan it starts from is set out in the pricing table.
What happens if a customer replies to an automated message?
A follow-up window opens and the conversation moves into the shared inbox, where your team sees it and can continue freely with no template. That is the point at which a notification turns into a sale.
Which messages are sent automatically once Salla is connected to WhatsApp?
Whatever you bind to the store’s events: a confirmation of a new or paid order, a cash-on-delivery confirmation request, “shipped”, “on its way” and “delivered”, the abandoned-cart reminder, a cancellation or refund notice, and a welcome for a new customer. Ready flows are created for most of them when you connect, but they stay paused until you turn them on.
Can I confirm cash-on-delivery orders over WhatsApp?
Yes. A ready flow sends the customer their order number and amount and asks them to confirm, and you can add two buttons to it — one updates the order’s status in Salla, the other hands the conversation to a person. Add a condition on the payment method so the request does not reach someone who has already paid.
Which templates do I need to connect Salla to WhatsApp?
A template for every message that reaches a customer who has not messaged you recently: order confirmation, cash-on-delivery confirmation, shipping updates and the cart reminder. Most are utility as long as they carry no offers. Start with the order confirmation and the shipping update, then add the rest.
Can a customer find out their order status on WhatsApp without waiting for a person?
Yes, if you build a flow for it. The Salla steps in the builder match the customer’s number to their store account and fetch their latest orders, the order’s status and the shipment’s tracking details, which the flow then sends in the same conversation.
What happens to the flows if the connection is disconnected or expires?
When the connection is disconnected, the active Salla flows stop, and if Salla revokes access you receive a notice to reconnect to keep them running. After reconnecting, review the flows and turn on the ones you need.



