sladm — Slack Admin CLI for humans and AI agents
CLI & Agent Skill for managing Slack Enterprise Grid / Business+ workspaces via admin.* APIs.
日本語版 README
130 commands covering admin.* and standard Slack APIs: teams, users, conversations, apps, invite-requests, workflows, functions, scim-users, scim-groups, auth-policy, barriers, emoji, roles, usergroups, and token management
Agent Skill — ships with a Claude Code / Codex skill so AI agents can drive Slack admin tasks using the CLI as a tool
Bulk operations — archive, delete, or move hundreds of channels at once with conversations bulk-*
Output formats — table (human), JSON (programmatic), TSV (pipe-friendly)
Multi-org support — switch between orgs with --profile, tokens stored in OS keychain
Note: This CLI is in alpha. Use at your own risk. Only a subset of features have been verified.
Requires Bun runtime:
npm install -g sladm-cli
# or
bun install -g sladm-cli
Or run directly without installing:
npx sladm-cli --help
# or
bunx sladm-cli --help
Standalone binaries (no runtime required) are available on the Releases page:
Platform
File
macOS (Apple Silicon)
sladm-darwin-arm64
macOS (Intel)
sladm-darwin-x64
Linux (x64)
sladm-linux-x64
Linux (arm64)
sladm-linux-arm64
Windows (x64)
sladm-windows-x64.exe
# Example: download and install on macOS (Apple Silicon)
curl -L https://github.com/yamitzky/slack-admin-cli/releases/latest/download/sladm-darwin-arm64 -o sladm
chmod +x sladm
sudo mv sladm /usr/local/bin/
To use this CLI as an agent skill in Claude Code, Cursor, OpenCode, etc.:
npx skills add yamitzky/slack-admin-cli
When the skill is active, agents automatically use sladm commands for Slack admin operations, with per-command-group recipes providing API reference context.
Create an app at Slack API and grant the required admin.* scopes (see Required Scopes ).
sladm token add default xoxp-your-token-here
sladm token status
sladm teams list
# Invite as a full member
sladm users invite --team-id T024XCDSF --email new-member@example.com \
--channel-ids C01ABCD2EFG
# Invite as a single-channel guest
sladm users invite --team-id T024XCDSF --email guest@partner.com \
--channel-ids C01ABCD2EFG --is-ultra-restricted true
# Find the user
sladm scim-users list --filter ' email eq "leaving@example.com"'
# Deactivate their account (org-wide, via SCIM API)
sladm scim-users deactivate --id U02T7QBTFGA
sladm token add production xoxp-prod-token # Add profile
sladm token add staging xoxp-staging-token # Add another
sladm token list # List profiles
sladm token remove staging # Remove profile
Tokens are stored in the OS keychain (macOS Keychain / Linux Secret Service). Falls back to ~/.config/sladm/.token-<name> if keychain is unavailable.
sladm --profile production teams list # Via flag
SLADM_PROFILE=staging sladm teams list # Via env var
Priority: --profile flag > SLADM_PROFILE env var > default profile
If you only have one profile, --profile is not needed.
All data-returning commands support three output formats:
sladm teams list # Table (default)
sladm teams list --json # JSON
sladm teams list --plain # TSV (for scripting)
Command
Description
token add <NAME> <TOKEN>
Add profile
token list
List profiles
token remove <NAME>
Remove profile
token status
Check token status
Command
Description
teams create
Create team
teams list
List teams
teams admins list
List admins
teams owners list
List owners
teams settings info
Get team settings
teams settings set-name
Set team name
teams settings set-icon
Set team icon
teams settings set-description
Set description
teams settings set-discoverability
Set discoverability
teams settings set-default-channels
Set default channels
Command
Description
users list
List users
users invite
Invite user
users assign
Assign to team
users remove
Remove from team
users set-admin
Promote to admin
users set-owner
Promote to owner
users set-regular
Demote to regular user
users set-expiration
Set guest account expiration
users unsupported-versions export
Export users on unsupported Slack versions
users session reset
Reset session
users session list
List active sessions
users session invalidate
Invalidate a session
users session reset-bulk
Bulk reset sessions
users session get-settings
Get session settings
users session set-settings
Set session settings
users session clear-settings
Clear session settings
Command
Description
conversations create
Create channel
conversations delete
Delete channel
conversations archive
Archive channel
conversations unarchive
Unarchive channel
conversations rename
Rename channel
conversations search
Search channels
conversations invite
Invite user to channel
conversations convert-to-private
Convert to private
conversations convert-to-public
Convert to public
conversations get-prefs
Get channel preferences
conversations set-prefs
Set channel preferences
conversations get-custom-retention
Get retention policy
conversations set-custom-retention
Set retention policy
conversations remove-custom-retention
Remove retention policy
conversations get-teams
List associated teams
conversations set-teams
Set team associations
conversations disconnect-shared
Disconnect shared channel
conversations bulk-archive
Bulk archive
conversations bulk-delete
Bulk delete
conversations bulk-move
Bulk move across teams
conversations lookup
Lookup by criteria
conversations restrict-access add-group
Add access group
conversations restrict-access list-groups
List access groups
conversations restrict-access remove-group
Remove access group
conversations ekm list-original-connected-channel-info
EKM channel info
Command
Description
scim-users list
List users (SCIM)
scim-users get
Get user details (SCIM)
scim-users create
Create user (SCIM)
scim-users update
Update user attributes (SCIM)
scim-users deactivate
Deactivate user (SCIM)
Command
Description
scim-groups list
List groups (SCIM)
scim-groups get
Get group details (SCIM)
scim-groups create
Create group (SCIM)
scim-groups update
Update group (SCIM)
scim-groups delete
Delete group (SCIM)
Command
Description
apps approve
Approve app
apps restrict
Restrict app
apps clear-resolution
Clear approval/restriction
apps uninstall
Uninstall app
apps activities list
Activity log
apps approved list
List approved apps
apps restricted list
List restricted apps
apps requests list
List requests
apps requests cancel
Cancel request
apps config lookup
Lookup app config
apps config set
Set app config
Command
Description
invite-requests approve
Approve request
invite-requests deny
Deny request
invite-requests list
List pending requests
invite-requests approved list
List approved requests
invite-requests denied list
List denied requests
Command
Description
workflows search
Search workflows
workflows unpublish
Unpublish workflow
workflows permissions lookup
Lookup permissions
workflows collaborators add
Add collaborator
workflows collaborators remove
Remove collaborator
Command
Description
functions list
List functions
functions permissions lookup
Lookup permissions
functions permissions set
Set permissions
Command
Description
auth-policy assign-entities
Assign entities to an auth policy
auth-policy get-entities
List entities assigned to a policy
auth-policy remove-entities
Remove entities from a policy
Command
Description
barriers create
Create an information barrier
barriers delete
Delete a barrier
barriers list
List barriers
barriers update
Update a barrier
Command
Description
emoji add
Add a custom emoji
emoji add-alias
Add an emoji alias
emoji list
List custom emoji
emoji remove
Remove an emoji
emoji rename
Rename an emoji
Command
Description
roles add-assignments
Add role assignments
roles list-assignments
List role assignments
roles remove-assignments
Remove role assignments
Command
Description
usergroups add-channels
Add default channels to a usergroup
usergroups add-teams
Add teams to a usergroup
usergroups list-channels
List default channels of a usergroup
usergroups remove-channels
Remove default channels from a usergroup
usergroups list
List usergroups
usergroups create
Create a usergroup
usergroups update
Update a usergroup
usergroups enable
Enable a usergroup
usergroups disable
Disable a usergroup
usergroups users list
List members of a usergroup
usergroups users update
Update members of a usergroup
Command
Description
users info
Get user info (users.info)
users lookup-by-email
Look up user by email (users.lookupByEmail)
users get-presence
Get user presence (users.getPresence)
users set-presence
Set user presence (users.setPresence)
users conversations
List user's conversations (users.conversations)
users identity
Get caller's identity (users.identity)
users profile get
Get user profile (users.profile.get)
users profile set
Set user profile fields (users.profile.set)
Conversations (non-admin)
Command
Description
conversations list
List channels (conversations.list)
conversations info
Get channel info (conversations.info)
conversations members
List channel members (conversations.members)
Command
Description
teams info
Get team info (team.info)
teams profile get
Get team profile (team.profile.get)
teams billable-info
Get billable info per user (team.billableInfo)
teams access-logs
Get access logs (team.accessLogs)
teams integration-logs
Get integration logs (team.integrationLogs)
Scope
Purpose
admin.teams:read
List teams, get settings
admin.teams:write
Create teams, update settings
admin.users:read
List users
admin.users:write
Invite users, manage roles
admin.conversations:read
Search channels, get settings
admin.conversations:write
Channel operations, bulk actions
admin.apps:read
List apps, get config
admin.apps:write
Approve/restrict apps, set config
admin.invites:read
List invite requests
admin.invites:write
Approve/deny invite requests
admin.workflows:read
List workflows and functions
admin.workflows:write
Manage workflows, set permissions
admin
SCIM user and group management
Scope
Purpose
users:read
User info, presence, conversations
users:read.email
Look up user by email
users.profile:read
Read user profile
users.profile:write
Update user profile
channels:read
List public channels, get channel info/members
groups:read
Private channel info/members
mpim:read
Multi-party DM info/members
im:read
DM info/members
usergroups:read
List and read usergroups
usergroups:write
Create, update, enable, disable usergroups
team:read
Team info and profile
admin (user token)
team.accessLogs and team.billableInfo require admin privilege
git clone https://github.com/mitsuki-ogasahara/slack-admin-cli.git
cd slack-admin-cli
bun install
bun run dev -- < command> # Run in development
bun test # Run tests
bun run lint # Type check (tsc --noEmit)
bun link # Link as global command
TypeScript / Bun / @slack/web-api / @optique/core
Architecture details: see CLAUDE.md
MIT