How to Debug Linear Webhooks

Linear webhooks notify your application about issue tracker events including issue creation, status changes, comments, and project updates. They are ideal for building workflow automations and syncing Linear with external tools.

What are Linear Webhooks?

Linear webhooks are HTTP POST requests that Linear sends to your server when specific events occur in your account. Rather than continuously polling the Linear API for updates, webhooks deliver real-time notifications the moment something happens — a payment completes, a user signs up, a deployment finishes, or any other tracked event.

Debugging these webhooks can be challenging because they originate from Linear's servers, not your browser. You can't simply open DevTools to inspect them. That's where WebhookVault comes in — capture every Linear webhook, inspect the full payload and headers, and replay them to your local development server.

Common Linear Webhook Events

EventDescription
Issue.createFired when a new issue is created
Issue.updateFired when an issue's status, assignee, or details change
Comment.createFired when a comment is added to an issue
Project.updateFired when a project's status or details are updated

Setting Up Linear Webhooks with WebhookVault

Follow these steps to start capturing and debugging Linear webhooks using WebhookVault.

1Create a WebhookVault endpoint

Sign up for a free WebhookVault API key and create an endpoint to capture Linear webhooks.

curl -X POST https://webhookvault.anethoth.com/api/v1/endpoints \
  -H "Authorization: Bearer wv_your_key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Linear Webhooks"}'

# Response:
# {"url": "https://webhookvault.anethoth.com/hook/abc123", "inspect_url": "https://webhookvault.anethoth.com/inspect/abc123"}

2Configure Linear to send webhooks

Go to Linear Settings > API > Webhooks Click 'New webhook' and enter your WebhookVault endpoint URL Select the resource types you want notifications for (Issues, Comments, Projects) Save the webhook and note the signing secret for verification

3Inspect captured requests

Once Linear sends a webhook, you can inspect every detail through the WebhookVault API or web inspector.

curl https://webhookvault.anethoth.com/api/v1/endpoints/abc123/requests \
  -H "Authorization: Bearer wv_your_key"

# Returns all captured Linear webhook requests with full headers, body, and metadata

4Replay to your local server

Replay any captured Linear webhook to your local development server for testing.

curl -X POST https://webhookvault.anethoth.com/api/v1/endpoints/abc123/requests/1/replay \
  -H "Authorization: Bearer wv_your_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "http://localhost:3000/webhook"}'

# The original Linear webhook is replayed to your local server

Sample Linear Webhook Payload

Here is an example of a typical Linear webhook payload. Use WebhookVault to capture real payloads from your Linear account for accurate testing.

{
  "action": "create",
  "type": "Issue",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "title": "Fix login page crash",
    "description": "Users report crash on login with SSO",
    "priority": 1,
    "state": {
      "name": "Todo"
    },
    "team": {
      "key": "ENG"
    },
    "assignee": {
      "name": "Jane Doe"
    },
    "createdAt": "2024-01-15T10:30:00.000Z"
  },
  "url": "https://linear.app/team/issue/ENG-123",
  "organizationId": "org_123"
}

Common Linear Webhook Issues

Here are the most common issues developers encounter when working with Linear webhooks, and how to resolve them.

Webhook signature validation

Linear signs webhooks with a secret. Verify the Linear-Signature header using HMAC-SHA256 with your webhook secret.

Nested data structure

Linear webhook payloads include nested objects for related resources. Parse the full data structure carefully.

Action types

Linear uses action types: create, update, remove. Filter by action type to handle specific events.

Webhook delivery retries

Linear retries failed webhook deliveries with exponential backoff. Ensure idempotent handling.

Frequently Asked Questions

What are Linear webhooks?

Linear webhooks are HTTP callbacks that Linear sends to your server when specific events occur. Instead of polling the Linear API for changes, webhooks push real-time notifications to your application, making your integration more efficient and responsive.

How do I test Linear webhooks locally?

Use WebhookVault to capture Linear webhooks in the cloud, then replay them to your localhost. Create a WebhookVault endpoint, configure Linear to send webhooks to it, and use the replay API to forward captured requests to http://localhost:3000/webhook (or your local port).

How do I verify Linear webhook signatures?

Most webhook providers, including Linear, sign their webhook payloads to prove authenticity. Check the Linear documentation for the specific signature header and verification algorithm. Use WebhookVault to capture and inspect the raw headers to debug signature verification issues.

Why is WebhookVault better than ngrok for Linear webhook testing?

Unlike ngrok, WebhookVault captures and stores every webhook request with full headers and payloads. You can replay any Linear webhook to your local server as many times as needed, inspect historical requests, and share webhook data with your team. No tunnel to maintain or port to expose.

Start debugging Linear webhooks now

Create a free WebhookVault endpoint in seconds. Capture, inspect, and replay Linear webhooks with zero configuration.

Get Free API Key