botts.aiDocs

People & Memory

How botts.ai groups the people your agents talk to, and how optional Customer Memory lets an agent remember facts about returning customers across conversations.

Every website visitor or phone caller who talks to one of your agents is recorded as an end user (a person). The agent's Chats page (its Grouped view) lets you browse those people, read their past conversations, and, when Customer Memory is enabled, review and edit what the agent has learned about them.

Memory is off by default. You turn it on per agent. Once enabled, the agent extracts a short list of persistent facts plus a rolling summary once a chat goes quiet or a call ends, and reuses them the next time the same person comes back.

Who can see People & Memory

People and memory are part of the build/analytics surface, not the chat surface. Access is by role.

RoleView People & memoryEdit / delete memory
OwnerYesYes
AdminYesYes
BuilderYesYes
MemberNoNo

Members are chat-only: they do not see the Grouped view or any end-user data at all.

Finding people: the Chats tab

Open an agent, expand Insights in the agent menu and click Chats. The page has two views, toggled by the segmented control in the top-right:

  • Individual: the conversation list (the default view).
  • Grouped: the same conversations grouped by person, one row per person who has talked to this agent.

How people are listed

The Grouped view lists the people who have talked to this agent, most recently active first, up to the 100 most recent. Each row shows:

  • A channel icon and a label for the person.
  • A conversation count (N convs) for this agent.
  • A memory badge with a brain icon, shown only when the agent has stored facts or a summary for this person.
  • A relative last-seen time.

The label is derived from the person's channel identifier, not from anything they typed in chat:

  • For voice and phone people, it's the phone number.
  • For other channels, it's the channel identifier (for example the website widget's visitor ID).
  • When no usable identifier exists, the list shows Voice caller (voice/phone) or Anonymous.

Your own test chats on the agent page appear here too: text tests under your team account (labelled internal-…), and each voice test as a separate person (labelled realtime-test-…). Customer Memory is not applied in the dashboard test chat, so try it on a deployed channel.

A name a customer mentions in chat, or one captured from a form, does not become the list label. It is stored on the person record (see Form-captured contact details) but is not surfaced as the display name.

If no one has talked to the agent yet, the Grouped view shows an empty state inviting you to enable Customer Memory.

One person per channel

A person is identified by the combination of organization + channel type + channel identifier. That means the same human reaching you on two different channels (for example the web widget and the phone) appears as two separate people, each with its own conversations and its own memory.

On the website widget, the visitor ID lasts only for the browser tab session. A returning visitor usually picks up their previous conversation (the widget remembers it on your site), but a new conversation started on a later visit, in another tab or on another device counts as a new person with no prior memory. On the phone, the caller's number identifies the person across calls.

Opening a person

Click a person to open their detail panel on the right. It has three parts:

  • Header: the label, channel type, conversation count, and "Seen (relative time)".
  • Memory: the facts and summary the agent has learned (see below). Empty until something has been extracted. Turning Customer Memory off stops new extraction and stops the agent from using what it remembers, but stored memory stays here (still subject to its retention period) until you clear it.
  • Conversations: up to 50 past conversations with this agent. Expand one to read the full message thread inline; for voice conversations with a recording, an authenticated audio player is shown.

A person's detail panel: the profile header, a Memory section with a facts-count badge and remembered facts, and the list of their past conversations.

How Customer Memory works

When memory is enabled, an agent keeps two things per person: a list of facts and a single rolling summary.

When facts are extracted

Extraction runs in the background, not live during the chat. For text chats it runs once a conversation has been quiet for about 30 minutes. The conversation stays open and can continue, and anything added later is picked up after its next quiet period. For phone calls it runs after the call ends (see below). So facts and the summary appear a little while after the person stops writing, not while the chat is happening.

Extraction is skipped (nothing is stored) when:

  • The agent has memory turned off.
  • It is the conversation's first extraction and the customer has sent fewer than 2 messages, since there is little to learn from a single message. After a conversation has been processed once, one new customer message is enough for the next run, and a recorded phone call that was re-transcribed is processed even with a single customer turn.

This applies to both chat and voice agents. For a phone call, extraction runs after hangup. When Record calls is on, it waits until the recording has been transcribed again in full, usually a few minutes after the call, and reads the facts from that more accurate transcript rather than the live one. If the recording can't be transcribed, the live transcript is used.

Each extraction run uses a small, fast helper model and is billed in credits as model tokens, like other model usage.

What gets remembered

Extraction is done by an LLM that reads the conversation transcript and pulls out persistent facts about the customer (not about the agent). The prompt targets:

  • Personal identity: name, age, location, family, relationships.
  • Occupation and work preferences.
  • Standing instructions: for example "keep answers short", "always confirm before sending".
  • Preferences and habits.
  • Other important contextual facts.
  • Noted contradictions, when the customer says conflicting things.

It deliberately ignores session-only actions such as "asked about product X" or "placed order #123", because those don't carry forward.

Facts come only from what the customer said. A name the agent used to address them, the agent's own name, and people or companies looked up during the chat are not stored as the customer's own details unless the customer confirms them ("Is your name Andrea?" / "Yes"). Text the customer pasted or quoted is not treated as their own words.

Each fact is stored as a short key plus a value, with a confidence of high, medium, or low. When the agent updates memory for a returning customer, it reuses the existing key for a fact rather than creating a duplicate, so re-learning a detail updates it in place.

