Understanding Recallr AI
Recallr AI is built around a few core concepts that work together to provide persistent memory for AI applications. This page introduces these concepts and shows how they relate to each other.The Four Main Components
Users
Individual people using your application, each with isolated memory
Sessions
Conversations or interactions that contain messages
Memories
Extracted facts and knowledge stored long-term
Merge Conflicts
Intelligent handling of contradictory information
How They Work Together
Think of Recallr AI like a personal assistant’s notebook:1
A User represents a person
Each individual using your app (customer, player, student, etc.) is a User. They have:
- A unique ID (you provide this)
- Metadata (name, email, preferences, etc.)
- A collection of memories (automatically extracted from conversation sessions)
- Can have multiple sessions over time
2
Sessions contain conversations
When a User interacts with your app, it happens in a Session. A session:
- Contains messages (back-and-forth dialogue)
- Has a status (pending, processing, processed)
- Will be processed to extract memories
- Represents one conversation or interaction
3
Memories are extracted knowledge
When you process a session, Recallr AI analyzes the conversation and creates Memories:
- Structured facts about the user
- Categorized automatically
- Versioned (track changes over time)
- Semantically searchable
4
Merge Conflicts handle contradictions
Sometimes new information conflicts with existing memories, creating Merge Conflicts:
- Detect contradictions automatically (e.g., “I love coffee” vs. “I hate coffee”)
- Disabled by default - must be enabled in project settings
- When enabled, generates clarifying questions sent via webhooks
- You provide answers to resolve conflicts and update memories
- Preserves accuracy by requiring human clarification for contradictions
Real-World Analogy
Imagine you’re a human assistant taking notes about your clients:Recallr AI Concept | Real-World Equivalent |
---|---|
User | A specific client you work with |
Session | One meeting or phone call with that client |
Messages | The back-and-forth conversation during the meeting |
Memories | Important facts you write in your notebook about the client |
Merge Conflict | When the client says something that contradicts your notes |
Process | After the meeting, reviewing your notes and updating them |
Get Context | Before a meeting, reviewing your notes to remember what you know |
FAQs
Users
When to create a new User?
When to create a new User?
Create a user when:
- A new person signs up for your app
- A first-time visitor starts a conversation
- You need to track someone’s preferences
What makes a good User ID?
What makes a good User ID?
Good user IDs are:
- Unique and stable (don’t change over time)
- From your existing system (database ID, email, UUID)
- Easy to retrieve when needed
user_12345
, john@example.com
, player_uuid_...
❌ Bad: Changing usernames, timestamps, random numbersSessions
When to start a new Session?
When to start a new Session?
Start a session when:
- User opens a chat window
- User begins a new conversation
- Significant time has passed since last interaction
When to process a Session?
When to process a Session?
Process a session when:
- Chat window is closed
- Extended period of inactivity
Memories
What becomes a Memory?
What becomes a Memory?
Recallr AI automatically extracts:
- User preferences and dislikes
- Personal information shared
- Goals and plans
- Factual statements about the user
- Important context from conversations
- “User’s birthday is March 15th”
- “User is learning Python”
How are Memories categorized?
How are Memories categorized?
…
Merge Conflicts
When do Merge Conflicts happen?
When do Merge Conflicts happen?
Conflicts occur when:
- New information contradicts existing memories
- User changes their mind or preferences
- Ambiguous or unclear statements are made
- Existing memory: “User is vegetarian”
- New message: “I ate chicken last night”
- → Merge Conflict created!
How to resolve Merge Conflicts?
How to resolve Merge Conflicts?
Conflicts are resolved through webhook notifications:
- Enable merge conflicts in your project settings
- Add webhook URL to receive conflict events
- Receive webhook with conflict details and clarifying questions
- Provide answers via API to resolve the conflict
- Memories update automatically based on your answers
Why are Merge Conflicts disabled by default?
Why are Merge Conflicts disabled by default?
Merge conflicts require webhook setup and human intervention, so they’re disabled by default to:
- Keep the default experience simple
- Avoid overwhelming new users with complexity
- Allow gradual adoption as your use case requires it