AI email auto-replies for Shopify order status, with approval before anything sends
"Where is my order?" emails are repetitive, predictable and perfect for AI drafting. The trick is to start with drafts you approve, then let the system earn the right to send on its own.
For many Shopify stores, order-status and backorder questions are the single biggest category of support email. Every reply needs the same three things: find the customer's order, check its status, and explain it kindly. That is exactly the kind of work an AI workflow can draft well, as long as the data lookup is done by code and the AI only writes the words.
This guide describes the architecture we use for Gmail-based stores. It works with automation tools such as n8n, Make or Zapier, or a small script. Tool menus differ, so treat this as a blueprint rather than click-by-click instructions.
The core pattern: look up, draft, approve
- Trigger: a new email arrives in your support inbox.
- Classify: is this an order-status or backorder question? (AI is good at this.)
- Match: find the Shopify order by the sender's email address, or by an order number in the message.
- Fetch: pull fulfillment status, tracking number and carrier, line items and any backorder or pre-order notes, using the Shopify Admin API.
- Draft: the AI writes a reply in your tone using only those facts.
- Save as a Gmail draft in the same thread, and add a label such as
AI-draft/order-status. - Human approves: you or your team open the label, read, tweak if needed, and send.
Nothing reaches a customer until someone clicks send. That single rule removes most of the risk.
Why code fetches the data and AI writes the words
Never let the model guess an order status or a ship date. If the lookup fails (no matching order, two possible orders, a guest checkout with a different email), the workflow should not draft a creative answer. It should label the email needs-human and stop. Pass the AI a small, structured block of facts, something like:
order: #1234 · placed Oct 20
items: Linen shirt (M) – fulfilled, tracking UPS 1Z…
Canvas tote – backordered, expected restock "early November" (from product metafield)
customer first name: Sam
Then instruct it: "Use only these facts. If a fact is missing, say we'll check and follow up. Never promise a date that is not in the data."
Handling backorders well
Backorder emails are where tone matters most. A good draft:
- Says plainly which items have shipped and which have not
- Gives the expected date only if you have one recorded, and labels it as an estimate
- Offers the options your policy allows: wait, swap, partial refund or cancel the item
- Does not apologise five times
Store expected restock dates somewhere the workflow can read, such as a product metafield, a Google Sheet keyed by SKU, or your inventory tool. If the date lives only in someone's head, the AI cannot use it, and it should not invent one.
Categories and modes
Treat each email type as its own category with its own mode:
| Category | Start in | Consider auto-send when… |
|---|---|---|
| Shipped, tracking available | Draft | Edits are rare and lookups have been reliable for a few weeks |
| Not yet shipped, within processing time | Draft | Your processing-time text is fixed and accurate |
| Backorder / pre-order | Draft | Restock dates are maintained reliably |
| Lost / delayed parcel | Draft | Usually keep human |
| Refunds, cancellations, address changes | Human | Only with explicit rules and order-state checks |
"Auto mode" should be a switch per category, not a global setting, and it should still log every sent reply so you can audit it.
Learn from your edits
The most valuable data in a draft-first system is what you change. Keep a simple log: original draft, sent version, and category. Once a week, review the biggest edits and fold the lessons back into the instructions ("always include the carrier link", "don't say 'unfortunately' in the first line", "mention free returns for exchanges"). Over a few weeks the edit rate should fall; that falling edit rate is the evidence that a category is ready for auto-send.
Guardrails worth adding
- Skip rules: never draft for emails mentioning chargebacks, legal action, allergic reactions or injury. Label them
urgent-human. - One reply per thread per day to avoid loops with auto-responders.
- Ignore no-reply senders, marketplaces and notification emails.
- Privacy: only include the fields the reply needs. Do not paste full customer records into the AI prompt.
- Access: use a Shopify custom app with read-only order scopes for the lookup. The drafting workflow does not need write access.
Measuring whether it works
- Share of order-status emails that received a draft
- Edit rate: drafts sent unchanged versus edited
- Time from email received to reply sent
- Follow-up rate: customers writing again about the same order within a few days
Put these into your weekly digest (see our weekly KPI digest guide) so you can decide category by category when to loosen the approval step.
Gmail drafts or a helpdesk?
If you already use Gorgias, Zendesk or Shopify Inbox, use their built-in AI and routing first; see our support triage guide. The Gmail approach suits smaller brands that run support from a shared inbox and do not want another subscription yet. It is also easy to expand later: returns, address changes and wholesale enquiries each become another category rather than a rebuild.
Want this running in your store?
DIY: The D2C Agent Desk playbook ($19) has the copy-paste prompts and desk templates we use. Use code EARLYBIRD for 37% off.
Done for you: D2C Agent Desk Starter Install ($499). We set up three draft-first desks (support triage, speed-to-lead, weekly metrics digest) in about 5 business days. Full refund if we haven't completed setup within 7 days of kickoff.
— The D2C Agent Desk team