# Entering Criteria Directly in the Builder

> Source: https://docs.trailspark.ai/icp-creation/icp-manual-mode

Manual entry is the default way to fill out the [ICP builder](https://docs.trailspark.ai/icp-creation/icp-overview). Every text field in every step accepts free-text input — you describe what you know about your ideal accounts, contacts, and signals, and the builder turns those descriptions into a structured scoring model.

No CRM connection, data export, or prior history is required.

## Where you enter criteria

The builder moves through these steps, each with text fields you fill in directly:

| Step | What you describe |
| - | - |
| **Eligibility** | Which accounts this ICP covers — firmographic rules that assign an account to this ICP |
| **Ideal Fit** (when individual lead scoring is on) | Company traits and contact personas for the accounts and people you most want to reach |
| **Behavior Signals** | The activity patterns that indicate buying intent (positive signals) and poor fit (negative signals) |
| **Scoring filters** (when individual lead scoring is on) | Qualification rules — which covered accounts and leads are worth scoring |
| **Buying group roles** (when buying group intelligence is on) | The roles that make up the buying group for this ICP |

Steps that are not relevant to your motion preset or toggles are hidden — the step counter renumbers so you never land on a gap.

## Writing effective descriptions

**Be specific across dimensions.** A description like "B2B SaaS companies in North America with 200–1,000 employees, using Salesforce, in technology or professional services" gives the model more to work with than "mid-market tech companies."

**Separate positive from negative.** Most fields have distinct areas for ideal traits and disqualifiers. Use both — the builder weights each direction separately.

**Indicate priority where it matters.** "Must be in the technology or healthcare sector" versus "ideally 200+ employees, but 100+ is acceptable" — these distinctions help the scoring model weight criteria correctly.

**Signal descriptions work the same way.** For Behavior Signals, describe the page visits, actions, or event types that indicate real intent (demo requests, pricing-page visits) and the ones that suggest low fit (blog-only traffic, competitor domains).

## Locking exact wording

Trailspark uses AI to take what you type and optimize it for the scoring agent when it builds your scoring instructions — usually that's what you want. But some things shouldn't be rephrased: a specific number, a threshold, a rule that must never bend. A paraphrase can quietly loosen a limit or drop a condition.

On the **Ideal Fit** and **Behavior Signals** steps (and the matching tabs when you're [editing an existing ICP](https://docs.trailspark.ai/icp-creation/editing-an-icp)), wrap text you want carried through untouched in a lock fence:

```
===LOCK===
If account_confidence < 80, never score Hot regardless of signal volume.
===END LOCK===
```

Everything between `===LOCK===` and `===END LOCK===` is used word for word, under a "Non-negotiable rules" section — it's never rephrased.

To lock text you've already written, select it and click **Lock exact wording** above the field; the fences are inserted around your selection automatically. Click the button with nothing selected to drop an empty fence at your cursor and type the rule directly inside it.

You don't have to find the sentence yourself to lock it. After you regenerate the rubric, a flagged card in the verification details carries its own **Keep my exact wording** button — click it and Trailspark locates your sentence in the field and fences it for you. If it can't tell exactly which words the card is about, it shows a best guess pre-selected and asks you to check and adjust it before locking, rather than guessing silently. See [Checking whether your wording survived](https://docs.trailspark.ai/icp-creation/editing-an-icp#checking-whether-your-wording-survived) for the full set of actions available on a flagged card.

Each fence has to open and close on its own line. If a field opens a lock but never closes it, you'll see a warning — everything after `===LOCK===` is being carried through, which usually isn't what you meant.

After you generate or regenerate the rubric, a status line confirms whether your explicit rules made it through — locked text always shows as kept, since it was copied rather than rewritten. A rule you lock and also describe in your prose shows as kept too, labeled "covered by your locked rules," instead of being flagged as a possible change. See [Editing an ICP](https://docs.trailspark.ai/icp-creation/editing-an-icp) for how to read that status.

## Skipping optional steps

Steps marked optional (contact personas within the Ideal Fit step, Behavior Signals, Scoring filters) can be skipped. Skipping them narrows what the model scores against — an ICP with no contact personas focuses entirely on account-level characteristics.

## After creation

Every field you type is editable after the ICP is created. See [Editing an ICP](https://docs.trailspark.ai/icp-creation/editing-an-icp) for how to update criteria, roles, and signals without recreating from scratch.

## Next steps

- [ICP Overview](https://docs.trailspark.ai/icp-creation/icp-overview) — the full builder step flow and conditional steps
- [Eligibility and Qualification](https://docs.trailspark.ai/icp-creation/icp-eligibility-qualification) — scope and scoring filters
- [Managing multiple ICPs](https://docs.trailspark.ai/icp-creation/managing-multiple-icps) — priority order and scope conflicts
- [Editing an ICP](https://docs.trailspark.ai/icp-creation/editing-an-icp) — update criteria after creation
