Webhooks¶
Webhooks deliver real-time events to your services whenever workflows, boards, or analytics change.
Subscription Methods¶
- Project-level – Configure under Project → Integrations → Webhooks.
- Organization-level – Apply to all projects within an organization.
- Extensions – Automatically subscribe via manifests.
Event Types¶
issue.createdissue.updatedissue.transitionedworkflow.syncedboard.generatedanalytics.metric_alertextension.installation
Payload Structure¶
{
"id": "evt_01HXX...",
"event": "issue.transitioned",
"occurred_at": "2025-04-05T12:34:56Z",
"project": {
"slug": "core-platform",
"name": "Core Platform"
},
"data": {
"issue": { "key": "CORE-42", "title": "Fix bug" },
"transition": { "from": "review", "to": "done", "performed_by": "alex@example.com" }
}
}
Delivery & Retries¶
- Requests include
X-Kiket-Event,X-Kiket-Signature(HMAC SHA-256), andX-Kiket-Deliveryheaders. - Respond with
2xxwithin 10 seconds. Failures retry up to 9 times with exponential backoff. - Use the delivery log in the UI to replay events manually.
Security¶
- Verify signatures using the shared secret shown in the webhook configuration.
- Restrict receiver endpoints to known IP ranges if necessary.
- Rotate secrets regularly; Kiket keeps previous secrets active for 24 hours to avoid downtime.
Testing¶
- Use the “Send Test Event” button in the UI to validate endpoints.
- CLI:
kiket webhooks send --event issue.created --url https://localhost:3000/webhook.
Webhooks keep your external systems in sync with Kiket’s workflow engine.