You can choose what Hightouch's behavior is when records leave the query result set. The default is doing nothing, but you can also set Hightouch to delete or clear the Courier profile on record exit.
Instead of creating a new list, Hightouch can also sync recipients to existing lists that are already populated in your Courier workspace.
Suppose you want to sync to multiple existing lists but do not want to create a new sync for every list. As long as your model has a list_id column associated to a row, Hightouch can sync to multiple Courier lists in just one sync.
Log in to Hightouch or create a free Hightouch account
Click on Destinations in the left sidebar
Click on Add destination in the top right corner
Select Courier in the destination catalog and click Continue to proceed
Paste your API token into the API Key field and click Continue to proceed
Give your destination a name and unique slug (for example, “Courier Production” and courier-production)
Click Finish to create your Courier destination.
Now that we've linked Hightouch to your Courier account, it's time to connect to build profiles and list subscriptions using the data that resides in your data warehouse.
Hightouch sits on top of your data warehouse and can read from Snowflake, Redshift, BigQuery, Databricks, Postgres, MySQL, and many other data sources. You can even fetch data from Google Sheets and Airtable. Hightouch can help activate your data wherever it resides.
We've written dedicated guides for each supported data source. Take your pick:
If you're missing the credentials necessary to connect to your data source,
try inviting your teammates to Hightouch. You can have unlimited collaborators
in your workspace.
Waiting for credentials to your data warehouse? No problem. You can connect to one of our sample databases to get started right away. For the rest of this tutorial, we'll use our demo Postgres database, which contains a users table with names, emails, locations, and other user attributes. This sample source is available when you log in for the first time—no setup required.
Next, we'll write a SQL query to define which profiles and list subscriptions should be synced to Courier.
In Hightouch, a model represents a query that filters or transforms the records in your data source. Models are used to determine exactly which records to sync between sources and destinations.
When you connect to a data warehouse, your models will probably be written in SQL. You can also import models from tools like dbt and Looker.
In this example, we'll keep it simple. Suppose you want to use Courier to send notifications only for your customers located in the city of Nashville. To accomplish this, you'll want to create a model that looks like this:
SELECT*FROM users WHERE location ='Nashville';
Click on Models in the left sidebar
Click on Add model in the top right corner
Select Demo Database as your source and click Continue to proceed
Select SQL Editor as your modeling method
Paste the SQL query from above into the editor on the left side of the page
Click Preview to execute the query
Click Continue to proceed
Give your model a name and unique slug (for example, "Users in Nashville" and users-in-nashville)
Select ID as the primary key for your model
Click Finish to create your model.
We just created a model using a SQL query that filters our users table down to only those located in Nashville. Next, we'll configure our sync to add these users to Courier.
Make sure you've configured your destination to use the correct Courier environment API key. There may be quite a few so you might've accidentally copied the wrong one. If that doesn't solve your issue, . We're happy to help.
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.