Polls, giveaways, and waitlists

Let chat vote, pick a random winner, or line viewers up for their turn.

Which tool do I need?

I want to…Open this in the popup
Let chat voteGraphical Poll → Poll Options
Draw a winner with a big revealGiveaway Tool → Giveaway Options
Pick a random name from a simple listWait List / Winner Draw, winner-draw mode on
Take viewers in orderWait List / Winner Draw, winner-draw mode off
All of them: copy the tool's link into OBS as a Browser Source, and keep Social Stream Ninja and your chat sources running. Don't edit out the session or password.

Run a poll in 5 steps

  1. Open Graphical Poll → Poll Options. Set Poll Type to Multiple Choice.
  2. Type a question, like What should we play next?, and the options with commas, like Adventure, Puzzle.
  3. Set Vote Matching to Exact vote only. Turn on Enable Poll.
  4. Copy the poll link into OBS. Viewers send just 1 or 2 (or the option name).
  5. Click End Poll to stop voting. Note the result, then click Reset Poll for the next one.
Graphical poll with Adventure and Puzzle options and fictional sample votes
The poll with sample votes.

Good to know

  • Each viewer gets one vote. Turn on Allow multiple votes per user to change that.
  • Free-form polls use hashtag votes, like #yes. Hashtag anywhere counts a hashtag inside a longer message.
  • Save Current Poll saves the setup, not the results.

Custom colours or fonts: Customize your graphical poll.

Run a giveaway

First time? Your first giveaway walks through it with screenshots.

  1. Open Giveaway Tool → Giveaway Options.
  2. Set the Entry keyword, like !enter.
  3. Pick a Winner card, Name reel, or Community wheel, and one of six styles.
  4. Click Preview display, then copy the link into OBS as a Browser Source.
  5. Click Open entries. When you're ready, click Draw winner.
  • Drawing closes entries for you.
  • New round empties the pool and keeps past winners in history. Entries start closed.
  • Every entry has the same chance. Donating doesn't help.
  • Unless Allow repeat winners is on, a winner can't win again in the same round.
  • Only members can enter needs a platform that sends membership info.
Paid tickets, point prizes, or games? See Giveaways, tickets and point prizes.
More details: odds, saving, and limits
  • The preview uses made-up names and never joins your session. The OBS display has no controls.
  • Style and title live in the link. Entry rules come from the popup when entries open.
  • Displays with the same Giveaway ID show the same pool and winner.
  • Paid tickets weight the odds by ticket count.
  • One entry per person per platform. The same person on two platforms counts twice.
  • Up to 10,000 entries. The wheel shows up to 120 names but picks from everyone.
  • Old, replayed, private, bot, and event-only messages are ignored.
  • Rounds are saved per session in this browser or app profile. A restart closes open rounds for review. Nothing is erased.
Control it from the API, Stream Deck, or Event Flow

The popup, the HTTP/WebSocket API, and Stream Deck share these actions. No display has to be open. In Event Flow, use Giveaway / Tickets (details).

ActionWhat it does
startgiveawayOpen or resume entries. Optional value: {"giveawayId":"default","config":{"keyword":"!enter","match":"exact","membersOnly":false,"removeWinner":true}}. Without config, it keeps the round's rules (or popup settings for a new round).
closegiveawayClose entries. Keeps the pool.
drawgiveawayClose entries and pick a winner. Errors if nobody entered.
resetgiveawayNew empty, closed round. Old winners go to history. Refund paid tickets first.
getgiveawaystateGet the entry count, open or closed, rules, and recent winners.
{"action":"drawgiveaway","get":"draw-1"}

Stream Deck (protocol 2) uses the same names. Its reply is about the giveaway, not whether OBS shows it.

The old standalone community wheel (no managed in the link) keeps its own pool and ignores these actions.

Quick winner draw from the waitlist

  1. Open Wait List / Winner Draw and expand its settings. Turn on the trigger and set a command, like !join.
  2. Turn on Configure as winner-draw mode instead of queue. Copy the updated link into OBS.
  3. Tell viewers the command.
  4. When entries are done, click Stop entries, then Select winner.
  5. Click Download list to keep the entries, then Reset draw to clear them.
  1. Open entriesViewers type !join
  2. Stop entriesClose the pool
  3. Select winnerShow the pick
  4. Reset drawClear for next time
Stop entries before you draw. Download the list before you reset.

Run a viewer queue

Same setup as the winner draw, but with winner-draw mode off. Viewers join with your command.

ButtonUse it to
Highlight top entryShow who's next.
Remove top entryMove on after their turn.
Select a namePick someone at random instead of in order.
Stop entriesClose the queue to new people.
Download list / Reset queueSave a copy (TSV file), then clear it when you're done.

Allow removed users to rejoin decides if people can get back in line.

Chat commands for mods

Turn on Enable waitlist control commands so mods, the host, and admins can run the queue from chat.

!wlstop · !wlremove · !wlreset · !wlpick · !wlhighlight

Some take a number, like !wlpick 3 or !wlremove 2.

Test first, then fix problems

Before going live, send a few test messages from different made-up users, and check OBS shows the result.

ProblemTry this
No votes countCheck Enable Poll is on, the poll isn't ended, the vote matches exactly, and they haven't voted already.
No one gets inCheck the trigger is on, the command is exact, entries aren't stopped, and members-only isn't blocking them.
A count shows but no listThat's winner-draw mode. It shows a pool and winners, not a queue.
OBS shows something differentPaste the link into OBS again and check the session and password. Don't run two differently set-up poll pages.

Physical buttons: see Stream Deck setup and the OBS control dock.