SlackKit UI components and editor

Today we’re releasing SlackKit, a suite of embeddable UIs and APIs that make it simple to integrate your product with Slack and send notifications where your customers work.

Behind the scenes, SlackKit manages your OAuth connection and tokens, helps your customers select which channels they want to receive notifications in, and integrates seamlessly with the rest of Knock.

Shipping a Slack integration has never been easier.

Integrating Slack notifications into our app at Aleph was a critical step in enhancing user engagement, and Knock proved to be the perfect fit for the job. In less than a week, we seamlessly integrated Knock Slack integration, thanks to its exceptional developer experience, ready to use UI components, and responsive support team. The ease of implementation exceeded our expectations, freeing up valuable time for product development.

Mateo Kruk
Mateo KrukSenior Software Engineer at Aleph

Why Slack matters as a notification channel

Slack is more than just a messaging platform; it is a central hub for work collaboration and communication for over 700,000 companies. Integrating your product with Slack lets you deliver important information where your customers work. This improves visibility and responsiveness to actions happening in your product and increases overall engagement.

Building Slack integrations is hard

While Slack offers a powerful platform for work collaboration, building integrations with it can be a complex and time-consuming process. Developers must navigate a maze of OAuth and token management, handle resource modeling, and wrestle with template management. This complexity can deter many teams from creating integrations. Enter SlackKit.

What’s included in SlackKit

SlackKit is a comprehensive suite that aims to simplify integrating your product with Slack. Here’s what’s included in this release.

Embeddable UIs

We built two new embeddable UI elements to make integrating Slack with your application a breeze:

  • <SlackAuthButton /> handles brokering the OAuth connection between your customer’s Slack workspace and your product. It then manages the connection status and bot tokens for you
  • <SlackChannelCombobox /> provides a channel picker that lets your customers select one or more channels to send their notifications to. It also handles fuzzy searching, selection, and persistence of selected channels for you.
SlackKit UI components

These pre-built UI elements are easily customizable to tweak colors, spacing, typography and more via CSS variables. They’re also built with accessibility and internationalization out of the box.

We also provide a headless option, where you can leverage React hooks to build custom UI experiences, backed by the data provided by Knock with minimal effort. That makes it easy to seamlessly integrate SlackKit into your existing design system.

A new set of Slack-specific APIs

Powering our embeddable UI elements are new APIs to securely store Slack tokens, handle authentication, and query Slack channels. These APIs provide a complete Knock-managed Slack experience and can be used outside of our provided embeddable UI experiences.

SlackKit API routes

If you’re already self-managing Slack connections, either in Knock, or via your own implementation, it’s easy to incrementally migrate to SlackKit’s managed offering, or to use Knock to power delivery only.

Effortlessly send Slack notifications

Once you’ve connected your customer’s workspace to Slack, you can use Knock to design, build, deliver, observe, and improve your Slack notifications.

Knock’s powerful template editor lets you create Slack notifications in markdown, or for more complex notifications, you can craft JSON templates using Slack’s BlockKit framework.

Sending notifications to Slack is as easy as triggering a workflow in Knock. Behind the scenes, Knock’s workflow engine will apply routing rules and preferences, render the notification template, and invoke Slack’s chat.postMessage API for you with the correct tokens provided.

Get started today

SlackKit is available today to all Knock customers. You can start integrating by reading our documentation or by checking out our example application. Get started with a free Knock account, which gives you 10,000 notifications sent for free per month.