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

# ETL: Crisp Chat Source

> How to configure the Crisp Chat source component in Integrate.io ETL to read conversation, contact, and chat session data into your data pipeline using API...

Use the Crisp Chat source component to read conversations, people profiles, visitors, and operators data from your Crisp Chat account and ingest them into your [Integrate.io](http://integrate.io/) ETL pipeline.

## Connection

Select an existing Crisp Chat connection or create a new one. For setup instructions, see **Allowing Integrate.io ETL access to my Crisp Chat**.

## Source Properties

The source component is configured in Step 02 of the component editor.

<Frame>
  <img src="https://mintcdn.com/integrateio/SfoTODiyrCmN3M0d/images/creating-packages/using-components-crisp-chat-source/image-1.webp?fit=max&auto=format&n=SfoTODiyrCmN3M0d&q=85&s=38e0d7da0a375a20a292695c0f515947" alt="Crisp Chat source component configuration" width="1200" height="1312" data-path="images/creating-packages/using-components-crisp-chat-source/image-1.webp" />
</Frame>

### Source Table (Object)

Select the Crisp object to read data from:

| Object           | Description                                                                                                                      | Paginated |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------- | --------- |
| conversations    | All conversations (chat sessions) across the website. Includes metadata, messages preview, visitor info, and assignment details. | Yes       |
| people\_profiles | Contact profiles (people) who have interacted with the website. Includes email, name, location, and custom data.                 | Yes       |
| visitors         | Currently active visitors on the website. Returns real-time visitor data (may be empty if no active visitors).                   | No        |
| operators        | Team members (operators) with access to the website. Includes name, email, role, and availability.                               | No        |

<Tip>Click the **Refresh** button next to the dropdown to reload the list of available objects.</Tip>

### Load Type

Select how records are loaded on each pipeline run:

* **Full Load** — Fetches all records for the selected object on every run.
* **Incremental Load** — Fetches only records created or updated after a reference date. Useful for scheduled pipelines to avoid re-processing historical data.

### Incremental Load Settings

When **Incremental Load** is selected, the following options appear:

**Sync date field** — Select the date field used to filter records. Available fields include any field ending in `_at`:

* `created_at` — Timestamp when the record was created (Unix epoch, milliseconds)
* `updated_at` — Timestamp when the record was last updated
* `waiting_since` — Timestamp since the conversation has been waiting (conversations only)

**Load records** — Select the filter condition:

* `newer than` / `on or after` — Fetch records after the reference date
* `older than` / `on or before` — Fetch records before the reference date

**Reference date** — Choose the source of the date value:

* **Fixed Date** — Select a specific calendar date using the date picker.
* **Variable** — Use a system or custom variable. The recommended value for scheduled pipelines is `$package_last_successful_job_submission_timestamp`, which automatically advances the start date after each successful run.

<Warning>**Timestamp format**: Crisp uses Unix epoch timestamps in **milliseconds** (e.g. `1774494734867`), not ISO 8601 strings. The connector handles this conversion internally.</Warning>

## Field Flattening

The Crisp API returns nested JSON objects for some fields. The connector automatically **flattens** these into individual columns using underscore-separated naming:

### Conversations — Flattened Fields

| Original API field         | Flattened columns                                                                                                                                                                                                                                                                                                                                                                                              |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| unread (object)            | unread\_visitor, unread\_operator                                                                                                                                                                                                                                                                                                                                                                              |
| active (object)            | active\_now                                                                                                                                                                                                                                                                                                                                                                                                    |
| compose → visitor (nested) | compose\_visitor\_type, compose\_visitor\_excerpt, compose\_visitor\_timestamp                                                                                                                                                                                                                                                                                                                                 |
| preview\_message (object)  | preview\_message\_fingerprint, preview\_message\_from, preview\_message\_type, preview\_message\_excerpt                                                                                                                                                                                                                                                                                                       |
| meta (deeply nested)       | meta\_nickname, meta\_email, meta\_phone, meta\_ip, meta\_origin, meta\_avatar, meta\_segments, meta\_device\_timezone, meta\_device\_geolocation\_country, meta\_device\_geolocation\_city, meta\_device\_geolocation\_region, meta\_device\_geolocation\_coordinates\_latitude, meta\_device\_geolocation\_coordinates\_longitude, meta\_device\_system\_os\_name, meta\_device\_system\_browser\_name, etc. |

### People Profiles — Flattened Fields

| Original API field            | Flattened columns                                                                                                                                                             |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| active (object)               | active\_now                                                                                                                                                                   |
| person → geolocation (nested) | person\_geolocation\_country, person\_geolocation\_city, person\_geolocation\_region, person\_geolocation\_coordinates\_latitude, person\_geolocation\_coordinates\_longitude |
| company (object)              | company\_emails, company\_phones, company\_tags                                                                                                                               |

<Tip>Flattening is recursive — deeply nested objects (like `meta.device.system.browser`) are fully expanded to leaf-level fields.</Tip>

## Schema

After configuring the source properties, the **Schema** section (Step 03) displays all available fields with their detected data types.

Key data types:

* **string** — Text values and serialized JSON arrays
* **long** — Numeric values including Unix timestamps and integer IDs
* **boolean** — True/false values (e.g. `is_blocked`, `active_now`)
* **double** — Floating-point values (e.g. `meta_device_geolocation_coordinates_latitude`)

Use the field selector to choose which columns to include in your pipeline. You can rename fields using aliases and change data types as needed.
