You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: Linear webhook connector (real-time events, replace polling) #124
Linear events currently use @orgloop/connector-linear which polls every 5 minutes. GitHub was switched to real-time webhooks via @orgloop/connector-github-webhook (mono PR #9222) and it's working well — events arrive in seconds instead of minutes.
Proposal
Build @orgloop/connector-linear-webhook following the same pattern as the GitHub webhook connector:
Receive Linear webhook POSTs via Tailscale Funnel endpoint
Verify webhook signature (Linear uses HMAC-SHA256 via a signing secret)
Parse the webhook payload and emit OrgLoop events (resource.changed, etc.)
Map Linear webhook event types to the same event schema the polling connector emits, so existing routes don't need changes
Linear webhooks send action (create/update/remove) + type (Issue, Comment, etc.) + full resource data
Signing: Linear-Signature header, HMAC-SHA256 of request body with the webhook signing secret
Webhook management: via Linear Settings → API → Webhooks, or via GraphQL API (webhookCreate mutation)
Reference Implementation
@orgloop/connector-github-webhook in the orgloop repo — same architecture: HTTP handler, signature verification, event emission, connector config in YAML.
Migration
Once built:
Update connectors/linear.yaml in mono/orgloop/charlie-mac-studio to use the webhook connector
Register the Linear webhook URL in Linear's settings
Remove the polling interval config
Existing routes (ticket-auto-research, etc.) should work unchanged if the event schema matches
Activity
feat: add Linear webhook connector for real-time events (closes #124)
feat: add Linear webhook connector for real-time events (closes #124) (…