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 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.
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 |
Click the Refresh button next to the dropdown to reload the list of available objects.
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 ( > ): Fetch records after the reference date.
older than ( < ): Fetch records before the reference date.
Reference date. Choose the source of the date value:
- Last successful run. Track records since the last successful run of this pipeline. Selecting this option auto-fills
incremental_load_date with the $_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP system variable, so each scheduled run picks up only what changed since the previous run finished. Recommended for scheduled pipelines.
- Fixed Date. Select a specific calendar date using the date picker. Use this for a one-time historical backfill.
- Variable. Use a custom package variable. Select this when you need to drive the start date from a value other than the last successful run timestamp.
Timestamp format: Crisp uses Unix epoch timestamps in milliseconds (e.g. 1774494734867), not ISO 8601 strings. The connector handles this conversion internally.
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 |
Flattening is recursive. Deeply nested objects (like meta.device.system.browser) are fully expanded to leaf-level fields.
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.