Skip to content

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.created
  • issue.updated
  • issue.transitioned
  • workflow.synced
  • board.generated
  • analytics.metric_alert
  • extension.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), and X-Kiket-Delivery headers.
  • Respond with 2xx within 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.