Back to Supermemory

Customizing for Your Use Case

apps/docs/concepts/customization.mdx

latest5.9 KB
Original Source

Configure how Supermemory processes and retrieves content for your specific use case.

Filter Prompts

Tell Supermemory what content matters during ingestion. This helps filter and prioritize what gets indexed.

typescript
// Example: Brand guidelines assistant
await client.settings.update({
  shouldLLMFilter: true,
  filterPrompt: `You are ingesting content for Brand.ai's brand guidelines system.

    Index:
    - Official brand values and mission statements
    - Approved tone of voice guidelines
    - Logo usage and visual identity docs
    - Approved messaging and taglines

    Skip:
    - Draft documents and work-in-progress
    - Outdated brand materials (pre-2024)
    - Internal discussions about brand changes
    - Competitor analysis docs`
});
<AccordionGroup> <Accordion title="Personal Assistant"> ```typescript filterPrompt: `Personal AI assistant. Prioritize recent content, action items, and personal context. Exclude spam and duplicates.` ``` </Accordion> <Accordion title="Customer Support"> ```typescript filterPrompt: `Customer support agent. Prioritize verified solutions, official docs, and resolved tickets. Exclude internal discussions and PII.` ``` </Accordion> <Accordion title="Legal Assistant"> ```typescript filterPrompt: `Legal research assistant. Prioritize precedents, current regulations, and approved contract language. Exclude privileged communications.` ``` </Accordion> <Accordion title="Finance Agent"> ```typescript filterPrompt: `Financial analysis assistant. Prioritize latest reports, verified data, and regulatory filings. Exclude speculative data and MNPI.` ``` </Accordion> <Accordion title="Healthcare"> ```typescript filterPrompt: `Healthcare information assistant. Prioritize evidence-based guidelines and FDA-approved info. Exclude PHI and outdated recommendations.` ``` </Accordion> <Accordion title="Developer Docs"> ```typescript filterPrompt: `Developer documentation assistant. Prioritize current APIs, working examples, and best practices. Exclude deprecated APIs and test fixtures.` ``` </Accordion> </AccordionGroup>

Entity Context

Guide memory extraction for a specific container tag. Filter prompts are org-wide; entity context is per container.

typescript
await client.add({
  content: "User asked about logo variations for dark backgrounds...",
  containerTag: "session_abc123",
  entityContext: `Design exploration conversation between [email protected] and Brand.ai assistant.
    Focus on John's design preferences and brand requirements.`
});
<Accordion title="Update entity context only"> Update entity context for a container tag without uploading content.
typescript
await client.containerTags.update("session_abc123", {
  entityContext: `Design exploration conversation between [email protected] and Brand.ai assistant.
    Focus on John's design preferences and brand requirements.`
});
</Accordion> <Note> Entity context persists on the container tag and combines with org-level filter prompts. </Note>

Chunk Size

Control how documents are split into searchable pieces. Smaller chunks = more precise retrieval but less context per result.

typescript
await client.settings.update({
  chunkSize: 512  // -1 for default
});
Use CaseChunk SizeWhy
Citations & references256-512Precise source attribution
Q&A / Support512-1024Balanced context
Long-form analysis1024-2048More context per chunk
Default-1Supermemory's optimized default
<Note> Smaller chunks generate more memories per document. Larger chunks provide more context but may reduce precision. </Note>

Connector Branding

Show "Log in to YourApp" instead of "Log in to Supermemory" when users connect external services. See Connectors Overview for the full list of supported integrations.

<AccordionGroup> <Accordion title="Google Drive"> 1. Create OAuth credentials in [Google Cloud Console](https://console.cloud.google.com/) 2. Redirect URI: `https://api.supermemory.ai/v3/connections/google-drive/callback`
```typescript
await client.settings.update({
  googleDriveCustomKeyEnabled: true,
  googleDriveClientId: "your-client-id.apps.googleusercontent.com",
  googleDriveClientSecret: "your-client-secret"
});
```
</Accordion> <Accordion title="Notion"> 1. Create integration at [Notion Developers](https://developers.notion.com/) 2. Redirect URI: `https://api.supermemory.ai/v3/connections/notion/callback`
```typescript
await client.settings.update({
  notionCustomKeyEnabled: true,
  notionClientId: "your-notion-client-id",
  notionClientSecret: "your-notion-client-secret"
});
```
</Accordion> <Accordion title="OneDrive"> 1. Register app in [Azure Portal](https://portal.azure.com/) 2. Redirect URI: `https://api.supermemory.ai/v3/connections/onedrive/callback`
```typescript
await client.settings.update({
  onedriveCustomKeyEnabled: true,
  onedriveClientId: "your-azure-app-id",
  onedriveClientSecret: "your-azure-client-secret"
});
```
</Accordion> </AccordionGroup>

API Reference

typescript
// Get current settings
const settings = await client.settings.get();

// Update settings
await client.settings.update({
  shouldLLMFilter: true,
  filterPrompt: "...",
  chunkSize: 512
});
<Note> Settings are organization-wide. Changes apply to new content only—existing memories aren't reprocessed. </Note>

Next Steps

<CardGroup cols={2}> <Card title="Add Memories" icon="plus" href="/add-memories"> See your custom settings in action </Card> <Card title="Connectors" icon="plug" href="/connectors/overview"> Set up automatic syncing from external platforms </Card> </CardGroup>