workflow recipe

n8n GitHub Issue to Linear Workflow for Cleaner Triage

Use GitHub or GitHub Trigger to receive issue events, IF to filter labels or actions, Set to map fields, and Linear to create a focused issue.

Independent third-party notes. n8n is a trademark of its owner and is referenced only for compatibility and troubleshooting context.

Quick Answer

Use GitHub or GitHub Trigger to receive issue events, IF to filter labels or actions, Set to map fields, and Linear to create a focused issue.

Problem Pattern

GitHub-to-Linear sync gets messy when every issue is copied, labels are not mapped, duplicates are not checked, and Linear fields are created from raw GitHub payloads.

Key Facts

Source event
Use a GitHub trigger or GitHub node pattern that captures the issue event you care about.
Filtering
Only create Linear issues for labels, repositories, or actions that need planning work.
Field mapping
Map title, URL, labels, assignee, priority, and source repository explicitly.
Duplicate risk
Store or search for the GitHub issue URL before creating a new Linear issue.

Recommended Steps

  1. Capture the GitHub issue event or query the issues you want to sync.
  2. Filter by action, label, repository, or assignee so only triage-worthy issues continue.
  3. Use Set to create a clean Linear payload with title, description, source URL, labels, and priority.
  4. Check for an existing Linear issue or stored GitHub URL when duplicate prevention matters.
  5. Create the Linear issue and optionally comment back on GitHub with the Linear link.

Verification

  • A labeled GitHub issue creates one Linear issue.
  • An unlabeled or irrelevant issue is ignored.
  • The Linear issue contains a source GitHub URL.
  • Re-running the same event does not create an unwanted duplicate.

Warnings

  • Do not copy every GitHub issue into Linear without a label or triage rule.
  • Bidirectional sync can create loops unless updates are carefully scoped.
  • GitHub labels and Linear labels may not share the same names or meanings.

Best For

  • Engineering triage workflows
  • Open-source issue intake to private planning
  • Teams that use GitHub for reporting and Linear for execution

Not For

  • Full two-way project management sync without conflict rules
  • Repositories where every issue should stay only in GitHub

Common Mistakes

  • Creating a Linear issue for every GitHub issue.
  • Not preserving the original GitHub issue URL.
  • Assuming label names map one-to-one.
  • Adding bidirectional updates before the one-way flow is stable.

Examples

Triage sync flow Start one-way before adding update sync.
GitHub Trigger: issue opened or labeled
IF: label contains linear-sync
Set: title, source_url, repo, labels, description
Linear: create issue
GitHub optional: comment with Linear issue URL

FAQ

Should this workflow sync every GitHub issue?

Usually no. Use a label, repo rule, or triage state so Linear stays focused.

How do I prevent duplicates?

Use the GitHub issue URL or issue ID as a stable key and check Linear or a small store before creating a new issue.

Sources