In-app UI
Overview

Building in-app UI with Knock

Learn about the in-product experiences you can build with our APIs and SDKs.

In-app messaging

Overview

In addition to delivering to out-of-app channels such as email, push, SMS, and chat apps like Slack, you can also use Knock to build great in-app messaging experiences.

You can power any kind of in-app message with Knock, whether it’s transactional messages such as in-app feeds, notification centers, or toasts, or lifecycle-based messages such as banners, modals, or tags.

Knock enables you to deliver these in-app messages to your users in your own native product UI, while the content of those messages is drafted from the Knock dashboard.

Knock also provides an orchestration layer to determine who receives those messages, when they receive them, and where in your product those messages are rendered.

Knock differs from other customer messaging platforms by separating the content and presentation of in-app messages, all while providing the orchestration engine and infrastructure to deliver them.

See a live demo

Feeds and guides

Knock supports two different types of in-app channel depending on the experience you're looking to build.

  • Feeds. A type of in-app channel that returns a per-user list of in-app messages to render in a feed-based UI.
  • Guides. A type of in-app channel that renders a single in-app message to a user when they visit a specific page in your application.

You can learn more about the difference between feeds and guides in our feeds vs guides overview.

Why build in-app experiences on Knock?

  • Real-time ready. Our in-app API comes ready with websocket support, no infrastructure setup required.
  • No data modeling required. We handle all of the common cases for you: accurate badge counts, polymorphic notifications, read, seen and archive tracking, and much more.
  • Build holistic experiences. Use the Knock workflow builder to create cross-channel notification experiences to power cases like "send to the in-app feed, if they don't see the feed message within 5 minutes then fallback to sending an email."
  • Complete APIs that are easy to use. We take all of the heavy lifting out of building APIs to support common in-app notification experiences, like preferences and feeds.
  • Drop-in components. We have components ready to help you get started with building in-app notification experiences in React.
  • Fully customizable. Whether you want to build a feed, toasts, a full-page inbox experience, or notifications that match your style guide, it's easy to customize the experience by overriding styles, or components, or building your own headless UI using our lower-level primitives.

Client SDKs available

We have the following SDKs available to use to build in-app notification experiences:

Under each client SDK, you'll find tutorials and references to help you get started.

Going to production

You'll need to follow our checklist on going to production for any in-app notifications using Knock. Most importantly you'll need to secure your requests to the Knock API for each user.