Skip to main content

Documentation Index

Fetch the complete documentation index at: https://support.configview.com/llms.txt

Use this file to discover all available pages before exploring further.

ConfigView pulls Slack data through Slack apps that you create in your own account. Depending on your Slack plan, you may need one or two separate apps:
AppRequired forPlans
ConfigView (workspace app)Users, channels, user groups, custom emoji, files, channel membership, the /configview slash commandAll Slack plans
ConfigView Admin (org-level app)Workspaces inventory, per-workspace user membership, approved/restricted apps, app scopes, role assignments, information barriers, invite requestsSlack Enterprise Grid only
The two apps are intentionally separate because they install differently — the workspace app is installed per workspace and uses a bot token (xoxb-...), while the org-level app must be installed by an Org Owner across the entire Enterprise Grid and uses a user token (xoxp-...) with admin scopes that are not available to workspace-scoped apps. If you are on a single workspace plan, do Part 1 only. If you are on Enterprise Grid, do Parts 1 and 2. Part 3 (the /configview slash command) is optional and only needs the Part 1 app.

Part 1: Slack Workspace Ingestion

Set up the ConfigView workspace app so ConfigView can pull your workspace data (users, channels, user groups, custom emoji, recent files) into the dashboard.

Step 1: Create the ConfigView Slack App

  1. Go to: https://api.slack.com/apps
  2. Click Create New App
  3. Choose From scratch
  4. App Name: ConfigView
  5. Pick your workspace from the dropdown
  6. Click Create App

Step 2: Add Bot Token Scopes

  1. In the left sidebar, click OAuth & Permissions
  2. Scroll down to Scopes > Bot Token Scopes
  3. Click Add an OAuth Scope and add each of the following:
ScopePurpose
users:readRead workspace member profiles
users:read.emailRead member email addresses
channels:readList public channels and their membership
groups:readList private channels the bot is in
usergroups:readList user groups and their members
emoji:readList custom workspace emoji
files:readList recent files (governance / DLP visibility)

Step 3: Install the App to Your Workspace

  1. Scroll to the top of OAuth & Permissions
  2. Click Install to Workspace
  3. Review the permissions and click Allow
  4. Copy the Bot User OAuth Token (starts with xoxb-)
Keep this token safe. You will add it to ConfigView in the next step.

Step 4: Add the Token to ConfigView

  1. Go to your ConfigView dashboard: https://{companyname}.configview.com/admin/secret/
  2. Click Add Secret
  3. Secret name: SLACK_BOT_TOKEN
  4. Secret value: Paste the xoxb-... token you copied
  5. Click Save

Step 5: Enable the Workspace Scripts in ConfigView

  1. Go to: https://{companyname}.configview.com/admin/cron/
  2. You should see Slack in the list of available apps
  3. Select the scripts you want to run:
    • Users — All workspace members with email, admin status, 2FA, timezone
    • Channels — Public and private channels with member counts
    • Channel Members — Which users are in which channels
    • User Groups — Handle-based groups (e.g. @engineering)
    • User Group Members — Which users belong to which groups
    • Custom Emoji — All custom workspace emoji
    • Files (recent) — Files uploaded in the last 7 days
    • Bots — Bot user accounts and the apps that own them
  4. Click Save
Note: Channel Members depends on Channels; User Group Members depends on User Groups; Bots depends on Users. ConfigView wires these dependencies automatically — parent scripts always run first.

Step 6: Verify

  1. Go to: https://{companyname}.configview.com/admin/status/
  2. Run the Slack health check
  3. The workspace section should pass:
    • Secret Manager: SLACK_BOT_TOKEN
    • Slack bot auth
    • users.list scope
    • conversations.list scope
    • usergroups.list scope
    • emoji.list scope
    • files.list scope
If a check fails, verify:
  • The SLACK_BOT_TOKEN secret is saved correctly (no extra spaces)
  • The bot has been installed to the correct workspace
  • All scopes from Step 2 were added before installing
The admin sections of the health check will show Skipped until you complete Part 2. That is expected on non-Enterprise plans.

Workspace Data Tables

TableKey Columns
slack_usersslack_user_id, email, real_name, is_admin, has_2fa, deleted
slack_channelschannel_id, name, is_private, is_archived, num_members, creator
slack_channel_memberschannel_id, slack_user_id
slack_user_groupsgroup_id, name, handle, user_count
slack_user_group_membersgroup_id, slack_user_id
slack_emojiname, is_alias, alias_for, url
slack_filesfile_id, name, mimetype, size_bytes, user_id, is_public, created
slack_botsslack_user_id, bot_id, app_id, name, team_id, deleted
All tables include a run_at column for historical tracking.

Part 2: Slack Enterprise Grid Admin Ingestion

