Skip to main content
The Customer Support Schema is for support chatbots, agent-assist copilots, CRM AI, and helpdesk platforms. The SDK stays the same. Enable domain_schema: "support" and MemoryOS adds a structured support overlay to every add() and get() call.

What it stores

FieldMeaning
support_typeActive support vertical for this customer
customer_identityAccount hints, tier, name, verified status
communication_preferenceChannel, tone, detail level, technical comfort
language_profilePreferred language and regional style
current_open_issueThe issue future replies should start from
issue_historyUseful prior issues without dumping every ticket
resolution_preferenceRefund, replacement, callback, workaround, escalation, or self-serve
sentiment_patternFrustration, repeat complaint, escalation risk, or easy-to-resolve
risk_signalsFraud, churn, legal, compliance, VIP, or safety signals
support_contextVertical-specific context: orders, invoices, bookings, plans, transactions

Support types

saas, ecommerce, banking_fintech, travel, telecom, edtech_support, general_info

Enable

From the workspace dashboard: Settings → Domain Schema → Customer Support Schema, or via API:
PATCH /v1/tenant/domain-schema
Authorization: ApiKey mem_...
Content-Type: application/json
{ "domain_schema": "support" }

Routing modes

ModeUse when
singleOne vertical — SaaS, ecommerce, banking, travel, telecom
multiHelpdesk platform serving many verticals
autoEarly testing or broad demos
Single vertical:
{
  "support_type_mode": "single",
  "support_type": "banking_fintech",
  "support_types_allowed": []
}
Multi-vertical helpdesk:
{
  "support_type_mode": "multi",
  "support_type": null,
  "support_types_allowed": ["saas", "ecommerce", "banking_fintech", "travel", "telecom", "general_info"]
}
Classification happens inside the extraction pass — no separate detection call.

Retrieval safety rules

Support retrieval prepends guardrails to system_prompt_addition:
Support memory usage rules:
- Treat this as remembered customer context, not live system truth.
- Do not claim you checked, changed, refunded, cancelled, verified, located, or triggered anything
  unless your own tool/API result confirms it.
- If live system data is needed, say you need to check the relevant support system.
For banking_fintech:
- Never ask for or repeat OTPs, passwords, full account numbers, full card numbers,
  Aadhaar, or PAN values.
These add no extra LLM call — just a few deterministic prompt tokens.

MemoryOS vs. your support tools

Belongs in MemoryOSBelongs in your systems
Customer prefers refunds over replacementsCurrent order status
Unresolved billing issue from last sessionCurrent invoice status
Customer contacted support three timesAccount owner verification
Escalation risk signalsRefund creation
Communication style preferenceTicket SLA timer
The recommended flow:
1. mem.get() — remembered support context
2. your tools — live truth (orders, invoices, tickets)
3. combine both in the model call
4. mem.add() — store the conversation

PII guidance

Prefer stable internal IDs for external_user_id. Keep ticket IDs in metadata. Never send raw card data, OTPs, passwords, Aadhaar, PAN, full account numbers, or full passport numbers to MemoryOS. PNR values for travel are fine — they’re operational references, not financial credentials.

Dashboard endpoints

NeedEndpoint
Customer support memory listGET /v1/tenant/customers
Aggregate support statsGET /v1/tenant/support-stats
Configure routingPATCH /v1/tenant/support-type
Current domain configGET /v1/tenant/domain-schema
Use SDK get() for model calls, not dashboard endpoints.