I Rebuilt My Prospecting Process as an AI Agent — Here’s the Full Workflow

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

I. The bottleneck

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

For years, prospecting was the quiet tax on every link building engagement I ran.

Not outreach. Not content. Prospecting: finding sites worth asking, filtering out junk, and putting something useful in front of a human before anyone typed a pitch. On a typical client account in my own operation, that work burned an estimated 8–15 hours per client per month (see our link building process for the wider context). Some months were lighter. Niche markets with thin competitor graphs could finish closer to the low end. Broad local or national niches with dense referring-domain lists regularly pushed past a dozen hours before a usable list existed.

The VA workflow looked professional on paper. Seed a competitor. Export referring domains. Paste into a spreadsheet. Score by Domain Rating. Skim titles. Google a few. Mark yes or no. Repeat. Quality drifted as fatigue set in. By hour six, “maybe” became the default. Borderline directories slipped through. Strong local associations got skipped because the sheet was already huge and someone wanted to be done.

I did not need more motivation. I needed a process that did not degrade when the volume got boring.

That is what pushed me to rebuild prospecting as an AI agent: not as a demo, and not as a chatbot that “helps brainstorm,” but as a pipeline that applies the same rules every time, writes down why it kept or rejected a domain, and leaves a human with a short list instead of a landfill.

II. Why this specific step was the right one to automate first

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

I get asked why we started with prospecting instead of outreach copy. The answer is simple.

Prospecting is high-volume, rule-governed, and verifiable. Outreach copy is none of those.

A good prospect decision can be written as a sentence: Keep this domain if it is topically related to the client, serves the same market, clears a traffic floor, shows a structural place to earn a link, and is not abandoned or farm-like. You can check the agent’s work against that sentence. You can sample rejections and see if the rule was applied. You can tighten the rule when the agent is wrong.

Outreach copy is different. Tone, timing, personalization depth, and relationship context matter. An agent can draft. A human still owns judgment. Automating the creative step first would have produced confident garbage at scale. (I wrote more about that path in building an AI link building tool after 10 years of manual outreach.)

My criterion for automation is blunt: if I can write the decision rule in a sentence, an agent can run it. Prospecting passed that test. So we automated it first.

III. The architecture

The architecture is intentionally boring. Boring is good. Boring ships.

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

Figure 1. Architecture diagram: competitor domain in, filtered CSV and Sheet out.

Plain language:

  1. Input: A competitor domain (or a small seed set) that already attracts links in the client’s niche.
  2. Ahrefs API: Pull referring domains for that seed (not every raw backlink row).
  3. Relevance filters: Topical, geographic, authority, and structural gates cut most of the noise.
  4. Qualification pass: The agent inspects survivors at page level: real content, site alive, not a link farm.
  5. Output: A ranked CSV plus a Google Sheet with KEEP/REJECT status and a one-line reason for every row a human might still care about.

Each component has one job. The API gathers candidates. Filters remove obvious misses. The qualification pass catches what filters cannot see. The spreadsheet is the handoff to a person who still owns final accept.

If you are picturing a magical “AI finds links” button, stop. This is rules plus retrieval plus review. The agent is the worker that never gets tired of applying the rules.

IV. Step 1: Pulling the raw backlink profile

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

We use Ahrefs’ referring domains endpoint logic, not a raw dump of every backlink URL.

That choice matters. Individual backlinks inflate volume with duplicates, parameterized URLs, footer spam, and the same domain appearing dozens of times with slightly different paths. For prospecting, I care about sites, not every URL variation on those sites. Referring domains collapse that noise early.

Even then, the raw pull is large. For a healthy mid-market competitor, it is common to see thousands of referring domains come back. In practice, an estimated 90–95% of that volume is garbage for outreach: foreign directories for a local client, scraper sites, expired blogs, link lists with no editorial standards, and domains that once linked once in 2017 and never mattered again.

Why keep the raw pull at all? Because the signal lives inside the noise. Competitors already earned links from some set of domains. That set is a better prior than inventing prospects from scratch. The job of the pipeline is not to worship the export. The job is to discard almost all of it on purpose.

Parameters we care about in operator terms (not a full API tutorial):

  • Seed domain(s) tied to the client’s niche
  • Referring domains rather than raw backlinks
  • Enough metadata to support later filters (traffic estimates, DR, geo hints where available)
  • Stable identifiers so later batches can dedupe

V. Step 2: The relevance filters

