Channels

Slack

Bring your agent into Slack — DM it directly, @mention it in channels, and get threaded replies with file sharing.

Overview

Your Salmex I/O agent joins your Slack workspace as a bot. DM it for private conversations, @mention it in any channel, or let it respond to threads. It formats messages natively for Slack and handles files up to 1 GB.

Screenshot: Slack conversation with the agent
Public URL required

Slack needs to reach your server over the internet. See the Remote Access guide if you're running locally.

Setup

There are two parts: creating a Slack app in your workspace, then connecting it in Salmex I/O.

1. Create a Slack app

Create the app

Go to api.slack.com/apps and click Create New App > From scratch. Name it (e.g. "Salmex") and select your workspace.

Add permissions

Go to OAuth & Permissions and add these bot token scopes:

  • app_mentions:read — receive @mentions
  • chat:write — send messages
  • im:history — read DM history
  • im:read — access DM channels
  • im:write — open DMs
  • channels:read — list public channels
  • groups:read — list private channels
  • files:write — upload files
  • reactions:write — add reactions
  • users:read — resolve display names
Install to workspace

Click Install to Workspace and authorise. Copy the Bot User OAuth Token (starts with xoxb-).

Copy the signing secret

Go to Basic Information and copy the Signing Secret. You'll need this in the next step.

Subscribe to events

Go to Event Subscriptions, toggle it on, and enter your webhook URL. Subscribe to these bot events:

  • message.im — direct messages to the bot
  • app_mention — @mentions in channels

Slack will verify the URL automatically — Salmex I/O handles this for you.

Screenshot: Slack app configuration

2. Connect in Salmex I/O

Open the Channels page in Salmex I/O and click Add Slack. The wizard asks for:

Bot credentials

Paste your bot token and signing secret. The app verifies the token and shows your bot's name.

DM policy

Choose who can message the bot directly — specific people, everyone in the workspace, or nobody.

Channel policy

Choose which channels the bot responds in — specific channels, all channels (requires @mention), or none.

Confirm

Review and connect. Your bot is live.

Screenshot: Slack setup wizard in Salmex I/O

Access control

You control who can talk to your agent with two separate policies.

Direct messages

PolicyWho can message
Allowlist (default)Only people you've approved.
OpenAnyone in the workspace.
DisabledDMs are turned off.

Channels

PolicyWhere it responds
Disabled (default)The bot doesn't respond in channels.
AllowlistOnly in channels you've specified.
OpenAny channel, when @mentioned or in a thread.
Threaded replies

When @mentioned in a channel, the agent replies in a thread to keep the main conversation clean.

What you can do

FeatureDetails
Text messagesNative Slack formatting — bold, italic, strikethrough, links, code
FilesSend and receive (up to 1 GB)
ThreadsFull threading — replies stay in the thread
ReactionsAdd and remove emoji reactions
Message editingThe agent can edit and delete its own messages
Typing indicatorEyes emoji while thinking, removed when done
Approval buttonsApprove/Deny buttons for risky actions
Screenshot: Threaded reply in Slack

Approvals

When the agent wants to do something risky, it sends a message with Approve and Deny buttons. Tap a button to respond — the agent resumes or adjusts based on your decision.

Screenshot: Approval request in Slack