DEV Community

Cover image for Your AI sales agent has a problem
George Gogidze
George Gogidze

Posted on

Your AI sales agent has a problem

Your AI sales agent has a problem. It's smart enough to write personalized emails, research companies, and craft outreach sequences. But it's working with dead data.

Contact databases decay 30% per year. By the time your agent pulls "Jane Smith, VP Marketing at Acme" from a static list, Jane might have changed jobs, Acme might have been acquired, and the email bounces.

What if your agent could access people who are actively researching your product category right now - with fresh data that updates daily?

That's what we built with Leadpipe's intent data API. Here's how to wire it up.

The Problem with AI SDR Data Today

Most AI SDR tools (11x, Artisan, Salesforce Einstein) run on the same data layer:

Static contact database -> AI writes email -> Send -> 1-3% response rate
Enter fullscreen mode Exit fullscreen mode

The AI is doing its job. The data is the bottleneck. Three issues:

  1. Stale contacts - your agent personalizes for someone who left the company 6 months ago
  2. No timing signal - you're emailing people who aren't in-market, at a random time
  3. No behavioral context - "Hi Jane, I noticed your company is in the SaaS space" is not personalization. It's a mail merge.

What Changes with Live Intent Data

Person actively researching your category
  -> Intent score: 87/100
  -> Researching: "marketing automation", "CRM migration"
  -> Title: VP Marketing, 200-person SaaS company
  -> Has business email, LinkedIn, phone
  -> Data from today, not 2024

