| Name | Type | Description | Notes |
|---|---|---|---|
| agentIdentifier | String | Agent identifier — voice_identity for PBX (e.g. 'client:login'), participant_arn for chat, synthetic 'ai:<user_id>' for AI flag events. Stable across an agent's events; participates in DDB pk and GSI1 sk. | [optional] |
| agentName | String | Agent display name at the time of the event | [optional] |
| agentType | AgentTypeEnum | Agent type | [optional] |
| agentUserId | String | Agent user id (links across channels) | [optional] |
| channel | ChannelEnum | Channel | [optional] |
| customStatusName | String | Custom status name (when applicable) | [optional] |
| customStatusUuid | String | Custom status uuid (when applicable) | [optional] |
| durationInPreviousSeconds | Long | Time spent in the previous status, in seconds | [optional] |
| eventDts | String | Event timestamp (ISO 8601) | [optional] |
| eventUuid | String | Event UUID (natural key for ES + BQ) | [optional] |
| merchantId | String | Merchant Id | [optional] |
| newRoutingEffect | NewRoutingEffectEnum | Canonical new routing semantic | [optional] |
| newStatus | String | Channel-native new status name | [optional] |
| parentMerchantId | String | Parent merchant id (denormalized for ES routing parity) | [optional] |
| previousRoutingEffect | PreviousRoutingEffectEnum | Canonical previous routing semantic | [optional] |
| previousStatus | String | Channel-native previous status name | [optional] |
| trigger | TriggerEnum | What triggered the transition | [optional] |
| Name | Value |
|---|---|
| HUMAN | "human" |
| AI | "ai" |
| Name | Value |
|---|---|
| PBX | "pbx" |
| CHAT | "chat" |
| Name | Value |
|---|---|
| AVAILABLE | "available" |
| BUSY | "busy" |
| UNAVAILABLE | "unavailable" |
| Name | Value |
|---|---|
| AVAILABLE | "available" |
| BUSY | "busy" |
| UNAVAILABLE | "unavailable" |
| Name | Value |
|---|---|
| MANUAL | "manual" |
| SYSTEM | "system" |
| AUTO_DISCONNECT | "auto_disconnect" |