---
title: Linear
description: Create and update Linear issues, add comments, and list teams and projects — with the current page as context.
---

File and update Linear issues, add comments, and look up teams and projects, with the page you are reading attached as context.

Pick a saved connection in the **Credential** field, or create one from there. It signs in with a Bearer Token.

## What it does

The Linear node works on four kinds of things (**Resource**), each with its own **Operation**:

* **Issue**: create an issue, update its title, description, priority or state, get one issue, or list issues.
* **Comment**: add a comment to an issue.
* **Team**: list your teams, mainly to find the **Team ID** a new issue needs.
* **Project**: list your projects and their ids.

When you create an issue, anything in **Source URL** and **Selection** is added to the end of the description: the selection as a quote, then a `Source:` line with the URL. This is how you file an issue "about this page" in one step.

The list operations return up to **Limit** results (50 by default, 100 at most). **Issue → List** returns issues from the whole workspace, without a filter.

## When to use it

* File a bug report from the page you are on, with the selected text quoted and the URL attached.
* Turn feedback collected by an earlier node (a form, an email) into issues for a team.
* Comment on an issue when something happens elsewhere, for example a deploy page changes.
* Read an issue's title, description and state to feed an AI node.

For GitHub issues use [GitHub](/nodes/builtin/integration/github/) instead.

## Inputs and settings

Call the Linear API yourself with the HTTP Request node, and pick the same connection in its **Credential** field.

* **Team ID** is the team's id, not its name or key. Run **Team → List** once and copy the `id` of the team you want.
* **Issue ID** accepts the short identifier you see in Linear (`ENG-123`) or the issue's long id.
* **Source URL** and **Selection** are usually expressions, for example `{{ $input.pageUrl }}` and `{{ $input.selectionText }}` after a [Context Menu](/nodes/builtin/trigger/contextmenu/) trigger. Leave them empty to send only the **Description**.
* **State ID** is the id of a workflow state (such as "In Progress"), not its name. The node cannot list states, so copy the id from Linear.

## Outputs

* **Issue → Create**, **Update** and **Get** return one issue with its `id`, `identifier` (like `ENG-123`), `title` and `url`. **Get** also returns the `description` and the `state` name.
* **Issue → List** returns one item per issue, with the same four fields.
* **Comment → Create** returns the new comment's `id` and `body`.
* **Team → List** returns `id`, `name` and `key` for each team; **Project → List** returns `id` and `name`.

Use `{{ $input.url }}` after **Create** to link to the new issue in a notification.

## Dependencies and credentials

* **Credential** (connection, Bearer Token): required. See [Connect Linear](/app/connections/linear/).

Create a Linear personal API key in Linear under **Settings → Security & access → Personal API keys**, and save it as a Bearer Token credential. Paste the key as Linear shows it. The key works on the whole workspace it was created in, so create it in the workspace you want the workflow to use. See [Create a credential](/app/connections/create/).

## Example workflow

1. A [Context Menu](/nodes/builtin/trigger/contextmenu/) trigger with **Menu Contexts** set to `Selection` adds an entry to the right-click menu when you highlight text. It passes on `selectionText` and `pageUrl`.
2. Linear, **Issue → Create**, with **Team ID** set to your team's id, **Title** `Bug report from the web`, **Selection** `{{ $input.selectionText }}`, **Source URL** `{{ $input.pageUrl }}`, **Priority** `High`.
3. [Browser Notification](/nodes/extension/browsernotification/) shows `Filed {{ $input.identifier }}`.

## Common issues

* **"Missing credential".** No credential is selected. Pick or create one in **Credential**.
* **"Linear API Error: Authentication required…".** The API key is wrong or was revoked. Create a new key in Linear and update the credential.
* **"Linear API Error: Entity not found…".** The **Team ID**, **Issue ID** or **State ID** does not exist in this workspace. Run **Team → List**, or check the issue identifier.
* **The run is blocked in the web app.** Linear runs through the browser extension. Install the extension and allow Linear for this workflow when asked, or run the workflow from the extension. See [Running extension-only integrations in the web app](/app/troubleshooting/extension-only-integrations-in-the-web-app/).

## Related nodes

* [GitHub](/nodes/builtin/integration/github/): issues and pull requests on GitHub.
* [Get Selected Text](/nodes/extension/getselectedtext/): the highlighted text to quote in an issue.
* [Todoist](/nodes/builtin/integration/todoist/): personal tasks instead of team issues.
* [Http Request](/nodes/builtin/core/http-request/): call Linear's API for things this node does not cover.