meeting.rtms_started never fires on a Basic (free) account — is RTMS gated by plan or account-level enablement?

Description

Our RTMS-enabled Marketplace General App is fully configured, but the meeting.rtms_started webhook never fires. Other meeting events arrive fine, so the endpoint and signature validation work — only RTMS events are missing.

We’ve already ruled out the common causes mentioned in similar threads:

  • We correctly parse the nested payload.payload object (server_urls / rtms_stream_id / signature).
  • We correctly handle webhook url_validation (echo plainToken via HMAC-SHA256).
  • Signature verification passes and we return HTTP 200.

We successfully receive meeting.started and meeting.ended. But when the host starts a meeting with RTMS auto-start enabled, meeting.rtms_started is never delivered.

The host account is a Basic (free) accountusers/me returns "type": 1.

How To Reproduce

  1. App type: Marketplace General App with RTMS.
    • Scopes: rtms:read:rtms_started, rtms:read:rtms_stopped, meeting:read:meeting_audio
    • Event Subscription: meeting.rtms_started, meeting.rtms_stopped (Webhook method, default Zoom signature header)
    • RTMS auto-start: enabled; in-meeting “share content with app” toggle on
  2. Authentication: OAuth (user-level); webhook verified via x-zm-signature.
  3. Start a meeting as host (Basic/free account, users/me type=1) and enable RTMS.
    • Received: meeting.started, meeting.ended (HTTP 200, signature verified)
    • Never received: meeting.rtms_started

Questions

  1. Is meeting.rtms_started gated behind a paid/Licensed plan? Do Basic (free) accounts simply never receive RTMS events?
  2. Is RTMS an account-level enablement that Zoom must toggle (like the RTMS trial)?
  3. If so, what’s the process to enable RTMS for our account?

Thanks!

@tinrec you will need a developer pack here https://zoom.us/pricing/developer