🎉 Now live — a high-converting checkout that cuts RTO & lifts prepaid. Start free →
HomeBlog › Set Up WhatsApp Automation for Your Shopify Store
WhatsApp

Set Up WhatsApp Automation for Your Shopify Store

Every Shopify store in India sends order emails nobody opens. Meanwhile the customer is on WhatsApp all day. This is the practical, no-fluff setup guide to wiring WhatsApp order automation to your store — connect the number, get templates approved, map statuses, test, done.

Kwikfy · 2026-07-28 · 10 min read

Key takeaways

What 'WhatsApp automation' actually means here

Forget the buzzwords. WhatsApp automation for a Shopify store is just this: when an order changes state — placed, confirmed, shipped, delivered — the customer gets a WhatsApp message about it automatically, with their name and order details filled in. No one sits and types it. It fires off the Shopify order status.

Done right, it does three jobs: cuts your 'where is my order' support tickets, reduces RTO by confirming COD orders, and recovers abandoned carts. Done wrong, it spams people and gets your number flagged. This guide is about doing it right the first time.

Before you start: what you need

One rule to save you pain: the number you use for the API cannot also be logged into the WhatsApp app on a phone. Pick a fresh SIM or a number you can free up. People burn a whole afternoon on this one mistake.

Step by step: the setup

  1. Connect your WhatsApp Business number. Register your WABA and verify the number via OTP. If you're using a platform, you'll do a guided connect and it handles the Meta plumbing. Confirm the number shows 'Connected' before moving on.
  2. Connect Shopify to your WhatsApp tool. Install the app or paste your API credentials so the tool can read order events. Once linked, your orders, statuses and customer phone numbers sync across automatically.
  3. Submit your utility templates for approval. Meta requires pre-approved templates for automated order messages. Create one each for: order confirmed / COD confirm, shipped with tracking, out for delivery, delivered, and abandoned cart. Keep them in the UTILITY category — it's cheaper and approves faster than marketing.
  4. Wait for approval and fix rejections. Utility templates usually clear in a few hours to a day. If rejected, it's almost always promotional language sneaking into a utility template — strip the 'Buy now!' tone, keep it transactional.
  5. Map each order status to a template. In your automation settings, connect Shopify's order events to the matching template (see the table below). This is what makes it fire automatically.
  6. Set the variables in each template. Map the {{1}}, {{2}} placeholders to real Shopify fields — customer name, order number, amount, tracking URL. Get this right or every message says 'Hi {{1}}' to a real human.
  7. Turn on the flows you want. Enable COD-confirm, shipped, out-for-delivery, delivered, and cart-recovery. Start with just COD-confirm and shipped if you're nervous, then add the rest.
  8. Set quiet hours. Block sends between roughly 9pm and 9am so you're not pinging people at midnight. Messages queue and go out when the window opens.
  9. Send a real test order. Place an actual COD order to your own number, walk it through confirmed → shipped → delivered in Shopify, and check each message lands correctly with the right details.
Do the test order with a real phone you control, not a fake number. Approved templates only deliver to numbers that have opted in or are in a valid session, and a live test is the only way to catch a broken variable or wrong tracking link before a paying customer sees it.

Mapping Shopify statuses to templates

This table is the heart of the setup. Each Shopify state maps to one template and a trigger. Copy this as your starting map and adjust to your store.

Shopify status / eventTemplate (utility)When it fires
Order placed (COD)COD confirmation5-15 min after order
Order placed (prepaid)Order confirmedImmediately after payment
Fulfilment createdShipped + trackingWhen you add tracking / AWB
Out for deliveryOut for deliveryOn courier OFD scan
DeliveredDelivered + review askOn delivered scan
Checkout abandonedCart recovery30-60 min after abandon

For COD specifically, the confirmation message should carry Confirm / Cancel / Pay-Online buttons — that's the flow that does the real RTO damage. The full playbook for that sequence is in our guide to the WhatsApp COD confirmation sequence. For the shipped and delivered side, our note on WhatsApp delivery notifications covers what copy actually reduces support pings.

Setting variables so messages feel human

A template is a skeleton with blanks. The blanks are variables, and Shopify fills them per order. Here's a shipped template with its variables mapped:

Hi {{1}}, your order {{2}} has been shipped 🚚 Track it here: {{3}}. Expected delivery in 3-5 days. — Team {{4}}

