Dev.to WebDev 🛠 Dev 👁 0 📖 3 min read

I built a free outreach email writer that refuses to say "I hope this finds you well"

Most link-building outreach emails fail in the first line. "I hope this email finds you well." "I love your blog." Then come three paragraphs about the sender, a statistic nobody can check, and an ask buried at the end.

Most link-building outreach emails fail in the first line. "I hope this email finds you well." "I love your blog." Then come three paragraphs about the sender, a statistic nobody can check, and an ask buried at the end.

I run CrawlGraph, a backlink tool built on the open Common Crawl web graph. Finding prospects is the part the data handles well. Writing to them is where people stall, so I built a small free tool for that step: Outreach email writer. There's no signup.

What it does

You give it four things:

  • the site you're pitching
  • your page
  • one line on what your page is about
  • an angle: resource list, broken link, guest post, data citation or unlinked mention

It returns three subject lines, an email of under 130 words, a follow-up of under 60 words to send 5-7 days later, and one tip specific to your pitch.

Most of the work went into the rules

The model is the easy part. Most of the work went into the rules it writes under, and they're all things it must not do:

  • No invented facts. No statistics, mutual contacts, earlier conversations, awards, traffic numbers or payment offers that weren't in the input. If your description is vague, the email stays short rather than filling the gap.
  • No filler openers. "I hope this finds you well" and "I love your blog" are banned, and so are exclamation marks.
  • Placeholders, not guesses. It writes {first_name} and {your_name} and leaves them for you to fill in. It doesn't guess names.
  • The follow-up can't move the goalposts. It may present the same value differently, but it can't claim the page contains anything it wasn't described as containing.

Here is one real output. I asked it to pitch our study of the links behind 580 first-page Google results to backlinko.com, using the "data citation" angle:

Subject: Referring domain counts for 580 first-page results

Hi {first_name},

I put together a study on how many referring domains sit behind
first-page Google results. We counted them across 580 results using
open Common Crawl data: https://crawlgraph.com/blog/how-many-backlinks-to-rank

If you cover link building or ranking research, the raw figures might
be useful as a citable source for a post or update. I can send the
counting method and the underlying breakdown so you can check it
before using it.

Would you be open to taking a look?

{your_name}

And the tip it added:

Backlinko's coverage wasn't provided, so confirm they publish on link building or SEO research before sending, then lead with the single most useful figure from your 580-result count instead of the general study.

That is the behaviour I wanted. It didn't know what Backlinko covers, so it didn't pretend to and told me to check. The tip is also right that the email is too generic: one concrete number would beat "the raw figures".

How it's built and what it costs

  • A FastAPI route calls Claude Haiku and expects JSON back. A malformed answer becomes one plain error message; the page never shows a half-parsed draft.
  • Each IP address gets 4 requests a minute and 30 a day, and the whole server has a daily cap on top. At Haiku prices one email costs a fraction of a cent, so the cap guards against abuse more than cost.
  • Nothing you type is stored. Your input exists only for the length of the request.

What it won't do

It doesn't find contacts, check whether the site actually links out to pages like yours, or send anything. Those steps need real data. The paid side of CrawlGraph handles prospecting from the link graph. This tool only covers the writing.

Try it here: https://crawlgraph.com/tools/outreach-email

If it writes something you'd never send, I'd like to see the input. That's how the rule list grew to what it is now.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.