Yep, this is possible, but I’d recommend you purchasing your own Zoom pro licenses that you can use to schedule meetings for your customers.
Once you schedule a meeting using that account, you get both a “start_url” and a “join_url.”
You would send the start_url to the host, and the join_url to the participants.
If you would like to be even more conservative, you can only purchase a fixed number of pro licenses (e.g. 5), and recycle them for multiple meetings. This way, you’re limited to 5 concurrent meetings at a time (each with 300 participants).
Here’s how you’d start.
- Store the Zoom user_ids in your database.
- Customer schedules an appointment in your app.
- You schedule a meeting with the zoom_user and the create meeting API.
- You get back meeting details, along with the “start_url” (for the host), and the “join_url” (for the participants).
- You have a scheduled task / cron job that runs before a meeting starts (hour before, or a few mins before, etc.), that updates the Zoom pro user account with your customer’s name (so it’s personalized).
- Your customer clicks the “start_url” to start the zoom meeting, and their participants join using the join_url.
- If you’d like to have all of this done on your web app, you can use the web SDK to render the meeting in the browser.
- After a meeting is done, you can listen to the meeting ended webhook event, and update the user details of the Zoom Pro User account accordingly.
You’d need to use the following API endpoints for this use case: updateUserSettings, createMeeting.
I hope that helps.