# Notifications and Slack

We let you know so that slipping progress and important changes do not go unnoticed.

![PM on Rails notification settings. Choose what arrives by email or Slack. Before: you went looking for changes. After: only the changes you need arrive on their own.](https://pmonrails.com/docs-img/notif-settings.png)

## What triggers a notification

- **A task is assigned** — When a task is assigned to you.
- **A review is requested** — When a review is requested from you (external collaborators receive these too).
- **Comments and mentions** — When you are named in a comment on a task or a story.
- **Requirement card and scope changes** — To the people involved, when a requirement card or its priority (MoSCoW) changes.
- **An invitation is accepted** — When someone you invited joins, the person who invited them is notified.
- **A sprint finishes** — To the people involved, when a sprint ends.

## What is watched for you automatically (checked daily)

- **Overdue or no due date** — Tasks in progress that are past their due date, or still have no due date, to the assignee.
- **No assignee** — Tasks that are running late with nobody assigned, to administrators.
- **Neglect detection** — Warns about requirements that have not been updated for a long time as "stalled" (a warning at 90 days / critical at 180 days).
- **Escalation suggestions** — Scores "delay × impact × how the other side feels" and suggests to administrators the cases worth raising higher up (escalating).
- **Stalled pull requests** — Pull requests stuck waiting for review are shared in the summary (below).

## Slack integration

You can connect Slack just by approving it from the "Add to Slack" button on the settings screen. Once connected, link an agent/sharing channel and a notification channel per project, and PM on Rails can post to Slack.

- **Agent/sharing channel** — The channel where you call the bot with `@pm-on-rails`. It checks status and proposes new items with the PM on Rails permissions of whoever spoke. It can also be the first destination when an open question is shared with "Share to Slack".
- **Notification channel** — The destination for Slack push notifications such as the morning delivery summary, reminders and the weekly review. If you want, it can be chosen as a destination for sharing open questions as well.
- **Working out the channel** — The bot decides which project is meant from the project linked to the Slack channel the message was posted in. The same channel can serve both purposes for one project, but it cannot be linked to more than one project.
- **Morning delivery summary** — Once each morning, the things the team should watch that day (overdue / no due date / unassigned / stalled pull requests) are sent to the team's Slack **as a single message**. **On days with nothing to flag, nothing is sent** (deliberately, so it does not become noise).
- **Each assignee's to-dos for today** — Every weekday morning, up to three things each assignee should do today (overdue / due today or tomorrow / pull request merged but the task is not done / open questions waiting for their answer) are posted to the notification channel in order of importance, mentioning the assignee. Anything beyond three is shown as "N more" with a link to the board. Nothing is posted for people with nothing to do. The buttons on the post let you mark the task done, extend the due date by one week or unassign yourself on the spot, and the result is replied in the post's thread. **Only the assignee and workspace admins can use these buttons** (if anyone else in the channel presses one, nothing changes and the reason is replied in the thread). Nothing is posted for assignees whose Slack account is not linked. In projects without a notification channel, the same content arrives as an in-app notification.
- **Escalating neglected overdue tasks** — When an overdue task in the morning post sees no change to its due date, status or assignee for two business days, the project's PM (the maintainers, or the workspace admins if there are none) gets an in-app notification and one post in the notification channel mentioning the PM and the assignee.
- **Replies that may need the PM's decision** — When AI judges that a reply to an open question or comment asks for the PM's decision (a decision, a blocker, a scope change and so on), it is posted right away to the notification channel, mentioning the PM. Replies such as thank-you notes are not posted. When such an answer to an open question cannot be posted with a mention (for example, there is no notification channel or the PM's Slack account is not linked), the PM gets an in-app notification instead.
- PM on Rails does not send Slack direct messages. Notifications addressed to you personally (assignments, mentions, due dates and so on) arrive through the in-app bell, email and the digest (see below). Everything that arrives in Slack is a post in the notification channel with a mention.

In a channel linked to a project, `@pm-on-rails 未決事項` lists the unresolved open questions, and `@pm-on-rails 未決事項 展開` posts the ones not yet shared into that channel. Posting them is outbound, so only members with an editing role or above can do it.

The Slack agent can be called in plain language. `@pm-on-rails how is the project going?` answers with the project's status right away, and `@pm-on-rails give me the weekly PM review` comes back with a condensed view of what is overdue, due soon, stalled or unassigned, along with lopsided work in progress, items waiting on stakeholders, and gaps in traceability. It never creates or updates anything on its own: it shows a proposal card, and acts only after approval, under your existing PM on Rails permissions and business rules. Write `@pm-on-rails pull the issues out of this thread and put the ones that matter on the board` in a thread and it extracts candidate items, which you can then create on the board from the proposal card.

Proposals arrive as **cards with approval buttons**, and nothing is changed until you press one. Several proposals are combined into one batch card with "Approve all and run", "Review individually" and "Reject". The wording follows the display language (Japanese / English) of the person acting. Approval re-checks that person's permissions and only updates items inside the approved project. When a proposal cannot be shown in full (for example the text is too long), no approval button is offered and you are asked to review it in PM on Rails instead.

> **Slack replies are still Japanese.** The agent understands English, but the messages, buttons (`全部承認して実行` / `個別確認`) and the fixed commands below are not translated yet, so you will see Japanese in Slack even when the app is set to English.

## How you receive them in the app

- **Unread badge** — The bell icon shows the unread count. Open it to see the list.
- **Mark all as read** — Opening the bell, or using "Mark all as read", clears them together.
- **Seen and handled are different** — Marking something read does not make it handled. It only becomes handled once you act on it, by approving or rejecting for example.
- **Snooze** — Put it aside and have it come back at a time you choose.

## Daily digest

- Receive a day's worth of notifications together.
- The delivery time (between 6:00 and 22:00) and the time zone are set **per person**.

## Configuring how you receive them

- **Three presets** (important only / standard / everything). On top of that, you can tune it **per notification type**.
- Where a notification goes depends on how urgent it is (top priority = always delivered, high = immediate email plus in-app, medium = batched for the day, low = in-app only).
- **Administrator overrides** — Administrators can force specific notifications on or off across the workspace (this takes precedence over personal settings).

## It tidies itself up

Old notifications are cleared up automatically (unread ones are kept longer, read ones for less time). Important ones such as escalations are kept rather than removed.

> For the bot to read the channel list and post, the Slack app needs its Bot Token Scopes and the bot has to be in the channel. If the bot is not in the channel, run `/invite @pm-on-rails` in Slack.

---

https://pmonrails.com/en/docs/notifications
