Skip to content
Notis

Control App Access Via Webhooks

When your external systems send a webhook (e.g., security audit, deployment policy change, app update), Notis automatically updates which GitHub apps are allowed to push to protected branches—keeping app access aligned with your policies without manual configuration.

Trigger

Webhook received

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

Action

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.

Why this helps

You need to restrict app access but do so manually in GitHub; it's error-prone, gets out of sync with your actual app usage, and requires digging through settings.

  • App access restrictions are automatically managed based on external events
  • No manual GitHub settings configuration needed
  • Policies stay aligned with external system changes in real-time
  • Reduces cognitive overhead of tracking app permissions manually

Setup

Build it in a few focused steps.

  • 1Connect GitHub to Notis.
  • 2Create a webhook automation: 'When you receive a webhook, update branch [branch-name] app restrictions to allow apps [app-slug-list]'.
  • 3Tell Notis how to extract app information from the webhook: 'use the webhook's approved_apps field to determine which apps to allow'.
  • 4Notis generates a webhook URL—configure your external system to send events there.

Questions about this workflow

Can I add and remove apps in one webhook call?

Yes. Tell Notis: 'add apps listed in approved_apps, remove apps not in that list'. Notis will sync the full list.

What if I want to keep existing apps and only add new ones?

Tell Notis: 'add new apps from webhook but keep existing apps'. Notis will append rather than replace.

Can I have different app restrictions for different branches?

Yes. Tell Notis: 'if branch is main, restrict to apps X; if branch is staging, allow apps X and Y'. Notis applies branch-specific rules.

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.