We have a studio which is used as a distance learning classroom. A student runs the Zoom session so the instructor can just teach. When they take a break, the Zoom recording is paused but isn’t always resumed.
We were thinking we could build an app and use a physical indicator light (something like the Kuando Omega or a Delcom Indicator) which would communicate to users when the Zoom session was being recorded would be helpful. A flashing yellow light is harder to miss. Unfortunately, it doesn’t appear there’s any API call or WebHook which provides such a status.
The Recording Started Webhook for the dashboard also only appears to return whether a recording was ever started for a given meeting, not what the current status of the recording may be.
I’ve come across a similar scenario with Zoom, where knowing the real-time recording status would have been incredibly useful. Here are a few potential approaches you could explore, given the limitations with the Zoom API:
Polling the Zoom API for Recording Status: While it’s not ideal, you could use a scheduled task to periodically call the GET /meetings/{meetingId}/recordings API endpoint to check if the recording is currently paused or stopped. It’s not real-time, but it could give a reasonably close approximation if the polling interval is kept short (e.g., every 10-15 seconds).
Detecting Pause and Resume Events Locally: If the student managing the session uses Zoom on a local computer, you could try a local automation solution that monitors for changes in the recording state. Some screen automation tools can detect UI changes, so you could potentially have a local app watching the recording status indicator on the Zoom UI and then trigger the physical light accordingly.
Leveraging Zoom OSC (Open Sound Control) Protocol: Zoom OSC provides an API for more in-depth session controls and might offer a way to detect changes in session states, including recording. This would require additional setup and might only work if Zoom OSC supports your hardware setup, but it could allow for more granular control than standard webhooks and API calls.
Browser-based or Local Script: Another approach, if the Zoom session runs in a browser or on a local machine, could be to use a simple Python script with Selenium (for browser automation) or AutoHotkey to visually monitor the recording icon. When it detects a change (e.g., recording starts or pauses), it could communicate directly with the physical indicator light.
These aren’t seamless solutions but might help as a workaround until Zoom potentially expands its API/Webhook offerings to include real-time recording status.