Skip to content

ICPs

Ideal Customer Profile scoring and management.

Full name: campaignstack_list_icps

icps:read Read-only Idempotent

List all ICP (Ideal Customer Profile) definitions for a campaign. Returns ICP IDs with criteria summary including target titles, industries, seniorities, and score threshold. Call this when the user asks which ICPs a campaign has. Use the icpId with campaignstack_get_icp_scores for match results or campaignstack_trigger_icp_scoring to run scoring.

NameTypeRequiredDefaultDescription
campaignIdstringYes(min length: 1)

Full name: campaignstack_get_icp_scores

icps:read Read-only Idempotent

Get ICP match scores for leads. Filter by minimum score to find top matches. Returns paginated array of { leadId, leadName, icpMatchScore, matchedFields } sorted by score descending. Call this when the user asks who matches an ICP. Use campaignstack_list_icps to find ICP IDs; scores are stale until campaignstack_trigger_icp_scoring runs. Results are one page. When pagination reports more, say so rather than presenting the page as the whole set, and page through before counting anything.

NameTypeRequiredDefaultDescription
icpIdstringYes(min length: 1)
minScorenumberNo(min: 0, max: 100)
limitnumberNo20(min: 1, max: 100)
cursorstringNo

Full name: campaignstack_trigger_icp_scoring

icps:write

Score specific leads, or every lead in the campaign, against one ICP and persist the results. Call this when the user asks to (re)score leads, e.g. after campaignstack_update_icp changes criteria. Read results with campaignstack_get_icp_scores. Use campaignstack_list_icps to find ICP IDs first.

NameTypeRequiredDefaultDescription
icpIdstringYes(min length: 1)
leadIdsstring[]No

Full name: campaignstack_create_icp

icps:write

Create a new ICP (Ideal Customer Profile) for a campaign: target titles, industries, seniorities, company sizes, and keywords. Call this when the user describes who a campaign should target. Follow up with campaignstack_trigger_icp_scoring to score leads. Use campaignstack_list_campaigns to find valid campaignId values.

NameTypeRequiredDefaultDescription
campaignIdstringYes(min length: 1)
titlesstring[]No
industriesstring[]No
senioritiesstring[]No
companySizesstring[]No
keywordsstring[]No

Full name: campaignstack_update_icp

icps:write

Update an existing ICP’s criteria. Only supply the fields you want to change; omitted fields are left unchanged. Call this when the user asks to narrow, widen, or correct who an ICP targets. This invalidates cached scores; rescore with campaignstack_trigger_icp_scoring. Use campaignstack_list_icps to find ICP IDs.

NameTypeRequiredDefaultDescription
icpIdstringYes(min length: 1)
titlesstring[]No
industriesstring[]No
senioritiesstring[]No
companySizesstring[]No
keywordsstring[]No

Full name: campaignstack_delete_icp

icps:write Destructive

Delete an ICP and every score computed against it. This cannot be undone, and campaigns relying on that ICP to decide who belongs in them stop matching anyone. Call this only when the user names the ICP and says to delete it; name it back to them first. To change who it matches, edit it with campaignstack_update_icp instead. Use campaignstack_list_icps to find ICP IDs.

NameTypeRequiredDefaultDescription
icpIdstringYes(min length: 1)