kite~/kite/docs/Sources
v0.2.2
Concept

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

SourceSlugSignature headerVerified
GitHubgithubX-Hub-Signature-256Yes
StripestripeStripe-SignatureYes
SlackslackX-Slack-SignatureYes
LinearlinearLinear-SignatureYes
ShopifyshopifyX-Shopify-Hmac-Sha256Yes
VercelvercelX-Vercel-SignatureYes
DiscorddiscordX-Signature-Ed25519 + X-Signature-TimestampYes
GenericgenericNo

Creating an endpoint

Use the CLI to create a webhook endpoint for a source:

bash
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:

bash
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:

bash
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.