Skip to main content

WhatsApp · Order status

WorkflowD2C brands

Answering "where is my order" on WhatsApp in one workflow

Order status questions are the largest share of many D2C support inboxes, and each one needs the same three lookups. This playbook builds one workflow that does the lookups, replies with buttons and passes the hard cases to a person.

Valnora & Elric team6 min read

Format
Playbook
Steps
8
Solution
Workflow
Parts used
4
WorkflowsTablesKnowledge BaseLogs

"Where is my order" is the question a D2C support team answers most, and almost every answer is the same three lookups: find the order, find the tracking number, ask the courier for the latest scan. A person doing that by hand switches between Shopify, the courier panel and WhatsApp for every chat. On a sale weekend the queue grows faster than anyone can clear it.

This playbook builds one workflow in Agent Serve that does the lookups, replies on WhatsApp with buttons, and passes anything unusual to a person with the context already attached. The order numbers, hubs and thresholds below are illustrative.

How it works

From a WhatsApp question to a tracked answer

An incoming WhatsApp message starts the workflow. It finds the order in Shopify, asks the courier for the latest scan through the API block, replies with reply buttons and hands anything unusual to a person with the context attached.

Workflow · Order status

  1. 01WhatsApp triggerEach incoming message reaches the workflow through the WhatsApp webhook trigger.
  2. 02Intent and order matchAn Agent block decides whether the message is an order status question and finds the order number or phone match.
  3. 03Shopify order lookupShopify Get or List orders returns status, fulfilment and tracking number.
  4. 04Courier statusThe API block calls the courier’s tracking endpoint with a key stored as a workspace secret.

Reply and hand-off

  1. 05Interactive replySend Interactive answers with the latest scan and buttons: Track, Change delivery, Talk to us.
  2. 06Conversations tableOne row per question: order, courier status, answer sent, hand-off flag.
  3. 07Support agentDelayed, lost or angry cases go to a person in Slack or the help desk with the lookups attached.

Step 1: Start the workflow from WhatsApp

Add the WhatsApp trigger to a new workflow and point your WhatsApp Business webhook at it. Every incoming message starts one run with the sender’s number and the message text.

Add Mark As Read as the first action, so the customer sees their message was received while the lookups run.

Step 2: Decide what the message is

Not every message is about order status. An Agent block classifies the text into a few labels: order status, return or exchange, product question, other. It also pulls out an order number if there is one, in formats such as "#51907" or "order 51907".

Only order status questions continue down this path. The rest go to your existing support flow, or straight to a person. Keep the labels few. A classifier with four labels is easy to check in the run log; one with twenty is not.

Step 3: Find the order in Shopify

With an order number, use the Shopify Get order operation. Without one, use List orders filtered by the customer’s phone number and take the most recent open order.

From the order, keep: financial status, fulfilment status, items, the tracking number and the courier name. If the order is not yet fulfilled, the workflow can answer straight away: "Your order is being packed and will ship within two working days." The wording comes from a delivery policy document in the Knowledge Base, so it matches what your site promises.

If more than one open order matches, the workflow sends a list message with Send Interactive and lets the customer pick.

Step 4: Ask the courier for the latest scan

Couriers and shipping aggregators such as Delhivery, Shiprocket or iThink Logistics are not native integrations. Use the generic API block to call your courier’s tracking endpoint, with the API key stored as a workspace secret. Map the response to three fields: latest status, location and time of the last scan, and expected delivery date if the courier provides one.

If you use more than one courier, add a condition on the courier name and one API block per courier. Each returns the same three fields, so the rest of the workflow does not care which courier carried the parcel.

Step 5: Reply with buttons

Because the customer wrote first, the 24-hour service window is open and you can reply with an interactive message. Send Interactive sends the latest scan in plain words with up to three reply buttons:

  • Track shipment sends the courier’s tracking link.
  • Change delivery asks what they need and records it for the team. Changing the address in Shopify is a person’s job: the Shopify order update covers note, tags and email only.
  • Talk to us hands the chat to a person, every time it is pressed.

