Linear Webhook Integration
Linear webhooks provide real-time notifications for issue tracking, project updates, and team collaboration events. Perfect for automating workflows, syncing with other tools, and building custom integrations.Quick Start
- Get your Unhook URL:
https://unhook.sh/wh_YOUR_ID - Configure in Linear Settings: linear.app/settings/api
- Start receiving events locally:
unhook listen
Configuration Steps
1. Access Linear Webhook Settings
Navigate to Linear Settings:- Direct Link: linear.app/settings/api
- Or go to Settings → API → Webhooks
2. Create a New Webhook
- Click “New webhook”
- Enter webhook details:
- Label: Give your webhook a descriptive name
- URL: Enter your Unhook URL:
- Select Resource types to subscribe to
3. Select Resource Types
Choose the resources you want to monitor:Issue Events
- Issue - All issue-related events
- Created, updated, deleted
- Status changes
- Assignment changes
- Priority updates
- Label additions/removals
Project & Cycle Events
- Project - Project lifecycle events
- Cycle - Sprint/cycle management
- ProjectUpdate - Project status updates
- Milestone - Milestone tracking
Team Collaboration
- Comment - Issue comments
- Reaction - Emoji reactions
- IssueRelation - Issue linking
- Attachment - File attachments
Workflow & Organization
- WorkflowState - Workflow state changes
- Team - Team updates
- User - User account changes
- Label - Label management
- Template - Issue templates
4. Configure Webhook Options
- Secret: Copy the webhook secret for signature verification
- Enabled: Toggle to activate the webhook
- Click “Create webhook”
Event Payload Structure
Linear uses a consistent event structure:Event Examples
Issue Created
Issue Status Changed
Comment Added
Webhook Security
Verify Webhook Signatures
Linear signs webhooks using HMAC-SHA256:Best Practices
1. Handle All Actions
Process create, update, and remove actions:2. Track Changes with updatedFrom
Use theupdatedFrom field to track what changed:
3. Implement Idempotency
Handle potential duplicate events:4. Use Linear SDK for Additional Context
Fetch additional data when needed:Common Use Cases
Sync with External Systems
Auto-assign Based on Labels
Notify on High Priority Issues
Testing Webhooks
Manual Testing
- Create a test issue in Linear
- Update the issue status
- Add comments or labels
- Verify webhooks are received
Using Linear API
Environment Variables
Common Issues
Missing Events
- Ensure all required resource types are selected
- Check webhook is enabled
- Verify URL is accessible
Signature Verification Failures
- Use the exact secret from Linear
- Ensure using raw request body
- Check for proper header name (
linear-signature)
Rate Limits
- Linear API has rate limits (check headers)
- Implement exponential backoff
- Cache frequently accessed data
Useful Links
- Linear App: linear.app
- API Documentation: developers.linear.app
- Webhook Guide: developers.linear.app/docs/webhooks
- Linear SDK: github.com/linear/linear
- API Explorer: linear.app/developers/api-explorer
- Community: linear.app/community
Support
Need help with Linear webhooks?- Join our Discord community
- Visit Linear Community
- Check Linear Docs
- Email us at support@unhook.sh