# Amazon Connect contact records and streams

Canonical: https://warmtransfer.net/knowledge/amazon-connect-data

Last verified: 2026-09-24

Amazon Connect contact records capture the events associated with a contact, forming the foundation for real-time and historical metrics[^31]. In AWS documentation, the product is named Amazon Connect Customer (short form Connect Customer) across its contact record, data streaming, and EventBridge reference pages[^48].

## Contact record delivery and lifecycle

In instance Data streaming settings, contact records can be routed either to an Amazon Data Firehose (Kinesis Firehose) delivery stream or to an Amazon Kinesis data stream[^54]. AWS advises updating AWS Key Management Service (KMS) key permissions prior to using that key with Amazon Connect streaming to prevent missing data[^55]. Contact records are delivered at least once and may be delivered again if new information arrives after the initial delivery[^30]. For instance, updating contact attributes via the `update-contact-attributes` command triggers the delivery of a new contact record for that contact[^32]. WarmTransfer's reading of the sources is that because records arrive with at least-once delivery and re-emit upon attribute updates, consuming applications loading from Kinesis or Firehose must de-duplicate by ContactId and retain the most recent version rather than handling each record as an independent contact[^37].

AWS adds new fields to the contact record data model over time, states that these updates are backward compatible, and recommends that consuming applications ignore newly added fields[^33]. Within Amazon Connect, a contact record remains available for 24 months from the time the contact was initiated[^29].

Contact access, management, and storage details include:[^51]

* **Contact search:** The Contact search interface locates contacts up to 2 years back, supporting search intervals of up to 8 weeks at a time[^51]. Individual query outputs are capped at the first 10,000 results, and users can download up to 3,000 results at a time[^50]. For agent-handled contacts, contact search lists a contact as completed only after the agent finishes After Contact Work (ACW)[^21]. The "Is transferred out" column flags cold transfers only, where the agent disconnected before the transfer completed; the UTC time the transfer connected is logged in `TransferCompletedTimestamp`[^58].
* **DescribeContact API:** This API returns contact details preserved in Amazon Connect up to 24 months from `InitiationTimestamp`, after which they are deleted[^38]. As of 2026-09-24, the API reference notes that DescribeContact is in preview release for Connect Customer and subject to change[^40]. DescribeContact omits `SystemEndpoint` when the initiation method is MONITOR, QUEUE_TRANSFER, or CALLBACK[^41]. Its response includes the `AgentInfo` fields `AfterContactWorkStartTimestamp`, `AfterContactWorkEndTimestamp`, and `AfterContactWorkDuration`[^39].
* **Contact attributes:** A contact accommodates up to 32,768 UTF-8 bytes across all user-defined attributes, and attribute keys are restricted to alphanumeric, dash, and underscore characters[^14]. In the Set contact attributes flow block, exceeding the 32 KB threshold routes the contact down the Error branch[^16]. The `UpdateContactAttributes` API can modify user-defined attributes on ongoing and completed contacts using `InitialContactId`, keeping attributes for 24 months before deletion[^15].
* **Analytics data lake:** The data lake stores contact records and other datasets, with data typically available in less than an hour after record creation[^36]. The data lake operates on a fixed, non-configurable rolling 25-month retention window evaluated daily at 00:00 UTC[^34]. Retaining data beyond 25 months requires unloading or copying data (such as via CTAS or UNLOAD queries) into customer-controlled Amazon S3 buckets[^34]. The data lake `contact_record` table ages out according to the `disconnect_timestamp` column[^35].

Default service throttling quotas for new accounts per Region throttle DescribeContact, GetContactAttributes, and UpdateContactAttributes at 10 requests per second with a burst quota of 15[^13]. SearchContacts is throttled at 10 requests per second (burst 30) for searches within a 2-week initiation window, dropping to 1 request per second (burst 1) for time windows broader than 2 weeks[^52].

## Tracking transfers, consults, and conferences

Each time an agent consults another party—internal or external via toll-free or DID—Amazon Connect generates a consult-leg contact record with a distinct Contact ID[^23]. Related contact records are linked together using three identifier fields[^44]:

