Source type

Twitch Source Configuration

Twitch sources receive EventSub webhook notifications, verify Twitch signatures, and answer callback verification challenges.

TWITCHPOST, PUT, PATCH, DELETEEventSub SecretCommunication
Twitch sends webhook traffic to a FastHook source, FastHook validates the provider contract, records the request, and routes accepted events through connections to destinations.TwitchProviderPOST, PUT, PATCH, DELETESetup + eventsFastHookSource URLTWITCHProvider credentialchallengeVerify before queue401 on auth failure405 on wrong methodAcceptedRequestverified: trueConnections route the accepted request to destinationsFilters, transformations, retries, replay, and destination signatures stay downstream from source verification.Provider setupValidate firstReturn challenge

Twitch configuration

Create a Twitch source, keep POST and PUT and PATCH and DELETE enabled, and provide the configured EventSub Secret values for provider signature. FastHook uses these settings to validate each Twitch delivery before it enters the routing workflow.

Source Type

TWITCH

Allowed methods

POST, PUT, PATCH, DELETE

Authentication

Provider signature

Credential fields

EventSub Secret

Twitch source config
{
  "type": "TWITCH",
  "config": {
    "auth_type": "PROVIDER_SIGNATURE",
    "auth": {
      "provider": "TWITCH",
      "webhook_signing_secret": "provider-secret"
    },
    "allowed_http_methods": ["POST","PUT","PATCH","DELETE"]
  }
}

Callback verification before EventSub notifications

  1. Twitch sends a webhook_callback_verification message as a signed POST request.
  2. FastHook verifies the EventSub signature and returns the challenge value as plaintext.
  3. After validation succeeds, Twitch sends signed EventSub notification POST requests.

Twitch request contract

FastHook signs message id + timestamp + raw body with HMAC-SHA256, prefixes the digest with sha256=, and compares it with twitch-eventsub-message-signature.

POSTPUTPATCHDELETE

Special response: For webhook_callback_verification messages, FastHook returns the challenge value as plaintext.

Twitch headers

Preserve twitch-eventsub-message-id, twitch-eventsub-message-timestamp, twitch-eventsub-message-signature, twitch-eventsub-message-type when sending Twitch test deliveries. FastHook evaluates this request context before accepting the payload, so missing or modified values remain visible as rejected requests instead of routed events.

twitch-eventsub-message-id

Message id used in the signed payload.

twitch-eventsub-message-timestamp

RFC3339 timestamp used in the signed payload.

twitch-eventsub-message-signature

sha256= HMAC-SHA256 signature.

twitch-eventsub-message-type

Notification type, including webhook_callback_verification.

Twitch setup

  1. Create EventSub subscriptions with webhook transport and the generated FastHook Source URL.
  2. Use the same EventSub secret in Twitch and FastHook.
  3. Keep the source enabled before creating subscriptions so Twitch callback verification can complete.

Continue with Twitch