Slack signs users in with the workspace account they already have open all day. It suits internal tools and B2B products whose users live in Slack.

## Copy the redirect URI

In the [Authdog console](https://console.authdog.com), select the project and environment, open **Authentication > Providers**, find **Slack**, and click **Enable**. Copy the redirect URI shown in the form:

```url
https://identity.authdog.com/api/v1/callback/<connectionId>
```

## Create the Slack app

1. Open [Slack API apps](https://api.slack.com/apps) and select **Create New App**, then **From scratch**.
2. Name it and pick a development workspace.
3. Open **OAuth & Permissions**.
4. Under **Redirect URLs**, add the redirect URI from Authdog and save.
5. Under **User Token Scopes**, add `users.profile:read`.
6. Install the app to your workspace.
7. Open **Basic Information > App Credentials** and copy the **Client ID** and **Client Secret**.

> **Note**
>
> Add the scope under **User Token Scopes**, not Bot Token Scopes. Sign-in acts
> as the person authorizing, not as a bot user.

## Configure Authdog

| Field | Value |
| --- | --- |
| **Client ID** | From **Basic Information** |
| **Client Secret** | From **Basic Information** |

Save, then toggle the connection **active**.

## What Slack returns

Authdog requests `users.profile:read` and reads the profile from `https://slack.com/api/users.profile.get` — display name, real name, avatar, and the email on the workspace profile.

Slack identity is workspace-scoped. The same person in two workspaces is two different users to Slack, and to Authdog. If your product is per-workspace, that is exactly what you want; if it is per-person, link on the email address instead.

Workspaces controlled by an admin may restrict app installation, in which case an admin has to approve your app before anyone in that workspace can sign in. Plan for that on any distribution beyond your own workspace.

## Test it

1. Open your environment's hosted sign-in page, or link to `https://identity.authdog.com/api/v1/signin/<connectionId>`.
2. Select **Continue with Slack** and authorize.
3. Confirm the user appears under **Users** with the workspace email attached.

## Troubleshooting

| Symptom | Cause |
| --- | --- |
| `bad_redirect_uri` | The URI is missing from **Redirect URLs** |
| `invalid_scope` | The scope was added as a bot scope instead of a user scope |
| `missing_scope` on the profile call | The app was installed before `users.profile:read` was added — reinstall it |
| App requires approval | The target workspace restricts app installation |

## Related

| Read | To learn how to |
| --- | --- |
| [Connectors](/docs/connectors) | Set up any other social provider |
| [Enterprise SSO](/docs/sso) | Use the customer's identity provider for workforce sign-in |
