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 “email@example.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.
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.