Keep individual branch push access tied to an approved register
When a branch access row changes to its approved state, Notis sets the exact allowed GitHub usernames on the protected branch.
Trigger
Spreadsheet Row Changed
Triggers when a looked-up spreadsheet row changes. This trigger monitors a specific row (located by searching for a query value within a user-specified range) and fires when the row's values change, when the row appears, or when the row disappears.
Action
Add user access restrictions
Sets/replaces list of users allowed to push to a protected branch; usernames (e.g., `["user1"]`) must be a json array in request body (not schema parameters), an empty array `[]` removes all restrictions.
Why this helps
Temporary individual branch access lingers because the policy record and the actual GitHub restriction list are maintained separately.
- Reduces stale individual push access
- Creates a reviewable source for the full allowed-user list
- Avoids manual transcription of usernames
Setup
Build it in a few focused steps.
- 1Connect the access register and GitHub to Notis.
- 2Start an automation and choose a secure channel for every run result.
- 3Write: "When this protected-branch access row is approved, replace allowed push users with the complete listed GitHub username set."
- 4Use Spreadsheet Row Changed as the trigger and test with a low-risk branch.
Questions about this workflow
Does the workflow add to the current list?
No. The GitHub action replaces the user restriction list, so include every intended user in the approved row.
Can an empty approved list remove all user restrictions?
Yes. An empty list removes all user access restrictions, so use an explicit approval safeguard for that case.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Google Sheets to GitHub. A trigger fires from one place; an action lands in another.
Google Sheets triggers
GitHub actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Accept a repository invitation
Accepts a pending repository invitation that has been issued to the authenticated user.
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
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.
Aggregate Metric Changed
Triggers when an aggregate metric (SUM/COUNT/AVG/MIN/MAX) changes in a Google Sheets spreadsheet. This trigger monitors an aggregate calculation on a target column (optionally filtered by a search column/value) and fires when the calculated result changes.
List stargazers
Deprecated: lists users who have starred a repository; use `list stargazers` instead.
Cell Range Values Changed
Triggers when values in a specified A1 range change in Google Sheets. This trigger monitors a specific cell or range of cells and fires when any values change.
Star a repository for the authenticated user
Deprecated: stars a repository for the authenticated user; use `star a repository for the authenticated user` instead.
Conditional Format Rule Changed
Triggers when conditional formatting rules change in a Google Spreadsheet. Detects when rules are added, updated, or removed. Uses snapshot-based diffing to detect changes between polls.
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.
Data Validation Rule Changed
Triggers when data validation rules change (added/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.
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.
Developer Metadata Changed
Triggers when developer metadata entries change (new/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.
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.
Filtered Range Values Changed
Polling trigger that monitors Google Sheets filtered ranges for value changes. Uses snapshot-based diffing to detect when values matching a data filter change. Emits the matched values when changes are detected.
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.
Connect any two apps with Notis in the middle.
Google Sheets 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.