Slack permissions
When you install engineer9, Slack shows a consent screen listing everything the app can do. Here’s what each permission is actually for. The short version: engineer9 asks for what it needs to read the channels you choose, reply, and manage its own membership — nothing that lets it act outside the channels you’ve added.
Slack grants permissions at install time. When engineer9 adds a capability that needs a new permission, your workspace picks it up on the next reinstall — which is why a reinstall is occasionally the fix for a missing feature.
What engineer9 can do (bot permissions)
Section titled “What engineer9 can do (bot permissions)”| Permission | Why |
|---|---|
View messages in channels it’s added to (channels:history, groups:history) | Reading context in your chosen channels — the core of how it learns. Channel access is default-deny; these only apply to channels you add. |
Send messages (chat:write) | Replying when you mention it |
See mentions (app_mentions:read) | Knowing when it’s been asked something |
Join public channels (channels:join) | Joining the public channels you add — no manual invite needed |
List channels and members (channels:read, groups:read, users:read) | Powering the channel picker and the team roster |
Member emails (users:read.email) | Keying the roster by email so entries survive display-name changes |
Read DMs it’s part of (im:history) and start DMs (im:write) | Direct conversations with engineer9 |
View shared files (files:read) | Reading screenshots and files you share in added channels |
Add reactions (reactions:write) | Acknowledging messages (👀 while working, ✅ when done) |
What it can do on your behalf (installer permissions)
Section titled “What it can do on your behalf (installer permissions)”These act as you, only during setup flows:
| Permission | Why |
|---|---|
List your channels (channels:read, groups:read) | The channel picker shows private channels you belong to — the bot can’t see them until invited |
Invite to private channels (groups:write) | When you pick a private channel, engineer9 is invited using your access — Slack doesn’t let bots join private channels on their own |
Send messages (chat:write) | Posting scheduled messages you set up |
What it can’t do
Section titled “What it can’t do”- Read any channel you haven’t added — see Channels & access
- Join a private channel by itself — it must be invited (automatically via your access, or
/invite @engineer9) - Act outside Slack without your approval