Skip to content
Last updated

Slack integration

Integrating Slack with Frontegg allows your application to read user profiles, browse channels and conversations, post messages, manage files, and search across a Slack workspace — all through Frontegg's integration layer using Slack OAuth v2 (user tokens).


Prerequisites

  • A Slack workspace where you have permission to create and install apps
  • Access to the Slack API console

Create a Slack app

Step 1: Open Your Apps

Sign in to the Slack API console with an account that belongs to the workspace where you want to install the app. Click Create an App at the top of the page.

Slack API Your Apps page with Create an App highlighted

Step 2: Choose From scratch

In the Create an app dialog, choose From scratch to configure the app manually through the UI.

Create an app dialog with From scratch highlighted

Step 3: Name the app and pick a workspace

Enter an App Name (for example, Frontegg Integration) and pick the Slack workspace you want to develop the app in. Click Create App.

Workspace is permanent

You can't change the app's development workspace after creation. Pick the workspace whose data you want Frontegg to access.

Name app and choose workspace dialog with Create App highlighted

Step 4: Copy the Client ID and Client Secret

After creation, you are taken to the app's Basic Information page. Scroll to the App Credentials section. Copy the Client ID and click Show next to Client Secret to reveal and copy the secret — you'll need both when configuring the Frontegg portal.

Keep your Client Secret safe

The Client Secret authenticates your Frontegg integration to Slack. Never share or commit it to version control.

Slack app Basic Information page with Client ID and Client Secret highlighted

Configure OAuth & Permissions

Step 5: Add the Frontegg redirect URL

In the left sidebar, click OAuth & Permissions. Under Redirect URLs, click Add New Redirect URL and enter:

https://YOUR_MCP_GATEWAY_URL/integration-callback

Click Add, then Save URLs.

OAuth & Permissions Redirect URLs section with Frontegg callback URL entered

Step 6: Confirm the saved redirect URL

The Redirect URL now appears in the list. Verify the URL matches your Frontegg MCP Gateway exactly — a mismatch will cause the OAuth flow to fail with bad_redirect_uri.

Redirect URLs section showing the saved Frontegg callback URL

Step 7: Open the User Token Scopes section

Scroll down to Scopes. Frontegg uses User Token Scopes (not Bot Token Scopes) — Slack issues a user token that acts on behalf of the user who authorizes the app. Click Add an OAuth Scope under User Token Scopes.

Use User Token Scopes, not Bot Token Scopes

Frontegg requests user tokens via Slack's user_scope parameter. Scopes added under Bot Token Scopes are not granted to the user token and won't be available to Frontegg.

Scopes section with User Token Scopes Add an OAuth Scope highlighted

Step 8: Select User Token Scopes

Type each scope name into the search box and select it from the dropdown. Select the following scopes:

ScopeDescription
users.profile:readView profile details about people in the workspace (required)
users:readView people in the workspace (required)
users:read.emailView email addresses of people in the workspace (required)
channels:readView basic information about public channels
channels:historyView messages and other content in public channels
chat:writeSend messages on the user's behalf
files:readView files shared in channels and conversations
search:readSearch the workspace's content

Add more scopes as needed

Slack supports many additional user scopes — for example groups:* for private channels, im:* for direct messages, reactions:*, pins:*, reminders:*, and admin.* scopes for org-wide actions. Add only the scopes your application needs.

User Token Scopes list with the selected Slack scopes

Configure the Frontegg portal

Once you have your Client ID and Client Secret, enter them in the Frontegg portal:

  1. Open the Frontegg portal and navigate to [ENVIRONMENT] → Integrations → Slack.
  2. Enter the Client ID and Client Secret in the corresponding fields.
  3. Select the required scopes.
  4. Click Save.

When a user authorizes the integration, Slack will prompt them to choose the workspace where the app should be installed and to approve the requested scopes.

Additional resources