Skip to main content
Contact memory lets your agents remember facts about a person between conversations, such as “prefers to be called after 5 pm” or “already renewed their contract”. Callers writes memories automatically after conversations, and the API lets you read them, seed them from your CRM before the first call, correct them, and delete them. See Contact memory for how agents use memories and the per-agent settings.

How memories work

  • A memory has a short name (up to 200 characters) and a text (up to 5,000 characters).
  • Each memory is tied to a contact and the contact’s phone number in your account.
  • Before a conversation, the agent loads the contact’s current memories: memories for that contact, memories for the same phone number in the same agent, and, unless the agent turns off account-wide memories, memories for the same phone number from any agent in the account.
  • Memories are versioned. Updating a memory creates a new version and marks the previous one OUTDATED. Deleting marks it DELETED. Only ACTUAL memories are used in conversations.

Memory object

string
Memory ID.
string
Short label, for example Communication preference.
string
The remembered fact.
string
ACTUAL, OUTDATED, or DELETED.
string
Contact phone number (digits only).
string
Contact ID, when the memory is linked to a contact.
string
Agent ID where the memory was created. Also returned as agentId.
string
The version this memory replaced, if any.
string
ISO 8601 timestamp.
string
ISO 8601 timestamp.

Endpoints

The phone-number routes are convenient when your system knows the phone number but not the Callers contact ID. Pass the number as digits with an optional leading + (URL-encode the + as %2B). Adding a memory by phone number requires the contact to already exist in that agent.

Seed memories before the first call

Add what your CRM already knows so the agent doesn’t ask again.
Or by agent and phone number:

Read memories

Omit status to get every version, including outdated and deleted ones.

Update a memory

PATCH /memories/{memoryId} with a new text. The response is the new version, with a new id and previousMemoryId pointing at the old one. Use the new ID for later updates.
If two updates to the same memory race, one of them gets 409 Memory was modified concurrently. Re-read the contact’s memories and apply your change to the current version.

Delete memories

Deleted memories are marked DELETED and are never used again in conversations.

Agent settings that affect memory

You can control memory per agent in the dashboard or through the agent fields in POST/PUT /agents:

Best practices

  • Keep each memory to one fact with a clear name. The agent reads them as context, so short, specific facts work best.
  • Don’t store secrets or payment data in memories.
  • Mirror memories into your CRM by reading them after CALL_FINISHED webhooks, if your team needs them outside Callers.

Contact memory in the dashboard

How agents use memory and how to review it per contact.

Manage contacts

Add and update the contacts memories belong to.