Question
Developing what I thought would be a simple tool to retrieve the list of active participants in a Zoom meeting.
I’ve reviewed all the related topics I could find. It seems that many folks have tried and probably failed to achieve this goal. Instability, long delays, and complex rules about whether an email address is ever returned at all. The list of issues is long and goes back quite a long way in the history of this API.
What has become really clear is that what should be a simple call produces results that are unusable.
Records are probably out-of-date The meaning of join_time and leave_time across multiple records for the same user are either ambiguous or actually incorrect. The meaning of status (in_waiting_room | in_meeting) doesn’t match reality. Not even after resampling the query over several hours. The user_name varies depending upon an unknown set of criteria. Returning the account name, or the participant name within the meeting. I’ve been working on analysing the results for several hours as the meeting participants moved in and out of breakout rooms. I left my own account logged in for the duration without moving into breakout rooms.
Answer
Use meeting participant events (e.g. meeting.participant_joined
and meeting.participant_joined_breakout_room
) to record who becomes active, and the corresponding leave events to know when they exit
By processing these join/leave events, you can maintain a running roster that updates as people join, leave, or move between rooms.
Zoom Developer Forum Examples
Some examples of this question are: