Skip to content
Notis

Enforce Branch Protection via Chat

When your team decides a new check is required, just say it in Slack—Notis adds it to your protected branch rules in GitHub.

Trigger

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

Action

Add status check contexts

Adds status check contexts (provided in the request body, e.g., `{"contexts": ["new-context"]}`) to a protected branch, requiring these contexts to have been previously reported.

Why this helps

You add a new CI check to your pipeline, but forget to require it on protected branches. Bad code merges that should have been caught. Or you manually update branch protection rules incorrectly.

  • New CI checks are enforced immediately across your team
  • Branch protection stays in sync with your testing strategy
  • Fewer manual config mistakes in GitHub

Setup

Build it in a few focused steps.

  • 1Connect Slack and GitHub to Notis.
  • 2Create an automation: 'When we discuss adding a status check requirement in Slack (like a new linter or test suite), add it to the protected branch rules in GitHub.'
  • 3Specify which Slack channel hosts these decisions and which branch to protect.
  • 4Pick a Notis channel for confirmations.
  • 5Test by discussing adding a new status check in Slack—Notis will update the branch protection and confirm.

Questions about this workflow

How does Notis know which branch to update?

You specify the branch when setting up the automation (usually 'main' or 'develop'). You can also mention the branch in your Slack message.

Can I add multiple checks at once?

Yes. Say 'require linter AND tests AND security scan' in your Slack message, and Notis will add all of them.

What if I want to remove a check?

Same workflow—just say 'stop requiring the old-linter check' in Slack, and Notis removes it.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Slack to GitHub. A trigger fires from one place; an action lands in another.

Slack triggers

GitHub actions

Recurring trigger

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

TriggerScheduled

Accept a repository invitation

Accepts a pending repository invitation that has been issued to the authenticated user.

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

List repositories starred by the authenticated user

Deprecated: lists repositories starred by the authenticated user, including star creation timestamps; use 'list repositories starred by the authenticated user' instead.

ActionInstant

New Channel Created Trigger

Triggered when a new channel is created in Slack.

TriggerInstant

List stargazers

Deprecated: lists users who have starred a repository; use `list stargazers` instead.

ActionInstant

Channel Message Received

Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.

TriggerInstant

Star a repository for the authenticated user

Deprecated: stars a repository for the authenticated user; use `star a repository for the authenticated user` instead.

ActionInstant

Direct Message Received

Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.

TriggerInstant

Add email for auth user

Adds one or more email addresses (which will be initially unverified) to the authenticated user's github account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.

ActionInstant

Message Reaction Added

Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Add app access restrictions

Replaces github app access restrictions for an existing protected branch; requires a json array of app slugs in the request body, where apps must be installed and have 'contents' write permissions.

ActionInstant

Message Reaction Removed

Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.

TriggerInstant

Add a repository collaborator

Adds a github user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.

ActionInstant

Reaction Added Trigger

DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.

TriggerInstant

Add a repository to an app installation

Adds a repository to a github app installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.

ActionInstant

Connect any two apps with Notis in the middle.

Slack and GitHub, or any other combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business GitHub.