Stream Kit Docs
Plugins

Stream Deck

Connect Elgato Stream Deck to Stream Kit — run actions, fire triggers, and update keys from handlers.

Stream Deck

The Stream Deck integration has two parts:

  1. Stream Kit plugin (stream-deck) — triggers, feedback handlers, button registry, and API methods
  2. Elgato Stream Deck plugin (integrations/stream-deck) — keys/dials in the Stream Deck app that talk to Stream Kit over the WebSocket API Server

Requirements

  • API Server enabled under Settings → API Server (default port 7892) with an access token
  • Stream Kit Stream Deck plugin enabled
  • Elgato Stream Deck app 6.9+ with the Stream Kit Stream Deck plugin installed/linked

Setup

  1. In Stream Kit, enable Settings → API Server and copy the access token.
  2. Enable the Stream Deck plugin and open Stream Deck → Overview for status.
  3. Install or link the Elgato plugin (see development notes).
  4. In Stream Deck, add Stream Kit → Run Action (or Toggle / Dial).
  5. In the Property Inspector, set host (127.0.0.1), port (7892), token, and the Stream Kit Action ID (copy it from the Actions list or action editor).
  6. Optionally set a button Alias so Stream Kit handlers can target that key.

Elgato actions

ActionBehavior
Run ActionOn key down: actions.runById + report keyDown / keyUp
Toggle ActionAlternates two action ids and flips key state 0/1
Dial ControlReports dial rotate / press / touch; optional action on rotate or push

Triggers

Under Stream Deck in the action editor:

TriggerWhen
Key Down / Key UpKey press events
Dial Rotate / Dial Down / Dial UpEncoder events
Touch TapTouch strip tap (where supported)
Will Appear / Will DisappearKey lifecycle on the profile
Connected / DisconnectedElgato plugin session to the API Server

Optional conditions filter by Alias, Action UUID, or Device.

Browse IDs: Stream Deck triggers.

Handlers

HandlerDescription
Set TitleUpdate key title (by alias or last pressed key)
Set ImageUpdate key image (path, URL, or data URI)
Set StateSet state 0 or 1 (toggle keys)
Show OK / Show AlertBrief Stream Deck feedback
Set Button SettingsMerge JSON into the key’s settings

Browse IDs: Stream Deck handlers.

Aliases

Give a key an Alias in the Property Inspector. Stream Kit stores it when the key appears. Handlers resolve targets as:

  1. Explicit alias field on the handler
  2. Otherwise the last pressed key context

API methods

The Stream Kit plugin extends the API Server with plugin:stream-deck:*:

MethodPurpose
reportEventElgato → Stream Kit event (fires triggers)
registerButton / unregisterButtonButton registry
getStatus / listButtonsStatus for UI / debugging

Clients should also subscribe to plugin:stream-deck.* for feedback events (setTitle, setImage, …).

Running actions uses the built-in actions.getSnapshot and actions.runById methods — no duplicates.

Elgato plugin development

From the monorepo:

pnpm --filter @stream-kit/streamdeck-plugin build
pnpm --filter @stream-kit/streamdeck-plugin link
pnpm --filter @stream-kit/streamdeck-plugin watch

Requires the Stream Deck CLI (npm i -g @elgato/cli) for link / restart. Details: integrations/stream-deck/README.md.

On this page