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

# Admin & Permissions

> Review the permissions Neo needs in Slack, how admins manage the workspace connection, and how channel-level behavior works.

This page is for workspace admins, Neo team admins, and anyone reviewing the Slack app from a security or governance perspective.

## Admin Responsibilities

Slack in Neo has two layers of administration:

* **Slack workspace administration** for approving the app installation in Slack
* **Neo team administration** for managing the workspace inside Neo (reconnect, disconnect, channel-level controls)

<Note>
  Any authenticated Neo user can start the connection. If they don't yet have a Neo team, Neo auto-creates one named after the Slack workspace and makes them admin. Once a workspace is tied to a Neo team, only that team's admins can reconnect or disconnect it. Non-admin team members can use Neo in Slack but cannot manage the workspace connection.
</Note>

## Why Neo Requests These Permissions

Neo needs enough Slack access to read the conversation it is responding to, post back into the same thread, handle attachments, and support app-native assistant behavior.

### Core Interaction Scopes

* `app_mentions:read`
* `assistant:write`
* `chat:write`
* `im:write`

These let Neo:

* detect when users bring Neo into a conversation
* participate in assistant-style Slack experiences
* post replies and status back into Slack
* open a direct-message channel with a user when Neo needs to deliver a completion summary or follow-up question

### Channel And Conversation Reading Scopes

* `channels:history`
* `channels:read`
* `groups:history`
* `groups:read`
* `im:history`
* `im:read`
* `mpim:history`

These let Neo:

* read the thread or conversation it is working in
* understand channel context
* respond correctly in public channels, private channels, DMs, and group DMs

### File Handling Scopes

* `files:read`
* `files:write`

These let Neo:

* read attached files when users include them in a request
* return generated artifacts or supporting files back into Slack

### User Context Scopes

* `users:read`
* `users:read.email`

These let Neo:

* map Slack users to the right Neo user or team context
* enforce the right access model for the requesting user

### Task Control Scopes

* `reactions:write`
* `reactions:read`

These let Neo:

* add or manage reaction-based workflow controls where needed
* detect supported abort reactions on running tasks

## Event Subscriptions

Neo uses Slack events to drive the integration behavior.

Current event subscriptions include:

* `app_home_opened`
* `app_mention`
* `app_uninstalled`
* `assistant_thread_context_changed`
* `assistant_thread_started`
* `message.channels`
* `message.groups`
* `message.im`
* `message.mpim`
* `tokens_revoked`
* `reaction_added`

These events let Neo:

* initialize the app home and assistant experience
* detect mentions and new user requests
* process DMs, group DM messages, and react to mentions in public and private channels
* react safely when tokens are revoked or the app is uninstalled
* support reaction-based task aborts in running threads

In public and private channels, Neo only acts when explicitly mentioned. Plain messages in those channels are subscribed to but ignored unless they include `@Neo`. In DMs and group DMs Neo responds to direct messages without an explicit mention.

For reaction-based task cancellation, Neo needs:

* `reaction_added` event subscription
* `reactions:write` bot scope (to add status reactions on the trigger message)

If your workspace installed Neo before those were added, reinstall or reconnect the app so Slack sends the new events.

## Channel Behavior

Neo does not behave identically everywhere.

### DMs

DMs are always the cleanest way to work with Neo:

* the conversation is already scoped
* there is no channel-level ambiguity
* users can interact without worrying about channel policy

### Channels

In channels, Neo behavior depends on channel configuration and how the conversation is started.

Admins should expect:

* channel use to be controlled from Neo settings where applicable
* disabled channels to reject requests with a clear message
* thread continuity to be preserved for active work

## User Access Expectations

A connected Slack workspace does not automatically mean every user can use Neo equally.

Neo still evaluates:

* user-to-Neo identity mapping
* team context
* feature access such as Neo AI entitlement

Slack-created tasks are also associated with the connected Neo team, so visibility and follow-up in Neo remain team-specific rather than private to the individual Slack sender.

If a user lacks the necessary access, the integration can reject the request even when the workspace itself is connected correctly.

## Reconnect And Reinstall Guidance

Admins should reconnect or reinstall when:

* Slack access was revoked externally
* the workspace previously disconnected in Neo
* new scopes or events were added to the app
* reaction-based abort or other newly shipped behavior is not working in an older install

## Reviewer Summary

Neo uses Slack permissions to do a focused set of things:

* read the conversation it is asked to work on
* reply in the correct thread
* handle user-provided files
* map users to the correct Neo context
* support assistant-native Slack behavior
* stop active tasks via supported reactions

For operational recovery and common admin issues, see [Slack Troubleshooting](/integrations/slack-troubleshooting).
