Skip to main content
Preview — See Feature availability. Memory APIs and workflow hooks are implemented. The dedicated Memory nav in the Console is off in production (enableMemory false). Use the Memory API, Platform MCP, and Autopilot memory tools in enabled environments.
Memory is AgentRuntime’s long-term knowledge layer. It extracts facts from conversations, files, and workflow step outputs, then makes them searchable for agents and workflows. Chat remembers the current thread. Memory remembers what matters across sessions.

What memory stores

SourceEpisode typeHow it gets in
Chat conversationschat_conversationIndex conversation API or auto-index on save
Work fileswork_fileIndex file API
Workflow step outputrun_stepRuntime memory hooks on step completion
Manual / scriptsexternal_eventDirect extract API
Extracted knowledge is scoped by tenant and project.

When to use memory

Use caseApproach
Agent recalls past decisionsSearch memory before LLM steps (prepare-step or explicit search)
Onboard context from chat historyIndex key conversations after milestones
Document Q&A across uploadsIndex files from work-service, search at query time
Workflow learns from prior runsrun_step episodes capture step outputs automatically
Memory complements — does not replace — workflow state. Step results in {{steps.*}} templates are run-scoped. Memory persists across runs.

Core operations

Semantic search over confirmed long-term memory:
POST /v1/memory/search
{
  "query": "What did we decide about Q2 pricing?",
  "limit": 10,
  "project_id": "your-project-id"
}
Also available as Platform MCP tool memory_search. Requires project_contributor.

Index a conversation

Pull a chat transcript and queue extraction:
POST /v1/memory/index-conversation
{
  "conversation_id": "conv-uuid",
  "project_id": "your-project-id"
}
Returns a job ID. Poll GET /v1/memory/extract/{jobId} for status.

Index a file

Index a work-service file for extraction:
POST /v1/memory/index-file
{
  "file_id": "file-uuid",
  "project_id": "your-project-id"
}

Batch extraction

For large backfills, use batch mode:
POST /v1/memory/extract/batch
GET /v1/memory/extract/batch/{batchId}
Bulk jobs run on a separate queue and may take longer than interactive indexing.

Get an episode

Retrieve a stored episode bundle:
GET /v1/memory/episodes/{episodeId}
Add ?detail=false to omit item payloads.

Agent memory tools

Agents and Autopilot can call memory tools via:
POST /v1/memory/tools/call
ToolPurpose
memory_searchSemantic search
memory_get_episodeFetch episode by ID
memory_get_continuationLatest open episode for a conversation
memory_propose_itemsPropose candidate memory items
memory_confirm_itemPromote item to confirmed long-term memory
Platform MCP exposes the same tools when the memory group is enabled.

Workflow integration

The workflow runtime can call prepare-step memory hooks before LLM steps, injecting retrieved context into the prompt. If memory is unavailable, the run continues without LTM context (logged as a warning, not a hard failure). Pattern:
  1. Index relevant conversations/files into memory
  2. LLM workflow steps benefit from prepare-step context automatically when configured
  3. Optionally add an explicit memory_search via Platform MCP or a future builtin tool step

Billing

Memory actions consume credits:
ActionTypical cost
memory_extract_interactive~10 credits per job
memory_extract_bulk~2 credits per job
memory_index_file_mb~1 credit per MiB
See Billing and credits.

Auto-indexing (when enabled)

BFF can auto-index chat when memory is saved, controlled by deployment config:
  • ChatMemoryAutoIndexModeoff, episode_narrow, or full_ltm
  • ChatEpisodeOnTurn — episode append behavior per turn
These are operator settings, not Console toggles today.

Limitations

  • No dedicated Memory browser in production Console yet
  • Search quality depends on indexed content — empty memory returns empty results
  • Extraction is async — poll job status before assuming facts are available
  • Memory is tenant/project isolated — no cross-tenant search

Troubleshooting

IssueFix
503 memory kernel not configuredMemory service not deployed in this environment
queue unavailableExtract worker or Redis queue down — contact support
work file not foundVerify file_id exists in work-service
Search returns nothingConfirm indexing job completed (GET /v1/memory/extract/{jobId})
High credit usagePrefer bulk extraction for large backfills; set indexing scope narrowly
See Troubleshooting.