@sellable/mcp 0.1.232 → 0.1.233
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 +17 -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 +17 -0
- package/skills/find-leads/SKILL.md +16 -0
- package/skills/providers/prospeo.md +26 -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
|
+
For customer, best-customer, top-customer, or past-company lookalikes, never substitute the sender's current company or domain as a lookalike seed and never use the sender's current company/domain as a silent substitute. Use explicit customer/account/company/domain input first, then verified customer/worked-with/past-company evidence from research/proof, then ask for the missing seed or switch to non-lookalike company filters if YOLO requires moving without a seed. Label profile/work-history seeds as past-company/public proof clues, not confirmed customers unless the source proves customer status. 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
|
+
"For best-customer, top-customer, customer, or past-company lookalikes, never substitute the sender's current company/domain as the seed unless current-company peers were explicitly requested; use explicit or verified customer/account/past-company seeds and 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,23 @@ 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, treat "best customer", "top customer", "past
|
|
224
|
+
companies", "companies I worked with", and similar wording as customer/account
|
|
225
|
+
or past-company seed asks. Never substitute the sender's current company or
|
|
226
|
+
domain as a lookalike seed; never use the sender's current company/domain as a
|
|
227
|
+
silent substitute unless the user explicitly asks for companies like the current
|
|
228
|
+
employer, sender company, or its direct peers/competitors. Seed priority is:
|
|
229
|
+
explicit user-provided customer/account/company/domain; verified
|
|
230
|
+
customer/worked-with/past-company evidence from research/proof; then ask for the
|
|
231
|
+
missing seed or switch to non-lookalike company filters if YOLO requires moving
|
|
232
|
+
without a seed. If using profile/work-history seeds, label them as
|
|
233
|
+
past-company/public proof clues, not confirmed customers unless the source proves
|
|
234
|
+
customer status. If the user asks for a geography like Germany, preserve it in
|
|
235
|
+
account discovery where supported (`company_location_search` or
|
|
236
|
+
`company_icp.geographic_markets`) and in follow-on people search
|
|
237
|
+
(`person_location_search`); do not drop geography when moving from lookalike
|
|
238
|
+
accounts to people leads.
|
|
239
|
+
|
|
223
240
|
Prospeo company/account search is useful when the source plan depends on
|
|
224
241
|
website traffic (`company_website_traffic`), confirmed AI Attributes including
|
|
225
242
|
`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, best-customer/top-customer/past-company 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 best-customer, top-customer, or past-company lookalikes, I will use explicit customer/account/past-company seeds, not the sender's current company, unless you explicitly ask for current-company peers.\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, best-customer/top-customer/past-company lookalikes, AI/API/SSO/Chrome extension filters, news/awards/integrations/key customers? -> Prospeo account discovery first; use explicit customer/account/past-company seeds, not the sender's current company unless current-company peers were requested
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
## ICP-to-Provider Quick Reference
|
|
@@ -188,6 +188,23 @@ 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, treat "best customer", "top customer", "past
|
|
192
|
+
companies", "companies I worked with", and similar wording as customer/account
|
|
193
|
+
or past-company seed asks. Never substitute the sender's current company or
|
|
194
|
+
domain as a lookalike seed; never use the sender's current company/domain as a
|
|
195
|
+
silent substitute unless the user explicitly asks for companies like the current
|
|
196
|
+
employer, sender company, or its direct peers/competitors. Seed priority is:
|
|
197
|
+
explicit user-provided customer/account/company/domain; verified
|
|
198
|
+
customer/worked-with/past-company evidence from research/proof; then ask for the
|
|
199
|
+
missing seed or switch to non-lookalike company filters if YOLO requires moving
|
|
200
|
+
without a seed. If using profile/work-history seeds, label them as
|
|
201
|
+
past-company/public proof clues, not confirmed customers unless the source proves
|
|
202
|
+
customer status. If the user asks for a geography like Germany, preserve it in
|
|
203
|
+
account discovery where supported (`company_location_search` or
|
|
204
|
+
`company_icp.geographic_markets`) and in follow-on people search
|
|
205
|
+
(`person_location_search`); do not drop geography when moving from lookalike
|
|
206
|
+
accounts to people leads.
|
|
207
|
+
|
|
191
208
|
Before any provider prompt/search/scout call, move the watched campaign to
|
|
192
209
|
source selection, show `## Find Buyers Plan`, then open `request_user_input`
|
|
193
210
|
without repeating the URL. The plan must appear before the question and only
|
|
@@ -391,6 +391,22 @@ 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, treat "best customer", "top customer", "past
|
|
395
|
+
companies", "companies I worked with", and similar wording as
|
|
396
|
+
customer/account or past-company seed asks. Never substitute the sender's
|
|
397
|
+
current company or domain as a lookalike seed; never use the sender's current
|
|
398
|
+
company/domain as a silent substitute unless the user explicitly asks for
|
|
399
|
+
companies like the current employer, sender company, or its direct
|
|
400
|
+
peers/competitors. Seed priority is: explicit user-provided
|
|
401
|
+
customer/account/company/domain; verified customer/worked-with/past-company
|
|
402
|
+
evidence from research/proof; then ask for the missing seed or switch to
|
|
403
|
+
non-lookalike company filters if YOLO requires moving without a seed. If using
|
|
404
|
+
profile/work-history seeds, label them as past-company/public proof clues, not
|
|
405
|
+
confirmed customers unless the source proves customer status. If the user asks
|
|
406
|
+
for a geography like Germany, preserve it in account discovery where supported
|
|
407
|
+
(`company_location_search` or `company_icp.geographic_markets`) and in
|
|
408
|
+
follow-on people search (`person_location_search`); do not drop geography when
|
|
409
|
+
moving from lookalike accounts to people leads.
|
|
394
410
|
- Use Prospeo company/account search when the ask depends on website traffic
|
|
395
411
|
(`company_website_traffic`), confirmed AI Attributes including `pricing`,
|
|
396
412
|
`uses_ai`, `has_api`, `has_chrome_extension`, `has_sso`, `has_open_source`,
|
|
@@ -87,6 +87,23 @@ 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, treat "best customer", "top customer", "past
|
|
91
|
+
companies", "companies I worked with", and similar wording as customer/account
|
|
92
|
+
or past-company seed asks. Never substitute the sender's current company/domain
|
|
93
|
+
as a lookalike seed, and never use the sender's current company/domain as a
|
|
94
|
+
silent substitute unless the user explicitly asks for companies like the current
|
|
95
|
+
employer, sender company, or its direct peers/competitors. Seed priority is:
|
|
96
|
+
explicit user-provided customer/account/company/domain; verified
|
|
97
|
+
customer/worked-with/past-company evidence from research/proof; then ask for the
|
|
98
|
+
missing seed or switch to non-lookalike company filters if YOLO requires moving
|
|
99
|
+
without a seed. If using profile/work-history seeds, label them as
|
|
100
|
+
past-company/public proof clues, not confirmed customers unless the source proves
|
|
101
|
+
customer status. If the user asks for a geography like Germany, preserve it in
|
|
102
|
+
account discovery where supported (`company_location_search` or
|
|
103
|
+
`company_icp.geographic_markets`) and in follow-on people search
|
|
104
|
+
(`person_location_search`); do not drop geography when moving from lookalike
|
|
105
|
+
accounts to people leads.
|
|
106
|
+
|
|
90
107
|
For structured ICP sizing, pair `company_icp.company_sizes` with
|
|
91
108
|
`company_headcount_range` when possible. The MCP normalizer derives headcount
|
|
92
109
|
ranges for `micro`, `smb`, `midmarket`, `enterprise`, and `large_enterprise`
|
|
@@ -109,6 +126,8 @@ Avoidable-400 guardrails:
|
|
|
109
126
|
- 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
127
|
- 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
128
|
- Do not send placeholder seed names such as `another approved best-customer seed`; use only concrete company names or domains you have actually resolved.
|
|
129
|
+
- Do not silently use the sender company as a customer lookalike seed; use
|
|
130
|
+
explicit customer/account/past-company evidence instead.
|
|
112
131
|
- If the user references another approved seed but does not name it, ask for the
|
|
113
132
|
seed or run a one-seed lookalike without `match_all`; do not invent a second
|
|
114
133
|
seed from examples, competitors, or exclusions.
|
|
@@ -275,6 +294,13 @@ Preference rules:
|
|
|
275
294
|
- 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
295
|
- 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
296
|
- For seeded lookalikes, avoid first-call `has_api` + `has_sso`; use one confirmed attribute first, then refine.
|
|
297
|
+
- For customer, best-customer, top-customer, or past-company lookalikes, never
|
|
298
|
+
use the sender's current company/domain as a silent substitute; use explicit
|
|
299
|
+
customer/account/past-company evidence, then label profile-derived seeds as
|
|
300
|
+
past-company/public proof clues unless customer status is verified.
|
|
301
|
+
- If the user gives geography like Germany, keep that geography in the company
|
|
302
|
+
discovery or follow-on people filters instead of dropping it after account
|
|
303
|
+
confirmation.
|
|
278
304
|
- Do not invent missing approved seeds. If a second seed is not named, ask for it
|
|
279
305
|
or run one seed without `match_all`.
|
|
280
306
|
- Prefer `seedDomains` for single-seed lookalikes. For multi-seed `match_all`
|