Skip to content
How it works

From an export nobody opens to three conversations worth having.

Lewis is one loop run over and over: read the book, rank it, write to one person, wait for your yes, listen to what comes back, hand it over when a licence is needed. Here is every step of it, including the parts that refuse.

The loop, in six steps

Nothing here is a stage in a funnel. It is the same six things happening once per lead, all day.

Step 01

Read the book

You drop in a CSV export. Lewis reads the notes column, not just names and numbers. That is where the reason somebody was ever a lead is written down.

Step 02

Rank it

Not-textable numbers are dropped at import. What is left is ordered by how much there is to open with, so the first text goes to the person with the most specific note.

Step 03

Draft one message

The opener quotes the actual thing that lead told you. Before it is shown to you it has already been through the outbound rails.

Step 04

Wait for you

The draft sits in the queue. Send it, edit it, skip it, or type your own and Lewis sends your words verbatim.

Step 05

Listen properly

The reply is read for budget, timeline and area, and for the half a checkbox cannot hold, like modern or too dark. What it cannot place, it asks about.

Step 06

Hand it over

Once the lead has answered enough of the things that matter, or asks outright to see a place, the thread comes to you with the reason attached.

Step 01: it reads the notes, and that is the whole trick

Every CRM export has a notes column and almost nothing uses it. It is where “wants to be in the Champlain district before the school year” and “pre-approved to 415, husband is the holdout” ended up, two years ago, in your own handwriting.

That column is the difference between a text somebody answers and a text somebody deletes. “Just checking in, still looking?” is what every drip already sends. “Still after the Champlain school district?” is a question only somebody who knows them could ask.

So the import reads it, and the first draft quotes it. Not paraphrases it, quotes the specific thing, because a paraphrase of a two-year-old note is exactly where an invented detail creeps in.

Lewis works with any CRM that exports a CSV. There is no integration to wait for and nothing to connect. More on CSV import.

Step 02: the numbers that cannot be texted leave at the door

A list of four hundred is not four hundred people you may contact. Some of those rows are landlines, some are dead, some are marked do-not-contact, and some belong to people who once replied STOP.

Lewis drops those at import rather than filtering them later, which sounds like the same thing and is not. A number that never entered the process cannot be texted by a later bug, a re-run, or somebody clicking the wrong button at 7am. The opt-out list is checked again at the moment of sending anyway, because that one is a legal obligation rather than one agent’s filing. See the opt-out policy.

Step 03: the draft has already been refused once, if it needed to be

Before a draft reaches your queue it has been through the outbound rails. There are three verdicts and they are not three severities of the same thing:

allowhi Marcus, you were keen on Pine St. still looking?
holddoes thursday at 6 work for a call?commitment:time
block42 Oak is 1,850 sq ft with a new roof.property_fact

Blocked never becomes held. An agent skimming approvals at 7am waves things through.

Allow goes to your queue. Hold goes to your queue with the reason attached, and hold is the normal verdict for a good draft, because any message that names a day or a figure is a commitment and every commitment is yours to make. Block never reaches the queue at all.

That last one is the important distinction. A blocked message is not “held for review”. Fair-housing language and property facts Lewis cannot source are refused outright, because an agent skimming approvals before the school run will wave through “42 Oak is 1,850 sq ft” without knowing whether it is true. There is no button that sends one by mistake, which is a stronger promise than any amount of care. How the guardrails work.

Step 04: your yes, and nothing that resembles one

More than one draft waiting plus a bare “yes” gets you a numbered list, not a guess. Sending the wrong message under somebody’s real-estate licence is the one failure this product cannot afford, so the ambiguity is handed back rather than resolved.

The reverse holds too: only the engine may say a message went out. If the phrase you used could not be read as consent, Lewis re-asks. It does not send and then narrate the send, which on your screen would be indistinguishable from the real thing.

And you are never stuck choosing between Lewis’s words and no words. Tell it to write it yourself and the next thing you type is the message, sent verbatim. The one rail still running on it is the fair-housing check, because a fair-housing line does not become sendable because a human typed it. More on approvals.

Step 05: it hears the answer to the question it asked

Asked for a budget, “2k” is a budget. So is “2 thousand dollars”, and so is a message that is nothing but an amount. That sounds obvious and it is the thing most systems get wrong: they want the word “budget” next to the number, so the ladder dies on its last rung while the person on the other end types “i just gave it to you??”.

A bare figure only counts as an answer on the turn the figure was asked for. Off that turn a number is a number. That gate is the whole safety argument for reading it loosely in the first place.

It also hears the half a form cannot hold. “More modern”, “I don’t like the interior”, “too dark”. Those never become a filter and they are never quoted back at somebody as if they were a fact about a home. They reorder what is already in range, and nothing else. What Lewis cannot place, it asks about, as an ordinary message.

Step 06: the handover, and when it happens

Two replies from the lead, and two of budget / timeline / area confirmed by the lead, not inferred, not assumed from a note. Those are defaults and they are a dial rather than a constant.

A lead who asks outright (“can you show me Saturday?”) is never gated by any of that. That is a deterministic rule, not a judgement call, because somebody asking to see a house is the single clearest signal in this business and a threshold that could swallow it would be indefensible.

What it does to a list

From four hundred dead names to three meetings.

Same list you already own. The arithmetic is the argument.

412
names in the export

The list you already paid for, sitting in a CRM nobody opens.

137
you are allowed to text

Not-textable numbers are dropped at import rather than filtered later.

3
handed back warm

Budget, timeline and area answered in their own words, before you call.

What step 06 looks like from the lead’s side

still after the Champlain school district?
yeah, we’re actually ready now
passing you to Dana. she’ll call thursday.

The last bubble is the product working. Everything before it is the part you were never going to get round to.

The eight things a membership is

Each one is a page, because each one is a decision somebody will want to read before they trust it.

Your book is already full of people who meant it.

Point Lewis at the export and he works it over text, every draft still waiting on your yes.