Skip to content

Linear

Manage and react to issues in Linear

SuperPlane connects to Linear with OAuth.

  1. Click the Connect button with client id and secret empty to start the setup wizard.

Trigger key: linear.onIssue

The On Issue trigger starts a workflow execution when issue events occur in a Linear team.

  • Notify Slack when an issue is created so the team can triage it
  • Create a GitHub issue when a Linear issue is created, for traceability
  • Update external dashboards when an issue is completed or deleted
  • Team (required): Linear team to monitor
  • Actions (required): Which issue actions to listen for (created, updated, deleted). Default: created.
  • Labels (optional): Only trigger for issues carrying specific labels
  • Default channel: Emits the Linear webhook payload, including action, actor, the issue url, and a data object with the issue identifier, title, state, team and labels.

This trigger registers a Linear webhook automatically when configured, and removes it when the trigger is deleted. Linear only allows webhook management for workspace admins or OAuth tokens with the admin scope, so the Linear connection must be authorized by a workspace admin.

{
"data": {
"action": "create",
"actor": {
"email": "[email protected]",
"id": "b5ea5f1f-8adc-4f52-b4bd-ab4e84cf51ba",
"name": "John Doe",
"type": "user",
"url": "https://linear.app/acme/profiles/john"
},
"createdAt": "2026-03-26T19:29:35.841Z",
"data": {
"assigneeId": "aacdca22-6266-4c0a-ab3c-8fa70a26765c",
"createdAt": "2026-03-26T19:29:35.841Z",
"creatorId": "b5ea5f1f-8adc-4f52-b4bd-ab4e84cf51ba",
"description": "The deploy job fails when retried after a timeout.",
"id": "2174add1-f7c8-44e3-bbf3-2d60b5ea8bc9",
"identifier": "ENG-142",
"labelIds": [
"3f0c1a55-9d2e-4a1b-8c3f-77a1b2c3d4e5"
],
"labels": [
{
"id": "3f0c1a55-9d2e-4a1b-8c3f-77a1b2c3d4e5",
"name": "bug"
}
],
"number": 142,
"parentId": null,
"previousIdentifiers": [],
"priority": 2,
"priorityLabel": "High",
"projectId": "7a1e6b70-1b5c-4a9c-9b1e-0d2f4a8e3c11",
"state": {
"id": "f2f2b3d1-6a55-4f22-9f70-1a2b3c4d5e6f",
"name": "Todo",
"type": "unstarted"
},
"stateId": "f2f2b3d1-6a55-4f22-9f70-1a2b3c4d5e6f",
"subscriberIds": [
"b5ea5f1f-8adc-4f52-b4bd-ab4e84cf51ba"
],
"team": {
"id": "9cfb482a-81e3-4154-b5b9-2c805e70a02d",
"key": "ENG",
"name": "Engineering"
},
"teamId": "9cfb482a-81e3-4154-b5b9-2c805e70a02d",
"title": "Deploy pipeline fails on retry",
"updatedAt": "2026-03-26T19:29:35.841Z"
},
"organizationId": "dc844923-f9a4-40a3-825c-dea7747e57d6",
"type": "Issue",
"url": "https://linear.app/acme/issue/ENG-142/deploy-pipeline-fails-on-retry",
"webhookId": "000042e3-d123-4980-b49f-8e140eef9329",
"webhookTimestamp": 1774553375841
},
"timestamp": "2026-03-26T19:29:35.841265352Z",
"type": "linear.issue"
}

Component key: linear.addIssueComment

The Add Issue Comment component adds a comment to an existing Linear issue.

  • Automated updates: Post deployment status or workflow results onto the issue
  • Runbook linking: Drop runbook links, error details, or context for responders
  • Cross-tool sync: Mirror notes from Slack or another tracker into Linear
  • Issue (required): The issue to comment on, by identifier (e.g. ENG-142) or ID. Supports expressions.
  • Body (required): The comment text, written in Markdown. Supports expressions.

Returns the created comment, including its id, body, url, createdAt, the user who authored it, and the issue it was added to.

The user who authorized the Linear connection must be able to comment on the issue. SuperPlane’s OAuth connection includes the write scope, which covers creating comments.

