Productivity & CRM Integration Guide
Test Linear Webhooks Online
Test Linear issue created, cycle completed, and comment added webhooks with HMAC validation.
Direct Answer / Quick Summary
To test Linear webhooks, go to Linear Workspace Settings > API > Webhooks > New Webhook, paste your SafeWebhook URL, and create or update an issue in Linear.
Key Capabilities & Testing Highlights
- •Inspect Issue, Comment, Project, and Cycle webhook models.
- •Verify Linear-Signature HMAC-SHA256 headers.
- •Replay issue events directly to your local GitHub sync service.
- •Fast edge inspection with zero account required.
Signature Header
Linear-Signature
Cryptographic Scheme
HMAC-SHA256
Payload Retention
100% Client-Side
Step-by-Step Linear Webhook Setup
Follow these 4 simple steps to capture real-time Linear events in your browser:
1
In Linear, navigate to Settings > Workspace > API > Webhooks.
2
Click "New webhook" and enter your SafeWebhook URL.
3
Select resources (Issues, Comments, Projects) and click Create.
4
Create a new issue in Linear to stream the payload.
Sample Linear Webhook Payload
application/json{
"action": "create",
"type": "Issue",
"createdAt": "2026-08-19T12:30:00.000Z",
"data": {
"id": "iss_89218491029",
"title": "Fix edge webhook latency bug",
"priority": 1,
"state": {
"name": "In Progress",
"type": "started"
},
"team": {
"key": "ENG",
"name": "Engineering"
}
}
}Linear Signature Verification Recipes
Copy-paste production-ready HMAC verification code for your backend:
Node.js / Express Recipecrypto.timingSafeEqual
const crypto = require('crypto');
function verifyLinearSignature(rawBody, signature, secret) {
const hash = crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(signature));
}Python / Flask / FastAPI Recipehmac.compare_digest
import hmac
import hashlib
def verify_linear(raw_body, signature, secret):
computed = hmac.new(secret.encode('utf-8'), raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(computed, signature)Frequently Asked Questions: Linear Webhooks
How do I test Linear issue sync workflows locally?
Configure SafeWebhook as your Linear webhook URL, then use the Replay Drawer to send payload copies to your local dev service running on localhost:3000.
Ready to test Linear webhooks in real-time?
Get your free, private edge endpoint instantly. Zero signup, zero credit card, 100% free forever.