@sellable/mcp 0.1.233 → 0.1.235
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 -2
- package/package.json +1 -1
- package/skills/create-campaign/SKILL.md +15 -13
- 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 +23 -85
- package/skills/find-leads/SKILL.md +19 -16
- package/skills/providers/prospeo.md +23 -19
- package/skills/research/config.json +9 -0
package/dist/tools/leads.js
CHANGED
|
@@ -522,7 +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
|
|
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.
|
|
526
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.
|
|
527
527
|
For accounts in the news: { "company_news": { "categories": ["Funding & Investment"], "timeframe_days": 90 } }.
|
|
528
528
|
For awards: { "company_awards": { "include": ["G2"], "match_mode": "CONTAINS" } }.
|
|
@@ -1499,7 +1499,7 @@ export const leadToolDefinitions = [
|
|
|
1499
1499
|
{
|
|
1500
1500
|
name: "search_prospeo_companies",
|
|
1501
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
|
-
"
|
|
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. " +
|
|
1503
1503
|
prospeoCompanyAccountWorkflowGuidance,
|
|
1504
1504
|
inputSchema: {
|
|
1505
1505
|
type: "object",
|
package/package.json
CHANGED
|
@@ -220,19 +220,21 @@ 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,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
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
|
|
236
238
|
`company_icp.geographic_markets`) and in follow-on people search
|
|
237
239
|
(`person_location_search`); do not drop geography when moving from lookalike
|
|
238
240
|
accounts to people leads.
|
|
@@ -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/top-customer
|
|
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. For
|
|
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/top-customer
|
|
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,19 +188,21 @@ 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,
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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
|
|
204
206
|
`company_icp.geographic_markets`) and in follow-on people search
|
|
205
207
|
(`person_location_search`); do not drop geography when moving from lookalike
|
|
206
208
|
accounts to people leads.
|
|
@@ -231,7 +233,7 @@ Discovery", "lead-source scouting", "source scouting", "lane", "provider",
|
|
|
231
233
|
pain", or "ICP". Only the approval question after that visible plan, or an
|
|
232
234
|
explicit post-plan source choice, satisfies this gate. Do not ask a second
|
|
233
235
|
source-plan question or call `search_signals`, `search_sales_nav`,
|
|
234
|
-
`search_prospeo`, `
|
|
236
|
+
`search_prospeo`, `fetch_post_engagers`, `search_prospeo_companies`, or provider subagents until approved.
|
|
235
237
|
Only then persist `leadSourceType`, `leadSourceProvider`, and provider `currentStep`.
|
|
236
238
|
|
|
237
239
|
Source work stays inline in the parent thread in normal create-campaign runs.
|
|
@@ -290,79 +292,15 @@ customer-facing source-choice labels.
|
|
|
290
292
|
|
|
291
293
|
## Prospect Setup Workstreams
|
|
292
294
|
|
|
293
|
-
After `confirm_lead_list` copies a non-empty source into the campaign and
|
|
294
|
-
records the compact review batch, ask the filter-choice question immediately.
|
|
295
|
-
Do not call
|
|
296
|
-
`get_post_find_leads_scout_registry`, load filter/message subskill prompts, or
|
|
297
|
-
spawn Message Drafting before that question. The only
|
|
298
|
-
customer-facing work before the question should be a short setup summary and the choice:
|
|
299
|
-
add filters, skip filters, or revise source. Do not include another watch link
|
|
300
|
-
in this summary; the existing app view updates through campaign state.
|
|
301
|
-
|
|
302
|
-
After filter choice, the only normal background worker is Message Drafting
|
|
303
|
-
(`post-find-leads-message-scout`). The registry lookup is not a launch. Call
|
|
304
|
-
the registry, then start Message Drafting via `Task`, `spawn_agent`, or host
|
|
305
|
-
equivalent before loading `references/filter-leads.md` or `save_rubrics`. YOLO
|
|
306
|
-
already grants permission; do not ask for another permission click. If no
|
|
307
|
-
background tool is callable, start the same full branch inline before filter
|
|
308
|
-
drafting or return `blocked` / `retry-needed`. Do not wait until filters are
|
|
309
|
-
saved and then call the registry. Debug artifacts are optional only.
|
|
310
|
-
|
|
311
|
-
The parent thread is the orchestrator and the filter writer. On the filters
|
|
312
|
-
path, immediately start Message Drafting in the background, then load
|
|
313
|
-
`references/filter-leads.md`, draft production rubrics in the parent, call
|
|
314
|
-
`save_rubrics`, and ask for filter approval. Do not render message review, queue
|
|
315
|
-
cells, or move past Filter Rules until saved filters are approved and
|
|
316
|
-
`messageDraftRecommendation` is ready.
|
|
317
|
-
|
|
318
|
-
Keep the Message Drafting handoff lean: `campaignId`, `workflowTableId`, a
|
|
319
|
-
concise brief summary, concise source summary/source-use rule, and 3-5 sample
|
|
320
|
-
workflow-table rows with `rowId`, name, title, company, and signal. Optional:
|
|
321
|
-
campaign name, `selectedLeadListId`, and filter choice. Do not paste copied row
|
|
322
|
-
counts, brief hashes, review-batch hashes, full row ID lists, broad row data, or
|
|
323
|
-
local debug artifacts. The branch loads the current brief/context and sample
|
|
324
|
-
rows through Sellable tools before drafting.
|
|
325
|
-
|
|
326
|
-
When the user chooses filters, immediately call
|
|
327
|
-
`update_campaign({ campaignId, enableICPFilters: true, currentStep: "create-icp-rubric", watchNarration })`
|
|
328
|
-
so the app is on Filter Rules while Message Drafting runs. After
|
|
329
|
-
`save_rubrics`, keep Filter Rules visible so the user can approve saved
|
|
330
|
-
criteria. Only after approval should
|
|
331
|
-
`update_campaign` move to `apply-icp-rubric` / Filter Leads and show
|
|
332
|
-
`Filters saved + waiting for message approval` until the template is approved.
|
|
333
|
-
Do not queue enrichment/filtering/Generate Message cells until message
|
|
334
|
-
approval. Tell the user Message Drafting is preparing the template in the
|
|
335
|
-
background.
|
|
336
|
-
|
|
337
|
-
Codex: outside YOLO/autonomous mode only, ask once if worker permission is
|
|
338
|
-
missing. Use generic `gpt-5.5` / `xhigh` Message Drafting if needed.
|
|
339
|
-
|
|
340
|
-
If the user critiques or edits the template before `approve-message`, route the
|
|
341
|
-
feedback back to Message Drafting with current `messageDraftRecommendation`,
|
|
342
|
-
basis token, campaign/table basis, and latest user text. Do not rewrite copy in
|
|
343
|
-
the parent or call `update_campaign_brief`. Message Drafting must load the full
|
|
344
|
-
`generate-messages` prompt, all referenced assets, and
|
|
345
|
-
`create-campaign-v2-validation`, then return a revised
|
|
346
|
-
`messageDraftRecommendation`; parent renders it and asks approval. Message QA
|
|
347
|
-
and validation before approval also belong to Message Drafting, but validation
|
|
348
|
-
is an internal gate. Do not render `renderedFallbackSample`, `concerns`, or a
|
|
349
|
-
full `qaReceipt` in the normal happy path.
|
|
350
|
-
|
|
351
|
-
Run `post-find-leads-message-scout` as Message Draft Builder when exposed. It
|
|
352
|
-
must load:
|
|
295
|
+
After `confirm_lead_list` copies a non-empty source into the campaign and records the compact review batch, ask the filter-choice question immediately. Do not call `get_post_find_leads_scout_registry`, load filter/message prompts, or spawn Message Drafting before that question. Customer-facing work before the question: short setup summary plus add filters, skip filters, or revise source; no extra watch link.
|
|
353
296
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
297
|
+
After filter choice, the only normal background worker is Message Drafting (`post-find-leads-message-scout`). The registry lookup is not a launch. Call the registry, then start Message Drafting via `Task`, `spawn_agent`, or host equivalent before loading `references/filter-leads.md` or `save_rubrics`. YOLO already grants permission; do not ask for another permission click. If no background tool is callable, start the same full branch inline before filter drafting or return `blocked` / `retry-needed`. Do not wait until filters are saved and then call the registry.
|
|
298
|
+
|
|
299
|
+
The parent thread is the orchestrator and the filter writer. On the filters path, start Message Drafting, then load `references/filter-leads.md`, save rubrics, and ask users to approve saved criteria. Keep `currentStep` on Filter Rules and show `Filters saved + waiting for message approval`; do not queue cells until message approval. Tell the user Message Drafting is preparing the template in the background.
|
|
300
|
+
|
|
301
|
+
Keep the handoff lean: `campaignId`, `workflowTableId`, concise brief/source summary, source-use rule, and 3-5 sample rows (`rowId`, name, title, company, signal). Do not paste copied row counts, hashes, full row IDs, broad row data, or local debug artifacts.
|
|
359
302
|
|
|
360
|
-
|
|
361
|
-
Builder must load `create-campaign-v2-validation` through MCP as the final gate.
|
|
362
|
-
No alternate, examples-only, or local-artifact prompt. If the agent cannot
|
|
363
|
-
launch, the parent fallback runs the same gate from live state. Render review
|
|
364
|
-
only after `messageDraftRecommendation` proves current campaign/table basis.
|
|
365
|
-
Handoff: labeled Markdown, not raw JSON.
|
|
303
|
+
Route user copy feedback before `approve-message` back to Message Drafting; parent does not rewrite. The branch loads the full `generate-messages` prompt, every required asset, then `get_subskill_prompt({ subskillName: "create-campaign-v2-validation" })`; do not render `renderedFallbackSample`, concerns, or `qaReceipt` in the happy path. Generic fallback is `gpt-5.5` / `xhigh` Message Drafting. Handoff is labeled Markdown, not raw JSON.
|
|
366
304
|
|
|
367
305
|
## Hard Gates
|
|
368
306
|
|
|
@@ -391,22 +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,
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
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.
|
|
410
413
|
- Use Prospeo company/account search when the ask depends on website traffic
|
|
411
414
|
(`company_website_traffic`), confirmed AI Attributes including `pricing`,
|
|
412
415
|
`uses_ai`, `has_api`, `has_chrome_extension`, `has_sso`, `has_open_source`,
|
|
@@ -87,19 +87,21 @@ 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,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
|
103
105
|
`company_icp.geographic_markets`) and in follow-on people search
|
|
104
106
|
(`person_location_search`); do not drop geography when moving from lookalike
|
|
105
107
|
accounts to people leads.
|
|
@@ -126,8 +128,9 @@ Avoidable-400 guardrails:
|
|
|
126
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.
|
|
127
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.
|
|
128
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.
|
|
129
|
-
- Do not silently use the sender company as a customer lookalike seed
|
|
130
|
-
explicit
|
|
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.
|
|
131
134
|
- If the user references another approved seed but does not name it, ask for the
|
|
132
135
|
seed or run a one-seed lookalike without `match_all`; do not invent a second
|
|
133
136
|
seed from examples, competitors, or exclusions.
|
|
@@ -294,10 +297,11 @@ Preference rules:
|
|
|
294
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.
|
|
295
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.
|
|
296
299
|
- For seeded lookalikes, avoid first-call `has_api` + `has_sso`; use one confirmed attribute first, then refine.
|
|
297
|
-
- For customer, best-customer, top-customer
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
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.
|
|
301
305
|
- If the user gives geography like Germany, keep that geography in the company
|
|
302
306
|
discovery or follow-on people filters instead of dropping it after account
|
|
303
307
|
confirmation.
|