We have completed the development of the SconChat-Zoom App (which operates via webhooks). However, we have encountered a critical UX hurdle regarding Realtime Media Streams (RTMS) webhooks.
[The Problem] If a user is already active in a Zoom meeting and proceeds to register/link their account with our app during that ongoing session, Zoom does not trigger RTMS webhooks for that user immediately. Currently, the user must leave the meeting and rejoin (disconnect and reconnect) to start receiving the webhooks.
[Common User Pattern & Pain Point]
The user joins a Zoom meeting.
They copy the meeting link and come to our site to request integration.
Since they aren’t registered yet, we guide them through the Zoom-SconChat app linking/registration process.
Once registered, they return to use the service, but it doesn’t work unless they leave the Zoom meeting and come back in.
This creates a massive friction point for our users.
[Questions for Discussion]
Is there any way to force Zoom to register/refresh the RTMS webhook subscription for an already active live meeting session right after the app is authorized?
Are there any API workarounds (e.g., manually fetching the active session state or triggering a sync) to avoid forcing the user to rejoin the meeting?
Would love to hear your insights or any workarounds you might have implemented for similar issues!
Once the user completes the OAuth authorization, everything works perfectly: we successfully receive the RTMS WebSocket (ws) URL via webhook, establish the connection, and the app functions as intended.
The specific issue we are facing happens only when the user completes the OAuth authorization while they are already inside an active meeting. In this exact scenario:
They authorized the app mid-meeting.
The webhook containing the RTMS ws URL is not triggered for that ongoing session.
It only starts working if they leave and rejoin the meeting.
Since we are already utilizing the webhook flow with autostart, we are looking for a way to programmatically trigger or fetch that RTMS ws URL for the currently active meeting right after authorization, without making the user rejoin.
Should we look into calling the REST API (Start RTMS) manually as a fallback when we detect an active session post-authorization?
Use Zoom Apps with the OnAuthorized event. This will allow you to trigger the start RTMS either via Zoom Apps JS SDK or REST API ZoomSdk | @zoom/appssdk - v0.16.38
Use your backend service to call the start RTMS REST API when the user successfully complete the OAuth callback. This would require a few more checks to see if the user is already in meeting or not.