Thanks Tommy. I’ll try to describe our use case in case it helps with any planning on your end. If you have access to my email address in my account then feel free to follow up if you’d like specifics about us that I don’t mention here.
We’re an established company that produces an online training system, so the primary user groups are students, instructors, and administrators. The admins can upload their training content, so most of it is online courseware, but we also have a lot of features to support in-person classroom training and also webinars. Until now, setting up a webinar session meant just pasting in the URL of the actual webinar, so that when students click to launch it just redirects to that URL, so all of the webinar setup happens outside of our application.
One of our clients wants to greatly expand their webinar offerings, and they basically feel that they want their instructors to need to do as little as possible other than actually teaching, so they want to minimize the number of clicks that it takes to set up, schedule, and conduct a webinar. They wanted us to look into Teams, but the API for that is kind of a nightmare, and we suggested Zoom.
Normally when we add support for third-party features like this, we set it up so that our clients use their own accounts instead of our company having one large account that everyone uses. An example of that is Vimeo, people can upload videos and have them go to Vimeo to take advantage of their transcoding and bandwidth, but instead of putting all of those videos on our account, each customer uses their own account. Google Analytics is another example.
So, basically, having the meeting host create and/or join the meeting outside of our application is going to defeat the purpose for our client, because that’s basically what we have now (they would just paste the join URL into the webinar session setup).
Let me know if you want to follow up with any specific questions about us or our application, I’d rather do that privately though. In the meantime, I’ve got a couple additional questions:
If we create and host multiple meetings for a single user, will that cause any problems? Can they schedule and launch multiple meetings at the same time with the same host, or would we need to do something where we link individual Zoom users to individual instructors in our application? Currently the admin does choose the instructor when creating the webinar session. I was also thinking of just listing the Zoom users where they could choose both an instructor account in our application, and also a Zoom user to host. What are the implications around that though, for example would only certain Zoom users have access to certain transcripts or is that account-level? I did notice that with a free account a user can create only 100 meetings per day, are there any other restrictions like that which we need to be aware of in figuring out how to best implement this for our client?
I do see the issues around sharing the Zoom tokens with us, and I understand that we also need to make sure that data doesn’t leak anywhere on our interface, but it sounds like right now there’s not another way to basically have us write the software using the Web SDK, but have it use their Zoom account, is that correct?
A possible solution on your end might be to let people set up multiple apps, each with its own set of tokens. That would let your customers grant and revoke integration with third parties like us without invalidating their keys for the others.