Agent MessengerAgent Messenger
Platform Guides

Slack

Complete reference for the agent-slack CLI.

Tip: agent-slack is a shortcut for agent-messenger slack.

Quick Start

# 1. Extract credentials from Slack desktop app or browser (zero-config!)
agent-slack auth extract

# 2. Get workspace snapshot
agent-slack snapshot

# 3. Send a message
agent-slack message send general "Hello from AI agent!"

Authentication

Seamless Token Extraction

agent-slack automatically extracts your Slack credentials from the desktop app or Chromium browser:

agent-slack auth extract

# Use --debug for troubleshooting
agent-slack auth extract --debug

# Scan custom Chromium profile/user-data dirs (repeatable or comma-separated)
agent-slack auth extract --browser-profile ~/browser-data
agent-slack auth extract --browser-profile "$HOME/work-profile,$HOME/personal-profile"

This command:

  • Auto-detects your platform (macOS/Linux/Windows)
  • Supports both direct download and App Store versions on macOS
  • Extracts xoxc token and xoxd cookie
  • Validates tokens against Slack API
  • Discovers ALL logged-in workspaces
  • Stores credentials securely in ~/.config/agent-messenger/
  • Supports --browser-profile <path> for agent-browser profiles, custom Chrome user data dirs, or portable browser profiles

Multi-Workspace Management

# List all authenticated workspaces
agent-slack workspace list

# Switch to a different workspace
agent-slack workspace switch <workspace-id>

# Show current workspace
agent-slack workspace current

# Remove a workspace
agent-slack workspace remove <workspace-id>

# Check auth status
agent-slack auth status

# Logout from a workspace (defaults to current)
agent-slack auth logout
agent-slack auth logout <workspace-id>

Commands

Whoami Command

# Show current authenticated user
agent-slack whoami
agent-slack whoami --pretty

Output includes the authenticated user's identity information.

Message Commands

# Send a message
agent-slack message send <channel> <text>
agent-slack message send general "Hello world"

# Send a threaded reply
agent-slack message send general "Reply" --thread <ts>

# List messages
agent-slack message list <channel>
agent-slack message list general --limit 50

# Get a single message by timestamp
agent-slack message get <channel> <ts>
agent-slack message get general 1234567890.123456

# Get thread replies
agent-slack message replies <channel> <thread_ts>
agent-slack message replies general 1234567890.123456 --limit 50

# Search messages across workspace
agent-slack message search <query>
agent-slack message search "project update" --limit 50

# Update a message
agent-slack message update <channel> <ts> <new-text>

# Delete a message
agent-slack message delete <channel> <ts> --force

# Schedule a message (post-at is a Unix timestamp)
agent-slack message schedule <channel> <text> <post-at>
agent-slack message schedule general "Friday update" 1700000000
agent-slack message schedule general "Thread reply" 1700000000 --thread 1234567890.123456

# List scheduled messages
agent-slack message scheduled-list
agent-slack message scheduled-list --channel general

# Delete a scheduled message
agent-slack message scheduled-delete <channel> <scheduled-message-id>

# Send an ephemeral message (visible to one user only)
agent-slack message ephemeral <channel> <user-id> <text>

# Get permalink for a message
agent-slack message permalink <channel> <ts>

Channel Commands

# List channels (excludes archived by default)
agent-slack channel list
agent-slack channel list --type public
agent-slack channel list --type private
agent-slack channel list --type dm
agent-slack channel list --include-archived

# Get channel info
agent-slack channel info <channel>
agent-slack channel info general

# Get channel message history (alias for message list)
agent-slack channel history <channel>
agent-slack channel history general --limit 100

# Open a DM channel with a user (returns channel ID)
agent-slack channel open <user_id>
agent-slack channel open U0ABC123,U0DEF456

# List users in a channel
agent-slack channel users <channel>
agent-slack channel users general --include-bots

# Create a channel
agent-slack channel create <name>
agent-slack channel create my-project --private

# Archive a channel
agent-slack channel archive <channel>

# Set channel topic
agent-slack channel set-topic <channel> <topic>

# Set channel purpose
agent-slack channel set-purpose <channel> <purpose>

# Invite users to channel
agent-slack channel invite <channel> <users>
agent-slack channel invite general U0ABC123,U0DEF456

# Join a channel
agent-slack channel join <channel>

# Leave a channel
agent-slack channel leave <channel>

User Commands

# List users
agent-slack user list
agent-slack user list --include-bots

# Get user info
agent-slack user info <user>

# Get current user
agent-slack user me

# Look up user by email
agent-slack user lookup <email>
agent-slack user lookup alice@example.com

# Get user profile
agent-slack user profile <user-id>

# Set your status (emoji name without colons)
agent-slack user set-status "In a meeting"
agent-slack user set-status "In a meeting" --emoji calendar
agent-slack user set-status "On vacation" --emoji palm_tree --expiration 1700100000