What the solution produces

WhatsApp reply with buttons (illustrative)

Message

Hi Arjun, your order #51907 (1 item) shipped on Tuesday.

Latest update: Out for delivery from the Andheri East hub, 09:12 today.

The courier expects to deliver it by 8 pm.

[Track shipment] [Change delivery] [Talk to us]

Send Interactive · reply buttons · inside the 24-hour service window

Hand-off card for a support agent (illustrative)

Record
Customer
WhatsApp +91 98xxx xx214 · order #51644
Question
"It has been 9 days, where is it?"
Shopify
Fulfilled 2 Oct · tracking number on file
Courier
Last scan 4 Oct: in transit, Nagpur hub. No scan since.
Why handed off
No courier scan for more than 72 hours
Sent so far
Holding reply: "A teammate is checking with the courier."
Posted to #support-orders · linked to the run log

Step 6: Hand off what the workflow should not handle

A rule decides when a person takes over. Typical conditions:

  • No courier scan for more than 72 hours.
  • The courier status says delivered, but the customer says it has not arrived.
  • The order is marked RTO or the courier reports a failed delivery attempt.
  • The message reads as a complaint, or the customer has asked twice in a day.

On a hand-off, the workflow sends a short holding reply ("A teammate is checking this with the courier"), then posts a card to a Slack channel or creates a ticket in your help desk with everything it found. The agent who picks it up does not repeat a single lookup. For failed attempts, the non-delivery follow-up playbook covers what happens next.

Step 7: Keep a record and watch the numbers

Each run writes a row to a conversations table in Tables: order, courier, status found, reply sent, and whether it was handed off. A small dashboard on that table shows questions per day, the share answered without a person, hand-offs by reason, and which courier hubs produce the most "no scan" cases.

How to measure it

Illustrative

3 lookups

Done by the workflow for every question

Order, fulfilment and latest courier scan, in one run. Illustrative.

Illustrative

72 h

Example no-scan threshold for a hand-off

Illustrative; set your own in the rule.

Illustrative example. Figures show how the workflow is measured; they are not customer results.

That last panel often matters more than the replies. A hub that goes quiet for three days shows up in the table before it shows up in your reviews.

Controls

Controls and governance

Run logs

Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.

Deployed versions

Workflows run from a deployed version, so a change is reviewed before it reaches production runs.

PII detection

A Guardrails block detects personal data and blocks or masks it before text reaches the next step.

Roles and permission groups

Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.

Audit trail

Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.

More on how Agent Serve handles access, data and audit on the security page.

Every run is in Logs with each block’s input and output, so when a customer says the bot told them the wrong date, support can see the courier response it was based on. Phone numbers can be masked in logs with PII redaction, and the workflow runs from a deployed version, so a change to the reply wording is reviewed before customers see it.

Questions teams ask

Do you have a native integration with our courier or shipping aggregator?

No. Delhivery, Shiprocket, iThink Logistics and similar services are not native integrations. The workflow calls their tracking API with the generic API block, using your API key stored as a workspace secret, or uses an MCP server if the provider offers one under Settings → Tool connections.

Can the customer message first and still get buttons?

Yes. When the customer writes to you, WhatsApp opens a 24-hour service window in which you can send free-form and interactive messages. Messages you start outside that window need an approved template.

What if the order cannot be found?

The workflow asks once for the order number with a short reply. If there is still no match, it hands the chat to a person rather than guessing.

Sources

Written by the Valnora & Elric team.

Figures, dashboards and sample outputs in this article are illustrative examples, not customer results. This article is for information only and isn't legal or regulatory advice.

Enterprise access

Put AI agents to work across your team

Agent Serve is available to teams by invitation. Tell us what you want to build and we will set up your workspace with you.