This is the meat of the system. Relevance is not a vibe. It is a stack of gates — the same discipline behind training AI to identify quality link opportunities in your niche. A domain has to clear all of them, or it dies here.

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

Figure 3. Relevance filter stack with operational cut-rate ranges from Link Builders runs.

Topical relevance

The agent judges subject overlap with the client. That sounds soft until you define it.

In practice we encode niche language: category terms, service themes, content clusters the client actually wants association with. A home-services client does not need a fashion blog that happens to have DR 60. A B2B SaaS client does not need a recipe roundup that linked to a competitor once because of a guest post about “productivity.”

The agent compares prospect site themes (titles, categories, about/language on key pages) against the client brief. Low overlap fails. Medium overlap can survive if other signals are strong. High overlap advances.

Operational estimate from our runs: topical filtering alone removes roughly 40–60% of referring domains after the raw pull. That range moves with niche breadth. Narrow verticals cut harder. Broad “local business” categories cut less at this stage and lean more on geo later.

Geographic relevance

A UK directory is worthless for a Texas client. Everyone nods when you say that. Fewer teams encode it as a rule.

We do. Geographic relevance is a market match rule: country, and when needed state or metro. If the client’s buyers and PR reality are US-Texas, a polished UK resource page is still a reject for that engagement. Cross-border exceptions exist (national brands, international SaaS), but they are explicit overrides in the brief, not agent improvisation.

How you encode it matters. Domain TLDs help but lie (plenty of .coms are foreign-focused). Content language, NAP patterns, “serving [city]” copy, and Ahrefs geo metadata where present all feed the rule. The point is not perfect geo inference. The point is refusing to treat “interesting site somewhere on Earth” as a prospect.

Operational estimate: geo filtering often removes another 15–25% of what topical left standing, higher when the client is tightly local.

Authority thresholds

DR is famous. Traffic is more useful.

Domain Rating is a relative link-graph score. It can be gamed, inherited, or hollow. Estimated organic traffic is a better proxy for “does anyone actually land here?” For prospecting, I would rather have a DR 35 site with steady organic sessions in the right niche than a DR 70 ghost town.

So our floor is framed primarily as a traffic threshold, with DR as a secondary check. Exact floors depend on niche competitiveness and client goals; we set them per engagement rather than pretending one number fits every vertical. The reasoning stays constant: authority without audience is a vanity metric, and vanity metrics waste outreach. For how we think about paid placement value, see should backlinks really cost hundreds of dollars each?.

Operational estimate: authority gates remove roughly 10–20% of remaining candidates, more in spammy niches where inflated DR is common.

Structural signals

Even a relevant, local, trafficked site is a weak prospect if there is nowhere realistic to earn a link.

We look for structural signals that historically correlate with linkability:

  • A links or partners page
  • A resources / tools / “helpful sites” page
  • Evidence of guest posts or contributed expert content
  • Editorial sections that cite external sources as part of normal publishing

No structural signal does not always mean instant reject. It does mean the row needs a stronger topical/geo story or it will lose to sites that clearly accept outside links. The agent flags what it finds so a human can prioritize.

Operational estimate: structural filtering and prioritization typically affect 5–15% of the remaining list as hard rejects, and reorder much of the rest.

VI. Step 3: The qualification pass

Filters are cheap and shallow. Qualification is where the agent earns its keep.

Survivors go through a batch analysis pass. The agent fetches what it can and checks what a spreadsheet column cannot:

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

Figure 4. Qualification checks: real content, site alive, not a link farm.

Is the content real? Spun paragraphs, doorway pages, and empty “article” templates fail. We want editorial substance: coherent posts, clear topical focus, signs a human would read the page for information rather than for a link scheme.

Is the site abandoned? No posts in years, broken navigation, parked-domain vibes, or a copyright year frozen in the past are rejection signals. A dead site does not help a client even if it once linked to a competitor.

Does it look like a link farm? Thin resource lists that exist only to sell placements, reciprocal schemes, template spam across dozens of near-identical domains: reject. The agent is instructed to prefer false negatives here over false positives. It is cheaper to miss a mediocre prospect than to burn sender reputation on farms.

Qualification outputs KEEP or REJECT with a short reason. That reason is not decoration. It is how we audit the agent and how a reviewer decides in seconds instead of redoing the research.

VII. The output

The deliverable is deliberately plain: a CSV and a Google Sheet a human can sort, filter, and trust.

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

Figure 5. Output columns and anonymized excerpt pattern: KEEP and REJECT with reasons.

