Introducing the Stream Deck Plugin for Zoom

After getting a Stream Deck earlier this year, I built a way to control my Zoom meetings with it. For one, this sent keyboard shortcuts directly to the Zoom client to toggle mute and video and had the ability to leave a meeting with the press of a (physical) button. There was a drawback: the SD buttons didn’t synchronize with the Zoom client, meaning the button could show a muted icon, while the meeting was not muted. After doing some research, I decided to solve that with a native Stream Deck Plugin for Zoom.


The plugin has the following actions available:

  • Toggle your mute status
  • Toggle your video
  • Toggle sharing; bring up the start share window, or stop sharing
  • Bring the Zoom client to the front and focus on it
  • Leave a meeting. If you’re the host, end the meeting

Currently, this Zoom plugin only works on macOS. It’s using AppleScript to detect the status of the buttons and an alternative needs to be figured out for Windows. The code is open for pull requests for anyone who would like to do the Windows part!


To install this plugin, download the com.lostdomain.zoom.sdPlugin file from GitHub and double click it to install into the Stream Deck configurator.

Before adding the actions to your Stream Deck, make sure the following shortcuts are marked as global:

  • Mute/Unmute My Audio
  • Start/Stop Video
  • Start/Stop Screen Sharing

Here’s a screenshot of how it should look:

Zoom Shortcuts

Now install the plugin by double-clicking the .streamDeckPlugin file. It’ll ask for confirmation to install it, click yes.

After installing the plugin, it will ask Accessibility permissions, which it needs to control the Zoom client.

Zoom Permissions Ask

Make sure Stream Deck is selected in the system preferences:

Zoom Permissions Config

Now you’re ready to add the Zoom actions to your Stream Deck profile of choice and start using it!

Zoom Actions

Installation Video

To get a visual view of the installation procedure, check out this video:


Share the wealth!


  1. Great stuff! I successfully downloaded, tested and it works great! I was put on to your plugin by Elgato customer support. I passed along these suggestions to them, but I thought you might appreciate them as well:

    Mute All: (Command + Up Arrow + M )
    Switch Camera: (Command + Up Arrow + N )
    Show Chat: ( Command + Up Arrow + H )
    Record on this Computer: ( Command + Up Arrow + R )
    Record to the Cloud: ( Command + Up Arrow + C )
    Show Manage Participants: ( Command + U )
    Preferences: ( Command + Comma )

    I’m sure you are just as frustrated as I am by all of Zoom’s ridiculous Key commands (the up arrows are especially odd.) I also put in a request to Elgato to allow their software to accept 3 Key Commands such as these in future updates.

    Thanks again! I use Zoom almost everyday and this will really help my workflow for Live and Virtual Events.


  2. Echoing what prev commenter Corey said! This is great, thank you so much for making this. Would also love a buttons for these actions if possible:
    – Toggle between active presenter and gallery view
    – End video spotlight/unpin video

  3. This sounds really nice. Don’t suppose there is any hope in getting something like this for Windows. I have hotkeys setup on my Elgato stream deck that do a bunch of different Zoom shortcuts, but have no way of getting the current status to keep it in sync. I have looked at the Zoom API/SDK but it is beyond my technical knowledge to build this

    • Martijn

      July 25, 2020 at 21:35

      Hi Michael, yes – someone pointed me towards a way to do it on Windows. I have an early version and wanted to see if you want to test it:

      Let me know if it works, and if you have any issues.

      • I tested this today and it does work. The stream deck updates the Mic, Video, and Screen sharing status to match Zoom, but it is very slow to act when pressing a button. It took ~2 seconds for the mic to turn on or off when pressed, a little longer for the video to react and when I pressed the Screen sharing it took probably 15-20 sec before the window opened.

        Also the delays are accumulated so it you press the mic on and then off, then video on, then mic off it could be 15 secs before it catch up.

  4. Thanks for making this, I was able to install the plugin but the step to allow the stream accessibility control never came up. And the stream is not in the list when I go into the security and privacy system preferences. I tried uninstalling and reinstalling the plugin but that didn’t help. When I try to use the zoom buttons I’ve created in the stream deck it shows a yellow danger symbol, I am assuming because it can’t communicate with zoom. (i have set the shortcuts as global). Thanks.

    • I have manually added the stream into the privacy system preference but the zoom plugin buttons on the stream deck still do nothing. I have set the shortcuts to global.

  5. Thanks for your great work on this. I did similar with SD’s built-in Hotkey assignable buttons but yours are sweeter. I’ve replaced the ones I made with yours and kept hotkeys for ‘chat’ (to open chat) and ‘hand up’ for raising my hand in a meeting. I wish Zoom would add hotkeys for reactions, but that’s not to be yet.

    Well done.

  6. Thanks for making this! Working from home and using it a lot.
    Sometimes however, leaving the meeting doesn’t work. Upon clicking there’s a “bomp” mac os error sound and the microphone is muted, not sure why!?

    • Martijn

      September 23, 2020 at 18:30

      Did you change the shortcut to leave the meeting, by any chance? The plugin tries the default combination, and the bump sound tells me it’s doing something that doesn’t work anymore.

  7. HI

    Handy plug in.

    I have been trying to get Stream Deck to do a bit more though.

    Had some success with using Applescripts but not quite getting what I need.

    Wondering if anyone has done a Script to a Screen Share of the Advanced setting ‘Music of Computer sound only.

    Using this with OBS would solve a lot of problems.


  8. Because this is based on keyboard commands, I assume it only works if Zoom is in the foreground? Or is there some way it can control Zoom even if something else is foregrounded?

Leave a Reply

Your email address will not be published. Required fields are marked *

© 2020 Lostdomain

Theme by Anders NorénUp ↑