Check a cold email outreach sequence, step by step

Paste every step of a cold email outreach sequence to see what a prospect would notice: copied lines, unfilled blanks, links and shouting.

Put a line of --- between steps.

Try:

Runs in your browser. Nothing is sent or stored.

All 16 rules
  • A sentence repeats an earlier stepFixEach step after the first.

    A sentence of six or more words that matches a sentence in an earlier step, or shares four in five of its words with one. Links, merge tags and each step's last sentence (the ask) are left out.

    A follow-up may make the same point in new words. The same sentence twice reads as a template to the person who read the first email.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • A bracketed blank is left inFixEach step.

    Any [word] slot that opens on a letter, $ or #, such as [Company], [first name] or [$X]. A markdown link [text](https://...), a citation like [1] and [sic] are not slots.

    The bracket reaches the prospect as typed, which shows the email came from a template nobody finished.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • An angle-bracket blank is left inFixEach step.

    Words in angle brackets such as <first name> or <company>.

    Same as a bracketed blank. Some templates mark slots this way, and they go out as typed.

    Source: data/tools/sequence-lint.yaml (written for this tool). Checked Nov 9, 2026.
  • Merge tags to fillWorth a lookEach step.

    Every {{tag}}, listed so you can check each contact has a value. Tick "Treat merge tags as unfilled" when you paste a finished email: then each one is a warning.

    A tag your sending tool fills is fine. A tag with no value for a contact sends a gap or a raw tag.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • No merge tags at allWorth a lookEach step.

    A step with no {{tag}} anywhere.

    Identical emails read as bulk mail, so add at least one.

    Source: backend/app/domain/sequence/drafts.py. Checked Nov 9, 2026.
  • Long emailWorth a lookEach step.

    More than 200 words.

    Replies fall off past about 200 words. Tighter is stronger.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • Short first emailWorth a lookFirst step.

    Fewer than 25 words in the email that opens the thread.

    A first email this short reads as a blast. 25 to 200 words deliver best.

    Source: backend/app/domain/sequence/drafts.py. Checked Nov 9, 2026.
  • Almost nothing in a follow-upWorth a lookEach step after the first.

    Fewer than 8 words.

    A near-empty email with a link or an ask is its own filter pattern. Give it a sentence with something in it.

    Source: backend/app/domain/sequence/drafts.py. Checked Nov 9, 2026.
  • Long subjectWorth a lookEach step with a subject.

    More than 8 words in the subject line.

    Short subjects deliver and open best.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • First email has no subjectFixFirst step.

    The first step has no "Subject:" line.

    The first email starts the thread, so it needs a subject. Follow-ups can reply in the same thread.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • Words in capitalsFixEach step.

    A word of four or more capital letters with no digits, unless it is a common acronym (listed in the tool) or one you allow.

    All-caps words read as shouting to filters and to people.

    Allowed: APAC, CCPA, CISO, CMMC, DACH, DKIM, DMARC, EBITDA, EMEA, FERPA, FINRA, FMCSA, GAAP, GDPR, HIPAA, HTML, HVAC, IMAP, JSON, LATAM, MSSP, NAICS, NASDAQ, NIST, NYSE, OSHA, REST, SAML, SIEM, SMTP, USDA, VOIP.Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • Exclamation marksFixEach step.

    Two in a row anywhere, or three or more in one email.

    Repeated exclamation marks are a classic filter signal.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
  • Too many emojiWorth a lookEach step.

    More than one emoji in an email.

    More than one reads as promotional to most filters.

    Source: backend/app/domain/sequence/drafts.py. Checked Nov 9, 2026.
  • Em or en dashesFixEach step.

    Any em dash or en dash character.

    The long dash is one of the most cited signs of machine-written text. Oneprofile's writer is told never to use one.

    Source: backend/app/domain/outbound_agent/findings.py, en.wikipedia.org (opens in a new tab). Checked Nov 9, 2026.
  • Stray formattingFixEach step.

    Markup that would reach the reader as typed: a lone ** or backtick, a markdown heading line, a "(Note:" aside, a bracket with no partner on its line, or "see below" with fewer than three words after it.

    Pasted drafts often carry formatting a plain-text email shows as symbols.

    Source: backend/app/domain/outbound_agent/findings.py. Checked Nov 9, 2026.
Photo of Utku Zihnioglu

By

· CEO & co-founder

Updated Nov 11, 2026

Shorter page: the tool first, the answer in a few lines.

A cold email outreach sequence is the first email plus the follow-ups that go to the same person, in order, until they reply or the steps run out. Each email can read fine alone while the sequence fails: the third email repeats a line from the first, or a [first name] nobody filled in goes out as typed. Those problems only show when you read the steps together, which is what the checker above does. It runs in your browser, and nothing you paste is sent or saved.

How to paste a sequence

Put every step in one box, with a line of --- between steps or a line such as "Email 2" at the start of each. Start a step with "Subject:" when it has one. The first email opens the thread and needs a subject; a follow-up sent as a reply can leave it out.

How to read the findings

Each step gets its own findings, each with a quote from your text and why it matters. Some are things a prospect or a filter will notice, and some are worth a second read.

Repetition is the one no single-email check sees. A follow-up written in one sitting is often the first email again under a new opening line, and the reader recognises the sentence. The checker flags the same sentence, or one that shares nearly all its words with an earlier one, and leaves new wording of the same point alone.

The thresholds are the ones Oneprofile applies to its own sequences. The dash rule also cites Wikipedia's guide to signs of AI writing. The phrase lists that trigger spam filters are not published.

What to do next

Fix what will break, read the rest, and paste again until every step comes back clean. For how many steps to send and how far apart, read cold email sequence steps, timing and examples. To vary a line across contacts, use the spintax generator.

In Oneprofile, these checks run as you write each email step and on every email the agent writes. At launch, a sequence waits until every first email has a subject and every hand-typed placeholder is a variable. The email steps guide covers the composer.

Cold email outreach sequence: common questions

Should every follow-up repeat the main point of the first email?

It can make the same point, but not in the same sentence. Someone who read the first email recognises a copied line, so say it in new words or bring a new detail. The checker flags copied sentences and leaves new wording alone.

Why does the checker list my merge tags?

So you can check every contact has a value for each one, since a tag with no value sends a gap or the raw tag. If you paste an email that was already merged, have the checker treat tags as unfilled, and each one left over becomes a fix.

If my sequence passes, will my cold emails reach the inbox?

Not necessarily. The checks catch what a prospect or a filter notices in the words. Filters also weigh how your sending domain is authenticated, your sending reputation and whether people want your mail, so a clean result is one step, not a guarantee.

About this article

Photo of Utku Zihnioglu

Utku Zihnioglu

CEO & co-founder

Serial entrepreneur who built infrastructure companies handling billions of requests. Now leads engineering at Oneprofile, which finds the people worth talking to, researches each one, and follows up until they reply.

Drafted with AI from our product docs and code. Utku Zihnioglu answers for what it says.

These checks run on every email you write

Write, check and send every step of a sequence in one place.

Free plan: 200 credits a month, 3 integrations, no card

These checks run on every email you write

Write, check and send every step of a sequence in one place.

Free plan: 200 credits a month, 3 integrations, no card