How to integrate Hightouch with Knock

Getting started

Knock integrates with Hightouch as a downstream destination to sync customer and event data from your data warehouse.

Use cases

You can use our Hightouch integration to:

  1. Sync customer data into Knock from your data warehouse (identify)
  2. Trigger workflows from records added, changed, or removed in your data warehouse

Syncing customer data into Knock from Hightouch

You can use the HTTP request destination within Hightouch to sync your customer data from your data warehouse into Knock.

For this example, we're going to make a call to the Knock API users identify endpoint.

💡
Note: you can also extend this technique to make other calls to the Knock API from your Hightouch models to sync object data or trigger workflows. Please get in touch if you'd like any additional help.
  1. Create a new HTTP request destination and select your model to query from
  2. Set an Authorization header, with the value set to Bearer <your Knock secret API key>. You can find your secret API key in your dashboard under Developers > API keys
  3. Name your destination "Knock API"
  4. Create a new sync with your Knock API destination
  5. Select the types of events that should trigger, the most common case here is "Rows added"
  6. Set the HTTP request method to PUT and the URL to https://api.knock.app/v1/users/{{ row.user_id }} where {{ row.user_id }} corresponds to the user identifier in the table
  7. Select a "JSON" payload and "Use the JSON editor" to craft the request
  8. Add at least a name, email, or phone_number field from your users table
  9. For the rate limit, you can specify 1000 requests per second
  10. You'll likely want to "backfill" all of the available rows meaning that any existing data will also be synced to Knock
  11. Click "Continue"
  12. Select your sync frequency
  13. Click "Finish"

An example configuration for your sync may look something like this: