Consultation on how to resolve SDK application policy for private apps

Hi team,

We recently received a notification regarding the " Zoom Meeting SDK Policy Update" to implement any necessary changes.

We currently have a private “Meeting SDK” app that enables our meeting bot to join Zoom meetings of our customers as a guest. From the notification, we recognized that our app needed to be published.


Fig: the app type we use.

Time is short for the deadline and we need your help!

We have some questions.

  1. Does the Meeting SDK app require a user-installed UI like a typical Oauth app?
  2. (If the No.1 question’s answer is YES.) We have already published an Oauth app. When I install the Oauth app, can I automatically install the Meeting SDK app along with it? Or do users need to install Oauth app and Meeting SDK app separately?
  3. We have already published an Oauth app.Can we integrate the Meeting SDK app into the Oauth app we are providing?
  4. We have already published an Oauth app.Is it possible for Zoom engineers to automatically install the Meeting SDK app for accounts already using our Oauth app?

Hi @jigenji , my response are inline

1 Like

Thank you for your response!

We thought the Meeting SDK App (with its own OAuth functionality) plan is a better solution.
In order to consider whether it is realistically feasible to implement, we would like to know the following questions.

Questions

  • Am I correct in understanding that if we provide the Meeting SDK app to anyone other than our own account while it remains private, in the future the Meeting SDK app will not be able to enter other users’ meetings?
  • Our Oauth app is Account Level. Is it possible to serve the Meeting SDK App (with its own OAuth functionality) as a Account Level. As for the Meeting SDK App, we have only found a way to provide it at User Managed Level instead of Account Level. We would like to provide Meeting SDK apps at the account level.

Your advice has been very helpful for us!
Best regards.

@jigenji my response are inline

Am I correct in understanding that if we provide the Meeting SDK app to anyone other than our own account while it remains private, in the future the Meeting SDK app will not be able to enter other users’ meetings?

As long as it is not published, your Meeting SDK App will not be able to enter other users’ meeting.

Our Oauth app is Account Level. Is it possible to serve the Meeting SDK App (with its own OAuth functionality) as a Account Level. As for the Meeting SDK App, we have only found a way to provide it at User Managed Level instead of Account Level. We would like to provide Meeting SDK apps at the account level.

If you need account level scope, you will need OAuth App Type. Meeting SDK’s OAuth functionality is user level only.

1 Like

@chunsiong.zoom Thank you for your response.

I understand that the private Meeting SDK app cannot join meetings of other accounts and the Meeting SDK app is user level only.

I want to ask for more details as it pertains to the specifications.

  • When a bot using the published Meeting SDK app tries to join a meeting, does the host need to have the Meeting SDK app installed, or does one of the participants need to have the Meeting SDK app installed?
  • Are there any exceptions, such as if the Zoom Meeting SDK app knows the passcode for a Zoom meeting, can the app be invited to a meeting even if the user does not have the app installed?

Thank you so much for answering so many questions. I will share that we are working on this as an important issue with our development team and are struggling with how to solve it.

Hi @jigenji , the response are inline

  • When a bot using the published Meeting SDK app tries to join a meeting, does the host need to have the Meeting SDK app installed, or does one of the participants need to have the Meeting SDK app installed?

So you have a bot which is going to use the clientID and clientSecret from the published Meeting SDK App.
Usually it is the host who will install / approve the Meeting SDK App for your Bot. There are also instances where participants install /approve it. It depends on the use case.

It is typically more common for host to install / approve the Meeting SDK App for your bot.

  • Are there any exceptions, such as if the Zoom Meeting SDK app knows the passcode for a Zoom meeting, can the app be invited to a meeting even if the user does not have the app installed?

If the Meeting SDK App is not publish, even with the passcode and meeting number, it will not be able to join the external meeting. The only exception, is for the Meeting SDK App to join its own account’s (internal) meeting.

Let me know if you need me to clarify anything

1 Like

Hi @chunsiong.zoom Thank you so much. The response are inline

So you have a bot which is going to use the clientID and clientSecret from the published Meeting SDK App.
Usually it is the host who will install / approve the Meeting SDK App for your Bot. There are also instances where participants install /approve it. It depends on the use case.

Please let me know what happens in the specific case regarding this answer.

  • Case1: Suppose there are three people in the meeting and only a not host user belonging to a different Zoom account than the host has the Meeting SDK app installed. At that time, can that user authorizes a bot using the Meeting SDK app to attend that meeting?
  • Case2: Suppose there are three people in the meeting and only a not host user belonging to a Same Zoom account of the host has the Meeting SDK app installed. At that time, can that user authorizes a bot using the Meeting SDK app to attend that meeting?

If the Meeting SDK App is not publish, even with the passcode and meeting number, it will not be able to join the external meeting. The only exception, is for the Meeting SDK App to join its own account’s (internal) meeting.

Thnak you…
Just to be clear, even if it is a public Meeting SDK app, if it is not installed, the bot cannot join even if it has a passcode to join, right?

