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.