> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lumos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack (Messaging)

*Lumos offers two Slack connectors, each its own integration card. This article covers **Slack (Messaging):** the Lumos workspace app used for notifications, user/role visibility, license management, and user suspension. To also provision and deprovision users, user groups, teams, workspace roles, and channels through a Slack OAuth app you create, use [Slack Provisioning](/integrations/library/slack/slack-user-management). You can connect both. Slack Provisioning adds account and entitlement provisioning on top of Messaging.*

## After this article

You will be able to connect Slack to Lumos to sync users, roles, and user groups, enable Slack request/approval notifications, manage licenses, and suspend Slack user accounts, with the option to connect read-only for visibility and notifications only.

## Capabilities

| Functionality | Type | Sync | Provision | Description |
| - | - | - | - | - |
| Users | Account | Yes | Yes | Workspace members with status mapping (active → Active, deactivated → Suspended, removed → Deprovisioned). Creation adds a Full Member via SCIM using email, first and last name, Business+ plan or above, AppStore requests only. Adds a license |
| Roles | Permission | Yes | No | Workspace role (Workspace Primary Owner, Workspace Owner, Workspace Admin, Full Member, Invited Member, guest types). Billing Type (Paid/Free) on Enterprise Grid |
| User Groups | Permission | Yes | Yes | User group membership assignment/removal |
| Messaging / notifications | , | , | Yes | Request, approval, review, and offboarding notifications sent as the Lumos (AppStore) bot |

| Deprovisioning Action | Type | Description |
| - | - | - |
| Suspend | User | Deactivates the user in Slack and wipes all valid sessions on all devices. Requires Business+ plan or above. Reclaims a license |

Activity tracking is supported: Lumos syncs last-activity data (the last date a user posted a message or read a channel or DM). A blank value means the user had no Slack activity for at least 90 days before connecting, Slack only returns 90 days of history. Lumos caches earlier values. Lumos does not surface the Slackbot account, but other bots appear.

## Required plan and roles