Your agent now has:
  - WHO to contact (the actual person, not a guess)
  - WHEN to contact (they're researching right now)
  - WHAT to say (reference the topics they're researching)
  - WHY it's relevant (intent score proves active interest)
Enter fullscreen mode Exit fullscreen mode

Response rates go from 1-3% to 15-25%. Not because the AI got smarter. Because the data got real.

The Setup: 3 Ways to Connect

Option 1: TypeScript SDK (build it yourself)

npm install @leadpipe/client
Enter fullscreen mode Exit fullscreen mode
import { Leadpipe } from "@leadpipe/client";

const client = new Leadpipe({ apiKey: process.env.LEADPIPE_API_KEY });

// Step 1: Find topics your buyers research
const topics = await client.intent.topics.search({
  q: "marketing automation",
  type: "b2b",
  limit: 10
});

// Step 2: Build an audience of in-market buyers
const preview = await client.intent.audiences.preview({
  topicIds: [topics.data[0].topicId, topics.data[1].topicId],
  minScore: 70,
  filters: {
    seniority: ["VP", "Director", "CXO"],
    companySize: ["51-200", "201-500"],
    hasBusinessEmail: true
  }
});

console.log(`${preview.data.totalCount} people actively researching this`);

// Step 3: Save, activate, get full contact data
const audience = await client.intent.audiences.create({
  name: "Marketing Automation Buyers",
  config: {
    topicIds: [topics.data[0].topicId, topics.data[1].topicId],
    minScore: 70,
    filters: { seniority: ["VP", "Director"], hasBusinessEmail: true }
  }
});

await client.intent.audiences.update(audience.data.id, { status: "active" });

// Wait for materialization (5-60 seconds)
await client.intent.audiences.waitUntilReady(audience.data.id);

// Get the people
const results = await client.intent.audiences.results(audience.data.id, {
  limit: 25
});

// Each person has 58 fields:
// name, email, phone, LinkedIn, job title, seniority, department,
// company name, industry, size, revenue, intent score, matched topics
Enter fullscreen mode Exit fullscreen mode

Option 2: MCP Server (let your agent do it)

If you're building with Claude, Cursor, or Codex - skip the code. Give your agent direct access:

npx -y @leadpipe/mcp
Enter fullscreen mode Exit fullscreen mode

Claude Desktop config:

{
  "mcpServers": {
    "leadpipe": {
      "command": "npx",
      "args": ["-y", "@leadpipe/mcp"],
      "env": { "LEADPIPE_API_KEY": "sk_..." }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Now your agent has 27 tools. You just talk to it:

"Find people researching CRM tools. Filter to VPs at mid-market companies with business email. Show me the top 25."

"Analyze competitor.com and tell me what topics their audience researches. Build an audience around those topics."

"Check my saved audience. If it's ready, export it and give me the download link."

The agent calls the right API endpoints, handles pagination, waits for materialization, and returns structured results. Zero code.

Option 3: Webhook + Your AI Agent

For custom AI SDR pipelines - Leadpipe identifies website visitors in real-time and sends data via webhook:

from fastapi import FastAPI, Request
from openai import OpenAI

app = FastAPI()
openai = OpenAI()

@app.post("/webhook/leadpipe")
async def handle_visitor(request: Request):
    visitor = await request.json()

    # Visitor just identified on your website
    # Fields: email, name, company, title, LinkedIn, page visited, duration

    if "/pricing" in visitor.get("page_url", ""):
        # High intent - pricing page visitor
        prompt = f"""Write a 3-sentence email to {visitor['first_name']} {visitor['last_name']},
        {visitor['job_title']} at {visitor['company_name']}.
        They just spent {visitor['visit_duration']} seconds on our pricing page.
        Be helpful, not salesy. Reference pricing without being creepy."""

        email = openai.chat.completions.create(
            model="gpt-4o",
            messages=[{"role": "user", "content": prompt}]
        )

        # Send within minutes of their visit
        await send_email(visitor["email"], email.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

Webhook fires the moment someone is identified. Your agent responds in minutes, not days.

What Your Agent Gets Per Person

This isn't name + email. It's 58 fields per person:

Category Fields
Contact First name, last name, email (business + personal), phone, LinkedIn, photo
Professional Job title, seniority level, department, headline
Company Name, domain, industry, employee count, revenue, location
Intent Score (1-100), matched topics, topic overlap count
Demographics Age range, gender, location, state

The intent score matters most for your agent's decision logic:

Score Your Agent Should
90-100 Email immediately. This person is actively buying.
70-89 Add to priority sequence. They're evaluating.
60-69 Nurture. Send content, not a sales pitch.
<60 Skip or add to long-term drip.

Real Agent Architecture

Here's what a production AI SDR pipeline looks like with this data:

                    ┌─────────────────────────┐
                    │    DATA SOURCES          │
                    ├─────────────────────────┤
                    │                         │
  Website Visitors ─┤  Leadpipe Pixel         │─── Real-time webhook
                    │  (30-40% match rate)    │    (name, email, company,
                    │                         │     pages viewed, duration)
                    ├─────────────────────────┤
                    │                         │
  In-Market Buyers ─┤  Leadpipe Orbit         │─── Daily refresh
                    │  (20,735 topics,        │    (intent score, topics,
                    │   4.4B profiles)        │     full contact data)
                    │                         │
                    └───────────┬─────────────┘
                                │
                    ┌───────────▼─────────────┐
                    │    YOUR AI AGENT         │
                    ├─────────────────────────┤
                    │ 1. Classify intent      │
                    │ 2. Check ICP fit        │
                    │ 3. Research company     │
                    │ 4. Generate outreach    │
                    │ 5. Send + log to CRM   │
                    └───────────┬─────────────┘
                                │
                    ┌───────────▼─────────────┐
                    │    RESULTS              │
                    ├─────────────────────────┤
                    │ 15-25% response rate    │
                    │ (vs 1-3% cold)          │
                    └─────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

Two data sources feeding one agent:

  1. Website visitors (reactive) - someone visits your pricing page, agent responds in minutes
  2. Intent audiences (proactive) - people researching your category across the web, agent reaches out before they even visit your site

The Cost Comparison

Approach Monthly Cost Leads Response Rate
ZoomInfo + AI SDR $15,000+ Static list 1-3%
11x / Artisan $2,400-10,000 Their database 3-5%
Leadpipe + OpenAI $167 Live intent data 15-25%

$147/mo for Leadpipe (visitor ID + intent data) + ~$20/mo for OpenAI API calls. That's a custom AI SDR for $167/month with better data than platforms charging 50x more.

Topic Discovery Is Free

You don't need an API key to explore. Start here:

import { Leadpipe } from "@leadpipe/client";

// No auth needed for topic discovery
const client = new Leadpipe();

// What are people researching in your space?
const topics = await client.intent.topics.search({ q: "your product category" });

// What does your competitor's audience care about?
const competitor = await client.intent.topics.analyze({ url: "https://competitor.com" });

// Which topics are growing fastest?
const trending = await client.intent.topics.movers({ direction: "up", type: "b2b" });
Enter fullscreen mode Exit fullscreen mode

20,735 topics. Free. No signup. See what's out there before committing.

Links


Top comments (0)