\n
03 · Stream Deck

Your broadcast, on your Stream Deck.

The WES plugin for Stream Deck puts your controls under your fingers: pause, Quick Pause, resume, the next alert, your profiles. And the keys show the state live: paused or live, the countdown, the alerts waiting, the active look.

The Stream Deck software with the WES plugin installed. The numbers follow the TL;DR just below.

TL;DR

  1. In the dashboard, Stream Deck tab: Download the plugin, then double-click the file. Nothing opens: the plugin is installed. You need the Stream Deck software 7.1 or later.
  2. In the Stream Deck software, right-hand column, Keys tab: the WES Alert category holds the six keys. Drag the ones you want onto your deck.
  3. Click a WES key: its settings open below the deck. Click Connect: your dashboard opens on a code, check it is the same and confirm. Once is enough for every key. Connected as shows up.
  4. Press. The keys follow your broadcast live.

Already set up with an HTTP plugin? Your keys keep working, nothing changes for them. The WES plugin comes on top; the HTTP path is still described below, in Other HTTP plugin.

The WES keys

Six actions, each with its icon, the dashboard's one. A key does one thing and shows what it is about.

  • Apply profile Applies a saved profile to the live overlay. You pick the profile in the key settings. Green when it is the active look, amber if it was changed since.
  • Quick Pause Holds the alerts for a while, then goes back live on its own. Duration: the one from Settings › Broadcast, or 30 s, 1 min, 90 s, 2 min, set per key. During the pause, the key shows the countdown.
  • Pause Holds the alerts until you resume. Lit red while you are paused.
  • Resume Goes back live and releases the held alerts. While paused, it shows how many are waiting; when live, it is lit green.
  • Next alert While paused, lets exactly one alert through. Dark when nothing is waiting.
  • Status The state in plain words: LIVE, PAUSED, FOCUS, FLUSHING or OFFLINE. Pressing it opens your dashboard.

One lit key at a time. Among Quick Pause, Pause and Resume, the lit one tells you where you are. Pressing twice breaks nothing: pausing while paused does nothing, a second Quick Pause just restarts the window.

Install and connect

  • A Stream Deck, any model, with the Stream Deck software 7.1 or later (macOS 12+ or Windows 10+). The software is free, on elgato.com.
  • No Stream Deck at hand? Elgato's Stream Deck Mobile app (iPhone, iPad, Android) turns your phone into one; its free version has six keys, enough to try.
  • Your WES Alert Dashboard, to download the plugin and confirm your deck's connection.
  1. Download the plugin. Dashboard, Stream Deck tab, Download the plugin button. The file is called WES-Alert.streamDeckPlugin.
  2. Install it. Double-click the file and confirm. Nothing opens afterwards: the plugin just adds itself to the software. Don't look for it in Preferences or the Marketplace, it isn't listed there yet.
  3. Find the WES keys. In the right-hand column of the software, open the Keys tab, not Plugins (that one opens the Marketplace). Scroll down to the WES Alert category, or type WES in the search: the six keys are there. The picture at the top of the page shows where everything is.
  4. Place them. Drag a key onto a free square of the deck, on the left. Start with Status: it tells you at a glance that everything works.
  5. Connect them. Click a WES key on the deck: its settings open below. Click Connect: the plugin shows a code and opens your dashboard on it. Check it is the same code, then confirm. The dashboard opened somewhere else? Type the code in its Stream Deck tab. Once is enough for every key.
  6. Check. Connected as followed by your name shows up in the settings. On the deck, CONNECT gives way to the live state: Status shows LIVE in green, or OFFLINE while your overlay is not open in OBS.

Two keys have their own setting. Apply profile asks which profile to apply, in its settings (the key shows CHOOSE PROFILE until then). Quick Pause can get its own duration; otherwise it uses the one from Settings › Broadcast.

Updates. When a new version is out, the WES key settings show Update. Download, double-click: your keys and settings stay as they are.

Reading the keys

The colors are the dashboard's: LIVE green, PAUSED red, FOCUS amber, FLUSHING cyan, offline grey. The rest reads like this:

Lit key
That is the current state: Resume when live, Pause when paused, Quick Pause during the countdown, Resume in cyan while the held alerts go out. A lit profile key is your active look.
A number next to the icon
The alerts waiting. Resume releases them all, Next alert just one.
Dashed outline
Something is missing. NO OBS: your overlay is not open in OBS, the pause commands have nothing to drive; open it. CONNECT: the deck is not connected yet, click Connect in a key's settings. CHOOSE PROFILE: the key is waiting for its profile. A profile name in grey: that profile was deleted from the dashboard.
KEY? · SUB?
KEY?: WES refuses the deck's access, probably disconnected from Settings › Security. Click Connect to connect it again. SUB?: your subscription is not active.
NET? · ERR
NET?: WES cannot be reached (internet connection). The plugin retries on its own. ERR: an unexpected answer. In a key's settings, Advanced › Copy diagnostics, and send us the text: it never contains your key.
After a press: GONE · PACK? · WAIT · OFF
Shown for two seconds. GONE: the profile no longer exists. PACK?: its pack is no longer available, re-save the profile with another one. WAIT: too many presses at once, wait a few seconds. OFF: broadcast control is off on your account; write to us.

