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.

GitHub logo

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 logo

Linear triggers

GitHub logo

GitHub actions

Comment Received Trigger

Triggered when a comment is received.

TriggerInstant

Accept a repository invitation

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

ActionInstant

Issue Created Trigger

Triggered when a new issue is created.

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

Issue Updated Trigger

Triggered when an issue is updated. For example labels are changed, issue status is changed, etc.

TriggerInstant

List stargazers

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

ActionInstant

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

TriggerPolling

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

Private Team Issue Created

Fires when a new issue appears in a private Linear team (polled with the connected user's token).

TriggerPolling

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

Private Team Issue Properties Updated

Fires when properties on an issue change in a private Linear team (polled with the connected user's token).

TriggerPolling

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

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.

TriggerPolling

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

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.

TriggerPolling

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