Lead source agents
Create a source agent
Create a new source agent (the lead finder) in your workspace. It finds people matching your targeting through its signals, scores them (0-100) and imports the ones scoring at least min_lead_score into a list. Needs the campaigns:write scope. Free: lead finding is included in your plan.
A list is optional: send list_id to import into an existing list (create one first with POST /api/v1/lists); without it the agent gets a new list named Agent · <name>. The targeting is saved as a new version of your ICP. Your company profile (name, offer, value propositions) is copied from your workspace's latest ICP; the targeting fields come only from this request.
A source agent only finds leads. It is the same record as the outreach campaign of the same id under Campaigns, and it starts with outreach off. To source and reach out to leads automatically, give that campaign a sequence and a sender, then turn outreach on with PATCH /api/v1/campaigns/{id}/status.
Signals (signals): the agent finds leads through its signals. signals is optional; an agent without signals is accepted but has nothing to run. Each signal is a { "type", "values" } object and the values format depends on the type:
Signal type | values |
|---|---|
competitor_engagement | LinkedIn company pages of competitors (people engaging with their posts) |
influencer_engagement | LinkedIn profiles of creators your buyers follow |
own_content_engagement | Your LinkedIn profile or company page |
company_followers | Your company page (followers; page admins only) |
linkedin_import | A Sales Navigator list or search URL |
keyword_engagement | Topics your buyers post about |
tech_stack | Technologies to detect on matching companies' websites |
lookalike | Optional: a keyword query for the lookalike search |
hiring | Optional: role keywords of the job openings to watch |
funding | Optional: RSS feeds announcing funding rounds |
existing_list | Ids of your lists whose contacts the agent adopts |
job_change, top_active, new_decision_maker, hiring_surge, profile_visitors | none |
https://app.replysparrow.com/api/v1/agentsAuthorizations
Body
application/jsonAgent name
Import leads into this existing list instead of a new one
Job titles of the people to find (up to 20). A single string is accepted as a one-item list.
Example: ["VP Sales","Head of Sales"]
Industries of their companies, as in List suggested industries. A single string is accepted as a one-item list.
Headcount brackets: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+. A single string is accepted as a one-item list.
Locations of the people, as in List suggested locations. A single string is accepted as a one-item list.
Company types: Private Company, Public Company, Startup, Non-profit, Government, Educational Institution. A single string is accepted as a one-item list.
Company names (or short title words) the agent never sources from. A single string is accepted as a one-item list.
A lead must mention at least one of these. A single string is accepted as a one-item list.
Drop agencies, consultancies, freelancers and B2B service companies (default false)
Skip the ICP (Ideal Customer Profile) filter: keep every lead the signals find, without scoring it (default false)
Minimum lead score, 0-100 (default 60). 75 means a lead needs a score of at least 75 out of 100.
Default: 60
Signals to watch
Create the agent paused (default false: it starts finding leads)
Response
application/jsonAgent created
Agent id
Agent name
Where the agent looks for leads
True when the agent is not finding leads
Minimum lead score (0-100) a lead needs to be kept
Creation time
Last change
Job titles of the people to find
Industries of their companies (see List suggested industries)
Company headcount brackets, e.g. 51-200
Where the people are (see List suggested locations)
Company types, e.g. Private Company, Startup
Companies (and title words) never to source from
A lead must mention one of these in headline, title, About or company
Drop agencies, consultancies, freelancers and other B2B service companies
Keep every lead the signals find, without scoring it against the ICP
List the agent imports its leads into
When the agent last looked for leads
The last error the agent hit, if any
curl --request POST \ --url https://app.replysparrow.com/api/v1/agents \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "VP Sales in US SaaS", "target_job_titles": [ "VP Sales", "Head of Sales" ], "target_industries": [ "Software Development" ], "target_company_sizes": [ "51-200", "201-500" ], "target_locations": [ "United States" ], "ignored_companies": [ "Globex" ], "exclude_service_providers": true, "min_lead_score": 70, "signals": [ { "type": "competitor_engagement", "values": [ "https://www.linkedin.com/company/globex/" ] }, { "type": "job_change" } ]}'{ "id": "5b0f3c2e-8a8e-4bd1-9a51-6f1f3c0f2a10", "name": "VP Sales in US SaaS", "target_job_titles": [ "VP Sales", "Head of Sales" ], "target_industries": [ "Software Development" ], "target_company_sizes": [ "51-200", "201-500" ], "target_locations": [ "United States" ], "target_company_types": [], "ignored_companies": [ "Globex" ], "mandatory_keywords": [], "exclude_service_providers": true, "skip_icp_filter": false, "signals": [ { "id": "8e2d…", "type": "competitor_engagement", "values": [ "https://www.linkedin.com/company/globex/" ], "enabled": true } ], "paused": false, "status": "active", "min_lead_score": 70, "list_id": "c1a4…", "last_run": null, "last_error": null, "created_at": "2026-10-24T09:12:44.000Z", "updated_at": "2026-10-24T09:12:44.000Z"}