{
"data": {
"body": "Deploy pipeline is green again — root cause was a flaky runner.",
"createdAt": "2026-03-27T16:42:11.123Z",
"id": "d3f9b0a2-4c1e-4b6a-9f2e-8a1b2c3d4e5f",
"issue": {
"id": "2174add1-f7c8-44e3-bbf3-2d60b5ea8bc9",
"identifier": "ENG-142",
"title": "Deploy pipeline fails on retry",
"url": "https://linear.app/acme/issue/ENG-142/deploy-pipeline-fails-on-retry"
},
"updatedAt": "2026-03-27T16:42:11.123Z",
"url": "https://linear.app/acme/issue/ENG-142/deploy-pipeline-fails-on-retry#comment-d3f9b0a2",
"user": {
"displayName": "ada",
"email": "[email protected]",
"id": "5b2c1d0e-7a8f-4c9b-a1d2-3e4f5a6b7c8d",
"name": "Ada Lovelace"
}
},
"timestamp": "2026-03-27T16:42:11.123456789Z",
"type": "linear.comment"
}

Component key: linear.addIssueLabel

The Add Issue Label component adds one or more labels to an existing Linear issue, keeping any labels already on it.

  • Triage automation: Label issues automatically based on workflow signals
  • Status tracking: Add labels as an issue moves through a workflow
  • Cross-tool sync: Apply labels from another system onto a Linear issue
  • Team (required): The Linear team whose labels populate the picker. Select the team the issue belongs to.
  • Issue (required): The issue to label, by identifier (e.g. ENG-142) or ID. Supports expressions.
  • Labels (optional): One or more existing labels to add. Existing labels on the issue are kept.
  • New Labels (optional): Names of labels to create if they don’t exist yet, then add. A name that already matches a team or workspace label is reused instead of creating a duplicate. New labels are created in the selected team.

At least one label must be provided across the two fields.

Returns the updated issue, including its identifier, url, title, state, team, assignee, priorityLabel and the full set of labels after the addition.

The user who authorized the Linear connection must be able to edit the issue. SuperPlane’s OAuth connection includes the write scope, which covers adding and creating labels. Labels are added one at a time, so a mid-way failure may leave some already applied.

{
"data": {
"assignee": {
"displayName": "jane",
"email": "[email protected]",
"id": "aacdca22-6266-4c0a-ab3c-8fa70a26765c",
"name": "Jane Doe"
},
"branchName": "jane/eng-142-deploy-pipeline-fails-on-retry",
"createdAt": "2026-03-26T19:29:35.841Z",
"creator": {
"displayName": "john",
"email": "[email protected]",
"id": "b5ea5f1f-8adc-4f52-b4bd-ab4e84cf51ba",
"name": "John Doe"
},
"description": "The deploy job fails when retried after a timeout.",
"id": "2174add1-f7c8-44e3-bbf3-2d60b5ea8bc9",
"identifier": "ENG-142",
"labels": [
{
"id": "3f0c1a55-9d2e-4a1b-8c3f-77a1b2c3d4e5",
"name": "bug"
},
{
"id": "8b2d4e66-1c3a-4f5b-9d7e-2a4c6e8f0b12",
"name": "regression"
}
],
"number": 142,
"priority": 1,
"priorityLabel": "Urgent",
"project": {
"id": "7a1e6b70-1b5c-4a9c-9b1e-0d2f4a8e3c11",
"name": "Q3 Reliability"
},
"state": {
"id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"name": "In Progress",
"type": "started"
},
"team": {
"id": "9cfb482a-81e3-4154-b5b9-2c805e70a02d",
"key": "ENG",
"name": "Engineering"
},
"title": "Deploy pipeline fails on retry",
"updatedAt": "2026-03-27T14:05:52.238Z",
"url": "https://linear.app/acme/issue/ENG-142/deploy-pipeline-fails-on-retry"
},
"timestamp": "2026-03-27T14:05:52.238104773Z",
"type": "linear.issue"
}

Component key: linear.createIssue

