GitHub + Slack
Only the access needed to dispatch a review.
Every permission has a specific job. Here is the complete private-beta scope, and what Diff Dispatch never does with it.
Complete private-beta scopeNever merges · Never changes code
01 · REQUIRED
GitHub App
Installed on the repositories you select. Four permissions, each with one job.
- Repository metadataRead
Identify selected repositories, default branches, and repository state.
- ContentsRead
Keep a mirror of the repository’s history, to see who wrote the code a pull request changes.
- Pull requestsWrite
Read pull request state and request reviewers. Diff Dispatch never merges or changes code.
- Organization membersRead
Find eligible reviewers and connect GitHub identities to Slack members.
02 · REQUIRED
Webhook events
How Diff Dispatch learns a pull request opened, a review landed, or your team changed.
installationinstallation_repositoriespushpull_requestpull_request_reviewrepositorymembership
Delivery IDs are stored for deduplication; duplicate and out-of-order webhooks do not create duplicate assignments.
03 · OPTIONAL
Slack scopes
Only if you connect Slack for reminders. Reviews still happen in GitHub without it.
chat:writeim:writeSend assignment messages, working-time reminders, and an optional digest.
users:readusers:read.emailMatch Slack identities to GitHub members using verified email, with admin correction and self-linking where needed.
channels:readLet an administrator select a digest destination. The bot must be invited to that channel; Diff Dispatch does not request workspace-wide posting access.
commandsAdd the /diffdispatch-link command, which members use to link their Slack account to their Diff Dispatch account.
04 · BY DESIGN
What it never does
Routing asks people to review. Everything else stays with your team.
- Merge, approve, or close a pull request
- Push commits or change code
- Review code in place of your team
- Post to channels it wasn’t invited to
Questions from a security review? hello@diffdispatch.com · Data policy