Slack

Slack experience

Slack is the richest of the external channels. Employees get an assistant that lives in their own Slack sidebar, streams answers as they are generated, and can be pulled into a channel conversation by name — with almost none of the trade-offs the other messaging channels carry.

This page covers what the experience looks like once the channel is live. For credentials, scopes and app installation, see Slack setup.

How employees start a conversation

There are three entry points, and they behave differently.

Entry pointWhat happens
Direct message to the Leena AI appThe standard one-to-one conversation. Everything the assistant can do is available here.
Assistant tab (if enabled)Slack's dedicated AI surface. Adds a History tab for past conversations and lets the assistant reply in the main chat rather than in a thread.
@mention in a channel or group DMThe assistant answers publicly or moves the conversation to a DM, depending on how sensitive the answer is.

The @mention flow has its own behaviour worth reading separately — see Group Chat Agent for Slack.

📘

The Assistant tab is worth turning on

Without it, the assistant replies inside a thread on the user's own message, which reads as clutter in a busy DM. With it, employees get a purpose-built panel and a history list. It is a toggle in the Slack app configuration, not a Leena AI setting.

What the @mention flow looks like

When someone tags the assistant in a channel, private channel or group DM:

  1. A short placeholder appears in the channel so everyone can see the request was picked up.
  2. The assistant reads a bounded window of recent conversation for context — roughly the last six hours or up to 30 messages in a channel, or the thread replies if the mention was inside a thread.
  3. The full answer streams into a direct message with the person who asked.
  4. The channel placeholder is then replaced with either the answer itself, or a short note saying the conversation is continuing in a DM.

Whether the answer goes public or private is decided per response, based on what was asked. A payroll question gets redirected; a "where's the travel policy" question can safely stay in the channel.

Follow-up questions in that DM stay connected to the original channel conversation, so employees don't have to re-explain themselves.

⚠️

Slack Connect channels are not supported

Mentions in shared or external Slack Connect channels are ignored. The assistant only responds inside your own workspace.

How responses are formatted

Responses are rendered with Slack's native Block Kit rather than posted as raw text, so formatting survives:

  • Headings become real Slack header blocks. Because header blocks are plain text, bold and italic markers inside a heading are dropped.
  • Lists render as bullets or numbered items, with continuation lines indented under their marker.
  • Horizontal rules render as a visible separator line.
  • Tables are converted to Slack's native table elements. Wide or complex tables that Block Kit can't hold are rendered as an image instead.
  • Disclaimers appear as a quoted block below the answer rather than as plain trailing text.

One caveat: in streamed messages, Slack's streaming API can't emit header blocks, so headings render as bold text during streaming.

Streaming and thinking state

When streaming is enabled, answers appear token by token rather than arriving as a finished block. Alongside the text, the assistant shows thinking steps — small task cards that reveal what it is doing as it works, such as which knowledge source it is searching or which tool it is calling.

Card titles and detail text are plain text and capped, so long reasoning is trimmed in the card. The full prose is restored in the final message once the response completes.

If you're rolling this out, check Network requirements for streaming responses — corporate proxies that buffer responses will make streaming look broken.

Interactive elements

Slack has the most generous limits of any external channel:

ElementLimit
Characters per message2,999
Buttons20
Menu items20
Cards in a carousel20
Buttons per row3 (extra buttons wrap to a new row)
Heading text150 characters

"Menu", "Back" and "More" options are always moved to the end of a button group and styled as primary buttons, so their position stays predictable across every answer.

Webviews — raising a ticket, filling a workflow form, searching the employee directory — open as native Slack modals rather than pushing the user out to a browser. This is the single biggest reason Slack feels close to the Web App.

Files and media

Employees can send files and attachments to the assistant, and the assistant can send them back.

Files the assistant sends are delivered through short-lived private links, so a URL copied out of Slack stops working shortly afterwards. That's intentional — it prevents a document link pasted into a public channel from becoming a permanent leak.

When a notification carries both a message and a file, the two are merged into a single Slack message with the text as the file comment. They stay as two separate messages when the text contains a table, when the message has buttons attached, or when the combined text goes over the character limit.

Notifications

Notifications reach employees as direct messages from the Leena AI app, so they inherit whatever Slack notification preferences the employee has already set — including do-not-disturb and mobile push. There is no separate opt-in and no messaging window to work around.

The assistant can also message employees who have never interacted with it, which matters for company-wide announcements.

Compared with the Web App

CapabilityWeb AppSlack
Parallel conversationsMultiple named chats with auto-generated titlesSlack threads; the Assistant tab adds a history list
Message lengthNo limit — long answers get a Read more control2,999 characters, longer answers split across messages
Buttons / menu items10 / 620 / 20
TablesRendered nativelyNative table blocks, image fallback for complex tables
WebviewsFull-page in-appNative Slack modals
Typing indicatorYesNo — replaced by thinking steps during streaming
Read receiptsYesNo
Voice callYesNo
Side menu and navigationYesNo — everything is driven by conversation and buttons
Branding and themeConfigurableAvatar and app name only; Slack controls the theme
Language selectionIn-app settingFollows the assistant's language detection

The honest summary: Slack loses the persistent navigation, theming and voice calling, and gains a place employees are already in all day.

Things to tell your employees

  • Long answers arrive as more than one message. The buttons always sit on the last one.
  • Links to documents expire. Open them when they arrive rather than saving them for later.
  • Tagging the assistant in a channel may move the answer to a DM. That's deliberate, not a failure.
  • The assistant only sees recent messages in a channel — it isn't reading the channel's full history.

Setting up the channel

Full installation steps, required scopes, the app manifest and workspace member sync are covered in Slack setup.


Did this page help you?