Skip to main content
Use Slack as a messaging channel for your agent. Users can DM or @mention the bot. Novu keeps thread context, shows typing and plan cards during the turn, can attach files on replies, and can post Approve / Deny cards before gated tools run. Connect it from the Setup section.

Capabilities

Full matrix: Channels overview.

Examples

Inbound thread

A user @mentions the agent in a thread. Novu adds an eyes reaction, shows typing and a plan card while the agent runs tools, then replies in the same thread with optional action buttons.

Tool approval

When a tool is gated, Slack shows a native approval block (Deny, Approve once, Always allow this tool). The handler resumes after the user selects an option.

Create a Slack app

When the dashboard or CLI asks for a Slack App Configuration Token:
  1. Open Slack API apps.
  2. Under Your App Configuration Tokens, click Generate Token.
Generate Slack token
  1. Select your workspace and click Generate.
  2. Copy the token (starts with xoxe.xoxp-) and paste it into Novu or the CLI.
  3. Finish the install / Allow flow in Slack.
Install app The configuration token is used once to create the Slack app. Novu does not store it.

Distribute to other workspaces

A Slack app only works in the workspace where it was created. Users in any other workspace are blocked when they click your connect button until you enable Public Distribution.
  1. Open your app in Slack API apps.
  2. Go to Manage Distribution.
  3. Complete the checklist and click Activate Public Distribution.
Novu does not turn this on for you. Public Distribution is a manual setting in Slack, and the app manifest that Novu generates leaves it off.

Setup

Connect component

Use SlackConnectButton from @novu/react so end users can install the Slack app and link it to your agent from your product UI. Render it on an authenticated page and pass the signed-in user’s id as subscriberId. See Connect components in production.
Props and appearance options: Connect components.

Reply

Plain text, markdown, and interactive cards.

Typing indicator

Custom status text while the handler runs.

Tool approval

Approve / Deny before tools execute.

Edit sent messages

Update a sent message in place.

Connect components

SlackConnectButton props and appearance.