Most outbound engines are built list-first: buy a database export, filter by title and headcount, load it into a sequencer, hope. It works until everyone in your market does the same thing with the same database.
If I were starting over, I’d build it signal-first. The question changes from “who matches our ICP?” to “who matches our ICP and has a reason to talk to us this month?”
Layer 1: a clean account universe
Signals are useless without a defined universe to watch. Before any tooling, I’d write down:
- the 3–5 firmographic filters that actually predict a deal (not 15)
- a TAM table with one row per account, owned by one system
- a rule for who owns each account, so signals route to a real person
This layer is boring and it’s where most stacks quietly fail. Duplicate accounts and unclear ownership kill more pipelines than bad copy does.
Layer 2: a short list of signals that matter
Not every signal deserves a workflow. I’d start with four and add more only when these are working:
- Hiring for a role that implies the problem we solve
- New leader in the buying team (first 90 days in role)
- Funding or a public expansion announcement
- Product usage or site intent, if we have it
Each signal gets a definition, a source, and a freshness window. A funding round from eight months ago is not a signal anymore.
Layer 3: enrichment on demand
The mistake is enriching the whole TAM upfront. Contacts go stale, and you pay to enrich accounts that will never trigger anything. I’d only find and verify contacts when an account fires a signal, using a waterfall so each lookup costs as little as possible.
Layer 4: messaging that references the signal
A signal-based email that doesn’t mention the signal is just a cold email with extra steps. The first line should make it obvious why you’re writing now. AI is genuinely useful here — not to write the whole email, but to draft a specific opening line from the signal context that a human then edits.
Layer 5: a feedback loop
Every reply, meeting and “not now” gets tagged back to the signal that triggered it. After a quarter, you know which signals are worth the effort and which ones just look interesting on a dashboard.
What I’d skip
- Intent data bought as a black-box score, at least until the basics work
- More than one sequencer
- Any automation that sends without a human seeing the first line
Signals don’t replace good targeting or good writing. They just make sure you’re showing up at the moment someone might actually care.