Skip to content
miguelm
ProjectsExperienceApproachMy storyBlog
PTEN
Let's talk
Back to projects2026 / Explore the case

An AI SDR that showed what was missing.

A WhatsApp agent for prospecting at scale. The pilot found decision makers, showed where conversations stalled and changed the order of the roadmap.

PythonLangGraphPostgreSQLLangSmith
  • 59 of 144contacts from a cold list replied in the August 2026 pilot.
  • 10 of 59conversations ended with a decision maker found or a lead handed to a salesperson.
  • BANT → goalsQualification redesigned and validated in a sandbox.

At a glance

Problem
The team reached few leads at a time. In the manager's words: "the market wants me to fire a machine gun, and I'm firing a sniper rifle".
My part
Discovery, agent architecture, test sandbox, cost measurement and product decisions.
Hard call
Replace BANT qualification and the mandatory quote request with closed goals, and keep the SDR on a parallel track until the CRM could measure the lead's path.
How I validated
An August 2026 pilot with 144 contacts from a cold list: 59 replied and 10 conversations found a decision maker or became a lead. Conversation changes were tested first in a sandbox with the team.
What changed
The pilot found decision makers in a cold list and showed that autonomous conversion depended on a follow-up cadence and a CRM to track each lead. The next batch focuses on what worked.
Same modernization effort
  • A CRM that becomes part of the day.
  • Reading the conversations nobody had time to read.
In this project01 / A machine gun, not a sniper rifle.02 / A reviewer before every message.03 / Cost per conversation before scaling.04 / Good at exploring, not yet at selling.05 / A conversation from the pilot.06 / Fewer questions, more conversation.07 / Measure the cycle before scaling.
01

A machine gun, not a sniper rifle.

I proposed a discovery interview with the manager to understand what the operation needed. He summed up one problem like this: "the market asks me to fire a machine gun, and I'm shooting like a sniper".

The proposal, built together with management, was an AI SDR on WhatsApp that could reach leads at scale and hand qualified ones to a salesperson.

02

A reviewer before every message.

I designed the agent as a graph in Python and LangGraph. One node plans the goal of the turn, another answers with operational context retrieved through RAG, a reviewer checks whether the answer is grounded and meets the goal, and a final step adapts the text to the rhythm of WhatsApp.

Without the reviewer, tests showed the agent drifting from the planned intent. Smaller models classify and decide the handoff, and the larger one only runs where reasoning is needed.

One IARA SDR turn, simplified.
  1. 01

    Planning

    A node sets the goal of the turn from the conversation.

  2. 02

    Answer with RAG

    Operational context retrieved to ground the reply.

  3. 03

    Reviewer

    Checks grounding and goal before every message.

  4. 04

    Handoff

    With a decision maker or a direct request, a salesperson takes over.

03

Cost per conversation before scaling.

An agent that talks to hundreds of people a week can get out of control if nobody knows what each message costs and what it brings back. I logged the cost of every node on every turn, next to the outcome of each conversation.

Almost all of the cost sat in three steps and came from context size, not from the answer. That is where the lever is to grow without losing quality.

04

Good at exploring, not yet at selling.

In the August 2026 pilot, IARA reached out to 144 contacts from an old cold list. 59 replied, about 4 in 10. Of those 59 conversations, 10 ended with a decision maker found or a lead handed to a salesperson, about 1 in 6. The conversation flow ran with no execution errors.

IARA explored well when the lead was open to talking, but she didn't store everything she learned and couldn't pick up a stalled conversation. She lacked tools, clear goals for each stage and a follow-up cadence.

05

A conversation from the pilot.

During the pilot, we followed every conversation closely. In this one, the list was out of date: the contact had left the company almost two years earlier. IARA didn't stop there. She asked who had taken over, explained what we do when he asked, and found out he was now maintenance manager at a plant that runs the equipment we serve.