Skip this section if you are not on Slack Enterprise Grid. The endpoints below only work on Enterprise Grid plans and require admin scopes that are not available to workspace-scoped apps.
This part covers a separate, second Slack app installed at the Enterprise Grid org level by an Org Owner. It pulls org-wide governance data: every workspace, per-workspace user membership, approved/restricted apps and their OAuth scopes, role assignments, information barriers, and invite requests. You cannot add these admin scopes to the workspace app from Part 1 — admin scopes only become available when the app is created and installed at the org level.

Step 1: Create the ConfigView Admin Slack App

  1. Sign in to Slack as an Org Owner (this is required to see org-level options)
  2. Go to: https://api.slack.com/apps
  3. Click Create New App
  4. Choose From scratch
  5. App Name: ConfigView Admin
  6. Pick your Enterprise Grid org from the dropdown (not an individual workspace)
  7. Click Create App
If the dropdown only shows individual workspaces and not your org, you are not signed in as an Org Owner. Contact your Slack admin to either sign in themselves or grant you Org Owner privileges.

Step 2: Add User Token Scopes (Admin)

  1. In the left sidebar, click OAuth & Permissions
  2. Scroll down to Scopes > User Token Scopes (not Bot Token Scopes)
  3. Click Add an OAuth Scope and add each of the following:
ScopeUsed by
admin.teams:readWorkspaces inventory + workspace admins
admin.users:readPer-workspace user membership
admin.apps:readApproved apps, restricted apps, app requests, app scopes
admin.conversations:readOrg-wide conversations inventory
admin.roles:readRole assignments (admin / owner / etc.)
admin.barriers:readInformation barriers
admin.usergroups:readUser group → channel mappings
admin.invites:readPending invite requests
This app does not need any bot token scopes. The admin endpoints are user-token-only.

Step 3: Install at the Org Level

  1. Scroll to the top of OAuth & Permissions
  2. Click Install to Organization (the wording will say “Organization”, not “Workspace”, because you created the app at the org level)
  3. Review the admin permissions and click Allow
  4. Copy the User OAuth Token (starts with xoxp-)
Note: The token is a user token tied to whichever Org Owner installs the app. If that person leaves the company, the token may stop working. Use a dedicated service account (an Org Owner account owned by IT, not a personal account) wherever possible.

Step 4: Add the Admin Token to ConfigView

  1. Go to: https://{companyname}.configview.com/admin/secret/
  2. Click Add Secret
  3. Secret name: SLACK_ADMIN_USER_TOKEN
  4. Secret value: Paste the xoxp-... token you copied
  5. Click Save
Both SLACK_BOT_TOKEN (from Part 1) and SLACK_ADMIN_USER_TOKEN need to coexist. The Slack scripts pick whichever token the endpoint requires.

Step 5: Enable the Admin Scripts in ConfigView

  1. Go to: https://{companyname}.configview.com/admin/cron/
  2. In the Slack section, enable the additional admin scripts:
    • Workspaces (Admin) — Every workspace in the Enterprise Grid org
    • Workspace Admins — Which users are admins of each workspace
    • Org Users (per Workspace) — User-to-workspace membership matrix
    • Approved Apps — Apps approved org-wide or per workspace, with their OAuth scopes
    • Restricted Apps — Apps explicitly restricted org-wide or per workspace
    • App Requests — Pending install requests
    • App Scopes — Normalized table of every (app, scope) pair, with sensitivity flag
    • Conversations (Org-wide) — Channels visible across the entire org
    • Role Assignments — Admin/Owner/etc. role grants
    • Information Barriers — Configured barriers between user groups
    • User Group Channels — Channels each user group is auto-added to
    • Invite Requests — Pending invitations awaiting approval
  3. Click Save
Most admin scripts depend on Workspaces (Admin) so the org’s workspace list is available to iterate. App Scopes depends on Approved Apps + Restricted Apps. ConfigView handles all of this automatically.

Step 6: Verify

  1. Go to: https://{companyname}.configview.com/admin/status/
  2. Run the Slack health check
  3. The admin section should now pass:
    • Secret Manager: SLACK_ADMIN_USER_TOKEN
    • Slack admin auth
    • admin.teams.list scope
    • admin.apps.approved.list scope
    • admin.apps.restricted.list scope
    • admin.apps.requests.list scope
    • admin.conversations.search scope
    • admin.roles.listAssignments scope
    • admin.barriers.list scope
If a scope check fails, the most common cause is that the scope was added in Bot Token Scopes rather than User Token Scopes. Re-check Step 2, then reinstall to the organization for the change to take effect.

Tuning: Files window

The Files (recent) script (Part 1) defaults to the last 7 days. If you want a wider or narrower window, set the environment variable on the server:
SLACK_FILES_WINDOW_DAYS=30
Larger windows produce significantly more rows; start at 7 and widen only if needed.

Admin Data Tables

