In the Zoom Marketplace App Setup guide, you created your Zoom app, added your development credentials to MeetStream, and got your first bot running. However, in development mode your bot can only join meetings hosted by your own Zoom account.
This guide walks you through submitting your Zoom app for production approval, so your bots can join meetings hosted by anyone.
Before switching to the Production tab, make sure the following are correctly set in your app’s Development tab. Open your app at marketplace.zoom.us.
https://meetstream.aiGo through each item in the Features section of the sidebar:

The zak scope should already be present from your initial setup. No additional scopes are needed for core bot functionality.
If you are using Zoom Calendar features, you may need additional scopes such as
user:readormeeting:list.
You must also provide a Scope Description — a written justification for why your app needs the scopes it uses. Enter the following:
“We are using this scope to send our bot to the meeting and capture the meeting data. The data is stored encrypted in our own S3 bucket — primarily audio data, as a WAV file.”
No configuration required.
Once your Development tab is in order, click the Production tab at the top of your app page. You will now fill out the Production-specific configuration.
Set this identically to your Development tab:
Add the same scopes as in Development (zak, plus any extras you configured). Use the same scope description as above.
This is the public-facing information Zoom reviewers will read. Fill it in with your own company’s details.
Long Description — Describe what your app does and how it uses Zoom. Be clear and specific as this is reviewed by Zoom. Cover what data you capture, how it is stored, and what developers use it for. Example:
[Your app] uses the Zoom Meeting SDK to deploy bots that join meetings, capture audio, and [describe your use case — e.g. transcribe, analyse, summarise]. Captured data is stored securely in [your infrastructure].
Not required. Skip this section.
This section has two tabs: Overview and Security.
Describe how your app is built and how it integrates with Zoom. Cover the Zoom APIs you use, the scopes and why, and how data is handled.
Example:
Our app uses the Zoom Meeting SDK to deploy automated bots that join meetings. It uses OAuth 2.0 for user authentication and the Zoom REST API to retrieve and manage meeting data.
Zoom APIs used:
- OAuth 2.0 — user authentication and secure token access
- Scopes:
meeting:read,user:read,recording:read,meeting:writeZoom REST API:
- Meetings API — to retrieve, create, or update meeting data
- Users API — to retrieve user details linked to accounts
- Recordings API — to access cloud recordings (if enabled)
Zoom Webhooks:
- Subscribed to meeting start/end and participant join/leave events
Upload a diagram showing how your system connects to Zoom and your users. It should illustrate:
Use any tool (Lucidchart, draw.io, Excalidraw) and export as PNG or JPG.
Answer both security questions:

Upload any extra supporting materials — such as a short screen recording showing your bot joining a Zoom meeting and capturing data.
Zoom’s review typically takes a few business days. You’ll receive an email when your app is approved.
Once Zoom approves your app:
Your MeetStream bots will now be able to join Zoom meetings hosted by any user — not just your own account.