Alternative hosts validation before creating a meeting

Hello,

I have a question that is very similar to the one already asked :

in our system, we need to schedule zoom meetings with alternative hosts. Meetings are created in the background without user UI and alternative hosts requested may or may not have a zoom account. The expected behavior here is meeting is scheduled always with as many valid alternative hosts as possible.

The only solution I see so far is we perform “getuser” call for every alternative host candidate. If the response contains the appropriate license — we add them, if not, we skip them. Is this the valid way or is there a better way here?

A separate question: meeting is created using a user token stored after oAuth. Do you predict any permission issues, could there be cases when users can’t load other users’ data due to permissions and, as result, the above approach will not work?

Thank you.

Hi @vitalyateventcadence ,

You can use List users and build out a filter type depending on the license you need.

If a different user with lower-access permissions tries to query the API with a new token, they will not be able to access the endpoint info. Here are the scopes required:
image

that is actually a bad news for me. We don’t request this scope, we don’t need it.
What would be the best approach in this case, simply creating a meeting than updating it with adding alternative hosts one by one and remove those who failed ? Or is there other better ideas?

What we really need is the meeting to be always created and only those emails who have a valid account be alternative hosts, others to be simply excluded/ignored.

Hi @vitalyateventcadence ,

This sounds like a time consuming approach, but if you manually create a list of hosts that work, then you would only need to do this process once in theory. The Get a User endpoint also requires the user:read:admin scope so it’s not a good alternative.

You could use the Create a Meeting and Update a Meeting endpoints ( Scopes: meeting:write:admin , meeting:write) to set the alternative hosts.

Here’s the article for creating alternative hosts via the web portal if you do not have an OAuth app with the mentioned scopes and do not want to institute them.

You can do this manually as I mentioned at the top of this response because to access this info programmatically via API, you’ll need those admin scopes in place.

Hope this helps!

It is a question of hundreds if not thousand of meetings to create, with different variations of possible hosts. Unfortunately no manual approach is possible here. This leaves me no choice but to try adding them one by one… we will probably limit our service to have two alternative hosts at maximum or something.

For the future maybe you will want to consider expanding the API by adding a possibility to specify hosts and ignore those who are not eligible. It seems like it is being demanded from time to time.

Thank you for your help.

Hi @vitalyateventcadence ,

Thanks for sharing these thoughts.

This action is programmatically possible if you use the aforementioned endpoints and filter by licensing type. It could be worth increasing your app scopes to use those endpoints. :slight_smile:

How add alternative_hosts when creating meeting using api i am trying like “settings” => [
“alternative_hosts” => $alternativeHosts,
], but it gives errors ?

Hi @alamgir000009 ,

What errors? Do those users have licensing that allow hosts? Does the user creating the meeting have permission to assign hosts?