All posts

Memory

Every call makes the next one better: memory for voice agents

One memory per person, across phone calls, in-app voice and chat, and the web. What an agent remembers, what it never keeps, and how a person is forgotten.

The Graine team

5 min read

Most automated calls start from zero. The customer explains who they are, what they asked for last week, and which language they prefer, again. Every repeat is a small tax on their patience, and on the chance that this call ends with the matter settled.

People do not work that way. A good account manager remembers that you promised to pay on the fifth, that you are still waiting for a statement, and that you would rather speak Tamil. This post describes how a Graine agent remembers in the same way, and the limits we built around it.

One person, one memory

A customer reaches you in more than one way. They answer a reminder call, ask a question in your app's chat a few days later, and talk to the agent by voice inside the app at the weekend. To them it is one relationship. With memory on, the agent treats it as one, too: there is a single memory per person, shared across phone calls, voice and chat in your app, and your website.

Joining those channels into one person is the part that has to be right, so it is strict:

  • On a phone call, the person is the caller's number.
  • In your app or on your website, the person is the signed-in user your app identifies, on one of that user's own devices. Never someone who simply typed a name or a number into a chat.
  • Channels are linked only when the identity is verified, for example when your app identifies its signed-in users by the same verified phone number they call from.
  • No verified identity, no memory. There is no shared memory for unknown visitors, so one person's details can never surface in another person's conversation.
  • Memory never crosses organisations. Another company's agents never see what yours learned, even about the same phone number.

What the agent remembers

Memory is not a recording of past calls. It is a short set of facts that make the next conversation better.

  • Promises, with their dates. "Will pay the remaining balance by 5 November." "Asked us to call back after 6 pm." The agent can follow up on a commitment instead of starting the conversation again.
  • Open items. Something the customer asked for that has not been resolved yet: a statement, a refund, a callback from a specialist. The next conversation can start by asking about it.
  • Preferred language. If a caller moved to Tamil last time, the next call opens in Tamil. They never have to ask twice.
  • What worked, per agent. Separately from any one person, each agent keeps notes on what helped on a topic across its own callers. For example, that customers asking about a delayed refund settle once they hear the expected date first. Those notes belong to that agent, inside your organisation.

Here is how that feels for one customer, as an example:

Monday, phone call
  Customer: "I'll pay the rest by the fifth. And can you send me last month's statement?"
  Remembered: promise (pay by 5 November) · open item (statement) · prefers Tamil

Thursday, voice in your app
  The agent opens in Tamil, asks whether the statement arrived,
  and confirms the payment on the fifth is still on track.

The customer did not repeat anything, and nothing about the second conversation needed a person to read notes from the first.

What it never keeps

Memory is designed to hold as little as it can while still being useful.

  • No transcripts in the memory. Transcripts stay in your call history, under your retention settings. The memory holds short facts, not what was said word for word.
  • Identifiers are stripped before anything is stored. Card numbers, national ID numbers, phone numbers and email addresses are redacted from the text first, the same way transcripts are.
  • Your own rules. Each agent has a short instruction for what to remember and what never to, such as "Remember preferred language and open complaints. Never remember health details." Use it to keep anything sensitive to your business out.
  • A retention period. Each memory expires after the time you set, from one day to ten years, one year by default.

Turned on per agent

Memory is off until you switch it on, agent by agent. In the dashboard it lives in the agent's Memory settings:

  • the switch that turns it on for phone calls and in-app conversations alike;
  • which field identifies a user in your app, such as a user ID or a customer ID (a phone call always uses the caller's number);
  • how many devices may act as one person;
  • whether the agent keeps its memory to itself, the default, or shares one memory per person with the other agents you set to share;
  • how long memories are kept, and what to remember or never remember.

Because it changes what a live agent does, saving these settings goes through approval in a workspace that reviews agent changes, like any other edit.

Forgetting a person

People are entitled to be forgotten, and it should take one action, not a ticket.

  • From the dashboard, Forget this person deletes everything the agent remembers about them.
  • From your app, a single call deletes everything remembered about the signed-in user, for example from your privacy settings screen.
  • Customers can turn memory off for themselves in your app. From their next conversation, nothing is recalled and nothing new is stored.

If someone asks to be forgotten and you also plan to retire the agent, forget them first, so nothing waits for the retention period to run out.

It never slows a conversation

Memory is recalled once, as the conversation starts, and it is given a strict time limit. If it is not ready in time, the conversation goes ahead without it rather than keep the customer waiting. New facts are learned in the background during and after the conversation, so writing them never delays a reply. Memory works the same way for prompt agents and flow agents, where it reaches every step.

Where it pays off

A few patterns where remembering changes the outcome:

  1. Collections and renewals. The agent follows up on the date the customer gave, instead of asking for a new one.
  2. Support. An open complaint is the first thing the agent asks about, in any channel.
  3. Onboarding. A customer who stopped halfway through a step in your app is picked up where they left off, by voice or chat.
  4. Multilingual service. Every conversation opens in the language the customer chose last time.

Getting started

Turn memory on for one agent, write the one-line instruction for what to remember and what never to, and run a few test conversations across a call and your app with a verified test user. Then read what the agent remembered, and forget the test user when you are done.

If you would like help deciding what your agents should remember, write to us at hello@graine.ai, or create an account and try it on your own calls.

Put it to work on your calls.

Tell us what your calls and your app need to do, and we'll show you how it runs on Graine. Or start building with your own account today.

Memory in the docs