Table of contents
How to build an AI SDR agent with Claude and Merge

A rep can research a lead properly, or they can send forty emails this week. Most weeks the calendar picks, and it picks the forty.
Twenty minutes per lead is the honest number for doing it well: find the person, check whether anyone here has spoken to them, work out which of three enrichment tools has the headcount right, and find the thing they shipped that's worth mentioning. Almost all of that is retrieval, and retrieval is the part a rep should not be doing.
Related: Sales intelligence MCP servers: overview, examples, and use cases
How it works
Merge Agent Handler sits between Claude and the APIs behind your enrichment tools, your CRM, and your sequencer. Three commands:
pipx install merge-apimerge loginmerge setup claude-code
A Magic Link appears on the first tool call to authenticate each connector. That matters more here than in most workflows, because an SDR stack is where credential sprawl gets worst: four enrichment vendors, a CRM, a sequencer, and a calendar, each with its own key and its own renewal date.
What you can connect
Agent Handler covers hundreds of connectors. An outbound agent draws on four groups:
- Enrichment: Apollo, Clay, ZoomInfo, Crustdata
- Public signal: LinkedIn for role and recent posts, Exa and Firecrawl for funding, launches, and job postings
- CRM: Salesforce, HubSpot, Pipedrive, Attio, Dynamics 365 Sales, or Zoho CRM
- Touch and follow-up: Gmail or Outlook, Calendly for booking, Apollo or ActiveCampaign for the sequence, and Gong or Fireflies to check what was said last time you spoke
Split the work across three agents rather than one. Two read. One writes. That split does more for your data quality than any instruction you can write.
1. Build one profile from every source
Give the researcher every enrichment source you pay for, then two rules that matter more than the tool list.
Label every field with its source. Headcount from ZoomInfo and headcount from Apollo disagree more often than they agree. Show both numbers rather than averaging them, and let the rep decide which to trust on the call. Averaging two guesses produces a third guess that looks like a fact.
Stop at the first confident match. Fanning out to four vendors for one lead burns credits and returns four versions of the same person. Order the sources by how much you trust them, take the first good answer, move on.
Unknown stays unknown. An invented job title costs you the meeting, and you find out about it live.
2. Keep the researcher read-only
This agent reads your CRM. It does not write to it.
Enforce that at the credential, not in the prompt. A research agent with write access will eventually update a record on a hunch, and three weeks later somebody is reconciling a field nobody meant to change. Prompts express intent. Credentials express policy.
Related: How to connect Salesforce MCP with Claude Code (5 steps)
3. End the profile with a fit read
Every profile closes with a call: does this lead match, and why.
Two or three sentences, each pointing at a fact already in the profile above it. No score out of ten. A number invites the reader to skip the reasoning that produced it, and the reasoning is the only part worth having. When the agent can't ground the read in what it pulled, the honest output is "not enough signal," which is also a useful answer.
Related: How to build marketing agents with Claude and Merge
4. Draft the outreach, and let the rep send it
Under 100 words. Name the specific thing the person made. Say who you are, why you're writing, and what you're asking for.
Cut any compliment that could apply to anyone. That sentence is the tell that a machine wrote the email, and readers spot it faster than they spot a typo.
The agent drafts, the rep sends. Write that twice in the instructions, because draft and send are adjacent calls in every email API.
5. Put the CRM write and the enrollment behind approval
One agent gets write access. It updates the CRM record with what research found, and it enrolls the contact in a sequence.
Both actions need an explicit approval, per contact, in the same session. Not a standing rule, not a batch confirmation across forty leads. A silent enrollment of the wrong list is the one failure here that your prospects discover before you do.
What this actually saves
The rep still reads the profile, still decides, still owns what goes out.
What disappears is the retrieval: the tab-switching, the duplicate credit-burning lookups, the copy-paste into the CRM, and the "have we talked to these people before" question that nobody enjoys answering. On forty leads a week that's most of the twenty minutes, and none of the judgment.
AI SDR agent FAQ
What can you do once your SDR stack is connected to Claude Code?
Claude can build one profile from several enrichment sources with the origin printed next to each field, check whether the lead already exists in your CRM and who owns it, pull recent public signal on the company, draft a short first email that names real work, and then, on approval, write the research back and enroll the contact.
The part it removes is not the thinking. It's the four tabs, the duplicate lookups, and the copy-paste.
Can I use Merge Agent Handler with my employees?
Yes. Merge for Workforce helps companies provision, secure, and govern how employees connect AI to systems like a CRM holding every customer record you have.
It routes each request to a model that fits the task, which Merge measured at up to half the token bill.
Related: Instantly cut token spend in half: introducing Merge for Workforce IT provisions access through SCIM with Okta or Microsoft Entra ID, DLP scanning runs on every tool call, and each call is logged against an employee identity, so security can answer which records an agent read or changed and when.
.avif)


.png)