Twitch Setup and EventSub

Use normal page capture for simple chat, or EventSub/WebSocket mode for follows, subs, bits, rewards, raids, Hype Trains, and channel controls.

Choose A Twitch Source Mode

ModeBest ForImportant Difference
Standard Basic public chat capture from a Twitch chat or popout page. Reads what the page exposes. It is simple, but does not provide the full EventSub event set.
WebSocket / EventSub Follows, subscriptions, bits, rewards, raids, stream status, Hype Trains, moderation sync, sending chat, and channel details. Requires Twitch OAuth. Events are enabled only when the signed-in account, channel role, channel eligibility, and granted scope allow them.

Desktop App Setup

  1. Select Add source → Twitch.
  2. Enter the Twitch channel login used in its URL. For twitch.tv/examplechannel, enter examplechannel.
  3. Leave WebSocket selected for the richer EventSub source. Twitch currently defaults to this mode in the app.
  4. Select Activate source, then Sign in to Twitch.
  5. Authorize the requested permissions and keep the Twitch source window open.
Twitch source sign-in screen with External browser and Local app sign-in methods
The desktop source offers an external-browser OAuth flow and a local-app flow. External browser is usually the easiest when Twitch already works in your normal browser.

Browser Extension EventSub Setup

  1. Install and enable the current Social Stream Ninja extension.
  2. Open the Twitch EventSub source page.
  3. Replace examplechannel in the URL with the channel login you want to monitor.
  4. Select Sign in to Twitch and approve the requested access.
  5. Keep that page open. Confirm that its User and Channel fields are correct before testing alerts.
https://socialstream.ninja/sources/websocket/twitch.html?channel=CHANNEL_LOGIN

For basic Standard capture instead, open the normal Twitch chat or popout chat page and keep chat visible.

What Twitch Requests

Social Stream asks for a user token with permissions needed by the controls and subscriptions it supports. Granting a scope does not make an account a broadcaster or moderator; Twitch still checks the account's role for the selected channel.

Permission GroupUsed For
ChatRead chat, send chat, and list chatters.
Followers and subscribersFollow events, subscriber events, gifted subscriptions, and resub messages.
Bits, rewards, and Hype TrainsCheers, custom Channel Points redemptions, and Hype Train status.
ModerationMessage deletion, bans/timeouts, and block synchronization when the account may moderate the channel.
Channel managementRead/update title and category, read/manage ads, and display channel metrics.

See Twitch's official scope reference and EventSub subscription types.

Events The Current Source Handles

  • Follows: new_follower.
  • Subscriptions: new_subscriber, resub, and subscription_gift.
  • Bits: cheer with a donation value.
  • Channel Points: reward.
  • Raids: raid.
  • Stream and ad status: stream_online, stream_offline, and ad_break.
  • Hype Train: hype_train begin, progress, and end updates.
  • Moderation: ban and message-deletion updates when permitted.

Twitch subscriber events require an eligible Affiliate/Partner channel and broadcaster access. Follow and moderation subscriptions require the signed-in user to be the broadcaster or an authorized moderator, depending on the event.

For downstream alert names and payload fields, use the Events and Alerts Compatibility guide and Event Reference.

First Checks When An Event Is Missing

  1. Confirm the source page says the correct User and Channel.
  2. Keep the source page/window open and confirm its chat connection is active.
  3. If chat works but follows/subs/rewards do not, sign out and authorize again so the current scopes are granted.
  4. Verify that the signed-in account is the broadcaster or a permitted moderator for that channel.
  5. Check that the dock and alert overlay use the same Social Stream session ID.
  6. Use the popup's fake test message or Multi Alerts preview to separate capture problems from overlay problems.

EventSub can deliver a notification more than once. Twitch documents at-least-once delivery. Social Stream includes duplicate protection, but custom API consumers should still deduplicate by event/message identity where possible. See the official EventSub overview.