🔧 Slack 앱 설정 가이드 — OpenClaw 연동용

봇 토큰과 앱 토큰을 받은 뒤, Slack 앱에서 추가로 설정해야 하는 것들입니다.


1. Socket Mode 켜기

OpenClaw은 Socket Mode로 Slack과 통신해요. 이걸 켜야 봇이 메시지를 받을 수 있어요.

  1. Slack API에서 내 앱 선택
  2. 왼쪽 메뉴 → Socket Mode 클릭
  3. Enable Socket Mode 토글 ON
  4. 이미 App Token이 있으면 OK / 없으면 여기서 생성 (이름: openclaw 등)

2. Event Subscriptions (이벤트 구독)

봇이 메시지를 “들을 수 있게” 이벤트를 등록해야 해요.

  1. 왼쪽 메뉴 → Event Subscriptions 클릭
  2. Enable Events 토글 ON
  3. Subscribe to bot events 섹션에서 아래 4개 추가:
이벤트설명
message.channels공개 채널 메시지 수신
message.groups비공개 채널 메시지 수신
message.imDM(1:1) 메시지 수신
app_mention@멘션 감지
  1. Save Changes 클릭

3. OAuth & Permissions (봇 권한)

봇이 메시지를 보내고 읽으려면 적절한 권한(scope)이 필요해요.

  1. 왼쪽 메뉴 → OAuth & Permissions 클릭
  2. Bot Token Scopes 섹션에서 아래 scope 추가:

필수 Scopes

Scope설명
app_mentions:read@멘션 읽기
channels:history공개 채널 메시지 읽기
channels:read공개 채널 목록 조회
chat:write메시지 보내기
groups:history비공개 채널 메시지 읽기
groups:read비공개 채널 목록 조회
im:historyDM 메시지 읽기
im:readDM 목록 조회
im:writeDM 시작
users:read유저 정보 조회

선택 Scopes (추천)

Scope설명
reactions:write이모지 리액션 달기
reactions:read이모지 리액션 읽기
files:read파일 다운로드
files:write파일 업로드
  1. scope를 추가한 후 Reinstall to Workspace 버튼 클릭 (상단에 노란 배너 뜰 거예요)
  2. 설치 승인 → 새 Bot Token 발급됨

⚠️ Reinstall 후 토큰이 바뀔 수 있어요! 바뀌면 openclaw.jsonbotToken도 업데이트 필요.


4. App Home 설정

봇의 이름과 기능을 설정해요. 이 단계를 빠뜨리면 Install to Workspace 버튼이 안 나타날 수 있어요!

  1. 왼쪽 메뉴 → App Home 클릭
  2. Your App’s Presence in Slack 섹션에서:
    • App Display Name“Edit” 버튼 클릭
    • Display Name (Bot Name): 봇 이름 입력 (예: 뽀둥이)
    • Default Username: 영문 이름 입력 (예: bbodoong)
    • “Add” 또는 “Save” 클릭
  3. 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 실행

트러블슈팅

”봇이 메시지에 반응 안 해요”

  1. Socket Mode 켜져있는지 확인
  2. Event Subscriptions에 4개 이벤트 다 있는지 확인
  3. 봇이 해당 채널에 초대됐는지 확인
  4. OpenClaw 로그 확인: openclaw gateway logs

”permission_denied 에러”

→ Bot Token Scopes에 필요한 권한 추가 후 Reinstall to Workspace

”invalid_auth 에러”

→ Reinstall 후 토큰이 바뀌었을 수 있음. openclaw.jsonbotToken 업데이트 + openclaw gateway restart

”페어링 코드가 나와요”

dmPolicy: "pairing" 상태. 서버에서 openclaw pairing approve slack 코드 실행하면 승인됨. 보안 강화하려면 dmPolicy: "allowlist"로 변경.