> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 알림 채널

> 알림과 이벤트가 갈 곳. Slack, 이메일, 웹훅, PagerDuty

알림이 Nora 이벤트(승인, 알림, 배포, 인시던트)를 팀이 이미 지켜보는 시스템으로 보냅니다. 여기서 갈 곳을 정하고, [알림](/ko/settings/notifications/alerts)에서 룰을 잇습니다.

## 지원 채널

| 채널            | 잘 맞는 용도                            |
| ------------- | ---------------------------------- |
| **이메일**       | 개인 알림, 저볼륨 알림.                     |
| **Slack**     | 팀 대상, 눈에 잘 띔, 인터랙티브(승인의 Slack 버튼). |
| **Discord**   | Discord 기반 팀에 Slack과 같음.           |
| **PagerDuty** | 인시던트의 온콜 에스컬레이션.                   |
| **웹훅**        | 그 밖의 것. 커스텀 라우팅, 내부 앱, SIEM.       |

## 채널 더하기

**Settings → Notifications → Channels → New** 입니다.

1. 채널 종류를 고릅니다.
2. 인증합니다(Slack/Discord/PagerDuty는 OAuth, 웹훅은 API 키 / URL).
3. 대상을 정합니다. Slack 채널, 이메일 주소, 웹훅 URL.
4. 알아볼 이름을 붙입니다("#nora-alerts", "eng-oncall@").
5. 테스트합니다. Nora가 프로브 메시지를 보냅니다.

저장하면 채널이 어느 알림 룰에든 이을 수 있는, 다시 쓰는 대상이 됩니다.

## Slack 셋업

1. **Settings → Notifications → Channels → New → Slack** 입니다.
2. Nora Slack 앱을 승인합니다.
3. 채널을 고릅니다.
4. 저장합니다.

양방향입니다. 승인 라우팅에 이은 Slack 채널([알림](/ko/settings/notifications/alerts) 참고)은 인터랙티브 Approve / Reject 버튼을 얻습니다. 버튼을 누르면 그 사용자 Slack ID로 승인 엔드포인트에 닿고, Nora가 결정을 기록합니다.

Slack 앱 권한이 없는 워크스페이스는 **incoming webhook** 채널을 씁니다. 단방향이지만 관리자 승인이 필요 없습니다.

## Discord 셋업

Slack과 비슷합니다. Discord 웹훅을 씁니다(OAuth 흐름 없음).

## PagerDuty 셋업

1. PagerDuty에서 서비스와 통합(Events API v2)을 만듭니다.
2. 통합 키를 복사합니다.
3. **Nora → Settings → Notifications → Channels → New → PagerDuty**에서 키를 붙입니다.

Nora가 구조화 이벤트를 보내고, PagerDuty가 온콜로 라우팅합니다.

권합니다. 진짜 인시던트(롤백 트리거, 계속되는 에러율)에만 PagerDuty를 쓰세요. 나머지는 Slack 으로요.

## 웹훅 셋업

일반 HTTP POST 입니다. 이렇게 정합니다.

* **URL** 여러분 엔드포인트.
* **Auth** none / bearer / 커스텀 헤더 / HMAC.
* **페이로드 형식** JSON(Nora 모양), 커스텀 템플릿, 또는 CI가 기대하는 모양.

페이로드에 이런 게 담깁니다.

```json theme={null}
{
  "event": "flows.publish",
  "workspace_id": "acme",
  "actor": {"kind": "user", "id": "u_alice"},
  "target": {"flow": "support-agent", "version": 42},
  "details": {"summary": "..."},
  "timestamp": "2026-07-31T09:12:34Z"
}
```

`X-Nora-Signature` 헤더에 HMAC-SHA256으로 서명합니다.

## 이메일 셋업

개별 이메일 주소나 그룹 이메일을 더합니다.

* 개별 개인 알림용(내 Flow에 대해 알고 싶을 때).
* 그룹 팀 알림용(`eng-oncall@company.com`).

볼륨이 큰 알림은 이메일보다 Slack이 낫습니다. 신호 대 잡음이 훨씬 좋습니다.

## 채널 테스트

채널마다 **Send test** 버튼이 있습니다. Nora가 "hello, this is Nora testing this channel" 페이로드를 보내 배선을 확인합니다.

## 자격증명 로테이션

**Settings → Notifications → Channels → 채널을 눌러 → Rotate credentials** 입니다.

* Slack / Discord OAuth 부여를 다시 인증합니다.
* PagerDuty 새 통합 키를 붙입니다.
* 웹훅 새 서명 시크릿을 붙입니다. 이전 것이 60분 동안 받습니다.

## 채널 삭제

아직 활성 알림 룰이 이 채널을 가리키면 실패합니다. 룰을 먼저 고치세요.

삭제는 감사됩니다.

## 흔한 채널 패턴

* **`#nora-approvals`** 모든 승인 요청이 Slack 버튼과 함께 여기로 옵니다.
* **`#nora-alerts`** 롤백, 고심각도 신호, 비용 초과.
* **`#nora-deploys`** 모든 배포(정보용, 급하지 않음).
* **PagerDuty `nora-oncall`** 자동 롤백과 canary 실패만. 사람을 깨웁니다.
* **`eng-oncall@`** 야간 인시던트의 일일 다이제스트.

## Flow 별 채널

Flow가 많은 워크스페이스는 거대한 `#nora-*` 채널 하나를 피하고 Flow 별 채널로 잇습니다.

* `#support-agent-alerts` support Flow에 특화된 알림.
* `#billing-agent-approvals` billing Flow 만의 승인.

알림 룰에서 정합니다([알림](/ko/settings/notifications/alerts) 참고).

## 관련

* [알림](/ko/settings/notifications/alerts) 알림을 거는 룰.
* [승인·배포](/ko/reliable/optimization/approve) 채널로 보내는 승인.
* [감사](/ko/settings/security/audit) 감사 포워딩이 같은 채널 인프라를 씁니다.
