Channel steps
A channel step within a workflow is the building block to produce a notification for a recipient. Channel steps house your notification templates and represent a notification to be delivered on a single channel type (e.g. email, push, SMS, in-app, etc).
For a channel step to be valid it must have a channel or channel group associated with it.
Channel step execution
When a channel step is executed Knock does the following:
- Runs through any step conditions to see if the step should be executed.
- Checks the recipient has the information required to send notifications via this channel. (e.g. for an email channel, do they have an
email
address set? For a push channel do they have the required channel data configured?) - Checks the recipient's preferences to see if they have opted out from receiving notifications on this channel or from this workflow.
- Checks the channel's send windows to see if the notification should be sent now or at a later time.
If the step continues, Knock will render the template associated with the step and enqueue a message to deliver to the provider via the configured credentials on the channel.
Channel support
You can read more about configuring channels in our integrations guide.
In-app notifications
The Knock Feed API gives developers a way to deliver in-app notifications to feeds, inboxes, and other notification-based experiences.
There are a few ways to power in-app notifications in your product using Knock:
- Use our React SDK. The Knock notification feed component provides real-time updates, pagination, badge behavior, filtering, and more. It's a great way to quickly add an in-app feed to your product if you use React.
- Leverage our client-side JS SDK. This is a good approach if you need to use a component library outside of React JS but are still in the JS ecosystem.
- Integrate with our API directly. If you're not working within the JS ecosystem in your client, you can integrate directly with the Knock Feed API to power your in-app notifications.
Out-of-app channels
We support notification delivery to the following out-of-app channel types: email, push, SMS, and 3rd-party chat apps (such as Slack). You can see a list of which providers we support within each channel type in the Integrations > Channels section of the Knock dashboard.