Hi! I was wondering to get some advice on what would be the best way to implement a particular use case. I’m just starting with the zoom ecosystem so I wanted to thank you in advance for your patience if anything might be too obvious.
Use case: debating competition
We want to run a virtual debate competition using zoom. These are the general requirements we would like:
- Setup meetings between users, wondering if I should create a group or how it might work
- Meeting setup programmatically (potentially through API?) we will have a list of groups
- Ideally would like the users to not be able to tell who else is on the rest of the groups
- Sessions of groups of two or groups of four. Not all sessions need to happen at the same time but if it makes the implementation easier that could be a possibility.
- Automatic recording starting once the session starts
- Sending records to cloud and the possibility to retrieve them using the users identification, the recordings will be used to judge performance later
- What options do you suggest us to implement this withing the zoom ecosystem? where could we start?
- I was wondering if webinars make sense for this usecase?
- Or perhaps a better option would be a server app that uses the API?
- I have particular interests in seeing how to manage users, how are groups managed?
- In addition, how authentication and invites could work, we hope that we create the meetings through invites and that the only work the users have to make is join the meetings.
Thanks for your time. Looking forward to hear your advice.
Hi @gamba , welcome! I also volunteer to help with a youth debate program, which we’ve run over Zoom for the past few years
First, you’ll want to create a server to server app on the App Marketplace. This will let you begin making API requests on your account. For a good starting place, here’s a sample Express.js application which sets up authentication and core API endpoints for you: S2S OAuth Starter App. You can use this starter app as your own API to create/manage users and their meetings.
Creating users - You’ll want to create a user for each intended host of a meeting. This can be done manually or via API, but in both cases the user will be invited to join your account. After they validate/activate their account (through their email), you can begin creating meetings for them. Once activated, you can manage the user’s settings via API. This will help preset meeting scheduling and in-meeting settings for the host.
Meeting setup - once you have an intended host user, you can create a meeting on their behalf by specifying their Zoom user ID or email in the path of the create meeting API (same behavior in the starter app). You’ll want to specify the meeting settings (like automatic recording) in the body of the request.
Groups - The logic of the user groups can be set through Zoom user groups, but this might be better for your own app to handle and then use corresponding Zoom user accounts for the meeting hosts. The main benefit to using Zoom Groups would be to help you keep users organized. We see many people using them as presets for automatic settings; example: maybe your Marketing department has one set of settings and your Sales team has another. If you do want to use Groups, you’ll first want to set them up (can do via API, but manually might be simplest) and then assign users to the Group using the group ID.
Webinars? - Webinars would be appropriate if the debate was intended to be a show with an audience with less engagement than a Meeting. If you intend for al audience members to be able to speak/engage and be visible on video, you may choose Meetings. If you want an audience member to view and ask questions to the panelists/hosts of the event you may want to use Webinars.
Authentication/invites - You may want to require Meetings to use registration. This would provide unique meeting links to each participant (via email or your own app). Emails invited to your meetings via registration do not need to be users on your account.
Let us know if you have any questions getting started, very happy to help you set this up.