create_icp
Create a NEW Ideal Customer Profile (ICP) from scratch and save it — no Customer Hunter UI needed. Use this when get_icps returns hasICPs:false (the company has none yet) or to add another target customer profile. To CHANGE an existing ICP, use update_icp instead.
[write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Persona name. Required. Used to derive the ICP id/filename. INTERNAL targeting label (may be an evocative codename) — never published. | |
| class | No | 'customer' (default) or 'partner' — partner = a distribution/affiliate ICP, not an end-buyer. | |
| title | No | One-line descriptor of the persona. | |
| channels | No | Where they spend attention. | |
| companyId | Yes | FreedomOS company id to act within (you must be a member). Required for company-scoped tools. | |
| painThemes | No | Recurring pain themes. | |
| publicName | No | The public-facing audience label to use in published copy — NEVER the internal persona name/codename. Plural noun phrase, e.g. "compounding pharmacy owners". Optional — auto-generated from the persona when omitted. | |
| agentProfile | No | How this customer's own AI agent participates in buying: { tier: 'ambient' | 'assisted' | 'delegated' | 'builder', agents: string[], surfacesRead: string[], purchasePath: string, autonomyNotes: string }. tier is required and must be one of the four values. | |
| demographics | No | role, companySize, industry, techStack[]. | |
| dreamOutcome | No | The outcome they dream of. | |
| techSavviness | No | Tech comfort level. | |
| financialProfile | No | revenueRange, typicalDealSize, budgetAuthority, buyingBehavior, growthStage, priceSensitivity. | |
| nightmareScenario | No | The 3am problem / nightmare scenario. |