How to build an AI agent that researches prospects

Define the one-page account brief you want first, then give a model the sources and tools to fill it: the company site, news, job posts, CRM history and enrichment data. Require a source link on every claim, test it on accounts you already know, and only then write briefs back to the CRM.
This is one of the most practical first builds in AI engineering for GTM operators, because the output is easy to judge: a rep reads the brief and knows whether it is right.
Key points
Start from the output: a fixed one-page brief with named fields.
Pick sources by trust level: CRM and company site first, news and job posts second, enrichment as a cross-check.
Design three parts: instructions, tools and an output schema.
Every claim in the brief needs a link to where it came from. No link, no claim.
Test on 20 accounts your reps already know well before anyone uses the briefs for outreach.
What should a prospect research agent produce?
It should produce one short account brief in the same format every time, so a rep can scan it quickly and the CRM can store it as a note. Decide the fields before you write a single prompt.
A fixed format is what makes the agent testable: if the output changes shape, you cannot grade it.
Here is an illustrative one-page brief for a B2B SaaS team:
Section | What it answers | Main source |
|---|---|---|
Company snapshot | What they sell, to whom, rough size | Company website |
Why now | Recent funding, launches, leadership changes | News and press releases |
Hiring signals | Roles open in sales, RevOps, the team you sell to | Job posts on their careers page |
Relationship history | Past deals, open opportunities, last touch, owner | Your CRM |
Likely priorities | Two or three problems that fit your product | Model inference from the above, labelled as inference |
Suggested first angle | One opener a rep could use | Model draft, for the rep to edit |
Sources | Every URL used, with date checked | All of the above |
Facts and inferences live in separate sections, and each guess names its evidence.
Keep one master context file that every agent reads, so research, email and enrichment agents work from the same ICP and rules.

Which sources should the agent read?
Read the sources you trust most first and use the rest as cross-checks.
Source | What it tells you | How the agent reaches it | Watch out for |
|---|---|---|---|
Company website | Product, customers named on site, pricing page, team page | Web search or a fetch tool | Marketing copy stated as fact |
News and press | Funding, launches, acquisitions, executive moves | Web search limited to news domains | Old stories surfacing as new |
Job posts | Teams that are growing, tools named in requirements | Careers page or job board fetch | Reposted or stale listings |
CRM history | Past deals, contacts, notes, last activity, owner | CRM API or connector, read only | Duplicate accounts, old owners |
Enrichment tools | Headcount, industry, tech stack, location | Clay, your enrichment vendor's API | Estimates presented as exact figures |
Job posts are often the most overlooked source. A company listing a specific CRM in a job description is telling you about its stack. The CRM check stops a rep from cold pitching an account that already has an open deal.
How do you design the agent: instructions, tools and output schema?
Write the instructions like a brief for a new researcher, give the agent only the tools the job needs, and fix the output to a schema. Anthropic's post on building effective agents recommends "finding the simplest solution possible, and only increasing complexity when needed."
The post separates workflows, "orchestrated through predefined code paths," from agents, where "LLMs dynamically direct their own processes and tool usage." A job that always runs the same five lookups can be a workflow.
Instructions
Good instructions cover five things:
The goal. "Produce the account brief for a rep preparing a first call."
Source order. CRM, company site, news and job posts, then enrichment.
Evidence. A claim needs a URL or CRM record ID; inferences are labelled.
Missing data. Write "Not found." Never guess to fill a gap.
Length. One page, short bullets.
Quality comes mostly from what you put in front of the model, the idea behind context engineering. One sample brief does more than three paragraphs of rules.
Tools
Give the agent a short list: a web search tool, a page fetch tool, read access to the CRM and, if you have one, an enrichment lookup. Anthropic's post advises you to "carefully craft your agent-computer interface (ACI) through thorough tool documentation and testing," and notes that "a good tool definition often includes example usage, edge cases, input format requirements."
Keep CRM access read only during research.
Output schema
Define the brief as structured data with one field per section, plus a sources list. Anthropic's structured outputs docs describe the feature as constraining "Claude's responses to follow a specific schema, ensuring valid, parseable output for downstream processing."
One catch: the same page says citations are incompatible with that JSON mode and that "the API returns a 400 error if citations are enabled with output_config.format." The common fix is two steps. Step one researches with citations on. Step two formats the cited findings into the schema, carrying each URL into a sources field.
Which build option fits: Claude, Relevance AI, n8n or Clay?
Pick the tool your team already runs workflows in. All four can produce the same brief.
Option | What the vendor says | Best fit |
|---|---|---|
Claude web search or a skill | "Citations are always enabled for web search" | Operators who want full control of instructions and output |
Lists "Automate prospect research, lead qualification, and initial outreach" as a sales use case | Teams that want a no-code agent with CRM actions | |
"You must connect at least one tool sub-node to an AI Agent node" | Teams already running automations in n8n, or that need self-hosting | |
Lists "Account research & meeting prep so you go into calls with the right context on your prospects/customers" | Teams whose lists and enrichment already live in Clay |
Claude's web search tool also offers allowed_domains, blocked_domains and max_uses to cap searches per request. If you work in Claude directly, package the instructions, sample brief and schema as a skill; the guide on how to create a Claude skill walks through the file structure.
In n8n, a common pattern is a CRM trigger, an agent node with search and fetch tools, then a CRM node that writes the note. The Relevance AI vs n8n vs Zapier comparison covers the tradeoffs between the no-code options.
How do you stop the agent from making up facts?
Make every claim cite a source, give the agent permission to say it does not know, and add a verification pass that deletes anything it cannot support. Together they cut down invented facts.
Anthropic's guide to reducing hallucinations lists all three. It says to "explicitly give Claude permission to admit uncertainty" and that this "can drastically reduce false information." On citations, it says Claude can "verify each claim by finding a supporting quote after it generates a response. If it can't find a quote, it must retract the claim."
A guardrail checklist for a research agent:
Every fact in the brief has a URL or CRM record ID next to it
Missing data is written as "Not found," never filled by inference
Inferences sit in their own section and name the evidence behind them
A second pass checks each claim against its source and removes unsupported ones
Enrichment figures are labelled as estimates
These techniques reduce hallucinations but do not eliminate them, so reps should click through on anything they plan to say on a call.
Log every run so you can trace a bad brief back to its cause: the action taken, the input snapshot and how the output changed.

