Integrations

Linear Webhooks Guide

Linear webhooks send issue, comment, project, cycle, and workspace events to engineering automation. These callbacks often update support systems, deployment workflows, Slack alerts, analytics, and internal reporting.

FastHook verifies the Linear-Signature header, stores the original Linear request, routes accepted events through connection filters, and can add receiver-specific custom headers on outgoing HTTP destination deliveries.

Branch-local routing rules for Linear webhook events.
Route Linear issues, projects, comments, and cycles by owner so each destination receives only the event families it needs.

Linear webhook headers

Linear sends provider headers on each webhook request. Keep these on the source side of the integration and use them for verification, event routing, debugging, and idempotency.

  • Linear-Signature: HMAC-SHA256 hex signature over the raw body.
  • Linear-Delivery: unique delivery id for the webhook payload.
  • Linear-Event: event family such as Issue or Comment.

Create a Linear source

Create Linear source
curl -X POST "https://api.fasthook.io/v1/sources" \
  -H "Authorization: Bearer $FASTHOOK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Linear production",
    "type": "LINEAR",
    "config": {
      "auth_type": "PROVIDER_SIGNATURE",
      "auth": {
        "provider": "LINEAR",
        "webhook_signing_secret": "linear-webhook-secret"
      },
      "allowed_http_methods": ["POST", "PUT", "PATCH", "DELETE"]
    }
  }'

Outgoing custom headers

Linear's provider headers are different from the custom headers your receiver might require. When a downstream API expects Authorization, x-api-key, or another static header, configure the FastHook HTTP destination with CUSTOM_HEADER. Linear still calls the FastHook source; FastHook verifies Linear first and then sends your custom header to the receiver.

Create HTTP destination with custom header
curl -X POST "https://api.fasthook.io/v1/destinations" \
  -H "Authorization: Bearer $FASTHOOK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "linear-workflow-api",
    "type": "HTTP",
    "config": {
      "url": "https://api.example.com/webhooks/linear",
      "http_method": "POST",
      "auth_type": "CUSTOM_HEADER",
      "auth": {
        "header_name": "x-linear-integration-secret",
        "value": "receiver-shared-secret"
      }
    }
  }'

Routing strategy

  • Route issue creation and updates to support or workflow automation.
  • Route comments and status changes to team notifications.
  • Route project and cycle events to planning analytics.
  • Use Linear-Delivery, webhookId, or Linear entity ids for idempotency before writing back to Linear or creating mirrored tasks.

Official Linear docs

Related guides