@-mentionable groups, also called subteams). Once connected, Opal syncs the user groups and members in your Slack workspace and can add or remove members on your behalf. This supports the following, and more:
- Users can request time-bounded access to your Slack user groups.
- Reviewers can run access reviews to periodically confirm who has access to each group.
- All membership changes are tracked in a permanent audit log.
This is separate from the Slack productivity integration, which sends Opal notifications to Slack. The two are configured independently, and you can use either or both.
Requirements
- You must be an Opal administrator.
- Be on version 1.1170 or later, if you self-host Opal.
- You need a Slack app that you can configure and install. You’ll supply its OAuth client ID and secret to Opal.
- The person who authorizes the connection must be able to install the app and manage user groups in Slack. On Enterprise Grid, you can install the app org-wide to sync every workspace in the grid, or install it in a single workspace.
1. Create a Slack app and bot token
In the Slack API dashboard, create a new app (or use an existing one). Navigate to the OAuth & Permissions section in the Slack app configuration page, and add a Redirect URL that points to Opal, in the formathttps://<opal_url>/callback/slack-connection.
Under OAuth & Permissions, add the following Bot Token Scopes:
| Scope | Purpose |
|---|---|
usergroups:read | Read user group definitions |
usergroups:write | Add and remove members from user groups |
users:read | List workspace members |
users:read.email | Match Slack users to Opal users by email |
2. Create the Slack app in Opal
- Go to the Inventory page and click + App.
- Select the Slack app.
- Fill out the form: enter an App name, select an App admin to own the app in Opal. You can also add an optional Description (shown to people requesting access) and set the app’s Visibility.
- Click to create the app.
On Enterprise Grid, an org-wide install syncs every workspace in the grid. A single-workspace install syncs only that workspace.
What Opal syncs
- Users — workspace members that Opal can manage. Opal does not ingest deactivated accounts, bots, app users, the workspace Slackbot, or any user without an email address (Opal needs the email to match Slack users to Opal users).
- User groups — all user groups in the workspace, along with their members. Each group’s
@-handle is shown in its Opal description so you can tell how it’s mentioned in Slack.

