Skip to main content

Chat Data Sources

Data sources define which information a chat message can use. They are stored in one data_sources list instead of separate fields for focus, selected clusters, and external sources.

This gives the frontend, workflows, GraphQL, and the AI service one source of truth. It also makes source selections easier to extend, validate, display, and carry into follow-up messages.

Set data sources​

In chat, use the source controls next to the prompt to select memories, files, surveys, records, Google Drive, Confluence, or web search. Starting a chat from selected memories or clusters sets that selection automatically.

In a workflow, open a Chat step and use the same source controls. You can also choose whether the workflow should apply focus suggestions automatically.

If no source is selected, chat uses all memories in the teamspace. Memories are also available alongside files, surveys, Google Drive, Confluence, and web search. Selecting one record uses its transcript. Selecting multiple records uses the memories from all selected records.

How sources are represented​

Each item has a kind and, except for web search, kind-specific data. A message should contain at most one item of each kind.

KindDataMeaning
memoriesA focus query, cluster IDs, or memory IDsThe memory scope
filesFile IDsUploaded files
surveysSurvey IDsSelected surveys
recordsRecord IDsSelected records
googleDriveResource IDsSelected Google Drive resources
confluenceResource IDsSelected Confluence resources
webNo dataWeb search is enabled

The serialized source kind is memories. Memories support three scopes: focusQuery, selectedClusters, and selectedMemories. A selected-memory scope stores its IDs in memoryIds.

  • focusQuery: a tag, date, metadata, or text search. An empty value means all teamspace memories.
  • selectedClusters: use the selected clusters exactly as they are.
  • selectedMemories: use the selected memories exactly as they are.

For example, this selects memories tagged billing and enables web search:

[
{
"kind": "memories",
"data": {
"scope": {
"kind": "focusQuery",
"focusQuery": "tag:billing"
}
}
},
{ "kind": "web" }
]

Writers replace an existing item of the same kind and keep unrelated items. Readers look up the item by kind, then interpret its matching data shape. Fixed memory and cluster selections are used as selected and are not narrowed by an extra search term.

Uploaded file metadata and chat mode remain separate message properties. The files data source says that the uploaded files are part of the active source selection.

When clustering open survey responses, chat groups recurring concrete concepts into distinct categories. Category labels may summarize a shared family even when that exact label is absent from the responses; the matching terms remain grounded in the original response wording. Chat reports category counts and grounded terms while keeping individual response assignments internal. Responses without a recurring supported concept remain uncategorized.

Defaults and follow-up messages​

If a message has neither a memory source nor selected records, retrieval uses all memories in the teamspace. This default is derived during retrieval and is not added to the saved data_sources list. One selected record uses transcript analysis; multiple selected records use a memory focus built from those records. Legacy fields are not used to derive sources.

The AI service then carries eligible sources from the immediately previous message in the same chat:

  • Files, surveys, records, Google Drive, Confluence, and web search carry forward.
  • Manually selected memories carry forward because they remain the scope of the chat.
  • Focus queries and selected clusters do not carry forward.

The current message wins when it sets the same kind, and inherited sources only fill missing kinds. After inheritance, selected records remove any memories source. The resolved list is saved on the message so sticky sources continue through the thread. Sticky files, surveys, records, Google Drive, Confluence, and web sources cannot be cleared by omission or an empty list; selecting another source of the same kind replaces the prior selection.

Prompt templates, prompt suggestions, links, and workflows use the same shape. When a runtime selection is combined with configured sources, it replaces configured items of the same kind and preserves the other kinds.