Today we're introducing TeamsKit, a complete toolkit for integrating Microsoft Teams as a notification channel into your product.
We built TeamsKit as an abstraction on the Microsoft Bot Framework and Graph APIs. TeamsKit makes it simple for you to send product notifications to your most important customers, without having to learn the finer points of building Teams applications.
Together with SlackKit, this launch makes Knock the most comprehensive notification infrastructure for product and engineering teams looking to reach enterprise customers where they work.
Why Microsoft Teams matters
Slack is the popular choice for tech startups and its initial growth was impressive. However, since 2019 Teams has surpassed Slack in usage and now has over 320 million monthly active users.
Despite the large engagement opportunity that the Teams install base presents to companies, the amount of work associated with building on top of Teams often deters developers from shipping an integration.
First, you need to learn two separate APIs. There's the Bot Framework API, which is used to send notifications as a Microsoft Teams bot, and there's the Microsoft Graph API, which is used for retrieving a list of teams or a list of channels on behalf of a Microsoft Entra tenant.
You also have to grok all of the Teams-specific implementations of OAuth, app scoping, and advanced templating that you may be familiar with from Slack, all while navigating a Microsoft tenancy model that is foreign to many SaaS companies that have not grown up on the Microsoft suite.
To learn more about the complexities of building on top of the Microsoft Teams developer platform and the abstractions we built on top of it, watch our interview with Matt Mikolay, the engineer behind TeamsKit.
What's included in this release
TeamsKit is set of pre-built components and low-level primitives that help you build Microsoft Teams integrations.
You can use TeamsKit to send a direct message to a single user in Teams, or to broadcast a public message to many users in public channels. TeamsKit handles the complexity of OAuth, token management, and resource modeling.
Pre-built components
Today we're shipping two new embeddable UI elements that make it frictionless to integrate with Teams.
First, our <MsTeamsAuthButton />
component handles authorization and token management. This component maps a tenant in your product to a customer's Microsoft Entra tenant.
Next, our <MsTeamsChannelCombobox />
component handles team and channel selection. This component enables your customers to select the team and channel to connect to a resource in your product that emits notifications to Teams. We handle the state management in fetching these channels from your customer's Teams instance.
Headless TeamsKit
If you prefer to build your own components, we expose React hooks, client functions, and API endpoints to use in your Teams integration. These are the same primitives we use in our pre-built TeamsKit components.
Learn more about using TeamsKit headlessly in our documentation.
Sending notifications to Teams with Knock
Once you’ve connected to your customer's Teams instance, you can use Knock to design, build, and send your Microsoft Teams notifications.
Knock’s powerful template editor enables you to create Teams notifications in markdown. For more complex notifications, you can write JSON templates using Team’s adaptive card format.
Sending notifications to Teams 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 combine a tenant ID with the recipient's channel data to send notifications to the correct channel within a Microsoft Entra tenant.
Build for the enterprise with TeamsKit
TeamsKit is available today to all Knock customers. You can start integrating by signing up for a free Knock account and by reading our documentation.
To learn more about building notifications for the enterprise, read our articles below:
- The notifications you need to be enterprise ready. Learn about using business chat to send notifications to your largest customers. This includes Teams and Slack notifications for customer support, security threats, project collaboration, and more.
- How to think about Slack and Teams as notification channels. Read about how to design business chat notifications that will help, not overwhelm your customers. This article explains how to make business chat notifications that are real time, collaborative, and interactive.