GoliathDevelopersGet an API key
Guides / Memory API

Memory API

Add conversation records from another system to your organization's memory through the Goliath developer API

About

Goliath learns how your organization works from its conversations. When some of those conversations live in another system — a phone platform, an inbox, meeting notes — push them in with addMemoryEntries, and they are learned from the same way as conversations held in Goliath.

All operations go through the developer API gateway — one endpoint, called by operationId. If you haven’t set up a key yet, start with the Developer API Overview.

Operations

Adding entries (IMPORT scope)

operationId What it does
addMemoryEntries Add 1–100 conversation records (MESSAGE, EMAIL, CALL_SUMMARY, MEETING_SUMMARY, NOTE) to your organization’s memory. Each entry needs an externalId (your id for it), occurredAt, kind, text (at most 50,000 characters) and a sourceLabel naming the system it came from. Idempotent on externalId per organization: an entry sent again comes back in alreadyAdded. Entries that are refused are listed in excluded with a reason.

What is learned from

  • direction decides whose words count. FROM_ACCOUNT marks your own people — what they say is learned from. TO_ACCOUNT marks the other side and is kept as context. It is required on MESSAGE, EMAIL and CALL_SUMMARY.
  • A MESSAGE, EMAIL or NOTE written by an automation is always context.
  • A summary is judged by the conversation it records: a MEETING_SUMMARY, or a CALL_SUMMARY of a call lasting a minute or more, is learned from whoever wrote the recap. For a call, direction is who placed it.
  • Refused and reported in excluded: entries sent with hidden: true, a NOTE a person typed, calendar emails, and text that is empty once personal data is redacted.

Example

curl -X POST https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer gsk_YOUR_IMPORT_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 2b7d0f4a-9e1c-4c3a-8f6d-1a2b3c4d5e6f" \
  -d '{ "operationId": "addMemoryEntries", "variables": { "entries": [ { "externalId": "call-48213", "occurredAt": "2026-10-27T15:04:00Z", "kind": "CALL_SUMMARY", "direction": "FROM_ACCOUNT", "durationSeconds": 420, "sourceLabel": "Phone system", "text": "Seller wants to close before school starts; open to a cash offer near 210k." } ] } }'

Full variable schemas, response shapes, and worked examples for every operation are available from the discovery endpoint.