* **Lumos plan:** no minimum plan needed.
* **Slack plan:** any plan can be connected for sync and notifications. Suspending Slack user accounts via Lumos requires the [Business+ plan](https://app.slack.com/plans) or above (suspension uses Slack's SCIM API, which is plan-gated). The `admin.*` scopes require Enterprise Grid.
* **Slack role:** the connecting user must be a [Workspace Admin](https://slack.com/help/articles/360018112273-Types-of-roles-in-Slack). On Enterprise Grid they also need **Org Admin/Org Owner** at the Organization level.

Bot Token scopes:

| Scope | Required | Description |
| - | - | - |
| [app\_mentions:read](https://api.slack.com/scopes/app_mentions:read) | Yes | View messages that directly mention @appstore in conversations the app is in |
| [chat:write](https://api.slack.com/scopes/chat:write) | Yes | Send messages as @appstore |
| [files:read](https://api.slack.com/scopes/files:read) | Yes | View files shared in channels and conversations Lumos has been added to |
| [files:write](https://api.slack.com/scopes/files:write) | Yes | Upload, edit, and delete files as Lumos |
| [im:history](https://api.slack.com/scopes/im:history) | Yes | View messages and content in direct messages Lumos has been added to |
| [im:write](https://api.slack.com/scopes/im:write) | Yes | Start direct messages with people |
| [links:read](https://api.slack.com/scopes/links:read) | Yes | View URLs in messages |
| [mpim:history](https://api.slack.com/scopes/mpim:history) | Yes | View messages and content in group direct messages Lumos has been added to |
| [users:read](https://api.slack.com/scopes/users:read) | Yes | View people in a workspace |
| [users:read.email](https://api.slack.com/scopes/users:read.email) | Yes | View email addresses of people in a workspace |

User Token scopes:

| Scope | Required | Description |
| - | - | - |
| [admin](https://api.slack.com/scopes/admin) | Yes | Administer a workspace (provides access to the Slack SCIM API used for user suspension and creation) |
| [admin.teams:read](https://api.slack.com/scopes/admin.teams:read) | Yes | Access information about a workspace (Enterprise Grid) |
| [admin.users:read](https://api.slack.com/scopes/admin.users:read) | Yes | Access a workspace's profile information (Enterprise Grid) |
| [users.profile:write](https://api.slack.com/scopes/users.profile:write) | Yes | Edit a user's profile information and status |
| [users:read](https://api.slack.com/scopes/users:read) | Yes | View people in a workspace |
| [users:read.email](https://api.slack.com/scopes/users:read.email) | Yes | View email addresses of people in a workspace |

*Read-only option:* if you do not allow admin scopes, choose the **Custom Scopes** version when connecting and remove `admin` and `users.profile:write` from the User scopes to disable provisioning/deprovisioning. If your workspace is not on an Enterprise plan, also remove `admin.users:read` and `admin.teams:read`. The remaining scopes still let Lumos read users and teams and send notifications. If you reconnect Slack with new scopes, you must revoke your previous OAuth token in Slack first, otherwise Slack won't request the new scopes.

## Instructions

**Phase 1: Connect in Lumos**

1. Find the Slack card in your Lumos integrations ([Reconnect](https://app.lumosidentity.com/integrations?tab=connected) or [add new](https://app.lumosidentity.com/integrations?tab=can_integrate)).
2. If your company is on the [Enterprise Grid](https://slack.com/resources/why-use-slack/slack-enterprise-grid) plan, check the **"Is Enterprise Grid?"** checkbox. Otherwise, leave it blank.
3. Click **Connect Slack**.
4. Choose the correct workspace in the Slack pop-up, then click **Allow**.
5. **Enterprise Grid only:** approve the Lumos app for your org and add it to any workspaces where you want to use it, see Slack's guidance for [approving an app for your org](https://slack.com/help/articles/360000281563-Manage-apps-on-Enterprise-Grid#approve-or-restrict-an-app) and [adding an app to workspaces](https://slack.com/help/articles/360000281563-Manage-apps-on-Enterprise-Grid#install-an-app-at-the-org-level). Complete the OAuth connection signed in as a Grid org admin.

A Slack workspace should only be connected via Slack (Messaging) to **one** Lumos tenant. Connecting the same workspace to multiple Production/Sandbox Lumos tenants causes issues with Slack actions.

**Phase 2: Enable notifications (optional)**

To enable Requestor/Approver Slack notifications and Requester↔Approver communication (requires Admin entitlements in Lumos): click **Settings** in the Lumos sidebar, then **Notifications**. Under **Channel Preferences**, toggle **Notify users via Slack** to On, then click **Save Preferences**. This setting is not retroactive, it applies only to new requests going forward.

The Lumos app in Slack is created with the name **"AppStore"** by default. To rename it, as a Slack admin open **Installed Apps**, select **Lumos**, click **App Details**, and on the **Configuration** tab edit the bot name under **Bot User**.

## API Endpoints Used

<Note>
  The API endpoints this integration uses are available to logged-in Lumos customers. [Log in](/login) to view them.
</Note>

## Troubleshooting

**Slack is connected but returns no users.** On Enterprise Grid, approve the Lumos app in Slack and add it to your workspaces (step 5 of the instructions). Also verify the users are active members (not guests or deactivated), the token has `users:read` and `users:read.email`, and users have completed Slack profile setup.

**Downgrading scopes is not working.** Slack's APIs do not support downgrading scopes by reconnecting. For **User Token** scopes, ask the Lumos team to revoke your current token, then reconnect. For **Bot Token** scopes, in Slack admin open **Installed Apps**, click **"..."** on the Lumos app row, choose **Uninstall from your organization**, then reconnect the integration in Lumos.

**The integration broke after migrating to Enterprise Grid.** Grid migration changes the workspace identity from a `team_id` to an `enterprise_id`, so the original connection no longer matches (slash commands and approvals fail with `dispatch_failed`, and reconnecting is blocked). Fully disconnect the Slack tile in Lumos, revoke the Lumos app's OAuth token and uninstall it in Slack admin, then reconnect with **"Is Enterprise Grid?"** checked, signed in as a Grid org admin. The fresh install creates a new bot, rename it via **Installed Apps → App Details → Configuration** if needed. If reconnecting still errors or two Slack tiles appear, contact support for identifier cleanup.

**`dispatch_failed` when using the Lumos Slack app (no Grid migration involved).** Make sure the user's Slack account is matched to the correct Lumos user. Matching issues cause this error. If that doesn't resolve it, uninstall the Slack app and reconnect to rule out installation issues.

**Multiple Slack workspaces connected, which one sends messages?** Lumos picks the Slack tenant with the most **active** (not suspended) users, even if another tenant has more total users.

**Requestors/approvers aren't receiving notifications.** Enable **Notify users via Slack** under **Settings → Notifications → Channel Preferences** (requires Admin entitlements). The setting is not retroactive. It only applies to new requests.

**"Missing required scope" or "Insufficient permissions".** Verify all required OAuth scopes were granted and reinstall the Slack app with the correct permissions.

**Rate limiting (429 Too Many Requests).** Slack enforces tiered API rate limits: Tier 2 (\~20 req/min for most endpoints), Tier 3 (\~50 req/min), Tier 4 (\~100 req/min for admin endpoints), and SCIM (\~180 req/min). The connector handles rate limiting automatically with backoff. Large workspaces simply sync more slowly.

**Fully uninstalling the Lumos Slack app.** In Slack, open the **Apps** section, click **Lumos**, right-click to open **App details → Configuration**, scroll to the end and click **Remove**, then confirm. After removal the `/appstore` slash command no longer appears and App home page notifications stop. Reconnect via the Slack card to restore them.

**Can I connect the same workspace to Production and Sandbox Lumos tenants?** No. A Slack workspace should only be connected via the Slack (Messaging) app to one Lumos tenant. Connecting to multiple tenants causes issues with Slack actions.
