> ## Documentation Index
> Fetch the complete documentation index at: https://manual.seahorse.dnotitia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> Slack MCP로 에이전트 작업 결과·알림을 지정 채널로 자동 전송

# Slack notification

# Slack 알림 자동화

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

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

<Warning>
  **본 레시피는 Slack 측에서 App 생성·Scope 승인·워크스페이스 설치가 완료된 이후** 에만 동작합니다. Slack 에서 먼저 아래 과정을 **반드시 거쳐야 합니다.**

  1. **Slack App 생성** — [api.slack.com/apps](https://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 템플릿 — 전체 연동 절차](/console/agent-ops/agent-tool/templates/slack#전체-연동-절차-처음-사용자-기준)
</Warning>

<Warning>
  **Slack 관리자 승인 요청 예시** (본인이 워크스페이스 관리자가 아닐 때):

  > Seahorse Cloud 의 Agent Chat 기능 검증을 위해 Slack App 권한 승인을 요청드립니다. 연동 권한은 Seahorse 외부 유저에게 노출되지 않으며, 제 계정에 연결된 에이전트 봇의 채널 알림 동작 확인에만 사용됩니다. 테스트 완료 시 토큰 회수·App 삭제 예정입니다. Scope: `chat:write`, `channels:read`, `channels:history`.

  조직 보안 정책에 따라 승인까지 수 일이 걸릴 수 있으니 **일정 여유를 두고 요청** 하세요.
</Warning>

## 보안 주의

<Warning>
  * **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 갱신.
</Warning>

## 요구 사항

| 항목               | 설정                                                                              |
| ---------------- | ------------------------------------------------------------------------------- |
| **Slack App**    | Slack API 포털에서 Bot Token (`xoxb-...`) 발급                                        |
| **채널 초대**        | Bot 을 대상 채널에 초대                                                                 |
| **Slack MCP 도구** | [Tool Management → Slack 템플릿](/console/agent-ops/agent-tool/templates/slack) 등록 |
| **에이전트 도구 연결**   | Agent 생성 시 Slack 도구 포함                                                          |

## Bot Scope 권장

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

## 단계

<Steps>
  <Step title="Slack Bot 생성·토큰 획득">
    [api.slack.com/apps](https://api.slack.com/apps) → Create New App → Bot Token Scopes 설정 → Install to Workspace → `xoxb-...` 토큰 복사.
  </Step>

  <Step title="Slack MCP 템플릿 등록">
    Console → Tool Management → **도구 생성** → **Slack**.
    환경변수:

    * `SLACK_BOT_TOKEN` = `xoxb-...`
    * `SLACK_TEAM_ID` = `T01234...`
  </Step>

  <Step title="에이전트에 연결 + Slack 패널 활성화">
    Agent 생성·수정 시 도구 탭에서 Slack 포함 → 채팅 MCP Tools 패널에서 `slack` 서버 체크.
  </Step>

  <Step title="채팅으로 메시지 전송">
    > **프롬프트 예시**:
    > "#data-daily 채널에 오늘의 주문 지표 요약을 보내줘: 주문 N건, 매출 X원, 전일 대비 +Y%."

    에이전트가 Slack MCP 의 `slack_send_message` (또는 해당 도구) 호출.
  </Step>

  <Step title="Flow Studio + Scheduler 조합">
    앞서 만든 [PostgreSQL 자동화](/agent-chat/recipes/postgres-sql-automation) Flow 의 마지막 노드로 **Slack 전송** 추가.
    Scheduler 로 매일/주간 자동 실행.
  </Step>
</Steps>

## 프롬프트 템플릿

**단순 알림**:

```
"#{채널명}" 채널에 다음 메시지를 전송해줘:
주간 지표 요약
- 신규 사용자: {N}명
- 평균 응답시간: {ms}ms
- 이슈: {issue_count}건
```

**이상 감지 알림**:

```
어제 지표를 분석하고, 평소 대비 2σ 이상 벗어난 항목이 있으면
"#alerts" 채널에 @here 멘션과 함께 알림을 보내줘.
이상이 없으면 아무것도 하지 말고 "no anomaly" 만 응답해.
```

## 주의사항

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

## 관련 레시피

* [PostgreSQL 반복 쿼리 자동화](/agent-chat/recipes/postgres-sql-automation)
* [GitHub PR 리뷰 요약](/agent-chat/recipes/github-pr-review)
* [레시피 목록](/agent-chat/recipes)