Reaction Commands

# Add reaction
agent-slack reaction add <channel> <ts> <emoji>
agent-slack reaction add general 1234567890.123456 thumbsup

# Remove reaction
agent-slack reaction remove <channel> <ts> <emoji>

# List reactions
agent-slack reaction list <channel> <ts>

File Commands

# Upload file
agent-slack file upload <channel> <path>
agent-slack file upload general ./report.pdf

# List files
agent-slack file list
agent-slack file list --channel general

# Get file info
agent-slack file info <file-id>

# Download file
agent-slack file download <file-id>
agent-slack file download <file-id> [output-path]
agent-slack file download F0ABC123 ./downloads/

# Delete a file
agent-slack file delete <file-id>

Snapshot Command

Get workspace overview for AI agents (brief by default):

# Brief snapshot (default) — fast, minimal API calls
agent-slack snapshot

# Full snapshot — includes messages, users, user groups (slow, large output)
agent-slack snapshot --full

# Filtered full snapshots
agent-slack snapshot --full --channels-only
agent-slack snapshot --full --users-only

# Limit messages per channel (only with --full)
agent-slack snapshot --full --limit 10

Default returns brief JSON with:

  • Workspace metadata
  • Channels (id, name) — non-archived only
  • Hint for next commands

With --full, returns comprehensive JSON with:

  • Workspace metadata
  • Channels (id, name, topic, purpose, is_private, is_archived)
  • Recent messages (ts, text, user, channel)
  • Users (id, name, profile)
  • User groups (id, name, handle, description, user_count, users)

Activity Commands

# List activity feed
agent-slack activity list
agent-slack activity list --limit 50

# Show only unread activity
agent-slack activity list --unread

# Filter by activity types
agent-slack activity list --types thread_reply,message_reaction,at_user,at_channel,keyword

Unread Commands

# Get unread counts for all channels
agent-slack unread counts

# Get thread subscription details
agent-slack unread threads <channel> <thread_ts>

# Mark channel as read up to a timestamp
agent-slack unread mark <channel> <ts>

Drafts Commands

# List message drafts
agent-slack drafts list
agent-slack drafts list --limit 10
agent-slack drafts list --cursor <next_cursor>

Saved Items Commands

# List saved items
agent-slack saved list
agent-slack saved list --limit 10
agent-slack saved list --cursor <next_cursor>

Sections Commands

# List channel sections (sidebar folders)
agent-slack sections list

Pin Commands

# Pin a message
agent-slack pin add <channel> <ts>
agent-slack pin add general 1234567890.123456

# Unpin a message
agent-slack pin remove <channel> <ts>

# List pinned messages
agent-slack pin list <channel>
agent-slack pin list general

Bookmark Commands

# Add a bookmark to a channel
agent-slack bookmark add <channel> <title> <link>
agent-slack bookmark add general "Design Docs" "https://example.com/docs" --emoji :bookmark:

# Edit a bookmark
agent-slack bookmark edit <channel> <bookmark-id> --title "New Title" --link "https://new.url"

# Remove a bookmark
agent-slack bookmark remove <channel> <bookmark-id>

# List bookmarks
agent-slack bookmark list <channel>

Reminder Commands

# Add a reminder (time is a Unix timestamp)
agent-slack reminder add <text> <time>
agent-slack reminder add "Review PR" 1700000000
agent-slack reminder add "Team standup" 1700003600 --user U0ABC123

# List reminders
agent-slack reminder list

# Complete a reminder
agent-slack reminder complete <reminder-id>

# Delete a reminder
agent-slack reminder delete <reminder-id>

Usergroup Commands

# List all user groups
agent-slack usergroup list
agent-slack usergroup list --include-disabled
agent-slack usergroup list --include-users

# Create a user group
agent-slack usergroup create <name>
agent-slack usergroup create "Marketing Team" --handle marketing-team --description "Marketing gurus"
agent-slack usergroup create "Engineering" --channels C012ABC,C034DEF

# Update a user group
agent-slack usergroup update <usergroup-id> --name "New Name"
agent-slack usergroup update S0616NG6M --handle new-handle --description "Updated description"
agent-slack usergroup update S0616NG6M --channels C012ABC,C034DEF

# Enable a disabled user group
agent-slack usergroup enable <usergroup-id>

# Disable a user group
agent-slack usergroup disable <usergroup-id>

# List members of a user group
agent-slack usergroup members <usergroup-id>
agent-slack usergroup members S0616NG6M --include-disabled

# Update members of a user group (replaces all members)
agent-slack usergroup members-update <usergroup-id> <user-ids>
agent-slack usergroup members-update S0616NG6M U060R4BJ4,U060RNRCZ

Emoji Commands

# List custom workspace emoji
agent-slack emoji list

AI Agent Integration

See skills/agent-slack/ for:

  • Complete skill documentation
  • Runnable templates

On this page