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

# Linear

> Set up a Linear webhook to capture issues, comments, and projects in your knowledge graph.

The Linear integration captures your project management activity: issues, comments, projects, and project updates. Combined with GitHub and Claude Code data, this gives Cogniscape a complete picture of **what** your team is working on, **who** is involved, and **how** work progresses from idea to delivery.

This setup needs to be done **once per Linear workspace**. Only a **workspace admin** can create webhooks in Linear.

## Configure the webhook

<Steps>
  <Step title="Open your workspace settings">
    In Linear, go to **Settings → API → New webhook**.
  </Step>

  <Step title="Give it a label">
    Use something descriptive like **Cogniscape** so you can identify it later.
  </Step>

  <Step title="Paste the Webhook URL">
    Use the following URL, replacing `<your-customer-key>` with the key from the [Customer Portal](https://customer.cogniscape.app/):

    ```
    https://api.cogniscape.app/api/v1/events/linear/<your-customer-key>
    ```
  </Step>

  <Step title="Select the resources to track">
    Select **all available resources** for the most complete insights. Linear lets you pick individual resource types if you prefer granular control.

    <Tip>
      At a minimum, enable: **Issues**, **Comments**, **Projects**, and **Project Updates**. These are the core resources Cogniscape uses to build the project management layer of your knowledge graph.
    </Tip>
  </Step>

  <Step title="Save the signing secret">
    After creating the webhook, Linear will show you a **signing secret**. Copy this value — you'll need to save it in the [Customer Portal](https://customer.cogniscape.app/) so Cogniscape can verify that incoming events are genuinely from Linear and have not been tampered with.

    <Warning>
      The signing secret is only shown once when the webhook is created. Make sure to copy it before closing the dialog.
    </Warning>

    Go to the [Customer Portal](https://customer.cogniscape.app/) and paste the signing secret in the Linear integration section under **Get Started → Linear Integration**.
  </Step>

  <Step title="Save the webhook">
    That's it. Events will start flowing into your knowledge graph immediately.
  </Step>
</Steps>

## Verify the webhook

After saving, you can trigger a test by creating or updating an issue in Linear. Check the webhook delivery log under **Settings → API** to confirm events are being sent with a `200` response.

## Supported resources

Cogniscape processes these Linear webhook resource types:

| Resource        | Actions                | What it captures                                                                                                |
| --------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------- |
| `Issue`         | create, update, remove | Title, identifier (e.g. ENG-123), state, priority, assignee, labels, description, and previous state on updates |
| `Comment`       | create, update         | Comment body on issues — discussions, decisions, and context                                                    |
| `Project`       | create, update         | Project name and state (planned, started, completed)                                                            |
| `ProjectUpdate` | create, update         | Status reports posted to projects — body text and health status (on track, at risk, off track)                  |

<Note>
  Resources not listed above are received but silently ignored. Selecting all resources is safe — it won't create noise in your knowledge graph.
</Note>

## Why the signing secret matters

Linear signs every webhook payload with an HMAC-SHA256 signature using the signing secret. Cogniscape verifies this signature before processing any event. Without the signing secret saved in the Customer Portal, webhook events will be rejected with a `401` response.

If you've lost the signing secret, delete the webhook in Linear and create a new one — Linear will generate a fresh secret.
