SIG9
GUIDE · CONVERT

The inquiry desk, running: a teardown

The inquiry desk runs on SignalNine's own inbox. It screens incoming email, drafts from my written rules, and waits for my approval on a phone message. One outside-address test on 2026-10-05 completed that path. The teardown shows what was observed, what was only tested, and where the system still has limits.

A lead emails while you're with a client. Waiting risks losing the conversation, but a rushed reply can start it badly. I built the inquiry desk so a screened, rules-based draft reaches my phone for review. It still waits for me before anything sends.

  1. Email arrives in the inquiry inbox
  2. Screen: junk and out of scope stop before any cost
  3. Draft reply written
  4. Approve, edit or reject from a phone message
    HUMAN
  5. One email sent per approval
An email arrives, the screen stops junk and out-of-scope mail before any AI cost, a draft is written, and I approve, edit or reject it from a phone message.

Where this example runs

Evidence: Used inside SignalNine.

This is SignalNine's own inquiry desk, running on its own inbox since 2026-09-07. It has not been installed for a SignalNine client.

Demonstrated behavior

BehaviorWhat happened
Junk screenOn 2026-09-07, junk and out-of-scope mail cost $0.00 because the screen stopped it before an AI step.
Approval controls sendingThe part that reads and drafts cannot send. A reply reaches the send path only from the approval action.
Repeated approvalOn 2026-09-07, five approve presses reached one draft within 2.2 seconds and one email went out.
Outside addressOn October 5, 2026, one test lead from a Gmail address outside SignalNine produced a draft; I approved it on my phone and the reply went to that address.

Test coverage

CheckCoverage
Failure alertObserved on the live desk: the Telegram alert named the step that failed.
Rule-version switchingBuilt and not run yet; there has not been a new version to switch.
AI provider retryBuilt and not tested against a real provider outage.
Named approversBuilt and not tested with a second Telegram account.

Known limits

  • An email classified as a vendor pitch gets no card or alert. A live test misread one inquiry that way, so that path can hide a real lead.
  • Approval cards and failure alerts share one Telegram chat. If that chat is unavailable, neither reaches me there.
  • A first draft reads the email thread, but a rewrite I request does not yet reread it.
  • The outside-address path is one dated test, not evidence of a client installation or a general delivery rate.

Each step, and who does it

The system does the reading and the writing. I make every decision that reaches a lead. This is how the work splits at each step.

Each step of the inquiry desk, what the system does on its own and what I do.
StepWhat the system doesWhat I do
Email arrivesPicks up new mail sent to the inquiry inbox and checks whether it belongs to a conversation already under wayNothing yet
ScreenStops newsletters, personal mail and other obvious junk, before any AI step runsNothing, because screened mail never reaches my phone
ClassifyReads the whole email and decides whether it is an inquiry, a follow-up or a vendor pitch; a pitch ends the run with no cardNothing; a mistaken pitch classification is a known limit
DraftReads my written rules and what I sell, reads the earlier emails if it is a follow-up, then writes a replyI keep the rules up to date
FlagMarks emails that need a closer look, such as a request to confirm a compliance standard, and keeps them off the send pathI decide what to do with each flagged email myself
Phone messageSends me a card with the email, the details it picked out, the cost of the run and the draftI read it wherever I am
Approve, edit or rejectWaits for my answer, and rewrites the draft when I reply to the card with changesI approve it, ask for changes or reject it
SendSends one email per approval from the business address and records what went outNothing more

The screen runs before anything costs money

Plenty of the email that reaches a business address has nothing to do with a lead: newsletters, receipts, personal mail. The screen stops those first, with plain checks, before any AI step runs. In the live run on 2026-09-07, junk and out-of-scope mail cost $0.00 on SignalNine's own inbox.

The screen only removes obvious junk. It never decides what counts as a real lead. Anything that gets past it is read in full by a classifier, so an inquiry in words I didn't expect is usually read as an inquiry. In a live test on 2026-09-12, an inquiry that described the sender's own process was misread as a pitch and dropped without a card.

The draft comes from my own rules

Everything about the business is written down in one place: what I sell, examples of how I write, and which emails it should flag for me to check closely. It reads that before every draft. When the email is a follow-up, it reads the earlier emails in the conversation before it drafts.

It has guardrails, like never making up a price or a delivery date. I can change those rules any time.

Approve, edit or reject from a phone message

The draft arrives on my phone as a card. It has the email, a couple of details I care about, the cost of the run and the draft reply. If I want changes, I just reply to the card, and it updates the draft. I can type the change or say it, and a spoken reply is transcribed first.

A change still has to follow the rules. When I asked it to add a rough price without giving it a figure, it left the price out and told me the rule against inventing pricing blocked the change. A price only goes in when I type the figure myself.

When the draft is right, I press approve and the reply goes out from the business address. If it's wrong, I reject it, or save it as a draft and write the reply myself. I approve every reply.

One email per approval

Approve buttons get pressed twice, by a slow connection or an impatient thumb. In the live run on 2026-09-07, one draft received 5 approve presses in 2.2 seconds, and 1 email went out. One press sends, and the rest are recorded without sending anything again.

What stays with me

  • It never sends without my approval. Every email that leaves has an approve press behind it.
  • It never invents a price or a delivery date. If a lead asks about cost, the draft leaves the figure out, and adding one is my call.
  • It never talks to a lead on its own. There is no chat window on a website, and every message a lead receives is an email I approved.
  • It never sends a flagged email. Anything flagged for a closer look stays off the send path, and I handle it myself.
  • It doesn't yet tell me when it drops an email as a vendor pitch. That run ends with no card and no alert, so a misread inquiry is lost without my seeing it.

Questions

Does it reply to leads automatically?

Only after I approve. The draft comes to me first, and the email goes out when I press approve. If I don't approve a draft, nothing is sent.

Can its rules be changed?

Yes. The rules and examples of how I write are kept in one place, and every change is saved as a new version. The step for switching versions is built, but I have not yet run it with a new version.

What does a lead see?

An email reply from the business address, sent after I approved it. They never see the card, the draft or my edits.

Why not let it send the easy replies on its own?

A reply is the start of a relationship, and I want to read it first. Approving from my phone takes seconds, so the approval step costs me little and catches the draft that would have started things on the wrong foot.

What happens if the system breaks?

The live failure I observed produced a Telegram alert that named the failed step, and the original email remained in the inbox. A failure can delay the reply. The shared Telegram dependency remains a known limit, so this is not a universal alert guarantee.

Mashrur Rahman · Founder, SignalNinePUBLISHED