# Slack Integration

## Overview

OpenClaw's Slack integration supports both Socket Mode (default) and HTTP webhook modes for server deployments.

## Setup Methods

### Socket Mode (Default)

- Requires App Token (`xapp-...`) and Bot Token (`xoxb-...`)
- Minimal configuration involves enabling Socket Mode in Slack app settings and generating tokens
- Supports optional User Token (`xoxp-...`) for read operations like history and reactions

### HTTP Mode

- Alternative for server deployments with HTTPS accessibility
- Uses Events API, Interactivity, and Slash Commands via shared webhook URL
- Requires Signing Secret and Bot Token configuration

## Configuration Options

The system allows per-channel customization including:

- User allowlists and skill filtering
- Custom system prompts per channel
- Bot message handling preferences
- Tool action gating (reactions, messages, pins, member info, emoji)

## Threading Options

Three reply modes control message threading behavior:

- **off** (default): replies in main channel unless message is already threaded
- **first**: initial reply threads, subsequent replies appear in main channel
- **all**: all replies use threading

Per-chat-type overrides enable different behaviors for direct messages, group chats, and channels.

## Security Considerations

Writes default to the bot token so state-changing actions stay scoped to the app's bot permissions. User token writes require explicit opt-in and should be carefully gated.

Multi-bot environments need protective measures against reply loops.

## DM Protection

Pairing mode (default) requires unknown senders to exchange approval codes, with configurable allowlists for trusted users or open access alternatives.
