In this article12
  1. What your store needs before you connect
  2. Which events travel from the store
  3. The rule that governs every message: who started the conversation?
  4. Abandoned carts: what to know before you build on them
  5. Ten ready flows created for you when you connect
  6. When the customer asks: “where is my order?”
  7. Confirming cash-on-delivery orders
  8. The templates you need before you turn it on
  9. The setup, in order
  10. Common problems and their fixes
  11. What the integration does not do
  12. 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:

EventWhen it arrivesWhat it suits
New orderThe moment the order is created in the storeAn order confirmation, or a request for the customer to confirm a cash-on-delivery order
Payment updatedWhen the payment state of the order changesA paid-order confirmation with its summary
Order status changeAt each transition in the order statusAn update on the same conversation, not a new one
Shipment createdWhen a shipment is created for the orderA “your order has shipped” message with the tracking link
Shipment updatedAt each change in the shipment’s status“On its way to you”, then “delivered” and a review request
Abandoned cartAfter the customer leaves a cart without completing itOne reminder, under the conditions below
Order cancelledWhen the cancellation is recorded in the storeA notification, and handover to a member of staff
RefundWhen the refund is recorded in the storeA notification to the customer, and a member of staff for whatever follows if they reply
New customerWhen a new customer registers in the storeA 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:

StepWhat it does
Find a customer by mobile numberMatches the conversation’s number to a customer registered in your store
The customer’s recent ordersFetches their latest orders from the store
Order detailsFetches the order’s status and details
Shipment trackingFetches the tracking details of the order’s shipment
Update order statusChanges the order’s status in Salla — for instance after the customer confirms a cash-on-delivery order
Create a couponCreates a discount coupon in your store
Product detailsFetches a product’s details from the store
Add the customer to a groupAdds 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:

MessageUsual categoryNote
Order or payment confirmationUtilityTied to an existing order — do not put an offer in it
Cash-on-delivery confirmation requestUtilityThe customer’s reply on the button opens the follow-up window
Shipped, on its way, deliveredUtilityThe tracking link is a variable inside the template
Abandoned-cart reminderUtility, if it is only a reminderAdding a discount moves it to marketing, which needs prior permission
Welcome and review requestDepends on the textAnything 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. 1.Connect the WhatsApp number first
    Before the store, because templates are submitted from the number and review takes its own time.
  2. 2.Prepare the templates you will start with
    Order confirmation and shipping update at minimum, each in its correct category.
  3. 3.Authorise the Salla store from your console
    A formal authorisation from inside Salla — we never ask for your store password and cannot sign in to it.
  4. 4.Bind each event to the message that suits it
    The new order to its template, the status change to its own, the abandoned cart to its flow.
  5. 5.Test with a small real order
    One order from a number you own exposes the sequence, the wording and the links before a customer sees them.

Common problems and their fixes

ProblemLikely causeFix
The store refuses to save the connectionThe webhooks service in Salla is not enabled, or its subscription has expiredEnable or renew it in the Salla dashboard
Authorisation does not completeThe store is not publishedPublish the store, then try again
The connection completed and nothing is sentThe ready flows are paused when they are createdReview each flow, bind it to its template, then turn it on
The event arrived but the message did notA free-text message went out outside the follow-up windowMake the message an approved template
The cart reminder does not repeatThe event arrives once per cartBuild the next reminder inside the flow with a wait step
Salla flows stopped suddenlySalla revoked access, or the connection was disconnected — and a disconnection pauses the flows tied to SallaYou 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.