Documentation
Everything you need to route TubeHook events into your stack or straight into a Discord channel.
Getting started
Three steps from zero to receiving events.
Destination types
Each endpoint has a destination type that controls the outbound payload shape. Pick one when you create the endpoint; switch any time.
Event types
The type field in every payload is one of the following values.
Payload format
Generic endpoints receive this JSON POST body. Fields inside data.video may be null when YouTube does not provide them for that event type. Discord endpoints receive a { "content": "..." } body instead — see Destination types.
Webhook security
Every request includes a tubehook-signatureheader. It is an HMAC SHA-256 of the raw request body, signed with your endpoint's secret, formatted as sha256=<hex>. Always verify it before processing — use a timing-safe comparison to prevent timing attacks.
Discord endpoints do not need signature verification — Discord does not expose the request body to your code. The header is still sent for parity.
Your signing secret is available in Endpoints → View secret. Rotate it any time — existing consumers must update before the next delivery.