The short version
- Drafts are generated from the specific article: its content, the placement the analysis identified, the reason the opportunity qualified, and who the recipient is.
- Every draft records a personalization note — the concrete detail from the page it is built on — so you can check the specificity in one glance.
- Subjects are constrained to under 60 characters with no clickbait; bodies are plain text with no markdown and no auto-appended signature.
- One draft exists per opportunity and recipient, enforced by a database constraint, so retries and bulk jobs cannot produce duplicate pitches.
- Revisions are kept as history, and nothing sends until you approve it.
Everyone who has run outreach has received the other side of it: “Hi {FirstName}, I loved your article about {Topic}!” The merge fields are filled in correctly and the message is still obviously automated, because nothing in it could only have been written about that page.
Specificity is the whole game. And specificity is expensive, because it requires having actually read the article — which is precisely what the pipeline has already done by the time a draft is requested.
What the draft is built from
A draft is generated with four things in hand, all of them produced earlier in the pipeline rather than typed into a template:
| Input | What it contributes |
|---|---|
| The article's content | What the page actually argues, covers, and recommends — the source of any detail worth referencing. |
| The opportunity's rationale | Why this page qualified: the placement identified, the relevance reason, any competitor gap. |
| Your site | What your company does, in your own words, so the suggestion is framed around the reader's benefit. |
| The contact | Their name and role, so a note to the author reads differently from a note to a general editorial inbox. |
The output is deliberately constrained. A subject line under 60 characters, with clickbait ruled out. A plain text body — no markdown, no HTML, no signature block appended on your behalf. And a personalization note: a short statement of the specific detail from the page the email is built on.
The personalization note is the fastest quality check there is. If it says nothing that could only be true of that page, the draft is not ready.
Editorial outreach
2 approved · your connected mailbox
Approved
Send
Follow up
Next message
A useful addition for your AI tools roundup
Hi Sarah,
Your comparison gives readers a practical view of the category. I noticed one relevant option is missing and pulled together the facts you would need to assess it…
Sarah Jones
growthlab.example
Marcus Lee
saasframe.example
Why plain text, and why no signature
Both constraints exist because the message sends from your own mailbox, not from a marketing platform.
A plain text email from a real person's address looks like a plain text email from a real person. HTML templates, tracking pixels, and image-heavy layouts are the signature of bulk marketing mail, and every mail provider's filters know it. Keeping the body plain is a deliverability decision as much as a stylistic one.
The signature is left alone for a simpler reason: your mailbox already appends one. Generating a second is how outreach ends up signed twice, which is a small detail that says loudly that a machine assembled the message.
One draft per opportunity and recipient
Draft creation is idempotent — asking for a draft that already exists returns the existing one rather than generating a second. This is enforced by a unique constraint in the database, not by a check in application code.
The distinction matters because of what runs against it: background jobs that retry on failure, and bulk operations that may run concurrently. Application-level checks lose that race eventually; a database constraint cannot. The failure mode being prevented is the worst one in outreach — the same editor receiving two slightly different pitches for the same article.
Revisions, kept as history
Most drafts need an edit. You know something the analysis does not: a relationship with the publisher, an angle that has worked before, a claim you would rather not make.
You can edit a draft directly, or ask for a revision with an instruction — shorter, warmer, lead with the competitor gap, drop the second paragraph. Revisions are stored as their own records rather than overwriting what came before, so the history of a draft is inspectable and a good version is never lost to a worse regeneration.
Approval is not a formality
Nothing Dice generates leaves your mailbox on its own. A draft has to be approved, and approval is where the human judgement that the rest of the pipeline preserved finally gets used.
This is a deliberate product boundary rather than a missing feature. The cost of a bad automated email is not a wasted send — it is a real editor deciding your company sends spam, and telling other people so. The pipeline is built to make that decision cheap and well-informed for you. It is not built to make it for you.
What happens after approval — which mailbox it sends from, when it goes out, and what stops the follow-up — is covered in sending from your own mailbox and send windows and daily limits.