ICP Workbench
Describe your ideal customer. ProspectGround will build your ICP and use it to find and score prospects automatically.
Your ICP will appear here as you build it.
Canonical JSON schema — what shape the pipeline reads
The Workbench finalize step (and the extract canonical action) produces a structured canonical_json object alongside the Markdown ICP. The pipeline (computeIcpSegment, computeCoverageLabels, discovery prompt builder) reads this structured shape — not the Markdown. Edits made directly via the View JSON path must conform to this schema or downstream segment-matching breaks silently.
- segments[]
-
Per-segment fields.
name(string),gics_anchor(GICS sub-industry name),include_business_types(array, see below),scope_gates(object, see below),firmographics.scale_gates(prose echo),firmographics.priority_geographies.{tier1,tier2,tier3}(ISO country code arrays),technographics.{positive_signals,negative_signals},pain_points,buying_readiness_signals,tiering.{T1,T2}(plain-language rules). - include_business_types
-
Constrained enumeration. Each entry must match exactly a value in
VALID_BUSINESS_TYPES(the canonical taxonomy — seefunctions/src/prompts/evidencePrompt.ts). Non-canonical entries are dropped at finalize with a warning log; they will not contribute to segment matching. Use the closest canonical (e.g. payment processor →Payment Institution, neobank →Neobank / Challenger Bank). - scope_gates
-
Structured numeric thresholds (object form — preferred). Any subset of:
min_employees,max_employees,min_assets_b(BILLIONS USD),max_total_assets_usd_b,min_aum_m(MILLIONS USD),max_aum_usd_m,max_annual_revenue_usd_m,max_jurisdiction_count,min_arr_usd_m(SaaS),max_arr_usd_m. Omit keys the ICP does not specify — do not include null or zero placeholders. EXCEPTION: for G-SIB / D-SIB targeting segments, emitscope_gatesas an array of strings like["G-SIB", "D-SIB"]instead — this triggers SIB-routing in the pipeline. - shared_exclusions
-
Top-level absolute filters.
absolute_types(array of business types or labels),absolute_named(specific company names),absolute_domains(domain names likecitigroup.com),soft_exclusions(advisory).absolute_domainsare enforced at the worker level (BL-51);absolute_typesgoes into the Gemini discovery prompt as "EXCLUDED TYPES (never return)". For tenants that explicitly want G-SIBs and D-SIBs out of all bank segments, include the markers"G-SIB","D-SIB"or"tier1_global_bank"here — the pipeline's SIB bank-anchor fallback (see S105 ITEM 4.5) opts out when those are present. - shared_geographies
-
Tenant-wide geo filters.
excluded(array of ISO country codes) drops prospects in those jurisdictions before segment matching.
Source of truth: functions/src/prompts/icpIntakePrompt.ts (CANONICAL_JSON_SCHEMA) and VALID_BUSINESS_TYPES in evidencePrompt.ts. Schema shape last changed in S105 ITEMs 2+3 (structured scope_gates + canonical include_business_types); see docs/sprints/SPRINT_105.md + docs/CHANGELOG.md.
No prospects yet
Generate your first ICP list or import a CSV to get started.
| Company | Segment | Tier · Scale · Region | Actions |
|---|
| Company ↕ | HQ | Region ↕ | Segment ↕ | Tier ↕ | Scale ↕ | Confidence ↕ | ★ |
|---|