Skip to content
#outbound#clay

How a lead gets to a real person

Every step between a scraped domain and an email in someone's inbox, and the gate that sits at each one.

This is an example post so you can see the shape of one. Delete it and write your own.

A lead does not go from a list to an inbox in one move. It passes through maybe fifteen steps, and each step can fail quietly. The interesting work is not the steps. It is the gates between them.

The steps

  1. Source. A domain arrives from somewhere - a scrape, a directory, an export.
  2. Resolve the company. Clean the name, find the real domain, drop the parked ones.
  3. Enrich. Headcount, location, the signals the copy will lean on.
  4. Qualify. Does this company match the definition, or only look like it does?
  5. Find the person. A role, then a name, then an email.
  6. Verify. Does that mailbox accept mail, and will sending to it cost us anything?
  7. Segment. Which of the messages is true for this specific company?
  8. Fill the copy. Every variable the sequence needs, populated - not one blank.
  9. Push. Into the right campaign, once, behind a gate.

The gates matter more than the steps

A step that fails loudly is cheap. You see the error, you fix it, you move on.

The expensive failure is the step that succeeds with a wrong value. An empty first name that renders as Hi ,. A headcount pulled from the parent company. A segment assigned from a signal that was never actually checked.

A blank cell in a table is four different states wearing the same clothes: never ran, ran and failed, ran and found nothing, or correctly skipped. Treat them as one thing and every number you report afterwards is wrong.

So every push has a condition on it. Not “is this row finished” but “is every single value this specific message depends on actually present”. If it is not, the row waits. A lead that waits costs nothing. A lead sent with Hi , costs the domain.

What this means in practice

The system should be able to say no on its own. If a human has to look at rows before each send, it is not a system - it is a checklist with extra steps.

That is the whole job: make it so the only way a bad row reaches a real person is if someone deliberately turned a gate off.

blog/how-a-lead-gets-to-a-real-person.md
---
title: How a lead gets to a real person
date: 2026-08-04
tags: outbound, clay
url: https://mihajlomaiga.com/blog/how-a-lead-gets-to-a-real-person
---
This is an example post so you can see the shape of one. Delete it and write your own.

A lead does not go from a list to an inbox in one move. It passes through maybe
fifteen steps, and each step can fail quietly. The interesting work is not the
steps. It is the gates between them.

## The steps

1. **Source.** A domain arrives from somewhere - a scrape, a directory, an export.
2. **Resolve the company.** Clean the name, find the real domain, drop the parked ones.
3. **Enrich.** Headcount, location, the signals the copy will lean on.
4. **Qualify.** Does this company match the definition, or only look like it does?
5. **Find the person.** A role, then a name, then an email.
6. **Verify.** Does that mailbox accept mail, and will sending to it cost us anything?
7. **Segment.** Which of the messages is true for this specific company?
8. **Fill the copy.** Every variable the sequence needs, populated - not one blank.
9. **Push.** Into the right campaign, once, behind a gate.

## The gates matter more than the steps

A step that fails loudly is cheap. You see the error, you fix it, you move on.

The expensive failure is the step that succeeds with a wrong value. An empty
first name that renders as `Hi ,`. A headcount pulled from the parent company.
A segment assigned from a signal that was never actually checked.

> A blank cell in a table is four different states wearing the same clothes:
> never ran, ran and failed, ran and found nothing, or correctly skipped. Treat
> them as one thing and every number you report afterwards is wrong.

So every push has a condition on it. Not "is this row finished" but "is every
single value this specific message depends on actually present". If it is not,
the row waits. A lead that waits costs nothing. A lead sent with `Hi ,` costs
the domain.

## What this means in practice

The system should be able to say no on its own. If a human has to look at rows
before each send, it is not a system - it is a checklist with extra steps.

That is the whole job: make it so the only way a bad row reaches a real person
is if someone deliberately turned a gate off.