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

# Linear

> Connect Linear so the Modem Agent can search, create, and update issues

export const Prompt = ({text, variant = 'accent'}) => {
  const [copied, setCopied] = useState(false);
  const handleCopy = async () => {
    try {
      await navigator.clipboard.writeText(text);
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    } catch {}
  };
  const clipboardIcon = <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <title>Copy</title>
            <rect x="9" y="9" width="13" height="13" rx="2" ry="2" />
            <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
        </svg>;
  const checkIcon = <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
            <title>Copied</title>
            <polyline points="20 6 9 17 4 12" />
        </svg>;
  const promptIcon = <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style={{
    flexShrink: 0,
    opacity: 0.4
  }}>
            <title>Prompt</title>
            <path d="M20 2H2v20h2V4h16v12H6v2H4v2h2v-2h16V2zM6 7h12v2H6zm8 4H6v2h8z" />
        </svg>;
  return <div className={`prompt prompt-${variant}`} style={{
    marginTop: '12px',
    marginBottom: '12px'
  }}>
            {promptIcon}
            <span className="prompt-text">{text}</span>
            <button className="prompt-copy" onClick={handleCopy} title="Copy to clipboard" type="button">
                {copied ? checkIcon : clipboardIcon}
            </button>
        </div>;
};

The Linear integration connects your Linear workspace to the Modem Agent. Once connected, the agent can search your issues, create new ones from user feedback, update existing issues, and add comments, all from chat.

<Info>
  Linear is a fetch-based integration. Unlike Slack or Discord, Modem does not continuously sync Linear data into your account. Instead,
  the agent queries Linear on demand when you ask it to.
</Info>

## Prerequisites

* Admin access to your Linear workspace
* A Modem organization

## Setup

<Steps>
  <Step title="Start the connection">
    Go to **Settings** → **Integrations** → **Linear** in your Modem dashboard and click **Connect Linear**.
  </Step>

  <Step title="Authorize Modem">
    You'll be redirected to Linear to authorize the connection. Review the permissions and click **Authorize**.
  </Step>

  <Step title="Set a default team (optional)">
    In your Linear integration settings, choose a default team. New issues created by the agent will be pre-assigned to this team. If
    you skip this, the first team you pick when creating an issue becomes the default automatically.
  </Step>
</Steps>

## What the Agent Can Do

With Linear connected, you can ask the agent to:

* Search for issues by keyword, status, team, or assignee
* Create new issues from feedback conversations
* Link Modem topics to existing Linear issues
* Update issue status, priority, assignee, or labels
* Add comments to existing issues
* And more — the agent can perform most Linear actions on your behalf

<Tip>
  With the [Slack integration](/docs/integrations/slack) installed, you can do all of this directly from Slack by messaging the Modem bot.
  Create issues, link topics, and query Linear without leaving your conversation.
</Tip>

### Example Prompts

These work from the dashboard, Slack DMs, or by mentioning `@modem` in a channel.

Simple:

<Prompt text="What Linear issues are open for the API team?" />

<Prompt text="Update ENG-123 to high priority and add a comment that 3 more users reported this today" />

<Prompt text="Link the 'OAuth login failures' topic to ENG-456" />

Advanced:

<Prompt text="Look at the top bug report topics from the last 2 weeks and create Linear issues for any that don't already have one" />

<Prompt text="Summarize all Discord and Slack feedback about search performance and add it as a comment on ENG-456" />

<Prompt text="Which open Linear issues have the most related user complaints? Rank them by feedback volume." />

<Prompt text="@modem Create a Linear issue for the onboarding drop-off complaints, include quotes from the original messages, and assign it to the Growth team" />

## Troubleshooting

<AccordionGroup>
  <Accordion title="Agent can't access Linear">
    * Verify the Linear integration is connected in **Settings** → **Integrations** - Check that your Linear authorization hasn't
      expired - Try disconnecting and reconnecting
  </Accordion>

  <Accordion title="Agent can't find issues">
    * Make sure the issues exist in the workspace you connected - Try being more specific with team or project names
  </Accordion>
</AccordionGroup>

## Disconnecting

To disconnect Linear:

1. Go to **Settings** → **Integrations** → **Linear**
2. Click **Disconnect**

To revoke access from Linear's side:

1. Go to Linear → Settings → API
2. Find the Modem authorization and revoke it
