You connect your online store to Scale on the Store screen in the dashboard sidebar. Once it is connected, Scale copies your products so the AI assistant answers with real products, prices and availability, and with Commerce Mode on it sends automatic WhatsApp messages about orders: confirmation, shipping, delivery, cancellation and abandoned-checkout recovery. The platforms you can connect today are WooCommerce, EasyOrders and a custom REST commerce API, plus the catalogue on your WhatsApp Business account.
A workspace connects one platform at a time. A business with no store adds its products by hand in Products in Scale.
Which platforms you can connect today
| Platform | How it connects | Products | Orders in chat |
|---|---|---|---|
| WooCommerce | The Scale connector on your store, a connection code, or API keys | Imported, then updated live from the store | Yes, with the AI Order Assistant on and Read/Write access |
| EasyOrders | An API key, then a webhook you create to receive orders | Imported and read again every hour | No. The assistant sends the product link, and it reads, confirms and cancels the store’s orders |
| Custom REST Commerce API | Base URL, authentication and an endpoint map | Imported and read again every hour | Only for the operations you defined in the map |
| WhatsApp Catalog | Through the WhatsApp connection you already have | Imported and read again every hour | No, product answers only |
Before you start
How to connect a WooCommerce store
There are three ways to connect WooCommerce and they end in the same result: the Scale connector you install on your store, which is the easiest; a connection code, if your store cannot reach Scale; or API keys you copy by hand. These are the steps for the first way:
Open the Store screen and press Connect WooCommerce
In the sidebar open Store, and in the Online store card press the Connect WooCommerce row. The “Connect your store” dialog opens.
Download the connector
Under “The easy way” press Download the connector. The version number is shown under the button.
Install it on your store
In your store’s WordPress admin go to Plugins → Add New → Upload Plugin, upload the file and activate the plugin.
Press Connect inside your store
Open the Scale screen inside your store, press Connect and approve. The connector sets up its own API access, webhooks and syncing, so there is nothing to copy by hand.
Check the status in Scale
Go back to the Online store card. The status reads Connected, followed by the number of products available to the assistant once the import has finished.
If you prefer keys, scroll down in the same dialog to “Or connect with API credentials” and fill in the fields below, then press Save, then Test connection, then Import all products. The field names are the ones WooCommerce itself uses.
| Field | What to enter |
|---|---|
| Store URL | Your shop’s full address exactly as customers open it, starting with https. |
| Consumer Key | A key you create in WooCommerce → Settings → Advanced → REST API → Add key. It starts with ck_. Choose Read/Write if you want the assistant to take orders, or Read for product answers only. |
| Consumer Secret | Shown once, next to the key, and starts with cs_. Copy it before closing the page. |
| Enable AI Order Assistant | Off: the assistant uses your store for product knowledge only. On: it completes the purchase in chat. Needs keys with Read/Write permission. |
How to connect an EasyOrders store
Create an API key in EasyOrders
In your EasyOrders seller dashboard open your account settings, then Public API, then Create New API Key, and give it the products:read, orders:read and orders:update permissions. Copy the key straight away, because EasyOrders shows it only once.
Paste the key into Scale
On the Store screen press Connect EasyOrders, paste the key, choose the store currency and the store country, then press Save and Test connection.
Import the products
Press Import all products. After that Scale reads the products again every hour.
Create the webhook in EasyOrders
In EasyOrders open Public API, then Webhooks, then Create Webhook. Paste the Delivery URL shown on the store card in Scale, choose new orders and order status changes, and save.
Paste the webhook secret into Scale
Copy the secret EasyOrders shows and paste it into the Webhook secret field, then press Save. Until you do, Scale refuses every order it receives, because it cannot tell where it came from.
| Field | What to enter |
|---|---|
| API key | Required. The key exactly as EasyOrders showed it, with no spaces. |
| Store currency | Required. The currency your prices are in. EasyOrders does not send it, and every price the assistant quotes uses it. |
| Store country | Required. Where your store sells. Scale uses it to read customer phone numbers written in local format, so each order is linked to the right WhatsApp conversation. |
| Store address (optional) | Your storefront address. With it the assistant sends a direct link to each product page; without it, it answers without links. |
| Webhook secret (for live orders) | Needed for new orders and status changes to reach Scale. If you create a second webhook for status changes, paste both secrets separated by a comma. |
How to connect a custom REST commerce API
| Field | What to enter |
|---|---|
| API base URL | Required. The base address of your API, without the endpoint paths. |
| Authentication | Required. Bearer token, API key, Basic authentication, Custom headers only, or None. |
| Token or API key | The token or key for Bearer token or API key authentication. It is stored encrypted and never shown again. |
| API key header or parameter name | The name your API expects the key under. The default is X-API-Key. |
| Send the API key as | A request header, which is recommended, or a query string parameter if your API cannot accept a header. |
| Username and Password | For Basic authentication only. |
| Extra headers (JSON) | Extra headers sent with every request. |
| Endpoint map (JSON) | Required. It describes how your API performs each operation. Map only what your API supports; anything you leave out stays switched off and the assistant does not mention it to customers. The minimum is an endpoint that gets one product. |
How to use your WhatsApp catalogue as the product source
The WhatsApp Catalog row relies on the WhatsApp connection you already have, so there is nothing to paste. When WhatsApp is connected directly with Meta and no other store is connected, Scale looks for the catalogue linked to your WhatsApp Business account, connects it and starts the import by itself. It has one setting, “Send products as WhatsApp product cards”: when it is on, a product the assistant recommends arrives as a WhatsApp product card with its photo, name, price and a View button, and when it is off it arrives as a plain photo. A cart a customer sends from the catalogue appears in the conversation and is read by the assistant, but it is not turned into an order.
This source works only when Meta allows Scale to read the catalogue. If access has not been granted, Test connection gives the reason: Scale is not allowed to read the catalogue yet, so reconnect WhatsApp in Settings → Channels and allow access to your catalogue; or no catalogue is connected to your WhatsApp Business account; or the number is connected through Twilio, whose catalogue cannot be read. In those cases add your products on the Products screen. See also connecting WhatsApp Business to Scale.
What syncs and how often
| Data | How it stays current |
|---|---|
| WooCommerce products | Updated live by the store when a product is created, changed or deleted, provided live updates are set up. They are not read again on a schedule, so set up live updates or press Import all products when you need to. |
| EasyOrders, custom REST API and WhatsApp Catalog products | Read again in full every hour, because these platforms do not send product changes. |
| WooCommerce stock levels and orders | Checked every 15 minutes, on top of the order events the store sends live. |
| WooCommerce store details, categories and customers | Once a day. |
| EasyOrders orders | Only through the webhook you created, because EasyOrders offers no way to list past orders. |
| One product, at the moment it matters | When a customer is about to act on a product, Scale reads its price and availability from the store again before replying. |
The store card buttons and statuses
| Control | What it does |
|---|---|
| Save | Stores the details you typed. Scale then asks you to test the connection. |
| Test connection | Calls your store once to check the details. Nothing is changed in the store. |
| Import all products | Copies the whole catalogue into Scale. It works once the status is Connected. |
| Import changes only | Shown only for a platform that can say what changed, which is WooCommerce. |
| Cancel import | Stops a running import. Products already imported are kept. |
| Keep products up to date automatically | “Set this up for me” creates the webhooks in your store and needs a key with Read/Write permission. “Or set it up manually” shows the steps with the Delivery URL and the Secret. |
| What your assistant can do with this store | A checklist of what really works with this store: connection, credentials, products, orders, and what the platform supports among stock levels, options, delivery prices, payment methods, discount codes, order status and shipment tracking. |
| Disconnect | Disconnects the store and removes its imported products from Scale. |
| Status badge | Not connected, Not tested, Connected, Needs attention, Disabled, Testing, Importing. |
Connection errors and what they mean
The result of a test or an import is worded by the platform itself. These are the messages you are most likely to see and what to do about each:
| Message | What to do |
|---|---|
| Enter the full address, starting with https | Type the store address in full, exactly as customers open it. |
| A WooCommerce consumer key starts with ck_, or a consumer secret starts with cs_ | Paste the correct WooCommerce key and secret, each in its own field. |
| Your API key may be read-only | The key can only read. Give it Read/Write permission, or add the webhook manually. |
| The store returned a response we could not read | The answer did not come from the store’s API. Check the store address and that its REST API is working. |
| EasyOrders refused the API key | Check the key was copied in full, that it has not been deleted, and that it has products:read, plus orders:read and orders:update for orders. |
| EasyOrders allows 40 requests a minute | The allowance for that minute is used up. Do nothing; Scale continues once the minute turns over. |
| None of the configured endpoints worked | Custom REST API: none of the mapped operations answered. Review the endpoint map. |
| Your account is already connected to | Another platform is connected. Disconnect it first. |
| The import completed but your store returned no products | The import ran, but the store gave no products. Check that products are published and visible in the store. |
Store readiness steps
The top of the Store screen is a card with a badge that reads Ready to automate, Not ready yet or Not connected, four facts (Platform, Connected store, Commerce Mode and WhatsApp channel), and two buttons: Store settings, which takes you to the connection card, and Manage templates, which opens the Templates Studio. Below it, Store readiness shows how many steps are complete, and under each step that has not passed, the reason and what to do.
| Step | What it checks |
|---|---|
| Store connected | There is a store Scale reads order events from. |
| Store healthy | Scale can reach the store. A warning, not a blocker. |
| Commerce Mode on | The Commerce Mode switch is on. |
| WhatsApp ready to send | The number is connected, registered with Meta, and Meta billing is set up. |
| Templates created | The message templates the automations use exist. |
| Templates cleared by Meta | At least one template has been approved by Meta. |
| Customer numbers can be read | Numbers are read from each order’s billing address or from the store’s country. It fails only when the store’s country is not supported yet; in that case contact support. |
| Store events available | The order events your store is able to report. |
| Order updates available | The updates your store accepts from Scale, which are confirming and cancelling an order. |
| Hand-off to your team available | A conversation can be passed to your team. |
| An automation is on | At least one automation is on and able to send. |
What Commerce Mode does
Commerce Mode is the switch that brings your store into automatic messages. It sits among the four facts at the top of the screen. The first time you turn it on, Scale asks for the Template language, Arabic or English, which is the language of the store’s automatic messages only and not of your dashboard. After you press Continue, Scale creates the store templates and sends them to Meta for review.
Turning Commerce Mode on sends nothing by itself: every automation starts off until you switch it on. Turning it off is a pause, and templates that were created or approved by Meta stay as they are. The switch is separate from the AI Order Assistant, so you can run order messages without the assistant taking orders in chat, or the other way round.
What the AI Order Assistant does
The AI Order Assistant is the Enable AI Order Assistant option in the store connection form. Off, the assistant uses your store for product knowledge only. On, it completes the purchase in chat: it collects the customer’s details, shows the real total from your store, asks the customer to confirm, and creates the order in the store. It needs keys with Read/Write permission, and the Scale connector for WooCommerce switches it on by itself because it creates a key with that permission, unless you have already chosen to turn it off.
The option is available for WooCommerce, and for a custom REST API when you mapped order creation. It is not shown for EasyOrders, which does not let other apps create orders, so the assistant sends the product link for the customer to order on the store. If the assistant answers about products but does not sell, check this option first.
Order automations one by one
| Automation | Sent when | Template | Conditions |
|---|---|---|---|
| Order confirmation | When an order is paid | Order confirmation | Not sent for cash-on-delivery orders. It needs a store that records a payment date, so it is not available with EasyOrders. |
| Cash on delivery | When a cash-on-delivery order is placed | Order review — cash on delivery, with Confirm order and Cancel order buttons | Cash-on-delivery orders only. |
| Payment failed | When a payment fails | Payment failed | Cancelled if the order is paid or cancelled first. Not available with EasyOrders. |
| Order cancelled | When an order is cancelled | Order cancelled | No extra conditions. |
| Order confirmed (cash on delivery) | When the order moves into the confirmed status in your store | Order confirmed | Cash-on-delivery orders only. Sent once, whether the customer tapped Confirm or you confirmed the order yourself. |
| Order shipped | When an order ships | Order shipped, or Order shipped — with tracking when the order carries a carrier and a tracking number | On WooCommerce it needs an order status you mapped to Shipped, or a shipment-tracking record. |
| Out for delivery | When the order is out with the courier | Out for delivery | WooCommerce only, with a status you mapped to Out for delivery. |
| Order delivered | When an order is delivered | Order delivered | On WooCommerce it needs a status you mapped to Delivered. The standard Completed status alone is not enough. |
| Abandoned checkout recovery | 30 minutes after a checkout is left unpaid | Abandoned checkout, a Marketing template | WooCommerce only, and not for cash on delivery. Sent only to customers who have messaged you on WhatsApp, after the order is read again from the store. |
The Commerce automations section shows each automation’s template, status, last run and switch. There are four statuses: Active, meaning it runs and sends; Off, meaning you have not switched it on; On hold, meaning it is on but something is stopping it, with the reason written under it; and Unavailable, meaning your store cannot tell Scale when this event happens. Every automation starts off, and switching one off cancels its messages that were waiting to be sent. A Marketing tag marks a marketing automation and a “Waits before sending” tag marks a delayed one.
No automatic message is sent when the customer has opted out, when someone from your team has taken the conversation, when the conversation is closed or is not on WhatsApp, when Meta has not approved the template yet, when your plan has no messages left, or when Scale cannot confidently link the order’s phone number to a single contact.
Templates and your order statuses
The Templates card shows how many of the required templates exist, split into Cleared, In review, Rejected and Missing. “Send drafts for review” sends Meta the templates that were never submitted, and “Get the new version” appears when a newer version of a template exists; your current template keeps sending until Meta clears the new one. Creating and editing happen under “Manage templates in the Studio”, inside Campaigns.
The Your order statuses card is for WooCommerce stores that use order statuses of their own. Each status has a list where you choose the stage it means: Order confirmed, Shipped, Out for delivery, Delivered or Not used. Scale marks the closest stage as suggested, and nothing applies until you press Save. If your store uses only WooCommerce’s standard statuses, the shipped, out-for-delivery and delivered messages need a status of your own or a shipment-tracking extension. EasyOrders statuses have a fixed meaning and need no mapping.
How customers confirm or cancel an order on WhatsApp
The cash-on-delivery review message carries two buttons, Confirm order and Cancel order. When the customer taps one, Scale identifies the order from the very message the customer replied to, not by searching for a phone number and not by assuming the latest order, and then asks your store to make the change. Confirm moves the order into the confirmed status in the store, and the customer receives the Order confirmed template once. Cancel cancels the order in the store, and the cancellation message then comes from the Order cancelled automation.
If the store refuses the change, the customer gets one plain reply and the conversation is handed to your team. The reasons, in Scale’s own words: “This order has already been paid for, so it cannot be cancelled from a message. The team will handle it.”, “This order is already on its way, so it can no longer be confirmed or cancelled from a message.” and “Your store uses a custom status here, and we will not guess what it means.” Confirming and cancelling on WhatsApp are available with WooCommerce and EasyOrders.
How the AI answers where is my order
When a customer asks about their order, the assistant reads the order from your store at that moment and answers with its number, status, whether it is paid, its total, its date, its items, and the tracking number and carrier if there are any. Nothing else from the order reaches the assistant: no addresses and no notes.
The rule is that an order is discussed only with the customer it provably belongs to, in one of three ways: Scale placed the order in this conversation, a verified link exists between the contact and the order, or the phone number on the order matches the customer’s WhatsApp number exactly. If a customer types an order number that is not theirs, its details are not shown, and the assistant never assumes the latest order is the one meant. If more than three orders match the customer, the assistant asks which one they mean.
If the platform cannot look up an order’s status, the assistant tells the customer that someone from the team will check. Conversations handed to the team are in the inbox.
Recent activity and the connection check
The Recent activity card shows the last run of each automation and its outcome: Waiting, Sending, Sent, Skipped, Cancelled or Failed, with the reason and the time. Reasons you may read there include “The customer came back — the order was paid, cancelled or moved on before we sent anything.”, “Someone from your team took this conversation, so the automated message was stopped.” and “We could not confirm whether WhatsApp delivered this message, so we did not send it again. Check the conversation before resending.” Beside each automation you also see how many messages failed in the last 7 days.
The Connection check card sums up the store as Healthy, Needs attention or No connection, and says whether the WhatsApp channel can send templates. Re-check reads the whole state again, and so does the Connection check button at the top of the readiness section.
How to disconnect a store
Open the connected store row
On the Store screen go down to the Online store card and press the row of the connected platform.
Press Disconnect and confirm
Scale asks first: the products imported from this store are removed from Scale. The button does not work while an import is running.
Finish on the store side
After disconnecting, the assistant stops answering from those products and you can connect another platform. Keys you created in your store stay there, so delete them in the store if you no longer need them. Scale Products are not disconnected here; they are deleted one by one on the Products screen.
Frequently asked questions
Can I connect two stores to one workspace?
No. A workspace connects one platform at a time, and a second one is refused until you disconnect the first. For a second store, use another workspace.
Can I connect Shopify or Magento?
Not at the moment. The platforms you can connect today are WooCommerce, EasyOrders, a custom REST API and the WhatsApp catalogue.
Why does an automation show Unavailable?
Your store cannot tell Scale when that event happens. On WooCommerce, map the right order status in the Your order statuses card and the automation becomes available by itself; some events are simply not supported by the platform.
Why did a customer not receive an order message?
Look at the Recent activity card, which gives the reason. The usual ones are that the automation is off, Meta has not approved the template yet, the customer opted out, or someone from your team took the conversation.
The assistant answers about products but does not take orders. Why?
Check that Enable AI Order Assistant is ticked in the store connection form and that the keys have Read/Write permission. With EasyOrders the assistant does not take orders in chat at all.
What do automatic store messages cost?
Each automatic store message uses one message from your Scale plan, like any other message, including the reply to a Confirm or Cancel order button, and is saved in the conversation. Meta also charges its official rate for template messages, billed directly to your own WhatsApp Business Account. Automations are sent only while your Scale plan is active and has messages left.
When does a price change in my store reach the assistant?
On WooCommerce it arrives live when live updates are set up. On the other platforms it arrives within the hour, or at once if you press Import all products.