TableKey Columns
slack_admin_teamsteam_id, name, domain, email_domain, is_verified, date_created
slack_admin_team_adminsteam_id, slack_user_id
slack_admin_usersslack_user_id, team_id, email, is_active, is_admin, has_2fa, datetime_last_login
slack_admin_apps_approvedapp_id, app_name, team_id, scope_type, scopes_json, date_updated
slack_admin_apps_restrictedapp_id, app_name, team_id, scope_type, scopes_json, date_updated
slack_admin_apps_requestsrequest_id, app_id, requester_email, team_id, message, date_created
slack_admin_app_scopesstate (approved/restricted), app_id, scope_name, is_sensitive, token_type
slack_admin_conversationschannel_id, name, conversation_type, member_count, is_org_shared, is_ext_shared
slack_admin_roles_assignmentsrole_id, entity_type, entity_id, user_id
slack_admin_barriersbarrier_id, primary_usergroup_id, barriered_from_usergroup_ids_json
slack_admin_usergroup_channelsusergroup_id, channel_id, team_id
slack_admin_invite_requestsrequest_id, email, team_id, requester_user_id, date_created
All tables include a run_at column for historical tracking.

Part 3: Slack Bot (Query Runner)

Run ConfigView queries directly from Slack using the /configview slash command. This uses the ConfigView workspace app from Part 1, not the admin app.

Step 1: Add Bot Scopes

  1. Go back to: https://api.slack.com/apps
  2. Select your ConfigView app (the workspace app from Part 1)
  3. Go to OAuth & Permissions > Bot Token Scopes
  4. Add the following additional scopes:
ScopePurpose
chat:writePost messages to channels
commandsEnable slash commands
  1. You will be prompted to reinstall the app. Click Reinstall to Workspace and approve.
Important: After reinstalling, the bot token stays the same. You do not need to update the secret in ConfigView.

Step 2: (Optional) Add Signing Secret

The signing secret lets ConfigView verify that incoming requests are genuinely from Slack.
  1. In your Slack app settings, go to Basic Information
  2. Scroll to App Credentials
  3. Copy the Signing Secret
  4. In ConfigView, go to https://{companyname}.configview.com/admin/secret/
  5. Add a secret: Name: SLACK_SIGNING_SECRET, Value: paste the signing secret
This is optional but recommended for production use.

Step 3: Enable the Slash Command

  1. In the left sidebar, click Slash Commands
  2. Click Create New Command
  3. Fill in:
    • Command: /configview
    • Request URL: https://{companyname}.configview.com/api/slack/command
    • Short Description: Run ConfigView queries
    • Usage Hint: [help | run <query_id>]
  4. Click Save

Step 4: Enable Interactivity

This lets users click the “Run” buttons in the query list.
  1. In the left sidebar, click Interactivity & Shortcuts
  2. Toggle Interactivity to On
  3. Set Request URL to: https://{companyname}.configview.com/api/slack/interaction
  4. Click Save Changes

Step 5: Invite the Bot to a Channel

  1. Open the Slack channel where you want the bot to post (e.g. #configview-alerts)
  2. Type: /invite @ConfigView
Create a dedicated channel like #configview-alerts to keep query results organized.

Step 6: Mark Queries as Slack-Enabled

  1. Go to: https://{companyname}.configview.com/admin/query/
  2. Open a saved query and click Save
  3. Toggle Enable for Slack bot to on
  4. Fill in the Slack summary — this is the description users see when browsing queries in Slack
  5. Click Save

Step 7: Test It

  1. Open the Slack channel where the bot was invited
  2. Type: /configview
  3. You should see a list of slack-enabled queries with Run buttons
  4. Click Run on a query — the bot posts the results to the channel
You can also run a query directly by ID:
/configview run 42
Or get help:
/configview help

Bot Commands

CommandAction
/configviewList all slack-enabled queries with Run buttons
/configview run <id>Run a specific query by ID and post results
/configview helpShow available commands

Message Format

The bot posts formatted messages with:
  • Query name as the header
  • Row count summary
  • Table of results (up to 10 rows, 6 columns)
  • Truncation notice if results exceed the display limit

Troubleshooting

IssueFix
/configview says “not found”Verify the Slash Command Request URL matches your ConfigView domain
Bot posts nothing on button clickCheck the Interactivity Request URL is correct
”channel_not_found” errorVerify the channel name — no # prefix, exact spelling
”not_in_channel” errorThe bot must be invited to private channels with /invite @ConfigView
”not_authed” or “invalid_auth”Verify SLACK_BOT_TOKEN secret is correct in ConfigView
Query results are emptyCheck that the query works in the ConfigView Query page first
Messages stop after app reinstallToken should persist, but re-check SLACK_BOT_TOKEN if issues occur
Admin scripts return not_allowed_token_typeThe endpoint needs a user token. Verify you used SLACK_ADMIN_USER_TOKEN (Part 2), not SLACK_BOT_TOKEN
Admin scripts return missing_scopeAdd the scope listed in Part 2 Step 2 under User Token Scopes, then reinstall the admin app to the organization
Admin scripts return not_an_enterpriseThe org-level app isn’t installed on Enterprise Grid. Either the customer isn’t on Enterprise Grid (skip Part 2 entirely) or the app was created against a single workspace instead of the org — recreate per Part 2 Step 1