Documentation
Notifications

Slack Notifications

How Tenpace keeps your team informed about pull requests without the noise.

Design philosophy

Most PR bots flood your Slack channel with a new message for every event. Tenpace takes a different approach: one message per PR, updated in place. Reviews, CI status, and other changes update the existing message instead of creating new ones. Your channel stays readable.

PR message lifecycle

When a PR opens

A message is posted to your configured Slack channel containing:

  • PR title and link
  • Author (with Slack @mention if they've linked their account)
  • Requested reviewers (with Slack @mentions for linked members)
  • PR description (optionally in a thread)
  • Current CI status
  • Diff stats (additions, deletions)

As the PR evolves

The existing message is edited in place when:

  • A reviewer approves or requests changes
  • CI checks complete (pass or fail)
  • New commits are pushed
  • The PR is merged or closed

The message status line always reflects the current state, so anyone can look at the channel and know exactly what's happening.

When a PR is converted to draft

The Slack message is deleted to avoid cluttering the channel with work-in-progress PRs. When the PR is marked ready for review, a new message is posted.

Reaction actions

Tenpace seeds two action reactions on each pull request notification:

  • 🔍 Self-assign — Add the reaction to request yourself as a reviewer; remove it to remove that review request.
  • ✅ Approve — Add the reaction to submit an approving GitHub review as your connected GitHub account.

Approval requires both your Slack identity and GitHub account to be connected in your Tenpace profile. Pull request authors cannot approve their own work. Removing the approval reaction does not dismiss the GitHub review, and repeated Slack deliveries do not create duplicate reviews.

Team admins can choose a different emoji for either action in Settings → Customizations.

Direct messages

Review notifications

When a reviewer submits a review, the PR author receives a Slack DM. This is immediate and personal — reviewers know their work is visible, authors know when they have feedback.

Daily PR digest

When the daily digest is enabled, each team member receives a personalized DM summarizing:

  • Needs your review — PRs where you're a requested reviewer
  • Your PRs awaiting review — Your open PRs that still need approvals
  • Stale PRs — Your PRs with no recent activity

The digest only includes PRs that need action. If you have nothing pending, no DM is sent. Configure the digest in Settings → Reminders.

@mention policies

You can control how aggressively Tenpace @mentions people in the reviewer mention policy setting:

PolicyBehavior
all@mention all requested reviewers (default)
connected_onlyOnly @mention reviewers who've linked their GitHub account
noneShow reviewer names without @mentions

Configure this per channel in Settings → Channels.

CI status

Tenpace listens for GitHub check suite completion events and updates the PR message with the result. If a check suite fails, the PR message clearly shows the failure state.

CI status also gates the pr.ready_to_merge webhook event — a PR won't be considered ready if CI is failing, even if all reviewers have approved.

External PR acknowledgment

When a PR from a contributor outside your team is opened on a watched repository, Tenpace can send them a DM acknowledging their contribution. Enable this in channel settings with Acknowledge external PRs.

Customizing notifications

Each Slack channel can be configured independently:

  • Repository filters — Only show PRs from specific repositories
  • Label filters — Only show PRs with specific GitHub labels
  • Show repo name in messages — Useful for multi-repo channels
  • Post descriptions to thread — Keeps the main channel message compact
  • Show author in subtitle — Toggle author attribution