Documentation Index
Fetch the complete documentation index at: https://docs.agentium.in/llms.txt
Use this file to discover all available pages before exploring further.
User Facts
In plain terms
User Facts are the things the agent knows about a person — “prefers email,” “lives in Mumbai,” “is a TypeScript developer.” Unlike a session (which is one conversation), facts follow the user across every conversation, forever.The analogy: the notes a great account manager keeps about each client. Next time you call, they already know who you are and what you care about.This is what makes an agent feel like it has a relationship with the user rather than meeting them fresh every time.
When to use it
- Personalization — remember preferences, background, communication style across sessions.
- Customer/support agents — recall a returning customer’s history and preferences.
- Assistants — “remember that I’m vegetarian,” “I work in IST,” “I prefer concise answers.”
When NOT to use it
- Transient, one-off details — an order ID being discussed right now, a price quote, a symptom. These belong in the conversation (Sessions) or come from a tool call, not long-term memory. The extractor is tuned to skip these automatically.
- Structured attributes you can predict (name, role, plan tier) — those are better in User Profile, which stores one clean value per field.
Facts vs Profile: Facts are open-ended and unpredictable (“loves science fiction”). Profile is a fixed form (“role: engineer”). Use Facts when you can’t enumerate the fields in advance.
Configuration
| Property | Type | Default | What it controls |
|---|---|---|---|
maxFacts | number | 100 | Max active facts per user. When exceeded, the least important + oldest are pruned |
maxFacts: pruning keeps the most important and recent facts — a high-importance fact (“allergic to peanuts”) outranks a trivial recent one. Lower it to keep prompts cheap; raise it (e.g. 300) for power users or B2B accounts where deep history pays off.
How extraction works
After each conversation, a background model re-reads the recent turns and extracts stable facts. You write no code.- Contradictions are handled. If a new fact replaces an old one (“moved to Berlin” vs “lives in Mumbai”), the old fact is invalidated with a reason:
"superseded"— silently replaced; never shown again."forgotten"— user explicitly asked to forget it; surfaced in a “do not restate” block and excluded from recall.
- Dates are timezone-aware. “My birthday is today” resolves to an absolute date using the
timezoneconfig — set it in production so users near midnight get the right date. Recurring events (birthdays) are stored without a year unless stated. - Re-stating a forgotten fact reactivates it rather than dropping it.
Tools
When enabled, the agent gets one tool automatically:| Tool | What it does |
|---|---|
recall_user_facts | Looks up active facts about the current user (e.g. when the user asks “what do you know about me?”) |
Direct access
Cross-references
- User Profile — structured alternative for predictable fields
- Multi-User Isolation — facts are strictly scoped per user
- Temporal Awareness — how superseded/forgotten facts work
- Memory Curator — deduplicate and consolidate facts over time