Skip to content

Data Model

The MCP server exposes 4 MongoDB collections. Each collection is tenant-isolated — queries are automatically filtered to your account.

Collections overview

CollectionDescriptionKey use
signalsDecisions, actions, accomplishments, key facts extracted from meetingsFind what was decided, who owns what, what happened
meetingsMeeting metadata — scheduling, participants, status, recordingsBrowse past/upcoming meetings, search by title or attendee
meetingdataProcessed transcripts and LLM-generated analysisAccess raw meeting intelligence and AI summaries
taxonomyOrganizational entities — people, teams, projects, initiativesResolve references, understand organizational context

Relationships


Signals

Extracted insights from meetings. Each signal is a discrete piece of information with a type, content, citation, and optional taxonomy links.

Signal types

A choice or determination made during discussion.

FieldTypeDescription
data.titleStringBrief description of the decision
data.rationaleStringReasoning behind it
data.ownerStringPerson responsible
data.impactLevelStringhigh, medium, or low

Core fields

FieldTypeDescription
_idObjectIdUnique identifier
insightTypeStringdecision, action, accomplishment, or key_fact
dataObjectType-specific content (see tabs above)
createdAtDateWhen the signal was created
updatedAtDateLast modification

Citation

Every signal includes a citation linking back to its source:

FieldTypeDescription
citation.quoteStringExact quoted text from the source
citation.surroundingContextStringAdditional context around the quote
citation.speakerStringWho said it
citation.sourceLocation.startTimeNumberStart timestamp in seconds (audio/video)
citation.sourceLocation.endTimeNumberEnd timestamp in seconds

Source metadata

FieldTypeDescription
sourceChannelStringPlatform: zoom, google_meet, slack, teams
sourceIdStringSource document ID (e.g., meeting ID)
timestampDateWhen the source event occurred
participantsString[]Participant names from the source

Taxonomy references

Signals can link to organizational entities for context:

FieldTypeDescription
peopleObjectId[]People mentioned or involved
teamsObjectId[]Associated teams
initiativeObjectIdParent initiative
projectObjectIdAssociated project
taskObjectIdSpecific task

Meetings

Meeting metadata including scheduling, participants, recording status, and processing state.

Core fields

FieldTypeDescription
_idObjectIdUnique identifier
meeting_idStringExternal meeting identifier (from calendar)
meeting_titleStringDisplay title
meeting_descriptionStringDescription or agenda
meeting_urlStringJoin URL
start_timeDateScheduled start (ISO 8601)
end_timeDateScheduled end (ISO 8601)
statusStringCurrent status (see below)
summaryStringAI-generated meeting summary
transcriptStringFull text transcript
recording_fileStringURL or path to recording
bot_enabledBooleanWhether recording bot is enabled

Status values

StatusDescription
scheduledNot yet started
in-progressCurrently active
processingRecording/transcript being processed
completedFinished, all processing complete
failedProcessing or recording failed
kickedBot was removed from meeting
deniedBot was denied entry
cancelledMeeting was cancelled

Participants

Each meeting has a participants array:

FieldTypeDescription
emailStringParticipant email
organizerBooleanWhether they organized the meeting
selfBooleanWhether this is the authenticated user
responseStatusStringaccepted, declined, tentative, or needsAction

Meeting Data

Processed transcripts and LLM-generated analysis. A single document can serve multiple meetings.

FieldTypeDescription
_idObjectIdUnique identifier
meeting_idsObjectId[]Associated meeting IDs
meeting_urlStringMeeting URL
llm_responseObjectAI-generated analysis (flexible structure)
recall_bot_idStringRecording bot identifier
createdAtDateWhen processed

The llm_response field contains AI-generated analysis and may include meeting summaries, key points, action items, topic extraction, and sentiment analysis. Structure varies by processing configuration.


Taxonomy

Organizational entities that signals reference. Used for context resolution and categorization.

Entity types

FieldTypeDescription
emailStringPrimary email
roleStringJob title
departmentStringDepartment name
organizationObjectIdParent organization

Common fields (all types)

FieldTypeDescription
_idObjectIdUnique identifier
typeStringperson, team, organization, initiative, project, or task
nameStringHuman-readable name
descriptionStringOptional description
externalReferencesObjectLinks to external systems (Salesforce, HubSpot, Jira, Slack)
createdAtDateCreated timestamp
updatedAtDateLast modified

External references

The externalReferences field links taxonomy entities to external systems:

{
"salesforce": { "id": "0015000000ABC123", "type": "Account" },
"hubspot": { "id": "12345678", "portalId": "987654" },
"jira": { "key": "PROJ-123" },
"slack": { "channelId": "C0123456789" }
}

Access control

Signals use OR-based access: your user ID in userIds OR your org ID in companyIds. Meetings use AND-based access: both user_id and company_id must match. The MCP server handles this transparently.