Skip to main content

Slack 알림 자동화

요약: 에이전트 작업의 핵심 결과를 Slack 채널에 요약·전송. 정기 리포트·이상 감지·배포 알림에 활용.

시작 전 필수 — Slack 측 권한 설정이 먼저

본 레시피는 Slack 측에서 App 생성·Scope 승인·워크스페이스 설치가 완료된 이후 에만 동작합니다. Slack 에서 먼저 아래 과정을 반드시 거쳐야 합니다.
  1. Slack App 생성api.slack.com/apps 에서 Create New App
  2. Bot Token Scopes 추가 — 최소 chat:write · channels:read · channels:history
  3. Install to Workspace — 본인이 관리자가 아니면 관리자 승인 필요 (“Request to Workspace Install” 요청 발송 → 관리자 승인 후 토큰 발급)
  4. Bot User OAuth Token (xoxb-...) 발급 완료
  5. 대상 채널에 Bot 초대 — 각 채널에서 /invite @봇이름
위 단계별 상세·실수 포인트: Slack 템플릿 — 전체 연동 절차
Slack 관리자 승인 요청 예시 (본인이 워크스페이스 관리자가 아닐 때):
Seahorse Cloud 의 Agent Chat 기능 검증을 위해 Slack App 권한 승인을 요청드립니다. 연동 권한은 Seahorse 외부 유저에게 노출되지 않으며, 제 계정에 연결된 에이전트 봇의 채널 알림 동작 확인에만 사용됩니다. 테스트 완료 시 토큰 회수·App 삭제 예정입니다. Scope: chat:write, channels:read, channels:history.
조직 보안 정책에 따라 승인까지 수 일이 걸릴 수 있으니 일정 여유를 두고 요청 하세요.

보안 주의

  • Bot Token 유출 = 워크스페이스 전체 노출 — 토큰이 노출되면 공격자가 봇 권한으로 채널 메시지를 읽고 쓸 수 있습니다. 공개 저장소·이메일·스크린샷 공유 절대 금지. 유출 의심 시 Slack App 설정에서 Revoke All OAuth Tokens 즉시 실행 → 재발급 → Seahorse 환경변수 갱신.
  • 최소 권한 Scope — 꼭 필요한 Scope 만. chat:write 만으로 충분한 알림 봇에 admin.* · users.profile:write 같은 광역 권한 금지.
  • 메시지 본문에 민감 정보 금지 — 고객 PII·API 키·비밀번호·개인정보가 포함된 쿼리 결과를 그대로 Slack 에 던지지 마세요. 전송 전 마스킹·필터 적용.
  • 채널 제한SLACK_CHANNEL_IDS 환경변수로 전송 가능 채널을 화이트리스트 제한 (실수로 다른 채널·DM 에 전송되는 사고 방지).
  • Scheduler 자동 실행의 폭주 — 조건 없이 매 분 전송하면 Rate Limit 도달 + 사용자 피로. 반드시 변경 있을 때만 전송 조건 로직.
  • 퇴사자·계약 종료 시 해당 담당자 발급 Bot Token revoke + Seahorse 갱신.

요구 사항

항목설정
Slack AppSlack API 포털에서 Bot Token (xoxb-...) 발급
채널 초대Bot 을 대상 채널에 초대
Slack MCP 도구Tool Management → Slack 템플릿 등록
에이전트 도구 연결Agent 생성 시 Slack 도구 포함

Bot Scope 권장

  • chat:write — 메시지 전송
  • channels:read / groups:read — 채널 목록 조회
  • (선택) files:write — 파일 업로드

단계

1

Slack Bot 생성·토큰 획득

api.slack.com/apps → Create New App → Bot Token Scopes 설정 → Install to Workspace → xoxb-... 토큰 복사.
2

Slack MCP 템플릿 등록

Console → Tool Management → 도구 생성Slack. 환경변수:
  • SLACK_BOT_TOKEN = xoxb-...
  • SLACK_TEAM_ID = T01234...
3

에이전트에 연결 + Slack 패널 활성화

Agent 생성·수정 시 도구 탭에서 Slack 포함 → 채팅 MCP Tools 패널에서 slack 서버 체크.
4

채팅으로 메시지 전송

프롬프트 예시: “#data-daily 채널에 오늘의 주문 지표 요약을 보내줘: 주문 N건, 매출 X원, 전일 대비 +Y%.”
에이전트가 Slack MCP 의 slack_send_message (또는 해당 도구) 호출.
5

Flow Studio + Scheduler 조합

앞서 만든 PostgreSQL 자동화 Flow 의 마지막 노드로 Slack 전송 추가. Scheduler 로 매일/주간 자동 실행.

프롬프트 템플릿

단순 알림:
"#{채널명}" 채널에 다음 메시지를 전송해줘:
주간 지표 요약
- 신규 사용자: {N}명
- 평균 응답시간: {ms}ms
- 이슈: {issue_count}건
이상 감지 알림:
어제 지표를 분석하고, 평소 대비 2σ 이상 벗어난 항목이 있으면
"#alerts" 채널에 @here 멘션과 함께 알림을 보내줘.
이상이 없으면 아무것도 하지 말고 "no anomaly" 만 응답해.

주의사항

  • Rate limit — Slack API 는 채널당 분당 메시지 한도가 있음
  • 스팸 방지 — Scheduler 반복 실행 시 “변경 있을 때만 전송” 조건부 로직 권장
  • @here / @channel — 남발하면 사용자 불만. 진짜 중요 알림에만 사용
  • 민감 정보 — 메시지 본문에 토큰·비밀번호·고객 PII 포함 금지

관련 레시피