• | POST /v2/users — create/manage bot-pool users | |
---|---|---|
• | GET /v2/users/{userId}/token?type=zak&ttl= — generate ZAK | |
• | Meeting SDK (Web Component) ZoomMtg.join() — joining with zak param |
Description
We’re building a meeting bot solution that should also support Zoom meetings with required participant authentication. My understanding is that to handle it, we need to create and maintain a pool of Zoom users and use ZAK tokens generated for these users via Zoom API (server to server OAuth App) to feed them into bots (SDK). Please confirm or describe alternatives.
I’ve run a small proof-of-concept:
- One test user (under a Business master account)
- ZAK generated with ttl=172800 (48 h)
- The same ZAK successfully joined six concurrent meetings (all as participant, not host) in separate browser instances.
Before we finalise the architecture I’d like to double-check a few things that the docs and forum posts haven’t made fully explicit:
-
Concurrent-meetings limit per ZAK / per user
My test reached six meetings with one ZAK. Is there an official max-concurrency limit (per user-ID) when all sessions are participants?*If there is none, what hidden risks exist in running dozens or hundreds of parallel meetings with a single user versus maintaining a larger user pool? -
Does generating a new ZAK invalidate the previous one?
The thread “If I create a ZAK invalidate the previous one?” (couldn’t link it) implies “no” but ends inconclusively.In a high-throughput scenario we may re-issue a ZAK for a busy user before the older token has been consumed by another bot. Will that older token still work? -
Impact of ZAK expiry while the bot is already in the meeting
My understanding is that the ZAK is checked only at join time. After the SDK session is established, subsequent expiry or regeneration should not eject the participant. Can Zoom confirm that a live Meeting-SDK session will remain connected even if the original ZAK reaches exp or a new one is minted? -
Name & avatar personalisation with ZAK
In the Web SDK I can still pass userName, and the meeting shows that custom name, while the avatar is loaded from the Zoom account profile. Is this the expected behaviour (i.e., userName overrides profile name but avatar remains account-based) or am I relying on an implementation detail that could change? -
Is there recommendation on the Zoom tier we should use to host the users? Is Zoom Pro enough?(ISV partner sounds a bit overkill if we can live with limited number of users)
-
Assuming we would use
autoCreate
option to programatically add users based on demand using an email pool from our dedicated Google Workspace, can we obtain ZAK token right after the user is created? Is there any limitation or requirement for users created this way?
autoCreate
- This action is for Enterprise customers with a managed domain. autoCreate creates an email login type for users.
If there are alternative, recommended approaches for authenticated-join bots (e.g. a way to bypass per-user constraints without the ISV custCreate route) please let me know.
Thanks in advance for clarifications!