Sources in Knock
With Knock sources, you can integrate customer data platforms (CDPs) such as Segment and Rudderstack or reverse ETL platforms such as Hightouch and Census with Knock to trigger notification workflows, identify users, and automate other actions.
In general, each platform we support can do the following within Knock:
- Trigger workflows
- Identify (and update) users
Here are a few reasons why you might want to integrate a source with Knock to power your notification system, rather than making direct calls to the Knock API:
- Minimize engineering customization. If you already identify and track users with a customer data platform (CDP), you can import your users and events in minutes. Once your CDP is integrated with Knock, you can easily build notification workflows without needing time from engineering.
- Ensure consistency. CDPs make it easy to keep customer data synchronized between services, including Knock. Email, name, and other user trait updates can flow seamlessly into Knock without any engineering work.
Concepts
Sources
A source is any platform that can pass event and/or user data into Knock. These can be CDPs (such as Segment and Rudderstack) or reverse ETLs (such as Hightouch and Census.) The incoming events from these services can be used to orchestrate actions in Knock such as creating/updating users and triggering workflows.
Knock currently supports the following sources:
Need us to support another platform? Let us know!
You can configure sources from the Integrations > Sources page for your account. Initial creation of a source is managed at the account-level of your Knock account, though you'll configure any specific events and their mappings to your notification workflows within your Knock environments.
Per-environment source configuration
Each source has a unique configuration for every Knock environment in your account. This makes it possible to connect your Segment development environment to your Knock development environment. If you click on a source, you will see each environment configuration for that source.
Events
Knock tracks every event sent from a source. Although each source has its own event format, Knock will translate the incoming events from each source into a common format that includes the following fields:
user_id
. The ID of the user performing a given action (may not be set if a user has not been identified yet).data
. The primary contents of the event, e.g. for a Segmenttrack
with some associatedproperties
, Knock would use thoseproperties
to set thedata
field for the event.event
. The original event, as originally received by Knock.
Event-action Mapping
When a source sends an event to a Knock environment, Knock will match that event with any configured event-action mappings in that environment.
You can have any number of mappings for each event (e.g. if the same event should trigger more than one workflow). If there is no mapping matching that event, the event is logged but no action is taken.
After configuring a source in Knock and in the source itself (e.g. adding Knock as a destination in your CDP), events will start to flow into your Knock environment.
You can then select the event you want to trigger actions in Knock, and configure it accordingly.
Identifying users
For sources that support identifying users (such as Segment or Rudderstack with their identify
calls), each environment configuration for that source includes a setting to enable or disable identifying users. After creating an integration source, enable identifying users for that environment.
Note that Knock will correctly map name
, email
, avatar
, and phone
properties from Segment and Rudderstack identify
calls into Knock's user data model. All other tracked properties of a user will be stored as additional custom properties on the Knock user object, and can be used in templates and other parts of Knock that rely on user properties.
Event logs
Event logs show the contents of each event sent into Knock. Knock retains event Logs according to our data retention policy.
Action logs
Action logs describe what (if any) action was taken after an event was received. Action Logs are a helpful starting point when troubleshooting workflows or auditing what actions Knock has taken for any given event. Knock retains action logs according to our data retention policy.