Skip to content
Notis

Keep protected-branch access aligned with the SEO release team

A trusted project-state webhook tells Notis to set the complete approved team list for the protected GitHub branch tied to the Semrush project.

Trigger

Webhook received

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

Action

Add team access restrictions

Overwrites the list of teams (and their child teams) granted push access to a protected branch; the list of team slugs must be provided in the http post request body.

Why this helps

Temporary cross-functional release access is easy to grant informally and easy to forget when project responsibilities change.

  • Aligns branch access with current project ownership
  • Makes the full allowed-team list deliberate
  • Reduces manual settings changes

Setup

Build it in a few focused steps.

  • 1Connect Semrush and GitHub to Notis once.
  • 2Create an automation that applies the complete approved GitHub team restriction list when a trusted webhook marks a Semrush project ready for release work.
  • 3Select an incoming webhook trigger and a secure report channel.
  • 4Test against a non-production branch with existing organization teams.

Questions about this workflow

Does this preserve teams already on the branch?

Only if they are included in the requested list. GitHub overwrites the existing team restriction list.

Are child teams covered?

GitHub grants access to the selected teams and their child teams.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Semrush 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

List stargazers

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

ActionInstant

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

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

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

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

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.

Semrush 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.