Synchronized Team Permissions: Linear Projects to GitHub Repos
Add someone to a Linear project with lead access and Notis grants them write permissions on the GitHub repository. Remove them and their access revokes automatically.
Trigger
Project Properties Updated
Fires when properties on a Linear project change (status, lead, target date, priority, etc.). Covers projects in both public and private teams — polls with the connected user's token.
Action
Add or update team repository permissions
Sets or updates a team's permission level for a repository within an organization; the team must be a member of the organization.
Why this helps
Team structure changes in Linear but GitHub permissions become stale. People leave projects but retain access to the codebase, or new leads can't push changes because nobody updated their GitHub role.
- Eliminate manual permission updates when team structure changes
- Reduce security risk from stale access
- Ensure leads and members have the right GitHub permissions instantly
- Keep both tools' permission models in sync without manual coordination
Setup
Build it in a few focused steps.
- 1Connect Linear and GitHub to Notis
- 2Create an automation: 'When a user is added to a Linear project with a specific role (lead, member, viewer), grant the corresponding GitHub repository permission'
- 3Map Linear roles to GitHub permissions in your prompt: 'project lead = write access, project member = write access, viewer = read access'
- 4Set trigger to 'Linear project properties updated' (captures team membership changes)
- 5Test by adding someone to a Linear project and verifying their GitHub permissions update
Questions about this workflow
How do I handle multiple repository teams?
Your automation prompt can specify: 'if added to the Frontend project, grant access to the frontend repo team'.
Can this handle multiple permission levels?
Yes. Map as many as you need: 'architects get admin, leads get write, contributors get write, reviewers get read'.
What if someone has access to multiple projects?
Notis merges permissions—they keep the highest level of access across all projects they're part of.
Does this work retroactively for existing team members?
Automations act on new changes going forward. For existing teams, sync them once via Notis chat and automation handles future updates.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Linear to GitHub. A trigger fires from one place; an action lands in another.
Linear triggers
GitHub actions
Comment Received Trigger
Triggered when a comment is received.
Accept a repository invitation
Accepts a pending repository invitation that has been issued to the authenticated user.
Issue Created Trigger
Triggered when a new issue is created.
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.
Issue Updated Trigger
Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.
List stargazers
Deprecated: lists users who have starred a repository; use `list stargazers` instead.
Private Team Comment Created
Fires when a new comment is posted on an issue in a private Linear team (polled with the connected user's token).
Star a repository for the authenticated user
Deprecated: stars a repository for the authenticated user; use `star a repository for the authenticated user` instead.
Private Team Issue Created
Fires when a new issue appears in a private Linear team (polled with the connected user's token).
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.
Private Team Issue Properties Updated
Fires when properties on an issue change in a private Linear team (polled with the connected user's token).
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.
Project Created
Fires when a new Linear project is created. Covers projects in both public and private teams — polls with the connected user's token, so visibility matches what the connected user can see in Linear.
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.
Project Properties Updated
Fires when properties on a Linear project change (status, lead, target date, priority, etc.). Covers projects in both public and private teams — polls with the connected user's token.
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.
Not just Linear and GitHub. Any combination from 985+ 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.
