Unhook works with any service that sends HTTP webhooks. If your provider isn’t listed in our documentation, you can still use Unhook by following this guide. Our universal webhook endpoint accepts any HTTP POST request and forwards it to your local development environment.
app.post('/webhook', express.raw({ type: '*/*' }), (req, res) => { const rawBody = req.body; const textBody = rawBody.toString('utf8'); // Verify signature with raw body const signature = req.headers['x-webhook-signature']; const isValid = verifySignature(rawBody, signature); if (!isValid) { return res.status(403).send('Invalid signature'); } // Parse body based on content type const contentType = req.headers['content-type']; let data; if (contentType.includes('application/json')) { data = JSON.parse(textBody); } else if (contentType.includes('form-urlencoded')) { data = new URLSearchParams(textBody); } res.status(200).send('OK');});
// Pattern: Direct data without wrapperfunction handleNotificationWebhook(payload) { // Some webhooks send data directly if (payload.id && payload.status) { updateRecordStatus(payload.id, payload.status); }}
If you’d like to see your provider added to our official documentation, please submit a request with details about the webhook format and authentication method.
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.