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.
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
Go to api.slack.com/apps and click Create New App > From scratch. Name it (e.g. "Salmex") and select your workspace.
Go to OAuth & Permissions and add these bot token scopes:
app_mentions:read— receive @mentionschat:write— send messagesim:history— read DM historyim:read— access DM channelsim:write— open DMschannels:read— list public channelsgroups:read— list private channelsfiles:write— upload filesreactions:write— add reactionsusers:read— resolve display names
Click Install to Workspace and authorise. Copy the Bot User OAuth Token (starts with xoxb-).
Go to Basic Information and copy the Signing Secret. You'll need this in the next step.
Go to Event Subscriptions, toggle it on, and enter your webhook URL. Subscribe to these bot events:
message.im— direct messages to the botapp_mention— @mentions in channels
Slack will verify the URL automatically — Salmex I/O handles this for you.
2. Connect in Salmex I/O
Open the Channels page in Salmex I/O and click Add Slack. The wizard asks for:
Paste your bot token and signing secret. The app verifies the token and shows your bot's name.
Choose who can message the bot directly — specific people, everyone in the workspace, or nobody.
Choose which channels the bot responds in — specific channels, all channels (requires @mention), or none.
Review and connect. Your bot is live.
Access control
You control who can talk to your agent with two separate policies.
Direct messages
| Policy | Who can message |
|---|---|
| Allowlist (default) | Only people you've approved. |
| Open | Anyone in the workspace. |
| Disabled | DMs are turned off. |
Channels
| Policy | Where it responds |
|---|---|
| Disabled (default) | The bot doesn't respond in channels. |
| Allowlist | Only in channels you've specified. |
| Open | Any channel, when @mentioned or in a thread. |
When @mentioned in a channel, the agent replies in a thread to keep the main conversation clean.
What you can do
| Feature | Details |
|---|---|
| Text messages | Native Slack formatting — bold, italic, strikethrough, links, code |
| Files | Send and receive (up to 1 GB) |
| Threads | Full threading — replies stay in the thread |
| Reactions | Add and remove emoji reactions |
| Message editing | The agent can edit and delete its own messages |
| Typing indicator | Eyes emoji while thinking, removed when done |
| Approval buttons | Approve/Deny buttons for risky actions |
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.