Git Sync for dbt allows you to version-control your workflow settings via git. When enabled, your Sync will read/write from a schema file and commit any changes. This ensures that your model definition is always the source of truth for your workflows.
This requires two steps:
Connecting your git account to Hightouch
Defining your workflow in the model metadata
Enabling Bidirectional will enable bidirectional syncing; whenever a change is made to your sync in Hightouch a commit or pull request will be created in your repository reflecting the change.
In your repository create a
hightouch.yml file like so:
syncs:- model_id: 123destination_id: 52407schedule:type: cronexpression: "*/30 * * * *"config:subscribeAdd: truesubscribeChange: falsesubscribeDelete: falsemappings:- from: idto: id- from: emailto: email- from: first_nameto: firstName- from: last_nameto: lastName
You must define a
config property for each sync.
The model id property represents the Hightouch model that your sync will use. To find the identifier navigate to your model in Hightouch and grab the identifier from the pathname (ex:
The destination id property represents the Hightouch desitnation that your sync will use. To find the identifier navigate to your destination in Hightouch and grab the identifier from the pathname (ex:
schedule property defines which schedule the query will be created with. The following are possible options:
schedule:type: intervalunit: minute|hour|day|weekquantity: 1
schedule:type: cronexpression: "*/30 * * * *"
dbt is only available if you are using the dbt Cloud integration
schedule:type: dbtaccout_id: 1job_id: 1
destinations property is an array of possible destinations to connect your query results to.
config property is different for each type of destination. To learn each variation of the
config property read our dbt Destination Config document.