Reach your customers where they work

Message your users in Slack and Microsoft Teams, with setup, permissions, and delivery handled for you.

######RRampAPPChris submitted a reimbursementReimbursement requestHotel room for company offsiteApproveRejectchat messagechannel
An isometric drawing of a team chat app, with a chat message built from blocks rising above the channel.

Send chat messages to Slack, Microsoft Teams, Discord, and WhatsApp

Connect your chat provider(s) and use Knock to trigger DMs and replies via audience membership, product events, and API calls, with full deliverability and engagement analytics at your fingertips.

An API call batches activity for ten minutes, then a chat step sends one template to Slack, Microsoft Teams, Discord, or WhatsApp. Each send adds a new message, with a title, a summary, and a button, to the end of a team channel.

Granular control over every DM and reply sent

Knock gives you granular control over chat delivery, with templates, workspace connections, and channel routing managed in one place.

Read the docs
  • One template, every app

    Write a chat template in markdown and Knock converts it for Slack, Microsoft Teams, Discord, and WhatsApp. Use JSON for Block Kit or Adaptive Cards when you need a richer layout.

  • SlackKit and TeamsKit

    Embed React components that enable your customers to connect their Slack workspace or Microsoft Teams and choose the channels your app posts to.

  • Channels and direct messages

    Store channel data on an object to post to a channel, or on a user to send a direct message. Knock skips the step when a recipient has no channel data.

  • Advanced sending functions

    Batch, delay, and throttle chat messages in one workflow, so a burst of activity becomes one message in the channel instead of ten.

  • Connections per tenant

    Scope each Slack or Teams connection to a tenant, so every customer's workspace receives only its own notifications.

  • Understand every interaction

    Track delivery and link clicks, and trace each chat message from trigger to delivery in the message logs.

Launch chat message flows with a prompt

Pick your agent and a use case, then use the prompt to build it.

Your agent

Use case

Your prompt

Prompt

Based on what we're building, add SlackKit from Knock to our settings page so each customer can connect their Slack workspace and pick a channel for notifications.

mcpdocs.knock.app/ai/mcp-servercli

All starter prompts, for people and agents

Connect your agent to the Knock MCP server at https://mcp.knock.app/mcp, or install the Knock CLI with npm install -g @knocklabs/cli. Then use any prompt below.

Connect Slack (Lifecycle)

Based on what we're building, add SlackKit from [Knock](https://knock.app) to our settings page so each customer can connect their Slack workspace and pick a channel for notifications.

New signups (Lifecycle)

When a new account signs up. Based on what we're building, create a workflow using [Knock](https://knock.app) that posts a chat message to our internal Slack channel with the account name and plan.

Approval request (Transactional)

When a request needs approval. Based on what we're building, create a chat message using [Knock](https://knock.app) for the approver in Slack, with a button that links to the request.

Mentions (Transactional)

When someone is mentioned in a comment. Based on what we're building, send them a Slack direct message using [Knock](https://knock.app) right away, and an email instead if they haven't connected Slack.

Incident alert (Transactional)

When an incident opens. Based on what we're building, create a workflow using [Knock](https://knock.app) that posts to each affected customer's Microsoft Teams channel with the severity and a link to the status page.

Comment digest (Product)

When a post gets new comments. Based on what we're building, create a workflow using [Knock](https://knock.app) that batches them for 10 minutes and posts one chat message per post instead of one per comment.

Deploy status (Product)

When a deploy finishes or fails. Based on what we're building, create a workflow using [Knock](https://knock.app) that posts the status and a link to the logs to the team's chosen Slack channel.

Weekly activity (Product)

Based on what we're building, create a workflow using [Knock](https://knock.app) that posts a weekly recap of team activity to each customer's connected Slack channel.

Feature launch (Promotional)

Based on what we're building, create a broadcast using [Knock](https://knock.app) that sends a Slack direct message announcing a new feature to users who opted in to product updates.

Messaging infrastructure you can trust

99.99% uptime

We run Knock as critical infrastructure for your product.

Scaled delivery

Knock delivers hundreds of millions of messages per month.

Dedicated success

Our team helps you plan, build, and launch your messaging.

Secure access

Security is standard with support for SSO, RBAC, and SCIM.

HIPAA badge

HIPAA

Verified
SOC2 badge

SOC2

Verified
GDPR badge

GDPR

Verified
CCPA badge

CCPA

Verified

Frequently asked questions

Knock sends chat messages to Slack, Microsoft Teams, Discord, and WhatsApp. One chat template can send to more than one of them.

No. Knock is an orchestration layer that sits on top of chat providers like Slack, Microsoft Teams, and Discord. You connect the provider you already use, and Knock sends each message through it, with workflows, broadcasts, and templates in one place.

Write a chat template in markdown and Knock converts it to each app's markup. For richer layouts, write JSON for Slack Block Kit or Microsoft Teams Adaptive Cards.

SlackKit is a set of React components and hooks in @knocklabs/react that enable your customers to connect their Slack workspace to your product and choose the channels to send notifications to. It includes SlackAuthButton, SlackAuthContainer, and SlackChannelCombobox, and stores each workspace connection on a Knock tenant.

TeamsKit applies the same approach to Microsoft Teams. Its React components and hooks enable your customers to connect your Teams bot and pick the teams and channels to send to. TeamsKit needs a Microsoft Graph API app alongside the bot.

Yes. Store Slack channel data on a user to send direct messages, or on an object to send to a channel. If a recipient has no channel data for the chat channel, Knock skips the step.

Yes. Knock sends to Discord through an incoming webhook or a bot. Message components, such as buttons, need a bot.

Knock sends Slack messages built with markdown or Block Kit. It doesn't support Slack modals, slash commands, or interactive dialogs.

Yes. With link tracking on, Knock records clicks on links in chat messages. Short links are opt-in for Slack, Microsoft Teams, and Discord, and on by default for WhatsApp.

Chat messages count toward the same message allowance as every other channel. The Free plan is $0 per month and includes 10,000 messages per month. The Starter plan is $250 per month and includes 50,000 messages, then $0.005/ea. Enterprise plans use volume-based pricing.

A message is one message delivered to one user on one channel. Knock doesn't charge for workflow triggers, for messages that a user's preferences suppress, or for messages that bounce or fail.