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.
![thumbnail image]()
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 / 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.
⚠️ 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.