Real excerpt from August 6, 2026, anonymized and translated from Portuguese. Names and companies became descriptions in brackets, and cuts are marked.
  1. IARA

    Hey, [name]? I'm Iara from [company], how are you?

  2. Contact

    hi

  3. IARA

    Great to talk to you! Help me help you lol: are you the one who handles maintenance or purchasing there at [previous company], or are you in another area?

  4. Contact

    its been almost 2 years since i left [previous company]

  5. IARA

    Oh I see, [name]! My records were out of date then lol. Do you happen to know who took over maintenance or purchasing at [previous company]? I'd like to keep that contact

  6. Contact

    purchasing is corporate

  7. IARA

    Oh, corporate purchasing, got it! Would you have the name of someone on that team, or whoever took your role? That way I reach the right person and don't bother you by mistake lol

  8. Contact

    hard to reach them

  9. IARA

    Got it, [name], no problem! Thanks a lot for sharing that, it really helped. Anything you need, just reach out 🙏

  10. Contact

    sorry, what do you guys do?

  11. IARA

    No problem, [name]! [company] works with replacement parts for imported industrial equipment, like Alfa Laval, GEA, SPX, Tetra Pak. […] Did you work with anything in that area while you were at [previous company]?

  12. Contact

    yes i was maintenance coordinator

  13. IARA

    Maintenance coordinator must be hectic, I can imagine the routine! And today, are you still in industrial maintenance or did you move to another area?

  14. Contact

    currently we use them here where i work

  15. IARA

    Oops, looks like the message got cut off, [name] lol. Tell me, where you work, what do you use?

  16. Contact

    im maintenance manager at [juice manufacturer]

  17. IARA

    Oh, maintenance manager at [juice manufacturer], great to know! […] So [name], are you the one who approves a new parts supplier, or does that go through someone above you?

  18. […] Excerpt omitted
  19. Contact

    gea, alfa and tetrapak in almost every process i have here

  20. IARA

    Nice, GEA, Alfa Laval and Tetra Pak cover practically every critical process. And of those, is there one that usually gives you the most headaches, like a part that holds up maintenance or something that keeps you worried?

After reading the conversation, we handed the contact to a sales rep. Nineteen days later she visited the company, and we are now arranging a talk on heat exchangers at the plant.

Right after this excerpt, he asked whether he was talking to an AI, and IARA claimed to be a person. The cause was the persona, which told her not to identify as an AI. That same day, I replaced the instruction with an explicit rule: when asked, she says she is a virtual assistant. I reinforced the rule in code, so it doesn't depend only on the document, and added a test with variations of the question.

The system marked this lead as an invalid contact, because the number no longer belonged to the old company. The most valuable information in the conversation, the new company, stayed only in the text. It is one of the reasons the SDR depends on the CRM to record the lead's cycle.

06

Fewer questions, more conversation.

BANT qualification turned into a string of questions that pushed leads away. I replaced it, along with the rule of always closing on a quote request, with closed goals: role, company, industry and need.

I built a sandbox where the team talked to the agent as if they were a lead. There, back-to-back questions dropped and the agent handled leads who went straight to the point better. At the manager's request, the way the sales reps talk became the reference for tone.

07

Measure the cycle before scaling.

Without a CRM, there was no way to know how much IARA contributed to a lead's path to purchase. The SDR moved to a parallel track while the CRM took shape, and the CRM has already started to record that contribution.

The next batch focuses on what the pilot did well: qualifying cold leads with little information, finding decision makers and sending catalogs.

Collage portrait of Miguel Minotti over paper with blue, red and yellow cutouts.
Art in the eye. Engineering in the delivery.

Let's build
something that matters.

Professional communication in Portuguese and English.

Location: Brazil (UTC-3), remote

Send an email Talk on LinkedIn

miguelminotti.mm@gmail.com

  • Résumé in English (PDF)
  • Résumé in Portuguese (PDF)
Miguel MinottiPop Engineeringmiguelminotti.mm@gmail.com LinkedIn GitHub Back to top