> ## Documentation Index
> Fetch the complete documentation index at: https://docs.linkedcamp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Personas

> Ideal-customer definitions. A QUALIFIER step scores each lead against a persona at runtime and routes mismatches out of the sequence.

<Info>Requires the **Personas** permission. Tools in this group are hidden from `tools/list` and refused on call when your plan does not grant it.</Info>

| Tool | Kind |
| - | - |
| [`persona_create`](#persona_create) | Write |
| [`persona_delete`](#persona_delete) | Write, Destructive |
| [`persona_get`](#persona_get) | Read-only |
| [`persona_list`](#persona_list) | Read-only |
| [`persona_update`](#persona_update) | Write, Destructive |

## persona\_create

<Badge color="orange">Write</Badge>

Define an ideal customer profile. Returns a `personaId` — a QUALIFIER step needs one, and the flow save is rejected without it, so create the persona before calling `flow_set`. This defines the filter only; it does not add a QUALIFIER step to any sequence. Note QUALIFIER also needs the `Personas` permission on top of Pro. Requires a Pro or Agency plan.

### Parameters

<ParamField path="title" type="string" required>
  Persona name, e.g. "Series B RevOps leaders".
</ParamField>

<ParamField path="description" type="string">
  Longer explanatory text.
</ParamField>

<ParamField path="criteria" type="object" required>
  Qualification rules. Unrecognised keys are stripped server-side.

  <Expandable title="properties">
    <ParamField path="jobTitles" type="string[]">
      Titles that qualify, e.g. \["Head of RevOps","VP Sales"].
    </ParamField>

    <ParamField path="jobTitlesExclude" type="string[]">
      Titles that disqualify, e.g. \["Intern","Student"].
    </ParamField>

    <ParamField path="seniority" type="string[]">
      Seniority bands, e.g. \["MANAGER","DIRECTOR","VP","C\_LEVEL"].
    </ParamField>

    <ParamField path="industries" type="string[]">
      Industries that qualify, e.g. \["Computer Software","Financial Services"].
    </ParamField>

    <ParamField path="companySize" type="string[]">
      Headcount bands, e.g. \["51-200","201-500"].
    </ParamField>

    <ParamField path="locations" type="string[]">
      Countries, regions or cities.
    </ParamField>

    <ParamField path="keywords" type="string[]">
      Terms that must appear in the profile.
    </ParamField>

    <ParamField path="keywordsExclude" type="string[]">
      Terms that disqualify a profile.
    </ParamField>

    <ParamField path="yearsExperienceMin" type="integer (min 0)">
      Minimum years of professional experience.
    </ParamField>

    <ParamField path="yearsExperienceMax" type="integer (min 0)">
      Maximum years of professional experience.
    </ParamField>
  </Expandable>
</ParamField>

## persona\_delete

<Badge color="orange">Write</Badge> <Badge color="red">Destructive</Badge>

<Warning>Marked destructive in the protocol — your MCP client asks for confirmation before running it.</Warning>

Delete a persona. Any QUALIFIER step still pointing at it breaks, and that campaign's flow will fail to save until the step is repointed. Check `usageCount` in `persona_list` first and tell the user which campaigns it would break — a persona shared by several flows breaks all of them. Irreversible, so get an explicit yes. To change who qualifies without breaking anything, use `persona_update`. Requires a Pro or Agency plan.

### Parameters

<ParamField path="personaId" type="string" required>
  Persona id, from `persona_list`.
</ParamField>

## persona\_get

<Badge color="blue">Read-only</Badge>

Full qualification criteria for one persona — job titles, seniority, industries, size, locations and keyword rules — as a QUALIFIER step will apply them. Read this to explain why a lead did or did not qualify. It does not say which leads qualified: for that read the step with `sequence_leads_at_step`. Requires a Pro or Agency plan.

### Parameters

<ParamField path="personaId" type="string" required>
  Persona id, from `persona_list`.
</ParamField>

## persona\_list

<Badge color="blue">Read-only</Badge>

Ideal-customer definitions used by QUALIFIER steps. `usageCount` shows how many flows reference each one. A persona describes WHO a lead must be to pass a QUALIFIER step. It is not an AI agent (`agent_list`, which writes replies) and not a lead tag (`tag_list`, which classifies replies after the fact). Requires a Pro or Agency plan.

*No parameters.*

## persona\_update

<Badge color="orange">Write</Badge> <Badge color="red">Destructive</Badge>

<Warning>Marked destructive in the protocol — your MCP client asks for confirmation before running it.</Warning>

Change a persona's criteria. Live QUALIFIER steps pick this up on their next evaluation — leads already past the step are not re-scored, so editing a persona never revisits a decision already made. Check `usageCount` in `persona_list` first: a persona shared by several flows changes all of them at once. Requires a Pro or Agency plan.

### Parameters

<ParamField path="personaId" type="string" required>
  Persona id, from `persona_list`.
</ParamField>

<ParamField path="title" type="string">
  Short label.
</ParamField>

<ParamField path="description" type="string">
  Longer explanatory text.
</ParamField>

<ParamField path="criteria" type="object">
  Qualification rules. Unrecognised keys are stripped server-side.

  <Expandable title="properties">
    <ParamField path="jobTitles" type="string[]">
      Titles that qualify, e.g. \["Head of RevOps","VP Sales"].
    </ParamField>

    <ParamField path="jobTitlesExclude" type="string[]">
      Titles that disqualify, e.g. \["Intern","Student"].
    </ParamField>

    <ParamField path="seniority" type="string[]">
      Seniority bands, e.g. \["MANAGER","DIRECTOR","VP","C\_LEVEL"].
    </ParamField>

    <ParamField path="industries" type="string[]">
      Industries that qualify, e.g. \["Computer Software","Financial Services"].
    </ParamField>

    <ParamField path="companySize" type="string[]">
      Headcount bands, e.g. \["51-200","201-500"].
    </ParamField>

    <ParamField path="locations" type="string[]">
      Countries, regions or cities.
    </ParamField>

    <ParamField path="keywords" type="string[]">
      Terms that must appear in the profile.
    </ParamField>

    <ParamField path="keywordsExclude" type="string[]">
      Terms that disqualify a profile.
    </ParamField>

    <ParamField path="yearsExperienceMin" type="integer (min 0)">
      Minimum years of professional experience.
    </ParamField>

    <ParamField path="yearsExperienceMax" type="integer (min 0)">
      Maximum years of professional experience.
    </ParamField>
  </Expandable>
</ParamField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.