@sellable/mcp 0.1.232 → 0.1.234
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/leads.js +2 -0
- package/package.json +1 -1
- package/skills/create-campaign/SKILL.md +19 -0
- package/skills/create-campaign/core/providers/prospeo.json +2 -2
- package/skills/create-campaign/references/provider-selection-strategy.md +1 -1
- package/skills/create-campaign-v2/SKILL.md +19 -0
- package/skills/find-leads/SKILL.md +19 -0
- package/skills/providers/prospeo.md +30 -0
package/dist/tools/leads.js
CHANGED
|
@@ -522,6 +522,7 @@ search_prospeo_companies({
|
|
|
522
522
|
}
|
|
523
523
|
})
|
|
524
524
|
Do not invent company_oids. When seedCompanies or seedDomains are present, omit company_oids and let the backend resolve real Prospeo company IDs.
|
|
525
|
+
Route lookalike seed selection by campaign intent. For outbound/sales prospecting, use explicit target/account/customer domains or company names first, then verified past-customer/account evidence from research, CRM, or proof; never substitute the sender's company/domain or employer history unless it is confirmed as a target/customer seed or the user asks for sender-company peers. For job-search/application campaigns, current/past employers can be lookalike seeds because they define the candidate-fit lane. If intent or seed source is ambiguous, ask target/customer domains vs current/past employers, or switch to non-lookalike filters under YOLO. If the user asks for a geography like Germany, preserve it in company discovery where supported and in the follow-on people search.
|
|
525
526
|
After account approval, copy the companySearchToken exactly into confirm_prospeo_company_accounts; package-backed MCP may return a short mcp-prospeo-company-search-token:* reference to avoid long-token copy errors.
|
|
526
527
|
For accounts in the news: { "company_news": { "categories": ["Funding & Investment"], "timeframe_days": 90 } }.
|
|
527
528
|
For awards: { "company_awards": { "include": ["G2"], "match_mode": "CONTAINS" } }.
|
|
@@ -1498,6 +1499,7 @@ export const leadToolDefinitions = [
|
|
|
1498
1499
|
{
|
|
1499
1500
|
name: "search_prospeo_companies",
|
|
1500
1501
|
description: 'Search Prospeo for company/account results through the public /search-company lane. Requires get_provider_prompt({ provider: "prospeo" }) first. Use this first for company lookalike/account asks such as "find companies like Red Rover that use AI and have an API", "find founders at companies like our best customers", or "find accounts in the news about funding or partnerships". Results are accounts, not finished people leads. Review the returned accounts with the user, then call confirm_prospeo_company_accounts with the companySearchToken to create a domainFilterId before using search_prospeo for people at those accounts. Supports company lookalike, confirmed AI Attributes including pricing, company news, awards, website search, products/services, integrations, key customers, operating languages, Google discovery, headcount by location, structured company ICP, and experimental website traffic/key executive filters. Do not invent company_oids; when seedCompanies or seedDomains are present, omit company_oids and let the backend resolve real Prospeo IDs. company_intent and support-channel guesses like phone/email/chat/ticket/social are unsupported. Public API rows do not include lookalike tier/score/reason. If output includes omittedFilters or warnings, report them as truthful MCP/backend safety handling rather than claiming Prospeo enforced those omitted constraints. ' +
|
|
1502
|
+
"Route lookalike seeds by campaign intent: outbound uses explicit target/account/customer domains or verified past-customer accounts, not the sender company/domain; job-search/application campaigns may use current/past employers as existing-company seeds. Preserve geography like Germany in account or people filters. " +
|
|
1501
1503
|
prospeoCompanyAccountWorkflowGuidance,
|
|
1502
1504
|
inputSchema: {
|
|
1503
1505
|
type: "object",
|
package/package.json
CHANGED
|
@@ -220,6 +220,25 @@ reference to avoid long-token copy errors. Account rows are not people leads
|
|
|
220
220
|
yet. The confirmation creates the `domainFilterId` that constrains the follow-on
|
|
221
221
|
`search_prospeo` people search.
|
|
222
222
|
|
|
223
|
+
For lookalike seed selection, route by campaign intent. In outbound/sales
|
|
224
|
+
prospecting campaigns, treat "best customer", "top customer", "target domains",
|
|
225
|
+
"approved accounts", "customer domains", and similar wording as target
|
|
226
|
+
account/customer seed asks. Use explicit user-provided target/account/customer
|
|
227
|
+
domains or company names first, then verified past-customer/account evidence from
|
|
228
|
+
research, CRM, or proof. Never substitute the sender's current company/domain or
|
|
229
|
+
employer history as a lookalike seed for outbound unless the user explicitly
|
|
230
|
+
confirms that domain is a target/customer seed or asks for sender-company peers.
|
|
231
|
+
In job-search/application campaigns, lookalike seeds may be existing companies
|
|
232
|
+
from the candidate's current or past employers because those companies define
|
|
233
|
+
the candidate-fit lane. If campaign intent or seed source is ambiguous, ask
|
|
234
|
+
whether the seed should be target/customer domains or current/past employers; if
|
|
235
|
+
YOLO requires moving without a seed, switch to non-lookalike company filters
|
|
236
|
+
instead of inventing a seed. If the user asks for a geography like Germany,
|
|
237
|
+
preserve it in account discovery where supported (`company_location_search` or
|
|
238
|
+
`company_icp.geographic_markets`) and in follow-on people search
|
|
239
|
+
(`person_location_search`); do not drop geography when moving from lookalike
|
|
240
|
+
accounts to people leads.
|
|
241
|
+
|
|
223
242
|
Prospeo company/account search is useful when the source plan depends on
|
|
224
243
|
website traffic (`company_website_traffic`), confirmed AI Attributes including
|
|
225
244
|
`pricing`, `uses_ai`, `has_api`, `has_chrome_extension`, `has_sso`,
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"useWhen": [
|
|
25
25
|
"You want Prospeo filters or domain-based search",
|
|
26
26
|
"You need company lookalike account discovery before finding people",
|
|
27
|
-
"You want companies like X, best-customer lookalikes, or accounts using AI/API/SSO/Chrome extensions",
|
|
27
|
+
"You want companies like X, target-domain, best-customer/top-customer, or job-search employer lookalikes, or accounts using AI/API/SSO/Chrome extensions",
|
|
28
28
|
"You need companies hiring for specific roles using job-posting filters",
|
|
29
29
|
"You need high deliverability from Prospeo"
|
|
30
30
|
],
|
|
31
31
|
"avoidWhen": ["You need LinkedIn activity filters"],
|
|
32
32
|
"reason": "Strong for hiring-led search, company/account lookalikes, Prospeo-specific filters, verified contacts, and domain lists.",
|
|
33
|
-
"prose": "Since you're targeting **{icp}**, I'd recommend **Prospeo**.\n\nHere's why:\n- Prospeo can discover lookalike accounts first, then turn approved accounts into a domainFilterId for people search\n- Prospeo can filter for companies hiring specific roles with job-posting filters\n- We can pair those company signals with buyer/referrer titles and verified-contact coverage\n\nFor lookalike accounts, I will show an account sample first; those account rows are not people leads yet. After approval, I will use the companySearchToken to confirm the accounts, then search people at the returned domainFilterId.\n\nShould I search Prospeo for {icp}?"
|
|
33
|
+
"prose": "Since you're targeting **{icp}**, I'd recommend **Prospeo**.\n\nHere's why:\n- Prospeo can discover lookalike accounts first, then turn approved accounts into a domainFilterId for people search\n- Prospeo can filter for companies hiring specific roles with job-posting filters\n- We can pair those company signals with buyer/referrer titles and verified-contact coverage\n\nFor lookalike accounts, I will show an account sample first; those account rows are not people leads yet. After approval, I will use the companySearchToken to confirm the accounts, then search people at the returned domainFilterId. For outbound lookalikes, I will use target/account/customer domains or verified past-customer accounts, not the sender's company. For job-search/application lookalikes, I can use current or past employers as existing-company seeds.\n\nShould I search Prospeo for {icp}?"
|
|
34
34
|
},
|
|
35
35
|
"askOption": {
|
|
36
36
|
"label": "Prospeo",
|
|
@@ -99,7 +99,7 @@ Is your ICP LinkedIn-active (founders, sales, marketing, GTM, engineers)?
|
|
|
99
99
|
Need hiring-by-role filters? -> Prospeo (has company job-posting filters)
|
|
100
100
|
Need tech stack targeting? -> Apollo (has technology filters)
|
|
101
101
|
Have specific company names/domains? -> Sales Navigator for small lists or Prospeo with domainFilterId
|
|
102
|
-
Need companies like X, best-customer lookalikes, AI/API/SSO/Chrome extension filters, news/awards/integrations/key customers? -> Prospeo account discovery first
|
|
102
|
+
Need companies like X, target-domain lookalikes, best-customer/top-customer lookalikes, job-search employer lookalikes, AI/API/SSO/Chrome extension filters, news/awards/integrations/key customers? -> Prospeo account discovery first; outbound uses target/account/customer domains or verified past-customer accounts, while job-search/application campaigns can use current/past employers as existing-company seeds
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
## ICP-to-Provider Quick Reference
|
|
@@ -188,6 +188,25 @@ Show the account sample first, ask approval, then pass the returned
|
|
|
188
188
|
`confirm_prospeo_company_accounts`. The confirmed `domainFilterId` constrains
|
|
189
189
|
the follow-on people search; account rows are not people leads yet.
|
|
190
190
|
|
|
191
|
+
For lookalike seed selection, route by campaign intent. In outbound/sales
|
|
192
|
+
prospecting campaigns, treat "best customer", "top customer", "target domains",
|
|
193
|
+
"approved accounts", "customer domains", and similar wording as target
|
|
194
|
+
account/customer seed asks. Use explicit user-provided target/account/customer
|
|
195
|
+
domains or company names first, then verified past-customer/account evidence from
|
|
196
|
+
research, CRM, or proof. Never substitute the sender's current company/domain or
|
|
197
|
+
employer history as a lookalike seed for outbound unless the user explicitly
|
|
198
|
+
confirms that domain is a target/customer seed or asks for sender-company peers.
|
|
199
|
+
In job-search/application campaigns, lookalike seeds may be existing companies
|
|
200
|
+
from the candidate's current or past employers because those companies define
|
|
201
|
+
the candidate-fit lane. If campaign intent or seed source is ambiguous, ask
|
|
202
|
+
whether the seed should be target/customer domains or current/past employers; if
|
|
203
|
+
YOLO requires moving without a seed, switch to non-lookalike company filters
|
|
204
|
+
instead of inventing a seed. If the user asks for a geography like Germany,
|
|
205
|
+
preserve it in account discovery where supported (`company_location_search` or
|
|
206
|
+
`company_icp.geographic_markets`) and in follow-on people search
|
|
207
|
+
(`person_location_search`); do not drop geography when moving from lookalike
|
|
208
|
+
accounts to people leads.
|
|
209
|
+
|
|
191
210
|
Before any provider prompt/search/scout call, move the watched campaign to
|
|
192
211
|
source selection, show `## Find Buyers Plan`, then open `request_user_input`
|
|
193
212
|
without repeating the URL. The plan must appear before the question and only
|
|
@@ -391,6 +391,25 @@ Use first for broad persona expansion, ABM/domain targeting, hiring-led targetin
|
|
|
391
391
|
- For companies like X, our best customers, lookalike accounts, companies that use AI, companies with API/SSO/Chrome extension, or
|
|
392
392
|
news/award/integration/key-customer account filters, use
|
|
393
393
|
`search_prospeo_companies` before people search.
|
|
394
|
+
- For lookalike seed selection, route by campaign intent. In outbound/sales
|
|
395
|
+
prospecting campaigns, treat "best customer", "top customer", "target
|
|
396
|
+
domains", "approved accounts", "customer domains", and similar wording as
|
|
397
|
+
target account/customer seed asks. Use explicit user-provided
|
|
398
|
+
target/account/customer domains or company names first, then verified
|
|
399
|
+
past-customer/account evidence from research, CRM, or proof. Never substitute
|
|
400
|
+
the sender's current company/domain or employer history as a lookalike seed for
|
|
401
|
+
outbound unless the user explicitly confirms that domain is a target/customer
|
|
402
|
+
seed or asks for sender-company peers. In job-search/application campaigns,
|
|
403
|
+
lookalike seeds may be existing companies from the candidate's current or past
|
|
404
|
+
employers because those companies define the candidate-fit lane. If campaign
|
|
405
|
+
intent or seed source is ambiguous, ask whether the seed should be
|
|
406
|
+
target/customer domains or current/past employers; if YOLO requires moving
|
|
407
|
+
without a seed, switch to non-lookalike company filters instead of inventing a
|
|
408
|
+
seed. If the user asks for a geography like Germany, preserve it in account
|
|
409
|
+
discovery where supported (`company_location_search` or
|
|
410
|
+
`company_icp.geographic_markets`) and in follow-on people search
|
|
411
|
+
(`person_location_search`); do not drop geography when moving from lookalike
|
|
412
|
+
accounts to people leads.
|
|
394
413
|
- Use Prospeo company/account search when the ask depends on website traffic
|
|
395
414
|
(`company_website_traffic`), confirmed AI Attributes including `pricing`,
|
|
396
415
|
`uses_ai`, `has_api`, `has_chrome_extension`, `has_sso`, `has_open_source`,
|
|
@@ -87,6 +87,25 @@ backend resolves real Prospeo company IDs. Do not invent company_oids such as
|
|
|
87
87
|
placeholder IDs from examples. Only send `company_lookalike.company_oids` when
|
|
88
88
|
they are real Prospeo company IDs returned by a prior tool/search.
|
|
89
89
|
|
|
90
|
+
For lookalike seed selection, route by campaign intent. In outbound/sales
|
|
91
|
+
prospecting campaigns, treat "best customer", "top customer", "target domains",
|
|
92
|
+
"approved accounts", "customer domains", and similar wording as target
|
|
93
|
+
account/customer seed asks. Use explicit user-provided target/account/customer
|
|
94
|
+
domains or company names first, then verified past-customer/account evidence from
|
|
95
|
+
research, CRM, or proof. Never substitute the sender's current company/domain or
|
|
96
|
+
employer history as a lookalike seed for outbound unless the user explicitly
|
|
97
|
+
confirms that domain is a target/customer seed or asks for sender-company peers.
|
|
98
|
+
In job-search/application campaigns, lookalike seeds may be existing companies
|
|
99
|
+
from the candidate's current or past employers because those companies define
|
|
100
|
+
the candidate-fit lane. If campaign intent or seed source is ambiguous, ask
|
|
101
|
+
whether the seed should be target/customer domains or current/past employers; if
|
|
102
|
+
YOLO requires moving without a seed, switch to non-lookalike company filters
|
|
103
|
+
instead of inventing a seed. If the user asks for a geography like Germany,
|
|
104
|
+
preserve it in account discovery where supported (`company_location_search` or
|
|
105
|
+
`company_icp.geographic_markets`) and in follow-on people search
|
|
106
|
+
(`person_location_search`); do not drop geography when moving from lookalike
|
|
107
|
+
accounts to people leads.
|
|
108
|
+
|
|
90
109
|
For structured ICP sizing, pair `company_icp.company_sizes` with
|
|
91
110
|
`company_headcount_range` when possible. The MCP normalizer derives headcount
|
|
92
111
|
ranges for `micro`, `smb`, `midmarket`, `enterprise`, and `large_enterprise`
|
|
@@ -109,6 +128,9 @@ Avoidable-400 guardrails:
|
|
|
109
128
|
- For seeded company lookalikes, keep the first call simple: seed company/domain + `company_lookalike.minimum_tier` + confirmed attributes, headcount, or industry. Do not add `company_website_search`, `company_keywords`, or `company_icp` until the account sample proves the seed works.
|
|
110
129
|
- For seeded company lookalikes, do not combine `has_api` and `has_sso` in the first call; start with `has_api` and refine after a valid account sample if SSO still matters.
|
|
111
130
|
- Do not send placeholder seed names such as `another approved best-customer seed`; use only concrete company names or domains you have actually resolved.
|
|
131
|
+
- Do not silently use the sender company as a customer lookalike seed for
|
|
132
|
+
outbound; use explicit target/account/customer domains or verified
|
|
133
|
+
past-customer evidence instead.
|
|
112
134
|
- If the user references another approved seed but does not name it, ask for the
|
|
113
135
|
seed or run a one-seed lookalike without `match_all`; do not invent a second
|
|
114
136
|
seed from examples, competitors, or exclusions.
|
|
@@ -275,6 +297,14 @@ Preference rules:
|
|
|
275
297
|
- Run `company_key_customers` as a standalone first-pass filter. Do not combine `company_key_customers` with ICP, website-search, keyword, attribute, industry, or headcount filters until the standalone pass proves useful.
|
|
276
298
|
- For seeded lookalikes, avoid first-call `company_website_search`, `company_keywords`, and `company_icp`; use resolved seeds plus lookalike tier and simple attributes/headcount/industry first.
|
|
277
299
|
- For seeded lookalikes, avoid first-call `has_api` + `has_sso`; use one confirmed attribute first, then refine.
|
|
300
|
+
- For outbound customer, best-customer, or top-customer lookalikes, never use the
|
|
301
|
+
sender's current company/domain as a silent substitute; use explicit
|
|
302
|
+
target/account/customer domains or verified past-customer evidence. For
|
|
303
|
+
job-search/application campaigns, current/past employers may be the lookalike
|
|
304
|
+
seeds because the campaign is about finding similar employers.
|
|
305
|
+
- If the user gives geography like Germany, keep that geography in the company
|
|
306
|
+
discovery or follow-on people filters instead of dropping it after account
|
|
307
|
+
confirmation.
|
|
278
308
|
- Do not invent missing approved seeds. If a second seed is not named, ask for it
|
|
279
309
|
or run one seed without `match_all`.
|
|
280
310
|
- Prefer `seedDomains` for single-seed lookalikes. For multi-seed `match_all`
|