agent-manager

Slack Connector

Slack integration gives you per-session threads, permission approval via text replies, and agent response forwarding — so you can monitor and interact with agents from your phone or desktop.

Setup

1

Create a Slack App

Go to api.slack.com/apps and create a new app "From scratch."

2

Configure Bot Scopes

Under OAuth & Permissions, add these Bot Token Scopes:

ScopePurpose
chat:writePost messages and thread replies
channels:historyRead replies in public channels
channels:readResolve channel info

If using a private channel, also add groups:history and groups:read.

3

Install to Workspace

Click Install to Workspace and authorize. Copy the Bot User OAuth Token (xoxb-...).

4

Invite the Bot to a Channel

In Slack, go to your channel and type /invite @YourBotName.

5

Get the Channel ID

Right-click the channel name > View channel details > copy the Channel ID at the bottom.

6

Enable Socket Mode (Optional)

By default, the manager polls Slack threads every 3 seconds. For faster message delivery, enable Socket Mode.

  1. Go to Socket Mode in your app settings and enable it
  2. Generate an App-Level Token with connections:write scope
  3. Copy the token (xapp-...)
7

Configure in Agent Manager

Press Ctrl+S in the manager, enable Slack, and enter:

FieldValue
Bot Tokenxoxb-... from step 3
Channel IDFrom step 5
App Token (optional)xapp-... from step 6

Or edit ~/.config/agent-manager/settings.json directly:

{
  "connectors": {
    "slack": {
      "enabled": true,
      "botToken": "xoxb-your-token",
      "appToken": "xapp-your-token",
      "channelId": "C0123456789",
      "pollInterval": 3000,
      "timeout": 300000
    }
  }
}
JSON
8

Install Hooks

npm run install-hooks
bash

This registers lifecycle hooks in ~/.claude/settings.json so Claude Code events (permission requests, agent responses, notifications) are forwarded to Slack.

How It Works

When a session starts, the bot creates a thread in your Slack channel:

Session started
Project: my-project
CWD: ~/projects/my-project
Session: abc123
bash

All agent interactions happen in that thread:

  • Agent responses are posted automatically
  • Permission requests appear with the tool name and input — reply allow or deny
  • You can send prompts by replying in the thread — they're forwarded directly to the agent's input

Messages from Slack are delivered via Socket Mode (instant) or thread polling (every 3s), with built-in deduplication to prevent double delivery.