Domain Model
Conversation
Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string.uuid | Yes | — | Id |
| createdAt | string.date-time | Yes | — | Created at |
| updatedAt | string.date-time | Yes | — | Updated at |
| workspaceId | string | Yes | — | ID of the associated workspace |
| provider | enum(telegram, whatsapp, discord, slack, microsoft_teams, ai_agent, email) | Yes | — | Provider |
| channelEndpointId | string | Yes | — | ID of the associated channel endpoint |
| subject | string | No | — | Subject |
| linkedRecordType | string | No | — | Linked record type |
| linkedRecordId | string | No | — | ID of the associated linked record |
| state | enum(open, waiting_on_customer, waiting_on_agent, escalated, resolved, closed) | Yes | — | State |
| ownerUserId | string | No | — | ID of the associated owner user |
| assignedAgentId | string | No | — | ID of the associated assigned agent |
| requireSessionVerification | boolean | Yes | — | Require session verification |
| visibilityMode | enum(global, workspace_local, shared) | Yes | — | Visibility mode |
| accountResolutionStatus | enum(auto_matched, confirmed, corrected) | No | — | Account resolution status |
| accountResolutionConfidence | number | No | — | Account resolution confidence |
Create Schema
Fields accepted when creating a new record:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| workspaceId | string | Yes | — | ID of the associated workspace |
| provider | enum(telegram, whatsapp, discord, slack, microsoft_teams, ai_agent, email) | Yes | — | Provider |
| channelEndpointId | string | Yes | — | ID of the associated channel endpoint |
| subject | string | No | — | Subject |
| linkedRecordType | string | No | — | Linked record type |
| linkedRecordId | string | No | — | ID of the associated linked record |
| state | enum(open, waiting_on_customer, waiting_on_agent, escalated, resolved, closed) | Yes | "open" | State |
| ownerUserId | string | No | — | ID of the associated owner user |
| assignedAgentId | string | No | — | ID of the associated assigned agent |
| requireSessionVerification | boolean | Yes | false | Require session verification |
| visibilityMode | enum(global, workspace_local, shared) | Yes | "workspace_local" | Visibility mode |
| accountResolutionStatus | enum(auto_matched, confirmed, corrected) | No | — | Account resolution status |
| accountResolutionConfidence | number | No | — | Account resolution confidence |
Update Schema
All fields are optional when updating:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| subject | string | No | — | Subject |
| linkedRecordType | string | No | — | Linked record type |
| linkedRecordId | string | No | — | ID of the associated linked record |
| state | enum(open, waiting_on_customer, waiting_on_agent, escalated, resolved, closed) | No | "open" | State |
| ownerUserId | string | No | — | ID of the associated owner user |
| assignedAgentId | string | No | — | ID of the associated assigned agent |
| requireSessionVerification | boolean | No | false | Require session verification |
| accountResolutionStatus | enum(auto_matched, confirmed, corrected) | No | — | Account resolution status |
| accountResolutionConfidence | number | No | — | Account resolution confidence |