Skip to content
Notis

Gate Code Deployment by Subscription Status

When a team's subscription activates, they automatically gain push access to protected branches; when it ends, access revokes. Code deployment permissions stay perfectly aligned with who paid, without manual branch protection updates.

Trigger

Subscription Added Trigger

Triggered when a subscription is added in Stripe

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

A team's subscription ends, but they still have push access; code gets deployed by an unpaid team, security policy violated, you manually revoke access days later.

  • Only subscribed teams can deploy—revenue status drives access automatically
  • No manual branch protection updates needed
  • Clear audit trail linking deployment access to subscription events
  • Reduces complexity of managing separate access control systems

Setup

Build it in a few focused steps.

  • 1Connect Stripe and GitHub to Notis.
  • 2Create an automation: 'When a subscription is added for team [TeamName], add them to branch [branch-name] push access list'.
  • 3Tell Notis the branch and team mapping: 'for production branch, add [TeamName]' and 'only add if subscription tier is Premium or above'.
  • 4Set Slack notifications; test by adding a subscription in Stripe and confirming the team is added to branch push restrictions.

Questions about this workflow

Can different subscription tiers get different branch access?

Yes. Tell Notis: 'Pro teams get staging branch access, Enterprise teams get production'. Notis enforces tier-based restrictions.

What happens when the subscription ends?

Create a companion automation: 'when subscription is deleted, remove team from branch push access'. Notis handles both grant and revoke.

Will this affect teams with multiple subscriptions?

No. Notis is smart: if a team has multiple active subscriptions, they keep the highest access level. Access only revokes when all subscriptions end.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

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

Stripe triggers

GitHub actions

Charge Failed Trigger

Triggered when a direct charge fails in Stripe's legacy Charges API

TriggerInstant

Accept a repository invitation

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

ActionInstant

Checkout Session Completed Trigger

Triggered when a checkout session is completed in Stripe

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

Invoice Payment Succeeded Trigger

Triggered when an invoice payment is successful in Stripe

TriggerInstant

List stargazers

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

ActionInstant

Payment Intent Failed Trigger

Triggered when a payment intent fails in Stripe

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

Product Created Trigger

Triggered when a product is created in Stripe

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

Subscription Added Trigger

Triggered when a subscription is added in Stripe

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

Subscription Deleted Trigger

Triggered when a subscription is deleted in Stripe

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

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.

Not just Stripe and GitHub. Any combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business GitHub.