🔧 Slack 앱 설정 가이드 — OpenClaw 연동용
봇 토큰과 앱 토큰을 받은 뒤, Slack 앱에서 추가로 설정해야 하는 것들입니다.
1. Socket Mode 켜기
OpenClaw은 Socket Mode로 Slack과 통신해요. 이걸 켜야 봇이 메시지를 받을 수 있어요.
- Slack API에서 내 앱 선택
- 왼쪽 메뉴 → Socket Mode 클릭
- Enable Socket Mode 토글 ON
- 이미 App Token이 있으면 OK / 없으면 여기서 생성 (이름:
openclaw등)
2. Event Subscriptions (이벤트 구독)
봇이 메시지를 “들을 수 있게” 이벤트를 등록해야 해요.
- 왼쪽 메뉴 → Event Subscriptions 클릭
- Enable Events 토글 ON
- Subscribe to bot events 섹션에서 아래 4개 추가:
| 이벤트 | 설명 |
|---|---|
message.channels | 공개 채널 메시지 수신 |
message.groups | 비공개 채널 메시지 수신 |
message.im | DM(1:1) 메시지 수신 |
app_mention | @멘션 감지 |
- Save Changes 클릭
3. OAuth & Permissions (봇 권한)
봇이 메시지를 보내고 읽으려면 적절한 권한(scope)이 필요해요.
- 왼쪽 메뉴 → OAuth & Permissions 클릭
- Bot Token Scopes 섹션에서 아래 scope 추가:
필수 Scopes
| Scope | 설명 |
|---|---|
app_mentions:read | @멘션 읽기 |
channels:history | 공개 채널 메시지 읽기 |
channels:read | 공개 채널 목록 조회 |
chat:write | 메시지 보내기 |
groups:history | 비공개 채널 메시지 읽기 |
groups:read | 비공개 채널 목록 조회 |
im:history | DM 메시지 읽기 |
im:read | DM 목록 조회 |
im:write | DM 시작 |
users:read | 유저 정보 조회 |
선택 Scopes (추천)
| Scope | 설명 |
|---|---|
reactions:write | 이모지 리액션 달기 |
reactions:read | 이모지 리액션 읽기 |
files:read | 파일 다운로드 |
files:write | 파일 업로드 |
- scope를 추가한 후 Reinstall to Workspace 버튼 클릭 (상단에 노란 배너 뜰 거예요)
- 설치 승인 → 새 Bot Token 발급됨
⚠️ Reinstall 후 토큰이 바뀔 수 있어요! 바뀌면
openclaw.json의botToken도 업데이트 필요.
4. App Home 설정
봇의 이름과 기능을 설정해요. 이 단계를 빠뜨리면 Install to Workspace 버튼이 안 나타날 수 있어요!
- 왼쪽 메뉴 → App Home 클릭
- Your App’s Presence in Slack 섹션에서:
- App Display Name 옆 “Edit” 버튼 클릭
- Display Name (Bot Name): 봇 이름 입력 (예:
뽀둥이) - Default Username: 영문 이름 입력 (예:
bbodoong) - “Add” 또는 “Save” 클릭
- Show Tabs 섹션에서:
- ✅
Allow users to send Slash commands and messages from the messages tab체크
- ✅
⚠️ Display Name을 설정하지 않으면 OAuth & Permissions 페이지에서 “Install to Workspace” 버튼이 나타나지 않아요!
5. 봇을 채널에 초대하기
봇이 채널 메시지를 받으려면 해당 채널에 초대해야 해요.
채널에서:
/invite @봇이름
또는 채널 설정 → 멤버 → 앱 추가
6. openclaw.json 설정 예시
{
"channels": {
"slack": {
"accounts": {
"my-workspace": {
"name": "내 워크스페이스",
"botToken": "xoxb-여기에-봇토큰",
"appToken": "xapp-여기에-앱토큰",
"groupPolicy": "open",
"streaming": "partial",
"nativeStreaming": true,
"dmPolicy": "allowlist",
"allowFrom": ["U내슬랙ID"]
}
}
}
},
"bindings": [
{
"agentId": "내에이전트",
"match": { "channel": "slack", "accountId": "my-workspace" }
}
]
}
설정 후 재시작:
openclaw gateway restart
7. 확인 체크리스트
- Socket Mode ON
- Event Subscriptions ON
-
message.channels이벤트 추가 -
message.groups이벤트 추가 -
message.im이벤트 추가 -
app_mention이벤트 추가 - 필수 Bot Token Scopes 추가
- Reinstall to Workspace 완료
- App Home → Messages Tab 허용
- 원하는 채널에 봇 초대
-
openclaw.json에 토큰 설정 -
openclaw gateway restart실행
트러블슈팅
”봇이 메시지에 반응 안 해요”
- Socket Mode 켜져있는지 확인
- Event Subscriptions에 4개 이벤트 다 있는지 확인
- 봇이 해당 채널에 초대됐는지 확인
- OpenClaw 로그 확인:
openclaw gateway logs
”permission_denied 에러”
→ Bot Token Scopes에 필요한 권한 추가 후 Reinstall to Workspace
”invalid_auth 에러”
→ Reinstall 후 토큰이 바뀌었을 수 있음. openclaw.json의 botToken 업데이트 + openclaw gateway restart
”페어링 코드가 나와요”
→ dmPolicy: "pairing" 상태. 서버에서 openclaw pairing approve slack 코드 실행하면 승인됨. 보안 강화하려면 dmPolicy: "allowlist"로 변경.