슬랙 - 웹훅 vs 봇 토큰

오픈소스·2025년 7월 5일

슬랙

Incoming Webhook 생성

단계 1: 슬랙 워크스페이스에서 설정

슬랙 데스크톱/웹 앱 열기
좌측 사이드바에서 워크스페이스 이름 클릭
"설정 및 관리" → "앱 관리" 선택
"앱 디렉토리 찾아보기" 클릭

단계 2: Incoming Webhook 앱 찾기

검색창에 "Incoming Webhooks" 입력
"Incoming Webhooks" 앱 클릭
"슬랙에 추가" 버튼 클릭

단계 3: 채널 선택 및 설정

메시지를 보낼 채널 선택 (예: #general, #alerts)
"Incoming Webhook 통합 추가" 클릭
웹훅 URL 복사 (예: https://hooks.slack.com/services/T123/B456/xyz)

단계 4: 테스트

# 터미널에서 테스트
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Hello World!"}' \
YOUR_WEBHOOK_URL

Bot Token 생성

단계 1: 슬랙 앱 생성

https://api.slack.com/apps 접속
"Create New App" 클릭
"From scratch" 선택
앱 이름 입력 (예: "My Bot")
워크스페이스 선택 후 "Create App" 클릭

단계 2: 봇 사용자 생성

좌측 메뉴에서 "OAuth & Permissions" 클릭
"Scopes" 섹션에서 "Bot Token Scopes" 찾기
필요한 권한 추가:

  • chat:write (메시지 전송)
  • chat:write.public (봇이 속하지 않은 채널에도 메시지 전송)
  • channels:read (채널 목록 조회)

단계 3: 앱 설치

페이지 상단의 "Install to Workspace" 클릭
권한 확인 후 "허용" 클릭
"Bot User OAuth Token" 복사 (예: xoxb-123-456-xyz)

단계 4: 채널에 봇 초대

슬랙에서 메시지를 보낼 채널 입장
/invite @앱이름 명령어 입력 (예: /invite @My Bot)

단계 5: 테스트

// Node.js 예시
const token = "xoxb-your-bot-token";
const channel = "#general";

fetch('https://slack.com/api/chat.postMessage', {
    method: 'POST',
    headers: {
        'Authorization': `Bearer ${token}`,
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        channel: channel,
        text: "Hello from my bot!"
    })
});

초보자를 위한 팁

웹훅 사용 시 주의사항:

  • 웹훅 URL은 비밀번호와 같으니 안전하게 보관
  • 깃허브 등에 URL을 실수로 올리지 않도록 주의
  • 환경변수로 관리: SLACK_WEBHOOK_URL=your_url_here

봇 토큰 사용 시 주의사항:

  • 토큰도 마찬가지로 비밀 정보
  • 필요한 최소한의 권한만 부여
  • 봇을 채널에 초대해야 메시지 전송 가능

권장하는 첫 시작:

  1. 먼저 웹훅으로 간단히 테스트
  2. 더 복잡한 기능이 필요하면 봇 토큰으로 전환
  3. 개발 환경에서 충분히 테스트 후 운영 적용

0개의 댓글