This page explains how memory behaves. To configure the memory schema and
the extraction settings on the dashboard, see the Memory page.
The two memory stores
The schema is owner-defined once per agent and shared by all users; only the
values are per-user. A user’s workflow progress — their
Stages position and
goal progress — travels with their memory.
Everything the platform keeps for a user — memories, workflow position, goal
progress — is private to that user and isolated per subscriber: what one
person’s conversations produce is never readable from another’s, and a
subscriber’s own visitors’ memories are not browsable from the owner’s memory
panel. All of it survives restarts and updates, and is manageable from the
Memory page.
Identity per channel
Each user is recognized by how they reach your agent, and their memory follows that identity:The widget exception: browser-side memory
The plain embeddable widget (no subscriber in the URL) deliberately keeps no server-side memory. The browser holds the memory and sends it with each chat request; the agent works from that and returns the updated version to the browser. If the browser sends nothing, the agent starts empty — anonymous widget traffic never falls into any shared server-side memory. Clearing the browser or switching devices loses the plain widget’s memory. (The contact registry entry and conversation transcripts are stored separately and do persist.)How the agent accesses memory
Reading — automatic. Relevant memory is loaded into the agent’s context at the start of every turn, so it begins with background knowledge without a tool call. This is strictly per-user — one user’s memory can never appear in another’s conversation. Reading — on demand. Tools the agent can call:
Writing.
Structured-memory tools are available only when the agent has a memory schema
and the caller has an identity to store under. Custom code can reach the
same stores through the
ctx bridge.
Managing memory
As the owner:- Memory page — define the schema (public/private fields), tune the Memory Engine (auto-extract, semantic search, dedup & merge, compression, focus instructions), and generate schemas with AI.
- Your agent’s memory (same page) — browse each owner-side memory (preview, API keys, IM senders, email senders) and inspect what the agent remembered.
- View Insights — per-user analytics plus the trust & contradiction tools for resolving conflicting memories.
- Management MCP — the
memory_schemasection is readable/writable programmatically (reference).
- View and edit their public fields directly.
- Ask the agent what it remembers (private fields are inspectable on request).
- Pause memory — the “agent may remember things about you” toggle. When off, the agent can still read what it already knows and be asked to forget things.
Worth noting
- Everything the agent remembers is kept as readable notes and structured values — fully inspectable from the dashboard; nothing it knows about a user is opaque.
- Memory writes happen after the reply, so they never add latency to a turn.
- A subscriber instance’s visitors’ memories are intentionally not surfaced to the owner’s memory browser; the subscriber can always see their own public fields.