The problem nobody talks about in Indian D2C
This brand received 4,000 WhatsApp messages on a typical Saturday. Two support staff handled them. The math does not work.
The team was not underperforming. They were working 10-hour shifts and still ending each day with 200 unread messages. The issue: 78% of those messages were the same four questions. “Where is my order?” “Can I exchange the size?” “What is your return policy?” “Is this available in red?”
The founder told us he had lost at least 30 confirmed orders in a single week because customers who asked “is size M available?” did not get a response for 6 hours, bought elsewhere, and then came back angry about the delay.
What we actually built
We did not build a rules-based chatbot. The brand had already tried Interakt, Wati, and one custom solution. All of them hit the same wall: once a query went slightly off-script (“I ordered 2 but only received 1, and the one I got is the wrong color, can you check?”), the bot responded with a generic “Please contact support” that made customers angrier than silence would have.
We built a Claude Sonnet 4.6 agent connected to:
- Their Shopify backend (via a custom MCP server) for real-time order lookup
- Razorpay for payment status
- Shiprocket for live courier tracking
- A simple Google Sheet for their exchange policy and stock availability
The agent’s default language is Hindi, but it detects English queries and responds in kind. It also handles Hinglish, the way people actually type on WhatsApp in India.
The key architectural decision was giving it a hard scope. It handles order status, return initiation, size exchanges, and stock queries. Anything outside that list gets a warm handoff to a human with the full conversation context prepended. The agent does not attempt to handle things outside its defined scope.
The number that surprised the client
We ran a 2-week test before full deployment. During that window, we logged every query type. 81% fell inside the agent’s scope, higher than anyone expected. The remaining 19% were things like influencer collaboration inquiries, complaints about product quality (which genuinely needed a human), and bulk or wholesale inquiries.
After full deployment:
- First response time: median dropped from 4.2 hours to 11 seconds
- Resolution without human escalation: 73%
- Customer complaints about response speed: dropped from the number one support issue to not appearing in feedback at all
- Support cost: reduced from 3.8 lakh rupees per month to 1.7 lakh rupees per month, with the two staff now handling escalations and relationship work rather than triage
The part that took the most work
Indian WhatsApp compliance was harder than expected. Meta’s template approval process is opaque, and templates get rejected for reasons that are not in the documentation. We went through 14 rejections before landing on template structures that passed. We now maintain a working library of approved template patterns for common Indian D2C use cases.
Razorpay webhook reliability was the other challenge. Their webhooks occasionally arrive out of order, meaning an “order confirmed” event can arrive after a “refund processed” event for the same order. We built an event deduplication layer and a 30-second hold before responding to payment status queries to let the state settle.
Tech used
WhatsApp Business API (via AiSensy) · Claude Sonnet 4.6 with prompt caching · Shopify MCP · Razorpay MCP · Shiprocket MCP · n8n for orchestration · Cloudflare Workers for the webhook handler
Build time: 3 weeks. Monthly operating cost: approximately $180 all-in at current message volumes.