Skip to main content
Coming soon. A session analysis API is planned to list and fetch per-session documents by user email, time range, and related filters.

Why user memory exists

The SDK already gives live context (what the user is doing now). User memory adds history: what this person has already completed, where they stalled, and what they have never tried. Without it, every user looks like a first-time visitor; with it, the onboarding agent can focus on gaps instead of repeating mastered flows.
What does this user already know — and what is still new to them?

Three signals for a proactive onboarding agent

See Proactive onboarding agent.
SignalAnswers
Real-time eventsWhat is the user doing right now?
Golden pathsWhat should they be doing on the journey?
User memoryWhat have they already done, and where do they struggle?
User memory is the relevance filter between golden-path intent and useful suggestions.

How it works

Raw browser events are noisy for an LLM. Autoplay extracts, labels, groups, and compresses them into a short list of meaningful actions per session. That list is fed through the Terra pipeline; each session yields one session_analysis document. Many sessions roll up into the cross-session memory profile.

In practice

User historyOnboarding agent leans toward
Workflow masteredSkip explaining it; suggest something else
In progressResume at the missed step, not step one
Untouched high-value flowIntroduce when context fits
Repeated struggleChange approach instead of repeating the same hint

Session analysis document (one session)

Session-level output is one JSON per session (Terra). Cross-session user memory merges many of these over time — not the same as a single session export.

Planned session API and response shape

We will ship an API to query session analyses (e.g. filter by user email, time range, organization, product). Each matching session is returned as its own session_analysis document. The example below is the exact shape of one such response — also checked in as session-analysis.example.json so you can diff or copy without scrolling the docs.

Top-level sections

SectionWhat it holds
schemaDocument version / compatibility
metaSession id, org, product, duration, pipeline (terra), model, timestamps
urlsRouting shape and page timeline (raw_url / canonical_url, dwell times)
actionsNumbered labelled steps (types, titles, descriptions, URLs, timestamps)
insightsLLM summary, bullets, flow, intent, friction, highlights, optional suggested_email
tagsOften tags.values[] with { key, value, type } entries
tasksGolden-path fit: expected_path, attempts, matched_actions / missed_steps, similarity
promptsPrompt names and versions used to generate sections

How memory shapes the agent

The cross-session profile is serialized into a compact block in the agent context (workflow mastery, in-progress flows, struggles, last session summary). Use the same logic as the table in In practice above: prioritize gaps, resume incomplete paths at the right step, and avoid generic repetition when memory says the user already knows the flow.

Stay updated

User memory is in active development. Watch the GitHub repository or check back here.