Search documentation...


There are two distinct git repositories that Hightouch communicates with. This functionality reads from a git repo to leverage your dbt models, which is entirely independent from the git repo used for Git Sync to version control your settings.

Syncing dbt models

At Hightouch, we use dbt to build most of our models for analytics and reporting. We've built a first class way to use dbt models as the source code for your Hightouch models. When your setup is complete, you'll be able to create Hightouch models with dbt models like this.

Connecting to your git repository

Navigate to the extension configuration and save your git credentials. For regular username / token authentication, use your personal access token (ex: Github, Gitlab) rather than password.
If you would like to scope Hightouch's access to a specific repository, we suggest you use our Github App! Make sure you select the "Github App" authentication method.

Configuring dbt model selector

Under each source, you can enable using dbt models from your git repository in Hightouch.
The default schema is the schema where dbt would normally materialize your tables to unless otherwise specified in project file. Generally, this is something like public or production or dbt_production.
Hightouch allows you to optionally specify dbt selectors like tag:hightouch, but we will use * by default and sync all dbt models to Hightouch by default.
In addition, you can specify which version of dbt you would like to use. By default, Hightouch uses the most recent version available in the drop-down menu.
Hightouch will also automatically look for your dbt_project.yml file in the repository directory. However, if your file is named something else like dbt_project.yaml, or you have multiple dbt_project.yml files, you can specify a relative path to your project file, like ./hightouch/dbt/dbt_project.yaml.
After saving your settings, it may take 1-2 minutes for Hightouch to sync your dbt models and for the sync status to turn green.

Selecting a model

After setting up the dbt model selector, dbt models will be available in the Hightouch model creation process. Select the dbt model tab in the query explorer and view all your dbt models there!
The compiled SQL shown in the preview is only used for preview purposes. When we query the warehouse, we'll be querying the table that is built by dbt.


Hightouch supports all dbt versions >= 0.19, you can set the version in the dbt setup page. If you need support for a version not listed, let us know!
If you update your dbt version, return to Hightouch to update your dbt version selection. Once you've made the update, it may take up to 15 minutes for the changes to take effect.

Unsupported features

We do not currently support the following features:
  • Private dependency packages
  • Pre / post hooks (limited support, this may work depending on the hook)
Hightouch compiles the project using dbt compile to resolve the schema of your data warehouse and to generate compiled SQL for preview purposes. When running the model in Hightouch, we query the materialized table directly.

    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

Syncing dbt modelsConnecting to your git repositoryConfiguring dbt model selectorSelecting a modelVersionsUnsupported features

Was this page helpful?