Slack 채널 설정
OpenClaw와 Slack을 연동하여 팀 채널에서 AI 어시스턴트를 사용하는 방법을 안내합니다.
기준일: 2026-06-07
공식 기준: Slack
개요
Slack 채널은 두 가지 연결 모드를 지원합니다:
| 모드 | 설명 | 추천 용도 |
|---|---|---|
| Socket Mode | WebSocket 연결, 공개 IP 불필요 | 로컬 개발, 방화벽 환경 |
| HTTP Mode | Webhook 방식, 공개 URL 필요 | 프로덕션 서버 |
1단계: Slack 앱 생성
- Slack API 접속
- Create New App → From scratch
- 앱 이름 입력, 워크스페이스 선택
2단계: Socket Mode 설정 (권장)
App-Level Token 생성
- Settings → Basic Information
- App-Level Tokens → Generate Token and Scopes
- 토큰 이름 입력,
connections:write스코프 추가 - 생성된
xapp-...토큰 복사
Socket Mode 활성화
- Settings → Socket Mode → Enable Socket Mode 켜기
3단계: Bot Token 설정
필요한 Bot 권한 (OAuth Scopes)
OAuth & Permissions → Bot Token Scopes에 추가:
chat:write 메시지 전송
channels:history 채널 메시지 읽기
groups:history 비공개 채널 읽기
im:history DM 읽기
mpim:history 그룹 DM 읽기
channels:read 채널 목록 조회
앱 설치
- OAuth & Permissions → Install to Workspace
- 생성된
xoxb-...Bot Token 복사
4단계: 이벤트 구독
Event Subscriptions → Enable Events 켜기
Subscribe to bot events에 추가:
message.channels- 채널 메시지message.groups- 비공개 채널 메시지message.im- DM 메시지app_mention- 봇 멘션
5단계: OpenClaw 설정
{
"channels": {
"slack": {
"enabled": true,
"botToken": "xoxb-your-bot-token-here",
"appToken": "xapp-your-app-token-here",
"signingSecret": "your-signing-secret",
"dmPolicy": "pairing",
"allowFrom": ["U123", "U456"],
"channels": {
"C1234567890": {
"allow": true,
"requireMention": true
}
}
}
}
}
# CLI로 설정
openclaw config set channels.slack.enabled true
openclaw config set channels.slack.botToken "xoxb-..."
openclaw config set channels.slack.appToken "xapp-..."
Socket Mode는 Bot Token과 App-Level Token을 모두 확인해야 합니다. 기본 계정 환경 변수 fallback은 SLACK_BOT_TOKEN과 SLACK_APP_TOKEN이며, HTTP 모드에서는 Bot Token과 Signing Secret을 함께 확인합니다.
6단계: 봇을 채널에 초대
/invite @YourBotName
사용 방법
DM으로 대화
봇에게 직접 메시지를 보냅니다.
채널에서 멘션
@YourBotName 이 파일을 분석해줘
슬래시 커맨드
/ask 파이썬으로 피보나치 수열 코드 작성해줘
고급 설정
접근 정책과 라우팅
{
"channels": {
"slack": {
"dmPolicy": "pairing",
"allowFrom": ["U123", "U456"],
"channels": {
"C1234567890": {
"allow": true,
"requireMention": true,
"allowBots": false,
"users": ["U123"],
"skills": ["docs"],
"systemPrompt": "Short answers only."
}
},
"actions": {
"reactions": true,
"messages": true,
"pins": true
}
}
}
}
채널 이름보다 Slack channel ID(C...)가 안정적입니다. 채널별 라우팅이나 허용 그룹이 필요하면 Channel routing과 Access groups를 함께 확인하세요.
스트리밍과 응답 표시
{
"channels": {
"slack": {
"replyToMode": "first",
"thread": {
"historyScope": "thread",
"inheritParent": false
},
"streaming": {
"mode": "partial",
"nativeTransport": true
},
"unfurlLinks": false,
"unfurlMedia": false
}
}
}
HTTP Request URL 모드
{
"channels": {
"slack": {
"enabled": true,
"botToken": "xoxb-your-bot-token-here",
"signingSecret": "your-signing-secret",
"webhook": {
"path": "/slack/events"
}
}
}
}
트러블슈팅
"invalid_auth" 오류
# 토큰 확인 및 재설정
openclaw config get channels.slack.botToken
openclaw config set channels.slack.botToken "NEW_BOT_TOKEN"
openclaw gateway restart
봇이 채널 메시지를 받지 못함
- 봇이 채널에 초대되어 있는지 확인:
/invite @BotName - Event Subscriptions에서
message.channels스코프 확인 - 앱 재설치: OAuth & Permissions → Reinstall App
참고: