> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rocket.new/llms.txt
> Use this file to discover all available pages before exploring further.

# Linear

> Connect Linear to Rocket and build from your tickets. Rocket reads descriptions, acceptance criteria, and briefs, then writes follow-up tickets back.

export const LlmsDirective = () => <blockquote className="llms-directive">
    For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
    For a lightweight markdown version of this page, append .md to the URL.
  </blockquote>;

<LlmsDirective />

Point Rocket at a Linear ticket and it builds the feature. No copy-pasting requirements, no manually updating your board.

Rocket reads your issue descriptions, acceptance criteria, and project briefs directly from Linear. When the build is done, it writes follow-up tickets and status updates back.

<Divider />

## What you can do

<CardGroup cols={2}>
  <Card title="Build from a ticket" icon="ticket">
    Paste a Linear issue URL into chat. Rocket reads the title, description, and acceptance criteria, then generates the implementation.
  </Card>

  <Card title="Build from a project" icon="diagram-project">
    Paste a Linear project URL. Rocket reads all child issues and the project brief, then builds the full scope.
  </Card>

  <Card title="Fix bugs from reports" icon="bug">
    Paste a bug ticket URL. Rocket reads the screen name, expected vs actual behavior, and generates a targeted fix.
  </Card>

  <Card title="Use ticket copy in your app" icon="clipboard-list">
    Pull feature descriptions and value propositions from a ticket directly into your app's UI copy.
  </Card>

  <Card title="Create follow-up tickets" icon="circle-plus">
    After building, ask Rocket to create QA tickets, edge case tickets, and testing tasks back in Linear.
  </Card>

  <Card title="Auto-update ticket status" icon="circle-check">
    Ask Rocket to move the original ticket to Done and leave an implementation comment when the build finishes.
  </Card>
</CardGroup>

<Divider />

## Connect Linear

Linear uses OAuth, so no API key is needed. It is a **workspace-level** connector, so connect it once and it is available across all tasks.

<Tabs>
  <Tab title="Web Browser">
    You can connect from three places. All do the same thing.

    **Option 1: From chat**

    Paste a ticket URL or ask Rocket to create issues. Rocket detects the intent and shows a **Connect** button inline. Click it to open the authorization flow.

    <Frame caption="Linear connection prompt in chat">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/NNx4lZGfeKSKoC31/images/build-docs/connectors/linear/web-browser/linear-chat-light.webp?fit=max&auto=format&n=NNx4lZGfeKSKoC31&q=85&s=a7849c7c0b280a079603a5b54c6826c5" alt="Rocket chat panel showing a Connect prompt for Linear." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/connectors/linear/web-browser/linear-chat-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/NNx4lZGfeKSKoC31/images/build-docs/connectors/linear/web-browser/linear-chat-dark.webp?fit=max&auto=format&n=NNx4lZGfeKSKoC31&q=85&s=6f7a99c2ed4547f38068beed9dcd9716" alt="Rocket chat panel showing a Connect prompt for Linear." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/connectors/linear/web-browser/linear-chat-dark.webp" />
    </Frame>

    **Option 2: From the Connectors tab**

    Click the **`...`** button in the preview toolbar, then select **Connectors**.

    <Frame caption="Open Connectors from the toolbar">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/shared/connectors-tab-open-light.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=7bd785a0e878564054e08328b2aa3d6b" alt="Toolbar dropdown with Connectors option highlighted." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/connectors/shared/connectors-tab-open-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/2lqYWidv_xVHKfL6/images/build-docs/connectors/shared/connectors-tab-open-dark.webp?fit=max&auto=format&n=2lqYWidv_xVHKfL6&q=85&s=d047040372d776cb47e4e483de8eeb8d" alt="Toolbar dropdown with Connectors option highlighted." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/connectors/shared/connectors-tab-open-dark.webp" />
    </Frame>

    Click the **Linear** card, then click **Connect**.

    <Frame caption="Linear card in the Connectors panel">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/NNx4lZGfeKSKoC31/images/build-docs/connectors/linear/web-browser/linear-connectors-tab-light.webp?fit=max&auto=format&n=NNx4lZGfeKSKoC31&q=85&s=4fb7b2000c1a07253f3e1833d780a21c" alt="Connectors panel showing the Linear card with a Connect button." className="theme-image light-image" width="1820" height="519" data-path="images/build-docs/connectors/linear/web-browser/linear-connectors-tab-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/NNx4lZGfeKSKoC31/images/build-docs/connectors/linear/web-browser/linear-connectors-tab-dark.webp?fit=max&auto=format&n=NNx4lZGfeKSKoC31&q=85&s=0267e5ee586b60b097697e3d3b18d790" alt="Connectors panel showing the Linear card with a Connect button." className="theme-image dark-image" width="1813" height="522" data-path="images/build-docs/connectors/linear/web-browser/linear-connectors-tab-dark.webp" />
    </Frame>

    **Option 3: From workspace Settings**

    <Card title="Connect from workspace Settings" icon="plug" href="/getting-started/workspace/connectors" horizontal arrow="true">
      Connect once from Settings and it is available across all tasks.
    </Card>

    **After clicking Connect**

    A Linear authorization screen opens. Review the permissions and click **Authorize**.

    <Frame caption="Linear OAuth authorization screen">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/xKc_0Ktb1ALk69Bl/images/build-docs/connectors/linear/oauth-authorize-light.webp?fit=max&auto=format&n=xKc_0Ktb1ALk69Bl&q=85&s=b8221b35e402e05ef3a7f4e6626f92d5" alt="Linear OAuth screen showing Rocket requesting read and write access to your workspace." className="theme-image light-image" width="531" height="515" data-path="images/build-docs/connectors/linear/oauth-authorize-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/xKc_0Ktb1ALk69Bl/images/build-docs/connectors/linear/oauth-authorize-dark.webp?fit=max&auto=format&n=xKc_0Ktb1ALk69Bl&q=85&s=4ba4e19995252a5dd359e0974b16f6f7" alt="Linear OAuth screen showing Rocket requesting read and write access to your workspace." className="theme-image dark-image" width="531" height="515" data-path="images/build-docs/connectors/linear/oauth-authorize-dark.webp" />
    </Frame>

    A green dot appears next to Linear when the connection is active.

    **Disconnect**

    <Card title="Disconnect a service" icon="plug" href="/getting-started/workspace/connectors#disconnect-a-service" horizontal arrow="true">
      Disconnect or switch accounts from workspace Settings.
    </Card>
  </Tab>

  <Tab title="Mobile App">
    You can connect from two places. Both do the same thing.

    **Option 1: From chat**

    Paste a ticket URL or ask Rocket to create Linear issues. Rocket shows a **Connect** button inline. Tap it to open the authorization flow.

    **Option 2: From the Connectors tab**

    1. Tap the **More** button in the header.
    2. Tap **Integrations**.
    3. Tap the **Linear** card, then tap **Connect**.

    **After tapping Connect**

    A Linear authorization screen opens. Review the permissions and tap **Authorize**.

    A green dot appears next to Linear when the connection is active.
  </Tab>
</Tabs>

<Divider />

## Example prompts

Replace `[LINEAR_URL]` with your actual issue or project URL.

### Reading from Linear

| What you want                 | Prompt to use                                                                                                                      |
| :---------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- |
| Build a feature from a ticket | `Build the feature described in [LINEAR_URL]. Read the full requirements, edge cases, and acceptance criteria before generating.`  |
| Build from a full project     | `Read the Linear project at [LINEAR_URL] and build the described UI including all screens referenced in the project brief.`        |
| Fix a bug from a report       | `Fix the bug described in [LINEAR_URL]. Read the screen name, expected behavior, and actual behavior and generate a targeted fix.` |
| Apply a requirement change    | `The requirements changed in [LINEAR_URL]. Read the updated ticket and modify the relevant parts of the app.`                      |

### Writing back to Linear

| What you want              | Prompt to use                                                                                                                 |
| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------- |
| Create QA tickets          | `Create a Linear project with QA tickets for the checkout flow I just built. Include test cases based on the implementation.` |
| Log client change requests | `Create a Linear project with tickets for each client-requested change, organized by page and priority.`                      |
| Document what was built    | `Create a Linear document describing what was built and link it to the original ticket at [LINEAR_URL].`                      |
| Create follow-up tasks     | `Create Linear tickets for all the follow-up work from this build: enhancements, edge cases, and testing tasks.`              |

<Divider />

## Tips

* **Be specific in your tickets.** Rocket builds from what is written. Tickets with detailed descriptions, clear acceptance criteria, and labels produce better output than vague ones.
* **Use issue URLs, not project names.** Pasting a direct URL gives Rocket unambiguous context. Referring to a project by name can match the wrong one.
* **For large workspaces, scope it down.** Reference a specific project or issue instead of asking Rocket to read the full workspace backlog.
* **Write-back creates real tickets.** When Rocket creates or updates Linear issues, they appear in your board immediately. Review them before sharing with your team.
* **Permissions apply.** Rocket respects Linear's access controls. It can only read and write what the connected account has permission to access.

<Divider />

## What's next?

<CardGroup cols={2}>
  <Card title="Notion" icon="book" href="./notion">
    Connect your docs and wikis so Rocket builds with full product context.
  </Card>

  <Card title="Google Workspace" icon="google" href="./google">
    Read from Docs, Sheets, and Calendar to build context-rich apps.
  </Card>

  <Card title="GitHub" icon="github" href="/build/connectors/github/overview">
    Push your code to a repository and keep version history.
  </Card>

  <Card title="All connectors" icon="plug" href="/build/connectors/overview">
    Browse every available integration.
  </Card>
</CardGroup>
