Your ElevenLabs Voice Agent Remembers the Call. It Forgets the Caller.
Your ElevenLabs Voice Agent Remembers the Call. It Forgets the Caller. Imagine a dental clinic running its front desk on an ElevenLabs voice agent. Monday morning a patient calls to confirm Wednesday's appointment and mentions they switched insurance. The agent notes it, confirms the visit, ends the call. Wednesday morning the same patient calls because they are running ten minutes late. The agent asks: "Can I get your name and date of birth?" Then: "And what insurance do you have on file?" Ev
Your ElevenLabs Voice Agent Remembers the Call. It Forgets the Caller.
Imagine a dental clinic running its front desk on an ElevenLabs voice agent. Monday morning a patient calls to confirm Wednesday's appointment and mentions they switched insurance. The agent notes it, confirms the visit, ends the call. Wednesday morning the same patient calls because they are running ten minutes late. The agent asks: "Can I get your name and date of birth?" Then: "And what insurance do you have on file?"
Everything the agent learned on Monday is gone. Not misplaced. Never stored.
If you operate voice AI for real clients, this is the moment the pitch meets reality. ElevenLabs makes the voice part feel effortless, and then a returning caller reveals what the platform was never designed to do. So let us answer the question directly: does ElevenLabs remember between calls?
The 30-second explanation
ElevenLabs gives every call its own session, and that session is amnesic by design. During the call, the agent holds full context: what the caller said two minutes ago, the details they corrected, the decision they just made. When the call ends, that session ends with it. The next call starts with nothing.
This is not a bug or a missing feature. Real-time voice platforms are built to spin up thousands of concurrent conversations with sub-second latency, and the fastest way to do that is to not carry state between them. Nothing in the product promises a persistent caller profile, so nothing in the product provides one.
The confusion is understandable, because the platform ships features that look like memory from the outside.
Why the Knowledge Base will not save you
ElevenLabs offers a hosted Knowledge Base where you upload your documents: services, pricing, policies, FAQs. The agent answers from it with impressive accuracy. Many builders point to this and assume the memory question is handled.
It is not. The Knowledge Base is your company's static information. It tells the agent what a root canal costs and what the cancellation policy is. It has no concept of this caller: what they discussed last Monday, what they promised, what went wrong on the last visit. Uploading documents gives the agent knowledge. Knowledge and memory are different things, and callers notice the difference immediately.
What about the tools that let a webhook push data into a call as it starts? ElevenLabs supports injecting caller data at call initiation, which is genuinely useful, but read the mechanism carefully: the platform provides the injection point, not the data. Whatever you inject has to come from a profile you maintain yourself. The webhook is a pipe. The memory still has to live somewhere.
The part everyone builds themselves
Since the platform does not keep caller memory, every serious deployment builds the same thing. The pattern has converged across the open-source community, and it has three parts.
Capture after the call. A webhook fires when the call ends, grabs the transcript, and extracts the durable facts: who called, what changed, what was promised, what should carry forward. Some builders save a compact summary per call. Others keep a profile per caller, keyed by phone number, and merge each new call's facts into it.
Inject before the next call. When a new call arrives, the start-of-call webhook looks up the caller, fetches the profile, and pushes the relevant parts into the new session: the greeting, the context, the open items. The caller hears continuity. To them, the agent "remembers."
Maintain over time. Facts go stale. Preferences change. Someone's job title in March is not their job title in October. So the extraction rules need judgment: changing facts get newest-wins, growing lists get merged, and shaky extractions stay flagged instead of becoming permanent.
It works. It is also, quietly, a second product you now own: a caller database, an extraction pipeline, a low-latency lookup, and hand-written merge rules. For one agent it is a weekend project. For an operator running voice agents across clients, it is infrastructure with an owner, a bug backlog, and a bill.
The questions your DIY version will have to answer
Sooner or later, every home-built caller memory faces the same set of questions. They are worth listing, because they are the questions a real memory layer answers for you.
Who exactly is "the caller"? Phone numbers are the obvious key, and they are unreliable: shared family phones, office lines, people calling from a new number. Get the identity wrong and the agent greets a stranger with someone else's details.
What is stale? An agent that remembers is only useful if what it remembers is still true. Without explicit handling for outdated facts, the agent confidently quotes last year's insurance, last month's address, last week's promise. Stale memory is worse than no memory, because the caller trusts it.
Who else can see it? Your voice agent is rarely the only tool in the operation. The CRM workflow, the follow-up sequence, the scheduled agent that sends the morning digest: none of them see the caller profile living in your webhook database. The caller repeats themselves to a different tool instead of a different call. Same tax, new recipient.
That last one is the real cost. The problem was never just "my voice agent forgets." It is "my operation forgets, every tool separately, every night."
What a memory layer buys you
The durable fix is to put caller memory somewhere that is not inside any single vendor. Your ElevenLabs webhooks read from it when a call starts and write to it when a call ends, and everything else in the stack reads and writes the same store: the CRM workflow, the nightly digest, the chat widget on the site. One caller, one profile, every tool.
That is the job Vilix AI is built for. It is a cloud-hosted memory layer your tools connect to over MCP: zero infrastructure to run, the same memory everywhere, full conversation history instead of just extracted facts, so the actual conversation is always there to revisit. It is free forever to start, with a 7-day Pro trial that needs no credit card, and your data stays portable: export it or delete it any time.
ElevenLabs built a remarkable voice runtime. It was never meant to be the memory layer, and judging it for that misses the point. The voice layer handles the call. Your job is to give it something that remembers the caller. Do that, and the Wednesday-morning call sounds like this: "Hi, running ten minutes late, right? We will keep the appointment, and I have your new insurance on file."
That is not a better voice agent. That is an operation that remembers.