Skip to main content
Log in

Data syncs

Preview, match, and schedule data from BigQuery, Snowflake, Redshift, or Amazon S3.

A connection grants Cust access to a source. A sync defines which rows to read, what they become in Cust, and when to refresh them. Admins and Owners manage syncs from Settings → Integrations.

Create a sync

Open a connected BigQuery, Snowflake, Redshift, or Amazon S3 integration and click New sync. Give it a name and choose its Destination.

DestinationSource rows
CompaniesOne row per company, matched by External ID.
ContactsOne row per contact, with its company External ID and email. An optional contact External ID is matched before email.
Custom objectOne row per record, with a unique External ID, timestamp, and company External ID. Choose an existing custom object or create one.
Metric snapshotOne row per company or contact and date, with a separate column for each metric.
Metric valuesOne row per measurement, with record External ID, metric slug, value, and date. A note is optional.
Product eventsOne row per event, with contact External ID, event name, event time, and a unique event ID.

For either metric destination, choose whether metrics belong to Companies or Contacts. The destination is fixed after the sync is created.

Preview the source

For a warehouse, enter the SQL in Query. Leave out LIMIT, because Cust applies its own limit for previews. $TIMEZONE expands to the organization's time zone. Cust wraps the query when filtering changed rows, so return any change-tracking column in the result.

For Amazon S3, select or enter a Folder relative to the connection's root. Each sync reads .csv and .csv.gz files under that folder. See Amazon S3 for the file format.

Click Run preview to inspect column names, types, and sample rows. An S3 preview reads the newest non-empty file. A preview checks the source without importing its rows.

Match records

In Match, select the source columns that identify each record and its company, date, or event. For company and metric External IDs, Cust accepts either acme or extid-acme and matches the External ID exactly, including case. Company names and domains are not substitutes for the External ID.

For a company sync, choose what happens when no company matches: Skip the row or Create the company. Run the preview again after choosing the matching columns to check sample matches.

Keep row identity stable. Changing an identity column on an existing sync reads every row again on the next run. Product-event identity columns are fixed after creation.

Choose fields and metrics

For companies, contacts, and custom objects, create the sync and run a preview to list the available fields. Select the columns you want to import, then save and review the proposed field changes. Selected columns become read-only fields marked with the source's logo. Configure built-in values such as Name or Title from these fields on the object's settings page.

For Metric snapshot, select the metric columns to import. For Metric values, Cust discovers metric slugs as rows are read. Missing metrics are created automatically. A metric already managed by another source stays unlinked. Review the Metrics section and adjust the metric's label, format, and chart settings in Settings → Objects.

Deselecting a metric stops this sync from writing it and preserves its existing history.

Set the schedule

Choose Runs: every hour, 3 hours, 6 hours, 12 hours, daily, or once a day within an hour window. A daily window uses the organization's time zone.

Warehouse syncs also let you choose Each run reads:

  • Only new and changed rows requires a timestamp column that advances whenever a row changes. Select it as the Change-tracking column.
  • All rows reads the full query result on each run.

An initial warehouse run reads the query's result without an incremental date filter. Later incremental runs filter on the selected change-tracking column. If you correct an older measurement, its change-tracking timestamp must advance for Cust to read it again.

S3 tracks files added or changed since the previous run and does not need a change-tracking column.

Run and verify

Save the sync, turn Enabled on, then click Run now. The header and sync list show Running, Succeeded, or Failed, along with the rows read and any error. Rows with an empty identity column are skipped and reported.

Compare a known source row with its company, contact, custom object, metric, or event in Cust. A successful run can still skip unmatched records, so confirm the destination and identifiers as well as the run status.

Turn Enabled off to pause a sync. Before deleting it or removing managed fields, review the confirmation showing which fields would be deleted or unlinked.