BlogLead generation

Detecting Hot Leads in a DM Thread: What Signal Exists

Before AI scores anything it has to read something. An honest inventory of what a DM thread actually contains, what a model reads well, and where it invents confidence.

The PostEngage team5 min read
Illustrative photograph for a post about sales.

"Real-time AI lead detection" suggests a machine watching a rich stream of behaviour and drawing conclusions. It is worth opening an actual thread and listing what is in it, because the list is short and the shortness explains most of what goes wrong.

A thread contains: the words they typed, when they typed them, which of your automations first caught them, and whether they have spoken since. That is close to everything. Any product claiming more is either inferring or guessing, and the difference between those two words is the whole subject here.

The inventory

  1. The keyword they typed to arrive. Underrated, and the cheapest signal in the system. Somebody who commented PRICE has declared an intent in one word. Somebody who commented on a giveaway post has declared a different one. The automation and run that created the lead are recorded on it, so this never has to be reconstructed.
  2. Whether they replied to your reply. A boolean, and the most predictive thing in the whole thread. It costs nothing to compute, it cannot be gamed, and it separates a person who typed a word from a person having a conversation.
  3. How many times they have interacted, and when the last one was. Volume plus recency. Recency matters more here than anywhere else because it also tells you whether you are still allowed to reply.
  4. Anything they volunteered. An email address or a phone number typed into a message is the strongest non-verbal signal a thread produces. Nobody hands over a number idly.
  5. The text itself. The only unstructured signal, the richest one, and the one that needs reading rather than counting.
The unified inbox, showing threads with the automation that started each one, the last message received, and how long the reply window has left.
Four of the five signals are visible without opening anything. The fifth is the sentence, and it is the one worth spending a model on.

What is not in the thread, and cannot be

Their budget. Whether they have bought from someone like you before. Whether they are a reseller, a competitor, or fourteen years old. Whether "bhej do" means send the details or send the invoice.

None of that arrives with the message, and none of it can be responsibly inferred from a profile. A tool that assigns confidence to any of it is producing a number from nothing, which is the specific failure mode worth watching for — not that AI reads badly, but that it never abstains.

What a model genuinely does better than rules

It collapses the ways people say one thing. "Kitna hai", "price?", "cost kya h", "rate bhejo", "how much for the blue one", "kitne ka hai bhaiya" are one intent and no keyword list ever finishes covering them. This is the strongest practical case for a model in the whole product, and it is unglamorous: language normalisation, not prediction.

It pulls the specifics out of a sentence. A message that names a product, a size, a city or a date is carrying structure inside prose. Extracting "blue, Pune, this week" from a Hinglish sentence is exactly the sort of thing a model is good at and a regex is not.

It notices the message that needs a person. A complaint, a bulk enquiry, a question about a refund, anything with a legal shape. Flagging those for a human is more valuable than answering them and much safer.

Where reading fails

Sarcasm, obviously. One-word replies, which carry almost nothing and are extremely common. Emoji, which mean different things to different age groups and cannot be reliably ranked. And the specific Hinglish problem of a sentence whose meaning depends on tone the text does not carry — "haan haan theek hai" is agreement or dismissal depending on a face you cannot see.

The right response to all of these is the same: let the classification be uncertain and let the human decide. In practice that means the model tags what it is sure about and leaves the rest untagged, rather than tagging everything with a low confidence nobody ever looks at.

Turning signals into something you can act on

The output should be a filter, not a feeling. A lead record here carries a stage — New, Contacted, Interested, Converted, Not a fit — plus tags, whether they replied, how many interactions, and any detail they volunteered. There is deliberately no score column. The reason is not modesty, it is that a number would be a summary of the other fields with the information removed.

A score

"Lead quality: 78." You cannot tell what produced it, whether it is wrong, or what would change it. Two people with 78 may have nothing in common. Nobody ever recalibrates it.

A filter over real fields

"Replied, tagged pricing, captured in the last 12 hours." You can read exactly why each person is in the list, and when one does not belong you can see which condition let them in.

The signal everybody forgets is free

Time. A thread where the last inbound message arrived two hours ago is a different object from one where it arrived twenty-two hours ago, and no intelligence is required to tell them apart.

Sorting by how much of the window remains gets you most of the benefit people expect from lead scoring, immediately, with no model involved. It works because heat on this platform is a property of the moment rather than the person, which is also the reason a stale scored list is close to worthless.

Cost, briefly

Reading a thread to answer it is where a credit gets spent, and only when the AI writes something new. Templated replies stay free and unlimited, so a setup where the model handles the ambiguous second turn and templates handle the predictable first one is cheap by construction. The free tier is 100 credits with no card, and packs start at ₹499.

If you want to formalise any of this into rules and buckets rather than reading threads by hand, that is a genuine step up in complexity and it only pays back above a certain volume. Below it, the inbox sorted by time remaining is not a compromise. It is the correct answer, and it is most of what fast replying is.

One email when we publish.

No drip sequence, no “quick question” follow-up. Unsubscribe is one click and we honour it immediately.