> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudhumans.com/llms.txt
> Use this file to discover all available pages before exploring further.

# cloud_chat_contacts

> The customer-side identity a conversation is attached to. Several columns hold your customers' personal data, marked as such below.

The customer-side identity a conversation is attached to. Several columns hold your customers' personal data, marked as such below.

<Columns cols={3}>
  <Card title="One row is">
    one contact
  </Card>

  <Card title="Delivery">
    Rewritten daily
  </Card>

  <Card title="Columns">
    23
  </Card>
</Columns>

## Where it lands

```text theme={null}
s3://<YOUR_BUCKET>/v1/datamart_cloudchat_saas/cloud_chat_contacts/snapshot_date=<DATE>/
```

The partition delivered today holds the whole table. Read the latest
`snapshot_date=` partition only, and check for `_SUCCESS` before you do, as
described in [bucket layout](/data-export/bucket-layout#how-to-tell-if-a-partition-is-ready).

## Columns

<ResponseField name="contact_sk" type="bigint">
  Internal warehouse key. Not stable between deliveries — join on `contact_id` instead.
</ResponseField>

<ResponseField name="customer_id" type="varchar(36)">
  Identifier of the workspace the contact belongs to.
</ResponseField>

<ResponseField name="tenant_id" type="varchar(256)">
  Id of the tenant. `NULL` for rows with no tenant mapping.
</ResponseField>

<ResponseField name="tenant_name" type="varchar(256)">
  Name of the tenant. `NULL` for rows with no tenant mapping.
</ResponseField>

<ResponseField name="contact_id" type="integer">
  **Join key.** Unique id of the contact. Matches `contact_id` on [`cloud_chat_conversations`](/data-export/catalog/cloud-chat/cloud_chat_conversations).
</ResponseField>

<ResponseField name="contact_name" type="varchar(255)">
  First name, or the whole name when the channel does not split it. Personal data of your customer.
</ResponseField>

<ResponseField name="contact_email" type="varchar(255)">
  Email address. Personal data of your customer.
</ResponseField>

<ResponseField name="contact_phone_number" type="varchar(255)">
  Phone number, in the format the channel provided. Personal data of your customer.
</ResponseField>

<ResponseField name="account_id" type="integer">
  Account the contact belongs to.
</ResponseField>

<ResponseField name="instance_id" type="integer">
  Instance the workspace is served from.
</ResponseField>

<ResponseField name="additional_attributes" type="varchar(65535)">
  Attributes the channel supplied about the contact, serialized as JSON. The keys depend on the channel.
</ResponseField>

<ResponseField name="identifier" type="varchar(255)">
  Your own identifier for the contact, when your systems set one. This is the column to join on if you want to match the contact to a record in your CRM.
</ResponseField>

<ResponseField name="custom_attributes" type="varchar(65535)">
  Custom attributes set in the workspace, serialized as JSON.
</ResponseField>

<ResponseField name="last_activity_at" type="timestamp">
  When the contact was last active in any conversation.
</ResponseField>

<ResponseField name="contact_type" type="integer">
  Numeric code for how the contact was created. `0` is a regular contact; other codes mark contacts created by the platform rather than by a real interaction.
</ResponseField>

<ResponseField name="middle_name" type="varchar(255)">
  Middle name, when the channel supplies one. Personal data.
</ResponseField>

<ResponseField name="last_name" type="varchar(255)">
  Last name, when the channel supplies one. Personal data.
</ResponseField>

<ResponseField name="location" type="varchar(255)">
  Location as reported by the channel. Not verified.
</ResponseField>

<ResponseField name="country_code" type="varchar(255)">
  Country as reported by the channel.
</ResponseField>

<ResponseField name="blocked_flag" type="boolean">
  Whether the contact was blocked in the workspace.
</ResponseField>

<ResponseField name="created_at" type="timestamp">
  When the contact was first created.
</ResponseField>

<ResponseField name="updated_at" type="timestamp">
  When the contact record was last modified.
</ResponseField>

<ResponseField name="snapshot_date" type="date">
  Partition column. Date of the delivery that wrote this file, in `YYYY-MM-DD`.
</ResponseField>
