Anil Gunjal ANIL.GUNJAL/AI

Outreach is an intelligence problem

Most outreach fails because it starts with a list. I rebuilt mine to start with a signal — and turned prospecting into a morning briefing.

Outreach is an intelligence problem

Most outreach starts with a list. You export a few hundred names, write one message, and change the first line per row. It scales beautifully and it converts terribly, because the list has no idea whether today is the right day to reach any of these people.

The better question isn’t who should I contact? It’s who just became worth contacting, and why right now?

That reframing turns outreach from a volume problem into a monitoring problem. And monitoring problems have a known shape: watch a set of sources continuously, detect the moments that matter, and surface them ranked, before they go stale.

The loop, not the blast

So I stopped building a sender and built a watcher.

It runs on its own each morning against the accounts I actually care about. It looks for the things that change a buying context — a new hire in a relevant seat, a role being backfilled, a launch, a piece of news that implies a budget or a pain. None of that is contact data. It’s change data. The contact is downstream of the change.

Each thing it finds gets scored on a few honest axes: how confident the system is that the signal is real, how recent it is, and whether I can actually reach the right person off the back of it. A perfect signal I can’t act on is noise. A weaker one attached to someone reachable is a lead.

Then — and only then — it proposes an angle. Not a finished message. An angle: the reason this outreach would make sense to the person receiving it, given what just happened on their side. That’s the part that took the longest to get right, and it’s the part I’m keeping to myself.

What changes when the queue comes to you

The interface for all of this isn’t a campaign tool. It’s a briefing. I open it and the day’s signals are already ranked, with the company, the contact, the reason, and a suggested angle sitting in a queue. My job shrinks to the one thing a human is still better at: deciding which of these is worth my voice today.

Three things happen when you run outreach this way.

The hit rate moves because the timing moves. You’re not catching people on a random Tuesday; you’re catching them in the week something changed. Relevance stops being a line you write and becomes a fact about when you showed up.

The work compounds instead of resetting. A list is dead the moment you finish it. A loop gets sharper — the sources tune, the scoring learns what I actually acted on, the misses teach it what to stop surfacing.

The volume drops, and that’s the point. Fewer, better, reasoned touches beat a thousand templated ones, and they don’t burn the domain or the relationship doing it.

The boring lesson underneath

There’s nothing exotic in the model layer here. The leverage is entirely in the framing: treat the people you want to reach as a stream of changing situations rather than a static table, and build something that watches the stream so you don’t have to.

That’s true of most agent work I’ve shipped. The intelligence isn’t in the generation. It’s in deciding what’s worth paying attention to, scoring it honestly, and putting the result in front of a human at the moment it’s still useful.

Outreach just happened to be the place where that lesson paid for itself the fastest.