Breezee AI Docs
Login

Memory types & prospect profiles

The agent will talk to visitors who arrive knowing nothing about your business and leave with you knowing — ideally — quite a lot about them. Memory types are the schema for what the agent remembers about each visitor. Prospect profiles are named patterns over that memory state — labels like "MQL" or "Hot Lead" that classify a prospect for routing and triage.

This page is sequenced deliberately: Configuring skills and Routing rules both depend on what you set up here. Get this right first.

By the end of this chapter you'll have:

  • Reviewed the seeded memory types catalogue and toggled one off and on
  • Added a custom memory type
  • Configured one prospect profile (MQL) with criteria built from memory types

Note: the qualification page has been removed. Earlier versions of the product had a dedicated Qualification page for MQL/SQL thresholds and lead scoring. That has been retired — prospect profiles, covered later in this chapter, now do the work it used to do.


Opening the memory types screen

Click Prospects in the left-hand rail, then click Memory Types from the top of the page.

Memory types — default view

The page has a search box on the left and a row of category filter buttons on the right: All, Discovery, Personal, Situation, Solution, Value, and Custom. All is selected by default and shows every memory type grouped into category cards.

Each category card shows how many memory types are enabled vs. available — e.g. Discovery: 5 enabled of 7. Toggles on the right of each row control what's on and off.

Enabled vs. required. Toggling a memory type on doesn't force the agent to ask for it on every conversation — it just enables the agent to capture and remember that value when it surfaces naturally. Skills and routing decide when the agent should actively pursue specific memories. Toggle on liberally; the agent will not become pushy just because you enabled something.

The built-in categories

CategoryWhat it covers
DiscoveryWhat the prospect is trying to do — pain points, buying timeframe, target outcomes
PersonalWho the prospect is — name, email, job title, contact details
SituationContext about their business — industry, org size, tech stack, geography
SolutionWhat they need from a product — capabilities, integrations, success criteria
ValueThe commercial picture — budget, ROI goal, decision criteria, approval process
CustomMemory types you add yourself

How this maps to tools you may already use. HubSpot calls these Contact Properties and uses Smart Lists to classify contacts. Salesforce calls them Fields and uses Lead Scoring rules. Intercom calls them Attributes and uses Segments. Breezee's memory types are the equivalent of those properties/attributes; prospect profiles (covered below) are the equivalent of those smart lists or segments — but evaluated in real time during the conversation rather than after the fact.

Inspecting a built-in memory type

Click Open on any seeded memory type — for example, Current Process — to open its detail panel on the right.

Memory detail panel — Current Process

Built-in memory types show their name, description, data type (Text, in this case), and settings (when to update, retention period). They're marked Built-in · Read-only — you can enable, disable, and use them in profiles, but you cannot edit them.

Toggling a memory type off and back on

Find a memory type you want to disable and click its toggle. The "X enabled of Y" counter in that category card updates immediately. The agent will stop trying to capture that value on future conversations. Click the toggle again to re-enable.

The seeded set covers the standard B2B discovery axis well. Most teams leave it largely as-is, then add one or two custom memory types for concepts specific to their business.


Adding a custom memory type

Click the Custom button in the filter row to show only custom memory types. A fresh team has none.

Custom tab — empty

Click Create Memory to open the create form in the right-hand panel.

The form takes:

  • Name — up to 50 characters. What you (and the agent prompts) will call this memory.
  • Description — up to 200 characters. A short explanation shown to your team.
  • Type — the data type (see the table below). Text is the default. The type you choose here determines which conditions are available when you use this memory in a profile criterion.
  • When to update — controls how aggressively the agent overwrites an existing value when new information surfaces.
  • Keep data for — how long the memory is retained. 12 months by default.

Memory type data types

Type labelWhat it storesExample
TextFree-form text of any length"Wants to reduce support ticket volume"
List of choicesOne of a fixed set of values you defineIndustry: "Healthcare", "Finance", "Retail"
Yes / NoA boolean flagUses Salesforce: Yes / No
NumberA numeric value, optionally boundedEmployee count: 250
DateA calendar dateTrial start: 2025-03-01
Date & TimeA date with a time componentDemo booked: 2025-03-01 14:00
EmailAn email address (validated format)prospect@company.com
Website linkA URL (validated format)https://company.com

