# Add Realtime Media Streams to your app Once Realtime Media Streams (RTMS) has been added to your account, you need to create a new general app and add RTMS to it, or add RTMS to an existing app. For more information on creating an app, see [Quick start guide](/docs/build-flow/quick-start-guide/) in the _Build your app_ guide. To add RTMS to your app, you'll need to add - Event subscriptions for RTMS [started](/docs/api/rtms/events/#tag/meeting/postmeeting.rtms_started) and [stopped](/docs/api/rtms/events/#tag/meeting/postmeeting.rtms_stopped) events - Scopes for the media (audio, video, transcript, etc) you want to access - (Optional) Scopes for REST APIs to control RTMS sessions This video walks you through adding RTMS features to your app. [![Add RTMS features to your Zoom app](https://img.youtube.com/vi/65PDk45Kxh4/maxresdefault.jpg)](https://www.youtube.com/watch?v=65PDk45Kxh4) ## Prerequisites - Access to RTMS in your account ## Create an app To use RTMS, you'll need to create a General app on the Zoom App Marketplace that you can then add RTMS features to. For more information on creating an app, see [Quick start guide](/docs/build-flow/quick-start-guide/) in the _Build your app_ guide. > RTMS apps must be user-managed apps to add the RTMS events and scopes. For more information about adding an app for multiple users, see [Add app for users and groups](/docs/rtms/meetings/add-features/#add-app-for-users-and-groups). ## Subscribe to RTMS started and stopped events RTMS [uses event subscriptions](/docs/api/rtms/events/) to notify your app when a session starts and stops in a meeting or webinar. Use these events to [work with RTMS streams](/docs/rtms/meetings/work-with-streams/). ### To subscribe to RTMS events 1. Sign into the [Zoom App Marketplace](https://marketplace.zoom.us/). 2. To go to the app, in the upper-right of the screen, choose **Manage**. ![The app marketplace pointing to the Manage button](/img/app-marketplace.png) 3. Select your app from the list. 4. In the navigation pane, choose **Access**. ![The app side nav pointing to Access](/img/app-sidenav.png) 5. In the **General Features** section, turn on **Event Subscription**. 6. Set up the event subscription 1. Give your subscription a name. 2. Choose **Add Events**, search for _RTMS_, and select the events you want to subscribe to. We recommend subscribing to all of the available ones, but you'll need _RTMS Started_ and _RTMS Stopped_ for RTMS to work. 3. Choose **Done**. 7. Enter the **Event notification endpoint URL** where you'll receive events. 8. Choose **Save**. Now that you've added event subscriptions to your account, you'll need to add RTMS scopes. ## Add RTMS scopes to your app Your app will also require scopes for the media such as audio, video, and transcript data you want to receive. Scopes tell the [media servers](/docs/rtms/meetings/media/) which data to send and [appear to hosts and participants](/docs/rtms/meetings/ux-participant/) in meetings and webinars. > Your app will need [Granular scopes](/docs/integrations/oauth-scopes-granular/) to use RTMS scopes. Granular scopes are the default for new apps, but older apps might need them to be enabled. Update your app if you do not see RTMS scopes in your list of available scopes. ### To add scopes to your app 1. Sign into the [Zoom App Marketplace](https://marketplace.zoom.us/). 2. To go to the app, in the upper-right of the screen, choose **Manage**. 3. Select your app from the list. 4. In the navigation pane, choose **Scopes**. 5. Choose **+ Add Scopes**, search for _RTMS_, and select the scopes you want to add. For example, if you want to get audio data from a meeting, add the `meeting:read:meeting_audio` scope. > RTMS scopes are unable to be marked as optional. If your app only requires meeting audio, only select the `meeting:read:meeting_audio` scope. Likewise, if your app only requires meeting transcripts, only select the `meeting:read:meeting_transcript` scope. ## (Optional) Add JS SDK APIs for apps If your app is an in-meeting, or in-webinar, app, you can use [JS SDK APIs](https://appssdk.zoom.us/classes/ZoomSdk.ZoomSdk.html#startRTMS) to start and stop RTMS sessions. These API methods allow your app to provide enhanced user controls, including launching RTMS with a button or automatically when the user opens the app. To use JS SDK APIs, your app will need to run as an in-meeting, or in-webinar, surface app. ### To make your app a surface app 1. Sign into the [Zoom App Marketplace](https://marketplace.zoom.us/). 2. To go to the app, in the upper-right of the screen, choose **Manage**. 3. Select your app from the list. 4. In the navigation pane, choose **Surface**. 5. In the **Select where to use your app** section, select **Meetings and Webinars**. 6. In the **In-client App Features** section, turn on **Zoom App SDK**. 7. Choose **+ Add APIs**, search for _RTMS_, and select the APIs you want to add. These APIs control what options are available to meeting or webinar participants. We recommend at least adding `StartRTMS` and `StopRTMS`. > In-meeting JS SDK APIs are supported in Zoom Desktop client version 6.5.5 and above. ## (Optional) Add REST APIs for session status RTMS can also be started and stopped using a REST API from your app to [Update participant Real-Time Media Streams (RTMS) app status](/docs/api/meetings/#tag/meetings/patch/live_meetings/{meetingId}/rtms_app/status). This allows your app to start an RTMS session for a participant with an access token. Using this endpoint requires the `meeting:update:participant_rtms_app_status` scope. For more information about adding scopes, see [Add RTMS scopes to your app](/docs/rtms/meetings/add-features/#add-rtms-scopes-to-your-app) > This REST API is currently only available for apps used by meeting hosts. ## Add app for users and groups As an admin, once an app is added to your account, you can add the app to multiple users or groups in your account. 1. Sign into the [Zoom App Marketplace](https://marketplace.zoom.us/). 2. In the upper-right of the screen, choose **Manage**. 3. In the navigation pane, choose **Apps on account**. 4. Select your app from the list. 5. On the **Users & Groups** tab, choose **+Add Users**. 6. Add the users and groups you want to share the app with and choose **Allow**. Now the app is ready for the selected users and groups to use.