Agentic outbound is supposed to be autonomous. In practice, most of it is autonomous at the wrong things. The agent autonomously picks the wrong contact. It autonomously writes a beautiful email to the wrong person. It autonomously burns your domain reputation in the background.
I am George, founder of Leadpipe. I have sat with enough AI SDR rollouts at this point to see the same failure mode twice a month. It is not the model. It is not the orchestrator. It is the data layer underneath, and specifically the fact that there is no data layer underneath. The agent is pulling from a static contact database and pretending that is enough.
The thesis of this post is simple. Agentic outbound has the same missing piece as the rest of the AI stack had two years ago. Memory got solved with vector databases. Knowledge got solved with search APIs. Identity and intent, the layer that tells the agent who to talk to and when, is still missing. That is the gap.
What “agentic outbound” actually means
Agentic outbound is the set of GTM workflows where an LLM-driven agent, not a human SDR, is responsible for the end-to-end sequence: pick the target, write the message, send it, handle the reply, book the meeting, hand off to a human. Tools that sit in this category include 11x, Artisan, AiSDR, Regie.ai, Qualified Piper, Salesforce Einstein SDR, and a growing set of custom builds on top of Claude, GPT, and the Leadpipe MCP server.
The defining property is autonomy. The agent makes the decisions a human SDR used to make. That shifts the center of gravity from prompt engineering to data engineering, because the agent is only ever as good as the inputs it is deciding on.
Where the layer is missing
The modern agentic stack roughly looks like this:
| Layer | What it does | Representative tools |
|---|---|---|
| Model | Generate language, reason, plan | Claude, GPT, Gemini |
| Orchestration | Call tools, route, retry | LangChain, CrewAI, AutoGen, MCP |
| Memory | Remember across sessions | Pinecone, Weaviate, pgvector |
| Knowledge | Retrieve facts from the web | Tavily, Serper, Brave |
| Identity and intent | Know who just visited, who is in-market, who to contact | Leadpipe, and very little else API-first |
| Delivery | Send email, calls, LinkedIn | Instantly, Smartlead, Outreach, Salesloft |
| CRM | Persist state | Salesforce, HubSpot, Attio |
Five of these rows are well-served. The identity and intent row has one API-first player purpose-built for it, a handful of dashboard-era tools that were never designed for machine consumption, and a pile of static contact databases pretending they are the same thing.
They are not the same thing. A contact database is a list of people who existed as of the last crawl. An identity and intent layer is a live feed of people who are engaging with your category, your site, or your competitors, right now.
Agentic outbound without identity and intent is a writer with a phone book. The writing is good. The phone book is useless.
What the layer has to deliver
Three things the data layer has to deliver, in order of how often they are missing:
- Person-level resolution of your own traffic. If someone lands on your pricing page and leaves without filling out a form, you need to know who they are, what company, what title, what pages, what timestamp. Not the company. The person.
- Person-level intent across the wider web. If someone on your target account list is researching CRM migration on three other sites, you need to know that too, even if they have not hit your own domain yet.
- Delivery that machines can consume. REST, webhooks, SDK, MCP. If the only way to get the data is to log into a dashboard, the data might as well not exist for an agent.
Leadpipe was built for all three. That is the whole product thesis.
| Requirement | Leadpipe |
|---|---|
| Person-level site visitor resolution | 30-40%+ on US B2B traffic, deterministic, 8.7/10 independent test |
| Person-level intent across the wider web | Orbit: 5M sites, 20,000+ topics, daily refresh, person-level |
| Machine delivery | 23 REST endpoints, First Match/Every Update webhooks, SDK, 27-tool MCP |
| Suppression and exclusion | API-level filters for customers, churned logos, lists |
| Accuracy framing | Deterministic, not probabilistic; validated in independent test |
Why dashboard-era tools cannot fill the gap
Most incumbent visitor ID and intent tools were designed for humans. That was the right design five years ago. It is the wrong design for agentic outbound.
- RB2B ships Slack alerts and a dashboard. Free tier, $79 to $149/mo paid. LinkedIn-only matching, probabilistic. 5.2/10 in the independent test. An agent cannot click a Slack button.
- Warmly bundles chat, video, identification into a $900+/mo Data Agent product. 4.0/10 in the independent test. The ID is one feature inside a sales floor UI.
- Leadfeeder (Dealfront) is company-level only, €99/mo to start. Good for a human looking at a leaderboard. No person to email.
- Clearbit is now Breeze Intelligence inside HubSpot. Useful inside HubSpot. Not an agent-facing API you can point Claude at.
- 6sense and Demandbase are ABM platforms at ~$55K+/yr. Account-level intent, built for enterprise marketers, not for agent-driven outbound. Different job.
This is not a knock on any of these tools for what they were built for. It is a knock on pretending they fill the agentic-outbound data layer. They do not.
The delta in practice
Picture two AI SDRs on the same list, same model, same prompts, same send volume.
Agent A runs on firmographics only. ZoomInfo-class contact data (ZoomInfo claims ~95% email accuracy, claimed). Cold list, static records, no intent, no visitor resolution.
Agent B runs on the same firmographic base plus a Leadpipe feed: identified visitors in real time, Orbit person-level intent on target accounts, suppression against customers and churned logos.
| Metric | Agent A (firmographic only) | Agent B (with Leadpipe) |
|---|---|---|
| Daily send volume | 1,000 | 1,000 |
| Open rate | 20 to 30% | 35 to 50% on identified segments |
| Reply rate | 1 to 2% | 10 to 20% on identified segments |
| Bounces | Rising over time | Stable |
| Meetings booked | Single digits per week | 3 to 5x baseline |
The open and reply numbers on Agent B are from the identified-segment slice, which is the slice worth comparing because it is where the intent layer changes the output. We see this pattern consistently across the Leadpipe customer base: matched send volume, same model, same prompts, the only thing that changes is the input layer.
Importantly, nothing changed about the model, the prompts, or the sender. The delta is the data. The reason it works is the same reason midbound outperforms cold outbound when humans do it: you are reaching people who are already engaging, instead of guessing.
What the data layer looks like wired in
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ Your site │───▶│ Leadpipe │───▶│ Agent │───▶│ Sender │
│ (pixel) │ │ identity +│ │ decides │ │ delivers │
└───────────┘ │ intent │ └───────────┘ └───────────┘
└───────────┘ │
│ │
┌────▼─────┐ ┌────▼─────┐
│ webhook │ │ CRM │
│ First │ │ update │
│ Match │ │ │
└──────────┘ └──────────┘
The agent consumes a live object, not a dump:
{
"person": {"email": "...", "title": "VP Revenue"},
"company": {"domain": "acme.com", "size": "200-500"},
"pages": [{"url": "/pricing", "duration_s": 190}],
"return_visit": true,
"intent_score": 87,
"matched_topics": ["crm migration", "hubspot alternatives"],
"suppress": false
}
The agent reads that, checks the suppression flag, routes high-intent pricing-page visitors to an immediate send path, and puts lower-intent pages into a nurture. No human glue. No CSV import. The full shape is in the webhook payload reference.
Why identity specifically, and not just more contact data
This is where most teams get stuck. They assume “better data” means “more contacts.” That is not the bottleneck. The bottleneck is freshness and context.
Contact databases decay. Apollo, ZoomInfo, RocketReach, UpLead, Lusha, Seamless.AI all claim high email accuracy (each claimed). That accuracy is measured on the day the record was crawled. Roll forward 90 days and ~30% of records are stale. Roll forward 12 months and the list is half noise.
An identity graph is different. It resolves in real time, off first-party signals, at the moment a person engages. The record is fresh because the event is fresh. Leadpipe’s graph is the backbone here: 280M verified profiles, 60B intent signals, 5M websites, 24-hour refresh, own graph (not licensed). See What Is Identity Resolution for the primer.
You still want a contact database for cold-only motions. You just cannot rely on it as the data layer for an agent.
The path to wire it in
Four steps, in order:
- Install the pixel. JavaScript, 2 to 5 minutes, self-serve. You will start collecting identified visitor data on traffic you already have.
- Point the webhook at your agent or Clay. First Match fires on initial identification, Every Update fires on new page views and return visits. See how to add visitor identification to your Clay waterfall for the recipe.
- Turn on Orbit. Person-level intent across the wider web. Daily refresh. 20,000+ topics. Covered in the Orbit intent audience post.
- Wire suppression. Customers, churned logos, opt-outs. Before the agent sees the record, not after.
That is the whole integration. Everything else is tuning prompts, which is the easy part.
Every plan ships with the same identity graph, 23 REST endpoints, webhooks, and a 27-tool MCP server. Start in 5 minutes →