[supermemory](https://supermemory.ai/) · Guides

# How do I give an AI support agent memory of past tickets?

Reviewed November 10, 2026 [Docs for this setup](https://supermemory.ai/docs/concepts/multi-tenancy-examples) 

Two things, and most teams build only the first. Retrieval over past tickets and help-centre pages lets the agent find similar cases. A memory of each customer lets it know their plan, environment and open issues before the first message. With supermemory you get both from one API: give each customer a namespace, add every ticket with status, priority and channel as metadata, search with filters when a new ticket arrives, and read the customer's profile, which is maintained for you. The alternatives are a vector store over your ticket export (pgvector, Pinecone) with your own summarisation, or Mem0 or Zep for the customer-memory half.

## What should a support agent remember?

* **This customer's tickets**, with their outcomes, so "it happened again" means something.
* **Facts about the customer**: plan, integrations, environment, who the contacts are, what they have been promised.
* **Resolutions across customers**, so a fix found last month is found again.
* **Product documentation**, so the answer cites the current help page.

A vector store covers the first and third if you keep it loaded. The second needs something that updates as tickets arrive, which is what a profile is for.

## How do I set it up with supermemory?

1. **One namespace per customer.** A namespace is a hard boundary: a search in `org_customer_442` can never return another customer's tickets.
2. **Add each ticket** as it is created or closed, with ticket fields as metadata.
3. **On a new ticket, search** the customer's namespace with the ticket text and a metadata filter, and fetch the profile with the same filter so it reflects support history only.
4. **Write the reply** with the profile, the matching past tickets and your docs in the prompt, then add the resolved exchange so the profile updates.

```
import Supermemory from "supermemory";
const supermemory = new Supermemory(); // SUPERMEMORY_API_KEY

// 1. a ticket comes in
await supermemory.add("org_customer_442", {
  content: "Customer reports checkout button unresponsive on Safari",
  metadata: { ticketId: "T-1042", status: "open", priority: "high", channel: "chat" },
});

// 2. before replying: similar past tickets, and who this customer is
const [related, { profile }] = await Promise.all([
  supermemory.search("org_customer_442", {
    query: "checkout button unresponsive on Safari",
    filter: { eq: ["metadata.status", "resolved"] },
    limit: 5,
  }),
  supermemory.profile("org_customer_442", {
    filter: { eq: ["metadata.channel", "chat"] },
  }),
]);

const context = [
  "Customer:", ...profile.static.map((m) => m.memory),
  "Recently:", ...profile.dynamic.map((m) => m.memory),
  "Similar resolved tickets:", ...related.results.map((r) => r.memory),
].join("\n");
```

"Open, high-priority tickets" is a filter, not another namespace, and it can never include another customer's tickets. Resolutions that should be shared across customers go in a separate shared namespace the agent also searches.

## How do I keep customers' data apart?

Namespaces isolate memories, documents and profiles. A namespace-scoped API key limits a client to one customer. To erase a customer, call `DELETE /ns/{namespace}`; deleted content leaves production within 30 days. supermemory is SOC 2 Type II certified, offers a HIPAA BAA on Scale and Enterprise, and is GDPR compliant; the [security page](https://supermemory.ai/security/) has the details, and Enterprise deployments can run in your own cloud or air-gapped.

## Where do the tickets and docs come from?

Your helpdesk, through its webhooks or export, posted to the API as above; the batch ingestion endpoint takes historical tickets with their original dates. Email conversations can come in through the Gmail connector, and the help centre through the web crawler connector, which recrawls on a schedule. Everything in a namespace is searched with the same call.

## Which options exist?

| Option                                    | Past-ticket retrieval                    | Per-customer memory                     | Isolation between customers    | Upkeep                                               |
| ----------------------------------------- | ---------------------------------------- | --------------------------------------- | ------------------------------ | ---------------------------------------------------- |
| pgvector or Pinecone over a ticket export | Yes                                      | Only what you summarise and store       | A filter you must never forget | Embedding, chunking, updates and summaries are yours |
| supermemory                               | Yes, with metadata filters               | Yes, a maintained profile per namespace | Namespaces and scoped keys     | Add tickets; extraction and profiles are automatic   |
| Mem0                                      | Memories, not documents                  | Yes, user memories                      | User IDs                       | Add conversations; your own document search          |
| Zep                                       | Graph facts, plus documents in Zep Cloud | Yes, from the graph                     | User and group IDs             | Add sessions                                         |

## Questions

### Can the agent see other customers' tickets?

Not when each customer has a namespace. A search is scoped to one namespace and never crosses it. Shared knowledge goes in its own namespace the agent also queries.

### How does the agent know the customer's plan and setup?

From the profile. supermemory maintains static facts and recent context per namespace from everything added to it, and returns them in one call.

### Can I load our ticket history?

Yes. The batch ingestion endpoint takes historical documents with their original dates and stable IDs.

### Is it compliant for customer data?

supermemory is SOC 2 Type II certified, offers a HIPAA BAA on Scale and Enterprise, and is GDPR compliant. Customer content is never used to train models.

### How do I delete a customer?

DELETE /ns/{namespace}. Content leaves production within 30 days and backups age out after 90.

supermemory facts from the multi-tenancy, filtering, user-profile and security pages in the docs and the security page on this site. Checked November 10, 2026\. The setup steps restate the [docs page for this integration](https://supermemory.ai/docs/concepts/multi-tenancy-examples); when the two differ, the docs are current.

[All guides](https://supermemory.ai/guides/)