| Field | Behavior on initial leg | Behavior on consult leg |
| --- | --- | --- |
| `InitialContactId` | Set to null[^44] | Matches the initial leg's `ContactId`[^44] |
| `PreviousContactId` | Set to null[^44] | Matches the `ContactId` of the leg that called it[^46] |
| `NextContactId` | Holds the `ContactId` of the last consulted agent[^46] | Holds the `ContactId` of the last consulted agent[^46] |

When an agent transfers a customer using CCP quick connects, the resulting contact leg receives an `InitiationMethod` of TRANSFER and creates a new contact record[^57]. AWS classifies an internal transfer when the consulted agent enters ACW after the initiating agent and the initiating leg contains a `TransferCompletedTimestamp`[^20]. By contrast, if the consulted agent enters ACW first, AWS classifies the interaction as a consult or conference[^20]. AWS distinguishes an internal consult from a conference using the consulted agent's `AgentInteractionDuration`: 0 indicates a consult while the customer is on hold, whereas a non-zero value indicates a conference, with sample code applying a 2-second threshold[^19].

WarmTransfer's reading of the sources is that an Amazon Connect contact record (one per contact leg, linked by `InitialContactId`) loosely mirrors the role of a Webex CC CSR/CAR pair, while the agent event stream reflects ASR/AAR data, though the models are not field-equivalent and Amazon Connect distributes data via push streams (Kinesis, EventBridge), the data lake, and APIs rather than a unified query API[^47].

## Agent event streams

Agent event streams provide detailed event publication on agent status, though they are disabled by default and require provisioning a Kinesis data stream before activation[^7]. In Data streaming settings, agent events can be sent solely to a Kinesis data stream, as the AWS console provides no Firehose option for agent events[^53]. While a single Kinesis stream can handle both agent events and contact records, AWS states that segregating them into separate streams simplifies reading and data management[^9].

Agent events are partitioned using the agent ARN as the partition key, directing all events for a given agent to the same shard; resharding events on the stream are ignored[^8]. Each agent event contains a `Version` field in date format, such as 2019-05-25[^12]. Events carry an `EventType` field with values of STATE_CHANGE, HEART_BEAT, LOGIN, and LOGOUT[^4]. 

A HEART_BEAT event publishes every 120 seconds if no other event is emitted for that agent during the interval[^5]. Following agent logoff, agent events continue publishing for up to an hour[^1]. A STATE_CHANGE event fires for agent status updates, conversation state updates, and configuration adjustments—such as modifications to routing profiles, assigned queues, auto-accept, SIP address, hierarchy groups, or CCP language settings[^11].

The nested `Contact` object in agent events exposes specific enumeration values:
* **State:** INCOMING, PENDING, CONNECTING, CONNECTED, CONNECTED_ONHOLD, MISSED, PAUSED, REJECTED, ERROR, and ENDED, with PAUSED restricted to tasks[^3].
* **Channel:** VOICE, CHAT, and TASKS[^2].
* **InitiationMethod:** INBOUND, OUTBOUND, TRANSFER, CALLBACK, API, WEBRTC_API, QUEUE_TRANSFER, MONITOR, DISCONNECT, EXTERNAL_OUTBOUND, AGENT_REPLY, FLOW, and CAMPAIGN_PREVIEW[^43]. For chat contacts, the initiation method recorded in the contact record is always API[^18]. The MONITOR method appears only when an instance is opted into Multi-Party Calls and Enhanced Monitoring[^45].

No agent event directly publishes After Contact Work duration[^6]. AWS instructs consumers to derive ACW duration by calculating the difference between the `EventTimestamp` of the STATE_CHANGE event where the contact leaves the current snapshot and the `StateStartTimestamp` of the contact's ENDED state[^6].

## Contact events via EventBridge

Amazon Connect supports near real-time contact event subscriptions for voice calls, chats, tasks, and email (such as an event indicating a call has been queued)[^26]. Contact events publish through Amazon EventBridge using the event source `aws.connect` and detail-type `Amazon Connect Contact Event`[^25]. The contact events schema evolves backward-compatibly, and AWS instructs developers to ensure event consumers ignore unknown fields and maintain operations when new event types appear[^28].

