Skip to content
Onboarding design partners

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.

receipt 5f1c · renewal-agent · Acme Corp

Answer sent · Sep 23 "Good news — your 20% loyalty discount still applies to the renewal."

cites receipt 5f1c

What the agent was told

discount: 20% loyalty replaced
now: withdrawn · since Sep 2
health: at risk current
usage −38% over 30 days
legal_hold: •••••• withheld
above your clearance

Why it believed it

  1. 01Where it came from: email from j.ortiz@acme.com, Jun 14, extracted with 0.91 confidence.
  2. 02Still true? No. Replaced by a Slack message in #finance on Sep 2.
  3. 03Allowed to see it? Filtered to the agent's clearance, and to yours when you open the receipt.
  4. 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
# cs-alerts Tue 10:42
A

Wavelens APP

Context drifted · Acme Corp · discount

was: 20% loyalty
now: withdrawn · #finance, Sep 2

Served in 6 agent reads. 2 answers to customers relied on it.

Open receipts

How 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
POST /api/v1/mcp · tools/call
{
  "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?NoRarely loggedEvery read, receipted
where each fact came from?Last editor, maybeThe chunk, not the factSource message + confidence
whether it was still true?No historyRebuilt per questionFull value history
whether it should have seen it?Field permissionsOften notClearance 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
Talk to the founder