> ## 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_conversations_custom_fields

> Custom field values in long format, one row per field. Pivot on your side — the set of fields differs per workspace, so the export cannot pivot for you.

Custom field values in long format, one row per field. Pivot on your side — the set of fields differs per workspace, so the export cannot pivot for you.

<Columns cols={3}>
  <Card title="One row is">
    one conversation, one custom field
  </Card>

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

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

## Where it lands

```text theme={null}
s3://<YOUR_BUCKET>/v1/datamart_cloudchat_saas/cloud_chat_conversations_custom_fields/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="conversations_custom_fields_sk" type="bigint">
  Internal warehouse key. Not stable between deliveries — the row is identified by `conversation_id` plus `conversation_custom_field_name`.
</ResponseField>

<ResponseField name="conversation_sk" type="bigint">
  Internal warehouse key for the conversation. Use `conversation_id`.
</ResponseField>

<ResponseField name="account_id" type="bigint">
  Account the conversation belongs to.
</ResponseField>

<ResponseField name="instance_id" type="varchar(50)">
  Instance the workspace is served from.
</ResponseField>

<ResponseField name="customer_id" type="varchar(36)">
  Identifier of the workspace the row 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="conversation_id" type="bigint">
  **Join key.** Conversation the field belongs to. Joins to [`cloud_chat_conversations`](/data-export/catalog/cloud-chat/cloud_chat_conversations).
</ResponseField>

<ResponseField name="conversation_display_id" type="bigint">
  Number shown to agents for that conversation.
</ResponseField>

<ResponseField name="conversation_created_at" type="timestamp">
  When the conversation was created.
</ResponseField>

<ResponseField name="conversation_custom_field_name" type="varchar(255)">
  Name of the custom field. The set of names is defined per workspace, so this is the column you pivot on.
</ResponseField>

<ResponseField name="conversation_custom_field_value" type="varchar(65535)">
  Value of the field, always as text regardless of how it is typed in the workspace. Cast on your side.
</ResponseField>

<ResponseField name="custom_attribute_id" type="bigint">
  Id of the field definition in the workspace.
</ResponseField>

<ResponseField name="custom_field_updated_at" type="timestamp">
  When this value was last changed.
</ResponseField>

<ResponseField name="assignee_name" type="varchar(255)">
  Agent assigned to the conversation, carried here for convenience.
</ResponseField>

<ResponseField name="inbox_name" type="varchar(65535)">
  Inbox of the conversation, carried here for convenience.
</ResponseField>

<ResponseField name="team_name" type="varchar(255)">
  Team of the conversation, carried here for convenience.
</ResponseField>

<ResponseField name="etl_updated_at" type="timestamp">
  When the datamart last wrote this row.
</ResponseField>

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