Reporting and agency

Six states, because "approved but not yet sent" is a real place to be

6

lifecycle states per draft, so a crashed worker cannot double-send

pending, approved, sending, sent, failed, discarded — DraftStatus in internal/outreach

This is the motion we run ourselves, so it is built for the way it actually fails rather than for a demo. You paste prospects, the crawler reads their site, a draft is written that references their own report, and then it sits in a queue until a person reads it.

The review step is not decoration. An early draft of ours invented a domain that did not exist and put it in front of a prospect, which is a thing you find once and then design against permanently.

Where it lives: Outreach in the dashboard: queue, drafts, review, replies.

What it does

Writes from the prospect's own data

The draft references the report generated for that prospect, so the opening line is a finding about them rather than a compliment about their website.

Holds everything for review

A draft is pending until a human approves it. Approved drafts are claimed by the send loop, which is why "sending" is a distinct state: a worker that dies mid-send must not leave a row that looks sendable again.

Handles the compliance parts

A signed unsubscribe link and a postal address on every message, with replies polled back over IMAP so a conversation does not vanish once it leaves the tool.

How it works

  • One live draft per recipient and step, enforced at the database level. Discarding a draft releases the slot.
  • The send loop is paced rather than bulk, and sends through your own SMTP so the sending reputation is yours.
  • Drafts are stored. Before that they existed only as batch output, which meant no record of what had been claimed to a prospect and no way to write a follow-up that knew what the first email said.

What it does not do

  • It is not a mass-mailing tool and will be poor value if that is what you want. The whole design assumes a person reads every message.
  • You bring your own mailbox and DNS. We do not send from a shared pool, and a domain with no SPF, DKIM or DMARC will land in spam whatever the copy says.
  • The AI writes a first draft. Sending one unedited is how people end up in the tropes-checker screenshots.

Which plans have it

Included with the product. The bottleneck is your sending domain, not your plan.

Read the full plan comparison.

Frequently asked questions

Will it send emails without me?

No. Nothing leaves the queue until a person marks it approved.

Does it handle replies?

Replies are polled over IMAP and attached to the thread, so a follow-up knows a conversation is already live.

What about unsubscribes?

Every message carries a signed unsubscribe link and a postal address, and an unsubscribe stops the follow-up sequence.

Related features

Every feature we publish

Run it on your own product

Start with the free visibility check to see whether the engines name you today, then run the scan that shows which pages they used instead.