Search documentation...


Overview of the Sync Page

Sync Status

Your sync's status is based on the latest information available on a run:
  • Healthy: a recent run completed
  • Pending: no runs have been scheduled yet
  • Disabled: the sync has been disabled through the UI
  • Querying: a sync is querying your model
  • Preparing: a sync is preparing your data for your destination
  • Queued: a sync is scheduled to begin writing to your destination
  • In Progress: a sync is writing to your destination
  • Incomplete: a sync had a temporary interruption, it will be resumed in a new run.
  • Aborted/Failed: there was an error in the sync progress, check the errors on the sync to see why the sync failed.

Run Details

When viewing a specific sync, you can view detailed run-level information. A run is a particular invocation of a sync, either triggered manually, via an API request, through an Airflow/dbt integration or via a schedule.
Each run provides the number of records processed, added, changed, removed, and rejected. If there were any errors, click the View Error button to view details related to the run.
For the added, changed, and removed columns the number of records successfully sent to the destination appears in green as the first column. The number of records attempted but not successfully completed are in the second red column.
For example, if a record was removed from the model, you will see a green 1 under the 'removed' column. If the record was not removed due to an error, you will see a red 1 instead under the same column.


The configuration section exposes destination-specific configuration options. Check out the Destinations page for the particular destination you're using for more details.


Resync Full Query

By default, Hightouch keeps track of changes to your data between syncs. Consequently, an initial run of a sync will show many records 'added' and subsequent runs will, in many cases, show fewer records 'added' and instead, show many records have 'changed'. 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:


You can test a sync between one row from your model and your destination to verify that the sync is working the way you 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 row, a changed row, or a removed row and observe the results.

Edit as JSON

You can edit your sync's configurations as JSON code to quickly make multiple changes or copy and paste one sync's configurations to another.
    "mode": "upsert",
    "type": "object",
    "fromId": "track_visitor_id",
    "object": "user",
    "mappings": [
            "to": "uuid-western",
            "from": "uuid"
            "to": "Trialer Status",
            "from": "trialer_status"
    "customMappings": [
            "to": "unique_notification_status",
            "from": "notify_status"
Depending on the destination, you may see the following fields:
  • Mode: Insert, Upsert, or Update
  • Type: Object, Event, Enrichment, etc.
  • Object: User, Contact, etc.
  • Mappings: The standard fields to be mapped
  • Custom Mappings: Any custom fields to be mapped

Handling Records Leaving the Source

When a record leaves your source--in other words, when your model no longer returns a record that was returned in the previous run of the sync--you can set your sync to one of two or three options (depending on the capabilities of the destination):
  • Do nothing. This will preserve the record in your destination. This is useful for when you want your destination to continually accrue records from your source.
  • Delete the destination record associated with the source record. This is useful for when you want your destination to exactly mirror your source by dropping records that have dropped out of your model.
  • Clear fields that are being synced to in the destination record, but do not delete. Use this option to retain records in your destination, but clear the fields that are mapped in your sync.

    Need help?

    Our team is relentlessly focused on your success. We're ready to jump on a call to help unblock you.

    • Connection issues with your data warehouse?
    • Confusing API responses from destination systems?
    • Unsupported destination objects or modes?
    • Help with complex SQL queries?


    Feature Requests?

    If you see something that's missing from our app, let us know and we'll work with you to build it!

    We want to hear your suggestions for new sources, destinations, and other features that would help you activate your data.

On this page

Sync StatusRun DetailsConfigurationScheduleResync Full QueryTestEdit as JSONHandling Records Leaving the Source

Was this page helpful?