# Caller memory (/docs/caller-memory)

> Your agents remember each caller across calls, web chats, and WhatsApp, so every conversation picks up where the last one stopped.

Caller memory is in beta. It is turned on for your organization by the OmniDimension team.
  [Contact us](https://omnidim.io/contact-us?reason=general) to request it.

Caller memory lets your agents remember the people they talk to. When someone calls back,
messages on WhatsApp, or opens your web chat again, the agent already knows who they are
and what happened last time. It greets them by name, confirms what it knows instead of
asking again, and carries on from where the last conversation stopped.

## How it works [#how-it-works]

  <svg viewBox="0 0 880 250" role="img" aria-labelledby="cm-flow">
    <title id="cm-flow">
      A caller reaches your agent by phone, WhatsApp, or web chat. Before replying, the agent reads the caller's memory. After the conversation, what is new is added to the memory.
    </title>

    <defs>
      <marker id="cm-a" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
        <path d="M0,0 L10,5 L0,10 z" fill="currentColor" opacity="0.55" />
      </marker>
    </defs>

    <g fill="none" stroke="currentColor" strokeWidth="2" opacity="0.55">
      <path d="M150,125 L218,125" markerEnd="url(#cm-a)" />

      <path d="M410,125 L478,125" markerEnd="url(#cm-a)" />

      <path d="M676,112 L738,112" markerEnd="url(#cm-a)" />

      <path d="M740,140 L678,140" markerEnd="url(#cm-a)" />

      <path d="M560,66 C520,20 180,20 96,58" markerEnd="url(#cm-a)" />
    </g>

    <g fill="currentColor">
      <circle cx="84" cy="125" r="64" fillOpacity="0.07" stroke="currentColor" strokeOpacity="0.5" strokeWidth="2" />

      <text x="84" y="122" textAnchor="middle" fontSize="16" fontWeight="700">
        Caller
      </text>

      <text x="84" y="142" textAnchor="middle" fontSize="12.5" opacity="0.7">
        same person
      </text>

      <rect x="220" y="85" width="190" height="80" rx="40" fillOpacity="0.07" stroke="currentColor" strokeOpacity="0.5" strokeWidth="2" />

      <text x="315" y="121" textAnchor="middle" fontSize="16" fontWeight="700">
        Any channel
      </text>

      <text x="315" y="141" textAnchor="middle" fontSize="12.5" opacity="0.7">
        phone · WhatsApp · web
      </text>

      <polygon points="480,126 510,70 646,70 676,126 646,182 510,182" fillOpacity="0.07" stroke="currentColor" strokeOpacity="0.5" strokeWidth="2" />

      <text x="578" y="121" textAnchor="middle" fontSize="16" fontWeight="700">
        Your agent
      </text>

      <text x="578" y="141" textAnchor="middle" fontSize="12.5" opacity="0.7">
        knows who's calling
      </text>

      <path d="M742,72 C742,56 862,56 862,72 V180 C862,196 742,196 742,180 Z" fillOpacity="0.07" stroke="currentColor" strokeOpacity="0.5" strokeWidth="2" />

      <text x="802" y="126" textAnchor="middle" fontSize="16" fontWeight="700">
        Memory
      </text>

      <text x="802" y="146" textAnchor="middle" fontSize="12.5" opacity="0.7">
        one per caller
      </text>

      <text x="708" y="102" textAnchor="middle" fontSize="12" opacity="0.8">
        adds
      </text>

      <text x="708" y="160" textAnchor="middle" fontSize="12" opacity="0.8">
        reads first
      </text>

      <text x="330" y="32" textAnchor="middle" fontSize="12" opacity="0.8">
        replies like someone who remembers them
      </text>
    </g>
  </svg>

1. **The caller gets in touch** by phone, WhatsApp, or your web chat.
2. **The agent reads their memory first.** Before it says a word, it knows their name, what
   they asked for, what was promised, and what happened last time, even if that was on a
   different channel.
3. **The memory is updated afterwards.** When the conversation ends, what is new is added:
   a changed address replaces the old one, a new order is recorded, a finished task is
   cleared. Small talk is left out.

## An example [#an-example]

Rahul applies for a job and is screened by your recruitment agent over the phone. The
screening starts but doesn't finish. The next day he messages on WhatsApp, and your WhatsApp
assistant replies "Hey Rahul! We spoke about the opening. How can we help?"

<img alt="A WhatsApp thread where the assistant greets Rahul by name and refers to the job opening they discussed earlier" src="__img0" />

When he calls again, the agent opens with what it remembers and offers to pick up the
screening where it stopped.

<img alt="A call transcript where the agent greets Rahul, refers to his application, and offers to continue the unfinished screening" src="__img1" />

## How to think about it [#how-to-think-about-it]

* **It is a notebook, not a script.** The memory is a short record of a person: a summary,
  key facts, open items, and a few things to avoid. Your agent's instructions still decide
  what it does; the memory only tells it who it is talking to.
* **The caller is always right.** If a caller corrects something, the agent believes them,
  and the memory is updated after the conversation.
* **Agents remember in teams.** You group agents into [Memory pools](/docs/caller-memory/memory-pools).
  Agents on the same pool share one memory of each caller; agents on different pools never
  see each other's.
* **The latest conversation wins.** If someone chats on WhatsApp and then calls, the agent
  follows the call. What happened most recently is what counts.
* **Nothing is remembered by default.** An agent that is not on a pool remembers nobody.

## Next steps [#next-steps]

  " title="Turn on caller memory" href="/docs/caller-memory/set-up" description="Create a Memory pool and put your agents on it." />

  " title="Memory pools" href="/docs/caller-memory/memory-pools" description="Decide which agents share what they remember." />

  " title="What agents remember" href="/docs/caller-memory/what-gets-remembered" description="What goes into a caller's memory, and what never does." />

  " title="Memory across channels" href="/docs/caller-memory/channels" description="How calls, web chat, and WhatsApp share one memory." />

  " title="View and manage memory" href="/docs/caller-memory/manage" description="See what is remembered, and forget a caller." />

  " title="FAQ and troubleshooting" href="/docs/caller-memory/faq" description="Why an agent didn't remember, and other common questions." />