Slack Permissions Scopes for the Round Robin Bot
You can learn about the different Slack permission scopes requested by our app, Round Robin, and what functionality they enable.
To use Round Robin in Slack, a Workspace Admin needs to install the app. When installed, the app will request access to different permission scopes that enable different functionality. By default, Round Robin requests the minimum scopes required for all product functionality.
Round Robin uses the latest version of the Slack API with Granular Bot Permissions.
app_mentions:read
The app:mentions.read scope is requested as a bot token. This scope lets Round Robin know when the bot is mentioned in a channel it's in and responds with the appropriate message.
channels:read and channels:manage
The channels:read and channels:write are requested as a bot token. The channels:read scope is required to allow the bot to view the channels list in the rotation management window and retrieve basic information about public channels in a workspace. We also use the scope to verify the type of channel the bot is interacting with, enabling proper communication with users. The channels:manage scope is needed to allow the bot to set the topic of a public channel with information related to the rotation.
chat:write and chat:write.public
The chat:write, and the chat:write.public scopes are requested as a bot token. The bot token allows Round Robin to post rotation messages in channels it was invited to and in other public channels it is not a member of.
commands
The commands scope is requested as a bot token. This scope enables using the /rr slash command plus the Slack Action.
groups:read and groups:write
The groups:read and the groups:write scopes are requested as a bot token. The groups:read scope is required to allow the bot to see the private channels it is a member of in the rotation management window. We also use the scope to verify the type of channel the bot is interacting with, enabling proper communication with users. The groups:write scope is needed to let the bot set the topic of a private channel that the member is a part of with the information related to the rotation.
team:read
The team:read scope is requested as a bot token. This scope allows the bot to read team information and listen to team events, for example, to update the team name in the web app when it changes.
usergroup:read and usergroup:write
The usergroup:read and usergroup:write scopes are requested as a bot token. The usergroup:read scope is needed to let the bot or the user list the current user groups to enable the assignment to a rotation. In contrast, the usergroup:write scope is used to edit user groups' names and compositions to manage the on-duty group feature.
users:read and user:read.email
The users:read and user:read.email scopes are requested as bot tokens. The users:read scope is required to allow the bot to list workspace users during rotation creation and editing. The user:read.email permission is needed for the bot to retrieve the user's email and store it for integration with external services, such as Pagerduty. No communication happens outside Slack. This feature is still under development.
team:read
The team:read scope is requested as a bot token. This scope allows the bot to read team information and listen for team-related events, for example, to update the team name in the web app when it changes.