Transfer, copy, and synchronize memories between agents — with granular filtering, conflict resolution, and scheduling.
The Memory Transfer page allows administrators to move or copy memories from one agent to another. This is essential when onboarding new agents, consolidating knowledge, replicating expertise, or decommissioning agents while preserving their learned knowledge.
Memory Transfer supports both one-to-one and one-to-many transfers, with full control over which memories are included, how conflicts are handled, and whether metadata is preserved.
The transfer process follows these steps:
| Mode | Description | Source After Transfer |
|---|---|---|
| Copy | Duplicates memories to target agent(s) | Unchanged — all memories remain |
| Move | Transfers memories and removes from source | Matched memories are deleted |
A conflict occurs when a memory with the same title and category already exists in the target agent. The system detects this automatically and applies your chosen conflict strategy.
When "Preserve metadata" is enabled, the original memory's metadata fields (timestamps, custom data,
source information) are carried over to the target. A transferredFrom field is always
added to track the memory's provenance, along with a unique transferId.
Memories are organized into these categories:
The main Transfer tab is where you configure and execute transfers. It's organized into sequential sections: Source, Filters, Preview, Targets, Options, and Execute.
Select an agent from the dropdown to see their memory statistics, including total memory count and number of active categories. If an agent has no memories, the transfer options will be disabled.
Choose one or more target agents individually, or check "All agents in organization" to transfer to every agent except the source. The system automatically prevents self-transfer.
Filters let you precisely control which memories are included in the transfer:
| Filter | Description |
|---|---|
| Categories | Select specific memory categories to include. Use "Select All" or "Clear" for quick toggling. |
| Date Range | Only include memories created within a specific time period. |
| Importance | Filter by importance level: low, medium, high, or critical. |
| Search | Full-text search across memory titles and content. |
| Tags | Comma-separated list of tags. Memories must have at least one matching tag. |
Filters are cumulative — all active filters must match for a memory to be included. Use the Preview button to verify your filter results before executing.
When a target agent already has a memory with the same title and category, the conflict strategy determines what happens:
| Strategy | Behavior | Best For |
|---|---|---|
| Skip | Keep the target's existing memory, don't transfer | Preserving the target's established knowledge |
| Overwrite | Replace target's memory with the source version | Ensuring latest knowledge is propagated |
| Merge | Combine content from both versions, merge tags | Building comprehensive knowledge from multiple sources |
| Append | Create a new memory with "(transferred)" suffix | Keeping both versions for comparison |
The History tab provides a complete audit trail of all past transfers. Each entry shows:
History is paginated with 20 entries per page. Use the Previous/Next buttons to navigate through older transfer records.
Automated transfer schedules allow you to set up recurring memory synchronization between agents. This is useful for maintaining knowledge consistency across teams of agents.
| Type | Description |
|---|---|
| Daily | Runs once per day at the specified time |
| Weekly | Runs once per week on the specified day and time |
| On Change | Triggers whenever the source agent's memories change |
Active schedules are listed in a table showing source, targets, schedule details, mode, and conflict strategy. Use the delete button to remove a schedule. Deleted schedules stop immediately.
Memory Transfer works with the default configuration for most use cases. Advanced options include:
transferredFrom and transferId fields are always added to transferred memories for traceability.The source agent has no memories matching your current filter combination. Try broadening the filters: select all categories, remove date range restrictions, or clear the search query.
Self-transfer is not allowed. Make sure the source and target agents are different. If using "All in org", the source is automatically excluded.
This means every source memory already exists in the target (by title+category match) and your conflict strategy is "Skip". Try "Overwrite" or "Append" to force the transfer.
Refresh the target agent's memory page. If using org context, make sure you're viewing the correct organization. Check the transfer history for error details.
Transfers process memories sequentially for safety. For very large transfers (1000+ memories), consider using filters to break the transfer into smaller category-based batches.
The Memory Transfer feature exposes these API endpoints under /api/engine/memory-transfer/:
| Method | Endpoint | Description |
|---|---|---|
| POST | /preview | Preview matching memories before transfer |
| POST | /execute | Execute a memory transfer |
| GET | /history | List transfer history with pagination |
| POST | /schedule | Create an automated transfer schedule |
| GET | /schedules | List active schedules |
| DELETE | /schedules/:id | Remove a schedule |