Microsoft retired the third-party API used by the original Teams Stream Deck plugin, leaving existing buttons locked and unusable. StreamDeckTeams restores the useful meeting controls without that API, a cloud service, an account, or a subscription.
- Mute or unmute
- Turn camera on or off
- Leave the call
- Raise or lower your hand
- Toggle background blur
- Send Like, Love, Applause, Laugh, and Wow reactions
- Show live mute and camera state on the Stream Deck keys
Requirements: Windows 10 or 11, Microsoft Teams desktop, and Stream Deck 6.6 or newer. The release includes its runtime; a separate .NET installation is not required.
- Open the latest release.
- Download
StreamDeckTeams-1.0.0.streamDeckPluginfrom Assets. - Double-click the downloaded file and approve the installation in Stream Deck.
- In the Stream Deck app, expand Free Teams Controls and drag the actions onto your keys.
- Join a Teams call and press a key. There is no pairing code or Teams API setting.
Updating is the same process: install the newer .streamDeckPlugin file over the existing version. Your key layout remains in place.
The plugin runs entirely on your PC. It finds the active Teams call through Windows UI Automation, invokes the accessible meeting controls directly, and uses Microsoft's documented Teams keyboard shortcuts as a fallback for core actions. It does not read chat content, capture audio or video, collect telemetry, or send data to a server.
This is intentionally different from the retired official integration: it does not use Microsoft's discontinued third-party meeting-control API.
If a key does nothing:
- Confirm you are in a call in the Microsoft Teams desktop app, not Teams in a browser.
- Leave the call controls unobstructed and try the key again.
- In Teams, open Settings → Keyboard shortcuts and allow shortcuts from other apps. This only affects the fallback path.
- Run Teams and Stream Deck at the same privilege level. Usually neither app should be run as administrator.
- Quit and reopen both Teams and Stream Deck after an update.
Logs are written under %APPDATA%\Elgato\StreamDeck\logs\ with the plugin UUID com.manankakkar.free-teams-controls.
Current limitations:
- Windows only.
- The Teams accessibility labels are currently matched in English.
- Reactions and background blur depend on the accessible controls exposed by the installed Teams build.
- Teams UI changes can require a plugin update. Please open an issue with your Teams and Stream Deck versions if something breaks.
Requirements: .NET 8 SDK, Node.js 20 or newer, and PowerShell.
git clone https://github.com/kmanan/StreamDeckTeams.git
cd StreamDeckTeams
powershell -ExecutionPolicy Bypass -File .\scripts\build.ps1The installer is created in artifacts. To link the development build into Stream Deck instead, install the Stream Deck CLI and run:
streamdeck link .\plugin\com.manankakkar.free-teams-controls.sdPlugin
streamdeck restart com.manankakkar.free-teams-controlsElgato states that its Microsoft Teams plugin was removed from the Marketplace on December 12, 2025 because Microsoft discontinued and took offline the required API. This project is a free, local workaround built on supported Windows accessibility facilities and documented Teams shortcuts.
See Elgato's plugin retirement notice and Stream Deck plugin packaging documentation.
MIT licensed. This community project is not affiliated with, endorsed by, or sponsored by Microsoft or Elgato. Microsoft Teams, Stream Deck, Elgato, and related marks belong to their respective owners.
