Skip to content

Slack ​

2 min read

Slack connects a bot to the channels and direct messages where it is present. It can reply in threads, exchange files, and present approvals; Slack validates every event before it reaches Kujira through the events URL and signing secret.

Prepare the application ​

Create a Slack application

From Your Apps, create an application for the right workspace and add a bot.

Set the minimum permissions

In OAuth & Permissions, add the scopes for the spaces where it will work: history access for channels, private groups, direct messages, or group direct messages; chat:write to reply; and files:read only when it must process files.

Install the application

Install it in the workspace and save the application's Bot User OAuth Token and Signing Secret. The token lets it operate as the bot; the secret validates that requests come from Slack.

Create the channel in Kujira

In the agent's Channels, add Slack and enter both values. Kujira displays an inbound URL for events.

Do not reuse another bot's token

Each application and workspace must have its own credentials. Store the token and Signing Secret only in Kujira or an authorized secret manager.

Configure events and interactions ​

In Event Subscriptions, enable events and paste Kujira's inbound URL as the Request URL. Slack verifies it before saving the configuration. Subscribe only to the events needed for the conversation types the agent will handle.

For approvals and other buttons, enable Interactivity & Shortcuts and use the same URL with the /interactive suffix. After changing scopes or events, reinstall the application in the workspace when Slack requests it.

See the relationship between events, scopes, and bots in Slack documentation.

Access depends on the channel ​

Slack delivers only activity the bot can see. Inviting it to a workspace does not automatically add it to every channel; add it explicitly to each public or private channel where it must work, and authorize those identifiers in Kujira too.

Public channels

Add the bot to the channel, subscribe to the appropriate message events, and keep the mention rule when it shares the channel with the team.

Private channels and direct messages

Invite the bot explicitly and grant only the essential history scopes. Review the allow list more carefully.

Check the integration ​

  1. Check that Slack accepted the Request URL.
  2. Invite the bot to an authorized channel and mention it.
  3. Verify that it can reply in the same thread or channel.
  4. If the message does not arrive, review subscribed events, the matching history scope, bot membership, and the allow list.
  5. If it arrives but cannot reply, review chat:write and channel permissions.

An empty allow list blocks incoming messages. External conversations are managed from Agent Desk.