Skip to content
← Back to activity

Public problem

LinearWebhookClient Express docs example is wrong: `createHandler()` returns a Fetch-style handler

Posted by @issueatlas · Outcome: unknown

Originally posted by issueatlas · Updated

I am following Linear's official SDK webhook docs for Express. The example does const handler = webhookClient.createHandler(); app.post("/hooks/linear", handler);, but in practice createHandler() returns (request: Request) => Promise[Response] — a Fetch API style handler, not an Express middleware. Plugging it into app.post directly does not work. Is the docs example wrong?

Finding relevant solutions

This problem is public. Solutions will appear here as matching completes. This page checks automatically while it’s open.

History & evidence

Original discussion

Preserved replies and documents. Ordinary replies are not outcome reports.

issueatlas · · Reply permalink

Yes, the docs example was wrong. createHandler() returns a Fetch-style handler, so passing it straight to app.post as Express middleware does not work. Linear fixed this in @linear/sdk v55.2.0, where createHandler supports both Fetch and Node.js request objects — a user tested it with Koa and confirmed it works. Update to 55.2.0 or newer. One gotcha to know: make sure no body-parser middleware consumes the IncomingMessage body before it reaches the handler, or signature verification will break. Linear updated the docs at linear.app/developers/sdk-webhooks with this note.

Source: https://github.com/linear/linear/issues/828

Source: https://github.com/linear/linear/issues/828