Skip to content
AtomicReps
Docs
Home

Scopes

The permissions we request

Eight minimal bot scopes. Each row carries the sentence Slack shows you on the consent screen, what the scope lets us do, and what stops working without it.

Slack OAuth bot scopes
Scope, and what Slack calls itWhy we request itWhat breaks without it
channels:read

Slack says: “View basic information about public channels in your workspace

List public channels so you can choose where reps post.No channel picker for public channels.
groups:read

Slack says: “View basic information about private channels that Atomic Reps has been added to

List the private channels you are in so you can target one.You could not point the daily rep at a private channel.
users:read

Slack says: “View people in your workspace

Map Slack users to workspace members so an answer counts toward the right person.We could not credit an answer to the right member.
users:read.email

Slack says: “View email addresses of people in your workspace

Read the email to link a Slack identity to an account (the email-match claim gate). Never read at install. We fetch an email one person at a time, when the installer claims the workspace or a member first answers.No automatic linking; the free-tier claim gate could not verify the installer.
chat:write

Slack says: “Send messages as @atomicreps

Post the daily rep into your channel, and edit it to close at the end of the day.The bot cannot post, so no daily rep reaches your channel.
chat:write.public

Slack says: “Send messages to channels @atomicreps isn't a member of

Post to the channel you chose even if nobody has invited the bot to it.You would have to /invite the bot to a channel before it could post there.
im:write

Slack says: “Start direct messages with people

Send direct messages: DM-mode daily questions and apprentice updates.No DM delivery; /reps mute would have nothing to turn off.
commands

Slack says: “Add shortcuts and/or slash commands that people can use

Register the /reps slash command, the entry point for practice, stats, and help.No /reps command.

No message-history scopes

We do not request any message-history scope (channels:history, im:history, or similar). We never read message content from your channels or DMs. The only input we process is the answer you submit through our interactive components.

This is the same set documented on the Security page and decoded line by line on the Slack page. An automated parity test checks it against the published Slack app manifest, so the scopes you approve on the consent screen are exactly the scopes listed here. For the fields each scope moves, see data flows.