Amazon Connect emits service events, including contact events, to EventBridge using best-effort delivery[^24]. In EventBridge definitions, best-effort delivery indicates that the service attempts delivery for each event but may fail to deliver an event in rare situations, contrasting with durable delivery which requires at least 1 successful attempt[^17]. WarmTransfer's reading of the sources is that while contact events suit real-time triggers and monitoring dashboards, historical reporting must reconcile against contact records due to their at-least-once delivery guarantee[^42].

## See also

* [What the Customer Session Record carries](https://warmtransfer.net/knowledge/wxcc-customer-session-record-fields)
* [Records and fields that represent a consult or a transfer](https://warmtransfer.net/knowledge/wxcc-cdr-fields)
* [What a Webex webhook guarantees](https://warmtransfer.net/knowledge/webex-calling-webhook-delivery)

## Applicability

Applies to: Amazon Web Services Amazon Connect Customer and Amazon Web Services Amazon EventBridge. Deployments: multi-tenant. Sources checked 2026-09-24. API throttling quotas apply per account and per Region[^13]. As of 2026-09-24, DescribeContact reference notes that the API is in preview release for Connect Customer[^40].

## What remains uncertain

* The full ContactTraceRecord field list and nested objects (Agent, Queue, CustomerEndpoint, Recordings, etc.) are not covered by the sources below.
* The DisconnectReason enumeration in contact records is not covered by the sources below.
* The contact events eventType enumeration and payload fields are not covered by the sources below.
* The documented latency from disconnect to CTR delivery on Kinesis or Firehose is not covered by the sources below.
* The Kinesis Data Streams and Firehose cost of CTR and agent event streaming is not covered by the sources below.
* The partition key and ordering semantics for contact records on Kinesis are not covered by the sources below.
* The data lake contact_record table schema and how Firehose CTR JSON maps to it are not covered by the sources below.
* Contact Lens (conversational analytics) output files and their relation to CTRs are not covered by the sources below.

## Sources

[^1]: Agent events continue to be published for up to an hour after an agent has logged off. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Note under the event type list. Checked 2026-09-24.
[^2]: The Contact object in the agent event stream data model lists Channel values VOICE, CHAT and TASKS. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Contact object > Channel. Checked 2026-09-24.
[^3]: The Contact object in agent events has State values INCOMING, PENDING, CONNECTING, CONNECTED, CONNECTED_ONHOLD, MISSED, PAUSED, REJECTED, ERROR and ENDED, with PAUSED available only for tasks. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Contact object > State. Checked 2026-09-24.
[^4]: The agent event stream EventType field takes the values STATE_CHANGE, HEART_BEAT, LOGIN and LOGOUT. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), AgentEvent > EventType. Checked 2026-09-24.
[^5]: A HEART_BEAT agent event is published every 120 seconds if no other event was published for that agent during the interval. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Event type list, HEART_BEAT bullet. Checked 2026-09-24.
[^6]: No agent event reports ACW duration directly; AWS instructs deriving it as the STATE_CHANGE EventTimestamp at which the contact leaves the current snapshot minus the StateStartTimestamp of the contact's ENDED state. Source: [Determine the contact center agent's ACW (After Contact Work) time](https://docs.aws.amazon.com/connect/latest/adminguide/determine-acw-time.html), Opening paragraph and final calculation paragraph. Checked 2026-09-24.
[^7]: Agent event streams are not enabled by default, and a Kinesis data stream must be created before they can be enabled. Source: [Enable agent event streams to report agent activity in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-streams-enable.html), First paragraph. Checked 2026-09-24.
[^8]: Agent events are written to Kinesis with the agent ARN as the partition key, so all events for one agent go to the same shard; resharding events on the stream are ignored. Source: [Enable agent event streams to report agent activity in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-streams-enable.html), Second paragraph. Checked 2026-09-24.
[^9]: The same Kinesis stream can carry both agent events and contact records, but AWS says using a separate stream for each makes managing and reading the data much easier. Source: [Enable agent event streams to report agent activity in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-streams-enable.html), First paragraph. Checked 2026-09-24.
[^10]: The agent event streams enable page says that if server-side encryption is enabled on the Kinesis stream chosen for agent events, Amazon Connect cannot publish to it, and gives as a workaround reusing the KMS key already used to encrypt scheduled reports or call recordings (disputed). Source: [Enable agent event streams to report agent activity in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-streams-enable.html), Note following the partition key paragraph. Checked 2026-09-24.
[^11]: A STATE_CHANGE agent event fires not only for agent status and conversation state changes but also when agent configuration changes, such as routing profile, its queues, auto-accept, SIP address, hierarchy group or CCP language preference. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Event type list, STATE_CHANGE bullet and sub-bullets. Checked 2026-09-24.
[^12]: Each agent event carries a Version field in date format, such as 2019-05-25. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), AgentEvent > Version. Checked 2026-09-24.
[^13]: By default DescribeContact, GetContactAttributes and UpdateContactAttributes are each throttled at a rate of 10 requests per second with a burst of 15, per account and per Region. Source: [Connect Customer service quotas](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html), API throttling quotas > Connect Customer API throttling quotas, exceptions table. Checked 2026-09-24.
[^14]: A contact can hold up to 32,768 UTF-8 bytes across all its user-defined attributes, and attribute keys may contain only alphanumeric, dash and underscore characters. Source: [UpdateContactAttributes](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactAttributes.html), Request Body > Attributes. Checked 2026-09-24.
[^15]: UpdateContactAttributes can create or update user-defined attributes on both ongoing and completed contacts, identified by InitialContactId; the attributes are kept for 24 months and then deleted. Source: [UpdateContactAttributes](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactAttributes.html), Description paragraphs; Request Body > InitialContactId. Checked 2026-09-24.
[^16]: In the Set contact attributes flow block, a contact whose attributes exceed 32 KB is routed down the block's Error branch. Source: [UpdateContactAttributes](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactAttributes.html), Request Body > Attributes, second paragraph. Checked 2026-09-24.
[^17]: In EventBridge terms, best-effort delivery means the service attempts to send every event but in rare cases an event might not be delivered, whereas durable delivery means at least one successful delivery attempt. Source: [Delivery level for AWS service events](https://docs.aws.amazon.com/eventbridge/latest/ref/event-delivery-level.html), Bulleted definitions. Checked 2026-09-24.
[^18]: For chat contacts, the initiation method shown in the contact record is always API. Source: [View a contact record in the Connect Customer admin website](https://docs.aws.amazon.com/connect/latest/adminguide/sample-ctr.html), Bulleted notes under the steps. Checked 2026-09-24.
[^19]: AWS separates an internal consult from a conference by the consulted agent's AgentInteractionDuration: zero for a consult (customer on hold) and non-zero for a conference; the sample code uses a 2-second threshold. Source: [Identify conferences and transfers by using Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/identify-conferences-transfers.html), Step 2 > Consult calls and Conference calls; Code snippets (INTERACTION_DURN_THRESHOLD, agent_interaction_duration_ms <= 2000). Checked 2026-09-24.
[^20]: AWS identifies an internal transfer when the consulted agent enters ACW after the initiating agent and the initiating leg has a TransferCompletedTimestamp; a consult or conference is when the consulted agent enters ACW first. Source: [Identify conferences and transfers by using Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/identify-conferences-transfers.html), Step 2 > Consult calls, Conference calls, Transfer calls. Checked 2026-09-24.
[^21]: For agent-handled contacts, contact search marks a contact as completed only after the agent finishes After Contact Work. Source: [Search for completed and in-progress contacts in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/contact-search.html), Important things to know, second bullet. Checked 2026-09-24.
[^22]: In May 2025 AWS announced a contact completion event on the contact event stream that signals when a contact has fully concluded, including after-contact work. Source: [Amazon Connect now publishes post-contact completion events to Contact Event Stream](https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-connect-publishes-post-contact-completion-events-contact-event-stream), Announcement body, first paragraph. Checked 2026-09-24.
[^23]: Each time an agent consults another party, whether an internal agent or an external party reached by toll-free or DID number, Amazon Connect creates a consult-leg contact record with a new Contact ID. Source: [Identify conferences and transfers by using Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/identify-conferences-transfers.html), Introductory paragraphs. Checked 2026-09-24.
[^24]: Amazon Connect sends its service events to EventBridge, including the Amazon Connect Contact Event, with best-effort delivery. Source: [Amazon Connect Customer events](https://docs.aws.amazon.com/eventbridge/latest/ref/events-ref-connect.html), Connect Customer service events, 'Delivery type' line. Checked 2026-09-24.
[^25]: Contact events are published through Amazon EventBridge; their detail-type is 'Amazon Connect Contact Event' and the event source is aws.connect. Source: [Amazon Connect Customer events](https://docs.aws.amazon.com/eventbridge/latest/ref/events-ref-connect.html), Connect Customer service events: event list and source pattern. Checked 2026-09-24.
[^26]: Amazon Connect lets customers subscribe to a near real-time stream of contact events, such as a call being queued, for voice calls, chats, tasks and email. Source: [Connect Customer contact events](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html), Introductory paragraph. Checked 2026-09-24.
[^27]: AWS announced contact events with no additional Amazon Connect charge, though standard EventBridge charges may apply. Source: [Amazon Connect adds near real-time insights into voice call, chat, and task activity](https://aws.amazon.com/about-aws/whats-new/2021/05/amazon-connect-adds-near-real-time-insights-into-voice-call-chat-and-task-activity), Announcement body, pricing paragraph. Checked 2026-09-24.
[^28]: AWS tells developers that contact event consumers should ignore new fields and keep working when new event types are introduced, because the contact events data model is extended over time with backward-compatible changes. Source: [Connect Customer contact events](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html), Note after the introductory paragraphs. Checked 2026-09-24.
[^29]: A contact record is available in Amazon Connect for 24 months from the time the associated contact was initiated. Source: [Data model for Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html), Important things to know, second bullet, final sentence. Checked 2026-09-24.
[^30]: Amazon Connect delivers contact records at least once, and a contact record may be delivered again, for example when new information arrives after the initial delivery. Source: [Data model for Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html), Important things to know, second bullet. Checked 2026-09-24.
[^31]: Amazon Connect contact records capture the events associated with a contact, and Amazon Connect real-time and historical metrics are based on the data captured in contact records. Source: [Data model for Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html), Introductory paragraph under the page title. Checked 2026-09-24.
[^32]: Updating a contact's attributes with the update-contact-attributes command causes Amazon Connect to deliver a new contact record for that contact. Source: [Data model for Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html), Important things to know, second bullet, example sentence. Checked 2026-09-24.
[^33]: AWS adds new fields to the contact record data model over time, states that changes are backward compatible, and recommends that consuming applications ignore newly added fields. Source: [Data model for Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html), Important things to know, first bullet. Checked 2026-09-24.
[^34]: The analytics data lake keeps a fixed, non-configurable rolling 25-month window with the cutoff moving at 00:00 UTC; to keep data longer, customers must copy it to storage they control, for example with CTAS or UNLOAD queries into their own S3 bucket. Source: [Data retention in the Connect Customer analytics data lake](https://docs.aws.amazon.com/connect/latest/adminguide/data-lake-data-retention.html), First paragraph; Retaining data past the 25-month window. Checked 2026-09-24.
[^35]: In the data lake, the contact_record table ages out by its disconnect_timestamp column. Source: [Data retention in the Connect Customer analytics data lake](https://docs.aws.amazon.com/connect/latest/adminguide/data-lake-data-retention.html), Table of table names and age timestamp columns, contact_record row. Checked 2026-09-24.
[^36]: The Amazon Connect analytics data lake holds contact records among other datasets, and data should be available in less than an hour after a record is created. Source: [Connect Customer data lake](https://docs.aws.amazon.com/connect/latest/adminguide/data-lake.html), Introductory paragraph. Checked 2026-09-24.
[^37]: Because contact records are delivered at least once and are re-emitted after attribute updates, a CTR consumer that loads from Kinesis or Firehose must de-duplicate by ContactId and keep the most recent version rather than treat each record as a new contact (inferred). Source: [Data model for Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html), Important things to know, second bullet (premise). Checked 2026-09-24.
[^38]: DescribeContact returns only contact information still held in Amazon Connect, which is kept for 24 months from InitiationTimestamp and then deleted. Source: [DescribeContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html), Important things to know, second bullet. Checked 2026-09-24.
[^39]: The DescribeContact response includes AgentInfo fields AfterContactWorkStartTimestamp, AfterContactWorkEndTimestamp and AfterContactWorkDuration. Source: [DescribeContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html), Response Syntax > Contact > AgentInfo. Checked 2026-09-24.
[^40]: As of 2026-09-24 the DescribeContact API reference carries a notice that the API is in preview release for Connect Customer and subject to change. Source: [DescribeContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html), First line under the page title. Checked 2026-09-24.
[^41]: DescribeContact does not populate SystemEndpoint for contacts whose initiation method is MONITOR, QUEUE_TRANSFER or CALLBACK. Source: [DescribeContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html), Important things to know, first bullet. Checked 2026-09-24.
[^42]: Since contact events reach EventBridge with best-effort delivery while contact records are delivered at least once, contact events suit real-time triggers and dashboards but should be reconciled against contact records for historical reporting (inferred). Source: [Amazon Connect Customer events](https://docs.aws.amazon.com/eventbridge/latest/ref/events-ref-connect.html), Delivery type line (premise); combined with aws-connect-ctr-data-model Important things to know. Checked 2026-09-24.
[^43]: The InitiationMethod values documented in the agent event stream Contact object are INBOUND, OUTBOUND, TRANSFER, CALLBACK, API, WEBRTC_API, QUEUE_TRANSFER, MONITOR, DISCONNECT, EXTERNAL_OUTBOUND, AGENT_REPLY, FLOW and CAMPAIGN_PREVIEW. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Contact object > InitiationMethod. Checked 2026-09-24.
[^44]: Contact record legs are linked by InitialContactId, NextContactId and PreviousContactId; the initiating leg has null InitialContactId and PreviousContactId, and every related leg's InitialContactId equals the initiating leg's ContactId. Source: [Identify conferences and transfers by using Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/identify-conferences-transfers.html), How to identify consultative calls > Step 1. Checked 2026-09-24.
[^45]: The MONITOR initiation method appears only if the instance has opted into Multi-Party Calls and Enhanced Monitoring. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Contact object > InitiationMethod > MONITOR, Note. Checked 2026-09-24.
[^46]: NextContactId on a leg holds the Contact ID of the last agent that leg consulted, and PreviousContactId on a consult leg holds the Contact ID of the leg that called it. Source: [Identify conferences and transfers by using Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/identify-conferences-transfers.html), Contact records for consultative calls, N and P definitions. Checked 2026-09-24.
[^47]: Loosely, an Amazon Connect contact record (one per contact leg, linked by InitialContactId) plays the role of a Webex CC CSR/CAR pair, and the agent event stream plays the role of ASR/AAR data; the models are not field-equivalent, and Connect exposes its data by push (Kinesis, EventBridge) plus API and data lake, not through one query API (inferred). Source: [Identify conferences and transfers by using Connect Customer contact records](https://docs.aws.amazon.com/connect/latest/adminguide/identify-conferences-transfers.html), Introductory paragraphs (Connect side); see gh-webexsamples-wxcc-graphql-reporting-sample README for the Webex side. Checked 2026-09-24.
[^48]: AWS documentation now names the product 'Amazon Connect Customer' (short form 'Connect Customer') in place of 'Amazon Connect', including on the contact record, data streaming and EventBridge reference pages. Source: [Enable data streaming for your Connect Customer instance](https://docs.aws.amazon.com/connect/latest/adminguide/data-streaming.html), Page title and body text. Checked 2026-09-24.
[^49]: Trade press reported on 2026-04-29 that Amazon renamed its contact center product Connect Customer as part of a family of four Connect products (Customer, Decisions, Talent, Health). Source: [Amazon Connect becomes 'Connect Customer'](https://www.nojitter.com/contact-centers/amazon-connect-becomes-connect-customer-), Article body, opening paragraphs. Checked 2026-09-24.
[^50]: Contact search results for a query are limited to the first 10,000 results, and up to 3,000 results can be downloaded at a time. Source: [Search for completed and in-progress contacts in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/contact-search.html), Important things to know; Download search results. Checked 2026-09-24.
[^51]: The Contact search page can find contacts as far back as two years, searched in time ranges of up to 8 weeks at a time. Source: [Search for completed and in-progress contacts in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/contact-search.html), Important things to know, first bullet; Key search features, time range bullet. Checked 2026-09-24.
[^52]: SearchContacts is throttled at 10 requests per second (burst 30) when searching within a 2-week window by initiation time, and at 1 request per second (burst 1) beyond a 2-week window. Source: [Connect Customer service quotas](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html), API throttling quotas > Connect Customer API throttling quotas, SearchContacts rows. Checked 2026-09-24.
[^53]: In the Data streaming settings, agent events can be sent only to a Kinesis data stream; the console step for Agent Events offers no Firehose option. Source: [Enable data streaming for your Connect Customer instance](https://docs.aws.amazon.com/connect/latest/adminguide/data-streaming.html), To enable data streaming for your instance, step 6 (Agent Events). Checked 2026-09-24.
[^54]: In the instance's Data streaming settings, contact records can be sent either to an Amazon Data Firehose (Kinesis Firehose) delivery stream or to a Kinesis data stream. Source: [Enable data streaming for your Connect Customer instance](https://docs.aws.amazon.com/connect/latest/adminguide/data-streaming.html), To enable data streaming for your instance, step 5 (Contact records). Checked 2026-09-24.
[^55]: AWS advises updating the KMS key permissions before using that key with Amazon Connect streaming, to avoid missing data. Source: [Enable data streaming for your Connect Customer instance](https://docs.aws.amazon.com/connect/latest/adminguide/data-streaming.html), Use server-side encryption for the Kinesis stream, Note. Checked 2026-09-24.
[^56]: The data streaming page says Amazon Connect can stream to Kinesis Data Streams and Firehose streams encrypted server-side with a customer managed KMS key, provided the key policy grants the instance's service-linked role kms:GenerateDataKey (disputed). Source: [Enable data streaming for your Connect Customer instance](https://docs.aws.amazon.com/connect/latest/adminguide/data-streaming.html), Use server-side encryption for the Kinesis stream; Step 2: Construct a policy statement. Checked 2026-09-24.
[^57]: When an agent transfers a customer to another agent or queue using quick connects in the CCP, the new leg has InitiationMethod TRANSFER and a new contact record is created. Source: [Agent event streams data model in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/agent-event-stream-model.html), Contact object > InitiationMethod > TRANSFER. Checked 2026-09-24.
[^58]: The 'Is transferred out' column in contact search indicates only cold transfers, where the agent disconnected before the transfer; the UTC time the transfer connected is in the contact record's TransferCompletedTimestamp. Source: [Search for completed and in-progress contacts in Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/contact-search.html), Additional fields, Tip. Checked 2026-09-24.
[^59]: In the Webex Contact Center Search API, task data is stored as Customer Session Records (CSRs) and Customer Activity Records (CARs), queried with taskDetails; agent data is stored as Agent Session Records (ASRs) and Agent Activity Records (AARs), queried with agentSession. Source: [webex-contact-center-api-samples / reporting-samples / graphql-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-sample), README, record type descriptions. Checked 2026-09-24.
[^60]: The Webex Contact Center Search API sample README states that a query span may not exceed 13 months, and 30 days for raw CAR and AAR data. Source: [webex-contact-center-api-samples / reporting-samples / graphql-sample](https://github.com/WebexSamples/webex-contact-center-api-samples/tree/main/reporting-samples/graphql-sample), README, query span notes. Checked 2026-09-24.
