Back to docs
Webhooks
Get real-time notifications when things happen in CooVex — leads, competitor changes, content published.
What are webhooks?
Webhooks push data to your server the moment something important happens — no polling needed.
Setting up
- Go to Settings → Webhooks → Add Endpoint
- Enter your HTTPS server URL
- Choose which events to subscribe to
- CooVex immediately sends a test event
Payload format
{
"event": "lead.hot",
"timestamp": "2026-07-06T10:30:00Z",
"workspace_id": "abc-123",
"data": { "lead_id": "xyz-456", "score": 87 }
}
Verifying the signature
const crypto = require('crypto');
app.post('/webhook', express.raw({ type: 'application/json' }), (req, res) => {
const sig = req.headers['x-coovex-signature'];
const expected = crypto.createHmac('sha256', process.env.COOVEX_SECRET)
.update(req.body).digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(sig)))
return res.status(401).send('Invalid signature');
const payload = JSON.parse(req.body);
res.sendStatus(200);
});
Available events
lead.created/lead.hot/lead.score_changed/lead.status_changedcompetitor.change_detectedcontent.publishedaudit.completedsignal.createdreport.ready
Retry policy
Failed deliveries retry at: 1 min → 5 min → 30 min → 2 h → 6 h. After 5 failures you get an in-app alert.
