Linear Integration

Set up HookWatch to receive Linear webhooks for project management events like issue updates, new comments, project changes, and cycle progress.

Prerequisites

Step 1: Create a HookWatch endpoint

  1. Go to your Endpoints page
  2. Click "Create Endpoint"
  3. Enter a name like "Linear Webhooks"
  4. Enter your destination URL (where you want webhooks forwarded)
  5. Copy the generated webhook URL

Your HookWatch URL will look like:

https://hook.hookwatch.dev/wh/abc123xyz

Step 2: Configure Linear webhooks

  1. Go to Linear Settings
  2. Navigate to "API" in the sidebar
  3. Scroll down to the "Webhooks" section
  4. Click "Create new webhook"
  5. Paste your HookWatch URL in the "URL" field
  6. Add a label like "HookWatch"
  7. Select the resource types you want to subscribe to
  8. Click "Create webhook"
  9. Copy the signing secret displayed — you'll need it for verification

Available resource types:

Issue (create, update, remove)
Comment (create, update, remove)
Project (create, update)
Cycle (create, update)
Label (create, update)
Issue attachment

Step 3: Verify webhooks on your server

Linear signs webhook payloads using HMAC-SHA256. HookWatch forwards the Linear-Signature header so you can verify authenticity.

Node.js / Express

Linear webhook payload structure

Linear sends a consistent JSON payload structure for all webhook events:

FieldDescription
actionThe action performed (create, update, remove)
typeThe resource type (Issue, Comment, Project, etc.)
dataThe full resource object
updatedFromPrevious values for changed fields (update actions only)
urlDirect URL to the resource in Linear

Testing the integration

  1. Create a new issue in Linear
  2. Update an issue's status or assignee
  3. Add a comment to an issue
  4. Check your HookWatch Events page to see the events

Common issues

Signature verification fails

Make sure you're using the raw request body for signature verification, not the parsed JSON. The signature is computed on the exact bytes Linear sends.

Not receiving certain events

Verify that you've subscribed to the correct resource types when creating the webhook. Linear webhooks are scoped to specific resource types, not individual event types.

Webhook automatically disabled

Linear disables webhooks after consecutive failures. With HookWatch's reliable endpoint, this is rare. Check the webhook status in Linear settings if events stop arriving.