The Create Issue component creates a new issue in a Linear team.

  • Bug tracking: Open a Linear issue when an alert fires or a pipeline fails
  • Task creation: Turn incoming requests into tracked work automatically
  • Traceability: Mirror an issue from another tracker into Linear
  • Team (required): The Linear team to create the issue in
  • Title (required): The issue title
  • Description (optional): Issue description, written in Markdown
  • Project (optional): Project to add the issue to
  • Status (optional): Workflow state for the new issue. Leave empty to use the team’s default — Linear puts new issues in the first Backlog state, or in Triage when the team has triage enabled.
  • Assignee (optional): Team member to assign the issue to
  • Priority (optional): No priority, Urgent, High, Medium or Low
  • Labels (optional): Labels to apply to the issue

Returns the created issue, including its identifier (e.g. ENG-142), url, title, state, team, assignee, priorityLabel and labels.

The user who authorized the Linear connection must be a member of the selected team. SuperPlane’s OAuth connection includes the write scope, which covers creating issues.

{
"data": {
"assignee": {
"displayName": "jane",
"email": "[email protected]",
"id": "aacdca22-6266-4c0a-ab3c-8fa70a26765c",
"name": "Jane Doe"
},
"branchName": "jane/eng-142-deploy-pipeline-fails-on-retry",
"createdAt": "2026-03-26T19:29:35.841Z",
"creator": {
"displayName": "john",
"email": "[email protected]",
"id": "b5ea5f1f-8adc-4f52-b4bd-ab4e84cf51ba",
"name": "John Doe"
},
"description": "The deploy job fails when retried after a timeout.",
"id": "2174add1-f7c8-44e3-bbf3-2d60b5ea8bc9",
"identifier": "ENG-142",
"labels": [
{
"id": "3f0c1a55-9d2e-4a1b-8c3f-77a1b2c3d4e5",
"name": "bug"
}
],
"number": 142,
"priority": 2,
"priorityLabel": "High",
"project": {
"id": "7a1e6b70-1b5c-4a9c-9b1e-0d2f4a8e3c11",
"name": "Q3 Reliability"
},
"state": {
"id": "f2f2b3d1-6a55-4f22-9f70-1a2b3c4d5e6f",
"name": "Todo",
"type": "unstarted"
},
"team": {
"id": "9cfb482a-81e3-4154-b5b9-2c805e70a02d",
"key": "ENG",
"name": "Engineering"
},
"title": "Deploy pipeline fails on retry",
"updatedAt": "2026-03-26T19:29:35.841Z",
"url": "https://linear.app/acme/issue/ENG-142/deploy-pipeline-fails-on-retry"
},
"timestamp": "2026-03-26T19:29:35.841265352Z",
"type": "linear.issue"
}

Component key: linear.getIssue

The Get Issue component fetches a single issue from Linear by its identifier or ID.

  • Read state, then act: Look up an issue’s current status, assignee, or labels before deciding what to do next
  • Data enrichment: Pull issue details into a workflow to combine with other information
  • Status checking: Check whether an issue is done before performing an action
  • Issue (required): The issue to fetch. Accepts either the human-readable identifier (e.g. ENG-142) or the issue’s UUID. Supports expressions, so the value can come from an upstream event.

Returns the issue, including its identifier (e.g. ENG-142), url, title, description, state, team, assignee, creator, project, priorityLabel and labels.

SuperPlane’s OAuth connection includes the read scope, which covers reading issues. The issue must be visible to the user who authorized the Linear connection.

