OpenClaw 페르소나용 Slack App을 생성하고 .env 파일까지 완성하는 단계별 가이드. "/slack-app-setup", "Slack App 만들어줘", "슬랙 앱 설정", "페르소나 Slack 연결" 요청 시 사용한다.
OpenClaw 페르소나 배포를 위한 Slack App 생성 워크플로우. 각 페르소나는 별도 Slack App이 필요하다 (Socket Mode 이벤트가 동일 App Token의 여러 연결에 라운드 로빈 분배되므로 공유 불가).
/slack-app-setup (인자 없음): 생성할 페르소나 선택 안내/slack-app-setup {persona-name}: 특정 페르소나의 Slack App 생성 안내/slack-app-setup verify: 기존 .env 파일들의 필수 키 검증대상 페르소나를 확인한다. .claude/skills/deploy/references/persona-registry.md에서 사용 가능한 페르소나 목록을 읽는다.
사용자에게 어떤 페르소나의 Slack App을 만들 것인지 질문한다 (AskUserQuestion 사용).
기존 .env 파일이 있는지 확인:
ls infra/.env.{persona-name} 2>/dev/null
이미 존재하면 사용자에게 알리고, 덮어쓸지 확인한다.
에서 대상 페르소나의 과 값을 읽는다. 이 값을 jq 로 주입하여 을 가공한 뒤 pbcopy로 클립보드에 복사한다:
persona-registry.mdidentity.nameidentity.creature--argassets/manifest.jsonjq --arg name "Product Leader" --arg role "AI Product Advisor" '
.display_information.name = $name |
.display_information.description = ("OpenClaw " + $role) |
.features.bot_user.display_name = $name
' .claude/skills/slack-app-setup/assets/manifest.json | pbcopy
$name과 $role 값은 페르소나에 맞게 대체한다.
클립보드 복사 완료를 알리고, 바로 Step C 안내로 넘어간다.
사용자에게 아래 절차를 한 번에 안내한다:
○ https://api.slack.com/apps → Create New App → From a manifest
○ 워크스페이스 선택 → JSON 탭 → 클립보드 붙여넣기 → Create
○ Install to Workspace → Allow
○ OAuth & Permissions → Bot User OAuth Token (xoxb-...) 복사
○ Basic Information → App-Level Tokens → Generate Token and Scopes
- Token Name: socket / Add Scope: connections:write / Generate
- 생성된 토큰 (xapp-...) 복사
안내 후 사용자가 대화로 두 토큰을 전달할 때까지 대기한다 (AskUserQuestion 사용하지 않음). 토큰 형식 검증:
xoxb- 접두사xapp- 접두사수집한 토큰으로 infra/.env.{persona-name} 파일을 생성한다.
Gateway Token은 자동 생성:
openssl rand -hex 32
Anthropic Setup Token은 기존 infra/.env.lab에서 ANTHROPIC_SETUP_TOKEN 값을 읽어온다.
최종 .env 파일 형식:
PERSONA_NAME={persona-name}
OPENCLAW_GATEWAY_TOKEN={생성된 hex}
SLACK_BOT_TOKEN={사용자 입력}
SLACK_APP_TOKEN={사용자 입력}
ANTHROPIC_SETUP_TOKEN={lab에서 복사}
파일 권한 설정:
chmod 600 infra/.env.{persona-name}
생성된 .env 파일의 필수 키를 검증한다:
for key in PERSONA_NAME OPENCLAW_GATEWAY_TOKEN SLACK_BOT_TOKEN SLACK_APP_TOKEN ANTHROPIC_SETUP_TOKEN; do
grep -q "^${key}=" "infra/.env.{persona-name}" && echo "$key: OK" || echo "$key: MISSING"
done
모든 키가 OK이면 완료 보고:
--- {persona-name} Slack App Setup 완료 ---
Bot Token: xoxb-...{마지막 4자리만}
App Token: xapp-...{마지막 4자리만}
.env 파일: infra/.env.{persona-name}
다음 단계: pulumi preview로 배포 확인
.env 파일은 .gitignore에 포함되어 있어 커밋되지 않는다.