I kept seeing the same problem with clients.
They did not need Salesforce. They did not need a 40-field CRM. They needed a simple way to answer three questions:
- Who messaged us on WhatsApp?
- What stage is this lead in?
- Who needs a follow-up today?
So I built a lightweight WhatsApp CRM using WhatsKit. The goal was not to replace every CRM in the world. The goal was to turn WhatsApp conversations into a visible, follow-up-friendly pipeline.
The client profile
The first version was for service businesses:
- Consultants.
- Coaching institutes.
- Local agencies.
- Real estate brokers.
- Training providers.
- Freelancers with inbound leads.
They all had the same pattern: leads arrived from Instagram, referrals, landing pages, and direct WhatsApp messages. The team replied manually, but there was no system for stages, reminders, or lost leads.
The stack
I used:
- WhatsKit for WhatsApp connection, API sending, and webhooks.
- A small backend for lead records and automation rules.
- A database table for contacts, conversations, stages, and tasks.
- A simple dashboard with filters.
- Email or in-app alerts for human handoff.
WhatsKit handled the WhatsApp layer. My CRM handled the business logic.
Data model
The first version had only five core objects.
| Object | Purpose |
|---|---|
| Contact | Name, phone, source, opt-in status |
| Conversation | Inbound/outbound messages and timestamps |
| Lead stage | New, Qualified, Proposal Sent, Won, Lost |
| Task | Follow-up owner and due date |
| Automation rule | Trigger, condition, message, delay |
That was enough for the client to stop losing leads.
Step 1: Connect the WhatsApp number
Inside WhatsKit, the client connected the existing WhatsApp number by scanning a QR code. That mattered because customers already recognised the number.
After connection, we stored:
- WhatsKit account/session reference.
- API key in server-side environment variables.
- Webhook endpoint URL.
- Default business hours.
Step 2: Capture inbound messages
Every inbound WhatsApp message hit our webhook endpoint. The handler did four things:
- Normalised the phone number.
- Created or updated the contact.
- Stored the message.
- Applied routing rules.
If a number was new, the CRM created a lead with stage New and source WhatsApp inbound.
Webhook rule example
If message contains "price", "fees", or "package", assign stage Qualified and create a follow-up task due in 2 hours.
Step 3: Create lead stages
We kept the pipeline simple:
| Stage | Meaning |
|---|---|
| New | Contact has messaged or entered from a form |
| Qualified | Contact showed real intent |
| Proposal Sent | Pricing/package shared |
| Follow-Up Due | Needs human action |
| Won | Paid or confirmed |
| Lost | Not interested or no response |
The team could change stages manually, but automation moved obvious cases.
Step 4: Send automated follow-ups
The first automation was basic but effective.
Hi Ankit, thanks for reaching out to BrightPath Coaching. We received your enquiry. Are you looking for weekday or weekend classes?
Hi Ankit, checking if you had a chance to review the course options we shared. Reply 1 for fees, 2 for demo class, or STOP to close this enquiry.
The system paused automation when a human replied or when the customer sent STOP.
Step 5: Build the daily follow-up view
This was the feature clients loved most.
The dashboard showed:
- Leads due today.
- Leads with unread replies.
- Leads in Proposal Sent for more than 48 hours.
- Leads with no owner.
- Won/lost count for the week.
The team no longer had to scroll through WhatsApp chats and guess.
Step 6: Add reporting
The first reports were intentionally simple:
| Metric | Why it mattered |
|---|---|
| New leads by source | Which channel was working |
| Response time | Whether the team was replying fast enough |
| Follow-up completion | Whether tasks were being done |
| Proposal-to-win rate | Whether pricing conversations converted |
| Opt-out rate | Whether automation was too aggressive |
What I would build next
The next version would add:
- Conversation summaries.
- AI-assisted suggested replies.
- Better duplicate detection.
- Team assignment rules.
- Campaign performance by segment.
- Multi-number support for agencies.
WhatsKit already provides the WhatsApp API and webhook layer, so the CRM can stay focused on workflow.
Lessons learned
- Small teams do not want more fields. They want fewer missed follow-ups.
- WhatsApp replies should pause automation immediately.
- Opt-out handling must exist from day one.
- A basic stage pipeline beats a complex CRM nobody updates.
- The most valuable screen is "who needs attention today?"
Want to build your own WhatsApp CRM?
WhatsKit gives you QR-based WhatsApp connection, REST API access, and webhooks so you can build lead capture, follow-ups, and CRM workflows on top. Request access and start with one number and one pipeline.