Integrations overview
You can use Knock to power sophisticated cross-channel notification workflows for your end users.
We support the following channel types today:
- Email (such as Sendgrid, Postmark)
- Push (such as APNS, FCM)
- SMS (such as Twilio, Telnyx)
- Chat (such as Slack, Microsoft Teams, and Discord)
- In-app (such as feeds, toasts, banners)
Full list of supported channel providers
Per environment channel configurations
Unlike most parts of the Knock model, your channels live at the account-level. This means that when you create a new channel in Knock (say, SendGrid), you only have to create it once.
Once a channel is created, you can then configure it for each of your environments. There are a couple reasons we enable per-environment configuration for each channel.
- If you use different instances of a service for each of your environments, you can use the respective API key of each within your different Knock environments.
- You can provide environment-level config details to your channels. A common example is to add the suffix "(dev)" to the "From name" on all emails sent in your development environment.
If you want to use the exact same configuration for a given channel across all environments, you can use the "Copy from" button to duplicate your configuration across environments.
Sandbox mode
Sometimes you don't want a message to be sent in a local or testing environment, but you do want the ability to debug your messages and see what might have gone out.
Sandbox mode enables you to generate and preview messages for a given channel, without sending them to your downstream provider for delivery. Sandbox mode is great for when you want to test a channel's output, but want your messages to end up at /dev/null
instead of sending live notifications.
Sandbox mode is supported across all channel types and can be enabled from the environment configuration view of a channel.
Channel groups
You may encounter a use case where you consistently want to send the same template to two providers across all of your workflows. Push is a good example. If you're sending notifications directly to iOS and Android devices (through APNS and Firebase, respectively), you don't want to have to replicate templates across channel steps for each of those providers in all of your workflows.
Channel groups solve this problem. With a channel group, you can combine multiple providers into a single channel that you can use to send the a single notification template across multiple providers. As an example, I could have a "Push" channel group that hosts my connections for APNS and FCM, then use that single "Push" step for any workflows where I want to notify users across my mobile apps.
Note: Channel groups is currently in beta. If you'd like access, please reach out via the feedback button at the top of this page and we'll enable it for you.
Supported channel providers
Here are the providers we currently support across each channel type within Knock. We're adding more each week. If you want us to add a new provider to this list, please let us know through the feedback button at the top of this page.