<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Paul CallPrep</title>
    <description>The latest articles on DEV Community by Paul CallPrep (@paul_callprep_8f897a6fca6).</description>
    <link>https://dev.to/paul_callprep_8f897a6fca6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981673%2F6096198d-9d3d-457e-9680-fc2cc2491467.png</url>
      <title>DEV Community: Paul CallPrep</title>
      <link>https://dev.to/paul_callprep_8f897a6fca6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/paul_callprep_8f897a6fca6"/>
    <language>en</language>
    <item>
      <title>My AI agents were claiming they are optimizing my domain</title>
      <dc:creator>Paul CallPrep</dc:creator>
      <pubDate>Tue, 30 Jun 2026 07:18:01 +0000</pubDate>
      <link>https://dev.to/paul_callprep_8f897a6fca6/my-ai-agents-were-claiming-they-are-optimizing-my-domain-27a7</link>
      <guid>https://dev.to/paul_callprep_8f897a6fca6/my-ai-agents-were-claiming-they-are-optimizing-my-domain-27a7</guid>
      <description>&lt;p&gt;Yap :D I let it run almost 3 weeks, each day it sent me the report with what it did, and how well it is optimizing the domain, until I went to terminal to see results myself: &lt;/p&gt;

&lt;p&gt;"Your rank domain is 0" :D &lt;/p&gt;

&lt;p&gt;Thank you my great AI agents 😀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
    </item>
    <item>
      <title>Your AI sales agent can write the email. It has no idea who it is writing to. published: false</title>
      <dc:creator>Paul CallPrep</dc:creator>
      <pubDate>Mon, 15 Jun 2026 05:56:22 +0000</pubDate>
      <link>https://dev.to/paul_callprep_8f897a6fca6/your-ai-sales-agent-can-write-the-email-it-has-no-idea-who-it-is-writing-topublished-false-2d4m</link>
      <guid>https://dev.to/paul_callprep_8f897a6fca6/your-ai-sales-agent-can-write-the-email-it-has-no-idea-who-it-is-writing-topublished-false-2d4m</guid>
      <description>&lt;p&gt;I have spent the last few months watching people build AI SDRs and sales agents. n8n flows, LangChain agents, custom GPT wrappers. They all hit the same wall, and almost nobody talks about it.&lt;/p&gt;

&lt;p&gt;The agent can write a great email. It just does not know who it is writing to.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;The part everyone skips&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Here is the typical agent:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pull a lead from a list&lt;/li&gt;
&lt;li&gt;??? (it does not actually know the prospect)&lt;/li&gt;
&lt;li&gt;Generate an email&lt;/li&gt;
&lt;li&gt;Send&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Step 2 is where everything quietly breaks. The model is excellent at step 3. Give it real context and it writes something a human would send. Give it nothing and it writes "I came across your company and was impressed by what you are doing." Every prospect has read that line a thousand times.&lt;/p&gt;

&lt;p&gt;So teams reach for enrichment. And they discover enrichment is four things duct-taped together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a firmographics API (industry, headcount, maybe a title)&lt;/li&gt;
&lt;li&gt;a company-news lookup&lt;/li&gt;
&lt;li&gt;a decision-maker finder&lt;/li&gt;
&lt;li&gt;and the actual "what is the angle for this call", which is still a human typing into a doc&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Firmographics tell you a company is a 200-person fintech in Austin. They do not tell you what that company is probably struggling with right now, who else matters in the deal, or how to open the conversation. That is research, not a data row. And doing it by hand is 20 to 30 minutes per prospect, so at scale it gets skipped and the agent fills the gap by guessing.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;What I built&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
I run a small company and I take a lot of sales calls, so I felt this pain directly long before I tried to automate it. I built a tool that researches a prospect before a call and drops a briefing in my inbox. It started as a Chrome extension for me.&lt;/p&gt;

&lt;p&gt;Then I turned the engine into an API, because the agent builders kept asking for the same thing: the research layer, as one call.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;POST https://api.callprep.app/v1/research
&lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="s2"&gt;"email"&lt;/span&gt;: &lt;span class="s2"&gt;"lisa@acme.com"&lt;/span&gt; &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get back normalized JSON: company overview, decision-makers, likely pain points, opening plays, talking points. The shape is the same on call 1 and call 500, which turns out to be most of the work. An agent cannot rely on an endpoint that returns a different structure every time, so consistency is the actual product, not a feature.&lt;/p&gt;

&lt;p&gt;Drop that call in before your draft step and the agent now knows who it is talking to. Same model, same prompt, completely different email.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Why I am posting this&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
I am building this in public and I would rather hear where I am wrong early than late. If you have built an SDR or outreach agent, I am genuinely curious:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How are you handling the "who is this prospect" step today?&lt;/li&gt;
&lt;li&gt;Is firmographic data enough for your use case, or do you also need the angle?&lt;/li&gt;
&lt;li&gt;What would make a research API actually trustworthy enough to put in an autonomous loop?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to try it, the sandbox is free with no card: &lt;a href="https://callprep.app/api" rel="noopener noreferrer"&gt;callprep.app/api&lt;/a&gt;. But honestly I am more interested in the discussion. Tell me what your agent wishes it knew before it hit send.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>api</category>
      <category>agents</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>How to make a better API for claude/codex?</title>
      <dc:creator>Paul CallPrep</dc:creator>
      <pubDate>Fri, 12 Jun 2026 17:19:01 +0000</pubDate>
      <link>https://dev.to/paul_callprep_8f897a6fca6/how-to-make-a-better-api-for-claudecodex-46fm</link>
      <guid>https://dev.to/paul_callprep_8f897a6fca6/how-to-make-a-better-api-for-claudecodex-46fm</guid>
      <description>&lt;p&gt;So I built a few API calls for sales research purposes, mainly to help people gather better information about their prospects and leads.&lt;/p&gt;

&lt;p&gt;The API can currently find LinkedIn profiles with around a 75% success rate, and it can also return decision-makers together with their LinkedIn profiles.&lt;/p&gt;

&lt;p&gt;Where I’m struggling now is making the API more useful and reliable for AI agents. It’s not bad at the moment, but I’ve received feedback that Claude often “loses memory” of the API key, available endpoints, or what the API is supposed to do, even when the API key and documentation were provided in the conversation.&lt;/p&gt;

&lt;p&gt;My current hypothesis is that this may be strongly connected to a poor documentation structure or schema. Maybe the docs are not clear enough for an agent to understand when and how to use each endpoint consistently.&lt;/p&gt;

&lt;p&gt;Has anyone had a similar experience with Claude or other AI agents losing context, even when the API key and documentation were already shared?&lt;/p&gt;

&lt;p&gt;I’d be very curious to learn how you solved it — especially around documentation structure, OpenAPI schemas, endpoint naming, examples, or agent-friendly API design.&lt;/p&gt;

</description>
      <category>api</category>
      <category>mcp</category>
      <category>enrichment</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