The rolling summary

Alongside the discrete facts, the agent maintains one conversation summary per person: a concise, past-tense narrative of issues raised, outcomes, topics, and decisions. Each extraction run rewrites it to fold in what is new, kept to roughly eight sentences.

What is not guaranteed

  • Full conversation transcripts are not copied into memory. They stay in the conversation list and are accessible from the person's detail panel.
  • There is no automatic redaction of secrets such as passwords or card numbers. The extractor is asked for persistent customer facts and to skip session-only actions, but nothing in the pipeline guarantees sensitive data is filtered out. Treat memory as customer PII and handle it accordingly.

How memory changes the agent's replies

For a returning person, the agent injects what it remembers into the top of its system prompt before answering:

  • A Returning Customer: Remembered Facts section, with facts sorted by confidence (high first) and capped at 40 facts. The agent is instructed to apply them automatically rather than make the customer repeat themselves.
  • A Previous Conversation Summary section (when a summary exists), truncated to about 800 characters.

Because this is keyed per channel identity, it only kicks in when the same person (same channel + identifier) returns. A new, unrecognized visitor starts fresh.

Enabling and configuring memory

Memory is configured per agent in the agent's Configure tab, under the Customer Memory section.

  1. Open the agent and go to Configure.
  2. Expand Customer Memory.
  3. Turn on Enable customer memory.
  4. Choose a Memory retention period.

The retention dropdown offers a fixed set of options:

Memory retentionBehavior
Keep indefinitely (default)Memory never expires.
30 daysMemory is dropped 30 days after it was last updated.
60 daysDropped after 60 days.
90 daysDropped after 90 days.
180 daysDropped after 180 days.
1 yearDropped after 365 days.

Retention is measured from when a person's memory was last updated, and it is enforced in two ways:

  • At read time: expired memory is skipped and never injected into the agent's prompt, even before it is deleted.
  • By a daily cleanup job: once a day, memory records past their retention window are permanently deleted. Records set to "Keep indefinitely" are never deleted by this job.

The retention period is saved with a person's memory each time it is updated. Changing the setting therefore applies to existing memory only when that person's memory is next updated; until then, earlier records keep the period they were saved with, including "Keep indefinitely". Editing or deleting a fact in the dashboard also counts as an update and restarts the clock.

Tip

For support agents, 90–180 days is usually enough. For sales with long buying cycles, keep memory indefinitely.

Reviewing and editing memory

From a person's detail panel, the Memory section lets you inspect and correct what the agent has stored.

  • Learned Facts: each fact shown as its key (humanized) plus value.
  • Conversation Summary: the rolling summary, when one exists.
  • Updated (relative time): when the memory record was last changed.

You can correct memory directly:

  • Edit a fact: hover a fact and click the pencil to edit its value inline, then save.
  • Delete a single fact: hover a fact and click the × to remove just that fact.
  • Clear memory: the red Clear memory button wipes the entire memory record for this person and agent.

Memory is scoped per (person, agent) pair: facts one agent learns are never shared with your other agents, even for the same person. Clearing memory here only affects this agent.

Clear memory (or deleting individual facts) removes what the agent remembers about a person. It does not delete their conversations, call recordings, form submissions, or the name, email and phone saved from forms. Those stay in the agent's Chats and Forms views, and the dashboard has no delete for them.

Not the same as your own Chat memory

Customer Memory is about the people your agents talk to. The dashboard Chat keeps a separate, private memory of each team member, built from their own regular chats and managed only by them under Settings → Chat memory. It never appears in an agent's Grouped view or in any admin view. See What the chat remembers about you.

Conversation History (a separate option)

Independent of Customer Memory, agents have an optional Conversation History setting in the Configure tab (also off by default). When enabled, the agent is shown the recent raw messages from that person's earlier conversations with the same agent, rather than extracted facts, up to a configurable maximum number of messages.

The two features are complementary: Customer Memory gives the agent a distilled set of facts plus a summary, while Conversation History replays actual prior messages. You can enable either, both, or neither.

Form-captured contact details

Separately from memory, when a customer completes one of the agent's built-in forms (for example a contact or appointment form), the name, email, and phone from the submission are saved onto the person record. This happens immediately on submission, only fills a field that is currently empty, and never overwrites a value already stored. It is independent of Customer Memory and works whether or not memory is enabled.

Privacy and data residency

Memory holds personal information about your customers, so handle it responsibly:

  1. Disclose that your agent may remember details for future interactions.
  2. Comply with GDPR and local data-protection rules. A retention period helps with data minimization; "Keep indefinitely" does not.
  3. Handle deletion requests: clear the person's memory here, and keep in mind that their conversations and form submissions are not removed by this.

Conversations, memory and contact details are stored on Swiss-hosted infrastructure, and memory extraction, the summary and the re-transcription of recorded calls run on Swiss-hosted Infomaniak AI. The model that answers is the one your agent's deployment uses, limited by your organization's Server Location setting (no restriction by default; see Data-residency tiers). Voice, on the phone and in the website widget, runs on GPT Live 1 (Microsoft Azure, Sweden Central, global deployment), and phone calls go through a US telephony provider (Twilio), which also keeps call recordings when Record calls is on.

Last updated on October 28, 2026