Other HTTP plugin

Rather drive WES from Web Requests, Streamer.bot or Companion, without the WES plugin? That works too: each key sends its action to WES, it just does not show the state.

Show the HTTP setup

Every action is a POST to one URL, with your Stream Key in a header. Any plugin that sends HTTP requests will do, such as datagram's Web Requests. The Stream Deck's native Website action is not enough: it can only open a page, without a header.

Everything you copy lives in the dashboard

Open the dashboard and switch to the Stream Deck tab (top navigation). It groups everything a key needs:

  • The deck: one key per saved profile, plus the four broadcast commands (Quick Pause, Pause, Resume, Next alert). Clicking a key copies its URL and opens it in the panel next to the deck. A profile's URL is also in its ⋯ menu on Main, under "Stream Deck".
  • The key panel: the fields of your HTTP plugin, in order: method (POST), URL, header, and the body, which stays empty.
  • The header: one line, Authorization: Bearer followed by your Stream Key, masked by default. Copying shows a secret warning first, then copies the whole line. It is the same line for every key: copy it once, paste it on each key.

Your Stream Key alone (for Streamer.bot) is copied from Settings › Connection. For an HTTP plugin, the header line is more convenient: it pastes as is. The WES plugin does not need it: it connects with its own code.

Configure an HTTP key

The steps below use datagram's Web Requests. Other HTTP plugins expose the same fields under different names; if yours asks for a header name and a header value in two boxes, the name is Authorization and the value is what follows Authorization: in the copied line.

  1. Put an HTTP Request action on a key. In the Stream Deck software, find Web Requests in the actions list (after installing it from the store) and drag its HTTP Request action onto a free key.
  2. Set the request. Method POST (not GET; the request is rejected otherwise). URL: paste the one you copied from the dashboard. Headers: paste the line copied from the Stream Deck tab as is, Authorization: Bearer …. Web Requests reads one Name: Value per line and silently skips a line without the colon, so the value alone is not enough. The request body stays empty (one exception below).
  3. Press the key. With your overlay loaded in OBS, press it. A profile apply takes effect immediately (if an Achievement is playing, the pack swap waits for it to finish, then swaps). Director commands show up in the dashboard's broadcast banner within a couple of seconds.

Naming your keys. The key title is yours to choose; the URL decides what happens. A layout that works well: one row of profile keys (per scene: gameplay, break, just-chatting), one row of broadcast keys. The deck in the Stream Deck tab shows this layout with your actual profiles.

Optional: a custom Quick Pause duration on one key

By default, quick pause uses the duration configured in Settings › Broadcast. A specific key can override it by sending a small JSON body with the request:

Content-Type: application/json

{"duration": 30000}

duration is in milliseconds, accepted between 5000 (5 s) and 300000 (5 min). A value outside that range is silently ignored and the default applies. Remember to also set the Content-Type: application/json header on that key, otherwise the body is not read. This lets you have, say, a 30 s key and a 5 min key side by side.

When an HTTP key press fails

The Stream Deck only shows OK or error, based on the HTTP status code. Here is what each code means and what to do:

200 · Done
The action was applied. Nothing to do.
400 · No overlay connected
For director commands: no overlay is connected (or the action segment of the URL has a typo). Open OBS first, with your WES Alert overlay source active; broadcast commands need a connected overlay to talk to.
401 · Missing or wrong header
The request reached WES Alert without a valid Authorization header. Either the line was pasted incomplete (it must read Authorization: Bearer … in full), or your Stream Key was regenerated since you configured the key. Copy the header line again from the dashboard's Stream Deck tab and update every configured key.
403 · Subscription inactive
Your subscription is not active. Check your account status in the dashboard.
404 · Profile not found
The profile in the URL no longer exists (deleted or recreated). Copy the fresh apply URL from the Stream Deck tab. Profile URLs survive renames, but not deletion.
409 · Pack unavailable
The profile's pack is no longer available on your account. Open the profile in the dashboard and re-save it with an available pack.
429 · Rate limited
Too many requests in a short burst. Wait a few seconds and press again. Normal use never hits this.

Your Stream Key is a secret

Anyone who has your Stream Key can apply profiles, pause your alerts and push events to your overlay. Treat it like a password: do not show it on stream (the dashboard masks it for exactly that reason), do not paste it in chat or in screenshots of your Stream Deck config.

If the key leaks, regenerate it in Settings › Security (Stream Key row). Your HTTP keys and Streamer.bot then need the new header line on each key. Stream Decks connected with the WES plugin are not affected: each has its own access, which cannot send alerts, listed in Settings › Security where you can disconnect one. The full procedure is in the Security guide.

Overlay not in OBS yet?

The Browser Source walkthrough is on /guide/setup. Profiles themselves are saved from the Profiles drawer on the dashboard's Main tab.