Linear
Manage and react to issues in Linear
Triggers
Section titled “Triggers”Actions
Section titled “Actions”Instructions
Section titled “Instructions”SuperPlane connects to Linear with OAuth.
- Click the Connect button with client id and secret empty to start the setup wizard.
On Issue
Section titled “On Issue”Trigger key: linear.onIssue
The On Issue trigger starts a workflow execution when issue events occur in a Linear team.
Use Cases
Section titled “Use Cases”- 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
Configuration
Section titled “Configuration”- 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
Outputs
Section titled “Outputs”- Default channel: Emits the Linear webhook payload, including
action,actor, the issueurl, and adataobject with the issueidentifier,title,state,teamandlabels.
Webhook Setup
Section titled “Webhook Setup”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.
Example Data
Section titled “Example Data”{ "data": { "action": "create", "actor": { "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"}Add Issue Comment
Section titled “Add Issue Comment”Component key: linear.addIssueComment
The Add Issue Comment component adds a comment to an existing Linear issue.
Use Cases
Section titled “Use Cases”- 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
Configuration
Section titled “Configuration”- 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.
Output
Section titled “Output”Returns the created comment, including its id, body, url,
createdAt, the user who authored it, and the issue it was added to.
Permissions
Section titled “Permissions”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.
Example Output
Section titled “Example Output”{ "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", "id": "5b2c1d0e-7a8f-4c9b-a1d2-3e4f5a6b7c8d", "name": "Ada Lovelace" } }, "timestamp": "2026-03-27T16:42:11.123456789Z", "type": "linear.comment"}Add Issue Label
Section titled “Add Issue Label”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.
Use Cases
Section titled “Use Cases”- 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
Configuration
Section titled “Configuration”- 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.
Output
Section titled “Output”Returns the updated issue, including its identifier, url, title,
state, team, assignee, priorityLabel and the full
set of labels after the addition.
Permissions
Section titled “Permissions”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.
Example Output
Section titled “Example Output”{ "data": { "assignee": { "displayName": "jane", "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", "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"}Create Issue
Section titled “Create Issue”Component key: linear.createIssue
The Create Issue component creates a new issue in a Linear team.
Use Cases
Section titled “Use Cases”- 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
Configuration
Section titled “Configuration”- 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
Output
Section titled “Output”Returns the created issue, including its identifier (e.g. ENG-142), url, title,
state, team, assignee, priorityLabel and labels.
Permissions
Section titled “Permissions”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.
Example Output
Section titled “Example Output”{ "data": { "assignee": { "displayName": "jane", "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", "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"}Get Issue
Section titled “Get Issue”Component key: linear.getIssue
The Get Issue component fetches a single issue from Linear by its identifier or ID.
Use Cases
Section titled “Use Cases”- 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
Configuration
Section titled “Configuration”- 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.
Output
Section titled “Output”Returns the issue, including its identifier (e.g. ENG-142), url, title,
description, state, team, assignee, creator, project,
priorityLabel and labels.
Permissions
Section titled “Permissions”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.
Example Output
Section titled “Example Output”{ "data": { "assignee": { "displayName": "jane", "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", "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"}Update Issue
Section titled “Update Issue”Component key: linear.updateIssue
The Update Issue component modifies an existing Linear issue: its title, description, status, assignee, priority, labels, or project.
Use Cases
Section titled “Use Cases”- 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
Configuration
Section titled “Configuration”- 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.
Output
Section titled “Output”Returns the updated issue, including its identifier, url, title, state,
team, assignee, priorityLabel, project and labels.
Permissions
Section titled “Permissions”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.
Example Output
Section titled “Example Output”{ "data": { "assignee": { "displayName": "jane", "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", "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"}