How do you test the research agent before reps rely on it?
Run it on 20 accounts your team knows well, have each owner check the brief, and fix the instructions until errors are rare. Rerun the same 20 after every change.
The full method is in the guide on testing an AI workflow before you trust it. For a research agent, these checks cover most of the risk:
Format check. Every field present, valid schema, sources list not empty.
Citation check. Every URL loads and actually contains the claim attached to it.
Accuracy check. The account owner marks each fact correct, wrong or out of date.
Usefulness check. A rep scores the "likely priorities" and "first angle" sections from 1 to 5.
Missing data check. Include a few small or obscure companies and confirm the agent writes "Not found" instead of guessing.
Code can run the first two. The rest need people at first, then a rubric grader once its scores match theirs.
How do you write the brief back to the CRM?
Write the brief as a note or a custom field on the account record, stamped with the date it was generated, and keep the source links inside it. Do this only after the agent passes testing.
In HubSpot, the notes API guide says you "can log notes on CRM records to add information to the record timeline." The only required property is hs_timestamp, and you attach the note to a company or contact by including an associations object in the create request. Salesforce teams can use a note, activity or long text field.
A few write-back rules keep the CRM clean:
One current brief per account. Replace or archive the old one so reps do not read last quarter's research.
Never overwrite human fields such as owner, stage or amount.
Log the run. Store the date, model and instruction version with each brief.
Refresh on a trigger. Regenerate when an account enters a sequence or a meeting is booked, or on a set cadence. The guide on running an AI agent on a schedule covers the cadence option.
This is where research agents often stall: the briefs sit in a spreadsheet nobody opens. In the systems I build for my own work, research lands where it gets used, and I do the same for SaaS revenue teams (lead routing, CRM cleanup, pipeline reporting) in a 90-day AI RevOps Sprint for Series A and B SaaS. Contact me to get yours scoped.
What does it cost to research each account?
It depends on the tool, and only some vendors publish the numbers. Anthropic's web search tool page lists "$10 USD per 1,000 searches, plus standard token costs for search-generated content" (as of October 2026).
At that rate, an agent capped at 5 searches per account spends at most 5 cents per account on search fees, before token costs. That is arithmetic on the published price, not a full estimate.
For the other options, check each vendor's current pricing. As of October 2026, Clay's Claygent page says customers "are charged on the actual complexity and token usage of their requests," with data credits plus "1 action per AI prompt." Relevance AI's pricing page lists an Enterprise plan with a "Talk to sales" button rather than a public price. If you self-host n8n, your main cost is the model and search APIs it calls.
What are the common mistakes when building a research agent?
The usual failures are an open-ended prompt, no source rules and no test set.
Asking it to "research this company." Without a fixed brief, every output is different and none can be graded.
Letting it fill gaps. If "Not found" is not an allowed answer, the model will invent one.
Mixing facts and guesses. A rep cannot tell a confirmed funding round from a plausible one.
Ignoring CRM history. The agent suggests pitching an account that already has an open deal.
Too many tools. Start with search, fetch and CRM read.
Writing to the CRM on day one. Run briefs into a review table first, then switch on write-back after testing.
If research is one stage of a bigger outbound motion, the guide to building an AI outbound system shows where it sits next to list building, first touches and reply handling.
FAQ
What is an AI prospect research agent?
A model with search, web, CRM and enrichment access that produces a fixed account brief per company.
Which sources should a research agent use?
Your CRM history, the company's own website, recent news, job posts and enrichment data, with each claim linked to its source.
Can I build one without code?
Yes. Relevance AI, n8n and Clay offer visual builders, and a Claude skill runs inside Claude.
How do I stop the agent from inventing facts?
Require a source for every claim, allow "Not found" as an answer, and add a second pass that removes any claim it cannot back with a quote.
Should the agent write directly to the CRM?
Only after it passes testing on accounts your team knows. Start with a review table, then write to a dedicated note or field.
How often should briefs be refreshed?
When an account enters a sequence or books a meeting, or on a fixed cadence. Store the generation date with every brief.
Want a hand building your research agent?
If you would rather have someone design the brief, sources and tests with you, see how I work or book a short intro call and we can map the first version together.
Running revenue at a Series A or B SaaS company? Ask about the 90-day AI RevOps Sprint. I take two clients at a time.
About the author: Kevin Payne is an AI engineer and GTM operator who installs AI workflows for B2B teams. He has 10+ years in B2B SaaS demand generation and RevOps across Techstars, a16z and YC portfolio companies, and his writing has appeared in HubSpot, GetResponse, Outbrain and more.


