Customer memory
your AI agents can cite
Wavelens reads your email, Slack, billing and product data and keeps a living record of every account. Your agents get context with receipts: where each fact came from, how sure it is, and whether it's still true.
Works with any MCP agent · Self-hostable · Bring your own LLM
Builds itself from the tools your team already uses. Read-only.
- Gmail
- Microsoft 365
- IMAP
- Slack
- Intercom
- Zendesk
- HubSpot
- Salesforce
- Stripe
- PostHog
- Postgres
The problem
AI is talking to your customers using context nobody can check.
Your support bot, renewal copilot or account agent reads stale CRM fields, or rebuilds a summary from scratch on every question. When it gets something wrong, nobody can say what it believed, or why.
1 · The agent answers
"Good news — your 20% loyalty discount still applies to the renewal."
2 · The customer escalates
Finance withdrew that discount in a Slack thread three weeks ago. Now it's in writing.
3 · Nobody can say why
Which record did it read? Was it current? Should it have seen it? The model wasn't the problem. The context was.
Receipts
Every read leaves a receipt. Open it to see exactly what the agent was told.
Each time an agent reads from Wavelens, the read is recorded: who asked, what they were served, and the source behind every fact. Weeks later, the receipt still answers the four questions that matter.
Answer sent · Sep 23 "Good news — your 20% loyalty discount still applies to the renewal."
cites receipt 5f1cWhat the agent was told
Why it believed it
- 01Where it came from: email from j.ortiz@acme.com, Jun 14, extracted with 0.91 confidence.
- 02Still true? No. Replaced by a Slack message in #finance on Sep 2.
- 03Allowed to see it? Filtered to the agent's clearance, and to yours when you open the receipt.
- 04Can it be fixed? Correct the rule and re-derive history from the original messages, without re-billing the model.
Drift alerts
Hear about it before your customer does.
When a fact an agent already served is replaced, Wavelens tells you in email or Slack: what changed, which reads carried the old value, and which answers to customers relied on it. You fix the conversation instead of finding out from an escalation.
- · One alert per replaced fact, never one per read
- · Values above the channel's clearance are never posted
- · Every alert opens straight into the receipts behind it
Wavelens APP
Context drifted · Acme Corp · discount
Served in 6 agent reads. 2 answers to customers relied on it.
Open receiptsHow it works
Three steps. No data entry.
01
Connect your sources
Gmail or Microsoft 365, Slack, Intercom, Zendesk, HubSpot, Salesforce, Stripe, PostHog, or a read-only view of your own Postgres. Wavelens only reads them.
02
It remembers, with receipts
People, accounts, facts and health build themselves. Each fact keeps its source message, its confidence, and every value it replaced.
03
People and agents read the same memory
In the app, over the API, or from any MCP-compatible agent. Every read is receipted.
What you get
Context you can defend, not just retrieve.
Every fact has a source
Any fact, score or summary opens into the exact messages and events behind it, with confidence and when it was last confirmed.
It records what the agent said
Agents log each answer they send a customer, citing the receipts it relied on. "What did we tell Acme, and based on what?" becomes one click.
It respects boundaries
Sensitivity levels filter what each person or agent may read, all the way down to the audit trail and the receipts.
It can be corrected and replayed
Fix a rule, then re-derive history from the original messages. A rebuild reuses what was already extracted instead of paying the model again.
For the engineer building the agent
Point your agent at it.
Wavelens speaks MCP. Any compatible agent gets read-only tools for accounts, contacts, context packs, what changed and knowledge search. Every result names its receipt, and record_answer logs what your agent then told the customer, so it can be traced back later.
- · Scoped to the key's workspace and clearance
- · Stateless HTTP, so it runs behind any load balancer
- · Self-hostable, bring your own LLM
{
"name": "get_entity_context",
"arguments": {
"entityId": "…acme…",
"purpose": "renewal"
}
}
→ {
"receipt_id": "5f1c…",
"result": {
"facts": [ … each with source … ],
"changes": [ … since last offer … ]
}
}
Why not what you have
Four questions. Only one answers all of them.
| Can you tell… | CRM fields | Retrieve & summarize | Wavelens |
|---|---|---|---|
| what the agent was told? | No | Rarely logged | Every read, receipted |
| where each fact came from? | Last editor, maybe | The chunk, not the fact | Source message + confidence |
| whether it was still true? | No history | Rebuilt per question | Full value history |
| whether it should have seen it? | Field permissions | Often not | Clearance on every read |
We don't replace your inbox or your agent. We make what it knows trustworthy.
Built for the security review
Customer data stays where you decide it lives.
Clearance on every read
Agents, people, receipts and alerts only ever see what their clearance allows.
SSO and SCIM
Sign in with your identity provider. Deprovisioned users lose access within a minute.
Per-person erasure
Erase a person and their facts, and what agents were served about them, go with them.
Self-host, your LLM
Run it in your own cloud with the model provider you already approved.
FAQ
Questions teams ask first.
Do we have to replace our support bot or CRM?
No. Wavelens sits underneath them. Your agent keeps answering customers; it just reads its customer context from Wavelens, and every read is receipted. Your CRM stays one of the sources Wavelens reads.
Which agents work with it?
Anything that speaks MCP, including in-house agents built on Claude or GPT. Agents that don't can call the same context over the REST API. Running several agents from different vendors is the case Wavelens is built for: one memory, one ledger, every agent.
How is this different from agent observability tools?
Observability traces the model: prompts, tokens, latency. Wavelens traces the customer facts: where each one came from, which agent was served which version, and whether it is still true today. Those are the questions you get asked after a bad answer.
Where does our data live?
Wavelens is self-hostable, and you bring your own LLM, so customer data can stay entirely inside your infrastructure. Design partners get hands-on help with setup.
What does it cost?
Design partners use it free. After that, pricing follows the accounts under memory and the receipted agent reads, never seats, because agents aren't seats.
How long until it's useful?
Connect a mailbox and one data source. Memory builds from your existing history, so within a week you can open a receipt for any answer your agent gave.
Design partners
Have an AI agent talking to customers today?
We're onboarding ten B2B teams whose agents talk to customers. You connect a mailbox and one data source; within a week you can open a receipt for any answer your agent gave.
- Free while you're a partner
- Hands-on setup with the founder
- Your roadmap asks go first