OpenClaw를 위한 Slack 연동 가이드
OpenClaw를 Slack에 연동하면 팀원들과 함께 AI 비서를 활용할 수 있습니다. 이 가이드에서는 Slack 앱을 생성하고, 필요한 권한을 설정한 뒤 OpenClaw에 연결하는 전체 과정을 다룹니다.
요약하자면 “Slack 앱 만들기 → 토큰 2개 발급(App, Bot) → openclaw.json 설정 → 재시작” 의 과정으로 진행됩니다.
참고: OpenClaw는 방화벽 내부에서도 쉽게 사용할 수 있도록 주로 Socket Mode 를 사용하여 연결합니다.
1. Slack 앱 만들기
먼저 Slack API 페이지에서 새로운 앱을 생성해야 합니다.
1-1. 앱 생성
- Create New App 버튼을 클릭합니다.
- From scratch 를 선택합니다.
- 앱 이름(예:
OpenClaw Bot)을 입력하고, 설치할 워크스페이스 를 선택합니다.
1-2. Socket Mode 활성화
Socket Mode를 사용하면 별도의 공인 IP나 포트 포워딩 없이도 슬랙 이벤트를 받을 수 있습니다.
- 왼쪽 메뉴의 Socket Mode 로 이동합니다.
- Enable Socket Mode 스위치를 켭니다.
- 이때 토큰 이름을 묻는 팝업이 뜨면 적당한 이름(예:
Socket Token)을 입력하고 생성합니다. - 생성된
xapp-...으로 시작하는 App-Level Token 을 복사해 둡니다.
App Token 스코프: 보통
connections:write권한이 기본으로 부여됩니다.
2. 권한(Scopes) 및 봇 토큰 발급
2-1. Scopes 설정
봇이 채널의 메시지를 읽고 쓸 수 있도록 권한을 부여해야 합니다. 왼쪽 메뉴의 OAuth & Permissions 로 이동하여 Scopes > Bot Token Scopes 섹션에 다음 권한들을 추가합니다.
| 권한 (Scope) | 설명 |
|---|---|
channels:history | 공개 채널의 대화 내용을 읽을 수 있습니다. |
channels:read | 공개 채널의 목록과 정보를 조회합니다. |
chat:write | 채널, DM, 그룹 메시지 등에 메시지를 보낼 수 있습니다. |
groups:history | 비공개 채널의 대화 내용을 읽을 수 있습니다. |
groups:read | 비공개 채널의 목록과 정보를 조회합니다. |
im:history | 봇과의 1:1 DM 내역을 읽습니다. |
im:read | 1:1 DM 정보를 조회합니다. |
im:write | 1:1 DM을 시작할 수 있습니다. (선택: DM 시작이 안 될 때 필요) |
mpim:history | 다자간 DM(Group DM) 내역을 읽습니다. |
mpim:read | 다자간 DM(Group DM) 정보를 조회합니다. |
users:read | 멤버 목록(User ID)을 조회합니다. (먼저 말을 걸 대상을 찾을 때 필요) |
2-2. App Home 설정 (중요: 메시지 보내기 허용)
이 설정을 하지 않으면 봇에게 DM을 보낼 때 “이 앱으로 메시지를 보내는 기능이 꺼져 있습니다” 라는 오류가 뜹니다.
- 왼쪽 메뉴의 App Home 으로 이동합니다.
- 스크롤을 내려 Show Tabs 섹션을 찾습니다.
- Messages Tab 을 활성화하고, “Allow users to send Slash commands and messages from the messages tab” 체크박스를 웁니다.
2-3. Event Subscriptions 설정
Socket Mode를 쓰더라도 어떤 이벤트를 받을지는 설정해야 합니다.
- 왼쪽 메뉴의 Event Subscriptions 로 이동하여 기능을 켭니다(On).
- Subscribe to bot events 섹션을 펼치고
message.channels,message.groups,message.im등을 추가합니다.
[!WARNING] 다자간 대화(Group DM)와 봇 초대 주의사항
봇을 포함하여 다자간 대화(Group DM)를 하려면, 기존 대화방에 봇을 초대하는 개념이 아니라 봇을 포함한 멤버 구성으로 새로운 대화방(MPIM) 을 열게 됩니다. Slack의 MPIM은 참여자가 한 명이라도 달라지면(봇 포함) 완전히 다른 대화방(새로운 채널 ID) 으로 취급됩니다. 따라서 봇이 참여하기 전의 과거 대화 내역은 봇이 있는 방에서 보이지 않습니다. 자세한 내용은 Slack 공식 문서: conversations.open을 참고하세요.
2-4. 워크스페이스에 설치 및 Bot Token 발급
- OAuth & Permissions 페이지 상단의 Install to Workspace 버튼을 누릅니다.
- 권한 요청 화면에서 허용(Allow) 을 클릭합니다.
- 생성된 Bot User OAuth Token (
xoxb-...로 시작)을 복사해 둡니다.
[!TIP] 앱 재설치 (Reinstall App)
만약 이미 앱을 설치한 상태에서 Scopes 나 App Home 설정을 변경했다면, 반드시 Reinstall to Workspace 버튼을 눌러 앱을 재설치해야 변경 사항이 적용됩니다. (토큰 값은 바뀌지 않습니다.)
3. OpenClaw 설정 (openclaw.json)
이제 발급받은 두 개의 토큰을 설정 파일에 입력합니다.
~/.openclaw/openclaw.json 파일을 열고 channels 섹션에 아래와 같이 추가합니다.
{
"channels": {
"slack": {
"enabled": true,
"botToken": "xoxb-YOUR-BOT-TOKEN",
"appToken": "xapp-YOUR-APP-TOKEN",
"dm": {
"policy": "pairing"
},
"groupPolicy": "allowlist",
"channels": {
"C0123456789": { "allow": true, "requireMention": true }
}
}
}
}
주요 설정 옵션
- botToken :
xoxb-...(Bot User OAuth Token) - appToken :
xapp-...(App-Level Token) - groupPolicy :
"allowlist":channels목록에 명시된 채널에서만 동작합니다(보안상 권장)."all": 봇이 초대된 모든 채널에서 동작합니다.
- dm.policy :
"pairing": 처음 DM을 보낼 때 인증 코드를 통해 사용자를 등록하는 방식입니다."open": 누구나 봇에게 DM을 보낼 수 있습니다.
4. 실행 및 확인
게이트웨이 재시작
설정 파일을 저장한 후, OpenClaw 게이트웨이를 재시작하여 설정을 적용합니다.
openclaw gateway restart
DM 페어링 (Pairing 모드일 경우)
만약 dm.policy를 pairing으로 설정했다면, 슬랙에서 봇에게 처음 말을 걸었을 때 인증 코드 가 나타납니다.
터미널에서 아래 명령어로 승인해주면 해당 사용자와의 대화가 시작됩니다.
openclaw pairing approve slack <인증코드>
이제 슬랙에서 OpenClaw 봇과 자유롭게 대화할 수 있습니다!
5. 문제가 해결되지 않나요?
설정을 완료했는데도 연결이 잘 안 된다면, OpenClaw의 자동 진단 도구를 실행해 보세요. 대부분의 설정 오류를 자동으로 감지하고 수정 제안을 해줍니다.
openclaw doctor --fix