Data warehouse sync
You can bring your notification analytics from Knock into your own data warehouse so that you can analyze it alongside the rest of your data. This is an enterprise-only feature. To set up this sync, please contact our support team.
How it works
Knock leverages Prequel to integrate with your data warehouse. There is no self-service UI to connect your account to start receiving data; instead when you contact us to set up a sync we'll send you a secure link to fill in the information about your data warehouse. Once it's connected, you'll begin receiving a backfill of historial data, and then going forward you will receive the most up to date data on an ongoing basis.
Setup
First, you'll have to give Knock your database type and host destination address for your data warehouse. The databases supported as destinations for Knock are those listed on Prequel.
Next, Knock generates a magic link you'll fill out. See what information you'll need for your particular database here.
Once the information is filled out, you can run a test connection to make sure it's wired up. If it's successful, you can save it and it will proceeed with the backfill transfer.
Available data
Our data warehouse connector syncs data from our messages
table. Each message
represents a notification that was executed for a single recipient. You can read more about messages as a concept here. Below is a description of the columns included in the table and the data type of each. To see how this data type will map onto the data types of your destination table, check the destination type mapping in the Prequel docs.
Messages table structure
Name | Type | Description |
---|---|---|
message_id | string | The unique identifier for this message and the primary key for this table |
account_id | string | The UUID of the message's account |
environment_id | string | The UUID of the message's environment |
environment_name | string | The name of the message's environment |
environment_slug | string | The slug of the message's environment |
channel_id | string | The UUID of the channel the message was sent on |
channel_key | string | The unique key of the channel the message was sent on |
channel_name | string | The name of the channel the message was sent on |
channel_provider | string | The provider for the channel the message was sent on |
channel_type | string | The type of channel the message was sent on |
workflow_id | string | The UUID of the version of the workflow that the message belongs to |
workflow_key | string | The unique key of the workflow the message belongs to |
step_ref | string | The reference of the step on the workflow that the message belongs to |
recipient_id | string | The ID of the recipient for the message |
recipient_type | string | The type of recipient for the message, can be a user or an object |
tenant_id | string | The tenant associated with this message |
exec_mode | string | The execution mode of the workflow. Possible values are:
|
message_status | string | The latest delivery status of a message. |
inserted_at | timestamp | The timestamp of when the message was created |
updated_at | timestamp | The timestamp of when the message was last updated |
archived_at | timestamp | The timestamp of when the message was archived |
seen_at | timestamp | The timestamp of when the message was seen |
read_at | timestamp | The timestamp of when the message was read |
clicked_at | timestamp | The timestamp of when a link in the message was clicked |
interacted_at | timestamp | The timestamp of when the message was interacted with |
has_been_seen | integer (0 = false, 1 = true) | Whether the message has been seen |
has_been_read | integer (0 = false, 1 = true) | Whether the message has been read |
has_been_clicked | integer (0 = false, 1 = true) | Whether a link in the message has been clicked |
has_been_interacted | integer (0 = false, 1 = true) | Whether the message has been interacted with |
has_been_archived | integer (0 = false, 1 = true) | Whether the message has been archived |
See possible engagement statuses for a message.