Type is permanent. Once a custom memory type is saved, its type can't be changed. If you need a different type, use the Duplicate as new link in the configure panel to copy it and pick a new type.

For List of choices types, enter the allowed values in the Options field, separated by commas (e.g. Enterprise, Mid-market, SMB). You can also turn on Allow more than one choice if a prospect may legitimately hold multiple values (e.g. a use-case memory where "Sales automation" and "Marketing automation" can both apply).

The screenshot below shows a custom memory type called Current Challenge — a free-text capture of what's prompting the visitor to engage.

Custom memory form — filled

Click Save. The new memory appears in the Custom card, defaults to enabled, and is immediately available to skills, routing, and prospect profiles.

Custom memory created

Each custom memory has its own Configure (edit) and Delete buttons alongside the standard enable/disable switch.

When you change any toggle, an unsaved changes banner appears at the bottom of the page. Click Save there to commit. Changes are local until you save.


Prospect profiles

Navigate to Prospects in the left-hand rail, then click Profiles at the top of the page.

Prospect profiles — seeded set

The page lists the seeded profiles — Hot Lead, MQL, Small Operation, SQL, Tire Kicker, Warm Lead — each one a recognisable shape from B2B sales playbooks. All start with 0 criteria: they're empty templates waiting for you to define what they mean for your business.

A prospect profile is, mechanically:

  • A name and description for the segment
  • A set of criteria, each one a condition on a memory type
  • A match mode — either All criteria (AND) or Any criterion (OR)

When a visitor's accumulated memory state satisfies a profile's criteria, that prospect is classified under that profile. One prospect can match multiple profiles simultaneously (e.g. Warm Lead and Small Operation). Profiles are evaluated continuously during the conversation and continue to update after the chat ends as background processing surfaces new information.

How this maps to tools you may already use. HubSpot's Smart Lists match contacts on property values — same idea. Salesforce Lead Scoring uses point thresholds; Breezee uses explicit criteria instead of scores. Intercom Segments use attribute filters. The mental model is the same in all cases: you define the shape of a qualified prospect, and the system tells you who fits.

Two actions are available at the top of the list:

  • Add Profile — creates a new named profile alongside the seeded ones.
  • Apply banner (appears after you save criteria changes) — re-evaluates every existing prospect against the updated profile. Use this after changing a profile's criteria to refresh which prospects are classified under it.

Editing the MQL profile

Click Edit profile on MQL to expand the editor inline.

MQL profile editor — empty

You can edit the name and description. Below them is the Criteria builder — with zero criteria the profile is a no-op and will never match any prospect.

Click Add Criterion to add the first one.


Conditions reference

A criterion tests one memory type against one condition. Which conditions are available depends on the memory type's data type. This section explains every condition and exactly when a prospect will and will not match.

Text (Text type)

ConditionProspect will match whenProspect will not match when
PresentThe agent has captured any non-empty value for this memoryThe value is blank — never mentioned in conversation
Not presentThe value is blankThe agent has already captured a value
EqualsThe stored value matches the text you enter (case-insensitive)The value is different or blank
Not equalsThe value is anything other than the text you enter, or blankThe value matches the text exactly
ContainsThe stored text includes the phrase you enter as a substringThe phrase does not appear in the stored text

Present is usually the right choice for Text. You typically care that the prospect told you their pain point, not that the specific words match a phrase. Use Equals or Contains when you need to distinguish by specific content (e.g. "Contains enterprise").

List of choices (List of choices type)

ConditionProspect will match whenProspect will not match when
PresentAt least one choice has been capturedNo value has been selected
Not presentNo value has been capturedA value is already stored
EqualsThe stored choice matches the specific option you selectThe stored choice is different or blank
Not equalsThe stored choice is anything other than the one you select, or blankThe stored choice matches exactly

When you pick Equals or Not equals on a List of choices memory, the criterion shows a radio list of all the options you defined. Select the one you want to compare against.

Number (Number type)

ConditionProspect will match whenProspect will not match when
PresentA number has been capturedNo number has been recorded
Not presentNo number has been recordedA number is already stored
EqualsThe stored number exactly matches the value you enterThe number is different or blank
Not equalsThe stored number is anything other than the value you enterThe number matches exactly
More thanThe stored number is strictly greater than the value you enterThe number is ≤ the value, or blank
At leastThe stored number is greater than or equal to the valueThe number is < the value, or blank
Less thanThe stored number is strictly less than the valueThe number is ≥ the value, or blank
At mostThe stored number is less than or equal to the valueThe number is > the value, or blank

Date and Date & Time types

ConditionProspect will match whenProspect will not match when
PresentA date has been capturedNo date has been recorded
Not presentNo date has been recordedA date is already stored
BeforeThe stored date is earlier than the date you enterThe date is on or after your value, or blank
AfterThe stored date is later than the date you enterThe date is on or before your value, or blank

Yes / No (Yes / No type)

ConditionProspect will match whenProspect will not match when
PresentThe agent has captured a Yes or No answerNo answer has been captured
Not presentNo answer has been capturedAn answer is already stored
EqualsThe stored value matches the choice you pick (Yes or No)The stored value is the opposite, or blank

Building the MQL profile

With the conditions reference above in mind, let's configure the MQL profile.

Click Add Criterion in the MQL editor. A criterion card appears with two fields:

  1. Memory Type — which memory you're testing (dropdown, shows all enabled memory types)
  2. Condition — which operator to apply (radio buttons, shown per the data type of the chosen memory)

Set the first criterion to your custom Current Challenge memory, condition Present. This means: "the prospect has told us what's driving them to look for a solution."

MQL criterion — Current Challenge present

Click Add Criterion again and add a second criterion: Organization Size (or whichever memory makes a prospect worth following up on at your company), condition Present.

After adding the second criterion, a Match control appears below the criteria list:

  • All criteria — both must be satisfied (AND logic). A prospect must have both Current Challenge and Organization Size captured.
  • Any criterion — either is sufficient (OR logic). A prospect with either value qualifies.

Leave it on All criteria for MQL — you want the full picture before qualifying someone.

MQL with two criteria

Click Save. The editor closes and the profile card now shows 2 criteria.

Applying your changes to existing prospects

Saving a profile does not automatically re-evaluate existing prospects. As soon as you save, a yellow notice bar appears at the top of the list:

Profiles list — MQL saved with Apply notice visible

"1 profile change hasn't been applied — Apply to re-evaluate which prospects match each profile."

You must click Apply. Until you do, the updated criteria only take effect on future conversations. All existing prospects keep their old classification. Click Apply to re-run the evaluator across your entire prospect list. A progress bar tracks completion — for large lists this may take a few seconds.

Good habit: any time you add, change, or delete a criterion, always click Apply before moving on. It takes seconds and ensures your profile data is current when you look at it in routing rules or the prospects table.

Cardinality and combinations. You can add as many criteria as the segment requires. For more complex shapes — say, "MQL = articulated challenge AND (mid-market OR enterprise size)" — build two separate profiles (one for mid-market, one for enterprise) and have routing rules consume either. The criteria builder deliberately keeps each profile flat rather than supporting nested boolean logic; it's easier to reason about and debug.

Configuring the rest of the seeded profiles

For brevity this chapter only fully configures MQL. In a real tenant you'd configure several:

  • Hot Lead — high intent, e.g. Buying Timeframe Present AND Current Challenge Present
  • SQL — sales-ready, e.g. Email Present AND Job Title Present AND Budget Present
  • Tire Kicker — low intent, e.g. Current Challenge Not present (use carefully — hard to get right without sufficient conversation length)
  • Small Operation — segment fit, e.g. Organization Size Equals a specific small-team value
  • Warm Lead — interested but unqualified, e.g. Current Challenge Present but not yet Hot Lead criteria

The pattern is always the same: name the segment, decide which memory types distinguish it, and pick the conditions.


How memory and profiles feed downstream

Memory and profiles by themselves don't change agent behaviour — they're the substrate that other configuration consumes:

  • Configuring skills reads memory types to decide which values to actively pursue during a conversation flow and what to do next on each turn based on current memory state.
  • Routing rules read prospect profiles. A rule like "suggest book_meeting when the prospect matches MQL and has not yet booked a meeting" is exactly the loop we'll close in the next page.

This is why this chapter sits where it does in the manual order. Skills and routing both reference what you set up here by name. If you rename a memory type or profile later, revisit any dependent skill or routing configuration — the dashboard does not currently cascade renames automatically.


What's next

The substrate is set. Time to give the agent its repertoire.