n8n 워크플로우의 결과를 사내 메신저인 슬랙(Slack)으로 전송하거나, 슬랙에서 발생한 이벤트를 자동화의 시작점으로 삼으려면 "슬랙봇(Slack App)" 연동이 필요합니다.
슬랙봇 운영 및 승인 정책
- 최소 권한의 원칙 슬랙봇에는 반드시 필요한 권한(예: 메시지 보내기
chat:write)만 부여해야 합니다. - 용도 명시 의무 봇의 이름과 아이콘은 어떤 팀이 무슨 목적으로 사용하는지 명확히 인지할 수 있도록 설정해야 합니다.
신청 및 연동 절차
1 봇 생성 (현업 담당자)
- Slack API 페이지(api.slack.com/apps) 접속
- Create New App을 클릭
2 권한 설정 (현업 담당자)
좌측 OAuth & Permissions 메뉴에서 권한(Scopes)을 추가 (예: chat:write)
3 워크스페이스 승인 요청 (현업 담당자)
Request to Install 버튼 클릭
4 요청 사유 작성 및 제출 (현업 담당자)
아래 양식으로 작성 후 Submit
승인 요청 메시지 양식
Slack API 페이지 → Request to Install 팝업
| 항목 | 작성 예시 |
|---|---|
| 승인 책임자 | @본인의 그룹장 |
| 신청 팀명 및 담당자 | 인사팀 / 김철수 |
| 슬랙봇 이름 | [HR] 면접 알림 봇 |
| 사용 목적 및 시나리오 | n8n에서 면접 일정이 생성될 때 담당자에게 슬랙 메시지 자동 발송 |
| 연동할 슬랙 채널명 | #hr-interview-alert |
5 승인 및 토큰 발급 (관리자)
승인 후 Bot User OAuth Token(xoxb-...) 발급
6 n8n 연동 (현업 담당자)
발급받은 토큰을 n8n Credentials에 등록
슬랙봇 권한(Scope) 심사 가이드 for 그룹장
1. 안전 (승인 권장 권한)
chat:write: 봇이 초대된 채널에 메시지를 보낼 수 있는 권한chat:write.public: 봇이 초대되지 않은 공개 채널에도 메시지를 보낼 수 있는 권한channels:read/groups:read: 채널 목록과 이름만 조회 (메시지 내용은 볼 수 없음)files:write: 봇이 채널에 파일을 업로드할 수 있는 권한
2. 주의 (사유 확인 후 승인)
channels:history/groups:history: 채널 대화 읽기 권한. 데이터 수집/처리 목적이 명확할 때만 허용.users:read/users:read.email: 멤버 이름/이메일 조회. 특정 목적이 있을 때만 허용.
3. 위험 (원칙적 반려)
im:history/mpim:history: 개인 1:1 DM 읽기 (사생활 침해 위험)admin.*계열: 최고 관리자 권한- User Token 영역에 추가된 권한: 보안상 위험
실무 심사 체크리스트
- 봇 이름과 아이콘이 명확한가? (예: "알림봇" (X) → "[인사팀] 휴가 알림봇" (O))
- User Token이 아닌 Bot Token 영역에 권한을 요청했는가?
- 단순 알림 목적인데 "history(대화 읽기)" 권한을 추가하지는 않았는가?