Syncs declare how you want query results from a model to appear in your destination.
To learn more about syncs on a conceptual level, see the core concepts page. Refer to destination docs for specific configuration details. To learn more about the information the Hightouch UI displays on your syncs and what actions you can take from the UI, continue to the following sections.
The overview page also shows more specific information including:
Sync ID: a numerical unique identifier for the sync that is necessary when setting up an Airflow operator, or using the Dagster or Prefect integrations
By default, Hightouch keeps track of changes to your data between syncs and only sends necessary updates. Therefore, an initial sync runs often shows that many records were 'Added'. Subsequent runs often show fewer records 'Added', and instead show many records have 'Changed' or 'Removed'.
If you wish to reset the sync's tracking to its initial state—as if it were syncing for the first time again—you can select Resync full query from the menu on your sync's main page.
When viewing a specific sync, you can inspect detailed run-level information. A run is a particular invocation of a sync, either triggered manually or scheduled.
Each run provides:
The particular run's status
The time the run started and its duration in seconds
The number of rows queried
The total number of operations, including rows added, changed, removed
The results—the total number of successful operations in green and the number of rejected operations in red
If there were any errors, you can click the View Error button to view details related to the run.
The configuration section exposes destination-specific configuration options. While sync configurations vary depending on the destination, they generally include:
Type: What data type to sync to in your destination; for example, objects, events, subscription lists, etc. To learn more, see sync types and modes
Mode: What update mode to use; for example, upsert, insert, update, etc. To learn more, see sync types and modes
Record matching If updating or upserting, how rows in the source should be matched to records in the destination
Field mapping: What columns from your source should be synced to the destination, and what destination fields they should appear as
Batching: How data should be batched in API requests
Delete behavior: What to do when a record leaves your source—in other words, when your model no longer returns a record that was returned in the previous sync run
Depending on the destination and update mode, these are common options for delete behavior:
Behavior
Description
Do nothing
Preserve the record in the destination. This option is useful for when you want your destination to continually accrue records from your source.
Clear Fields
Keep the record, but clear the mapped fields. This option useful to retain records in your destination, but clear the fields that are mapped in your sync.
Delete Destination Record
Delete the record in the destination. This option is useful for when you want your destination to exactly mirror your source by dropping records that have dropped out of your model.
Check out the particular destination's documentation for more details.
You can test a sync by sending just one row from your model to your destination. Sending just one row lets you verify that the sync is working as intended before initiating a run of your entire sync.
From your sync's configuration page, click Test and select a row to sync. You can choose to sync the row as an added, changed row, or removed row and observe the results.
Part of sync configuration is deciding how frequently the sync should run. Besides triggering syncs manually, you can schedule syncs with these options:
Interval: You can schedule your sync to run on a set interval, for example once every day.
Custom recurrence: You can schedule your sync to run a specific date and time, for example every Monday at 9 AM.
Cron expression: You can schedule your sync using a cron expression.
dbt Cloud: You can trigger syncs automatically via dbt Cloud.
Fivetran: You can trigger syncs automatically via Fivetran.
If you have dependencies between syncs, for example you require one sync to complete before another begins, sync Sequences can help you manage scheduling.
You can configure Warehouse Sync Logs from this section. This feature writes information on the results of your syncs back into your warehouse so that you can perform more complex analysis.
Ready to get started?
Jump right in or a book a demo. Your first destination is always free.