Webhooks fire HTTP POST requests to a URL of your choice when events happen in Conclude. Use them to glue Conclude into your own internal tools.
What you can subscribe to
feedback.created— a new feedback item arrived.feedback.updated— status, labels, or content changed.feedback.linked_to_linear— a Linear issue was attached.roadmap.shipped— a roadmap item moved to Shipped.insight.created— a new insight was generated.
The list above covers what's shipped today. More event types are added as features mature.
Setting up a webhook
- Go to product Settings.
- Open the Webhooks tab.
- Click Add webhook.
- Enter:
- Destination URL — your endpoint.
- Secret — Conclude generates one. Use it to verify signatures.
- Events — pick which events to subscribe to.
- Save.
Conclude immediately sends a webhook.test event to confirm the endpoint reachable.
Payload shape
{
"event": "feedback.created",
"workspace_id": "...",
"product_id": "...",
"data": {
"id": "...",
"title": "...",
"body": "...",
"submitter": { "external_id": "...", "email": "..." },
"created_at": "..."
},
"timestamp": "..."
}
The data shape varies by event — see the inline payload preview when you set up the webhook.
Verifying signatures
Every webhook request includes an X-Conclude-Signature header. The signature is HMAC-SHA256 of the raw request body using the webhook's secret as the key.
const expected = crypto
.createHmac("sha256", secret)
.update(rawBody)
.digest("hex");
if (signature !== expected) {
// reject
}
Reject any request whose signature doesn't match.
Retries
Conclude retries failed webhook deliveries (non-2xx responses or timeouts) with exponential backoff for up to 24 hours. After that, the delivery is marked failed and dropped.
You can replay any delivery manually from the Webhooks log.
Webhooks log
Every webhook delivery is logged with status, timestamp, request body, and response code. Use the log to debug failures or to replay events.
Plan limits
Webhooks are available on every plan. There's no cap on the number of webhooks per product or on event volume.