Custom CRM with a virtual setter for a sales team
A CRM with an AI setter that answers every lead within minutes, qualifies them and books the sales call. Plus a proposed voice agent to talk to leads and handle support.
- Industry
- Sales and lead generation
- Engagement
- Client project
- My role
- Product, architecture and development
- Stack
- Python, FastAPI, LangGraph, PostgreSQL, Next.js, WhatsApp Business API
The problem
The sales team tracked leads across spreadsheets, each rep’s WhatsApp and several calendars. Leads waited hours for a reply, and nobody could see at a glance where each one stood.
What I built
- A CRM with a staged pipeline. Every lead has a record with its source, conversation history, pending tasks and assigned rep.
- Automatic lead intake from forms and campaigns, with no manual copying.
- A virtual setter on WhatsApp. It replies within minutes at any hour, asks the qualification questions, checks the team’s calendar and books the call. If the lead asks for a person or the setter isn’t sure what to say, it hands the conversation to a rep with the full context.
- Automatic reminders before every appointment to cut no-shows.
- A pipeline dashboard: new leads, qualified leads, booked calls and completed calls.
What else I proposed
I designed two more modules that the client chose to leave out of this phase:
- A voice agent for leads. It calls every new lead within the first minute, holds the qualification conversation in a natural Spanish voice and books the appointment in the same CRM calendar.
- The same agent for support. It answers customer calls using the company’s knowledge base and, when it can’t solve something, opens a ticket in the CRM and alerts the team.
Both run on top of the existing CRM. If they fit your project, I’ll show you how they work on a call.
Result
The team works from one place, every lead gets a reply within minutes even out of hours, and the sales reps spend their time on calls that are already booked.