So your client has outgrown Zoho. Or they never fit into it in the first place.
This post is for developers and dev teams who are scoping out a custom CRM build — specifically for Indian business contexts where you have requirements that generic SaaS platforms handle badly: local payment gateways, WhatsApp Business API integration, multi-source lead aggregation from Indian property portals, and GST-compliant billing flows.
I will walk through the core architecture decisions, the integration challenges specific to Indian platforms, and the tech stack we have found works well for mid-market CRM builds.
What Makes Indian CRM Requirements Different
Before jumping into stack choices, it helps to understand why Indian business CRM requirements often do not map cleanly to what Salesforce or HubSpot expect.
Lead source fragmentation is severe. A real estate developer in India gets leads from 99acres, MagicBricks, NoBroker, Housing.com, their own website, Google Ads landing pages, and WhatsApp — all simultaneously.
Most of these sources have different API structures, some have no official API at all and require webhook or scraping approaches, and the data schemas vary significantly.
WhatsApp is a primary business communication channel. This is not how most Western CRM products were designed. The WhatsApp Business API has its own rate limits, template approval flow, and conversation window logic (24-hour customer-initiated vs. business-initiated template messages). A CRM that does not handle this natively forces teams to context-switch constantly.
GST and Indian billing requirements. Invoice formats, HSN/SAC codes, GSTIN validation, e-invoicing API (IRP) integration for turnover above threshold — none of this exists in off-the-shelf international CRM products without heavy customisation.
Regional language requirements. Several Indian business contexts require CRM interfaces or communication templates in Hindi, Tamil, Marathi, or other regional languages.
Core Architecture: The Building Blocks
Here is how we approach a typical custom CRM build for an Indian SME or mid-market business.
Backend
Node.js with Express for the API layer. Fast to build, massive ecosystem, and handles the async event-driven requirements of a CRM well (webhooks, background job queues, real-time notifications).
MongoDB for primary data storage. The flexible schema is genuinely useful in CRM contexts where different lead sources send different data shapes, and where custom fields per industry are common. We use Mongoose for schema validation.
PostgreSQL alongside MongoDB for anything that needs relational integrity — billing records, audit logs, permission matrices. You do not want eventual consistency anywhere near financial data.
Redis for session management, caching frequently-accessed pipeline data, and as a job queue broker with BullMQ.
Frontend
React with a component library — we lean toward Ant Design for CRM dashboards because it has the data-dense table and form components that CRM UIs need without a lot of custom CSS work.
React Query for server state management. CRM data is fetched frequently and needs to stay fresh — React Query's background refetch and stale-while-revalidate behaviour fits well.
Socket.io for real-time pipeline updates (new lead assigned, deal status changed, team notification).
Infrastructure
AWS or DigitalOcean depending on budget. For most mid-market Indian CRM builds, a DigitalOcean managed Kubernetes setup or a simpler droplet+managed DB configuration gives you good reliability at a fraction of AWS cost.
Cloudflare for CDN and DDoS protection — non-negotiable for any client-facing system.
The WhatsApp Business API Integration
This is the integration that trips up most teams building CRM for Indian businesses.
WhatsApp Business API (via Meta's Cloud API — docs here) has a few gotchas:
Key things to handle:
Template pre-approval. Any proactive (business-initiated) message must use a pre-approved template. Build a template management UI into your CRM admin panel so marketing teams can submit templates without developer involvement.
24-hour session window. If a customer messages you, you have a 24-hour window to reply with free-form text. Outside that window, templates only. Your CRM needs to track this window per conversation.
Webhook for delivery receipts. Set up a webhook endpoint to receive sent, delivered, read, and failed status updates and update your message logs accordingly.
Rate limits. Tier-based rate limits apply. New WABA accounts start at 1,000 business-initiated conversations per day. Design your bulk follow-up logic with this in mind — queue and stagger, do not bulk-fire.
Multi-Source Lead Aggregation
For real estate CRM specifically, aggregating leads from multiple Indian portals is a core requirement. 99acres and MagicBricks both support lead push via email parsing or direct API (for premium accounts). The most reliable approach we have found:
Role-Based Access Control
CRM systems for Indian SMEs typically need at minimum four roles: Sales Executive, Sales Manager, Admin, and Read-Only (for promoters/channel partners).
We use attribute-based access control (ABAC) rather than simple RBAC for CRM because data ownership matters — a sales executive should only see leads assigned to them, not all leads in the system.
What We Have Learned From Builds
A few things that are less obvious but matter a lot in production:
Audit logging is non-negotiable. Every lead status change, every note added, every reassignment should be logged with timestamp and user. Disputes between sales team members about lead ownership happen. You need the history.
Mobile-first matters more than you think. Indian sales teams — especially in real estate — are heavily phone-based. Your CRM dashboard needs to work well on a mobile browser. We now do mobile QA before desktop QA on every build.
Offline capability for field teams. Sales executives visiting project sites often have poor connectivity. Building in a PWA offline-sync layer for note-taking and status updates is worth the extra sprint for real estate clients.
SMS as fallback. WhatsApp is primary, but delivery is not guaranteed. Build in an SMS fallback (via Twilio or Indian providers like MSG91 or TextLocal) for time-sensitive communications.
Further Reading
If you are working on or evaluating a CRM build for an Indian business context, aNquest Media's CRM development overview is a solid non-technical breakdown of what a well-scoped custom CRM involves — useful for conversations with non-technical stakeholders.
Happy to answer questions in the comments — particularly on the WhatsApp API integration side, which is where most teams hit friction first.
Top comments (0)