{
"data": {
"assignee": {
"displayName": "jane",
"email": "[email protected]",
"id": "aacdca22-6266-4c0a-ab3c-8fa70a26765c",
"name": "Jane Doe"
},
"branchName": "jane/eng-142-deploy-pipeline-fails-on-retry",
"createdAt": "2026-03-26T19:29:35.841Z",
"creator": {
"displayName": "john",
"email": "[email protected]",
"id": "b5ea5f1f-8adc-4f52-b4bd-ab4e84cf51ba",
"name": "John Doe"
},
"description": "The deploy job fails when retried after a timeout.",
"id": "2174add1-f7c8-44e3-bbf3-2d60b5ea8bc9",
"identifier": "ENG-142",
"labels": [
{
"id": "3f0c1a55-9d2e-4a1b-8c3f-77a1b2c3d4e5",
"name": "bug"
}
],
"number": 142,
"priority": 2,
"priorityLabel": "High",
"project": {
"id": "7a1e6b70-1b5c-4a9c-9b1e-0d2f4a8e3c11",
"name": "Q3 Reliability"
},
"state": {
"id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"name": "In Progress",
"type": "started"
},
"team": {
"id": "9cfb482a-81e3-4154-b5b9-2c805e70a02d",
"key": "ENG",
"name": "Engineering"
},
"title": "Deploy pipeline fails on retry",
"updatedAt": "2026-03-27T08:12:04.512Z",
"url": "https://linear.app/acme/issue/ENG-142/deploy-pipeline-fails-on-retry"
},
"timestamp": "2026-03-27T08:12:04.512873941Z",
"type": "linear.issue"
}

Component key: linear.updateIssue

The Update Issue component modifies an existing Linear issue: its title, description, status, assignee, priority, labels, or project.

  • Status updates: Move an issue to a new workflow state based on workflow results
  • Automated triage: Set the priority, assignee, or labels when a workflow processes the issue
  • Cross-tool sync: Mirror state from another system into Linear
  • Team (required): The Linear team whose statuses, members, labels and projects populate the pickers below. Select the team the issue belongs to.
  • Issue (required): The issue to update, by identifier (e.g. ENG-142) or ID. Supports expressions.
  • Title (toggle): New title for the issue
  • Description (toggle): New description, written in Markdown
  • Status (toggle): New workflow state for the issue
  • Assignee (toggle): Team member to assign the issue to
  • Priority (toggle): No priority, Urgent, High, Medium or Low
  • Labels (toggle): Labels to set on the issue, replacing any existing labels
  • Project (toggle): Project to move the issue to

Each field besides Team and Issue is toggled on individually, so only the fields you enable are sent in the update. At least one must be enabled. Enabling a field with an empty value clears it - toggling on Assignee with no one selected unassigns the issue, toggling on Labels with nothing selected removes all of them, and toggling on Project with nothing selected removes the issue from its project. Title and Status are the exception: Linear does not allow a blank title or a missing status, so they must have a value when enabled.

Returns the updated issue, including its identifier, url, title, state, team, assignee, priorityLabel, project and labels.

The user who authorized the Linear connection must be able to edit the issue. SuperPlane’s OAuth connection includes the write scope, which covers updating issues.

{
"data": {
"assignee": {
"displayName": "jane",
"email": "[email protected]",
"id": "aacdca22-6266-4c0a-ab3c-8fa70a26765c",
"name": "Jane Doe"
},
"branchName": "jane/eng-142-deploy-pipeline-fails-on-retry",
"createdAt": "2026-03-26T19:29:35.841Z",
"creator": {
"displayName": "john",
"email": "[email protected]",
"id": "b5ea5f1f-8adc-4f52-b4bd-ab4e84cf51ba",
"name": "John Doe"
},
"description": "The deploy job fails when retried after a timeout.",
"id": "2174add1-f7c8-44e3-bbf3-2d60b5ea8bc9",
"identifier": "ENG-142",
"labels": [
{
"id": "3f0c1a55-9d2e-4a1b-8c3f-77a1b2c3d4e5",
"name": "bug"
}
],
"number": 142,
"priority": 1,
"priorityLabel": "Urgent",
"project": {
"id": "7a1e6b70-1b5c-4a9c-9b1e-0d2f4a8e3c11",
"name": "Q3 Reliability"
},
"state": {
"id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"name": "In Progress",
"type": "started"
},
"team": {
"id": "9cfb482a-81e3-4154-b5b9-2c805e70a02d",
"key": "ENG",
"name": "Engineering"
},
"title": "Deploy pipeline fails on retry",
"updatedAt": "2026-03-27T14:05:52.238Z",
"url": "https://linear.app/acme/issue/ENG-142/deploy-pipeline-fails-on-retry"
},
"timestamp": "2026-03-27T14:05:52.238104773Z",
"type": "linear.issue"
}