Slack 워크스페이스에서 새 채널 만들기
Slack API를 통해 채널을 생성하려면 먼저 Slack 앱을 만들고, OAuth 권한을 설정한 후 API를 호출해야 합니다.
Slack 앱 만들기
https://api.slack.com/apps 접속 후 Create an App 클릭

From scratch 선택

App Name에 앱 이름을 입력하고, 채널을 만들 워크스페이스를 선택한 후 Create App 클릭

OAuth 권한 설정
왼쪽 메뉴에서 OAuth & Permissions 클릭
Scopes → Bot Token Scopes 에서 Add an OAuth Scope 클릭 후
channels:manage추가Scope 설명 channels:manage공개 채널 생성 및 관리 groups:write비공개 채널 생성 및 관리
앱 설치
- 왼쪽 메뉴에서 Install App 클릭 후 Install to Workspace 클릭
- 권한 요청 화면에서 허용 클릭
- 발급된 Bot User OAuth Token (
xoxb-...) 복사
채널 생성 API 호출
공개 채널
curl -X POST https://slack.com/api/conversations.create \
-H "Authorization: Bearer xoxb-your-token" \
-H "Content-Type: application/json" \
-d '{"name": "new-channel-name"}'비공개 채널
is_private: true를 추가하면 비공개 채널이 생성됩니다. groups:write scope가 필요합니다.
curl -X POST https://slack.com/api/conversations.create \
-H "Authorization: Bearer xoxb-your-token" \
-H "Content-Type: application/json" \
-d '{"name": "new-channel-name", "is_private": true}'채널 이름은 소문자, 숫자, 하이픈(-), 언더스코어(_)만 사용할 수 있으며 80자 이하여야 합니다.
성공 응답:
{
"ok": true,
"channel": {
"id": "C1234567890",
"name": "new-channel-name",
"is_private": true
}
}Python SDK 예시
from slack_sdk import WebClient
client = WebClient(token="xoxb-your-token")
response = client.conversations_create(
name="new-channel-name",
is_private=True,
)
channel_id = response["channel"]["id"]멤버 초대
비공개 채널은 생성 직후 봇만 참여한 상태입니다. 사용자를 추가하려면 conversations.invite를 호출합니다.
client.conversations_invite(
channel=channel_id,
users="U11111111,U22222222",
)오류 응답
{
"ok": false,
"error": "name_taken"
}| 오류 코드 | 원인 |
|---|---|
name_taken |
동일한 이름의 채널이 이미 존재 |
missing_scope |
필요한 OAuth scope 미설정 |
invalid_name |
채널 이름 형식 오류 |
invalid_name_maxlength |
채널 이름 80자 초과 |
token_revoked |
토큰이 만료되었거나 취소됨 |