Where {{1}} = customer first name, {{2}} = order number (#1043), {{3}} = tracking URL, {{4}} = your store name. The tracking link is the one people click most, so make sure it's a real branded tracking page and not a raw Delhivery URL that looks sketchy. The variables you'll use across almost every template:

Turning on cart recovery without being annoying

Abandoned cart recovery over WhatsApp converts far better than email, but it's also the easiest way to annoy people. Keep it to one, maybe two messages. Fire the first 30-60 minutes after abandon while the intent is warm:

Hi Priya, you left a Silk Dupatta (₹1,299) in your cart at Bhakti Leela. Complete your order here — we've saved it for you 👉 [link]

If they don't bite, one follow-up the next day with a small nudge (free shipping or ₹50 off) is plenty. More than that and you're a pest. The deeper strategy — timing, offers, sequencing — is in our WhatsApp cart recovery playbook and the broader abandoned cart recovery for India guide.

Utility vs marketing templates — get this right

Meta splits templates into utility and marketing, and it matters for both cost and approval. Order updates — confirmed, shipped, delivered — are utility. They're transactional, cheaper, and approve fast. Promotional blasts — sales, new drops — are marketing, cost more, and need explicit opt-in.

The mistake stores make is dressing up a marketing message as utility to save money. Meta catches it and either rejects the template or flags your number. Keep order messages strictly transactional, and run your promos through proper marketing templates. If promos are your goal, read WhatsApp marketing for Shopify for how to do it without getting your number rate-limited.

Watch your quality rating in the Meta dashboard. Every time someone blocks or reports your number, it drops. Two things protect it: only message people who ordered or abandoned a cart, and never send the same person more than a couple of messages a day. A high rating means higher daily send limits; a low one gets you throttled.

Respecting quiet hours and rate limits

New API numbers start with a low daily messaging limit (often 250-1,000 unique customers) and scale up as your quality rating stays green. Don't try to blast past it — sends will queue or fail. And set quiet hours so nothing goes out overnight. A delivered message at 2am helps no one and costs you a block.

The test that catches everything

Before you flip this live for real customers, run the full loop once yourself:

  1. Place a COD order to your own number and confirm the confirmation message arrives in a few minutes with the right amount.
  2. In Shopify, add tracking — check the shipped message fires with a working link.
  3. Move it to out-for-delivery and delivered — check each message lands and reads right.
  4. Abandon a checkout and confirm the recovery message shows up on schedule.
  5. Check all variables filled correctly — no stray {{1}} or blank order number.

If all five pass, you're live. From here it mostly runs itself — you'll just watch the quality rating and tweak copy. For the complete flow logic behind these triggers, see the WhatsApp order automation flow.

Skip the Meta setup grind

Kwikfy connects your Shopify store to WhatsApp, ships pre-approved utility templates, and maps every order status to the right message — so you go from install to live in an afternoon, not a week.

Start Free →

Where to go from here

Once the basics run clean, layer on the high-value flows: COD-to-prepaid nudges, RTO-based holds on risky orders, and NDR recovery when a delivery fails. Start with confirmed and shipped, prove it works on your own orders, and add one flow at a time. That's how you build a WhatsApp system your customers actually like hearing from instead of muting.

Frequently asked questions

Can I use my existing WhatsApp number for this?
Only if it's not currently active on the WhatsApp or WhatsApp Business app — the API needs the number free to register. Most stores use a fresh SIM or a dedicated business number so their personal WhatsApp stays untouched.
How long does template approval take?
Utility templates usually clear within a few hours to a day. Rejections almost always come from promotional wording in a utility template — keep order messages strictly transactional and they sail through. Marketing templates take longer and need opt-in.
What happens if a customer's number is wrong or unreachable?
The message simply fails to deliver and your automation logs it. For COD, that's actually useful signal — an unreachable number on a new order is a strong RTO risk, and you can hold or cancel it rather than shipping blind.
Do I need to code anything to set this up?
No. If you use a platform like Kwikfy it's a guided connect — link Shopify, approve templates, map statuses in a dashboard. Going direct through Meta's API needs some technical setup, which is why most Indian D2C brands use a managed layer on top.

Ready to run a tighter, more profitable store?

Join Indian D2C brands streamlining their entire operation on Kwikfy.

Get Started Free →