Overview
Organizational context follows a specialized path through Synap. Unlike user or customer memories that arise from conversations, org-level context is typically ingested proactively — product documentation, company policies, FAQs, knowledge base articles — and made available to all users interacting with your application. Org context is stored at the CLIENT scope, cached with a longer TTL because it changes infrequently, and merged into every retrieval query at the lowest priority (after user and customer memories). This page covers the full lifecycle of organizational knowledge in Synap.Lifecycle Stages
Ingestion — Loading Organizational Knowledge
Org context enters Synap through two primary methods:Bootstrap API (recommended for bulk loads)Use SDK (for programmatic ingestion)When you call
POST /v1/memories/batch with BOOTSTRAP priority for initial loads and large updates. Bootstrap priority ensures these documents are processed with higher throughput and don’t compete with real-time user memory ingestion.sdk.memories.create() without specifying user_id or customer_id, the memory is automatically scoped to the CLIENT level — making it organizational context.Processing — Same Pipeline, Client Scope
Org context goes through the same multi-stage processing pipeline as user memories:
- Categorization — Org docs are typically classified as factual or procedural content.
- Extraction — Key facts, procedures, and entities are extracted.
- Chunking — Documents are split into semantically coherent chunks for embedding.
- Entity Resolution — Entities are resolved at the CLIENT scope. Product names, team names, and internal terminology are registered as client-level entities that all users can reference.
- Organization — Processed memories are organized and stored at CLIENT scope.
Entity resolution at CLIENT scope means that when a user mentions “Product X” in a conversation, the system can resolve it against the entity registered during org context processing — connecting the user’s question to the relevant product documentation.
Storage — Client-Scoped Persistence
Processed org context is stored in both the vector store and graph store at CLIENT scope. This means:
- Org memories are isolated from user and customer memories in storage — they won’t leak between tenants.
- Org memories are accessible during retrieval because the scope chain includes CLIENT for all queries.
- Entity relationships created from org docs (e.g., “Product X” → “Slack integration”) are stored in the graph and available for relationship-based queries.
Caching — 30-Minute TTL for Performance
Because organizational context changes infrequently (policy documents, product specs, and FAQs are updated occasionally, not every minute), Synap caches org context retrieval results with a 30-minute TTL.The
POST /v1/context/client/fetch endpoint returns cached results within the TTL window. This provides two benefits:- Lower latency — cached results are returned without hitting the vector/graph stores.
- Reduced load — the storage layer isn’t queried for the same org context on every user request.
The 30-minute TTL means that after you update org context, it may take up to 30 minutes for the changes to propagate to all retrieval queries. For time-sensitive updates, you can explicitly invalidate the cache via the API.
Retrieval — Scope Chain Merge
When any user queries for context, org-level memories are included in the retrieval results through the scope chain merge. The retrieval system queries all applicable scopes and merges the results with a priority ordering:
- USER memories (highest priority) — specific to the individual user
- CUSTOMER memories — shared across users in the same customer organization
- CLIENT memories (lowest priority) — organizational knowledge
Updates — Idempotent Re-ingestion
When organizational documents change, re-ingest them with the same
document_id. Synap uses document_id for idempotent updates:- If a memory with the same
document_idalready exists, the old version is replaced with the new content. - The new content goes through the full processing pipeline again.
- Entity connections are updated to reflect the new content.
- The cache is invalidated for affected entries (within the next TTL window).
How Org Context Surfaces in Retrieval
The following diagram shows how org context is merged with user and customer memories during retrieval:TTL Management
- Default Behavior
- Cache Invalidation
By default, org context is cached for 30 minutes. No configuration is needed — this is handled automatically by the Synap Cloud.
Best Practices
Use document_id for Idempotency
Use document_id for Idempotency
Always assign a stable
document_id to organizational documents. This ensures that re-ingestion updates the existing memory rather than creating duplicates. Use a naming convention like doc_<category>_<name>_v<version> for clarity.Schedule Periodic Re-ingestion
Schedule Periodic Re-ingestion
For frequently changing documents (pricing pages, feature lists, policy updates), set up a scheduled job to re-ingest from the source of truth. A daily or hourly cron job that pulls from your CMS or knowledge base and submits to Synap keeps org context fresh.
Scope Org Context Correctly
Scope Org Context Correctly
Do not include
user_id or customer_id when ingesting organizational context. Including these fields would scope the memory to a specific user or customer, preventing it from being available to all users.Use BOOTSTRAP Priority for Large Loads
Use BOOTSTRAP Priority for Large Loads
When loading many documents (initial setup, knowledge base migration), use
BOOTSTRAP priority via the batch API. This ensures high-throughput processing without impacting real-time user memory ingestion.Next Steps
Organizational Context
Conceptual overview of how organizational knowledge fits into Synap.
Long-term Context Lifecycle
How individual memories are managed over time.
Context API Reference
API endpoints for fetching and managing context.