Online store order assistant
Tracks orders, handles returns and answers "where is my order?" on WhatsApp. For: Shopify and D2C stores.
The problem
Most support messages are "where is my order?" and "how do I return this?". They are repetitive, they need an answer fast, and they bury real customers.
How it works
Built from: shopify, whatsapp, razorpay, claude.
- shopify: Orders, customers and products
- whatsapp: Where customers ask
- razorpay: Refunds and payment status
- claude: Understands the question and replies in the brand's tone
flowchart LR
C(["Your customer"]) <-->|"asks, pays, gets updates"| APP["Your app<br/>Customer app or chat: track order, start a return, reorder"]
APP --> L{{"Your logic<br/>the rules that are yours"}}
subgraph EX["Apps that already exist: APIs and MCP servers"]
A0["Shopify<br/>Orders, customers and products"]
A1["WhatsApp<br/>Where customers ask"]
A2["Razorpay<br/>Refunds and payment status"]
A3["Claude (AI)<br/>Understands the question and replies in the brand's tone"]
end
L --> A0
L --> A1
L --> A2
L --> A3
L --> DB[("What it keeps<br/>Customers and orders, Return requests, Conversations")]
L --> OWN["Admin dashboard<br/>Returns queue and refund approvals"]
classDef yours fill:#1691D6,stroke:#0a5f95,color:#fff
classDef ext fill:#E6F3FB,stroke:#1691D6,color:#12112E
class APP,L,DB,OWN yours
class A0,A1,A2,A3,A4 extThe logic
- When customer asks about an order: Look it up by phone or order number and give the live status
- When customer wants to return: Check the return window and policy, then create a request
- When return approved: Send a pickup slot and the refund timeline
- When item received: Trigger the refund and tell the customer
- When cart abandoned: Send one reminder with the cart link
flowchart LR
subgraph R0["Rule 1"]
direction TB
W0{{"When: Customer asks about an order"}} --> T0["Then: Look it up by phone or order number and give the live status"]
end
subgraph R1["Rule 2"]
direction TB
W1{{"When: Customer wants to return"}} --> T1["Then: Check the return window and policy, then create a request"]
end
subgraph R2["Rule 3"]
direction TB
W2{{"When: Return approved"}} --> T2["Then: Send a pickup slot and the refund timeline"]
end
subgraph R3["Rule 4"]
direction TB
W3{{"When: Item received"}} --> T3["Then: Trigger the refund and tell the customer"]
end
subgraph R4["Rule 5"]
direction TB
W4{{"When: Cart abandoned"}} --> T4["Then: Send one reminder with the cart link"]
end
S(["Start"]) --> R0 --> R1 --> R2 --> R3 --> R4 --> E(["Done and logged"])
classDef when fill:#E6F3FB,stroke:#1691D6,color:#12112E
classDef then fill:#1691D6,stroke:#0a5f95,color:#fff
classDef end1 fill:#12112E,stroke:#12112E,color:#fff
class W0,W1,W2,W3,W4 when
class T0,T1,T2,T3,T4 then
class S,E end1What can be developed
- Mobile app: Customer app or chat: track order, start a return, reorder
- Website: Order tracking page for the store's site
- Admin dashboard: Returns queue and refund approvals; Brand tone and policy settings
- AI and automation: Answers order and policy questions from live store data; Escalates anything unusual to a person
The money (illustrative example)
The customer pays ₹3499 per store, per month. API and hosting costs: WhatsApp conversations ₹700, AI answers ₹500, Hosting ₹200, together ₹1400. Net profit ₹2099.
sankey-beta Customer pays,WhatsApp conversations,700 Customer pays,AI answers,500 Customer pays,Hosting,200 Customer pays,Net profit,2099
Watch out for
- Refunds should need approval above an amount you set.
- Marketing messages need customer consent.