Your Vapi Voice Agent Remembers the Call. It Forgets the Caller.
Your Vapi Voice Agent Remembers the Call. It Forgets the Caller. A repeat caller phones your business for the third time in a month. The voice agent asks for the caller's name, asks what the issue is, and walks through the same intake questions as the first two calls. The caller already explained the problem twice. By the third explanation, the caller stops trusting the system and asks for a human. Nothing broke. The agent did what it was built to do inside a single call. The problem is what h
Your Vapi Voice Agent Remembers the Call. It Forgets the Caller.
A repeat caller phones your business for the third time in a month. The voice agent asks for the caller's name, asks what the issue is, and walks through the same intake questions as the first two calls. The caller already explained the problem twice. By the third explanation, the caller stops trusting the system and asks for a human.
Nothing broke. The agent did what it was built to do inside a single call. The problem is what happens between calls: nothing carries over.
What Vapi keeps during a call, and what it drops after
Inside one live call, a Vapi assistant holds the conversation well. It follows the thread, refers back to something said two minutes ago, and keeps the call coherent from greeting to goodbye. That is short-term, in-call context, and it works.
When the call ends, that working context ends with it. The next call starts fresh. The assistant does not open with what happened last time, what was promised, or what the caller prefers, because none of that is in its context unless something puts it there.
This distinction trips up a lot of teams. Call transcripts and logs exist as records after the fact. A record sitting in a dashboard is not memory. Memory is what the agent can recall and use when the next call starts. If the previous conversation is stored somewhere but never retrieved into the new call, the agent behaves exactly like an agent with no memory at all.
So the honest answer to "does Vapi remember between calls" is: within a call, yes. Between calls, only if you build the recall yourself.
Why the gap costs more on voice than in text
A caller cannot skim back over a previous chat thread. On a phone call, every repeated question costs real seconds and real patience, and when the agent re-asks for details the caller already gave, the message the caller hears is simple: this system does not know me.
The costs stack up:
- Repeat intake. The caller restates the account, the problem, and the history every time.
- Lost commitments. The agent promised a callback or a replacement on the way. The next call has no trace of that promise.
- Lost preferences. The caller prefers email follow-ups, or mornings only, or a specific location. The agent books against the opposite preference because it never learned the first one.
- Lost complaint history. A caller who already escalated once gets treated like a first-time caller.
None of this means the voice agent is bad at conversation. Conversation skill and caller memory are two different things, and only one survives the hang-up.
What caller memory actually needs
A working caller memory has four parts, and skipping any one of them leaves the same gap in place.
First, identity. The memory must be keyed to the caller, usually the phone number. A shared pool of past calls with no caller key is not memory, it is noise.
Second, recall at call start. Before the greeting, the agent needs the last outcome, any open items, and the caller's stated preferences in its context. Recall that happens after the caller has re-explained everything is too late.
Third, write-back at call end. Whatever changed on this call, the new outcome, the new promise, the corrected detail, must be saved back, or the next call will repeat the same stale version.
Fourth, full conversation, not just a summary line. A note like "caller had a billing issue" loses the details that matter: which charge, what was offered, what the caller refused. When the next call turns on a detail, a summary cannot answer it.
The build-it-yourself route, and its real price
You can wire this yourself. The usual pattern is a webhook that fires when a call starts and ends: fetch the caller's history, inject it into the assistant's context, then save the transcript and the updated facts when the call closes. It works, and teams ship it this way every week.
The price is maintenance. You now own a store, a retrieval step, a keying scheme, and a failure mode for every part. When retrieval fails, the call still goes ahead, silently, without memory. When two calls from the same number overlap, writes can collide. When a caller asks for their data to be removed, deletion has to reach every copy.
That is the trade most teams underestimate: the first version of caller memory is a weekend project, and the version that stays correct across thousands of calls is a system.
One hosted memory instead of a side project
This is where a hosted memory layer changes the shape of the work. Vilix AI is cloud-hosted with zero infrastructure to run: no database to babysit, no retrieval service to keep alive. Your agents connect over MCP, and the same memory follows you across every tool you use, not just the voice agent.
The difference that matters for voice is what gets stored. Vilix AI stores full conversations, not just extracted facts. When a caller rings back, the agent can pull the actual previous conversation: what was said, what was promised, and what the caller corrected. That is the difference between an agent that knows a caller had "a delivery problem" and an agent that knows which order, which address, and what was already offered.
It also keeps the memory portable: export everything or delete it anytime. The free plan is free forever, and the Pro trial runs seven days with no credit card.
What to store, and what to recall
Memory helps most when it is selective about what gets recalled, not when it dumps everything into every call. A practical shape for caller memory looks like this:
- Recall at the start: last outcome, open promises, and preferences.
- Recall on demand: the full past conversation, pulled when the caller references something specific.
- Write back at the end: the new outcome, any new promise, and any corrected detail.
- Keep per caller: never let one caller's history leak into another caller's context.
Run that shape and the test writes itself. Call one is intake. Call two should open with recognition: the agent knows the caller, knows the open item, and asks only what changed. If call two still sounds like call one, the memory is stored but not recalled, and that is the gap to fix.
The tenth call test
Judge any voice agent by its tenth call with the same caller, not its first. The first proves it can hold a conversation; the tenth proves it learned from the previous nine.
Vapi gives you a strong voice agent inside the call. What it does not give you, out of the box, is a caller who is remembered between calls. Add a memory layer that recalls the full conversation at call start and writes the new outcome back at call end, and the repeat caller finally gets an agent that knows them the second time, and even better the tenth.
Get started for free. Free forever, no credit card.