Missing Zoom Events After Successful Join Meeting

Description

1. Scenario

This is our implementation logic:

  • The bot user joins the Zoom meeting.
  • The bot listens for the following Zoom events:
    • user-added
    • user-updated
    • user-removed
    • command-channel-status
    • current-audio-change

Whenever any of these events are triggered, the bot calls client.getAllUser() and checks:

  1. If there are any users in the meeting other than the bot:
  • If this is the first time users are detected, the bot triggers startAudio.
  1. If there are no users other than the bot:
  • The bot triggers leave to exit the meeting.

2. Issue Observed

From our dashboard logs, we confirmed that the bot successfully joined the meeting. However, we observed the following:

  • The bot did not have speaker audio.
  • The bot did not leave the meeting, even after all other participants had left. It remained in the session for about 40 minutes until it was forcibly removed by Zoom.

We suspect that the bot did not receive any of the expected events (user-added, user-updated, user-removed, command-channel-status, or current-audio-change) after joining the meeting. As a result, it did not trigger startAudio, and it did not detect when all users had left—so it never triggered leave.

Unfortunately, we do not have logs to confirm whether these events were received.

Could you please help us confirm whether the bot received any of those events after it successfully joined the meeting?

Here are the session IDs where we encountered this issue:

  • ivmiYDxrTIqXRWTSwzzoTg==
  • GrO2QNNJSEO7EYP/BercYQ==

Thank you for your time and support!

Which Web Video SDK version?
2.1.0

Device (please complete the following information):

  • Device: VM
  • Browser: Chrome (Headless browser)
  • Browser Version: 135

@vic.yang
I’m experiencing the same issue. Could you please help check this?

Thanks a lot in advance – looking forward to your feedback soon.
Thank,
Phuong

1 Like

Hi @lmtruong1512

Thanks for your feedback.

  • GrO2QNNJSEO7EYP/BercYQ==

After analyzing the logs, we found that the video rendering (attachVideo/renderVideo) and stopping of rendering (detachVideo/stopRenderVideo) operations are aligned with the user’s join/leave timeline. For example, regarding the video rendering for User 16782336:

•	02:31:07 — User 16782336 joined the session
•	02:31:08.719 — User 16782336 started video
•	02:31:08.831 — User 16781312 (Bot) attached video
•	02:32:08.802 — User 16782336 stopped video
•	02:31:08.906 — User 16781312 (Bot) detached video
•	02:32:42.519 — User 16782336 started video again
•	02:32:44.585 — User 16781312 (Bot) attached video
•	02:36:03.897 — User 16782336 left the session
•	02:36:04.040 — User 16781312 (Bot) detached video

From the timeline above, you can see that the Bot user’s video rendering actions align with events like user-updated and user-removed.

We also noticed that for User 16778240, the renderVideo/stopRenderVideo methods were used, and their calls also match this user’s activity timeline.

In addition, you mentioned using client.getAllUser() to retrieve the user list. Please note that the Bot user will also be included in this list, so if you’re trying to determine whether there are no other users in the session, you need to account for that.

Thanks
Vic

@vic.yang Thank you for your response.

We’re a bit confused about the following log:

02:36:05 - User 16778240 left the session

Because at that time, only the bot (user 16781312) was still in the Zoom meeting. Shouldn’t the bot (user 16781312 ) have received this event and then automatically left the session as well? However, it stayed in the meeting.
Additionally, the bot had no speaker audio. Could you please check whether startAudio was triggered for the bot?

This issue is also happening with the session ID ivmiYDxrTIqXRWTSwzzoTg. Could you help troubleshoot that case too?

Thank you in advanced!

Hi @lmtruong1512

Shouldn’t the bot (user 16781312 ) have received this event and then automatically left the session as well? However, it stayed in the meeting.

This is not part of the Video SDK logic — you’ll need to check how it’s implemented on your side.

Could you please check whether startAudio was triggered for the bot?

No startAudio method call was found in the logs.

  • ivmiYDxrTIqXRWTSwzzoTg==

In this session as well, the behavior is similar — the Bot user’s video rendering aligns with the user join/leave timeline.

Thanks
Vic

Hi @vic.yang,
We’ve rechecked our logic, but it still appears to conflict with the logs you mentioned earlier.

Here’s how our current implementation works:

Step 1. The bot user joins the Zoom meeting.
Step 2. The bot listens for the following Zoom events:
  * `user-added`
  * `user-updated`
  * `user-removed`
  * `command-channel-status`
  * `current-audio-change`

Step 3. Whenever any of these events are triggered, the bot calls `client.getAllUser()` and checks:

1. If there are any users in the meeting  other than the bot:

* If this is the first time users are detected, the bot triggers `startAudio`.

2. If there are no users other than the bot:

* The bot triggers `leave` to exit the meeting.

As you mentioned, the bot should receive events when users join or leave the session. Based on our logic, the bot should call startAudio when the first user joins and trigger leave when the last user leaves. Could you please help us double-check whether those events are indeed firing correctly in this case?

Thank you for your patience and support!

Hi @lmtruong1512

Could you please help us double-check whether those events are indeed firing correctly in this case?

Based on the current logs and the bot’s behavior, this event was triggered. Since I don’t have your code snippets, please note that event listeners are attached via client.on. If the listener was registered at the wrong time, it could result in your event handler not being triggered.

I’d like to understand what events you use to trigger the attachVideo / detachVideo actions. Are they based on events like user-updated?

Thanks
Vic

3 Likes

Hi @vic.yang ,

I’d like to understand what events you use to trigger the attachVideo / detachVideo actions. Are they based on events like user-updated ?

Yes, we trigger attachVideo and detachVideo actions based on the following events: user-added, user-updated, and user-removed.

Thank you for your continued support and patience!