I have a multi-tenant application and I am trying to learn how to best approach our particular situation. Each tenant has X number of users and they would use the SaaS Zoom API to create one-on-one meetings with their clients. The SaaS would have the account with Zoom. How do I setup up Zoom to handle this functionality? Is their documentation on how this could possibly work?
I suggest using the Create Meeting API, which will provide you a start_url and join_url that you can distribute / display to the respective meeting host, and participant.
Thanks for your response. I do have another question.
Does this setup look correct?
Main ā Zoom Account Subscription (SaaS)
Tenant 1
User1
User2
User3
Tenant2
User1
User2
Tenant3
User1
User2
User3
Each user can create a scheduled meeting for a future date or an on-demand meeting with a client. Userās within each Tenant can be on simultaneous calls. Potentially every tenant can have users on calls at the same time.
I can answer this question since we just implemented this for our SaaS app.
Because we have a large number of users, hereās how I think you should manage meeting creation and participation.
We have one Zoom account which has accounts created on behalf of all āhostā tenants.
We use the ISV Partner API, so we can create users on the fly, but if you canāt, then Iād just recommend creating a fixed number of ābasicā users (get a liberal estimate). You can make them with an email scheme similar to āzoom-user-1@yourdomain.comā etc.
In addition to this, Iād recommend purchasing a fixed number of āZoom Proā licenses.
This way, you can relate a zoom basic account to users within your tenant apps, and only attach a license to that zoom user once the meeting is about to begin.
For example, hereās how your structure could be.
table: zoom_users
id
tenant_id
user_id
zoom_user_id (id of the zoom user account)
licensed (whether the account is licensed or not)
So before a meeting begins, you then simply attach a pro license to the zoom account of the user who scheduled it, and everyone else joins that meeting as a guest.
After the meeting finishes, you can listen to the meeting ended webhook event and detach the license.
Your bottleneck is then simply the number of concurrent meetings you can have, which would be limited by the number of pro licenses that you have purchased. As you start requiring more, you can create more basic users and purchase additional user licenses.
When I try and create new users via the ācustCreateā method in the API I get a 2016 error. I need to create new users without the need to activate them via email. Is this error because of my basic account or am I missing something?
hi @tmueller yeah, unfortunately that feature is limited to ISV partners. A workaround for that would be to create your users manually, and have a fixed set of user licenses that you can rotate. You can create database tables to keep track of which user licenses belong to which users on your app.