{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-agen-for-work/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["Notification","LightboxImage"]},"type":"markdown"},"seo":{"title":"Slack integration","siteUrl":"https://developers.frontegg.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"slack-integration","__idx":0},"children":["Slack integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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)."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Prerequisites","type":"attention"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A Slack workspace where you have permission to create and install apps"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Access to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://api.slack.com/apps"},"children":["Slack API console"]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-slack-app","__idx":1},"children":["Create a Slack app"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-1-open-your-apps","__idx":2},"children":["Step 1: Open Your Apps"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sign in to the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://api.slack.com/apps"},"children":["Slack API console"]}," with an account that belongs to the workspace where you want to install the app. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create an App"]}," at the top of the page."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-1.52331b4dd1086d1181c8e0ac26c8c6c3047c3c40407cf60ba07effd9f835a5d0.1ce25488.png","alt":"Slack API Your Apps page with Create an App highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-2-choose-from-scratch","__idx":3},"children":["Step 2: Choose From scratch"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create an app"]}," dialog, choose ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["From scratch"]}," to configure the app manually through the UI."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-2.5ae8e7581bc7a65a8d3af9fe5a8fd82e120495041851589d4036aa049c6d3b93.1ce25488.png","alt":"Create an app dialog with From scratch highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-3-name-the-app-and-pick-a-workspace","__idx":4},"children":["Step 3: Name the app and pick a workspace"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Enter an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["App Name"]}," (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Frontegg Integration"]},") and pick the Slack workspace you want to develop the app in. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create App"]},"."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Workspace is permanent","type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can't change the app's development workspace after creation. Pick the workspace whose data you want Frontegg to access."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-3.f45867c029eace3989f04f62f361f4d712b844bf9aa114351cd509535b00943b.1ce25488.png","alt":"Name app and choose workspace dialog with Create App highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-4-copy-the-client-id-and-client-secret","__idx":5},"children":["Step 4: Copy the Client ID and Client Secret"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After creation, you are taken to the app's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Basic Information"]}," page. Scroll to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["App Credentials"]}," section. Copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Show"]}," next to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," to reveal and copy the secret — you'll need both when configuring the Frontegg portal."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Keep your Client Secret safe","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Client Secret authenticates your Frontegg integration to Slack. Never share or commit it to version control."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-4.6b97f21d7eb304f10c0729b6f8eaeb49ecd14090114c22fe8c0ec1c4cb195bd3.1ce25488.png","alt":"Slack app Basic Information page with Client ID and Client Secret highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-oauth--permissions","__idx":6},"children":["Configure OAuth & Permissions"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-5-add-the-frontegg-redirect-url","__idx":7},"children":["Step 5: Add the Frontegg redirect URL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the left sidebar, click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OAuth & Permissions"]},". Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Redirect URLs"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add New Redirect URL"]}," and enter:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://YOUR_MCP_GATEWAY_URL/integration-callback\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add"]},", then ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save URLs"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-5.cb550051bbd22e270518a9c24d0456406c874fbc29b96842573c7950c5dd17db.1ce25488.png","alt":"OAuth & Permissions Redirect URLs section with Frontegg callback URL entered"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-6-confirm-the-saved-redirect-url","__idx":8},"children":["Step 6: Confirm the saved redirect URL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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 ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bad_redirect_uri"]},"."]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-6.c6b9c95d385834ad3f2e0ec6f12db4e25f2147e8de33321a267604837b4f1031.1ce25488.png","alt":"Redirect URLs section showing the saved Frontegg callback URL"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-7-open-the-user-token-scopes-section","__idx":9},"children":["Step 7: Open the User Token Scopes section"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Scroll down to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scopes"]},". Frontegg uses ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["User Token Scopes"]}," (not Bot Token Scopes) — Slack issues a user token that acts on behalf of the user who authorizes the app. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add an OAuth Scope"]}," under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["User Token Scopes"]},"."]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Use User Token Scopes, not Bot Token Scopes","type":"attention"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Frontegg requests user tokens via Slack's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["user_scope"]}," parameter. Scopes added under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Bot Token Scopes"]}," are not granted to the user token and won't be available to Frontegg."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-7.ee6322419585a65d3d9d71e57b317caf34d74b1155ebefbe8bcbdbcb34fa7bf2.1ce25488.png","alt":"Scopes section with User Token Scopes Add an OAuth Scope highlighted"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"step-8-select-user-token-scopes","__idx":10},"children":["Step 8: Select User Token Scopes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Type each scope name into the search box and select it from the dropdown. Select the following scopes:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scope"},"children":["Scope"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["users.profile:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View profile details about people in the workspace (required)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["users:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View people in the workspace (required)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["users:read.email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View email addresses of people in the workspace (required)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["channels:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View basic information about public channels"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["channels:history"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View messages and other content in public channels"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat:write"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send messages on the user's behalf"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["files:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View files shared in channels and conversations"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search:read"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Search the workspace's content"]}]}]}]}]},{"$$mdtype":"Tag","name":"Notification","attributes":{"title":"Add more scopes as needed","type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Slack supports many additional user scopes — for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["groups:*"]}," for private channels, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["im:*"]}," for direct messages, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reactions:*"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pins:*"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["reminders:*"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["admin.*"]}," scopes for org-wide actions. Add only the scopes your application needs."]}]},{"$$mdtype":"Tag","name":"LightboxImage","attributes":{"isLightbox":true},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/slack-8.098b8cf4f55470d41b3af75dd98a7a15b8b31750c436bbd1ae7769ea23a31de4.1ce25488.png","alt":"User Token Scopes list with the selected Slack scopes"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"configure-the-frontegg-portal","__idx":11},"children":["Configure the Frontegg portal"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once you have your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]},", enter them in the Frontegg portal:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Frontegg portal"]}," and navigate to [ENVIRONMENT] → Integrations → Slack."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client ID"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Client Secret"]}," in the corresponding fields."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the required ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["scopes"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":12},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.slack.dev/reference/methods"},"children":["Slack Web API methods"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.slack.dev/reference/scopes"},"children":["Slack OAuth scopes reference"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://docs.slack.dev/authentication/installing-with-oauth/"},"children":["Installing with OAuth (Slack)"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://api.slack.com/apps"},"children":["Slack API console"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/agen-for-work/connectors/redirect-url"},"children":["How to get your Redirect URL"]}]}]}]},"headings":[{"value":"Slack integration","id":"slack-integration","depth":2},{"value":"Create a Slack app","id":"create-a-slack-app","depth":3},{"value":"Step 1: Open Your Apps","id":"step-1-open-your-apps","depth":4},{"value":"Step 2: Choose From scratch","id":"step-2-choose-from-scratch","depth":4},{"value":"Step 3: Name the app and pick a workspace","id":"step-3-name-the-app-and-pick-a-workspace","depth":4},{"value":"Step 4: Copy the Client ID and Client Secret","id":"step-4-copy-the-client-id-and-client-secret","depth":4},{"value":"Configure OAuth & Permissions","id":"configure-oauth--permissions","depth":3},{"value":"Step 5: Add the Frontegg redirect URL","id":"step-5-add-the-frontegg-redirect-url","depth":4},{"value":"Step 6: Confirm the saved redirect URL","id":"step-6-confirm-the-saved-redirect-url","depth":4},{"value":"Step 7: Open the User Token Scopes section","id":"step-7-open-the-user-token-scopes-section","depth":4},{"value":"Step 8: Select User Token Scopes","id":"step-8-select-user-token-scopes","depth":4},{"value":"Configure the Frontegg portal","id":"configure-the-frontegg-portal","depth":3},{"value":"Additional resources","id":"additional-resources","depth":3}],"frontmatter":{"category":"Communication","displayName":"Slack","seo":{"title":"Slack integration"}},"lastModified":"2026-05-19T15:06:34.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/agen-for-work/connectors/marketplace/slack","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}