Skip to content

Slack

One Slack app connects your workspace to Fontana. You create that app from the manifest on AI → Chat Channels (/ai/channels), install it to the workspace, and paste two tokens. Fontana reads the workspace id from the bot token and stores both tokens in your tenant Vault.

People message the Slack app. A new conversation starts with the default agent you pick on the connection. An existing Slack thread keeps the agent already on that thread. Other agents can post through the same connection under their own name. A line at the bottom of each reply names the sender.

  1. On AI → Chat Channels, choose Add Slack connection.
  2. Choose Create app from this manifest, or copy the YAML and, at api.slack.com/apps, choose Create New App → From an app manifest.
  3. Slack app manifests are documented at docs.slack.dev/app-manifests.
  4. Install the app to your workspace.

The manifest sets the app name from your environment and tenant, turns on Socket Mode, and requests the bot scopes and events Fontana uses. If the app already exists, paste the updated manifest under App Manifest and reinstall so the name, posts, and button clicks match.

  1. Open the app at api.slack.com/apps.
  2. Go to OAuth & Permissions.
  3. Copy Bot User OAuth Token. It starts with xoxb-.
  4. Paste it into Bot User OAuth Token on the Fontana form.

This token is the app’s permission to read and post in your workspace. After you change scopes, reinstall the app and paste the new token.

Scopes from the manifest include direct messages (im:history, im:read, im:write, message.im) and channel mentions. Copying an existing channel thread also uses channels:history and groups:history. Diagram images use files:write. The Slack ability’s tools also use channels:read, groups:read, and users:read.

The manifest does not create this token.

  1. On the Slack app, open Basic Information → App-Level Tokens.
  2. Generate a token with scope connections:write.
  3. Copy the token. It starts with xapp-.
  4. Paste it into App-Level Token on the Fontana form.

Socket Mode uses this token. Connected on the Chat Channels row means that Socket Mode handshake succeeded.

Connection name is the label on the Chat Channels row.

Default agent answers a new Slack conversation. A thread that already has an agent keeps that agent.

Direct messages from linked people reach the agent. In a channel, the agent replies when someone mentions it, except in channels you list as free response. After the agent is in a thread, later messages can continue without another mention, or the connection can require a mention each time.

Mentioning the agent inside an existing Slack thread copies that thread into one Fontana conversation. A mention on a channel message that is not already in a thread starts from that message. Later messages are added from the last point already copied, and the reply is posted back in that thread.

Each linked person’s question runs with their permissions and spending cap. Messages from people who have not linked an account stay in the transcript. The agent replies to linked people. An @mention from someone who has not linked receives the link invite: they open the Flow link, sign in, and claim the code on AI → Chat Channels.

On the Slack connection, and again on an agent’s Slack ability, you set:

Setting What it does
Channel whitelist Channels and direct-message partners the agent may use. An empty whitelist allows no channel. A direct message is allowed when that person’s id is on the list. A channel name (#team or team) and that channel’s id allow the same channel.
Free-response channels Channels where a mention is not required to start.
Thread replies Whether a thread continues without another mention.
Who may invoke the agent Fontana users, bots, or both.

Settings on the agent’s Slack ability start as Using inherited value and replace the connection when you set them. You also choose which Slack connection that agent posts through. When you leave that blank, Fontana uses the connection that agent owns, or the connection owned by your default chat agent.

When the Slack ability is off, or the channel is outside the whitelist in effect, Slack receives a short explanation and the agent does not start.

On a Slack row, Test hello opens a direct message to your linked Slack user, or to a Slack member id you enter, and posts a short message. That checks chat:write and im:write before a full agent turn.

The Slack ability lets the agent post and reply in Slack, and speak a short answer aloud. Invite the bot to any channel it should read or post in. Teams is a separate ability: people chat with that agent’s own Teams bot. See How to integrate Fontana Agents with MS Teams.

Enabled means Fontana may run the connection. Connected means Socket Mode is up. Invite the bot, and reinstall after scope changes, before you treat a channel as ready.