Domain Model
Channel Identity
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 |
| provider | enum(telegram, whatsapp, discord, slack, microsoft_teams, ai_agent, email) | Yes | — | Provider |
| externalUserId | string | Yes | — | ID of the associated external user |
| externalDisplayName | string | No | — | External display name |
| linkedUserId | string | No | — | ID of the associated linked user |
| linkedContactId | string | No | — | ID of the associated linked contact |
| verificationMethod | enum(one_time_code, magic_link, portal_handoff, account_binding) | No | — | Verification method |
| verifiedAt | string.date-time | No | — | Verified at |
| revokedAt | string.date-time | No | — | Revoked at |
| workspaceId | string | Yes | — | ID of the associated workspace |
Create Schema
Fields accepted when creating a new record:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| provider | enum(telegram, whatsapp, discord, slack, microsoft_teams, ai_agent, email) | Yes | — | Provider |
| externalUserId | string | Yes | — | ID of the associated external user |
| externalDisplayName | string | No | — | External display name |
| linkedUserId | string | No | — | ID of the associated linked user |
| linkedContactId | string | No | — | ID of the associated linked contact |
| verificationMethod | enum(one_time_code, magic_link, portal_handoff, account_binding) | No | — | Verification method |
| verifiedAt | string.date-time | No | — | Verified at |
| revokedAt | string.date-time | No | — | Revoked at |
| workspaceId | string | Yes | — | ID of the associated workspace |
Update Schema
All fields are optional when updating:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| externalDisplayName | string | No | — | External display name |
| linkedUserId | string | No | — | ID of the associated linked user |
| linkedContactId | string | No | — | ID of the associated linked contact |
| verificationMethod | enum(one_time_code, magic_link, portal_handoff, account_binding) | No | — | Verification method |
| verifiedAt | string.date-time | No | — | Verified at |
| revokedAt | string.date-time | No | — | Revoked at |