Approve rules in Slack. Enforce them in GitHub.

Mo lets teams approve rules and decisions where the conversation already happens, then checks GitHub pull requests against them before merge.

See 10s demo Start free trial

No new workflow. Slack stays the input. GitHub stays the checkpoint.

Channels

  • #general
  • #product-decisions
  • #engineering
  • #releases

Conversation Example

Alex 9:14 AM
Only admins can export users.

Maya 9:16 AM
@Mo approve this

Mo 9:16 AM
✓ Approved
"Only admins can export users."

→
Rule captured

Pull request #248⬤ Open

mo-bot bot
— Conflicts found

Conflicts with approved rule

Approved: Only admins can export users

PR includes: export access for all users

CONFLICT WITH APPROVED RULE

Why teams start in Slack

Rules and decisions are often approved in Slack long before a pull request is opened.
That is where teams:

  • clarify behavior
  • settle edge cases
  • approve exceptions
  • confirm who should be allowed to do what
  • lock in pricing, onboarding, and access logic

Mo turns those approvals into a merge-time check.

What the flow looks like

  1. Step 1
    A rule is approved in Slack
    A product, ops, founder, or engineering conversation ends with an explicit rule or decision.
    Slack / #product-decisions
    "Guest users cannot access billing settings."

  2. Step 2
    Someone tags Mo
    The team uses @Mo approve this in Slack.
    Slack / #product-decisions
    @Mo approve this

  3. Step 3
    Mo stores the approved rule
    The rule becomes available for pull request checks.
    Mo / Rule stored
    ✓ Approved
    "Guest users cannot access billing settings."

  4. Step 4
    A GitHub pull request opens
    Developers keep working in GitHub as usual.

  5. Step 5
    Mo checks the pull request before merge
    If the code breaks the approved rule, Mo flags it in the PR.
    GitHub / Pull request #248 / mo-bot
    Conflicts with approved rule

Examples of rules teams approve in Slack

Pricing
"Trial period must stay at 7 days."
Permissions
"Only admins can export users."
Onboarding
"Users must confirm email before starting a trial."
Compliance-sensitive
"Restricted regions must not access payouts."
Product behavior
"Guest users cannot see billing settings."

Why GitHub is the right place to enforce it

GitHub is where the final code change is reviewed before merge.
That makes it the right place to check:

  • whether the approved rule still holds
  • whether the PR quietly widened access
  • whether the pricing logic changed
  • whether an onboarding gate was removed
  • whether the team is about to ship something different from what was approved

What Mo posts in the pull request

mo-botbot

Conflicts found — Pull request #248
Approved rule "Only admins can export users"
Source Slack / #product-decisions / Maya
Detected in PR Export access opened to non-admin users
Status BLOCKED BEFORE MERGE

Structured, visible, and tied to the exact approved rule.

What teams like about this model

  1. No new planning layer
    The team keeps using Slack and GitHub.

  2. Fast to start
    Approve one rule and check the next pull request.

  3. Works for non-developers too
    Product, ops, founders, and engineering leads can approve rules in Slack.

  4. Merge-time protection
    The rule is checked where it matters most: before merge.

Best fit for teams that already decide things in chat

If your team already uses Slack to settle product behavior, permissions, pricing, or onboarding logic, Mo gives those approvals a place to matter later — when the code is about to merge.

FAQ

Do we need to use the Mo portal?
No. Slack is the primary way teams approve rules and decisions. The portal is secondary.

Can non-engineers approve rules in Slack?
Yes. Product, ops, founders, and engineering leads can approve rules where the conversation already happens.

Does Mo replace GitHub review?
No. Mo adds a rule check before merge. It does not replace normal code review.

What if a rule changes later?
Mo can enforce the latest approved version of the rule once it is updated and approved.