@jigenji

  • Case1: Suppose there are three people in the meeting and only a not host user belonging to a different Zoom account than the host has the Meeting SDK app installed. At that time, can that user authorizes a bot using the Meeting SDK app to attend that meeting?
  1. Host
  2. Participant (Different account from host, installs bot Meeting SDK APP)
  3. Participant

Participant 2 can authorize the bot to attend this meeting.

If the bot wish to record the meeting, the bot needs to request for recording permission from the host.

The host needs to approve the “request to record” before any recording can be done.

  • Case2: Suppose there are three people in the meeting and only a not host user belonging to a Same Zoom account of the host has the Meeting SDK app installed. At that time, can that user authorizes a bot using the Meeting SDK app to attend that meeting?

1.Host
2. Participant (Same account as host, install bot Meeting SDK App)
3. Participant

Participant 2 can authorize the bot from attend this meeting.

If the bot wish to record the meeting, the bot needs to request for recording permission from the host.

The host needs to approve the “request to record” before any recording can be done.

Do note that in both cases, if Host thinks there is some weird bot joining the meeting, the host can choose to kick them.

Just to be clear, even if it is a public Meeting SDK app, if it is not installed, the bot cannot join even if it has a passcode to join, right?

Yes, this is the expected behavior

1 Like

@chunsiong.zoom Thanks a lot!

  1. Host
  2. Participant (Different account from host, installs bot Meeting SDK APP)
  3. Participant

Participant 2 can authorize the bot to attend this meeting.

If the bot wish to record the meeting, the bot needs to request for recording permission from the host.

The host needs to approve the “request to record” before any recording can be done.

This explanation is very clear for us. That specification would cover the use cases we envision.

  • Just to confirm, in the above case, when the bot asks the host for a record, can the host allow it without the Meeting SDK app installed? (In other words, is the Meeting SDK app required to be installed only when the bot is asking to join a meeting? )

Thank you very much for sharing the Meeting SDK application specifications. Please let me discuss the implementation with you.

  • We already have a source code of Bot that uses the private Meeting SDK app for joining the meeting and recording it. Do we need to make any changes to the code that uses the Meeting SDK as we publish the app? Or is it sufficient to simply prompt users to install the Meeting SDK app?

Thanks🙇‍♂️

Hi @jigenji

Just to confirm, in the above case, when the bot asks the host for a record, can the host allow it without the Meeting SDK app installed? (In other words, is the Meeting SDK app required to be installed only when the bot is asking to join a meeting? )

The bot needs to be installed/approved to join the external meeting in the first place. Only when it has successfully joined the meeting, then i can requires the host for recording permissions. Here’s the necessary steps.

  1. User (either host or non-host is fine) approves and add the Bot’s Meeting SDK App listing on marketplace.

  2. The bot joins a meeting

  3. a. If user is not host, the bot request for permission from host to record
    b. If user is host, the bot can either request for permission or request for recording token from REST API.

  4. Depending on “approve” or “decline” in step 3, the bot can start recording or take other actions

We already have a source code of Bot that uses the private Meeting SDK app. Do we need to make any changes to the code that uses the Meeting SDK as we publish the app? Or is it sufficient to simply prompt users to install the Meeting SDK app?

You will need to

  • Get the users to add / approve the app once is it published on marketplace.
1 Like

Hi @chunsiong.zoom ! Thank you!

The bot needs to be installed/approved to join the external meeting in the first place. Only when it has successfully joined the meeting, then i can requires the host for recording permissions. Here’s the necessary steps.

  1. User (either host or non-host is fine) approves and add the Bot’s Meeting SDK App listing on marketplace.
  2. The bot joins a meeting
  3. a. If user is not host, the bot request for permission from host to record
    b. If user is host, the bot can either request for permission or request for recording token from REST API.
  4. Depending on “approve” or “decline” in step 3, the bot can start recording or take other actions

Thanks for the detailed steps, we understand that when the Bot requests to join an external meeting, the Meeting SDK app must be installed and approved by the one of the participants. And we understand that only a request to the host is required for the Bot to make a recording, etc. after the Bot has joined.

You will need to

  • Get the users to add / approve the app once is it published on marketplace.

We understand that in order to adapt to the Zoom Meeting SDK Policy updates, we only need to have users install the Zoom Meeting SDK app, and we do not need to change the code of the bot that uses the private Zoom Meeting SDK app.

I believe we have clarified our various uncertainties. Please let us know if any of the above understanding is incorrect.

I would like to ask a question that we do not solve as we proceed with the publication of the Meeting SDK app.

Hi @chunsiong.zoom .

I have concerns about the solution to the request described in this document. ( Zoom SDK App Requirements). We could take a long time to resolve them.

Is there a private way to contact you to discuss this issue, rather than on the developer forum, as it is a product-specific issue?

@jigenji, another option to make sure your Zoom bots are compliant and triggering the recording notifications, is Recall.ai. They provide an API for meeting bots, so you don’t need to manage bots yourself and have helped quite a few companies become compliant already.

1 Like