# 通知設定 {#assessment-notifications}

Takumi から診断完了時に通知を受け取ることができます。

## 通知先 {#destinations}

以下 3 種類を指定可能です。

- **Slack チャンネル**：連携済み Slack のチャンネル。連携方法は「[Slack を連携する](/docs/ja/t/assessment/features/integrations/slack.md)」を参照してください。
- **メールアドレス**：組織のメンバーのメールアドレス、または組織のメール許可リストのアドレス。
- **Webhook**：組織に登録済みの Webhook URL。登録方法は「[Webhook エンドポイントをセットアップする](/docs/ja/t/api/features/webhook.md#setup-endpoints)」を参照してください。

## 設定方法 {#configure}

- **診断中の待機画面**：診断開始後に表示される画面から設定できます。

  ![「通知を受け取る」の Slack・メール・Webhook ボタン](/docs/ja/_md-assets/c640f1e69c-setup-waiting-screen.png)

- **定期診断**：[定期診断](/docs/ja/t/assessment/features/periodic-diff-assessment.md)の設定画面の「通知先」で設定できます。以後、当該定期診断で作成されるすべての診断に適用されます。

  ![定期診断の設定画面の「通知先」](/docs/ja/_md-assets/3caa5043d2-periodic-settings.png)

## Webhook の形式 {#webhook-payload}

Webhook を指定した場合に送信されるデータの形式は以下のとおりです。その他の共通の仕様については「[Webhook 通知](/docs/ja/t/api/features/webhook.md)」を参照してください。

| フィールド        | 説明                                                                                                                                           |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `assessment_id`   | 診断の ID                                                                                                                                      |
| `assessment_name` | 診断の名前                                                                                                                                     |
| `status`          | イベント後の診断のステータス。`CRAWLED`（クロール済）・`COMPLETED`（診断済）・`PENDING`（診断再開待ち）のいずれかです。                        |
| `url`             | コンソール上の診断ページの URL                                                                                                                 |
| `finding_counts`  | 深刻度ごとの検出件数です。`critical`・`high`・`medium`・`low`・`none` の 5 つで、`assessment.completed` と `assessment.pending` に含まれます。 |

`assessment.completed` の例:

```json
{
  "type": "assessment.completed",
  "timestamp": "2026-10-27T03:00:00Z",
  "data": {
    "assessment_id": "AS01J...",
    "assessment_name": "flatt.tech の週次診断",
    "status": "COMPLETED",
    "url": "https://cloud.shisho.dev/{org_id}/assessments/AS01J...",
    "finding_counts": {
      "critical": 1,
      "high": 2,
      "medium": 0,
      "low": 1,
      "none": 0
    }
  }
}
```

`assessment.pending` の例:

```json
{
  "type": "assessment.pending",
  "timestamp": "2026-10-27T03:00:00Z",
  "data": {
    "assessment_id": "AS01J...",
    "assessment_name": "flatt.tech の週次診断",
    "status": "PENDING",
    "url": "https://cloud.shisho.dev/{org_id}/assessments/AS01J...",
    "finding_counts": {
      "critical": 1,
      "high": 2,
      "medium": 0,
      "low": 1,
      "none": 0
    }
  }
}
```

`assessment.crawled` の例:

```json
{
  "type": "assessment.crawled",
  "timestamp": "2026-10-27T03:00:00Z",
  "data": {
    "assessment_id": "AS01J...",
    "assessment_name": "flatt.tech の週次診断",
    "status": "CRAWLED",
    "url": "https://cloud.shisho.dev/{org_id}/assessments/AS01J..."
  }
}
```
