Slack 워크스페이스에서 새 채널 만들기

Slack API를 통해 채널을 생성하려면 먼저 Slack 앱을 만들고, OAuth 권한을 설정한 후 API를 호출해야 합니다.

Slack 앱 만들기

  1. https://api.slack.com/apps 접속 후 Create an App 클릭

  2. From scratch 선택

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

OAuth 권한 설정

  1. 왼쪽 메뉴에서 OAuth & Permissions 클릭

  2. Scopes → Bot Token Scopes 에서 Add an OAuth Scope 클릭 후 channels:manage 추가

    Scope 설명
    channels:manage 공개 채널 생성 및 관리
    groups:write 비공개 채널 생성 및 관리

앱 설치

  1. 왼쪽 메뉴에서 Install App 클릭 후 Install to Workspace 클릭
  2. 권한 요청 화면에서 허용 클릭
  3. 발급된 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 토큰이 만료되었거나 취소됨
맨 위로