Using Components: Crisp Chat (Source)

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
composevisitor (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
persongeolocation (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.