evaboot exportsdr openers demo · fictional leads · nothing here was sent

One export in. Eight openers, two held rows, and a named source column behind every sentence.

Row 01, exactly as it comes out of the export

What the agent wrote for it

The input is the whole file, not four merge fields

This export carries 24 columns. A mail merge reads four of them, which is exactly why cold email all sounds the same. The agent reads 20. The three in amber never reach the model at all: they decide whether the row is worth writing to. The four left dark are identifiers with nothing to say about the person.

How it runs

Four stages per row. Two of them are ordinary code, and they are the two that keep the sending domain alive.

STAGE 1 · CODE

Gate

Reads Evaboot's own verdict first. NO MATCH is dropped, and any email not marked safe is sent back for a manual check. No tokens are spent on a row that should not be written to.

STAGE 2 · MODEL

Write

One row plus a short seller brief go to claude-opus-5. No search, no enrichment, no browsing. If a fact is not in the row, the model has no way to know it and no permission to guess it.

STAGE 3 · CODE

Check

Thirteen deterministic rules. The strict one: the quote the model claims as its hook has to appear word for word in the column it named, or the email does not ship.

STAGE 4 · MODEL

Revise, or hold

A failing draft goes back once with the exact failures attached. Still failing, and the row is held for a human rather than sent. A held row is a working outcome, not an error.

The thirteen checks, in code

    The output, row by row

    What it wrote, and under it the row it read. Hover a highlighted phrase to see the cell it came from. Regenerate runs the same pipeline live against the Claude API, checks included, and it has to find an opening none of the other rows already used. Watch it earn the result rather than take my word for it.