contact object captures identifiers, direction, queue, and key event timestamps for a single Amazon Connect Contact. The Agent Experience Collector emits it with every contact record; the Cloud Collector merges in Contact Trace Record (CTR)-derived fields when you enable CTR collection.
Schema
"contact": {
"id": {
"current": "b0c9d4d1-aaaa-bbbb-cccc-ee75d4240340",
"previous": "",
"next": ""
},
"callerId": "+61402960149",
"queueName": "Operata Prod Default Queue",
"type": "VOICE",
"direction": "Inbound",
"initiation": "INBOUND",
"durationSec": 71,
"events": {
"enqueued": "2026-05-18T10:14:22.959Z",
"connectingToAgent": "2026-05-18T10:14:43.861Z",
"muted": ["2026-05-18T10:15:06.827Z"],
"unmuted": ["2026-05-18T10:15:17.042Z"],
"onHold": ["2026-05-18T10:14:51.246Z"],
"resumed": ["2026-05-18T10:15:33.481Z"]
},
"endedBy": "Agent",
"recordingUrl": "op.performance.sampling/connect/operata-prod/2026/05/18/b0c9d4d1_20260518T1014_UTC.wav",
"connectedToAgent": "2026-05-18T10:14:43Z",
"disconnectReason": "AGENT_DISCONNECT"
}
Fields
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
id.current | string (UUID) | yes | Amazon Connect Contact ID for this leg. | b0c9d4d1-aaaa-bbbb-cccc-ee75d4240340 |
id.previous | string (UUID) | no | The previous Contact ID when the Contact was transferred from another contact. Empty when there’s no predecessor. | "" |
id.next | string (UUID) | no | The next Contact ID when the Contact transferred to another contact. Empty when there’s no successor. | "" |
callerId | string (E.164) | no | Caller’s phone number as presented to Amazon Connect. Redacted when the caller-ID privacy control is enabled. | +61402960149 |
queueName | string | no | Name of the Amazon Connect queue that handled the Contact. | Operata Prod Default Queue |
type | string | yes | Contact type. One of VOICE, CHAT, TASK. | VOICE |
direction | string | yes | Contact direction from the agent’s perspective. One of Inbound, Outbound. | Inbound |
initiation | string | no | How the Contact entered Amazon Connect, from the CTR InitiationMethod field. One of INBOUND, OUTBOUND, TRANSFER, CALLBACK, API, QUEUE_TRANSFER, DISCONNECT, MONITOR, EXTERNAL_OUTBOUND. | INBOUND |
durationSec | integer | yes | Total Contact duration in seconds, from incoming to disconnected. | 71 |
events | object | yes | Timestamps of key events in the Contact lifecycle. See Call signalling and handling events for the full event reference. | — |
endedBy | string | yes | Which party disconnected the Contact. One of Agent, Customer, System. | Agent |
recordingUrl | string | no | S3 key of the call recording, when CTR collection is enabled and the Contact was recorded. | op.performance.sampling/connect/.../b0c9d4d1.wav |
connectedToAgent | string (ISO 8601) | no | When the Contact connected to an agent, from the CTR ConnectedToAgentTimestamp field. | 2026-05-18T10:14:43Z |
disconnectReason | string | no | How the Contact ended, from the CTR DisconnectReason field. Common values: AGENT_DISCONNECT, CUSTOMER_DISCONNECT, THIRD_PARTY_DISCONNECT, TELECOM_PROBLEM, CONTACT_FLOW_DISCONNECT. | AGENT_DISCONNECT |