{"id":11421,"date":"2026-07-16T15:20:52","date_gmt":"2026-07-16T15:20:52","guid":{"rendered":"https:\/\/phantombuster.com\/blog\/?p=11421"},"modified":"2026-07-16T15:20:52","modified_gmt":"2026-07-16T15:20:52","slug":"phantombuster-ai-agent-linkedin","status":"publish","type":"post","link":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/","title":{"rendered":"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude"},"content":{"rendered":"<p>You can build a same-turn LinkedIn agent by calling <a href=\"https:\/\/hub.phantombuster.com\/reference\/post_agents-launch-sync\" target=\"_blank\" rel=\"noopener\">PhantomBuster&#8217;s \/agents\/launch-sync<\/a> or connecting the official <a href=\"https:\/\/hub.phantombuster.com\/docs\/mcp-server\" target=\"_blank\" rel=\"noopener\">MCP server<\/a> so Claude gets structured results in one tool call\u2014no polling or Sheets bridge.<\/p>\n<p>Many &#8220;real-time LinkedIn agents&#8221; still rely on polling. They launch an automation, write the results to Google Sheets, and wait for another system to detect them. This adds latency and failure points. It also breaks the main benefit of an agent: one tool call that returns useful data while the reasoning loop is still active.<\/p>\n<p>Use PhantomBuster&#8217;s \/agents\/launch-sync to stream execution status, or connect the official MCP server so Claude can launch Automations and fetch results in the same turn. Use this same-turn flow to <a href=\"https:\/\/phantombuster.com\/automations\/linkedin\/6276867532496207\/linkedin-search-to-lead-outreach\">extract, enrich, and prioritize leads<\/a>. You keep connection requests and messages paced\u00a0and human-reviewed when needed.<\/p>\n<p>The goal isn&#8217;t full autonomy\u2014it&#8217;s faster research and better prospecting choices that lift reply rates and help you book more qualified meetings.<\/p>\n<h2>Why many LinkedIn agent architectures fail in practice<\/h2>\n<h3>Why\u00a0do polling loops break tool calling?<\/h3>\n<p>When Claude calls a tool, it needs a result it can use immediately. That usually means structured data, a clear error, or a request for missing information. &#8220;Job started, check another system later&#8221; is not enough.<\/p>\n<p>It breaks the reasoning loop and moves the workflow state outside the conversation. Instead, return a structured result or error in the same tool call via \/agents\/launch-sync, then fetch the completed output before responding to Claude.\u00a0Polling also creates several blind spots:<\/p>\n<ul>\n<li>PhantomBuster completes the extraction, but the spreadsheet is not updated.<\/li>\n<li>New rows appear, but the polling scenario is inactive.<\/li>\n<li>A webhook fires twice and creates duplicate activity.<\/li>\n<li>Claude receives old data without knowing when it was generated.<\/li>\n<\/ul>\n<p>The problem is not Google Sheets, CRMs, or workflow platforms themselves. The problem is using them as the bridge between Claude and the result. Keep Sheets and your CRM at the end of the flow for reporting and handoff\u2014only after Claude has a ranked, decision-ready list.<\/p>\n<p>Once Claude has qualified and prioritized the leads, you send the approved records to a <a href=\"https:\/\/phantombuster.com\/blog\/tools\/phantombuster-crm-integration-for-clean-prospecting-data\/\">spreadsheet or CRM for collaboration and handoff<\/a>.<\/p>\n<h3>What &#8220;real-time&#8221; means for LLM tool use<\/h3>\n<p>For an agent, real-time does not mean that every operation finishes instantly. LinkedIn extraction and contact enrichment still take time. Real-time means you keep the operation attached to the current tool call so Claude can decide next steps immediately:<\/p>\n<ul>\n<li>Claude requests the task.<\/li>\n<li>PhantomBuster launches the Automation.<\/li>\n<li>The integration receives execution status.<\/li>\n<li>The completed output is retrieved.<\/li>\n<li>Claude uses that output to choose the next step.<\/li>\n<\/ul>\n<p>The reasoning loop remains coherent because the agent does not have to reconstruct state from a spreadsheet, webhook, or later conversation. Consider selective enrichment.<\/p>\n<p>Claude might export 100 profiles, determine that only 18 match the ICP closely enough to justify deeper research, enrich those 18, and explain why 10 deserve human attention first. That sequence works best when each result is available to the next decision. The value is not raw speed. It is continuity.<\/p>\n<h2>How does PhantomBuster&#8217;s Streaming API change the architecture?<\/h2>\n<h3>What\u00a0does a same-turn tool call look like with streaming?<\/h3>\n<p><a href=\"https:\/\/hub.phantombuster.com\/reference\/post_agents-launch-sync\" target=\"_blank\" rel=\"noopener\">PhantomBuster<\/a>&#8216;<a href=\"https:\/\/hub.phantombuster.com\/reference\/post_agents-launch-sync\" target=\"_blank\" rel=\"noopener\">s \/agents\/launch-sync<\/a> endpoint launches an Automation and streams its execution status in NDJSON format. The stream begins with a start event containing a containerId, followed by heartbeats, an execution summary, and any errors.<\/p>\n<p>Logs can also be included.\u00a0Open the stream, capture containerId, and on completion, call the results endpoint using the container or Automation id; return normalized objects to Claude.<\/p>\n<p>Don&#8217;t treat the streamed summary as the final dataset\u2014fetch the completed result before returning data to Claude. In your wrapper, use the Automation or container id to fetch the result when the run completes, then return a single, structured payload to Claude in the same turn. The flow is:<\/p>\n<ol>\n<li>Launch the Automation\u00a0via \/agents\/launch-sync.<\/li>\n<li>Stream status and capture containerId.<\/li>\n<li>On completion, fetch the result using the Automation or container id.<\/li>\n<li>Map to a normalized lead schema and return it to Claude.<\/li>\n<\/ol>\n<p>This is more precise than claiming that every Automation streams its complete CSV or JSON dataset directly inside the final event.<\/p>\n<p>If you don&#8217;t need a custom API, connect PhantomBuster&#8217;s <a href=\"https:\/\/hub.phantombuster.com\/docs\/mcp-server\" target=\"_blank\" rel=\"noopener\">MCP server<\/a> so Claude can launch Automations, retrieve outputs, and build filtered lead lists within your selected workspace\u2014no extra plumbing. Authenticate via OAuth; the MCP server only exposes the workspace you select.<\/p>\n<h3>How do you design around rate limits and operational constraints?<\/h3>\n<p>Do not model every profile as an independent tool call. A workflow that launches 500 single-profile operations creates unnecessary overhead and gives Claude hundreds of low-value intermediate results to process. Batch by decision stage (start with 50\u2013100 results), then expand once the loop is stable:<\/p>\n<ol>\n<li>Export a meaningful set of search results.<\/li>\n<li>Remove duplicates and obvious mismatches.<\/li>\n<li>Apply inexpensive ICP rules.<\/li>\n<li>Enrich only the qualified subset.<\/li>\n<li>Return one ranked result set.<\/li>\n<\/ol>\n<p>Start with a small representative batch and increase it only after the workflow runs reliably. Large searches also need to respect the data LinkedIn makes accessible.<\/p>\n<p>Standard LinkedIn search returns up to approximately 1,000 results, while <a href=\"https:\/\/phantombuster.com\/blog\/linkedin-automation\/linkedin-sales-navigator-phantombuster-automation\/\">Sales Navigator People searches<\/a> return up to approximately 2,500. Split larger markets into mutually exclusive filters by geography, seniority, or company size.<\/p>\n<h2>How do you go from search to a prioritized lead list in one turn?<\/h2>\n<h3>Step 1: How do you expose a PhantomBuster Automation as a callable tool?<\/h3>\n<p>PhantomBuster&#8217;s official <a href=\"https:\/\/hub.phantombuster.com\/docs\/mcp-server\" target=\"_blank\" rel=\"noopener\">MCP server<\/a> lets Claude access your Automations from a conversation. Add it as a custom connector, authenticate your PhantomBuster account, and select the workspace Claude can use.<\/p>\n<p>Start with PhantomBuster\u00a0Automations that collect or enrich data\u2014so you can validate quality before any visible LinkedIn actions:<\/p>\n<ul>\n<li><strong>LinkedIn Search Export<\/strong> takes a LinkedIn search URL and returns profile information such as names, headlines, locations, companies, and profile URLs.<\/li>\n<li><strong>LinkedIn Profile Scraper<\/strong> takes profile URLs and returns richer information from the profiles that are available to your account.<\/li>\n<li>PhantomBuster&#8217;s\u00a0<strong>LinkedIn Profile URL Finder<\/strong> matches names and company information with LinkedIn profile URLs. It is useful when the starting point is a CRM or spreadsheet rather than a LinkedIn search.<\/li>\n<\/ul>\n<p>Together, these Automations form the agent&#8217;s read layer. Claude can use them to research, qualify, and prioritize prospects without immediately sending a connection request or message.<\/p>\n<p>Keep outreach Automations out until your research loop reaches less than 2% duplicate rate, stable session health, and consistent scoring across two consecutive runs.<\/p>\n<h3>Step 2: How do you define the decision loop Claude runs in one session?<\/h3>\n<p>The agent&#8217;s job is to turn a prospecting objective into a ranked list the sales team can review. For example: Find 20 VP Marketing prospects at Series B SaaS companies in New York. Have Claude run this loop:<\/p>\n<ol>\n<li>Translate the request into search criteria and qualification rules.<\/li>\n<li>Call LinkedIn Search Export to collect an initial list.<\/li>\n<li>Remove obvious mismatches based on role, seniority, company, and location.<\/li>\n<li>Send the remaining profile URLs to LinkedIn Profile Scraper.<\/li>\n<li>Rank the qualified leads and explain why each one matches.<\/li>\n<\/ol>\n<p>Filtering before enrichment is important. There is little value in collecting detailed profile data for every search result when many candidates can be excluded using their headline, company, or current title.<\/p>\n<p>Show the scoring logic with weights for role and seniority fit, company and industry fit, geography, relevant activity or timing signals, and confidence in the available evidence. Claude should make uncertainty visible. When a company&#8217;s funding stage, employee count, or industry cannot be confirmed, the result should say so rather than convert an assumption into a fact.<\/p>\n<p>Don&#8217;t ship a raw export\u2014return a shortlist with evidence so your rep can prioritize follow-ups that are most likely to convert to meetings.<\/p>\n<h3>Step 3: How do you add contact enrichment when you need it?<\/h3>\n<p>Contact enrichment should follow qualification, not precede it. For research-only workflows, names, roles, companies, and LinkedIn URLs may be enough. When contact details are required, enrich only the qualified subset.<\/p>\n<p>Use PhantomBuster&#8217;s Professional Email Finder to return verified work emails for leads that match your fit criteria. Respect provider terms and only contact leads that meet qualification standards. Keep fit and contactability separate. An available email makes a lead reachable, not more qualified.<\/p>\n<h3>Step 4: How do you return decision-ready output in the same session?<\/h3>\n<p>Return a decision-ready list so you can approve outreach or request another pass immediately. For each prospect, return:<\/p>\n<ul>\n<li>Name<\/li>\n<li>Current title<\/li>\n<li>Company<\/li>\n<li>LinkedIn profile URL<\/li>\n<li>Professional email, when available<\/li>\n<li>Fit score or priority level<\/li>\n<li>A short explanation of the ranking<\/li>\n<li>Missing or uncertain information<\/li>\n<\/ul>\n<p>A useful rationale might read: Strong role and location match. The prospect leads marketing at a SaaS company, but the company&#8217;s funding stage still needs confirmation. That is more useful than a raw export because it shows both the evidence and its limitation.<\/p>\n<h2>The sync vs. async decision rule: what belongs in a live loop<\/h2>\n<h3>Low-risk actions: keep these synchronous<\/h3>\n<p>Read and data-processing tasks are the strongest fit for a live Claude loop. Group them by outcome:<\/p>\n<p><strong>Collect:<\/strong> search export, URL resolution, activity extraction<br \/>\n<strong>Enrich:<\/strong> profile and company data extraction, contact enrichment<br \/>\n<strong>Decide:<\/strong> data cleaning and deduplication, ICP qualification, lead scoring and comparison\u00a0These tasks benefit from immediate feedback\u2014you can have Claude tighten an overbroad search and run a smaller second pass while you&#8217;re still in the conversation.<\/p>\n<p>Build this layer first. Validate the data quality, ranking logic, and error handling before deciding whether account-touching automation is necessary.<\/p>\n<h3>Account-touching actions: keep these paced and often reviewed<\/h3>\n<p><a href=\"https:\/\/phantombuster.com\/blog\/linkedin-automation\/what-phantombuster-automates\/\">Connection requests, messages, comments, follows, and multi-step sequences<\/a> create visible account activity. They should not run automatically just because Claude gives a lead a high score. Separate recommendation from execution:<\/p>\n<ol>\n<li>Claude recommends an action.<\/li>\n<li>Rules check eligibility and prevent duplicates.<\/li>\n<li>A human approves the campaign when needed.<\/li>\n<li>PhantomBuster executes through a <a href=\"https:\/\/phantombuster.com\/automations\/linkedin\/4545709793535249\/linkedin-outreach\/tutorial\">paced schedule<\/a>.<\/li>\n<li>Results and warnings are logged.<\/li>\n<\/ol>\n<p>Keep safeguards outside Claude: configure an account governor to set working windows, pacing, acceptance checks, exclusions, and pause conditions\u00a0before any sequence goes live. LinkedIn enforcement responds to behavioral patterns. Sudden spikes from a previously quiet account typically trigger more friction than steady, baseline activity. P<\/p>\n<p>hantomBuster calls this your <strong>profile activity DNA<\/strong>\u2014the pattern of actions your account normally performs in terms of volume, timing, and mix. Two accounts can run a similar workflow and experience different outcomes because their previous activity patterns are different.<\/p>\n<p>Avoid a <strong>slide-and-spike<\/strong> pattern where activity stays low, rises abruptly, and then disappears again.<\/p>\n<h2>Responsible execution boundaries: how to avoid the always-on outbound trap<\/h2>\n<h3>Why &#8220;real-time&#8221; does not mean &#8220;always-on&#8221;<\/h3>\n<p>Same-turn execution is useful for research, not continuous outreach. A system that extracts, decides, and sends without review can turn one poor assumption into several visible actions.<\/p>\n<p>Build in layers: start with extraction, add approved connection activity once the workflow is stable, and introduce follow-up only after genuine acceptance delays.<\/p>\n<h3>What to keep human-reviewed<\/h3>\n<p>Keep human approval where mistakes could affect the account or brand:<\/p>\n<ul>\n<li>Final outreach messages<\/li>\n<li>Strategic or high-value accounts<\/li>\n<li>Leads supported by weak or incomplete evidence<\/li>\n<li>Sensitive prospects that require manual handling<\/li>\n<\/ul>\n<p>Human review is not a failure of automation. It is a control point. As <a href=\"https:\/\/www.linkedin.com\/posts\/michel-lieben_best-ai-agents-in-2025-activity-7348298515061612544-GS4V?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAiYvqEBh8NZfdqma0twEHiFP2cM5eP1tiU\" target=\"_blank\" rel=\"noopener\">Michel Lieben notes<\/a>, teams often adopt AI personalization before validating the offer itself. Better copy cannot fix poor targeting or a weak reason to contact someone.<\/p>\n<h3>How to pace account-touching actions<\/h3>\n<p>Don&#8217;t fixate on a single &#8220;safe&#8221; number\u2014set predictable working windows, ramp gradually, and add automatic pauses on warnings. Use:<\/p>\n<ul>\n<li>Predictable working windows<\/li>\n<li>Gradual increases in activity<\/li>\n<li>Delays between visible actions<\/li>\n<li>Follow-up only after connection acceptance<\/li>\n<li>Lower starting activity for dormant accounts<\/li>\n<li>Automatic pauses when warning signals appear<\/li>\n<\/ul>\n<p>What matters is not only volume. It is how sharply activity changes from the account&#8217;s established pattern.<\/p>\n<h3>How to handle platform caps and common failure modes<\/h3>\n<p>Split large searches, batch inputs, and resume incomplete work rather than expecting one run to return everything. Monitor five areas:<\/p>\n<ul>\n<li><strong>Session health:<\/strong> If you see more than 2 disconnects per run, pause and reauthenticate.<\/li>\n<li><strong>Run size:<\/strong> When runs approach client or tool timeouts, reduce batch sizes.<\/li>\n<li><strong>Schema changes:<\/strong> Normalize missing or renamed fields before Claude evaluates them.<\/li>\n<li><strong>Duplicates:<\/strong> Check canonical LinkedIn URLs and CRM history\u00a0before adding records.<\/li>\n<li><strong>Permissions:<\/strong> Keep research tools separate from message-sending tools.<\/li>\n<\/ul>\n<p>Different failures require different responses. Search caps call for narrower queries. Session friction calls for a pause. Automation errors call for logs and output inspection.<\/p>\n<h2>Worked example:\u00a0How do you go from a company name to a prioritized lead list in one Claude turn?<\/h2>\n<h3>The prompt<\/h3>\n<blockquote><p>Find 15 VP-level marketing leaders at Series B SaaS companies in the Bay Area. Prioritize people who have posted on LinkedIn recently and whose companies have announced a significant funding round. Return a ranked list with name, title, company, profile URL, and a one-sentence reason for the ranking.<\/p><\/blockquote>\n<h3>What the agent does<\/h3>\n<ol>\n<li>Claude translates the request into search and qualification criteria.<\/li>\n<li>It calls LinkedIn Search Export to collect profile URLs and basic information.<\/li>\n<li>It removes titles, locations, and companies that clearly fall outside the brief.<\/li>\n<li>It sends the remaining profiles to LinkedIn Profile Scraper for deeper review.<\/li>\n<li>When recency matters, it uses PhantomBuster&#8217;s LinkedIn Activity Extractor to pull posts and engagement from your profile list.<\/li>\n<li>It enriches the qualified subset when contact details are required.<\/li>\n<li>It ranks the top 15 and states which evidence is confirmed, missing, or uncertain.<\/li>\n<\/ol>\n<p>Continuity means you can ask Claude\u2014right away\u2014to refine filters, explain scores, or prep a <a href=\"https:\/\/phantombuster.com\/blog\/pipeline-management\/linkedin-to-crm-workflow-phantombuster\/\">CRM-ready export<\/a>.<\/p>\n<h3>The output<\/h3>\n<div class=\"wp-layout-scroll-table\"><table style=\"min-width: 125px;\">\n<colgroup>\n<col style=\"min-width: 25px;\" \/>\n<col style=\"min-width: 25px;\" \/>\n<col style=\"min-width: 25px;\" \/>\n<col style=\"min-width: 25px;\" \/>\n<col style=\"min-width: 25px;\" \/><\/colgroup>\n<tbody>\n<tr>\n<td colspan=\"1\" rowspan=\"1\"><strong>Name<\/strong><\/td>\n<td colspan=\"1\" rowspan=\"1\"><strong>Title<\/strong><\/td>\n<td colspan=\"1\" rowspan=\"1\"><strong>Company<\/strong><\/td>\n<td colspan=\"1\" rowspan=\"1\"><strong>Priority<\/strong><\/td>\n<td colspan=\"1\" rowspan=\"1\"><strong>Ranking rationale<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Sarah Chen<\/td>\n<td colspan=\"1\" rowspan=\"1\">VP Marketing<\/td>\n<td colspan=\"1\" rowspan=\"1\">Acme SaaS<\/td>\n<td colspan=\"1\" rowspan=\"1\">High<\/td>\n<td colspan=\"1\" rowspan=\"1\">Strong role and location match, with recent posts on product-led growth. Funding stage appears relevant but should be confirmed.<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Michael Torres<\/td>\n<td colspan=\"1\" rowspan=\"1\">VP Growth Marketing<\/td>\n<td colspan=\"1\" rowspan=\"1\">Beta Corp<\/td>\n<td colspan=\"1\" rowspan=\"1\">High<\/td>\n<td colspan=\"1\" rowspan=\"1\">Owns the target function and has recent demand-generation activity. Company-stage evidence is incomplete.<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Aisha Patel<\/td>\n<td colspan=\"1\" rowspan=\"1\">Head of Marketing<\/td>\n<td colspan=\"1\" rowspan=\"1\">Delta Cloud<\/td>\n<td colspan=\"1\" rowspan=\"1\">Medium<\/td>\n<td colspan=\"1\" rowspan=\"1\">Strong company and functional fit, but seniority is slightly below the requested VP level.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>This is decision-ready output. The team can review the list, confirm uncertain evidence, choose who to contact, and plan outreach with the right approvals and pacing.<\/p>\n<h2>What this architecture does not do: why those limits matter<\/h2>\n<ul>\n<li><strong>It does not replace human judgment on outreach:<\/strong> The agent can research, enrich, score, and prioritize leads, but incomplete data and ambiguous signals still require review. Human judgment matters most for strategic accounts, sensitive industries, and messages that make specific claims about a prospect.<\/li>\n<li><strong>It does not guarantee safety through volume limits alone:<\/strong> Staying below a commonly cited number does not mean an activity pattern will look normal for a specific account. Gradual ramping, stable pacing, and consistent working windows matter more than chasing a universal &#8220;safe&#8221; threshold.<\/li>\n<li><strong>It does not eliminate the need for monitoring:<\/strong> Track session disconnects, reauthentication requests, failed runs, missing fields, duplicates, enrichment gaps, and declining lead quality. A workflow can keep returning rows while the underlying results become less useful.<\/li>\n<\/ul>\n<p>The practical goal is not maximum activity. It is a system that stays useful, reviewable, and stable over time.<\/p>\n<h2>Conclusion<\/h2>\n<p>A real-time LinkedIn prospecting agent keeps research, enrichment, and prioritization in one decision loop. This works because PhantomBuster&#8217;s streaming API and MCP server let you return structured, qualified leads to Claude in the same turn\u2014before you commit to any outreach. Build the research layer first. Validate data quality, ranking logic, and ICP fit.<\/p>\n<p>Add account-touching actions only after the workflow runs reliably and your team understands what good output looks like. When you do add outreach, keep it paced, human-reviewed, and separate from the agent&#8217;s recommendation layer.<\/p>\n<p>That&#8217;s how you build a system that improves reply rates and meeting quality without risking account health. <a href=\"https:\/\/phantombuster.com\/signup\" target=\"_blank\" rel=\"noopener\">Start your free trial<\/a><\/p>\n<h2>FAQ<\/h2>\n<h3>Which PhantomBuster Automations work best for synchronous agent use?<\/h3>\n<p>LinkedIn Search Export, LinkedIn Profile Scraper, LinkedIn Profile URL Finder, LinkedIn Activity Extractor, and Professional Email Finder work best because they return data Claude can qualify and prioritize\u00a0without creating visible account activity.\u00a0Start with these before adding connection or messaging Automations.<\/p>\n<h3>Should Claude automate connection requests in the live loop?<\/h3>\n<p>No. Claude can recommend the action\u00a0and explain why a lead qualifies, but connection requests and messages should run through separate pacing, eligibility, and approval controls.\u00a0This works because outreach safety depends on rate limits, working windows, and duplicate checks that sit outside the agent&#8217;s reasoning loop.<\/p>\n<h3>How should the agent handle large LinkedIn searches?<\/h3>\n<p>Split large markets into narrower, non-overlapping searches\u00a0using mutually exclusive filters like geography, seniority, or company size. Process them in batches of 50\u2013100 results and deduplicate\u00a0before enrichment.\u00a0Standard LinkedIn search returns approximately 1,000 results; Sales Navigator People searches return approximately 2,500.<\/p>\n<h3>How do I connect PhantomBuster&#8217;s MCP server to Claude?<\/h3>\n<p>Add PhantomBuster&#8217;s MCP server as a custom connector in Claude. Authenticate via OAuth and select the workspace you want Claude to access. The server exposes Automations, output retrieval, lead search, and filtered list creation\u2014no custom API wrapper needed.<\/p>\n<h3>What happens if a streaming run times out?<\/h3>\n<p>If the \/agents\/launch-sync stream times out before completion, your wrapper should fall back to polling the container or Automation status until the run finishes or fails. Return an error to Claude if the run does not complete within your timeout threshold, so it can retry with a smaller batch or narrower scope.<\/p>\n<h3>How do I keep outreach paced if multiple reps share the same account?<\/h3>\n<p>Use a shared account governor that tracks total daily activity across all reps. Set a team-wide cap, distribute it across reps proportionally or by priority, and pause all sequences when the cap is reached. This works because LinkedIn enforcement evaluates account-level patterns, not per-user behavior.<\/p>\n<h3>What metrics show the agent is improving pipeline quality?<\/h3>\n<p>Track reply rate, meeting booking rate, and the ratio of qualified meetings to total outreach. Compare leads scored by Claude against your baseline prospecting method. If reply rates increase and fewer meetings turn out to be poor fits, the agent&#8217;s qualification and prioritization logic is working.<\/p>\n<h3>How do I split large markets on LinkedIn without overlap?<\/h3>\n<p>Use mutually exclusive filters like geographic regions, seniority levels (IC vs. Manager vs. VP), or company size brackets. Run separate searches for each segment, deduplicate by canonical LinkedIn URL across all results, and merge the qualified leads into one ranked list before enrichment.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Build a PhantomBuster AI agent LinkedIn workflow with Claude using the Streaming API\u2014extract, enrich, and rank leads in one turn, with safe pacing for outreach.&#8221;<\/p>\n","protected":false},"author":8,"featured_media":13174,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[30],"tags":[59,34],"class_list":["post-11421","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-automation","tag-ai-automation","tag-automation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude - PhantomBuster Blog<\/title>\n<meta name=\"description\" content=\"Build a PhantomBuster AI agent LinkedIn workflow with Claude using the Streaming API\u2014extract, enrich, and rank leads in one turn, with safe pacing for outreach.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude - PhantomBuster Blog\" \/>\n<meta property=\"og:description\" content=\"Build a PhantomBuster AI agent LinkedIn workflow with Claude using the Streaming API\u2014extract, enrich, and rank leads in one turn, with safe pacing for outreach.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/\" \/>\n<meta property=\"og:site_name\" content=\"PhantomBuster Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-16T15:20:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1264\" \/>\n\t<meta property=\"og:image:height\" content=\"848\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Phantom Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Phantom Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/\"},\"author\":{\"name\":\"Phantom Team\",\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/#\\\/schema\\\/person\\\/7233a7fadfa58fe280c099c935ee0e16\"},\"headline\":\"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude\",\"datePublished\":\"2026-07-16T15:20:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/\"},\"wordCount\":3052,\"image\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png\",\"keywords\":[\"AI automation\",\"automation\"],\"articleSection\":[\"AI Automation\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/\",\"url\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/\",\"name\":\"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude - PhantomBuster Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png\",\"datePublished\":\"2026-07-16T15:20:52+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/#\\\/schema\\\/person\\\/7233a7fadfa58fe280c099c935ee0e16\"},\"description\":\"Build a PhantomBuster AI agent LinkedIn workflow with Claude using the Streaming API\u2014extract, enrich, and rank leads in one turn, with safe pacing for outreach.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/#primaryimage\",\"url\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png\",\"contentUrl\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png\",\"width\":1264,\"height\":848,\"caption\":\"Three chips on a soft blush pink gradient background; text reads \\\"How to,\\\" \\\"Build,\\\" and \\\"Real-Time LinkedIn Prospecting Agent\\\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/ai-automation\\\/phantombuster-ai-agent-linkedin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Automation\",\"item\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/category\\\/ai-automation\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/\",\"name\":\"PhantomBuster Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/#\\\/schema\\\/person\\\/7233a7fadfa58fe280c099c935ee0e16\",\"name\":\"Phantom Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/cropped-Phantombuster_logo_-_square-1-1-96x96.jpg\",\"url\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/cropped-Phantombuster_logo_-_square-1-1-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/cropped-Phantombuster_logo_-_square-1-1-96x96.jpg\",\"caption\":\"Phantom Team\"},\"description\":\"PhantomBuster\u2019s mission is to enable thousands of companies to boost their growth by finding and connecting with their ideal customers on major social media platforms.\",\"url\":\"https:\\\/\\\/phantombuster.com\\\/blog\\\/author\\\/the-phantombuster-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude - PhantomBuster Blog","description":"Build a PhantomBuster AI agent LinkedIn workflow with Claude using the Streaming API\u2014extract, enrich, and rank leads in one turn, with safe pacing for outreach.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/","og_locale":"en_US","og_type":"article","og_title":"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude - PhantomBuster Blog","og_description":"Build a PhantomBuster AI agent LinkedIn workflow with Claude using the Streaming API\u2014extract, enrich, and rank leads in one turn, with safe pacing for outreach.","og_url":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/","og_site_name":"PhantomBuster Blog","article_published_time":"2026-07-16T15:20:52+00:00","og_image":[{"width":1264,"height":848,"url":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png","type":"image\/png"}],"author":"Phantom Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Phantom Team","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/#article","isPartOf":{"@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/"},"author":{"name":"Phantom Team","@id":"https:\/\/phantombuster.com\/blog\/#\/schema\/person\/7233a7fadfa58fe280c099c935ee0e16"},"headline":"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude","datePublished":"2026-07-16T15:20:52+00:00","mainEntityOfPage":{"@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/"},"wordCount":3052,"image":{"@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/#primaryimage"},"thumbnailUrl":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png","keywords":["AI automation","automation"],"articleSection":["AI Automation"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/","url":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/","name":"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude - PhantomBuster Blog","isPartOf":{"@id":"https:\/\/phantombuster.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/#primaryimage"},"image":{"@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/#primaryimage"},"thumbnailUrl":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png","datePublished":"2026-07-16T15:20:52+00:00","author":{"@id":"https:\/\/phantombuster.com\/blog\/#\/schema\/person\/7233a7fadfa58fe280c099c935ee0e16"},"description":"Build a PhantomBuster AI agent LinkedIn workflow with Claude using the Streaming API\u2014extract, enrich, and rank leads in one turn, with safe pacing for outreach.","breadcrumb":{"@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/#primaryimage","url":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png","contentUrl":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2026\/07\/How-to-Build-a-Real-Time-LinkedIn-Prospecting-Agent-with-PhantomBuster-and-Claude.png","width":1264,"height":848,"caption":"Three chips on a soft blush pink gradient background; text reads \"How to,\" \"Build,\" and \"Real-Time LinkedIn Prospecting Agent\""},{"@type":"BreadcrumbList","@id":"https:\/\/phantombuster.com\/blog\/ai-automation\/phantombuster-ai-agent-linkedin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/phantombuster.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AI Automation","item":"https:\/\/phantombuster.com\/blog\/category\/ai-automation\/"},{"@type":"ListItem","position":3,"name":"How to Build a Real-Time LinkedIn Prospecting Agent with PhantomBuster and Claude"}]},{"@type":"WebSite","@id":"https:\/\/phantombuster.com\/blog\/#website","url":"https:\/\/phantombuster.com\/blog\/","name":"PhantomBuster Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/phantombuster.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/phantombuster.com\/blog\/#\/schema\/person\/7233a7fadfa58fe280c099c935ee0e16","name":"Phantom Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2025\/03\/cropped-Phantombuster_logo_-_square-1-1-96x96.jpg","url":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2025\/03\/cropped-Phantombuster_logo_-_square-1-1-96x96.jpg","contentUrl":"https:\/\/phantombuster.com\/blog\/wp-content\/uploads\/2025\/03\/cropped-Phantombuster_logo_-_square-1-1-96x96.jpg","caption":"Phantom Team"},"description":"PhantomBuster\u2019s mission is to enable thousands of companies to boost their growth by finding and connecting with their ideal customers on major social media platforms.","url":"https:\/\/phantombuster.com\/blog\/author\/the-phantombuster-team\/"}]}},"_links":{"self":[{"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/posts\/11421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/comments?post=11421"}],"version-history":[{"count":5,"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/posts\/11421\/revisions"}],"predecessor-version":[{"id":13175,"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/posts\/11421\/revisions\/13175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/media\/13174"}],"wp:attachment":[{"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/media?parent=11421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/categories?post=11421"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phantombuster.com\/blog\/wp-json\/wp\/v2\/tags?post=11421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}