zoom-rtms
Reference skill for Zoom RTMS. Use after routing to a live-media workflow when processing real-time audio, video, chat, transcripts, screen share, or contact-center voice streams.
Security Assessment
About zoom-rtms
The zoom-rtms skill is a reference for Zoom Realtime Media Streams (RTMS), the platform capability that gives an application access to live audio, video, transcript, chat, and screen-share data from Zoom meetings, webinars, Video SDK sessions, and Zoom Contact Center Voice. It solves the problem of building real-time media pipelines without running a meeting bot in the media plane, using a WebSocket-based protocol built on open standards.
The skill explains that RTMS is primarily a backend media ingestion service that is event-triggered: the backend waits for an RTMS start webhook before it begins handling streams, and it can optionally pair with a Zoom Apps SDK frontend for in-client UI. It documents a two-phase WebSocket design that separates the control plane (a signaling socket handling authentication, media-server discovery, start/stop, and heartbeats) from the data plane (a media socket carrying binary audio, video, screen share, transcript, and chat data). It covers signature generation using HMAC-SHA256 over client ID, meeting or session ID, and stream ID; the heartbeat protocol with its timeouts; the fact that RTMS does not auto-reconnect and requires exponential-backoff reconnection logic; split versus unified connection modes; and geo-routed server URLs. Reference and example files cover the SDK quickstart, manual WebSocket control, media types, an end-to-end bot, AI integration, webhooks, data types, and environment variables.
Intended users are backend developers building live-media applications such as real-time transcription, meeting bots, AI companions, or contact-center voice analytics. The credential handling described is standard, deriving the HMAC signature from OAuth client secret or SDK secret held server-side. It is a technically deep, security-neutral reference within the Zoom partner plugin.
FAQ
What data can RTMS access?
Live audio, video, transcript, chat, and screen-share data from Zoom meetings, webinars, Video SDK sessions, and Zoom Contact Center Voice, delivered in real time over WebSockets without needing a bot in the media plane.
How does the connection work?
It uses a two-phase WebSocket design: a signaling socket for authentication, media-server discovery, stream control, and heartbeats, and a separate media socket for the actual binary audio, video, transcript, chat, and screen-share data.
How is a stream authenticated?
Both handshakes require an HMAC-SHA256 signature computed over the client ID, the meeting or session ID, and the stream ID, signed with the OAuth client secret (General App) or SDK secret (Video SDK App), which is kept server-side.
Does RTMS reconnect automatically?
No. RTMS does not auto-reconnect. You must implement reconnection with exponential backoff, and you must answer keep-alive heartbeats promptly or the connection closes after roughly 60 to 65 seconds.
Is RTMS a frontend or backend technology?
It is primarily a backend media ingestion service. It is event-triggered by an RTMS start webhook, and you can optionally add a Zoom Apps SDK frontend and stream backend outputs to it for presentation and user interaction.
All Files
15 filesInstall zoom-rtms
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
anthropics/knowledge-work-plugins