DotsCom Agency
« Back to blog
CRMAI & automationSales

From spreadsheets to an AI-powered CRM: qualifying leads in 3 messages, around the clock

5 min readDotsCom Agency

Our client is a major land development and urbanisation company in Santa Cruz de la Sierra, Bolivia, with more than 25 active projects and a sales team that started with just 6 reps. Before this work, every rep assembled each project's brief by hand from templates, entered lead details one by one, and had no way of knowing which ad each enquiry came from.

Work started on 18 May 2026 with the first onboarding and shipped on 9 June, alongside the Collections MVP presentation — 22 days between the two. We implemented a WhatsApp chatbot, Kommo and custom development working together, with an AI Companion assisting the sales team. Of the five cases in this series, it is the one that scaled its usage the most, and the only one already running a second phase in development.

  • In 22 days we built a WhatsApp chatbot with Kommo and custom development that identifies the project from the source ad and assembles the lead's brief automatically.
  • The Salesbot qualifies in 2 to 3 interactions, instantly and 24/7, before handing off to a rep — with zero service outages since going live.
  • The client scaled to 4 connected channels and is already in a second phase, with custom development to collect payments over WhatsApp.

The problem: hand-built briefs, leads with no source

With more than 25 active projects, every enquiry arriving via WhatsApp, Instagram or Facebook meant the same repetitive work: the rep had to identify which development it was about, build or find the matching brief from a template, and type in the lead's contact details by hand. There was no systematic way of knowing which ad each enquiry came from — key information for knowing which campaigns actually generated sales.

The goal was not to resolve the conversation without human involvement — the business needs a rep to close the sale. The goal was that by the time the lead reached the rep, it would already be identified, qualified and come with a complete brief.

What was implemented: chatbot, CRM and custom development

The solution combined a WhatsApp Salesbot on Kommo with custom development and an AI Companion for the sales team — built on a NestJS backend, a Next.js frontend, and a proprietary vector knowledge base feeding the AI assistant.

  • WhatsApp Salesbot — Detects which project they are asking about, delivers the brief and qualifies the lead in 2 to 3 interactions —instantly and 24/7— only then passing it to a rep.
  • Kommo + custom development — Integration via OAuth, webhooks, Chats API and Salesbot, with Meta Conversions API, UTM attribution and content management replacing the manual templates.
  • AI Companion for the sales team — Assists the rep inside the chat, on the client's own vector knowledge base — it does not answer the lead for them, it assists them.
  • Autofill presets — A feature separate from AI autofill: it works even with AI switched off, so we are not selling artificial intelligence to a client who only needs fields filled in.
Are your sales reps still building product briefs by hand? Let's talk about your case.

The technical challenge: knowing which project each lead is asking about

The project's hardest challenge was identifying which development each lead was asking about. The bot's first version matched by keyword against the message text — and ended up routing every lead to a single development, regardless of the source ad. The bug was caught on 16 June, barely a week after go-live.

It was solved by capturing the Meta ad_id from the click-to-WhatsApp event via Kommo's webhook, and resolving the project against that identifier —keeping the keyword matcher as a fallback for when no ad_id arrives. Ten days later, on 26 June, a second incident appeared: a 403 error in production, whose root cause was identified and cleared the same day. Neither incident caused a service outage: the system never stopped working at any point since go-live.

The criterion that came out of this —detect the source by Meta ad_id, not by keyword— was adopted as the standard for every client with click-to-WhatsApp in the mix.

Scaling without falling over: from 6 reps to a second phase

Of the five cases in this series, this is the one that scaled its usage the most. In channels, they added TikTok, Facebook, Instagram and the WhatsApp API to the operation, plus a second WhatsApp line dedicated to collections and a third for the API itself. In product, a second phase is already underway with a Collections MVP —new custom development, not an existing module— enabling payment collection over WhatsApp with QR payment links, projected to scale from 200–300 daily sends to between 8,000 and 9,000.

A referrals Salesbot was also built, with a per-project variable reward sized to cover the plot's monthly instalment —relevant because 4 in 10 of this client's sales are referrals or repeat purchases. All of it runs on an architecture built to scale: NestJS and MongoDB/Redis on Railway, Next.js on Vercel, PostgreSQL with pgvector for the AI assistant's knowledge base, and Amazon S3 for the payment links.

What changed, task by task

Task

Before

After

Each project's brief

Assembled by hand from templates

Content management in the platform

Lead data entry

Field by field, by hand

Autofill presets

Enquiry source

No data on the originating ad

Automatic attribution by Meta ad_id

Collections campaigns

Assembled by hand

Template manager + bulk sending (in development)

The bot detects the project, delivers the brief and qualifies in 2 to 3 interactions, instantly and 24/7 — only then does it pass to a rep.

Are your sales reps still building product briefs by hand? Let's talk about your case.
Share