Sources
Supported webhook sources and how Kite verifies and normalises each provider's payloads.
A source is a webhook provider that sends events to your Kite endpoint. Kite verifies signatures and normalises payloads for each supported source.
Kite wraps accepted payloads in a CloudEvent and delivers them to your configured sinks.
Supported sources
| Source | Slug | Signature header | Verified |
|---|---|---|---|
| GitHub | github | X-Hub-Signature-256 | Yes |
| Stripe | stripe | Stripe-Signature | Yes |
| Slack | slack | X-Slack-Signature | Yes |
| Linear | linear | Linear-Signature | Yes |
| Shopify | shopify | X-Shopify-Hmac-Sha256 | Yes |
| Vercel | vercel | X-Vercel-Signature | Yes |
| Discord | discord | X-Signature-Ed25519 + X-Signature-Timestamp | Yes |
| Generic | generic | — | No |
Creating an endpoint
Use the CLI to create a webhook endpoint for a source:
kite endpoints create --source github
For GitHub, Kite can generate and store a one-time webhook secret for GitHub's Secret field. For providers such as Linear or Stripe, paste the provider-issued signing secret when creating the Kite endpoint, then register the bare Kite webhook URL with the provider.
Filtering by source
When streaming or proxying, you can filter to a specific source:
kite stream --source stripe kite proxy --source github --target http://localhost:3001/webhooks
Unsigned payloads
For generic or custom sources without provider signature verification, use the token-embedded webhook URL or send the hook token in the Authorization: Bearer <hook-token> header. Provider-verified sources reject invalid signatures when a signing secret is configured.
Kite does not currently add a verification-result CloudEvent extension. Use separate source names when you need to enforce different trust policies downstream.
Adding a new source
Custom sources can be registered via the dashboard. Use the generic source type and handle signature verification in your own application code.
Emitting your own events
A source doesn't have to be a third-party provider — it can be your own application. Create an endpoint for a custom source and emit structured events straight from your code with the Kite SDK:
kite endpoints create --source my-app
The TypeScript and Rust SDK source previews post CloudEvents to your endpoint with the hook token, and they flow through the same pipeline into kite stream, kite proxy, and agent sessions. Registry publication is still pending. See Emitting events from your app for the source-install walkthrough and the SDK reference.