Real-Time Status Sync: Linear to GitHub Labels

Move an issue to 'In Review' in Linear and Notis instantly adds the 'in-review' label to GitHub. Move it to 'Done' and the label changes to 'completed'. Your entire team stays on the same page.

Trigger

Issue Updated Trigger

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

GitHub logo

Action

Add labels to an issue

Adds labels (provided in the request body) to a repository issue; labels that do not already exist are created.

Why this helps

Status moves in Linear but GitHub labels don't follow. Different team members see different statuses depending on where they last looked, leading to wasted effort on tasks that are already done elsewhere.

  • Ensure one source of truth for issue status across both tools
  • Prevent duplicate work by making actual status visible everywhere
  • Automatically notify relevant team members when status changes (through GitHub label visibility)
  • Reduce the mental overhead of checking both tools to know what's really happening

Setup

Build it in a few focused steps.

  • 1Verify Linear and GitHub are connected
  • 2Create an automation: 'When a Linear issue status changes to In Progress, add the in-progress label to GitHub'
  • 3Repeat for each status your team uses (In Review, Done, Blocked, etc.)
  • 4Set trigger to 'Linear issue properties updated'
  • 5Create one master automation or multiple status-specific ones—Notis adapts to whichever you prefer
  • 6Test by moving an issue through a few statuses and verifying GitHub labels update each time

Questions about this workflow

Do I need to match GitHub label names exactly to Linear statuses?

No. Your prompt can map them: 'when Linear says "In Review", add the github-review-needed label' or any other naming convention your team uses.

What about custom Linear statuses?

Notis learns your custom statuses and can map them to GitHub labels. Just mention them in the automation prompt.

Can this remove old labels when status changes?

Yes. Your prompt can say 'remove in-progress label and add in-review when the status changes to reviewing'.

Will this work with GitHub's column/project views?

Yes. Some teams also use GitHub labels to automatically move cards in project tables, so this automation handles both.

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.