# 通知とSlack

進捗の遅れや重要な変化を見逃さないようにお知らせします。

![PM on Railsの通知設定。メールやSlackで何を知らせるかを選ぶ。導入前は変更を探しに行っていた。導入後は必要な変化だけが向こうから来る。](https://pmonrails.com/docs-img/notif-settings.png)

## 通知が届くきっかけ

- **タスクの割り当て** — 自分にタスクが割り当てられたとき。
- **レビュー依頼** — 自分にレビューが依頼されたとき（社外協力者にも届きます）。
- **コメント・メンション** — タスクやストーリーのコメントで自分が名指しされたとき。
- **要求・スコープの変更** — 要求カードや優先度（MoSCoW）が変わったとき、関係者へ。
- **招待の受諾** — 自分が招待した相手が参加したとき、招待した人へ届きます。
- **開発サイクル完了** — 開発サイクルが終わったとき、関係者へ。

## 自動で確認してくれること（毎日）

- **期限の遅れ・未設定** — 期限を過ぎた／期限が未設定のまま進行中のタスクを担当者へ。
- **担当者が未割り当て** — 遅れているのに担当が決まっていないタスクを管理者へ。
- **放置の検知** — 長期間更新されていない要件を「滞留」として警告（90日で警告 / 180日で重大）。
- **エスカレーション推奨** — 「遅れ × 影響範囲 × 相手の切迫度」をスコア化し、上に相談（エスカレーション）した方がよい案件を管理者へ提案します。
- **停滞PR** — レビュー待ちのまま止まっているPRを、まとめ（下記）で共有します。

## Slack連携

設定画面の「Slackに追加」ボタンから承認するだけでSlackと連携できます。連携後、プロジェクトごとにAgent/共有先チャンネルと通知先チャンネルを紐づけると、PM on RailsからSlackに投稿できるようになります。

- **Agent/共有先チャンネル** — `@pm-on-rails` でbotを呼び出すチャンネルです。発話したユーザーのPM on Rails権限で状況確認や起票提案を行います。確認事項の「Slackに共有」の初回共有先にも使えます。
- **通知先チャンネル** — 毎朝の開発状況サマリー、リマインダー、週次レビューなどのSlack push通知の宛先です。必要なら確認事項の共有先としても選べます。
- **チャンネル判定** — Botは、発言されたSlackチャンネルの紐づけから対象プロジェクトを判定します。同じチャンネルを同一プロジェクトの両用途に使えますが、複数プロジェクトには紐づけられません。
- **毎朝の開発状況サマリー** — 毎朝1回、その日チームで気をつけること（期限超過 / 期限未設定 / 未アサイン / 停滞しているPR）を **1通のメッセージにまとめて**チームのSlackに送ります。**注意点が無い日は送りません**（うるさくしない設計）。
- **担当者ごとの今日やること** — 平日の毎朝、担当者ごとに今日やること（期限超過 / 期限が今日・明日 / PRはマージ済みで未完了 / 自分が回答者の確認事項）を重要な順に最大3件、通知先チャンネルに担当者をメンションして投稿します。4件目以降は「ほか N 件」とカンバンへのリンクで示します。やることが無い人の分は投稿しません。投稿のボタンで「完了にする」「期限を 1 週間延ばす」「担当を外す」をその場で実行でき、結果は投稿のスレッドに返ります。**ボタンを実行できるのは担当者本人とワークスペースの管理者だけです**（チャンネルの他のメンバーが押しても何も変わらず、理由がスレッドに返ります）。担当者のSlackアカウントが連携されていない人の分は投稿しません。通知先チャンネルが無いプロジェクトでは、同じ内容がアプリ内通知で届きます。
- **放置された期限超過のエスカレーション** — 朝の投稿に載せてから2営業日たっても期限・状態・担当のどれも変わらない期限超過は、プロジェクトのPM（メンテナー、いなければワークスペースの管理者）にアプリ内通知で知らせ、通知先チャンネルにPMと担当者をメンションして1回だけ投稿します。
- **PMの判断が要りそうな返信** — 確認事項やコメントへの返信のうち、AIがPMの判断（決定・ブロッカー・スコープ変更など）を求めていると判定したものは、通知先チャンネルにPMをメンションして即時に投稿します。お礼などの返信は投稿しません。確認事項への回答で、通知先チャンネルが無い・PMのSlackアカウントが未連携などでメンションできなかったときは、PMにアプリ内通知で届けます。
- PM on RailsはSlackの個人DMを送りません。個人あての通知（割当・メンション・期限など）はアプリ内のベル・メール・ダイジェストで受け取ります（下記）。Slackで届くものは、すべて通知先チャンネルへの投稿とメンションです。

プロジェクトに紐づいたチャンネルでは、`@pm-on-rails 未決事項` で未解決の確認事項を一覧し、`@pm-on-rails 未決事項 展開` で未共有の確認事項をそのチャンネルへ投稿できます。展開は外向き投稿なので、編集ロール以上のメンバーだけが実行できます。

Slack Agentは自然な言い方で呼び出せます。`@pm-on-rails 進捗どう？` ならプロジェクト状況を即答し、`@pm-on-rails 週次PMレビュー出して` なら期限超過・期限間近・停滞・未アサイン・WIPの偏り・ステークホルダー待ち・トレーサビリティ欠落などを圧縮して返します。作成や更新は勝手に実行せず、提案カードを出して、承認後だけPM on Railsの既存権限と業務ルールで実行します。スレッド内で `@pm-on-rails このスレッドから課題点を抽出して、必要ならカンバンに起票して` と書くと、起票候補を抽出し、`全部承認` または `個別確認` でカンバンに作成できます。

提案は**承認ボタン付きのカード**で届き、ボタンを押すまで何も書き換わりません。複数の提案は1枚の一括承認カードにまとまり、「全部承認して実行」「個別確認」「却下」を選べます。カードの文言は操作した人の表示言語（日本語 / 英語）に合わせます。承認時にはその人の権限を改めて確認し、承認したプロジェクト内の対象だけを更新します。提案を全部表示できないとき（本文が長すぎる等）は承認ボタンを出さず、PM on Railsの画面で確認するよう案内します。

## アプリ内での受け取り方

- **未読バッジ** — ベルアイコンに未読件数を表示。開くと一覧を確認できます。
- **一括既読** — ベルを開く／「すべて既読」でまとめて既読にできます。
- **「見た」と「対応した」は別** — 既読にしただけでは対応済みになりません。承認・却下などの操作で初めて「対応済み」になります。
- **スヌーズ** — いったん止めて、指定の日時に再表示できます。

## デイリーダイジェスト

- 1日分の通知をまとめて受け取れます。
- 受信時刻（6〜22時）とタイムゾーンを**個人ごと**に設定できます。

## 受け取り方の設定

- **3段階のプリセット**（重要のみ / 標準 / すべて）。さらに**通知の種類ごと**に個別調整できます。
- 緊急度に応じて配信先が変わります（最優先＝必ず配信、高＝即時メール＋アプリ内、中＝1日分まとめて、低＝アプリ内のみ）。
- **管理者の強制設定** — 管理者はワークスペース単位で特定の通知を強制on/offできます（個人設定より優先）。

## 自動で片付く

古い通知は自動で整理されます（未読は長め、既読後は短め）。エスカレーションなど重要なものは消さずに残します。

> Botがチャンネル一覧を読んだり投稿したりするには、Slack AppのBot Token Scopesと対象チャンネルへのbot参加が必要です。チャンネルにbotが入っていない場合はSlackで `/invite @pm-on-rails` を実行してください。

---

https://pmonrails.com/docs/notifications