Typical columns:

  • domain — Root domain of the prospect
  • organic_traffic — Estimated organic sessions
  • dr — Domain Rating (secondary)
  • geo — Inferred market
  • topic_score — Overlap with client niche
  • structural_flag — links_page / resources / guest_post / none
  • status — KEEP or REJECT
  • reason — One-line rationale
  • source_competitor — Which seed produced the hit

A great prospect row looks like a local association or niche publisher: traffic above the floor, geo match, high topic score, a resources page, status KEEP, reason that a reviewer can verify in one click.

A rejected row is equally important. Example pattern: solid topic score, acceptable DR, but geo mismatch for a Texas client. Status REJECT. Reason: geographic mismatch. That teaches the next reviewer (and the next prompt revision) what “good” means for this engagement.

We do not hide rejects. Showing the cut list builds trust in the keep list.

VIII. What it costs and what it saves

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

Honest unit economics beat marketing math. If you want the commercial side of the same conversation, start with backlink pricing or the backlinks costs calculator.

What we spend per serious run (order-of-magnitude, from operating the system):

  • Ahrefs API usage: typically a few dollars to low tens of dollars depending on seed count and how deep we page referring domains. Large competitor graphs cost more; tight local seeds cost less.
  • Agent runtime: usually measured in minutes to a couple of hours of wall-clock for pull + filter + qualify on a normal account, not overnight human labor. Model and tooling cost per run has generally landed in the low tens of dollars range for standard engagements in our operation, sometimes less when seeds are small and caches help.
  • Human review: the remaining line item. Reviewing a reasoned shortlist often lands around an estimated 1–3 hours per client per month instead of the old 8–15, depending on niche and how aggressive the filters are set.

What we used to spend:

  • VA hours as a soft “always on” cost, plus manager cleanup when quality drifted
  • Spreadsheet thrash and rework when lists were over-inclusive
  • Opportunity cost: senior people doing junior filtering because they did not trust the sheet

The agent does not make prospecting free. It moves cost from repetitive human scanning into API + compute + focused review. In our experience, that trade is favorable when the rules are tight. If the rules are sloppy, you just automate the production of bad lists faster. The savings only show up after the failure modes below are fixed.

IX. What broke the first five times

I Rebuilt My Prospecting Process as an AI Agent — Here's the Full Workflow

Version one was not impressive. It was educational.

Over-inclusive relevance

Early topical matching treated weak keyword overlap as success. Anything vaguely “business” survived for a business client. The keep list ballooned. Fix: raise the overlap bar, require multi-signal agreement (topic + geo or topic + structure), and score instead of binary guessing without thresholds.

Rationalizing bad prospects

The agent could argue itself into KEEP. A mediocre directory would get a paragraph of justification. Fix: invert the default. Reject unless criteria are met. Cap reason length. Ban rhetorical padding. Force structured fields (scores + flags) before a KEEP is allowed.

Hallucinated contacts

When we briefly let the agent “find emails,” it invented confident nonsense. That is unacceptable for outreach. Fix: remove contact invention from this agent entirely. Prospecting ends at domains and evidence. Contact discovery is a separate, verifiable step (or human), not a creative writing exercise.

Dedupe failures across batches

Re-running seeds or overlapping competitors reintroduced the same domains with new rows. Reviewers wasted time. Fix: canonical domain keys, persistent seen-set across batches, and Sheet-level unique constraints on domain + client.

Each failure pushed us back to the thesis: write the rule precisely enough that the agent cannot “almost” follow it. Vague instructions produce vague lists. Precise instructions produce lists you can defend.

X. Close

Prospecting was never creative theater. It was rules-based filtering wearing a creative disguise. Once the rules were precise, an agent executed them more consistently than a fatigued VA workflow ever did.

At Link Builders, this is how we prospect for clients today: competitor-informed seeds, Ahrefs referring-domain pulls, stacked relevance filters, a qualification pass with explicit reasons, and a human review on a short list instead of a raw export. If you want that operating as fulfillment behind your brand, see white label link building, outsourcing link building for agencies, or start at link-builders.com. More on who I am: Justin Davis, SEO link builder.

This agent is one piece of a larger system. Prospecting sits upstream of outreach, content, and reporting. In the next article, I will break down the full 8-step link building pipeline and grade which steps an agent should own, which steps stay human, and where hybrid beats both.

If you have been waiting to see a working implementation instead of another abstract “AI for SEO” take: this is the workflow. The next piece is the map of everything around it.

Justin Davis · Link Builders · link-builders.com

Menu