Connecting Streaming Platforms — StreamSync
This guide covers connecting your streaming accounts to StreamSync: Twitch (available in every edition), and YouTube / Kick (StreamSync Pro only).
🍼 ELI5
"Connecting" just means logging in through your browser once, like signing into any website with Twitch or Google. StreamSync never sees your password — it gets a token from Twitch/YouTube instead, and you can disconnect at any time from the Dashboard.
Twitch
Twitch is available in both the Demo and Pro editions and is the only platform required to use the app.
Connecting
- On first launch, StreamSync shows the Streamer Account and Bot Account cards.
- Click Connect with Twitch on the Streamer Account card. Your default browser opens to Twitch's login/authorize page.
- Approve the requested permissions. The browser tab shows "Authenticated!" and closes itself; StreamSync picks up the connection automatically.
- (Optional) Click Connect with Twitch on the Bot Account card and log in with a different Twitch account to use as your chat bot. If you skip this, StreamSync falls back to using the streamer account for chat.
- Once the streamer account is connected, you're taken into the app. You can connect/disconnect either account at any time from the Twitch section on the Dashboard page.
What each account is used for
| Account | Used for |
|---|---|
| Streamer | Channel info, followers, EventSub (follows, subs, raids, cheers, redeems, hype train, polls, predictions), clips, polls/predictions, channel updates |
| Bot | Sending chat messages, running bot commands, moderation actions (ban/timeout/unban, chat settings, message deletion) |
If no bot account is connected, the streamer account is used for chat instead — moderation actions that need elevated bot scopes won't be available in that case.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Browser doesn't open | No default browser set, or TWITCH_CLIENT_ID missing | Set a default browser; confirm StreamSync was built with Twitch credentials |
| "State mismatch" error | OAuth callback was tampered with or reused | Just try connecting again |
| Stuck on "Opening browser…" | OAuth flow wasn't completed within 5 minutes | Retry — the flow times out and resets after 5 minutes |
| EventSub shows "Disconnected" on the Dashboard | Streamer account token expired/revoked, or Twitch is having an outage | Disconnect and reconnect the streamer account |
YouTube (StreamSync Pro)
🔒 YouTube requires StreamSync Pro. The Demo edition does not show YouTube connection options.
Connecting
- Once logged into StreamSync, the YouTube section appears on the Dashboard page (collapsed by default).
- Expand it and click Connect with YouTube on the Streamer badge. Your browser opens to Google's consent screen.
- Approve access. Google issues a refresh token on first consent — if you ever need to reconnect, expect to see the consent screen again so a refresh token keeps being issued.
- (Optional) Click Connect with YouTube on the Bot badge and sign in with a different Google account to send chat messages as a separate bot identity.
What it can do — and its real limits
YouTube's public API has no live push events and no equivalents for several Twitch features. StreamSync works within those constraints:
- Live chat is polled, not pushed. StreamSync looks for an active live broadcast on your channel every 60 seconds once the streamer account is connected, then polls chat messages at whatever interval YouTube's API tells it to (it backs off automatically when chat is quiet). There can be a short delay before a new broadcast or a new chat message is picked up.
- Supported chat events: regular messages, Super Chats, Super Stickers, new memberships, and membership milestones.
- Moderation: ban/timeout, lift a ban/timeout, add/remove moderators, delete a specific chat message.
- Channel control: update the live broadcast's title, end the broadcast.
- Not available at all (no public API for it): followers, polls/predictions, channel-point rewards, raids, hype trains — YouTube simply has no equivalent.
- The Dashboard's Live Chat stat reads "Polling" once an active broadcast is found, or "Disconnected" if there's no live broadcast or the connection failed.
- Default Google Cloud API quota is 10,000 units/day — a very long, very active stream could approach that, though normal use is well under it.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| YouTube section doesn't appear | Running the Demo edition | Use StreamSync Pro |
| "Live Chat: Disconnected" while live | No active broadcast found yet, or it hasn't started in YouTube Studio | Wait up to 60 seconds after going live; confirm the broadcast is actually live in YouTube Studio |
| Ban/timeout/mod actions fail | No active broadcast, or acting on a channel ID that isn't currently in chat | These actions require an active broadcast and a valid channel ID |
| Reconnecting doesn't ask to log in again | Google reused a cached session | Sign out of the Google account in your browser first if you need to switch accounts |
Kick (StreamSync Pro)
🔒 Kick requires StreamSync Pro. The Demo edition does not show Kick connection options.
Connecting
- Expand the Kick section on the Dashboard page.
- Click Connect with Kick on the Streamer badge and approve access in your browser.
- (Optional) Click Connect with Kick on the Bot badge with a different account to send chat messages as a separate bot identity.
What it can do — and its real limits
Kick's public API does not yet offer a live event feed (no WebSocket, no webhook delivery to a desktop app), so this integration is auth + REST only:
- Supported: sending chat messages, reading channel info (title, category, live status, viewer count — polled every 30 seconds), banning/timing out/unbanning users.
- Not supported: receiving chat messages, follows, subscriptions, or any other live event — there is nothing to listen to yet on Kick's side. The Chat Bot's commands/timers/counters do not work on Kick for this reason (see Chat Bot).
- The Dashboard's Kick section shows LIVE/OFFLINE from the polled channel status, but there is no chat/event connection indicator (unlike YouTube's "Live Chat" stat) since there's no live connection to report on.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Kick section doesn't appear | Running the Demo edition | Use StreamSync Pro |
| Sending a chat message fails | Streamer account not connected, or token expired | Reconnect the Kick streamer account |
| Ban/timeout fails | Missing or wrong numeric Kick user ID | Kick has no live chat to resolve a user from, so you must supply the target's numeric user ID directly — there's no username lookup |
Demo vs Pro summary
| Platform | Demo | Pro |
|---|---|---|
| Twitch | ✅ Full | ✅ Full |
| YouTube | ❌ Not available | ✅ Streamer + Bot, chat polling, moderation, no live followers/polls |
| Kick | ❌ Not available | ✅ Streamer + Bot, REST + chat sending only, no live event feed |